diff options
| author | DanielGavin <danielgavin5@hotmail.com> | 2021-01-08 17:25:00 +0100 |
|---|---|---|
| committer | DanielGavin <danielgavin5@hotmail.com> | 2021-01-08 17:25:00 +0100 |
| commit | 4c9f32b8b83e42c6ebef9a787208d7cdf685263a (patch) | |
| tree | c456430ca76fda958a9b5913eb19fe87a38dc539 /src/server | |
| parent | c179291b234303685c47cdcc64598b88110225c3 (diff) | |
reduced dublicate from collecting globals in index and analysis + foreign procedure are not indexed
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/analysis.odin | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin index d80e1d1..d729b6d 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -1361,28 +1361,11 @@ get_globals :: proc(file: ast.File, ast_context: ^AstContext) { ast_context.variables["context"] = true; - for decl in file.decls { + exprs := common.collect_globals(file); - if value_decl, ok := decl.derived.(ast.Value_Decl); ok { - - for name, i in value_decl.names { - - str := common.get_ast_node_string(name, file.src); - - if value_decl.type != nil { - ast_context.globals[str] = value_decl.type; - ast_context.variables[str] = value_decl.is_mutable; - } - - else { - if len(value_decl.values) > i { - ast_context.globals[str] = value_decl.values[i]; - } - } - - } - - } + for expr in exprs { + ast_context.globals[expr.name] = expr.expr; + ast_context.variables[expr.name] = expr.mutable; } } |