Skip to content
← Back

src/syntax/trees/definitions/indexer.ghul

1
namespace Syntax.Trees.Definitions is
2
use Source;
3
4
class INDEXER(
5
location: LOCATION,
6
name: Identifiers.Identifier?,
7
index_argument: Variables.VARIABLE,
8
type_expression: TypeExpressions.TypeExpression,
9
modifiers: Modifiers.LIST,
10
read_body: Bodies.Body?,
11
assign_argument: Identifiers.Identifier?,
12
assign_body: Bodies.Body?
13
): MODIFIABLE is
14
super(location, modifiers);
15
16
accept(visitor: Visitor) is
17
visitor.visit(self);
18
si
19
20
walk(visitor: Visitor) is
21
if !visitor.pre(self) then
22
modifiers.walk(visitor);
23
24
if name? then
25
name.walk(visitor);
26
fi
27
28
index_argument.walk(visitor);
29
type_expression.walk(visitor);
30
31
if read_body? then
32
read_body.walk(visitor);
33
fi
34
35
if assign_argument? then
36
assign_argument.walk(visitor);
37
fi
38
39
if assign_body? then
40
assign_body.walk(visitor);
41
fi
42
fi
43
44
accept(visitor);
45
si
46
si
47
si