aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gavin <danielgavin5@hotmail.com>2021-09-28 15:34:24 +0200
committerDaniel Gavin <danielgavin5@hotmail.com>2021-09-28 15:34:24 +0200
commitc8b297729092ffccad1c4ac2bad7e598af0d7d2f (patch)
tree2502bc6714b814c67618d3096b57dfc3dce2fa75
parent8f0825050ca53c25cba69887ea36bb3bca4130a6 (diff)
Add Multi_Pointer_Type support.
-rw-r--r--src/analysis/analysis.odin4
-rw-r--r--src/index/collector.odin2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/analysis/analysis.odin b/src/analysis/analysis.odin
index 0806a4c..30e84f9 100644
--- a/src/analysis/analysis.odin
+++ b/src/analysis/analysis.odin
@@ -840,6 +840,10 @@ resolve_type_expression :: proc(ast_context: ^AstContext, node: ^ast.Expr) -> (i
symbol, ok := resolve_type_expression(ast_context, v.elem);
symbol.pointers += 1;
return symbol, ok;
+ case Multi_Pointer_Type:
+ symbol, ok := resolve_type_expression(ast_context, v.elem);
+ symbol.pointers += 1;
+ return symbol, ok;
case Index_Expr:
indexed, ok := resolve_type_expression(ast_context, v.expr);
diff --git a/src/index/collector.odin b/src/index/collector.odin
index 747ae83..c9c7848 100644
--- a/src/index/collector.odin
+++ b/src/index/collector.odin
@@ -588,6 +588,8 @@ replace_package_alias_node :: proc(node: ^ast.Node, package_map: map[string]stri
case Helper_Type:
replace_package_alias(n.type, package_map, collection);
case Proc_Lit:
+ case Multi_Pointer_Type:
+ replace_package_alias(n.elem, package_map, collection);
case:
log.warnf("Replace Unhandled node kind: %T", n);
}