aboutsummaryrefslogtreecommitdiff
path: root/src/server/collector.odin
diff options
context:
space:
mode:
authorDaniel Gavin <danielgavin5@hotmail.com>2022-10-27 13:21:00 +0200
committerDaniel Gavin <danielgavin5@hotmail.com>2022-10-27 13:21:00 +0200
commit7415292f695102c94b6d97e8a28ffc99da71ac30 (patch)
treebb9af9e309ea07d81067cef1cd7b69f8af0ab184 /src/server/collector.odin
parent2cf49d9cda4ec5ab480d71da3da37ee2b71fc6f4 (diff)
Handle typeid as a type
Diffstat (limited to 'src/server/collector.odin')
-rw-r--r--src/server/collector.odin9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/collector.odin b/src/server/collector.odin
index 913d66f..9a7d050 100644
--- a/src/server/collector.odin
+++ b/src/server/collector.odin
@@ -492,6 +492,15 @@ collect_symbols :: proc(
token = v^
token_type = .Variable
symbol.value = collect_multi_pointer(collection, v^, package_map)
+ case ^ast.Typeid_Type:
+ if v.specialization == nil {
+ continue
+ }
+
+ ident := new_type(ast.Ident, v.pos, v.end, context.temp_allocator)
+ ident.name = "typeid"
+
+ symbol.value = collect_generic(collection, ident, package_map, uri)
case ^ast.Basic_Lit:
token = v^
symbol.value = collect_generic(