diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/binaryen-c.cpp | 18 | ||||
-rw-r--r-- | src/binaryen-c.h | 10 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index 8b4021c5b..0cc4bb115 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -184,6 +184,24 @@ BinaryenPackedType BinaryenPackedTypeInt16(void) { return Field::PackedType::i16; } +// TypeSystem + +BinaryenTypeSystem BinaryenTypeSystemEquirecursive() { + return static_cast<BinaryenTypeSystem>(TypeSystem::Equirecursive); +} +BinaryenTypeSystem BinaryenTypeSystemNominal() { + return static_cast<BinaryenTypeSystem>(TypeSystem::Nominal); +} +BinaryenTypeSystem BinaryenTypeSystemIsorecursive() { + return static_cast<BinaryenTypeSystem>(TypeSystem::Isorecursive); +} +BinaryenTypeSystem BinaryenGetTypeSystem() { + return BinaryenTypeSystem(getTypeSystem()); +} +void BinaryenSetTypeSystem(BinaryenTypeSystem typeSystem) { + setTypeSystem(TypeSystem(typeSystem)); +} + // Expression ids BinaryenExpressionId BinaryenInvalidId(void) { diff --git a/src/binaryen-c.h b/src/binaryen-c.h index bd8e19048..bf8ed01bb 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -129,6 +129,16 @@ BINARYEN_API BinaryenPackedType BinaryenPackedTypeNotPacked(void); BINARYEN_API BinaryenPackedType BinaryenPackedTypeInt8(void); BINARYEN_API BinaryenPackedType BinaryenPackedTypeInt16(void); +// TypeSystem + +typedef uint32_t BinaryenTypeSystem; + +BINARYEN_API BinaryenTypeSystem BinaryenTypeSystemEquirecursive(void); +BINARYEN_API BinaryenTypeSystem BinaryenTypeSystemNominal(void); +BINARYEN_API BinaryenTypeSystem BinaryenTypeSystemIsorecursive(void); +BINARYEN_API BinaryenTypeSystem BinaryenGetTypeSystem(void); +BINARYEN_API void BinaryenSetTypeSystem(BinaryenTypeSystem typeSystem); + // Expression ids (call to get the value of each; you can cache them) typedef uint32_t BinaryenExpressionId; |