diff options
Diffstat (limited to 'src/parser/contexts.h')
-rw-r--r-- | src/parser/contexts.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/parser/contexts.h b/src/parser/contexts.h index 6a3ab9614..485c596e7 100644 --- a/src/parser/contexts.h +++ b/src/parser/contexts.h @@ -383,6 +383,9 @@ struct NullInstrParserCtx { Result<> makeMemoryFill(Index, MemoryIdxT*) { return Ok{}; } Result<> makeCall(Index, FuncIdxT, bool) { return Ok{}; } Result<> makeBreak(Index, LabelIdxT) { return Ok{}; } + Result<> makeSwitch(Index, const std::vector<LabelIdxT>&, LabelIdxT) { + return Ok{}; + } Result<> makeReturn(Index) { return Ok{}; } template<typename HeapTypeT> Result<> makeRefNull(Index, HeapTypeT) { return Ok{}; @@ -1246,6 +1249,11 @@ struct ParseDefsCtx : TypeParserCtx<ParseDefsCtx> { return withLoc(pos, irBuilder.makeBreak(label)); } + Result<> + makeSwitch(Index pos, const std::vector<Index> labels, Index defaultLabel) { + return withLoc(pos, irBuilder.makeSwitch(labels, defaultLabel)); + } + Result<> makeReturn(Index pos) { return withLoc(pos, irBuilder.makeReturn()); } |