diff options
Diffstat (limited to 'src/parser/contexts.h')
-rw-r--r-- | src/parser/contexts.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/parser/contexts.h b/src/parser/contexts.h index fb9218cbc..73be5e46e 100644 --- a/src/parser/contexts.h +++ b/src/parser/contexts.h @@ -78,6 +78,7 @@ struct TypeUse { struct NullTypeParserCtx { using IndexT = Ok; using HeapTypeT = Ok; + using TupleElemListT = Ok; using TypeT = Ok; using ParamsT = Ok; using ResultsT = size_t; @@ -122,6 +123,10 @@ struct NullTypeParserCtx { TypeT makeRefType(HeapTypeT, Nullability) { return Ok{}; } + TupleElemListT makeTupleElemList() { return Ok{}; } + void appendTupleElem(TupleElemListT&, TypeT) {} + TypeT makeTupleType(TupleElemListT) { return Ok{}; } + ParamsT makeParams() { return Ok{}; } void appendParam(ParamsT&, Name, TypeT) {} @@ -219,7 +224,13 @@ template<typename Ctx> struct TypeParserCtx { return Type(ht, nullability); } - TypeT makeTupleType(const std::vector<Type> types) { return Tuple(types); } + std::vector<Type> makeTupleElemList() { return {}; } + void appendTupleElem(std::vector<Type>& elems, Type elem) { + elems.push_back(elem); + } + Result<TypeT> makeTupleType(const std::vector<Type>& types) { + return Tuple(types); + } ParamsT makeParams() { return {}; } void appendParam(ParamsT& params, Name id, TypeT type) { |