From d8a37f7cf6875cc0e6eba74368541840e0bfd227 Mon Sep 17 00:00:00 2001 From: Damian Tarnawski Date: Sat, 4 May 2024 17:13:12 +0200 Subject: Don't make a symbol for `nil` Don't make a symbol for `nil` and enable semantic tokens for `SymbolBasicValue` --- src/server/analysis.odin | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'src/server/analysis.odin') diff --git a/src/server/analysis.odin b/src/server/analysis.odin index 09a0d3e..122a1e7 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -1304,27 +1304,25 @@ internal_resolve_type_identifier :: proc( ident := new_type(Ident, node.pos, node.end, ast_context.allocator) ident.name = node.name - symbol: Symbol - switch ident.name { + case "nil": + return {}, false case "true", "false": - symbol = Symbol { + return { type = .Keyword, signature = node.name, pkg = ast_context.current_package, value = SymbolUntypedValue{type = .Bool}, - } + }, true case: - symbol = Symbol { + return { type = .Keyword, signature = node.name, name = ident.name, pkg = ast_context.current_package, value = SymbolBasicValue{ident = ident}, - } + }, true } - - return symbol, true } if local, ok := get_local(ast_context, node.pos.offset, node.name); -- cgit v1.2.3