diff options
| author | Daniel Gavin <danielgavin5@hotmail.com> | 2021-08-20 23:48:04 +0200 |
|---|---|---|
| committer | Daniel Gavin <danielgavin5@hotmail.com> | 2021-08-20 23:48:04 +0200 |
| commit | ad647e5e56aa029f61f86752d7f04ad22f3eefd8 (patch) | |
| tree | 9f843f4bd9067c062d79a5e72ad4eb9ac1f129be /src | |
| parent | 0e11ad2e3075f0548f8be6b48fdc7e6eac27aeeb (diff) | |
remember to check the usings imported into procedure
Diffstat (limited to 'src')
| -rw-r--r-- | src/analysis/analysis.odin | 14 |
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) { |