store rparen in ReturnType.Invalid

This is useful for getting a partial function signature
This commit is contained in:
Vexu 2020-05-14 17:18:14 +03:00
parent a32e240540
commit c4552ee8ed
No known key found for this signature in database
GPG Key ID: 59AEB8936E16A6AC
2 changed files with 2 additions and 2 deletions

View File

@ -897,7 +897,7 @@ pub const Node = struct {
pub const ReturnType = union(enum) {
Explicit: *Node,
InferErrorSet: *Node,
Invalid,
Invalid: TokenIndex,
};
pub fn iterate(self: *FnProto, index: usize) ?*Node {

View File

@ -518,7 +518,7 @@ fn parseFnProto(arena: *Allocator, it: *TokenIterator, tree: *Tree) !?*Node {
// TODO https://github.com/ziglang/zig/issues/3750
const R = Node.FnProto.ReturnType;
const return_type = if (return_type_expr == null)
R{ .Invalid = {} }
R{ .Invalid = rparen }
else if (exclamation_token != null)
R{ .InferErrorSet = return_type_expr.? }
else