diff options
| author | gingerBill <bill@gingerbill.org> | 2018-03-04 11:06:59 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2018-03-04 11:06:59 +0000 |
| commit | 105de7705a797e397b4cb8900f2c1f771684e2db (patch) | |
| tree | 0896312734dd6d39ece0e191839595489b2ff725 /src/parser.cpp | |
| parent | 584dffea1420b1e2ce98922f8dd5cf63e5fb8872 (diff) | |
Add `unselector_expr`
Diffstat (limited to 'src/parser.cpp')
| -rw-r--r-- | src/parser.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/parser.cpp b/src/parser.cpp index 85ae63556..f94a66cad 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -1410,6 +1410,17 @@ AstNode *unparen_expr(AstNode *node) { } } +AstNode *unselector_expr(AstNode *node) { + node = unparen_expr(node); + if (node == nullptr) { + return nullptr; + } + while (node->kind == AstNode_SelectorExpr) { + node = node->SelectorExpr.selector; + } + return node; +} + AstNode *parse_value(AstFile *f); Array<AstNode *> parse_element_list(AstFile *f) { |