diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/file_resolve.odin | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/file_resolve.odin b/src/server/file_resolve.odin index a8fa894..c8ca4e7 100644 --- a/src/server/file_resolve.odin +++ b/src/server/file_resolve.odin @@ -194,7 +194,10 @@ resolve_node :: proc(node: ^ast.Node, data: ^FileResolveData) { symbol = symbol, } } + } + if _, ok := n.expr.derived.(^ast.Selector_Expr); ok { + resolve_node(n.expr, data) } } else { if symbol, ok := resolve_type_expression(data.ast_context, &n.node); ok { @@ -203,10 +206,12 @@ resolve_node :: proc(node: ^ast.Node, data: ^FileResolveData) { symbol = symbol, } } + + resolve_node(n.expr, data) + resolve_node(n.field, data) } - resolve_node(n.expr, data) - resolve_node(n.field, data) + case ^Field_Value: data.position_context.field_value = n |