misc/vim: inform the user when no results are found
[nit.git] / c_src / nit__typing.sep.3.c
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 */;
37 static val* varonce;
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 */;
72 var_v = p0;
73 {
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);
79 show_backtrace(1);
80 }
81 var = var2;
82 RET_LABEL1:(void)0;
83 }
84 }
85 {
86 var3 = nit__typing___nit__typing__TypeVisitor___visit_expr(var_v, var);
87 }
88 var_expr = var3;
89 var4 = NULL;
90 if (var_expr == NULL) {
91 var5 = 1; /* is null */
92 } else {
93 var5 = 0; /* arg is null but recv is not */
94 }
95 if (0) {
96 { /* Inline kernel#Object#== (var_expr,var4) on <var_expr:nullable MType> */
97 var_other = var4;
98 {
99 { /* Inline kernel#Object#is_same_instance (var_expr,var_other) on <var_expr:nullable MType(MType)> */
100 var10 = var_expr == var_other;
101 var8 = var10;
102 goto RET_LABEL9;
103 RET_LABEL9:(void)0;
104 }
105 }
106 var6 = var8;
107 goto RET_LABEL7;
108 RET_LABEL7:(void)0;
109 }
110 var5 = var6;
111 }
112 if (var5){
113 goto RET_LABEL;
114 } else {
115 }
116 {
117 var11 = nit__typing___nit__typing__TypeVisitor___anchor_to(var_v, var_expr);
118 }
119 var_unsafe = var11;
120 {
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);
126 show_backtrace(1);
127 }
128 var12 = var14;
129 RET_LABEL13:(void)0;
130 }
131 }
132 var_ntype = var12;
133 {
134 var15 = nit__typing___nit__typing__TypeVisitor___resolve_mtype(var_v, var_ntype);
135 }
136 var_mtype = var15;
137 var17 = NULL;
138 if (var_mtype == NULL) {
139 var18 = 0; /* is null */
140 } else {
141 var18 = 1; /* arg is null and recv is not */
142 }
143 if (0) {
144 { /* Inline kernel#Object#!= (var_mtype,var17) on <var_mtype:nullable MType> */
145 var_other21 = var17;
146 {
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)>*/;
148 }
149 var23 = !var22;
150 var19 = var23;
151 goto RET_LABEL20;
152 RET_LABEL20:(void)0;
153 }
154 var18 = var19;
155 }
156 var_ = var18;
157 if (var18){
158 {
159 { /* Inline kernel#Object#!= (var_mtype,var_expr) on <var_mtype:nullable MType(MType)> */
160 var_other21 = var_expr;
161 {
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)>*/;
163 }
164 var27 = !var26;
165 var24 = var27;
166 goto RET_LABEL25;
167 RET_LABEL25:(void)0;
168 }
169 }
170 var16 = var24;
171 } else {
172 var16 = var_;
173 }
174 if (var16){
175 {
176 var28 = nit__typing___nit__typing__TypeVisitor___anchor_to(var_v, var_mtype);
177 }
178 var_umtype = var28;
179 {
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);
185 show_backtrace(1);
186 }
187 var29 = var31;
188 RET_LABEL30:(void)0;
189 }
190 }
191 if (varonce) {
192 var32 = varonce;
193 } else {
194 var33 = "debug";
195 var34 = 5;
196 var35 = standard___standard__NativeString___to_s_with_length(var33, var34);
197 var32 = var35;
198 varonce = var32;
199 }
200 if (varonce36) {
201 var37 = varonce36;
202 } else {
203 var38 = "Found type ";
204 var39 = 11;
205 var40 = standard___standard__NativeString___to_s_with_length(var38, var39);
206 var37 = var40;
207 varonce36 = var37;
208 }
209 if (varonce41) {
210 var42 = varonce41;
211 } else {
212 var43 = " (-> ";
213 var44 = 5;
214 var45 = standard___standard__NativeString___to_s_with_length(var43, var44);
215 var42 = var45;
216 varonce41 = var42;
217 }
218 if (varonce46) {
219 var47 = varonce46;
220 } else {
221 var48 = "), expected ";
222 var49 = 12;
223 var50 = standard___standard__NativeString___to_s_with_length(var48, var49);
224 var47 = var50;
225 varonce46 = var47;
226 }
227 if (varonce51) {
228 var52 = varonce51;
229 } else {
230 var53 = " (-> ";
231 var54 = 5;
232 var55 = standard___standard__NativeString___to_s_with_length(var53, var54);
233 var52 = var55;
234 varonce51 = var52;
235 }
236 if (varonce56) {
237 var57 = varonce56;
238 } else {
239 var58 = ")";
240 var59 = 1;
241 var60 = standard___standard__NativeString___to_s_with_length(var58, var59);
242 var57 = var60;
243 varonce56 = var57;
244 }
245 var61 = NEW_standard__Array(&type_standard__Array__standard__Object);
246 { /* var61 = array_instance Array[Object] */
247 var62 = 9;
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;
258 {
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]>*/;
260 }
261 }
262 {
263 var64 = ((val* (*)(val* self))(var61->class->vft[COLOR_standard__string__Object__to_s]))(var61) /* to_s on <var61:Array[Object]>*/;
264 }
265 {
266 nit___nit__ModelBuilder___warning(var29, self, var32, var64); /* Direct call modelbuilder_base#ModelBuilder#warning on <var29:ModelBuilder>*/
267 }
268 } else {
269 }
270 var65 = 1;
271 {
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> */
274 RET_LABEL66:(void)0;
275 }
276 }
277 RET_LABEL:;
278 }