1 /* This C header file is generated by NIT to compile modules and programs that requires inheritance. */
2 #ifndef inheritance_sep
3 #define inheritance_sep
4 #include "static_type._sep.h"
5 #include <nit_common.h>
7 extern const classtable_elt_t VFT_MMImplicitLocalClass
[];
9 extern const classtable_elt_t VFT_MMRefineAncestor
[];
11 extern const classtable_elt_t VFT_MMSpecAncestor
[];
13 extern const classtable_elt_t VFT_MMDefaultAncestor
[];
14 extern const char *LOCATE_inheritance
;
15 extern const int SFT_inheritance
[];
16 #define CALL_inheritance___MMModule___type_any(recv) ((inheritance___MMModule___type_any_t)CALL((recv), (SFT_inheritance[0] + 0)))
17 #define CALL_inheritance___MMModule___import_global_classes(recv) ((inheritance___MMModule___import_global_classes_t)CALL((recv), (SFT_inheritance[0] + 1)))
18 #define CALL_inheritance___MMModule___import_local_classes(recv) ((inheritance___MMModule___import_local_classes_t)CALL((recv), (SFT_inheritance[0] + 2)))
19 #define ATTR_inheritance___MMLocalClass____direct_parents(recv) ATTR(recv, (SFT_inheritance[1] + 0))
20 #define ATTR_inheritance___MMLocalClass____computing_super(recv) ATTR(recv, (SFT_inheritance[1] + 1))
21 #define ATTR_inheritance___MMLocalClass____are_global_properties_inherited(recv) ATTR(recv, (SFT_inheritance[1] + 2))
22 #define CALL_inheritance___MMLocalClass___compute_super_classes(recv) ((inheritance___MMLocalClass___compute_super_classes_t)CALL((recv), (SFT_inheritance[2] + 0)))
23 #define CALL_inheritance___MMLocalClass___compute_ancestors(recv) ((inheritance___MMLocalClass___compute_ancestors_t)CALL((recv), (SFT_inheritance[2] + 1)))
24 #define CALL_inheritance___MMLocalClass___inherit_global_properties(recv) ((inheritance___MMLocalClass___inherit_global_properties_t)CALL((recv), (SFT_inheritance[2] + 2)))
25 #define CALL_inheritance___MMLocalClass___make_visible_an_inherited_global_property(recv) ((inheritance___MMLocalClass___make_visible_an_inherited_global_property_t)CALL((recv), (SFT_inheritance[2] + 3)))
26 #define CALL_inheritance___MMLocalClass___add_direct_parent(recv) ((inheritance___MMLocalClass___add_direct_parent_t)CALL((recv), (SFT_inheritance[2] + 4)))
27 #define CALL_inheritance___MMLocalClass___computed_super_classes(recv) ((inheritance___MMLocalClass___computed_super_classes_t)CALL((recv), (SFT_inheritance[2] + 5)))
28 #define CALL_inheritance___MMLocalClass___computed_ancestors(recv) ((inheritance___MMLocalClass___computed_ancestors_t)CALL((recv), (SFT_inheritance[2] + 6)))
29 #define CALL_inheritance___MMLocalClass___ancestor_for(recv) ((inheritance___MMLocalClass___ancestor_for_t)CALL((recv), (SFT_inheritance[2] + 7)))
30 #define CALL_inheritance___MMLocalClass___add_default_any_class(recv) ((inheritance___MMLocalClass___add_default_any_class_t)CALL((recv), (SFT_inheritance[2] + 8)))
31 #define CALL_inheritance___MMLocalClass___add_super_classes(recv) ((inheritance___MMLocalClass___add_super_classes_t)CALL((recv), (SFT_inheritance[2] + 9)))
32 #define CALL_inheritance___MMLocalClass___add_explicit_classes(recv) ((inheritance___MMLocalClass___add_explicit_classes_t)CALL((recv), (SFT_inheritance[2] + 10)))
33 #define CALL_inheritance___MMLocalClass___compute_super_parents(recv) ((inheritance___MMLocalClass___compute_super_parents_t)CALL((recv), (SFT_inheritance[2] + 11)))
34 #define CALL_inheritance___MMLocalClass___build_ancestors(recv) ((inheritance___MMLocalClass___build_ancestors_t)CALL((recv), (SFT_inheritance[2] + 12)))
35 #define CALL_inheritance___MMLocalClass___group_ancestors(recv) ((inheritance___MMLocalClass___group_ancestors_t)CALL((recv), (SFT_inheritance[2] + 13)))
36 #define CALL_inheritance___MMLocalClass___merge_ancestors(recv) ((inheritance___MMLocalClass___merge_ancestors_t)CALL((recv), (SFT_inheritance[2] + 14)))
37 #define CALL_inheritance___MMLocalClass___inherit_local_property(recv) ((inheritance___MMLocalClass___inherit_local_property_t)CALL((recv), (SFT_inheritance[2] + 15)))
38 #define CALL_inheritance___MMLocalProperty___inherit_global(recv) ((inheritance___MMLocalProperty___inherit_global_t)CALL((recv), (SFT_inheritance[3] + 0)))
39 #define CALL_inheritance___MMAncestor___add_in(recv) ((inheritance___MMAncestor___add_in_t)CALL((recv), (SFT_inheritance[4] + 0)))
40 #define ID_MMImplicitLocalClass (SFT_inheritance[5])
41 #define COLOR_MMImplicitLocalClass (SFT_inheritance[6])
42 #define INIT_TABLE_POS_MMImplicitLocalClass (SFT_inheritance[7] + 0)
43 #define CALL_inheritance___MMImplicitLocalClass___init(recv) ((inheritance___MMImplicitLocalClass___init_t)CALL((recv), (SFT_inheritance[7] + 1)))
44 #define ID_MMRefineAncestor (SFT_inheritance[8])
45 #define COLOR_MMRefineAncestor (SFT_inheritance[9])
46 #define ATTR_inheritance___MMRefineAncestor____local_class(recv) ATTR(recv, (SFT_inheritance[10] + 0))
47 #define INIT_TABLE_POS_MMRefineAncestor (SFT_inheritance[11] + 0)
48 #define CALL_inheritance___MMRefineAncestor___init(recv) ((inheritance___MMRefineAncestor___init_t)CALL((recv), (SFT_inheritance[11] + 1)))
49 #define ID_MMSpecAncestor (SFT_inheritance[12])
50 #define COLOR_MMSpecAncestor (SFT_inheritance[13])
51 #define INIT_TABLE_POS_MMSpecAncestor (SFT_inheritance[14] + 0)
52 #define CALL_inheritance___MMSpecAncestor___init(recv) ((inheritance___MMSpecAncestor___init_t)CALL((recv), (SFT_inheritance[14] + 1)))
53 #define ID_MMDefaultAncestor (SFT_inheritance[15])
54 #define COLOR_MMDefaultAncestor (SFT_inheritance[16])
55 #define INIT_TABLE_POS_MMDefaultAncestor (SFT_inheritance[17] + 0)
56 #define CALL_inheritance___MMDefaultAncestor___init(recv) ((inheritance___MMDefaultAncestor___init_t)CALL((recv), (SFT_inheritance[17] + 1)))
57 static const char * const LOCATE_inheritance___MMModule___type_any
= "inheritance::MMModule::type_any";
58 val_t
inheritance___MMModule___type_any(val_t p0
);
59 typedef val_t (*inheritance___MMModule___type_any_t
)(val_t p0
);
60 static const char * const LOCATE_inheritance___MMModule___import_global_classes
= "inheritance::MMModule::import_global_classes";
61 void inheritance___MMModule___import_global_classes(val_t p0
);
62 typedef void (*inheritance___MMModule___import_global_classes_t
)(val_t p0
);
63 void OC_inheritance___MMModule___import_global_classes_1(struct stack_frame_t
*closctx
, val_t p0
);
64 typedef void (*OC_inheritance___MMModule___import_global_classes_1_t
)(struct stack_frame_t
*closctx
, val_t p0
);
65 static const char * const LOCATE_inheritance___MMModule___import_local_classes
= "inheritance::MMModule::import_local_classes";
66 void inheritance___MMModule___import_local_classes(val_t p0
);
67 typedef void (*inheritance___MMModule___import_local_classes_t
)(val_t p0
);
68 typedef void (*CLOS_OC_inheritance___MMModule___import_local_classes_1_0
)(struct stack_frame_t
*);
69 void OC_inheritance___MMModule___import_local_classes_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
);
70 typedef void (*OC_inheritance___MMModule___import_local_classes_1_t
)(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
);
71 val_t
NEW_MMModule_abstractmetamodel___MMModule___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
);
72 static const char * const LOCATE_inheritance___MMLocalClass___compute_super_classes
= "inheritance::MMLocalClass::compute_super_classes";
73 void inheritance___MMLocalClass___compute_super_classes(val_t p0
);
74 typedef void (*inheritance___MMLocalClass___compute_super_classes_t
)(val_t p0
);
75 static const char * const LOCATE_inheritance___MMLocalClass___compute_ancestors
= "inheritance::MMLocalClass::compute_ancestors";
76 void inheritance___MMLocalClass___compute_ancestors(val_t p0
);
77 typedef void (*inheritance___MMLocalClass___compute_ancestors_t
)(val_t p0
);
78 typedef void (*CLOS_OC_inheritance___MMLocalClass___compute_ancestors_2_0
)(struct stack_frame_t
*);
79 void OC_inheritance___MMLocalClass___compute_ancestors_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
);
80 typedef void (*OC_inheritance___MMLocalClass___compute_ancestors_2_t
)(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
);
81 static const char * const LOCATE_inheritance___MMLocalClass___inherit_global_properties
= "inheritance::MMLocalClass::inherit_global_properties";
82 void inheritance___MMLocalClass___inherit_global_properties(val_t p0
);
83 typedef void (*inheritance___MMLocalClass___inherit_global_properties_t
)(val_t p0
);
84 void OC_inheritance___MMLocalClass___inherit_global_properties_2(struct stack_frame_t
*closctx
, val_t p0
);
85 typedef void (*OC_inheritance___MMLocalClass___inherit_global_properties_2_t
)(struct stack_frame_t
*closctx
, val_t p0
);
86 static const char * const LOCATE_inheritance___MMLocalClass___global_properties
= "inheritance::MMLocalClass::(abstractmetamodel::MMLocalClass::global_properties)";
87 val_t
inheritance___MMLocalClass___global_properties(val_t p0
);
88 typedef val_t (*inheritance___MMLocalClass___global_properties_t
)(val_t p0
);
89 static const char * const LOCATE_inheritance___MMLocalClass___has_global_property
= "inheritance::MMLocalClass::(abstractmetamodel::MMLocalClass::has_global_property)";
90 val_t
inheritance___MMLocalClass___has_global_property(val_t p0
, val_t p1
);
91 typedef val_t (*inheritance___MMLocalClass___has_global_property_t
)(val_t p0
, val_t p1
);
92 static const char * const LOCATE_inheritance___MMLocalClass___has_global_property_by_name
= "inheritance::MMLocalClass::(abstractmetamodel::MMLocalClass::has_global_property_by_name)";
93 val_t
inheritance___MMLocalClass___has_global_property_by_name(val_t p0
, val_t p1
);
94 typedef val_t (*inheritance___MMLocalClass___has_global_property_by_name_t
)(val_t p0
, val_t p1
);
95 static const char * const LOCATE_inheritance___MMLocalClass___make_visible_an_inherited_global_property
= "inheritance::MMLocalClass::make_visible_an_inherited_global_property";
96 void inheritance___MMLocalClass___make_visible_an_inherited_global_property(val_t p0
, val_t p1
);
97 typedef void (*inheritance___MMLocalClass___make_visible_an_inherited_global_property_t
)(val_t p0
, val_t p1
);
98 static const char * const LOCATE_inheritance___MMLocalClass___add_direct_parent
= "inheritance::MMLocalClass::add_direct_parent";
99 void inheritance___MMLocalClass___add_direct_parent(val_t p0
, val_t p1
);
100 typedef void (*inheritance___MMLocalClass___add_direct_parent_t
)(val_t p0
, val_t p1
);
101 static const char * const LOCATE_inheritance___MMLocalClass___computed_super_classes
= "inheritance::MMLocalClass::computed_super_classes";
102 val_t
inheritance___MMLocalClass___computed_super_classes(val_t p0
);
103 typedef val_t (*inheritance___MMLocalClass___computed_super_classes_t
)(val_t p0
);
104 static const char * const LOCATE_inheritance___MMLocalClass___computed_ancestors
= "inheritance::MMLocalClass::computed_ancestors";
105 val_t
inheritance___MMLocalClass___computed_ancestors(val_t p0
);
106 typedef val_t (*inheritance___MMLocalClass___computed_ancestors_t
)(val_t p0
);
107 static const char * const LOCATE_inheritance___MMLocalClass___ancestor_for
= "inheritance::MMLocalClass::ancestor_for";
108 val_t
inheritance___MMLocalClass___ancestor_for(val_t p0
, val_t p1
);
109 typedef val_t (*inheritance___MMLocalClass___ancestor_for_t
)(val_t p0
, val_t p1
);
110 static const char * const LOCATE_inheritance___MMLocalClass_____bra
= "inheritance::MMLocalClass::(abstractmetamodel::MMLocalClass::[])";
111 val_t
inheritance___MMLocalClass_____bra(val_t p0
, val_t p1
);
112 typedef val_t (*inheritance___MMLocalClass_____bra_t
)(val_t p0
, val_t p1
);
113 static const char * const LOCATE_inheritance___MMLocalClass___add_default_any_class
= "inheritance::MMLocalClass::add_default_any_class";
114 void inheritance___MMLocalClass___add_default_any_class(val_t p0
, val_t p1
);
115 typedef void (*inheritance___MMLocalClass___add_default_any_class_t
)(val_t p0
, val_t p1
);
116 static const char * const LOCATE_inheritance___MMLocalClass___add_super_classes
= "inheritance::MMLocalClass::add_super_classes";
117 void inheritance___MMLocalClass___add_super_classes(val_t p0
, val_t p1
);
118 typedef void (*inheritance___MMLocalClass___add_super_classes_t
)(val_t p0
, val_t p1
);
119 static const char * const LOCATE_inheritance___MMLocalClass___add_explicit_classes
= "inheritance::MMLocalClass::add_explicit_classes";
120 void inheritance___MMLocalClass___add_explicit_classes(val_t p0
, val_t p1
);
121 typedef void (*inheritance___MMLocalClass___add_explicit_classes_t
)(val_t p0
, val_t p1
);
122 static const char * const LOCATE_inheritance___MMLocalClass___compute_super_parents
= "inheritance::MMLocalClass::compute_super_parents";
123 void inheritance___MMLocalClass___compute_super_parents(val_t p0
, val_t p1
);
124 typedef void (*inheritance___MMLocalClass___compute_super_parents_t
)(val_t p0
, val_t p1
);
125 static const char * const LOCATE_inheritance___MMLocalClass___build_ancestors
= "inheritance::MMLocalClass::build_ancestors";
126 val_t
inheritance___MMLocalClass___build_ancestors(val_t p0
);
127 typedef val_t (*inheritance___MMLocalClass___build_ancestors_t
)(val_t p0
);
128 static const char * const LOCATE_inheritance___MMLocalClass___group_ancestors
= "inheritance::MMLocalClass::group_ancestors";
129 val_t
inheritance___MMLocalClass___group_ancestors(val_t p0
, val_t p1
);
130 typedef val_t (*inheritance___MMLocalClass___group_ancestors_t
)(val_t p0
, val_t p1
);
131 static const char * const LOCATE_inheritance___MMLocalClass___merge_ancestors
= "inheritance::MMLocalClass::merge_ancestors";
132 val_t
inheritance___MMLocalClass___merge_ancestors(val_t p0
, val_t p1
);
133 typedef val_t (*inheritance___MMLocalClass___merge_ancestors_t
)(val_t p0
, val_t p1
);
134 typedef void (*CLOS_OC_inheritance___MMLocalClass___merge_ancestors_1_0
)(struct stack_frame_t
*);
135 void OC_inheritance___MMLocalClass___merge_ancestors_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
);
136 typedef void (*OC_inheritance___MMLocalClass___merge_ancestors_1_t
)(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
);
137 static const char * const LOCATE_inheritance___MMLocalClass___inherit_local_property
= "inheritance::MMLocalClass::inherit_local_property";
138 val_t
inheritance___MMLocalClass___inherit_local_property(val_t p0
, val_t p1
);
139 typedef val_t (*inheritance___MMLocalClass___inherit_local_property_t
)(val_t p0
, val_t p1
);
140 val_t
NEW_MMLocalClass_abstractmetamodel___MMLocalClass___init(val_t p0
, val_t p1
, val_t p2
);
141 static const char * const LOCATE_inheritance___MMLocalProperty___inherit_global
= "inheritance::MMLocalProperty::inherit_global";
142 void inheritance___MMLocalProperty___inherit_global(val_t p0
, val_t p1
);
143 typedef void (*inheritance___MMLocalProperty___inherit_global_t
)(val_t p0
, val_t p1
);
144 val_t
NEW_MMLocalProperty_abstractmetamodel___MMLocalProperty___init(val_t p0
, val_t p1
);
145 static const char * const LOCATE_inheritance___MMAncestor___add_in
= "inheritance::MMAncestor::add_in";
146 void inheritance___MMAncestor___add_in(val_t p0
, val_t p1
);
147 typedef void (*inheritance___MMAncestor___add_in_t
)(val_t p0
, val_t p1
);
148 typedef void (*CLOS_OC_inheritance___MMAncestor___add_in_1_0
)(struct stack_frame_t
*);
149 void OC_inheritance___MMAncestor___add_in_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
);
150 typedef void (*OC_inheritance___MMAncestor___add_in_1_t
)(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
);
151 val_t
NEW_MMAncestor_static_type___MMAncestor___init();
152 static const char * const LOCATE_inheritance___MMImplicitLocalClass___init
= "inheritance::MMImplicitLocalClass::init";
153 void inheritance___MMImplicitLocalClass___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
);
154 typedef void (*inheritance___MMImplicitLocalClass___init_t
)(val_t p0
, val_t p1
, val_t p2
, int* init_table
);
155 val_t
NEW_MMImplicitLocalClass_inheritance___MMImplicitLocalClass___init(val_t p0
, val_t p1
);
156 static const char * const LOCATE_inheritance___MMRefineAncestor___local_class
= "inheritance::MMRefineAncestor::(static_type::MMAncestor::local_class)";
157 val_t
inheritance___MMRefineAncestor___local_class(val_t p0
);
158 typedef val_t (*inheritance___MMRefineAncestor___local_class_t
)(val_t p0
);
159 static const char * const LOCATE_inheritance___MMRefineAncestor___init
= "inheritance::MMRefineAncestor::init";
160 void inheritance___MMRefineAncestor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
);
161 typedef void (*inheritance___MMRefineAncestor___init_t
)(val_t p0
, val_t p1
, val_t p2
, int* init_table
);
162 val_t
NEW_MMRefineAncestor_inheritance___MMRefineAncestor___init(val_t p0
, val_t p1
);
163 static const char * const LOCATE_inheritance___MMSpecAncestor___local_class
= "inheritance::MMSpecAncestor::(static_type::MMAncestor::local_class)";
164 val_t
inheritance___MMSpecAncestor___local_class(val_t p0
);
165 typedef val_t (*inheritance___MMSpecAncestor___local_class_t
)(val_t p0
);
166 static const char * const LOCATE_inheritance___MMSpecAncestor___init
= "inheritance::MMSpecAncestor::init";
167 void inheritance___MMSpecAncestor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
);
168 typedef void (*inheritance___MMSpecAncestor___init_t
)(val_t p0
, val_t p1
, val_t p2
, int* init_table
);
169 val_t
NEW_MMSpecAncestor_inheritance___MMSpecAncestor___init(val_t p0
, val_t p1
);
170 static const char * const LOCATE_inheritance___MMDefaultAncestor___local_class
= "inheritance::MMDefaultAncestor::(static_type::MMAncestor::local_class)";
171 val_t
inheritance___MMDefaultAncestor___local_class(val_t p0
);
172 typedef val_t (*inheritance___MMDefaultAncestor___local_class_t
)(val_t p0
);
173 static const char * const LOCATE_inheritance___MMDefaultAncestor___init
= "inheritance::MMDefaultAncestor::init";
174 void inheritance___MMDefaultAncestor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
);
175 typedef void (*inheritance___MMDefaultAncestor___init_t
)(val_t p0
, val_t p1
, val_t p2
, int* init_table
);
176 val_t
NEW_MMDefaultAncestor_inheritance___MMDefaultAncestor___init(val_t p0
, val_t p1
);