1 #include "nitc__annotation.sep.0.h"
2 /* method annotation$Prod$get_single_annotation for (self: Prod, String, ModelBuilder): nullable AAnnotation */
3 val
* nitc__annotation___Prod___get_single_annotation(val
* self
, val
* p0
, val
* p1
) {
4 val
* var
/* : nullable AAnnotation */;
5 val
* var_name
/* var name: String */;
6 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
7 val
* var1
/* : Array[AAnnotation] */;
8 val
* var_res
/* var res: Array[AAnnotation] */;
9 short int var2
/* : Bool */;
10 long var3
/* : Int */;
11 long var5
/* : Int */;
12 short int var6
/* : Bool */;
13 short int var8
/* : Bool */;
16 const char* var_class_name
;
17 short int var9
/* : Bool */;
18 val
* var10
/* : nullable Object */;
19 val
* var11
/* : NativeArray[String] */;
21 static val
* varonce12
;
22 val
* var13
/* : String */;
23 char* var14
/* : CString */;
24 val
* var15
/* : String */;
25 val
* var16
/* : nullable Int */;
26 val
* var17
/* : nullable Int */;
27 val
* var18
/* : nullable Bool */;
28 val
* var19
/* : nullable Bool */;
29 static val
* varonce20
;
30 val
* var21
/* : String */;
31 char* var22
/* : CString */;
32 val
* var23
/* : String */;
33 val
* var24
/* : nullable Int */;
34 val
* var25
/* : nullable Int */;
35 val
* var26
/* : nullable Bool */;
36 val
* var27
/* : nullable Bool */;
37 static val
* varonce28
;
38 val
* var29
/* : String */;
39 char* var30
/* : CString */;
40 val
* var31
/* : String */;
41 val
* var32
/* : nullable Int */;
42 val
* var33
/* : nullable Int */;
43 val
* var34
/* : nullable Bool */;
44 val
* var35
/* : nullable Bool */;
45 val
* var36
/* : nullable Object */;
46 val
* var37
/* : Location */;
47 val
* var39
/* : Location */;
48 long var40
/* : Int */;
49 long var42
/* : Int */;
50 val
* var43
/* : String */;
51 val
* var44
/* : String */;
52 val
* var45
/* : nullable Object */;
54 var_modelbuilder
= p1
;
56 var1
= nitc___nitc__Prod___get_annotations(self
, var_name
);
60 var2
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_res
);
68 { /* Inline array$AbstractArrayRead$length (var_res) on <var_res:Array[AAnnotation]> */
69 var5
= var_res
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_res:Array[AAnnotation]> */
75 { /* Inline kernel$Int$> (var3,1l) on <var3:Int> */
76 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
77 /* <1l:Int> isa OTHER */
78 var8
= 1; /* easy <1l:Int> isa OTHER*/
79 if (unlikely(!var8
)) {
80 var_class_name
= type_core__Int
.name
;
81 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
82 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
93 var10
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_res
, 1l);
95 if (unlikely(varonce
==NULL
)) {
96 var11
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
97 if (likely(varonce12
!=NULL
)) {
100 var14
= "Syntax Error: multiple `";
101 var16
= (val
*)(24l<<2|1);
102 var17
= (val
*)(24l<<2|1);
103 var18
= (val
*)((long)(0)<<2|3);
104 var19
= (val
*)((long)(0)<<2|3);
105 var15
= core__flat___CString___to_s_unsafe(var14
, var16
, var17
, var18
, var19
);
109 ((struct instance_core__NativeArray
*)var11
)->values
[0]=var13
;
110 if (likely(varonce20
!=NULL
)) {
113 var22
= "`. A previous one is defined line ";
114 var24
= (val
*)(34l<<2|1);
115 var25
= (val
*)(34l<<2|1);
116 var26
= (val
*)((long)(0)<<2|3);
117 var27
= (val
*)((long)(0)<<2|3);
118 var23
= core__flat___CString___to_s_unsafe(var22
, var24
, var25
, var26
, var27
);
122 ((struct instance_core__NativeArray
*)var11
)->values
[2]=var21
;
123 if (likely(varonce28
!=NULL
)) {
127 var32
= (val
*)(1l<<2|1);
128 var33
= (val
*)(1l<<2|1);
129 var34
= (val
*)((long)(0)<<2|3);
130 var35
= (val
*)((long)(0)<<2|3);
131 var31
= core__flat___CString___to_s_unsafe(var30
, var32
, var33
, var34
, var35
);
135 ((struct instance_core__NativeArray
*)var11
)->values
[4]=var29
;
140 ((struct instance_core__NativeArray
*)var11
)->values
[1]=var_name
;
142 var36
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_res
, 0l);
145 { /* Inline parser_nodes$ANode$location (var36) on <var36:nullable Object(AAnnotation)> */
146 var39
= var36
->attrs
[COLOR_nitc__parser_nodes__ANode___location
].val
; /* _location on <var36:nullable Object(AAnnotation)> */
147 if (unlikely(var39
== NULL
)) {
148 if(catchStack
.cursor
>= 0){
149 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
151 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
152 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 25);
160 { /* Inline location$Location$line_start (var37) on <var37:Location> */
161 var42
= var37
->attrs
[COLOR_nitc__location__Location___line_start
].l
; /* _line_start on <var37:Location> */
166 var43
= core__flat___Int___core__abstract_text__Object__to_s(var40
);
167 ((struct instance_core__NativeArray
*)var11
)->values
[3]=var43
;
169 var44
= ((val
*(*)(val
* self
))(var11
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var11
); /* native_to_s on <var11:NativeArray[String]>*/
173 nitc___nitc__ModelBuilder___error(var_modelbuilder
, var10
, var44
); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
178 var45
= core___core__SequenceRead___Collection__first(var_res
);
185 /* method annotation$AAnnotation$arg_as_string for (self: AAnnotation, ModelBuilder): nullable String */
186 val
* nitc__annotation___AAnnotation___arg_as_string(val
* self
, val
* p0
) {
187 val
* var
/* : nullable String */;
188 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
189 val
* var1
/* : ANodes[AExpr] */;
190 val
* var3
/* : ANodes[AExpr] */;
191 val
* var_args
/* var args: ANodes[AExpr] */;
192 long var4
/* : Int */;
193 short int var5
/* : Bool */;
194 short int var7
/* : Bool */;
195 val
* var8
/* : nullable Object */;
196 val
* var9
/* : nullable String */;
197 val
* var_arg
/* var arg: nullable String */;
198 short int var10
/* : Bool */;
199 short int var11
/* : Bool */;
200 val
* var_other
/* var other: nullable Object */;
201 short int var13
/* : Bool */;
202 short int var14
/* : Bool */;
203 val
* var15
/* : NativeArray[String] */;
205 static val
* varonce16
;
206 val
* var17
/* : String */;
207 char* var18
/* : CString */;
208 val
* var19
/* : String */;
209 val
* var20
/* : nullable Int */;
210 val
* var21
/* : nullable Int */;
211 val
* var22
/* : nullable Bool */;
212 val
* var23
/* : nullable Bool */;
213 static val
* varonce24
;
214 val
* var25
/* : String */;
215 char* var26
/* : CString */;
216 val
* var27
/* : String */;
217 val
* var28
/* : nullable Int */;
218 val
* var29
/* : nullable Int */;
219 val
* var30
/* : nullable Bool */;
220 val
* var31
/* : nullable Bool */;
221 val
* var32
/* : String */;
222 val
* var33
/* : String */;
223 var_modelbuilder
= p0
;
225 { /* Inline parser_nodes$AAnnotation$n_args (self) on <self:AAnnotation> */
226 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AAnnotation___n_args
].val
; /* _n_args on <self:AAnnotation> */
227 if (unlikely(var3
== NULL
)) {
228 if(catchStack
.cursor
>= 0){
229 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
231 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
232 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 3007);
241 var4
= nitc___nitc__ANodes___core__abstract_collection__Collection__length(var_args
);
244 { /* Inline kernel$Int$== (var4,1l) on <var4:Int> */
253 var8
= core___core__SequenceRead___Collection__first(var_args
);
256 var9
= nitc__literal___AExpr___as_string(var8
);
259 if (var_arg
== NULL
) {
260 var10
= 0; /* is null */
262 var10
= 1; /* arg is null and recv is not */
265 { /* Inline kernel$Object$!= (var_arg,((val*)NULL)) on <var_arg:nullable String> */
266 var_other
= ((val
*)NULL
);
268 var13
= ((short int(*)(val
* self
, val
* p0
))(var_arg
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_arg
, var_other
); /* == on <var_arg:nullable String(String)>*/
284 if (unlikely(varonce
==NULL
)) {
285 var15
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
286 if (likely(varonce16
!=NULL
)) {
289 var18
= "Syntax Error: `";
290 var20
= (val
*)(15l<<2|1);
291 var21
= (val
*)(15l<<2|1);
292 var22
= (val
*)((long)(0)<<2|3);
293 var23
= (val
*)((long)(0)<<2|3);
294 var19
= core__flat___CString___to_s_unsafe(var18
, var20
, var21
, var22
, var23
);
298 ((struct instance_core__NativeArray
*)var15
)->values
[0]=var17
;
299 if (likely(varonce24
!=NULL
)) {
302 var26
= "` expects a single String as argument.";
303 var28
= (val
*)(38l<<2|1);
304 var29
= (val
*)(38l<<2|1);
305 var30
= (val
*)((long)(0)<<2|3);
306 var31
= (val
*)((long)(0)<<2|3);
307 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
311 ((struct instance_core__NativeArray
*)var15
)->values
[2]=var25
;
317 var32
= nitc___nitc__AAnnotation___name(self
);
319 ((struct instance_core__NativeArray
*)var15
)->values
[1]=var32
;
321 var33
= ((val
*(*)(val
* self
))(var15
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var15
); /* native_to_s on <var15:NativeArray[String]>*/
325 nitc___nitc__ModelBuilder___error(var_modelbuilder
, self
, var33
); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/
332 /* method annotation$AAnnotation$arg_as_id for (self: AAnnotation, ModelBuilder): nullable String */
333 val
* nitc__annotation___AAnnotation___arg_as_id(val
* self
, val
* p0
) {
334 val
* var
/* : nullable String */;
335 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
336 val
* var1
/* : ANodes[AExpr] */;
337 val
* var3
/* : ANodes[AExpr] */;
338 val
* var_args
/* var args: ANodes[AExpr] */;
339 long var4
/* : Int */;
340 short int var5
/* : Bool */;
341 short int var7
/* : Bool */;
342 val
* var8
/* : nullable Object */;
343 val
* var9
/* : nullable String */;
344 val
* var_arg
/* var arg: nullable String */;
345 short int var10
/* : Bool */;
346 short int var11
/* : Bool */;
347 val
* var_other
/* var other: nullable Object */;
348 short int var13
/* : Bool */;
349 short int var14
/* : Bool */;
350 val
* var15
/* : NativeArray[String] */;
352 static val
* varonce16
;
353 val
* var17
/* : String */;
354 char* var18
/* : CString */;
355 val
* var19
/* : String */;
356 val
* var20
/* : nullable Int */;
357 val
* var21
/* : nullable Int */;
358 val
* var22
/* : nullable Bool */;
359 val
* var23
/* : nullable Bool */;
360 static val
* varonce24
;
361 val
* var25
/* : String */;
362 char* var26
/* : CString */;
363 val
* var27
/* : String */;
364 val
* var28
/* : nullable Int */;
365 val
* var29
/* : nullable Int */;
366 val
* var30
/* : nullable Bool */;
367 val
* var31
/* : nullable Bool */;
368 val
* var32
/* : String */;
369 val
* var33
/* : String */;
370 var_modelbuilder
= p0
;
372 { /* Inline parser_nodes$AAnnotation$n_args (self) on <self:AAnnotation> */
373 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AAnnotation___n_args
].val
; /* _n_args on <self:AAnnotation> */
374 if (unlikely(var3
== NULL
)) {
375 if(catchStack
.cursor
>= 0){
376 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
378 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
379 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 3007);
388 var4
= nitc___nitc__ANodes___core__abstract_collection__Collection__length(var_args
);
391 { /* Inline kernel$Int$== (var4,1l) on <var4:Int> */
400 var8
= core___core__SequenceRead___Collection__first(var_args
);
403 var9
= nitc__parser_work___AExpr___as_id(var8
);
406 if (var_arg
== NULL
) {
407 var10
= 0; /* is null */
409 var10
= 1; /* arg is null and recv is not */
412 { /* Inline kernel$Object$!= (var_arg,((val*)NULL)) on <var_arg:nullable String> */
413 var_other
= ((val
*)NULL
);
415 var13
= ((short int(*)(val
* self
, val
* p0
))(var_arg
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_arg
, var_other
); /* == on <var_arg:nullable String(String)>*/
431 if (unlikely(varonce
==NULL
)) {
432 var15
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
433 if (likely(varonce16
!=NULL
)) {
436 var18
= "Syntax Error: `";
437 var20
= (val
*)(15l<<2|1);
438 var21
= (val
*)(15l<<2|1);
439 var22
= (val
*)((long)(0)<<2|3);
440 var23
= (val
*)((long)(0)<<2|3);
441 var19
= core__flat___CString___to_s_unsafe(var18
, var20
, var21
, var22
, var23
);
445 ((struct instance_core__NativeArray
*)var15
)->values
[0]=var17
;
446 if (likely(varonce24
!=NULL
)) {
449 var26
= "` expects a single identifier as argument.";
450 var28
= (val
*)(42l<<2|1);
451 var29
= (val
*)(42l<<2|1);
452 var30
= (val
*)((long)(0)<<2|3);
453 var31
= (val
*)((long)(0)<<2|3);
454 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
458 ((struct instance_core__NativeArray
*)var15
)->values
[2]=var25
;
464 var32
= nitc___nitc__AAnnotation___name(self
);
466 ((struct instance_core__NativeArray
*)var15
)->values
[1]=var32
;
468 var33
= ((val
*(*)(val
* self
))(var15
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var15
); /* native_to_s on <var15:NativeArray[String]>*/
472 nitc___nitc__ModelBuilder___error(var_modelbuilder
, self
, var33
); /* Direct call modelbuilder_base$ModelBuilder$error on <var_modelbuilder:ModelBuilder>*/