diff options
| author | gingerBill <bill@gingerbill.org> | 2021-06-16 17:04:05 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-06-16 17:04:05 +0100 |
| commit | 574ceb37a9f93f90906fe8389896c53bc71b94f6 (patch) | |
| tree | 09780a25776a2b4f0e1dc18c4302763959ff2b74 /src/parser.hpp | |
| parent | dbdc4471c2c7c9fcb477b09c1e6c7fe4256a95f7 (diff) | |
Correct selector call expression chaining behaviour (a bit of a hack)
Diffstat (limited to 'src/parser.hpp')
| -rw-r--r-- | src/parser.hpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/parser.hpp b/src/parser.hpp index 7c278b304..ad2b8c260 100644 --- a/src/parser.hpp +++ b/src/parser.hpp @@ -334,7 +334,11 @@ AST_KIND(_ExprBegin, "", bool) \ u8 swizzle_indices; /*2 bits per component*/ \ }) \ AST_KIND(ImplicitSelectorExpr, "implicit selector expression", struct { Token token; Ast *selector; }) \ - AST_KIND(SelectorCallExpr, "selector call expression", struct { Token token; Ast *expr, *call; bool modified_call; }) \ + AST_KIND(SelectorCallExpr, "selector call expression", struct { \ + Token token; \ + Ast *expr, *call; \ + bool modified_call; \ + }) \ AST_KIND(IndexExpr, "index expression", struct { Ast *expr, *index; Token open, close; }) \ AST_KIND(DerefExpr, "dereference expression", struct { Ast *expr; Token op; }) \ AST_KIND(SliceExpr, "slice expression", struct { \ @@ -352,6 +356,7 @@ AST_KIND(_ExprBegin, "", bool) \ ProcInlining inlining; \ bool optional_ok_one; \ i32 builtin_id; \ + void *sce_temp_data; \ }) \ AST_KIND(FieldValue, "field value", struct { Token eq; Ast *field, *value; }) \ AST_KIND(TernaryIfExpr, "ternary if expression", struct { Ast *x, *cond, *y; }) \ @@ -716,3 +721,4 @@ gbAllocator ast_allocator(AstFile *f) { Ast *alloc_ast_node(AstFile *f, AstKind kind); +gbString expr_to_string(Ast *expression); |