aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2021-01-08 17:25:00 +0100
committerDanielGavin <danielgavin5@hotmail.com>2021-01-08 17:25:00 +0100
commit4c9f32b8b83e42c6ebef9a787208d7cdf685263a (patch)
treec456430ca76fda958a9b5913eb19fe87a38dc539 /src/server
parentc179291b234303685c47cdcc64598b88110225c3 (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.odin25
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;
}
}