diff options
Diffstat (limited to 'src/parser/parsers.h')
-rw-r--r-- | src/parser/parsers.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/parser/parsers.h b/src/parser/parsers.h index 1069a39bd..007f815ac 100644 --- a/src/parser/parsers.h +++ b/src/parser/parsers.h @@ -167,6 +167,7 @@ Result<> makeStringIterMove(Ctx&, Index, StringIterMoveOp op); template<typename Ctx> Result<> makeStringSliceWTF(Ctx&, Index, StringSliceWTFOp op); template<typename Ctx> Result<> makeStringSliceIter(Ctx&, Index); +template<typename Ctx> Result<> makeContNew(Ctx&, Index); template<typename Ctx> Result<> makeResume(Ctx&, Index); // Modules @@ -1990,6 +1991,13 @@ template<typename Ctx> Result<> makeStringSliceIter(Ctx& ctx, Index pos) { return ctx.makeStringSliceIter(pos); } +template<typename Ctx> Result<> makeContNew(Ctx& ctx, Index pos) { + auto type = typeidx(ctx); + CHECK_ERR(type); + + return ctx.makeContNew(pos, *type); +} + // resume ::= 'resume' typeidx ('(' 'tag' tagidx labelidx ')')* template<typename Ctx> Result<> makeResume(Ctx& ctx, Index pos) { auto type = typeidx(ctx); |