aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Gavin <danielgavin5@hotmail.com>2021-08-20 23:48:04 +0200
committerDaniel Gavin <danielgavin5@hotmail.com>2021-08-20 23:48:04 +0200
commitad647e5e56aa029f61f86752d7f04ad22f3eefd8 (patch)
tree9f843f4bd9067c062d79a5e72ad4eb9ac1f129be /src
parent0e11ad2e3075f0548f8be6b48fdc7e6eac27aeeb (diff)
remember to check the usings imported into procedure
Diffstat (limited to 'src')
-rw-r--r--src/analysis/analysis.odin14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/analysis/analysis.odin b/src/analysis/analysis.odin
index e291b87..8219e3a 100644
--- a/src/analysis/analysis.odin
+++ b/src/analysis/analysis.odin
@@ -1357,7 +1357,19 @@ resolve_location_identifier :: proc(ast_context: ^AstContext, node: ast.Ident) -
return symbol, true;
}
- return index.lookup(node.name, ast_context.document_package);
+ if symbol, ok := index.lookup(node.name, ast_context.document_package); ok {
+ return symbol, ok;
+ }
+
+ usings := get_using_packages(ast_context);
+
+ for pkg in usings {
+ if symbol, ok := index.lookup(node.name, pkg); ok {
+ return symbol, ok;
+ }
+ }
+
+ return {}, false;
}
resolve_first_symbol_from_binary_expression :: proc(ast_context: ^AstContext, binary: ^ast.Binary_Expr) -> (index.Symbol, bool) {