aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.cpp')
-rw-r--r--src/parser.cpp11
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) {