diff options
| author | DanielGavin <danielgavin5@hotmail.com> | 2024-10-06 00:34:48 +0200 |
|---|---|---|
| committer | DanielGavin <danielgavin5@hotmail.com> | 2024-10-06 00:34:48 +0200 |
| commit | 834ec9ad3f50add0ee8e44071275c318a9f35abb (patch) | |
| tree | 2ae65d1b67d063d4354c252ce8529a0d2090c55f /src | |
| parent | 954c87683103130224cf5fe876f26a5fa3dc810e (diff) | |
Fix issues with proc groups not being resolved and causing crashes.
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/analysis.odin | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin index cae3fd2..0417620 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -2092,6 +2092,8 @@ resolve_binary_expression :: proc(ast_context: ^AstContext, binary: ^ast.Binary_ return {}, false } + set_ast_package_scoped(ast_context) + symbol_a, symbol_b: Symbol ok_a, ok_b: bool @@ -2741,6 +2743,9 @@ get_generic_assignment :: proc( append(results, ret.default_value) } } + } else if aggregate, ok := symbol.value.(SymbolAggregateValue); ok { + //In case we can't resolve the proc group, just save it anyway, so it won't cause any issues further down the line. + append(results, value) } else if ident, ok := v.expr.derived.(^ast.Ident); ok { //TODO: Simple assumption that you are casting it the type. type_ident := new_type(Ident, ident.pos, ident.end, ast_context.allocator) |