1 #include "pkgconfig.sep.0.h"
2 /* method pkgconfig#ToolContext#pkgconfig_phase for (self: ToolContext): Phase */
3 val
* pkgconfig__ToolContext__pkgconfig_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_pkgconfig__ToolContext___64dpkgconfig_phase
].val
; /* @pkgconfig_phase on <self:ToolContext> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @pkgconfig_phase");
9 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/pkgconfig.nit", 24);
16 /* method pkgconfig#ToolContext#pkgconfig_phase for (self: Object): Phase */
17 val
* VIRTUAL_pkgconfig__ToolContext__pkgconfig_phase(val
* self
) {
18 val
* var
/* : Phase */;
19 val
* var1
/* : Phase */;
20 var1
= pkgconfig__ToolContext__pkgconfig_phase(self
);
25 /* method pkgconfig#ToolContext#pkgconfig_phase= for (self: ToolContext, Phase) */
26 void pkgconfig__ToolContext__pkgconfig_phase_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_pkgconfig__ToolContext___64dpkgconfig_phase
].val
= p0
; /* @pkgconfig_phase on <self:ToolContext> */
30 /* method pkgconfig#ToolContext#pkgconfig_phase= for (self: Object, Phase) */
31 void VIRTUAL_pkgconfig__ToolContext__pkgconfig_phase_61d(val
* self
, val
* p0
) {
32 pkgconfig__ToolContext__pkgconfig_phase_61d(self
, p0
);
35 /* method pkgconfig#PkgconfigPhase#process_annotated_node for (self: PkgconfigPhase, ANode, AAnnotation) */
36 void pkgconfig__PkgconfigPhase__process_annotated_node(val
* self
, val
* p0
, val
* p1
) {
37 val
* var_nmoduledecl
/* var nmoduledecl: ANode */;
38 val
* var_nat
/* var nat: AAnnotation */;
39 val
* var
/* : AAtid */;
40 val
* var1
/* : Token */;
41 val
* var2
/* : String */;
43 val
* var3
/* : String */;
44 char* var4
/* : NativeString */;
45 long var5
/* : Int */;
46 val
* var6
/* : String */;
47 short int var7
/* : Bool */;
48 val
* var8
/* : ToolContext */;
49 val
* var9
/* : ModelBuilder */;
50 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
51 short int var10
/* : Bool */;
54 short int var11
/* : Bool */;
55 static val
* varonce12
;
56 val
* var13
/* : String */;
57 char* var14
/* : NativeString */;
58 long var15
/* : Int */;
59 val
* var16
/* : String */;
60 val
* var17
/* : ANodes[AAtArg] */;
61 val
* var_args
/* var args: ANodes[AAtArg] */;
62 short int var18
/* : Bool */;
63 static val
* varonce19
;
64 val
* var20
/* : String */;
65 char* var21
/* : NativeString */;
66 long var22
/* : Int */;
67 val
* var23
/* : String */;
68 val
* var24
/* : Array[String] */;
69 val
* var_pkgs
/* var pkgs: Array[String] */;
70 val
* var25
/* : Iterator[nullable Object] */;
71 short int var26
/* : Bool */;
72 val
* var27
/* : nullable Object */;
73 val
* var_arg
/* var arg: AAtArg */;
74 short int var28
/* : Bool */;
77 short int var31
/* : Bool */;
78 static val
* varonce32
;
79 val
* var33
/* : String */;
80 char* var34
/* : NativeString */;
81 long var35
/* : Int */;
82 val
* var36
/* : String */;
83 val
* var37
/* : AExpr */;
84 val
* var_expr
/* var expr: AExpr */;
85 short int var38
/* : Bool */;
88 short int var41
/* : Bool */;
89 static val
* varonce42
;
90 val
* var43
/* : String */;
91 char* var44
/* : NativeString */;
92 long var45
/* : Int */;
93 val
* var46
/* : String */;
94 val
* var47
/* : String */;
95 val
* var_pkg
/* var pkg: String */;
96 long var48
/* : Int */;
97 long var49
/* : Int */;
98 long var50
/* : Int */;
99 long var51
/* : Int */;
100 long var53
/* : Int */;
101 val
* var54
/* : String */;
102 val
* var55
/* : nullable ANode */;
103 short int var56
/* : Bool */;
106 const char* var_class_name
;
107 val
* var_nmodule
/* var nmodule: AModule */;
108 val
* var59
/* : IProcess */;
109 static val
* varonce60
;
110 val
* var61
/* : String */;
111 char* var62
/* : NativeString */;
112 long var63
/* : Int */;
113 val
* var64
/* : String */;
114 static val
* varonce65
;
115 val
* var66
/* : String */;
116 char* var67
/* : NativeString */;
117 long var68
/* : Int */;
118 val
* var69
/* : String */;
119 val
* var70
/* : Array[String] */;
120 long var71
/* : Int */;
121 val
* var72
/* : NativeArray[String] */;
122 val
* var_proc_which
/* var proc_which: IProcess */;
123 long var73
/* : Int */;
124 long var_status
/* var status: Int */;
125 long var74
/* : Int */;
126 short int var75
/* : Bool */;
127 short int var77
/* : Bool */;
128 short int var78
/* : Bool */;
129 static val
* varonce79
;
130 val
* var80
/* : String */;
131 char* var81
/* : NativeString */;
132 long var82
/* : Int */;
133 val
* var83
/* : String */;
134 val
* var84
/* : Iterator[nullable Object] */;
135 short int var85
/* : Bool */;
136 val
* var86
/* : nullable Object */;
137 val
* var_pkg87
/* var pkg: String */;
138 val
* var88
/* : Process */;
139 static val
* varonce89
;
140 val
* var90
/* : String */;
141 char* var91
/* : NativeString */;
142 long var92
/* : Int */;
143 val
* var93
/* : String */;
144 static val
* varonce94
;
145 val
* var95
/* : String */;
146 char* var96
/* : NativeString */;
147 long var97
/* : Int */;
148 val
* var98
/* : String */;
149 val
* var99
/* : Array[String] */;
150 long var100
/* : Int */;
151 val
* var101
/* : NativeArray[String] */;
152 val
* var_proc_exist
/* var proc_exist: Process */;
153 long var102
/* : Int */;
154 long var103
/* : Int */;
155 short int var104
/* : Bool */;
156 short int var106
/* : Bool */;
157 static val
* varonce107
;
158 val
* var108
/* : String */;
159 char* var109
/* : NativeString */;
160 long var110
/* : Int */;
161 val
* var111
/* : String */;
162 static val
* varonce112
;
163 val
* var113
/* : String */;
164 char* var114
/* : NativeString */;
165 long var115
/* : Int */;
166 val
* var116
/* : String */;
167 val
* var117
/* : Array[Object] */;
168 long var118
/* : Int */;
169 val
* var119
/* : NativeArray[Object] */;
170 val
* var120
/* : String */;
171 long var121
/* : Int */;
172 short int var122
/* : Bool */;
173 short int var124
/* : Bool */;
174 short int var125
/* : Bool */;
175 static val
* varonce126
;
176 val
* var127
/* : String */;
177 char* var128
/* : NativeString */;
178 long var129
/* : Int */;
179 val
* var130
/* : String */;
180 val
* var131
/* : IProcess */;
181 static val
* varonce132
;
182 val
* var133
/* : String */;
183 char* var134
/* : NativeString */;
184 long var135
/* : Int */;
185 val
* var136
/* : String */;
186 static val
* varonce137
;
187 val
* var138
/* : String */;
188 char* var139
/* : NativeString */;
189 long var140
/* : Int */;
190 val
* var141
/* : String */;
191 val
* var142
/* : Array[String] */;
192 long var143
/* : Int */;
193 val
* var144
/* : NativeArray[String] */;
194 val
* var_proc
/* var proc: IProcess */;
195 val
* var145
/* : String */;
196 val
* var_compiler_opts
/* var compiler_opts: String */;
197 val
* var146
/* : String */;
198 static val
* varonce147
;
199 val
* var148
/* : String */;
200 char* var149
/* : NativeString */;
201 long var150
/* : Int */;
202 val
* var151
/* : String */;
203 static val
* varonce152
;
204 val
* var153
/* : String */;
205 char* var154
/* : NativeString */;
206 long var155
/* : Int */;
207 val
* var156
/* : String */;
208 static val
* varonce157
;
209 val
* var158
/* : String */;
210 char* var159
/* : NativeString */;
211 long var160
/* : Int */;
212 val
* var161
/* : String */;
213 val
* var162
/* : String */;
214 val
* var163
/* : Array[Object] */;
215 long var164
/* : Int */;
216 val
* var165
/* : NativeArray[Object] */;
217 val
* var166
/* : String */;
218 val
* var167
/* : IProcess */;
219 static val
* varonce168
;
220 val
* var169
/* : String */;
221 char* var170
/* : NativeString */;
222 long var171
/* : Int */;
223 val
* var172
/* : String */;
224 static val
* varonce173
;
225 val
* var174
/* : String */;
226 char* var175
/* : NativeString */;
227 long var176
/* : Int */;
228 val
* var177
/* : String */;
229 val
* var178
/* : Array[String] */;
230 long var179
/* : Int */;
231 val
* var180
/* : NativeArray[String] */;
232 val
* var181
/* : String */;
233 val
* var_linker_opts
/* var linker_opts: String */;
234 val
* var182
/* : String */;
235 static val
* varonce183
;
236 val
* var184
/* : String */;
237 char* var185
/* : NativeString */;
238 long var186
/* : Int */;
239 val
* var187
/* : String */;
240 static val
* varonce188
;
241 val
* var189
/* : String */;
242 char* var190
/* : NativeString */;
243 long var191
/* : Int */;
244 val
* var192
/* : String */;
245 static val
* varonce193
;
246 val
* var194
/* : String */;
247 char* var195
/* : NativeString */;
248 long var196
/* : Int */;
249 val
* var197
/* : String */;
250 val
* var198
/* : String */;
251 val
* var199
/* : Array[Object] */;
252 long var200
/* : Int */;
253 val
* var201
/* : NativeArray[Object] */;
254 val
* var202
/* : String */;
255 var_nmoduledecl
= p0
;
257 var
= ((val
* (*)(val
*))(var_nat
->class->vft
[COLOR_parser_nodes__AAnnotation__n_atid
]))(var_nat
) /* n_atid on <var_nat:AAnnotation>*/;
258 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_parser_nodes__AAtid__n_id
]))(var
) /* n_id on <var:AAtid>*/;
259 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__Token__text
]))(var1
) /* text on <var1:Token>*/;
265 var6
= string__NativeString__to_s_with_length(var4
, var5
);
269 var7
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var2
, var3
) /* != on <var2:String>*/;
274 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_phase__Phase__toolcontext
]))(self
) /* toolcontext on <self:PkgconfigPhase>*/;
275 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder
]))(var8
) /* modelbuilder on <var8:ToolContext>*/;
276 var_modelbuilder
= var9
;
277 /* <var_nmoduledecl:ANode> isa AModuledecl */
278 cltype
= type_parser_nodes__AModuledecl
.color
;
279 idtype
= type_parser_nodes__AModuledecl
.id
;
280 if(cltype
>= var_nmoduledecl
->type
->table_size
) {
283 var10
= var_nmoduledecl
->type
->type_table
[cltype
] == idtype
;
290 var14
= "Syntax error: only the declaration of modules may use \"pkgconfig\".";
292 var16
= string__NativeString__to_s_with_length(var14
, var15
);
296 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nat
, var13
) /* error on <var_modelbuilder:ModelBuilder>*/;
300 var17
= ((val
* (*)(val
*))(var_nat
->class->vft
[COLOR_parser_nodes__AAnnotation__n_args
]))(var_nat
) /* n_args on <var_nat:AAnnotation>*/;
302 var18
= ((short int (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_args
) /* is_empty on <var_args:ANodes[AAtArg]>*/;
307 var21
= "Syntax error: \"pkgconfig\" expects at least one argument.";
309 var23
= string__NativeString__to_s_with_length(var21
, var22
);
313 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nat
, var20
) /* error on <var_modelbuilder:ModelBuilder>*/;
317 var24
= NEW_array__Array(&type_array__Arraystring__String
);
318 ((void (*)(val
*))(var24
->class->vft
[COLOR_array__Array__init
]))(var24
) /* init on <var24:Array[String]>*/;
320 var25
= ((val
* (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_args
) /* iterator on <var_args:ANodes[AAtArg]>*/;
322 var26
= ((short int (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var25
) /* is_ok on <var25:Iterator[nullable Object]>*/;
324 var27
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var25
) /* item on <var25:Iterator[nullable Object]>*/;
326 /* <var_arg:AAtArg> isa AExprAtArg */
327 cltype29
= type_parser_nodes__AExprAtArg
.color
;
328 idtype30
= type_parser_nodes__AExprAtArg
.id
;
329 if(cltype29
>= var_arg
->type
->table_size
) {
332 var28
= var_arg
->type
->type_table
[cltype29
] == idtype30
;
339 var34
= "Syntax error: \"pkgconfig\" expects its arguments to be the name of the package as String literals.";
341 var36
= string__NativeString__to_s_with_length(var34
, var35
);
345 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nat
, var33
) /* error on <var_modelbuilder:ModelBuilder>*/;
349 var37
= ((val
* (*)(val
*))(var_arg
->class->vft
[COLOR_parser_nodes__AExprAtArg__n_expr
]))(var_arg
) /* n_expr on <var_arg:AAtArg(AExprAtArg)>*/;
351 /* <var_expr:AExpr> isa AStringFormExpr */
352 cltype39
= type_parser_nodes__AStringFormExpr
.color
;
353 idtype40
= type_parser_nodes__AStringFormExpr
.id
;
354 if(cltype39
>= var_expr
->type
->table_size
) {
357 var38
= var_expr
->type
->type_table
[cltype39
] == idtype40
;
364 var44
= "Syntax error: \"pkgconfig\" expects its arguments to be the name of the package as String literals.";
366 var46
= string__NativeString__to_s_with_length(var44
, var45
);
370 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nat
, var43
) /* error on <var_modelbuilder:ModelBuilder>*/;
374 var47
= ((val
* (*)(val
*))(var_expr
->class->vft
[COLOR_modelize_property__Prod__collect_text
]))(var_expr
) /* collect_text on <var_expr:AExpr(AStringFormExpr)>*/;
377 var49
= ((long (*)(val
*))(var_pkg
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_pkg
) /* length on <var_pkg:String>*/;
379 { /* Inline kernel#Int#- (var49,var50) */
380 var53
= var49
- var50
;
385 var54
= ((val
* (*)(val
*, long, long))(var_pkg
->class->vft
[COLOR_string__AbstractString__substring
]))(var_pkg
, var48
, var51
) /* substring on <var_pkg:String>*/;
387 ((void (*)(val
*, val
*))(var_pkgs
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_pkgs
, var_pkg
) /* add on <var_pkgs:Array[String]>*/;
388 CONTINUE_label
: (void)0;
389 ((void (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var25
) /* next on <var25:Iterator[nullable Object]>*/;
391 BREAK_label
: (void)0;
392 var55
= ((val
* (*)(val
*))(var_nmoduledecl
->class->vft
[COLOR_parser_nodes__ANode__parent
]))(var_nmoduledecl
) /* parent on <var_nmoduledecl:ANode(AModuledecl)>*/;
393 /* <var55:nullable ANode> isa AModule */
394 cltype57
= type_parser_nodes__AModule
.color
;
395 idtype58
= type_parser_nodes__AModule
.id
;
399 if(cltype57
>= var55
->type
->table_size
) {
402 var56
= var55
->type
->type_table
[cltype57
] == idtype58
;
406 var_class_name
= var55
== NULL ?
"null" : var55
->type
->name
;
407 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AModule", var_class_name
);
408 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/pkgconfig.nit", 69);
412 var59
= NEW_exec__IProcess(&type_exec__IProcess
);
418 var64
= string__NativeString__to_s_with_length(var62
, var63
);
425 var67
= "pkg-config";
427 var69
= string__NativeString__to_s_with_length(var67
, var68
);
431 var70
= NEW_array__Array(&type_array__Arraystring__String
);
432 { /* var70 = array_instance Array[String] */
434 var72
= NEW_array__NativeArray(var71
, &type_array__NativeArraystring__String
);
435 ((struct instance_array__NativeArray
*)var72
)->values
[0] = (val
*) var66
;
436 ((void (*)(val
*, val
*, long))(var70
->class->vft
[COLOR_array__Array__with_native
]))(var70
, var72
, var71
) /* with_native on <var70:Array[String]>*/;
438 ((void (*)(val
*, val
*, val
*))(var59
->class->vft
[COLOR_exec__IProcess__init
]))(var59
, var61
, var70
) /* init on <var59:IProcess>*/;
439 var_proc_which
= var59
;
440 ((void (*)(val
*))(var_proc_which
->class->vft
[COLOR_exec__Process__wait
]))(var_proc_which
) /* wait on <var_proc_which:IProcess>*/;
441 var73
= ((long (*)(val
*))(var_proc_which
->class->vft
[COLOR_exec__Process__status
]))(var_proc_which
) /* status on <var_proc_which:IProcess>*/;
444 { /* Inline kernel#Int#!= (var_status,var74) */
445 var77
= var_status
== var74
;
455 var81
= "Error: program pkg-config not found, make sure it is installed.";
457 var83
= string__NativeString__to_s_with_length(var81
, var82
);
461 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nat
, var80
) /* error on <var_modelbuilder:ModelBuilder>*/;
465 var84
= ((val
* (*)(val
*))(var_pkgs
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_pkgs
) /* iterator on <var_pkgs:Array[String]>*/;
467 var85
= ((short int (*)(val
*))(var84
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var84
) /* is_ok on <var84:Iterator[nullable Object]>*/;
469 var86
= ((val
* (*)(val
*))(var84
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var84
) /* item on <var84:Iterator[nullable Object]>*/;
471 var88
= NEW_exec__Process(&type_exec__Process
);
475 var91
= "pkg-config";
477 var93
= string__NativeString__to_s_with_length(var91
, var92
);
486 var98
= string__NativeString__to_s_with_length(var96
, var97
);
490 var99
= NEW_array__Array(&type_array__Arraystring__String
);
491 { /* var99 = array_instance Array[String] */
493 var101
= NEW_array__NativeArray(var100
, &type_array__NativeArraystring__String
);
494 ((struct instance_array__NativeArray
*)var101
)->values
[0] = (val
*) var95
;
495 ((struct instance_array__NativeArray
*)var101
)->values
[1] = (val
*) var_pkg87
;
496 ((void (*)(val
*, val
*, long))(var99
->class->vft
[COLOR_array__Array__with_native
]))(var99
, var101
, var100
) /* with_native on <var99:Array[String]>*/;
498 ((void (*)(val
*, val
*, val
*))(var88
->class->vft
[COLOR_exec__Process__init
]))(var88
, var90
, var99
) /* init on <var88:Process>*/;
499 var_proc_exist
= var88
;
500 ((void (*)(val
*))(var_proc_exist
->class->vft
[COLOR_exec__Process__wait
]))(var_proc_exist
) /* wait on <var_proc_exist:Process>*/;
501 var102
= ((long (*)(val
*))(var_proc_exist
->class->vft
[COLOR_exec__Process__status
]))(var_proc_exist
) /* status on <var_proc_exist:Process>*/;
504 { /* Inline kernel#Int#== (var_status,var103) */
505 var106
= var_status
== var103
;
508 RET_LABEL105
:(void)0;
514 var109
= "Error: package \"";
516 var111
= string__NativeString__to_s_with_length(var109
, var110
);
523 var114
= "\" unknown by pkg-config, make sure the development package is be installed.";
525 var116
= string__NativeString__to_s_with_length(var114
, var115
);
529 var117
= NEW_array__Array(&type_array__Arraykernel__Object
);
530 { /* var117 = array_instance Array[Object] */
532 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArraykernel__Object
);
533 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var108
;
534 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var_pkg87
;
535 ((struct instance_array__NativeArray
*)var119
)->values
[2] = (val
*) var113
;
536 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[Object]>*/;
538 var120
= ((val
* (*)(val
*))(var117
->class->vft
[COLOR_string__Object__to_s
]))(var117
) /* to_s on <var117:Array[Object]>*/;
539 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nat
, var120
) /* error on <var_modelbuilder:ModelBuilder>*/;
543 { /* Inline kernel#Int#!= (var_status,var121) */
544 var124
= var_status
== var121
;
548 RET_LABEL123
:(void)0;
554 var128
= "Error: something went wrong calling pkg-config, make sure it is correctly installed.";
556 var130
= string__NativeString__to_s_with_length(var128
, var129
);
560 ((void (*)(val
*, val
*, val
*))(var_modelbuilder
->class->vft
[COLOR_modelbuilder__ModelBuilder__error
]))(var_modelbuilder
, var_nat
, var127
) /* error on <var_modelbuilder:ModelBuilder>*/;
565 var131
= NEW_exec__IProcess(&type_exec__IProcess
);
569 var134
= "pkg-config";
571 var136
= string__NativeString__to_s_with_length(var134
, var135
);
580 var141
= string__NativeString__to_s_with_length(var139
, var140
);
584 var142
= NEW_array__Array(&type_array__Arraystring__String
);
585 { /* var142 = array_instance Array[String] */
587 var144
= NEW_array__NativeArray(var143
, &type_array__NativeArraystring__String
);
588 ((struct instance_array__NativeArray
*)var144
)->values
[0] = (val
*) var138
;
589 ((struct instance_array__NativeArray
*)var144
)->values
[1] = (val
*) var_pkg87
;
590 ((void (*)(val
*, val
*, long))(var142
->class->vft
[COLOR_array__Array__with_native
]))(var142
, var144
, var143
) /* with_native on <var142:Array[String]>*/;
592 ((void (*)(val
*, val
*, val
*))(var131
->class->vft
[COLOR_exec__IProcess__init
]))(var131
, var133
, var142
) /* init on <var131:IProcess>*/;
594 var145
= ((val
* (*)(val
*))(var_proc
->class->vft
[COLOR_stream__IStream__read_all
]))(var_proc
) /* read_all on <var_proc:IProcess>*/;
595 var_compiler_opts
= var145
;
596 var146
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_c__AModule__c_compiler_options
]))(var_nmodule
) /* c_compiler_options on <var_nmodule:AModule>*/;
602 var151
= string__NativeString__to_s_with_length(var149
, var150
);
611 var156
= string__NativeString__to_s_with_length(var154
, var155
);
620 var161
= string__NativeString__to_s_with_length(var159
, var160
);
624 var162
= ((val
* (*)(val
*, val
*, val
*))(var_compiler_opts
->class->vft
[COLOR_string_search__String__replace
]))(var_compiler_opts
, var153
, var158
) /* replace on <var_compiler_opts:String>*/;
625 var163
= NEW_array__Array(&type_array__Arraykernel__Object
);
626 { /* var163 = array_instance Array[Object] */
628 var165
= NEW_array__NativeArray(var164
, &type_array__NativeArraykernel__Object
);
629 ((struct instance_array__NativeArray
*)var165
)->values
[0] = (val
*) var146
;
630 ((struct instance_array__NativeArray
*)var165
)->values
[1] = (val
*) var148
;
631 ((struct instance_array__NativeArray
*)var165
)->values
[2] = (val
*) var162
;
632 ((void (*)(val
*, val
*, long))(var163
->class->vft
[COLOR_array__Array__with_native
]))(var163
, var165
, var164
) /* with_native on <var163:Array[Object]>*/;
634 var166
= ((val
* (*)(val
*))(var163
->class->vft
[COLOR_string__Object__to_s
]))(var163
) /* to_s on <var163:Array[Object]>*/;
635 ((void (*)(val
*, val
*))(var_nmodule
->class->vft
[COLOR_c__AModule__c_compiler_options_61d
]))(var_nmodule
, var166
) /* c_compiler_options= on <var_nmodule:AModule>*/;
636 var167
= NEW_exec__IProcess(&type_exec__IProcess
);
640 var170
= "pkg-config";
642 var172
= string__NativeString__to_s_with_length(var170
, var171
);
651 var177
= string__NativeString__to_s_with_length(var175
, var176
);
655 var178
= NEW_array__Array(&type_array__Arraystring__String
);
656 { /* var178 = array_instance Array[String] */
658 var180
= NEW_array__NativeArray(var179
, &type_array__NativeArraystring__String
);
659 ((struct instance_array__NativeArray
*)var180
)->values
[0] = (val
*) var174
;
660 ((struct instance_array__NativeArray
*)var180
)->values
[1] = (val
*) var_pkg87
;
661 ((void (*)(val
*, val
*, long))(var178
->class->vft
[COLOR_array__Array__with_native
]))(var178
, var180
, var179
) /* with_native on <var178:Array[String]>*/;
663 ((void (*)(val
*, val
*, val
*))(var167
->class->vft
[COLOR_exec__IProcess__init
]))(var167
, var169
, var178
) /* init on <var167:IProcess>*/;
665 var181
= ((val
* (*)(val
*))(var_proc
->class->vft
[COLOR_stream__IStream__read_all
]))(var_proc
) /* read_all on <var_proc:IProcess>*/;
666 var_linker_opts
= var181
;
667 var182
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_c__AModule__c_linker_options
]))(var_nmodule
) /* c_linker_options on <var_nmodule:AModule>*/;
673 var187
= string__NativeString__to_s_with_length(var185
, var186
);
682 var192
= string__NativeString__to_s_with_length(var190
, var191
);
691 var197
= string__NativeString__to_s_with_length(var195
, var196
);
695 var198
= ((val
* (*)(val
*, val
*, val
*))(var_linker_opts
->class->vft
[COLOR_string_search__String__replace
]))(var_linker_opts
, var189
, var194
) /* replace on <var_linker_opts:String>*/;
696 var199
= NEW_array__Array(&type_array__Arraykernel__Object
);
697 { /* var199 = array_instance Array[Object] */
699 var201
= NEW_array__NativeArray(var200
, &type_array__NativeArraykernel__Object
);
700 ((struct instance_array__NativeArray
*)var201
)->values
[0] = (val
*) var182
;
701 ((struct instance_array__NativeArray
*)var201
)->values
[1] = (val
*) var184
;
702 ((struct instance_array__NativeArray
*)var201
)->values
[2] = (val
*) var198
;
703 ((void (*)(val
*, val
*, long))(var199
->class->vft
[COLOR_array__Array__with_native
]))(var199
, var201
, var200
) /* with_native on <var199:Array[Object]>*/;
705 var202
= ((val
* (*)(val
*))(var199
->class->vft
[COLOR_string__Object__to_s
]))(var199
) /* to_s on <var199:Array[Object]>*/;
706 ((void (*)(val
*, val
*))(var_nmodule
->class->vft
[COLOR_c__AModule__c_linker_options_61d
]))(var_nmodule
, var202
) /* c_linker_options= on <var_nmodule:AModule>*/;
707 CONTINUE_label203
: (void)0;
708 ((void (*)(val
*))(var84
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var84
) /* next on <var84:Iterator[nullable Object]>*/;
710 BREAK_label203
: (void)0;
713 /* method pkgconfig#PkgconfigPhase#process_annotated_node for (self: Object, ANode, AAnnotation) */
714 void VIRTUAL_pkgconfig__PkgconfigPhase__process_annotated_node(val
* self
, val
* p0
, val
* p1
) {
715 pkgconfig__PkgconfigPhase__process_annotated_node(self
, p0
, p1
);