1 /* This C header file is generated by NIT to compile modules and programs that requires hash_collection. */
2 #ifndef hash_collection_sep
3 #define hash_collection_sep
4 #include "array._sep.h"
6 #include <nit_common.h>
8 extern const classtable_elt_t VFT_HashCollection
[];
10 extern const classtable_elt_t VFT_HashNode
[];
12 extern const classtable_elt_t VFT_HashMap
[];
14 extern const classtable_elt_t VFT_HashMapNode
[];
16 extern const classtable_elt_t VFT_HashMapIterator
[];
18 extern const classtable_elt_t VFT_HashSet
[];
20 extern const classtable_elt_t VFT_HashSetNode
[];
22 extern const classtable_elt_t VFT_HashSetIterator
[];
23 extern const char *LOCATE_hash_collection
;
24 extern const int SFT_hash_collection
[];
25 #define ID_HashCollection (SFT_hash_collection[0])
26 #define COLOR_HashCollection (SFT_hash_collection[1])
27 #define ATTR_hash_collection___HashCollection____array(recv) ATTR(recv, (SFT_hash_collection[2] + 0))
28 #define ATTR_hash_collection___HashCollection____capacity(recv) ATTR(recv, (SFT_hash_collection[2] + 1))
29 #define ATTR_hash_collection___HashCollection____length(recv) ATTR(recv, (SFT_hash_collection[2] + 2))
30 #define ATTR_hash_collection___HashCollection____first_item(recv) ATTR(recv, (SFT_hash_collection[2] + 3))
31 #define ATTR_hash_collection___HashCollection____last_item(recv) ATTR(recv, (SFT_hash_collection[2] + 4))
32 #define ATTR_hash_collection___HashCollection____last_accessed_index(recv) ATTR(recv, (SFT_hash_collection[2] + 5))
33 #define ATTR_hash_collection___HashCollection____last_accessed_key(recv) ATTR(recv, (SFT_hash_collection[2] + 6))
34 #define INIT_TABLE_POS_HashCollection (SFT_hash_collection[3] + 0)
35 #define CALL_hash_collection___HashCollection___first_item(recv) ((hash_collection___HashCollection___first_item_t)CALL((recv), (SFT_hash_collection[3] + 1)))
36 #define CALL_hash_collection___HashCollection___index_at(recv) ((hash_collection___HashCollection___index_at_t)CALL((recv), (SFT_hash_collection[3] + 2)))
37 #define CALL_hash_collection___HashCollection___store(recv) ((hash_collection___HashCollection___store_t)CALL((recv), (SFT_hash_collection[3] + 3)))
38 #define CALL_hash_collection___HashCollection___remove_index(recv) ((hash_collection___HashCollection___remove_index_t)CALL((recv), (SFT_hash_collection[3] + 4)))
39 #define CALL_hash_collection___HashCollection___raz(recv) ((hash_collection___HashCollection___raz_t)CALL((recv), (SFT_hash_collection[3] + 5)))
40 #define CALL_hash_collection___HashCollection___enlarge(recv) ((hash_collection___HashCollection___enlarge_t)CALL((recv), (SFT_hash_collection[3] + 6)))
41 #define CALL_hash_collection___HashCollection___init(recv) ((hash_collection___HashCollection___init_t)CALL((recv), (SFT_hash_collection[3] + 7)))
42 #define ID_HashNode (SFT_hash_collection[4])
43 #define COLOR_HashNode (SFT_hash_collection[5])
44 #define ATTR_hash_collection___HashNode____next_item(recv) ATTR(recv, (SFT_hash_collection[6] + 0))
45 #define ATTR_hash_collection___HashNode____prev_item(recv) ATTR(recv, (SFT_hash_collection[6] + 1))
46 #define INIT_TABLE_POS_HashNode (SFT_hash_collection[7] + 0)
47 #define CALL_hash_collection___HashNode___key(recv) ((hash_collection___HashNode___key_t)CALL((recv), (SFT_hash_collection[7] + 1)))
48 #define CALL_hash_collection___HashNode___next_item(recv) ((hash_collection___HashNode___next_item_t)CALL((recv), (SFT_hash_collection[7] + 2)))
49 #define CALL_hash_collection___HashNode___next_item__eq(recv) ((hash_collection___HashNode___next_item__eq_t)CALL((recv), (SFT_hash_collection[7] + 3)))
50 #define CALL_hash_collection___HashNode___prev_item(recv) ((hash_collection___HashNode___prev_item_t)CALL((recv), (SFT_hash_collection[7] + 4)))
51 #define CALL_hash_collection___HashNode___prev_item__eq(recv) ((hash_collection___HashNode___prev_item__eq_t)CALL((recv), (SFT_hash_collection[7] + 5)))
52 #define CALL_hash_collection___HashNode___init(recv) ((hash_collection___HashNode___init_t)CALL((recv), (SFT_hash_collection[7] + 6)))
53 #define ID_HashMap (SFT_hash_collection[8])
54 #define COLOR_HashMap (SFT_hash_collection[9])
55 #define INIT_TABLE_POS_HashMap (SFT_hash_collection[10] + 0)
56 #define CALL_hash_collection___HashMap___init(recv) ((hash_collection___HashMap___init_t)CALL((recv), (SFT_hash_collection[10] + 1)))
57 #define ID_HashMapNode (SFT_hash_collection[11])
58 #define COLOR_HashMapNode (SFT_hash_collection[12])
59 #define INIT_TABLE_POS_HashMapNode (SFT_hash_collection[13] + 0)
60 #define CALL_hash_collection___HashMapNode___init(recv) ((hash_collection___HashMapNode___init_t)CALL((recv), (SFT_hash_collection[13] + 1)))
61 #define ID_HashMapIterator (SFT_hash_collection[14])
62 #define COLOR_HashMapIterator (SFT_hash_collection[15])
63 #define ATTR_hash_collection___HashMapIterator____map(recv) ATTR(recv, (SFT_hash_collection[16] + 0))
64 #define ATTR_hash_collection___HashMapIterator____node(recv) ATTR(recv, (SFT_hash_collection[16] + 1))
65 #define INIT_TABLE_POS_HashMapIterator (SFT_hash_collection[17] + 0)
66 #define CALL_hash_collection___HashMapIterator___init(recv) ((hash_collection___HashMapIterator___init_t)CALL((recv), (SFT_hash_collection[17] + 1)))
67 #define ID_HashSet (SFT_hash_collection[18])
68 #define COLOR_HashSet (SFT_hash_collection[19])
69 #define INIT_TABLE_POS_HashSet (SFT_hash_collection[20] + 0)
70 #define CALL_hash_collection___HashSet___init(recv) ((hash_collection___HashSet___init_t)CALL((recv), (SFT_hash_collection[20] + 1)))
71 #define ID_HashSetNode (SFT_hash_collection[21])
72 #define COLOR_HashSetNode (SFT_hash_collection[22])
73 #define ATTR_hash_collection___HashSetNode____key(recv) ATTR(recv, (SFT_hash_collection[23] + 0))
74 #define INIT_TABLE_POS_HashSetNode (SFT_hash_collection[24] + 0)
75 #define CALL_hash_collection___HashSetNode___key__eq(recv) ((hash_collection___HashSetNode___key__eq_t)CALL((recv), (SFT_hash_collection[24] + 1)))
76 #define CALL_hash_collection___HashSetNode___init(recv) ((hash_collection___HashSetNode___init_t)CALL((recv), (SFT_hash_collection[24] + 2)))
77 #define ID_HashSetIterator (SFT_hash_collection[25])
78 #define COLOR_HashSetIterator (SFT_hash_collection[26])
79 #define ATTR_hash_collection___HashSetIterator____set(recv) ATTR(recv, (SFT_hash_collection[27] + 0))
80 #define ATTR_hash_collection___HashSetIterator____node(recv) ATTR(recv, (SFT_hash_collection[27] + 1))
81 #define INIT_TABLE_POS_HashSetIterator (SFT_hash_collection[28] + 0)
82 #define CALL_hash_collection___HashSetIterator___init(recv) ((hash_collection___HashSetIterator___init_t)CALL((recv), (SFT_hash_collection[28] + 1)))
83 #define LOCATE_hash_collection___HashCollection___length "hash_collection::HashCollection::(abstract_collection::Collection::length)"
84 val_t
hash_collection___HashCollection___length(val_t p0
);
85 typedef val_t (*hash_collection___HashCollection___length_t
)(val_t p0
);
86 #define LOCATE_hash_collection___HashCollection___first_item "hash_collection::HashCollection::first_item"
87 val_t
hash_collection___HashCollection___first_item(val_t p0
);
88 typedef val_t (*hash_collection___HashCollection___first_item_t
)(val_t p0
);
89 #define LOCATE_hash_collection___HashCollection___index_at "hash_collection::HashCollection::index_at"
90 val_t
hash_collection___HashCollection___index_at(val_t p0
, val_t p1
);
91 typedef val_t (*hash_collection___HashCollection___index_at_t
)(val_t p0
, val_t p1
);
92 #define LOCATE_hash_collection___HashCollection___store "hash_collection::HashCollection::store"
93 void hash_collection___HashCollection___store(val_t p0
, val_t p1
, val_t p2
);
94 typedef void (*hash_collection___HashCollection___store_t
)(val_t p0
, val_t p1
, val_t p2
);
95 #define LOCATE_hash_collection___HashCollection___remove_index "hash_collection::HashCollection::remove_index"
96 void hash_collection___HashCollection___remove_index(val_t p0
, val_t p1
);
97 typedef void (*hash_collection___HashCollection___remove_index_t
)(val_t p0
, val_t p1
);
98 #define LOCATE_hash_collection___HashCollection___raz "hash_collection::HashCollection::raz"
99 void hash_collection___HashCollection___raz(val_t p0
);
100 typedef void (*hash_collection___HashCollection___raz_t
)(val_t p0
);
101 #define LOCATE_hash_collection___HashCollection___enlarge "hash_collection::HashCollection::enlarge"
102 void hash_collection___HashCollection___enlarge(val_t p0
, val_t p1
);
103 typedef void (*hash_collection___HashCollection___enlarge_t
)(val_t p0
, val_t p1
);
104 #define LOCATE_hash_collection___HashCollection___init "hash_collection::HashCollection::init"
105 void hash_collection___HashCollection___init(val_t p0
, int* init_table
);
106 typedef void (*hash_collection___HashCollection___init_t
)(val_t p0
, int* init_table
);
107 val_t
NEW_HashCollection_hash_collection___HashCollection___init();
108 #define LOCATE_hash_collection___HashNode___key "hash_collection::HashNode::key"
109 val_t
hash_collection___HashNode___key(val_t p0
);
110 typedef val_t (*hash_collection___HashNode___key_t
)(val_t p0
);
111 #define LOCATE_hash_collection___HashNode___next_item "hash_collection::HashNode::next_item"
112 val_t
hash_collection___HashNode___next_item(val_t p0
);
113 typedef val_t (*hash_collection___HashNode___next_item_t
)(val_t p0
);
114 #define LOCATE_hash_collection___HashNode___next_item__eq "hash_collection::HashNode::next_item="
115 void hash_collection___HashNode___next_item__eq(val_t p0
, val_t p1
);
116 typedef void (*hash_collection___HashNode___next_item__eq_t
)(val_t p0
, val_t p1
);
117 #define LOCATE_hash_collection___HashNode___prev_item "hash_collection::HashNode::prev_item"
118 val_t
hash_collection___HashNode___prev_item(val_t p0
);
119 typedef val_t (*hash_collection___HashNode___prev_item_t
)(val_t p0
);
120 #define LOCATE_hash_collection___HashNode___prev_item__eq "hash_collection::HashNode::prev_item="
121 void hash_collection___HashNode___prev_item__eq(val_t p0
, val_t p1
);
122 typedef void (*hash_collection___HashNode___prev_item__eq_t
)(val_t p0
, val_t p1
);
123 #define LOCATE_hash_collection___HashNode___init "hash_collection::HashNode::init"
124 void hash_collection___HashNode___init(val_t p0
, int* init_table
);
125 typedef void (*hash_collection___HashNode___init_t
)(val_t p0
, int* init_table
);
126 val_t
NEW_HashNode_hash_collection___HashNode___init();
127 #define LOCATE_hash_collection___HashMap___iterator "hash_collection::HashMap::(abstract_collection::Collection::iterator)"
128 val_t
hash_collection___HashMap___iterator(val_t p0
);
129 typedef val_t (*hash_collection___HashMap___iterator_t
)(val_t p0
);
130 #define LOCATE_hash_collection___HashMap___is_empty "hash_collection::HashMap::(abstract_collection::Collection::is_empty)"
131 val_t
hash_collection___HashMap___is_empty(val_t p0
);
132 typedef val_t (*hash_collection___HashMap___is_empty_t
)(val_t p0
);
133 #define LOCATE_hash_collection___HashMap___has "hash_collection::HashMap::(abstract_collection::Collection::has)"
134 val_t
hash_collection___HashMap___has(val_t p0
, val_t p1
);
135 typedef val_t (*hash_collection___HashMap___has_t
)(val_t p0
, val_t p1
);
136 #define LOCATE_hash_collection___HashMap___has_only "hash_collection::HashMap::(abstract_collection::Collection::has_only)"
137 val_t
hash_collection___HashMap___has_only(val_t p0
, val_t p1
);
138 typedef val_t (*hash_collection___HashMap___has_only_t
)(val_t p0
, val_t p1
);
139 #define LOCATE_hash_collection___HashMap___count "hash_collection::HashMap::(abstract_collection::Collection::count)"
140 val_t
hash_collection___HashMap___count(val_t p0
, val_t p1
);
141 typedef val_t (*hash_collection___HashMap___count_t
)(val_t p0
, val_t p1
);
142 #define LOCATE_hash_collection___HashMap___first "hash_collection::HashMap::(abstract_collection::Collection::first)"
143 val_t
hash_collection___HashMap___first(val_t p0
);
144 typedef val_t (*hash_collection___HashMap___first_t
)(val_t p0
);
145 #define LOCATE_hash_collection___HashMap___clear "hash_collection::HashMap::(abstract_collection::RemovableCollection::clear)"
146 void hash_collection___HashMap___clear(val_t p0
);
147 typedef void (*hash_collection___HashMap___clear_t
)(val_t p0
);
148 #define LOCATE_hash_collection___HashMap___remove "hash_collection::HashMap::(abstract_collection::RemovableCollection::remove)"
149 void hash_collection___HashMap___remove(val_t p0
, val_t p1
);
150 typedef void (*hash_collection___HashMap___remove_t
)(val_t p0
, val_t p1
);
151 #define LOCATE_hash_collection___HashMap_____braeq "hash_collection::HashMap::(abstract_collection::Map::[]=)"
152 void hash_collection___HashMap_____braeq(val_t p0
, val_t p1
, val_t p2
);
153 typedef void (*hash_collection___HashMap_____braeq_t
)(val_t p0
, val_t p1
, val_t p2
);
154 #define LOCATE_hash_collection___HashMap___remove_at "hash_collection::HashMap::(abstract_collection::Map::remove_at)"
155 void hash_collection___HashMap___remove_at(val_t p0
, val_t p1
);
156 typedef void (*hash_collection___HashMap___remove_at_t
)(val_t p0
, val_t p1
);
157 #define LOCATE_hash_collection___HashMap___couple_at "hash_collection::HashMap::(abstract_collection::CoupleMap::couple_at)"
158 val_t
hash_collection___HashMap___couple_at(val_t p0
, val_t p1
);
159 typedef val_t (*hash_collection___HashMap___couple_at_t
)(val_t p0
, val_t p1
);
160 #define LOCATE_hash_collection___HashMap___init "hash_collection::HashMap::init"
161 void hash_collection___HashMap___init(val_t p0
, int* init_table
);
162 typedef void (*hash_collection___HashMap___init_t
)(val_t p0
, int* init_table
);
163 val_t
NEW_HashMap_hash_collection___HashMap___init();
164 #define LOCATE_hash_collection___HashMapNode___key "hash_collection::HashMapNode::(hash_collection::HashNode::key)"
165 val_t
hash_collection___HashMapNode___key(val_t p0
);
166 typedef val_t (*hash_collection___HashMapNode___key_t
)(val_t p0
);
167 #define LOCATE_hash_collection___HashMapNode___init "hash_collection::HashMapNode::init"
168 void hash_collection___HashMapNode___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
);
169 typedef void (*hash_collection___HashMapNode___init_t
)(val_t p0
, val_t p1
, val_t p2
, int* init_table
);
170 val_t
NEW_HashMapNode_hash_collection___HashMapNode___init(val_t p0
, val_t p1
);
171 #define LOCATE_hash_collection___HashMapIterator___item "hash_collection::HashMapIterator::(abstract_collection::Iterator::item)"
172 val_t
hash_collection___HashMapIterator___item(val_t p0
);
173 typedef val_t (*hash_collection___HashMapIterator___item_t
)(val_t p0
);
174 #define LOCATE_hash_collection___HashMapIterator___next "hash_collection::HashMapIterator::(abstract_collection::Iterator::next)"
175 void hash_collection___HashMapIterator___next(val_t p0
);
176 typedef void (*hash_collection___HashMapIterator___next_t
)(val_t p0
);
177 #define LOCATE_hash_collection___HashMapIterator___is_ok "hash_collection::HashMapIterator::(abstract_collection::Iterator::is_ok)"
178 val_t
hash_collection___HashMapIterator___is_ok(val_t p0
);
179 typedef val_t (*hash_collection___HashMapIterator___is_ok_t
)(val_t p0
);
180 #define LOCATE_hash_collection___HashMapIterator___key "hash_collection::HashMapIterator::(abstract_collection::MapIterator::key)"
181 val_t
hash_collection___HashMapIterator___key(val_t p0
);
182 typedef val_t (*hash_collection___HashMapIterator___key_t
)(val_t p0
);
183 #define LOCATE_hash_collection___HashMapIterator___init "hash_collection::HashMapIterator::init"
184 void hash_collection___HashMapIterator___init(val_t p0
, val_t p1
, int* init_table
);
185 typedef void (*hash_collection___HashMapIterator___init_t
)(val_t p0
, val_t p1
, int* init_table
);
186 val_t
NEW_HashMapIterator_hash_collection___HashMapIterator___init(val_t p0
);
187 #define LOCATE_hash_collection___HashSet___iterator "hash_collection::HashSet::(abstract_collection::Collection::iterator)"
188 val_t
hash_collection___HashSet___iterator(val_t p0
);
189 typedef val_t (*hash_collection___HashSet___iterator_t
)(val_t p0
);
190 #define LOCATE_hash_collection___HashSet___is_empty "hash_collection::HashSet::(abstract_collection::Collection::is_empty)"
191 val_t
hash_collection___HashSet___is_empty(val_t p0
);
192 typedef val_t (*hash_collection___HashSet___is_empty_t
)(val_t p0
);
193 #define LOCATE_hash_collection___HashSet___has "hash_collection::HashSet::(abstract_collection::Collection::has)"
194 val_t
hash_collection___HashSet___has(val_t p0
, val_t p1
);
195 typedef val_t (*hash_collection___HashSet___has_t
)(val_t p0
, val_t p1
);
196 #define LOCATE_hash_collection___HashSet___first "hash_collection::HashSet::(abstract_collection::Collection::first)"
197 val_t
hash_collection___HashSet___first(val_t p0
);
198 typedef val_t (*hash_collection___HashSet___first_t
)(val_t p0
);
199 #define LOCATE_hash_collection___HashSet___clear "hash_collection::HashSet::(abstract_collection::RemovableCollection::clear)"
200 void hash_collection___HashSet___clear(val_t p0
);
201 typedef void (*hash_collection___HashSet___clear_t
)(val_t p0
);
202 #define LOCATE_hash_collection___HashSet___remove "hash_collection::HashSet::(abstract_collection::RemovableCollection::remove)"
203 void hash_collection___HashSet___remove(val_t p0
, val_t p1
);
204 typedef void (*hash_collection___HashSet___remove_t
)(val_t p0
, val_t p1
);
205 #define LOCATE_hash_collection___HashSet___add "hash_collection::HashSet::(abstract_collection::SimpleCollection::add)"
206 void hash_collection___HashSet___add(val_t p0
, val_t p1
);
207 typedef void (*hash_collection___HashSet___add_t
)(val_t p0
, val_t p1
);
208 #define LOCATE_hash_collection___HashSet___init "hash_collection::HashSet::init"
209 void hash_collection___HashSet___init(val_t p0
, int* init_table
);
210 typedef void (*hash_collection___HashSet___init_t
)(val_t p0
, int* init_table
);
211 val_t
NEW_HashSet_hash_collection___HashSet___init();
212 #define LOCATE_hash_collection___HashSetNode___key "hash_collection::HashSetNode::(hash_collection::HashNode::key)"
213 val_t
hash_collection___HashSetNode___key(val_t p0
);
214 typedef val_t (*hash_collection___HashSetNode___key_t
)(val_t p0
);
215 #define LOCATE_hash_collection___HashSetNode___key__eq "hash_collection::HashSetNode::key="
216 void hash_collection___HashSetNode___key__eq(val_t p0
, val_t p1
);
217 typedef void (*hash_collection___HashSetNode___key__eq_t
)(val_t p0
, val_t p1
);
218 #define LOCATE_hash_collection___HashSetNode___init "hash_collection::HashSetNode::init"
219 void hash_collection___HashSetNode___init(val_t p0
, val_t p1
, int* init_table
);
220 typedef void (*hash_collection___HashSetNode___init_t
)(val_t p0
, val_t p1
, int* init_table
);
221 val_t
NEW_HashSetNode_hash_collection___HashSetNode___init(val_t p0
);
222 #define LOCATE_hash_collection___HashSetIterator___item "hash_collection::HashSetIterator::(abstract_collection::Iterator::item)"
223 val_t
hash_collection___HashSetIterator___item(val_t p0
);
224 typedef val_t (*hash_collection___HashSetIterator___item_t
)(val_t p0
);
225 #define LOCATE_hash_collection___HashSetIterator___next "hash_collection::HashSetIterator::(abstract_collection::Iterator::next)"
226 void hash_collection___HashSetIterator___next(val_t p0
);
227 typedef void (*hash_collection___HashSetIterator___next_t
)(val_t p0
);
228 #define LOCATE_hash_collection___HashSetIterator___is_ok "hash_collection::HashSetIterator::(abstract_collection::Iterator::is_ok)"
229 val_t
hash_collection___HashSetIterator___is_ok(val_t p0
);
230 typedef val_t (*hash_collection___HashSetIterator___is_ok_t
)(val_t p0
);
231 #define LOCATE_hash_collection___HashSetIterator___init "hash_collection::HashSetIterator::init"
232 void hash_collection___HashSetIterator___init(val_t p0
, val_t p1
, int* init_table
);
233 typedef void (*hash_collection___HashSetIterator___init_t
)(val_t p0
, val_t p1
, int* init_table
);
234 val_t
NEW_HashSetIterator_hash_collection___HashSetIterator___init(val_t p0
);