summaryrefslogtreecommitdiff
path: root/src/parser/contexts.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/contexts.h')
-rw-r--r--src/parser/contexts.h6
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");