diff options
Diffstat (limited to 'src/parser/contexts.h')
-rw-r--r-- | src/parser/contexts.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/parser/contexts.h b/src/parser/contexts.h index d68d475a0..81537abaf 100644 --- a/src/parser/contexts.h +++ b/src/parser/contexts.h @@ -173,6 +173,8 @@ struct NullTypeParserCtx { BlockTypeT getBlockTypeFromResult(size_t results) { return Ok{}; } Result<> getBlockTypeFromTypeUse(Index, TypeUseT) { return Ok{}; } + + bool skipFunctionBody() { return false; } }; template<typename Ctx> struct TypeParserCtx { @@ -310,6 +312,8 @@ template<typename Ctx> struct TypeParserCtx { assert(results.size() == 1); return HeapType(Signature(Type::none, results[0])); } + + bool skipFunctionBody() { return false; } }; struct NullInstrParserCtx { @@ -1198,6 +1202,8 @@ struct ParseModuleTypesCtx : TypeParserCtx<ParseModuleTypesCtx>, types(types), implicitTypes(implicitTypes), implicitElemIndices(implicitElemIndices) {} + bool skipFunctionBody() { return true; } + Result<HeapTypeT> getHeapTypeFromIdx(Index idx) { if (idx >= types.size()) { return in.err("type index out of bounds"); |