1 #include "nit__typing.sep.0.h"
2 /* method typing#ADebugTypeExpr#accept_typing for (self: ADebugTypeExpr, TypeVisitor) */
3 void nit__typing___ADebugTypeExpr___AExpr__accept_typing(val
* self
, val
* p0
) {
4 val
* var_v
/* var v: TypeVisitor */;
5 val
* var
/* : AExpr */;
6 val
* var2
/* : AExpr */;
7 val
* var3
/* : nullable MType */;
8 val
* var_expr
/* var expr: nullable MType */;
9 val
* var4
/* : null */;
10 short int var5
/* : Bool */;
11 short int var6
/* : Bool */;
12 val
* var_other
/* var other: nullable Object */;
13 short int var8
/* : Bool */;
14 short int var10
/* : Bool */;
15 val
* var11
/* : MType */;
16 val
* var_unsafe
/* var unsafe: MType */;
17 val
* var12
/* : AType */;
18 val
* var14
/* : AType */;
19 val
* var_ntype
/* var ntype: AType */;
20 val
* var15
/* : nullable MType */;
21 val
* var_mtype
/* var mtype: nullable MType */;
22 short int var16
/* : Bool */;
23 val
* var17
/* : null */;
24 short int var18
/* : Bool */;
25 short int var19
/* : Bool */;
26 val
* var_other21
/* var other: nullable Object */;
27 short int var22
/* : Bool */;
28 short int var23
/* : Bool */;
29 short int var_
/* var : Bool */;
30 short int var24
/* : Bool */;
31 short int var26
/* : Bool */;
32 short int var27
/* : Bool */;
33 val
* var28
/* : MType */;
34 val
* var_umtype
/* var umtype: MType */;
35 val
* var29
/* : ModelBuilder */;
36 val
* var31
/* : ModelBuilder */;
38 val
* var32
/* : String */;
39 char* var33
/* : NativeString */;
40 long var34
/* : Int */;
41 val
* var35
/* : FlatString */;
42 static val
* varonce36
;
43 val
* var37
/* : String */;
44 char* var38
/* : NativeString */;
45 long var39
/* : Int */;
46 val
* var40
/* : FlatString */;
47 static val
* varonce41
;
48 val
* var42
/* : String */;
49 char* var43
/* : NativeString */;
50 long var44
/* : Int */;
51 val
* var45
/* : FlatString */;
52 static val
* varonce46
;
53 val
* var47
/* : String */;
54 char* var48
/* : NativeString */;
55 long var49
/* : Int */;
56 val
* var50
/* : FlatString */;
57 static val
* varonce51
;
58 val
* var52
/* : String */;
59 char* var53
/* : NativeString */;
60 long var54
/* : Int */;
61 val
* var55
/* : FlatString */;
62 static val
* varonce56
;
63 val
* var57
/* : String */;
64 char* var58
/* : NativeString */;
65 long var59
/* : Int */;
66 val
* var60
/* : FlatString */;
67 val
* var61
/* : Array[Object] */;
68 long var62
/* : Int */;
69 val
* var63
/* : NativeArray[Object] */;
70 val
* var64
/* : String */;
71 short int var65
/* : Bool */;
74 { /* Inline parser_nodes#ADebugTypeExpr#n_expr (self) on <self:ADebugTypeExpr> */
75 var2
= self
->attrs
[COLOR_nit__parser_nodes__ADebugTypeExpr___n_expr
].val
; /* _n_expr on <self:ADebugTypeExpr> */
76 if (unlikely(var2
== NULL
)) {
77 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
78 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2397);
86 var3
= nit__typing___nit__typing__TypeVisitor___visit_expr(var_v
, var
);
90 if (var_expr
== NULL
) {
91 var5
= 1; /* is null */
93 var5
= 0; /* arg is null but recv is not */
96 { /* Inline kernel#Object#== (var_expr,var4) on <var_expr:nullable MType> */
99 { /* Inline kernel#Object#is_same_instance (var_expr,var_other) on <var_expr:nullable MType(MType)> */
100 var10
= var_expr
== var_other
;
117 var11
= nit__typing___nit__typing__TypeVisitor___anchor_to(var_v
, var_expr
);
121 { /* Inline parser_nodes#ADebugTypeExpr#n_type (self) on <self:ADebugTypeExpr> */
122 var14
= self
->attrs
[COLOR_nit__parser_nodes__ADebugTypeExpr___n_type
].val
; /* _n_type on <self:ADebugTypeExpr> */
123 if (unlikely(var14
== NULL
)) {
124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_type");
125 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2400);
134 var15
= nit__typing___nit__typing__TypeVisitor___resolve_mtype(var_v
, var_ntype
);
138 if (var_mtype
== NULL
) {
139 var18
= 0; /* is null */
141 var18
= 1; /* arg is null and recv is not */
144 { /* Inline kernel#Object#!= (var_mtype,var17) on <var_mtype:nullable MType> */
147 var22
= ((short int (*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mtype
, var_other21
) /* == on <var_mtype:nullable MType(MType)>*/;
159 { /* Inline kernel#Object#!= (var_mtype,var_expr) on <var_mtype:nullable MType(MType)> */
160 var_other21
= var_expr
;
162 var26
= ((short int (*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mtype
, var_other21
) /* == on <var_mtype:nullable MType(MType)>*/;
176 var28
= nit__typing___nit__typing__TypeVisitor___anchor_to(var_v
, var_mtype
);
180 { /* Inline typing#TypeVisitor#modelbuilder (var_v) on <var_v:TypeVisitor> */
181 var31
= var_v
->attrs
[COLOR_nit__typing__TypeVisitor___modelbuilder
].val
; /* _modelbuilder on <var_v:TypeVisitor> */
182 if (unlikely(var31
== NULL
)) {
183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
184 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 34);
196 var35
= standard___standard__NativeString___to_s_with_length(var33
, var34
);
203 var38
= "Found type ";
205 var40
= standard___standard__NativeString___to_s_with_length(var38
, var39
);
214 var45
= standard___standard__NativeString___to_s_with_length(var43
, var44
);
221 var48
= "), expected ";
223 var50
= standard___standard__NativeString___to_s_with_length(var48
, var49
);
232 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
241 var60
= standard___standard__NativeString___to_s_with_length(var58
, var59
);
245 var61
= NEW_standard__Array(&type_standard__Array__standard__Object
);
246 { /* var61 = array_instance Array[Object] */
248 var63
= NEW_standard__NativeArray(var62
, &type_standard__NativeArray__standard__Object
);
249 ((struct instance_standard__NativeArray
*)var63
)->values
[0] = (val
*) var37
;
250 ((struct instance_standard__NativeArray
*)var63
)->values
[1] = (val
*) var_expr
;
251 ((struct instance_standard__NativeArray
*)var63
)->values
[2] = (val
*) var42
;
252 ((struct instance_standard__NativeArray
*)var63
)->values
[3] = (val
*) var_unsafe
;
253 ((struct instance_standard__NativeArray
*)var63
)->values
[4] = (val
*) var47
;
254 ((struct instance_standard__NativeArray
*)var63
)->values
[5] = (val
*) var_mtype
;
255 ((struct instance_standard__NativeArray
*)var63
)->values
[6] = (val
*) var52
;
256 ((struct instance_standard__NativeArray
*)var63
)->values
[7] = (val
*) var_umtype
;
257 ((struct instance_standard__NativeArray
*)var63
)->values
[8] = (val
*) var57
;
259 ((void (*)(val
* self
, val
* p0
, long p1
))(var61
->class->vft
[COLOR_standard__array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
263 var64
= ((val
* (*)(val
* self
))(var61
->class->vft
[COLOR_standard__string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
266 nit___nit__ModelBuilder___warning(var29
, self
, var32
, var64
); /* Direct call modelbuilder_base#ModelBuilder#warning on <var29:ModelBuilder>*/
272 { /* Inline typing#AExpr#is_typed= (self,var65) on <self:ADebugTypeExpr> */
273 self
->attrs
[COLOR_nit__typing__AExpr___is_typed
].s
= var65
; /* _is_typed on <self:ADebugTypeExpr> */