Skip to content
← Back

src/syntax/trees/definitions/union.ghul

1
namespace Syntax.Trees.Definitions is
2
use Source;
3
4
use Logging;
5
6
class UNION: Classy is
7
description_for_walk: string => "union";
8
9
init(
10
location: LOCATION,
11
name: Identifiers.Identifier,
12
arguments: TypeExpressions.LIST?,
13
ancestors: TypeExpressions.LIST?,
14
modifiers: Modifiers.LIST,
15
body: Definitions.LIST
16
)
17
is
18
super.init(
19
location,
20
name,
21
arguments,
22
ancestors,
23
modifiers,
24
body
25
);
26
si
27
28
accept(visitor: Visitor) is
29
visitor.visit(self);
30
si
31
32
_walk(visitor: Visitor) is
33
if !visitor.pre(self) then
34
name.walk(visitor);
35
36
if arguments? then
37
arguments.walk(visitor);
38
fi
39
40
if ancestors? then
41
ancestors.walk(visitor);
42
fi
43
44
modifiers.walk(visitor);
45
46
body.walk(visitor);
47
fi
48
49
accept(visitor);
50
si
51
si
52
si