1 #include "collect_super_sends.sep.0.h"
2 /* method collect_super_sends#CollectSuperSends#modelbuilder for (self: CollectSuperSends): ModelBuilder */
3 val
* collect_super_sends__CollectSuperSends__modelbuilder(val
* self
) {
4 val
* var
/* : ModelBuilder */;
5 val
* var1
/* : ModelBuilder */;
6 var1
= self
->attrs
[COLOR_collect_super_sends__CollectSuperSends___64dmodelbuilder
].val
; /* @modelbuilder on <self:CollectSuperSends> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @modelbuilder");
9 fprintf(stderr
, " (%s:%d)\n", "src/collect_super_sends.nit", 24);
16 /* method collect_super_sends#CollectSuperSends#modelbuilder for (self: Object): ModelBuilder */
17 val
* VIRTUAL_collect_super_sends__CollectSuperSends__modelbuilder(val
* self
) {
18 val
* var
/* : ModelBuilder */;
19 val
* var1
/* : ModelBuilder */;
20 var1
= collect_super_sends__CollectSuperSends__modelbuilder(self
);
25 /* method collect_super_sends#CollectSuperSends#modelbuilder= for (self: CollectSuperSends, ModelBuilder) */
26 void collect_super_sends__CollectSuperSends__modelbuilder_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_collect_super_sends__CollectSuperSends___64dmodelbuilder
].val
= p0
; /* @modelbuilder on <self:CollectSuperSends> */
30 /* method collect_super_sends#CollectSuperSends#modelbuilder= for (self: Object, ModelBuilder) */
31 void VIRTUAL_collect_super_sends__CollectSuperSends__modelbuilder_61d(val
* self
, val
* p0
) {
32 collect_super_sends__CollectSuperSends__modelbuilder_61d(self
, p0
);
35 /* method collect_super_sends#CollectSuperSends#res for (self: CollectSuperSends): ArraySet[MMethodDef] */
36 val
* collect_super_sends__CollectSuperSends__res(val
* self
) {
37 val
* var
/* : ArraySet[MMethodDef] */;
38 val
* var1
/* : ArraySet[MMethodDef] */;
39 var1
= self
->attrs
[COLOR_collect_super_sends__CollectSuperSends___64dres
].val
; /* @res on <self:CollectSuperSends> */
41 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @res");
42 fprintf(stderr
, " (%s:%d)\n", "src/collect_super_sends.nit", 25);
49 /* method collect_super_sends#CollectSuperSends#res for (self: Object): ArraySet[MMethodDef] */
50 val
* VIRTUAL_collect_super_sends__CollectSuperSends__res(val
* self
) {
51 val
* var
/* : ArraySet[MMethodDef] */;
52 val
* var1
/* : ArraySet[MMethodDef] */;
53 var1
= collect_super_sends__CollectSuperSends__res(self
);
58 /* method collect_super_sends#CollectSuperSends#res= for (self: CollectSuperSends, ArraySet[MMethodDef]) */
59 void collect_super_sends__CollectSuperSends__res_61d(val
* self
, val
* p0
) {
60 self
->attrs
[COLOR_collect_super_sends__CollectSuperSends___64dres
].val
= p0
; /* @res on <self:CollectSuperSends> */
63 /* method collect_super_sends#CollectSuperSends#res= for (self: Object, ArraySet[MMethodDef]) */
64 void VIRTUAL_collect_super_sends__CollectSuperSends__res_61d(val
* self
, val
* p0
) {
65 collect_super_sends__CollectSuperSends__res_61d(self
, p0
);
68 /* method collect_super_sends#CollectSuperSends#mpropdef for (self: CollectSuperSends): nullable MMethodDef */
69 val
* collect_super_sends__CollectSuperSends__mpropdef(val
* self
) {
70 val
* var
/* : nullable MMethodDef */;
71 val
* var1
/* : nullable MMethodDef */;
72 var1
= self
->attrs
[COLOR_collect_super_sends__CollectSuperSends___64dmpropdef
].val
; /* @mpropdef on <self:CollectSuperSends> */
77 /* method collect_super_sends#CollectSuperSends#mpropdef for (self: Object): nullable MMethodDef */
78 val
* VIRTUAL_collect_super_sends__CollectSuperSends__mpropdef(val
* self
) {
79 val
* var
/* : nullable MMethodDef */;
80 val
* var1
/* : nullable MMethodDef */;
81 var1
= collect_super_sends__CollectSuperSends__mpropdef(self
);
86 /* method collect_super_sends#CollectSuperSends#mpropdef= for (self: CollectSuperSends, nullable MMethodDef) */
87 void collect_super_sends__CollectSuperSends__mpropdef_61d(val
* self
, val
* p0
) {
88 self
->attrs
[COLOR_collect_super_sends__CollectSuperSends___64dmpropdef
].val
= p0
; /* @mpropdef on <self:CollectSuperSends> */
91 /* method collect_super_sends#CollectSuperSends#mpropdef= for (self: Object, nullable MMethodDef) */
92 void VIRTUAL_collect_super_sends__CollectSuperSends__mpropdef_61d(val
* self
, val
* p0
) {
93 collect_super_sends__CollectSuperSends__mpropdef_61d(self
, p0
);
96 /* method collect_super_sends#CollectSuperSends#init for (self: CollectSuperSends, ModelBuilder) */
97 void collect_super_sends__CollectSuperSends__init(val
* self
, val
* p0
) {
98 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
99 var_modelbuilder
= p0
;
100 ((void (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Visitor__init
]))(self
) /* init on <self:CollectSuperSends>*/;
101 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_collect_super_sends__CollectSuperSends__modelbuilder_61d
]))(self
, var_modelbuilder
) /* modelbuilder= on <self:CollectSuperSends>*/;
104 /* method collect_super_sends#CollectSuperSends#init for (self: Object, ModelBuilder) */
105 void VIRTUAL_collect_super_sends__CollectSuperSends__init(val
* self
, val
* p0
) {
106 collect_super_sends__CollectSuperSends__init(self
, p0
);
109 /* method collect_super_sends#CollectSuperSends#visit for (self: CollectSuperSends, ANode) */
110 void collect_super_sends__CollectSuperSends__visit(val
* self
, val
* p0
) {
111 val
* var_n
/* var n: ANode */;
112 short int var
/* : Bool */;
115 val
* var1
/* : nullable MMethodDef */;
116 val
* var2
/* : null */;
117 short int var3
/* : Bool */;
118 val
* var4
/* : nullable MPropDef */;
119 val
* var5
/* : null */;
120 short int var6
/* : Bool */;
121 short int var7
/* : Bool */;
124 short int var_
/* var : Bool */;
125 val
* var10
/* : nullable MMethod */;
126 val
* var11
/* : null */;
127 short int var12
/* : Bool */;
128 val
* var13
/* : nullable MMethodDef */;
129 val
* var_mprop
/* var mprop: nullable MMethodDef */;
130 val
* var14
/* : null */;
131 short int var15
/* : Bool */;
132 val
* var16
/* : ArraySet[MMethodDef] */;
134 /* <var_n:ANode> isa AMethPropdef */
135 cltype
= type_parser_nodes__AMethPropdef
.color
;
136 idtype
= type_parser_nodes__AMethPropdef
.id
;
137 if(cltype
>= var_n
->type
->table_size
) {
140 var
= var_n
->type
->type_table
[cltype
] == idtype
;
143 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_collect_super_sends__CollectSuperSends__mpropdef
]))(self
) /* mpropdef on <self:CollectSuperSends>*/;
146 var3
= 1; /* is null */
148 var3
= 0; /* arg is null but recv is not */
151 fprintf(stderr
, "Runtime error: %s", "Assert failed");
152 fprintf(stderr
, " (%s:%d)\n", "src/collect_super_sends.nit", 37);
155 var4
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(var_n
) /* mpropdef on <var_n:ANode(AMethPropdef)>*/;
156 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_collect_super_sends__CollectSuperSends__mpropdef_61d
]))(self
, var4
) /* mpropdef= on <self:CollectSuperSends>*/;
157 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_n
, self
) /* visit_all on <var_n:ANode(AMethPropdef)>*/;
159 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_collect_super_sends__CollectSuperSends__mpropdef_61d
]))(self
, var5
) /* mpropdef= on <self:CollectSuperSends>*/;
163 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_n
, self
) /* visit_all on <var_n:ANode>*/;
164 /* <var_n:ANode> isa ASuperExpr */
165 cltype8
= type_parser_nodes__ASuperExpr
.color
;
166 idtype9
= type_parser_nodes__ASuperExpr
.id
;
167 if(cltype8
>= var_n
->type
->table_size
) {
170 var7
= var_n
->type
->type_table
[cltype8
] == idtype9
;
174 var10
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_typing__ASuperExpr__mproperty
]))(var_n
) /* mproperty on <var_n:ANode(ASuperExpr)>*/;
177 var12
= 1; /* is null */
179 var12
= 0; /* arg is null but recv is not */
186 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_collect_super_sends__CollectSuperSends__mpropdef
]))(self
) /* mpropdef on <self:CollectSuperSends>*/;
189 if (var_mprop
== NULL
) {
190 var15
= 0; /* is null */
192 var15
= 1; /* arg is null and recv is not */
195 fprintf(stderr
, "Runtime error: %s", "Assert failed");
196 fprintf(stderr
, " (%s:%d)\n", "src/collect_super_sends.nit", 46);
199 var16
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_collect_super_sends__CollectSuperSends__res
]))(self
) /* res on <self:CollectSuperSends>*/;
200 ((void (*)(val
*, val
*))(var16
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var16
, var_mprop
) /* add on <var16:ArraySet[MMethodDef]>*/;
205 /* method collect_super_sends#CollectSuperSends#visit for (self: Object, ANode) */
206 void VIRTUAL_collect_super_sends__CollectSuperSends__visit(val
* self
, val
* p0
) {
207 collect_super_sends__CollectSuperSends__visit(self
, p0
);
210 /* method collect_super_sends#ModelBuilder#collect_super_sends for (self: ModelBuilder): Set[MMethodDef] */
211 val
* collect_super_sends__ModelBuilder__collect_super_sends(val
* self
) {
212 val
* var
/* : Set[MMethodDef] */;
213 val
* var1
/* : CollectSuperSends */;
214 val
* var_visitor
/* var visitor: CollectSuperSends */;
215 val
* var2
/* : Array[AModule] */;
216 val
* var3
/* : Iterator[nullable Object] */;
217 short int var4
/* : Bool */;
218 val
* var5
/* : nullable Object */;
219 val
* var_nmodule
/* var nmodule: AModule */;
220 val
* var6
/* : ArraySet[MMethodDef] */;
221 var1
= NEW_collect_super_sends__CollectSuperSends(&type_collect_super_sends__CollectSuperSends
);
222 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_collect_super_sends__CollectSuperSends__init
]))(var1
, self
) /* init on <var1:CollectSuperSends>*/;
224 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__nmodules
]))(self
) /* nmodules on <self:ModelBuilder>*/;
225 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:Array[AModule]>*/;
227 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
229 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
231 ((void (*)(val
*, val
*))(var_visitor
->class->vft
[COLOR_parser_nodes__Visitor__enter_visit
]))(var_visitor
, var_nmodule
) /* enter_visit on <var_visitor:CollectSuperSends>*/;
232 CONTINUE_label
: (void)0;
233 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
235 BREAK_label
: (void)0;
236 var6
= ((val
* (*)(val
*))(var_visitor
->class->vft
[COLOR_collect_super_sends__CollectSuperSends__res
]))(var_visitor
) /* res on <var_visitor:CollectSuperSends>*/;
242 /* method collect_super_sends#ModelBuilder#collect_super_sends for (self: Object): Set[MMethodDef] */
243 val
* VIRTUAL_collect_super_sends__ModelBuilder__collect_super_sends(val
* self
) {
244 val
* var
/* : Set[MMethodDef] */;
245 val
* var1
/* : Set[MMethodDef] */;
246 var1
= collect_super_sends__ModelBuilder__collect_super_sends(self
);