aboutsummaryrefslogtreecommitdiff
path: root/src/server/analysis.odin
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2021-03-17 17:03:43 +0100
committerDanielGavin <danielgavin5@hotmail.com>2021-03-17 17:03:43 +0100
commit63fd34ef37a8ba977e6bfcdcb72cd890aafac2a8 (patch)
treea2571e2b52dbfc33c1992c35589e6f560868e305 /src/server/analysis.odin
parenta8abe7726ac2b717f0b7e2e1b31c8ec0566d9374 (diff)
semantic token fix on package selector, more union completion
Diffstat (limited to 'src/server/analysis.odin')
-rw-r--r--src/server/analysis.odin12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin
index 2e95c3a..c8c1827 100644
--- a/src/server/analysis.odin
+++ b/src/server/analysis.odin
@@ -1164,11 +1164,19 @@ make_symbol_union_from_ast :: proc (ast_context: ^AstContext, v: ast.Union_Type,
if ident, ok := variant.derived.(ast.Ident); ok {
append(&names, ident.name);
}
+
+ else if selector, ok := variant.derived.(ast.Selector_Expr); ok {
+
+ if ident, ok := selector.field.derived.(ast.Ident); ok {
+ append(&names, ident.name);
+ }
+ }
}
symbol.value = index.SymbolUnionValue {
- names = names[:]
- };
+ names = names[:],
+ types = v.variants,
+ };
return symbol;
}