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