1 #include "header_dependency.sep.0.h"
2 /* method header_dependency#ToolContext#header_dependancy_phase for (self: ToolContext): Phase */
3 val
* header_dependency__ToolContext__header_dependancy_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_header_dependency__ToolContext___64dheader_dependancy_phase
].val
; /* @header_dependancy_phase on <self:ToolContext> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @header_dependancy_phase");
9 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/header_dependency.nit", 25);
16 /* method header_dependency#ToolContext#header_dependancy_phase for (self: Object): Phase */
17 val
* VIRTUAL_header_dependency__ToolContext__header_dependancy_phase(val
* self
) {
18 val
* var
/* : Phase */;
19 val
* var1
/* : Phase */;
20 var1
= header_dependency__ToolContext__header_dependancy_phase(self
);
25 /* method header_dependency#ToolContext#header_dependancy_phase= for (self: ToolContext, Phase) */
26 void header_dependency__ToolContext__header_dependancy_phase_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_header_dependency__ToolContext___64dheader_dependancy_phase
].val
= p0
; /* @header_dependancy_phase on <self:ToolContext> */
30 /* method header_dependency#ToolContext#header_dependancy_phase= for (self: Object, Phase) */
31 void VIRTUAL_header_dependency__ToolContext__header_dependancy_phase_61d(val
* self
, val
* p0
) {
32 header_dependency__ToolContext__header_dependancy_phase_61d(self
, p0
);
35 /* method header_dependency#AModule#has_public_c_header for (self: AModule): Bool */
36 short int header_dependency__AModule__has_public_c_header(val
* self
) {
37 short int var
/* : Bool */;
38 val
* var1
/* : ANodes[AExternCodeBlock] */;
39 val
* var2
/* : Iterator[nullable Object] */;
40 short int var3
/* : Bool */;
41 val
* var4
/* : nullable Object */;
42 val
* var_code_block
/* var code_block: AExternCodeBlock */;
43 short int var5
/* : Bool */;
44 short int var6
/* : Bool */;
45 short int var7
/* : Bool */;
46 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AModule__n_extern_code_blocks
]))(self
) /* n_extern_code_blocks on <self:AModule>*/;
47 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var1
) /* iterator on <var1:ANodes[AExternCodeBlock]>*/;
49 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
51 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
52 var_code_block
= var4
;
53 var5
= ((short int (*)(val
*))(var_code_block
->class->vft
[COLOR_c__AExternCodeBlock__is_c_header
]))(var_code_block
) /* is_c_header on <var_code_block:AExternCodeBlock>*/;
60 CONTINUE_label
: (void)0;
61 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
70 /* method header_dependency#AModule#has_public_c_header for (self: Object): Bool */
71 short int VIRTUAL_header_dependency__AModule__has_public_c_header(val
* self
) {
72 short int var
/* : Bool */;
73 short int var1
/* : Bool */;
74 var1
= header_dependency__AModule__has_public_c_header(self
);
79 /* method header_dependency#MModule#header_dependencies_cache for (self: MModule): nullable Array[MModule] */
80 val
* header_dependency__MModule__header_dependencies_cache(val
* self
) {
81 val
* var
/* : nullable Array[MModule] */;
82 val
* var1
/* : nullable Array[MModule] */;
83 var1
= self
->attrs
[COLOR_header_dependency__MModule___64dheader_dependencies_cache
].val
; /* @header_dependencies_cache on <self:MModule> */
88 /* method header_dependency#MModule#header_dependencies_cache for (self: Object): nullable Array[MModule] */
89 val
* VIRTUAL_header_dependency__MModule__header_dependencies_cache(val
* self
) {
90 val
* var
/* : nullable Array[MModule] */;
91 val
* var1
/* : nullable Array[MModule] */;
92 var1
= header_dependency__MModule__header_dependencies_cache(self
);
97 /* method header_dependency#MModule#header_dependencies_cache= for (self: MModule, nullable Array[MModule]) */
98 void header_dependency__MModule__header_dependencies_cache_61d(val
* self
, val
* p0
) {
99 self
->attrs
[COLOR_header_dependency__MModule___64dheader_dependencies_cache
].val
= p0
; /* @header_dependencies_cache on <self:MModule> */
102 /* method header_dependency#MModule#header_dependencies_cache= for (self: Object, nullable Array[MModule]) */
103 void VIRTUAL_header_dependency__MModule__header_dependencies_cache_61d(val
* self
, val
* p0
) {
104 header_dependency__MModule__header_dependencies_cache_61d(self
, p0
);
107 /* method header_dependency#MModule#header_dependencies for (self: MModule): Array[MModule] */
108 val
* header_dependency__MModule__header_dependencies(val
* self
) {
109 val
* var
/* : Array[MModule] */;
110 val
* var1
/* : nullable Array[MModule] */;
111 val
* var_cache
/* var cache: nullable Array[MModule] */;
112 val
* var2
/* : null */;
113 short int var3
/* : Bool */;
114 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_header_dependency__MModule__header_dependencies_cache
]))(self
) /* header_dependencies_cache on <self:MModule>*/;
117 if (var_cache
== NULL
) {
118 var3
= 0; /* is null */
120 var3
= 1; /* arg is null and recv is not */
123 fprintf(stderr
, "Runtime error: %s", "Assert failed");
124 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/header_dependency.nit", 40);
132 /* method header_dependency#MModule#header_dependencies for (self: Object): Array[MModule] */
133 val
* VIRTUAL_header_dependency__MModule__header_dependencies(val
* self
) {
134 val
* var
/* : Array[MModule] */;
135 val
* var1
/* : Array[MModule] */;
136 var1
= header_dependency__MModule__header_dependencies(self
);
141 /* method header_dependency#MModule#compute_header_dependencies for (self: MModule, HeaderDependancyPhase) */
142 void header_dependency__MModule__compute_header_dependencies(val
* self
, val
* p0
) {
143 val
* var_v
/* var v: HeaderDependancyPhase */;
144 val
* var
/* : nullable Array[MModule] */;
145 val
* var1
/* : null */;
146 short int var2
/* : Bool */;
147 val
* var3
/* : Array[MModule] */;
148 val
* var_header_dependencies
/* var header_dependencies: Array[MModule] */;
149 val
* var4
/* : POSetElement[MModule] */;
150 val
* var5
/* : Collection[Object] */;
151 val
* var6
/* : Iterator[nullable Object] */;
152 short int var7
/* : Bool */;
153 val
* var8
/* : nullable Object */;
154 val
* var_m
/* var m: MModule */;
155 val
* var9
/* : Array[MModule] */;
156 val
* var_hd
/* var hd: Array[MModule] */;
157 short int var10
/* : Bool */;
158 short int var11
/* : Bool */;
159 val
* var12
/* : ToolContext */;
160 val
* var13
/* : ModelBuilder */;
161 val
* var14
/* : HashMap[MModule, AModule] */;
162 val
* var15
/* : nullable Object */;
163 val
* var_amodule
/* var amodule: AModule */;
164 short int var16
/* : Bool */;
166 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_header_dependency__MModule__header_dependencies_cache
]))(self
) /* header_dependencies_cache on <self:MModule>*/;
169 var2
= 0; /* is null */
171 var2
= 1; /* arg is null and recv is not */
177 var3
= NEW_array__Array(&type_array__Arraymmodule__MModule
);
178 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[MModule]>*/;
179 var_header_dependencies
= var3
;
180 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_mmodule__MModule__in_importation
]))(self
) /* in_importation on <self:MModule>*/;
181 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_poset__POSetElement__direct_greaters
]))(var4
) /* direct_greaters on <var4:POSetElement[MModule]>*/;
182 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var5
) /* iterator on <var5:Collection[Object](Collection[MModule])>*/;
184 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
186 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
188 ((void (*)(val
*, val
*))(var_m
->class->vft
[COLOR_header_dependency__MModule__compute_header_dependencies
]))(var_m
, var_v
) /* compute_header_dependencies on <var_m:MModule>*/;
189 var9
= ((val
* (*)(val
*))(var_m
->class->vft
[COLOR_header_dependency__MModule__header_dependencies
]))(var_m
) /* header_dependencies on <var_m:MModule>*/;
191 var10
= ((short int (*)(val
*))(var_hd
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_hd
) /* is_empty on <var_hd:Array[MModule]>*/;
194 ((void (*)(val
*, val
*))(var_header_dependencies
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_header_dependencies
, var_hd
) /* add_all on <var_header_dependencies:Array[MModule]>*/;
197 var12
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_phase__Phase__toolcontext
]))(var_v
) /* toolcontext on <var_v:HeaderDependancyPhase>*/;
198 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder
]))(var12
) /* modelbuilder on <var12:ToolContext>*/;
199 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_modelbuilder__ModelBuilder__mmodule2nmodule
]))(var13
) /* mmodule2nmodule on <var13:ModelBuilder>*/;
200 var15
= ((val
* (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var14
, var_m
) /* [] on <var14:HashMap[MModule, AModule]>*/;
202 var16
= ((short int (*)(val
*))(var_amodule
->class->vft
[COLOR_header_dependency__AModule__has_public_c_header
]))(var_amodule
) /* has_public_c_header on <var_amodule:AModule>*/;
204 ((void (*)(val
*, val
*))(var_header_dependencies
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_header_dependencies
, var_m
) /* add on <var_header_dependencies:Array[MModule]>*/;
207 CONTINUE_label
: (void)0;
208 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
210 BREAK_label
: (void)0;
211 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_header_dependency__MModule__header_dependencies_cache_61d
]))(self
, var_header_dependencies
) /* header_dependencies_cache= on <self:MModule>*/;
214 /* method header_dependency#MModule#compute_header_dependencies for (self: Object, HeaderDependancyPhase) */
215 void VIRTUAL_header_dependency__MModule__compute_header_dependencies(val
* self
, val
* p0
) {
216 header_dependency__MModule__compute_header_dependencies(self
, p0
);
219 /* method header_dependency#HeaderDependancyPhase#process_nmodule for (self: HeaderDependancyPhase, AModule) */
220 void header_dependency__HeaderDependancyPhase__process_nmodule(val
* self
, val
* p0
) {
221 val
* var_nmodule
/* var nmodule: AModule */;
222 val
* var
/* : nullable MModule */;
223 val
* var_mmodule
/* var mmodule: nullable MModule */;
225 var
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_nmodule
) /* mmodule on <var_nmodule:AModule>*/;
227 if (var_mmodule
== NULL
) {
228 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
229 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/header_dependency.nit", 75);
232 ((void (*)(val
*, val
*))(var_mmodule
->class->vft
[COLOR_header_dependency__MModule__compute_header_dependencies
]))(var_mmodule
, self
) /* compute_header_dependencies on <var_mmodule:nullable MModule>*/;
236 /* method header_dependency#HeaderDependancyPhase#process_nmodule for (self: Object, AModule) */
237 void VIRTUAL_header_dependency__HeaderDependancyPhase__process_nmodule(val
* self
, val
* p0
) {
238 header_dependency__HeaderDependancyPhase__process_nmodule(self
, p0
);