diff options
| author | DanielGavin <danielgavin5@hotmail.com> | 2021-03-17 17:03:43 +0100 |
|---|---|---|
| committer | DanielGavin <danielgavin5@hotmail.com> | 2021-03-17 17:03:43 +0100 |
| commit | 63fd34ef37a8ba977e6bfcdcb72cd890aafac2a8 (patch) | |
| tree | a2571e2b52dbfc33c1992c35589e6f560868e305 /src/server/analysis.odin | |
| parent | a8abe7726ac2b717f0b7e2e1b31c8ec0566d9374 (diff) | |
semantic token fix on package selector, more union completion
Diffstat (limited to 'src/server/analysis.odin')
| -rw-r--r-- | src/server/analysis.odin | 12 |
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; } |