-
Notifications
You must be signed in to change notification settings - Fork 11
/
direct-state-access-write-inheritance-chain-nested-2.eo
219 lines (213 loc) · 4.61 KB
/
direct-state-access-write-inheritance-chain-nested-2.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
216
217
218
219
# 2022-07-18T12:42:28.175438300
# j2eo team
+package directStateAccess
+alias stdlib.lang.class__Object
+alias stdlib.primitives.prim__int
[] > class__A
class__Object > super
super > @
[] > new
class__Object.new > super
super > @
"class__A" > className
[this] > init
seq > @
TRUE
[] > class__Inner
class__Object > super
super > @
[] > new
class__Object.new > super
super > @
"class__Inner" > className
[this] > init
seq > @
TRUE
[] > class__VeryInner
class__Object > super
super > @
[] > new
class__Object.new > super
super > @
"class__VeryInner" > 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
# null :: null -> void
[this] > constructor
seq > @
initialization
statementExpression_2
this
[] > initialization
this.init > @
this
[] > statementExpression_2
this.super.constructor > @
this.super
# null :: null -> void
[this] > constructor
seq > @
initialization
statementExpression_3
this
[] > initialization
this.init > @
this
[] > statementExpression_3
this.super.constructor > @
this.super
[] > class__B
class__A.class__Inner.class__VeryInner > super
super > @
[] > new
class__A.class__Inner.class__VeryInner.new > super
super > @
"class__B" > className
[this] > init
seq > @
TRUE
# null :: null -> void
[this] > constructor
seq > @
initialization
statementExpression_4
this
[] > initialization
this.init > @
this
[] > statementExpression_4
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_5
this
[] > initialization
this.init > @
this
[] > statementExpression_5
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_6
[] > statementExpression_6
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_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
instanceCreation_1 > @
[] > instanceCreation_1
class__D.constructor > @
class__D.new
[] > 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 > @
*