aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/ast.odin7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/common/ast.odin b/src/common/ast.odin
index 1957f3a..025fab0 100644
--- a/src/common/ast.odin
+++ b/src/common/ast.odin
@@ -184,6 +184,13 @@ unwrap_pointer_ident :: proc(expr: ^ast.Expr) -> (ast.Ident, int, bool) {
}
}
+ // Check for parapoly self
+ if expr != nil {
+ if call, ok := expr.derived.(^ast.Call_Expr); ok {
+ expr = call.expr
+ }
+ }
+
if expr != nil {
if ident, ok := expr.derived.(^ast.Ident); ok {
return ident^, n, ok