diff options
| author | DanielGavin <danielgavin5@hotmail.com> | 2025-07-16 00:40:26 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-16 00:40:26 +0200 |
| commit | 775840d15b9d0bf730ac5e7321e91eaf74f99fc9 (patch) | |
| tree | 86ca176d9b28a3135ceb89db4bf3c4fc4cbf0bf5 /src/server | |
| parent | 38089237530bad6b009df5d73d787bd077b38b93 (diff) | |
| parent | d599873b3558a693e3278e9efd31ead483a605e6 (diff) | |
Merge pull request #752 from BradLewis/fix/duplicate-usings
Remove duplicate usings from ast_context usings
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/analysis.odin | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin index 2bd6717..3583a64 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -134,6 +134,16 @@ make_ast_context :: proc( return ast_context } +add_using :: proc(ast_context: ^AstContext, using_name: string) { + for u in ast_context.usings { + if u == using_name { + return + } + } + + append(&ast_context.usings, using_name) +} + set_ast_package_deferred :: proc(ast_context: ^AstContext, pkg: string) { if ast_context.deferred_count <= 0 { return @@ -3388,7 +3398,7 @@ get_locals_using :: proc(expr: ^ast.Expr, ast_context: ^AstContext) { #partial switch v in symbol.value { case SymbolPackageValue: if ident, ok := expr.derived.(^ast.Ident); ok { - append(&ast_context.usings, ident.name) + add_using(ast_context, ident.name) } case SymbolStructValue: for name, i in v.names { |