-
Notifications
You must be signed in to change notification settings - Fork 11
/
direct-state-access-write-inheritance-chain-nested-1.eo
215 lines (212 loc) · 4.89 KB
/
direct-state-access-write-inheritance-chain-nested-1.eo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
# 2022-07-18T12:42:28.169430600
# j2eo team
+package directStateAccess
+alias stdlib.lang.class__Object
+alias stdlib.primitives.prim__int
[] > class__VeryOuter
class__Object > super
super > @
[] > new
class__Object.new > super
super > @
"class__VeryOuter" > className
[this] > init
seq > @
TRUE
[] > class__Outer
class__Object > super
super > @
[] > new
class__Object.new > super
super > @
"class__Outer" > className
[this] > init
seq > @
TRUE
[] > class__A
class__Object > super
super > @
[] > new
class__Object.new > super
super > @
"class__A" > className
[this] > init
seq > @
variableDeclaration_1
[] > variableDeclaration_1
this.state.write > @
initializerSimple_1
[] > initializerSimple_1
literal_1 > @
[] > literal_1
prim__int.constructor_2 > @
prim__int.new
0
prim__int.constructor_1 > state
prim__int.new
# null :: null -> void
[this] > constructor
seq > @
initialization
statementExpression_1
this
[] > initialization
this.init > @
this
[] > statementExpression_1
this.super.constructor > @
this.super
[] > class__B
class__A > super
super > @
[] > new
class__A.new > super
super > @
"class__B" > className
[this] > init
seq > @
TRUE
# null :: null -> void
[this] > constructor
seq > @
initialization
statementExpression_2
this
[] > initialization
this.init > @
this
[] > statementExpression_2
this.super.constructor > @
this.super
[] > class__C
class__B > super
super > @
[] > new
class__B.new > super
super > @
"class__C" > className
[this] > init
seq > @
TRUE
# null :: null -> void
[this] > constructor
seq > @
initialization
statementExpression_3
this
[] > initialization
this.init > @
this
[] > statementExpression_3
this.super.constructor > @
this.super
[] > class__D
class__C > super
super > @
[] > new
class__C.new > super
super > @
"class__D" > className
[this] > init
seq > @
TRUE
# n :: int -> void
[this x] > n
seq > @
statementExpression_4
[] > statementExpression_4
simpleReference_1.write > @
binary_1
[] > simpleReference_1
state > @
[] > binary_1
simpleReference_2.add > @
literal_2
[] > simpleReference_2
x > @
[] > literal_2
prim__int.constructor_2 > @
prim__int.new
2
# null :: null -> void
[this] > constructor
seq > @
initialization
statementExpression_5
this
[] > initialization
this.init > @
this
[] > statementExpression_5
this.super.constructor > @
this.super
# null :: null -> void
[this] > constructor
seq > @
initialization
statementExpression_6
this
[] > initialization
this.init > @
this
[] > statementExpression_6
this.super.constructor > @
this.super
# null :: null -> void
[this] > constructor
seq > @
initialization
statementExpression_7
this
[] > initialization
this.init > @
this
[] > statementExpression_7
this.super.constructor > @
this.super
[] > class__Test
class__Object > super
super > @
[] > new
class__Object.new > super
super > @
"class__Test" > className
[this] > init
seq > @
TRUE
# main :: String[] -> void
[args] > main
seq > @
variableDeclaration_2
statementExpression_8
cage > d
[] > variableDeclaration_2
d.write > @
initializerSimple_3
[] > initializerSimple_3
instanceCreationQualified_1 > @
[] > instanceCreationQualified_1
instance_creation_q_placeholder > @
[] > statementExpression_8
d.n > @
d
literal_3
[] > literal_3
prim__int.constructor_2 > @
prim__int.new
3
# null :: null -> void
[this] > constructor
seq > @
initialization
statementExpression_9
this
[] > initialization
this.init > @
this
[] > statementExpression_9
this.super.constructor > @
this.super
[args...] > main
class__Test.main > @
*