diff options
| author | Brad Lewis <22850972+BradLewis@users.noreply.github.com> | 2025-08-12 12:00:42 -0400 |
|---|---|---|
| committer | Brad Lewis <22850972+BradLewis@users.noreply.github.com> | 2025-08-12 12:00:42 -0400 |
| commit | 1ba549a5efd458c62439dc7b5d400b3f5f823b26 (patch) | |
| tree | a025c042a42c0e3ae5bd6e1e875b769804847ccb /src/server/generics.odin | |
| parent | 613c9e6d59dfcdc72dfb3fcc72e63f1ed277cbfc (diff) | |
Show poly struct information on types from external packages and resolve identifier poly types
Diffstat (limited to 'src/server/generics.odin')
| -rw-r--r-- | src/server/generics.odin | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/generics.odin b/src/server/generics.odin index a629d3e..7eea7a2 100644 --- a/src/server/generics.odin +++ b/src/server/generics.odin @@ -676,7 +676,10 @@ resolve_poly_struct :: proc(ast_context: ^AstContext, b: ^SymbolStructValueBuild continue } - if poly, ok := param.type.derived.(^ast.Typeid_Type); ok { + if ident, ok := param.type.derived.(^ast.Ident); ok { + poly_map[ident.name] = ast_context.call.args[i] + b.poly_names[i] = node_to_string(ast_context.call.args[i]) + } else if poly, ok := param.type.derived.(^ast.Typeid_Type); ok { if ident, ok := name.derived.(^ast.Ident); ok { poly_map[ident.name] = ast_context.call.args[i] b.poly_names[i] = node_to_string(ast_context.call.args[i]) |