diff options
author | Thomas Lively <tlively@google.com> | 2023-11-15 01:49:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-15 01:49:37 +0100 |
commit | 001be441be8ec04df0b03035aefc411923485780 (patch) | |
tree | 899c4b2591fcd563d1d5bb3c877442731a4542b2 /src/parser/contexts.h | |
parent | 1496f97d7919960ef4e3f74a961d959bfc236218 (diff) | |
download | binaryen-001be441be8ec04df0b03035aefc411923485780.tar.gz binaryen-001be441be8ec04df0b03035aefc411923485780.tar.bz2 binaryen-001be441be8ec04df0b03035aefc411923485780.zip |
[Parser] Parse call_ref (#6103)
Also mark array.new_elem as unimplemented as a drive-by; it previously had an
incorrect implementation.
Diffstat (limited to 'src/parser/contexts.h')
-rw-r--r-- | src/parser/contexts.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/parser/contexts.h b/src/parser/contexts.h index f6dd92063..192442c84 100644 --- a/src/parser/contexts.h +++ b/src/parser/contexts.h @@ -393,6 +393,9 @@ struct NullInstrParserCtx { Result<> makeRefIsNull(Index) { return Ok{}; } Result<> makeRefFunc(Index, FuncIdxT) { return Ok{}; } Result<> makeRefEq(Index) { return Ok{}; } + template<typename HeapTypeT> Result<> makeCallRef(Index, HeapTypeT, bool) { + return Ok{}; + } Result<> makeRefI31(Index) { return Ok{}; } Result<> makeI31Get(Index, bool) { return Ok{}; } template<typename TypeT> Result<> makeRefTest(Index, TypeT) { return Ok{}; } @@ -1285,6 +1288,10 @@ struct ParseDefsCtx : TypeParserCtx<ParseDefsCtx> { Result<> makeRefEq(Index pos) { return withLoc(pos, irBuilder.makeRefEq()); } + Result<> makeCallRef(Index pos, HeapType type, bool isReturn) { + return withLoc(pos, irBuilder.makeCallRef(type, isReturn)); + } + Result<> makeRefI31(Index pos) { return withLoc(pos, irBuilder.makeRefI31()); } |