Update odin/ast for multi pointers

This commit is contained in:
gingerBill
2021-08-22 11:46:12 +01:00
parent 0decdaed1a
commit 19bf12aa09
4 changed files with 34 additions and 8 deletions
+8
View File
@@ -656,6 +656,14 @@ Pointer_Type :: struct {
elem: ^Expr,
}
Multi_Pointer_Type :: struct {
using node: Expr,
open: tokenizer.Pos,
pointer: tokenizer.Pos,
close: tokenizer.Pos,
elem: ^Expr,
}
Array_Type :: struct {
using node: Expr,
open: tokenizer.Pos,
+2
View File
@@ -251,6 +251,8 @@ clone_node :: proc(node: ^Node) -> ^Node {
r.results = auto_cast clone(r.results);
case Pointer_Type:
r.elem = clone(r.elem);
case Multi_Pointer_Type:
r.elem = clone(r.elem);
case Array_Type:
r.len = clone(r.len);
r.elem = clone(r.elem);
+2
View File
@@ -349,6 +349,8 @@ walk :: proc(v: ^Visitor, node: ^Node) {
walk(v, n.results);
case Pointer_Type:
walk(v, n.elem);
case Multi_Pointer_Type:
walk(v, n.elem);
case Array_Type:
if n.tag != nil {
walk(v, n.tag);