1 /* This C header file is generated by NIT to compile modules and programs that requires list. */
4 #include "abstract_collection._sep.h"
5 #include <nit_common.h>
7 extern const classtable_elt_t VFT_List
[];
9 extern const classtable_elt_t VFT_ListIterator
[];
11 extern const classtable_elt_t VFT_ListNode
[];
12 extern const char *LOCATE_list
;
13 extern const int SFT_list
[];
14 #define ID_List (SFT_list[0])
15 #define COLOR_List (SFT_list[1])
16 #define ATTR_list___List____head(recv) ATTR(recv, (SFT_list[2] + 0))
17 #define ATTR_list___List____tail(recv) ATTR(recv, (SFT_list[2] + 1))
18 #define INIT_TABLE_POS_List (SFT_list[3] + 0)
19 #define CALL_list___List___link(recv) ((list___List___link_t)CALL((recv), (SFT_list[3] + 1)))
20 #define CALL_list___List___init(recv) ((list___List___init_t)CALL((recv), (SFT_list[3] + 2)))
21 #define CALL_list___List___from(recv) ((list___List___from_t)CALL((recv), (SFT_list[3] + 3)))
22 #define CALL_list___List___get_node(recv) ((list___List___get_node_t)CALL((recv), (SFT_list[3] + 4)))
23 #define CALL_list___List___search_node_after(recv) ((list___List___search_node_after_t)CALL((recv), (SFT_list[3] + 5)))
24 #define CALL_list___List___remove_node(recv) ((list___List___remove_node_t)CALL((recv), (SFT_list[3] + 6)))
25 #define CALL_list___List___insert_before(recv) ((list___List___insert_before_t)CALL((recv), (SFT_list[3] + 7)))
26 #define ID_ListIterator (SFT_list[4])
27 #define COLOR_ListIterator (SFT_list[5])
28 #define ATTR_list___ListIterator____list(recv) ATTR(recv, (SFT_list[6] + 0))
29 #define ATTR_list___ListIterator____node(recv) ATTR(recv, (SFT_list[6] + 1))
30 #define ATTR_list___ListIterator____index(recv) ATTR(recv, (SFT_list[6] + 2))
31 #define INIT_TABLE_POS_ListIterator (SFT_list[7] + 0)
32 #define CALL_list___ListIterator___item__eq(recv) ((list___ListIterator___item__eq_t)CALL((recv), (SFT_list[7] + 1)))
33 #define CALL_list___ListIterator___init(recv) ((list___ListIterator___init_t)CALL((recv), (SFT_list[7] + 2)))
34 #define CALL_list___ListIterator___delete(recv) ((list___ListIterator___delete_t)CALL((recv), (SFT_list[7] + 3)))
35 #define CALL_list___ListIterator___insert_before(recv) ((list___ListIterator___insert_before_t)CALL((recv), (SFT_list[7] + 4)))
36 #define ID_ListNode (SFT_list[8])
37 #define COLOR_ListNode (SFT_list[9])
38 #define ATTR_list___ListNode____next(recv) ATTR(recv, (SFT_list[10] + 0))
39 #define ATTR_list___ListNode____prev(recv) ATTR(recv, (SFT_list[10] + 1))
40 #define INIT_TABLE_POS_ListNode (SFT_list[11] + 0)
41 #define CALL_list___ListNode___init(recv) ((list___ListNode___init_t)CALL((recv), (SFT_list[11] + 1)))
42 #define CALL_list___ListNode___next(recv) ((list___ListNode___next_t)CALL((recv), (SFT_list[11] + 2)))
43 #define CALL_list___ListNode___next__eq(recv) ((list___ListNode___next__eq_t)CALL((recv), (SFT_list[11] + 3)))
44 #define CALL_list___ListNode___prev(recv) ((list___ListNode___prev_t)CALL((recv), (SFT_list[11] + 4)))
45 #define CALL_list___ListNode___prev__eq(recv) ((list___ListNode___prev__eq_t)CALL((recv), (SFT_list[11] + 5)))
46 static const char * const LOCATE_list___List_____bra
= "list::List::(abstract_collection::MapRead::[])";
47 val_t
list___List_____bra(val_t p0
, val_t p1
);
48 typedef val_t (*list___List_____bra_t
)(val_t p0
, val_t p1
);
49 static const char * const LOCATE_list___List_____braeq
= "list::List::(abstract_collection::Map::[]=)";
50 void list___List_____braeq(val_t p0
, val_t p1
, val_t p2
);
51 typedef void (*list___List_____braeq_t
)(val_t p0
, val_t p1
, val_t p2
);
52 static const char * const LOCATE_list___List___first
= "list::List::(abstract_collection::Collection::first)";
53 val_t
list___List___first(val_t p0
);
54 typedef val_t (*list___List___first_t
)(val_t p0
);
55 static const char * const LOCATE_list___List___first__eq
= "list::List::(abstract_collection::Sequence::first=)";
56 void list___List___first__eq(val_t p0
, val_t p1
);
57 typedef void (*list___List___first__eq_t
)(val_t p0
, val_t p1
);
58 static const char * const LOCATE_list___List___last
= "list::List::(abstract_collection::SequenceRead::last)";
59 val_t
list___List___last(val_t p0
);
60 typedef val_t (*list___List___last_t
)(val_t p0
);
61 static const char * const LOCATE_list___List___last__eq
= "list::List::(abstract_collection::Sequence::last=)";
62 void list___List___last__eq(val_t p0
, val_t p1
);
63 typedef void (*list___List___last__eq_t
)(val_t p0
, val_t p1
);
64 static const char * const LOCATE_list___List___is_empty
= "list::List::(abstract_collection::Collection::is_empty)";
65 val_t
list___List___is_empty(val_t p0
);
66 typedef val_t (*list___List___is_empty_t
)(val_t p0
);
67 static const char * const LOCATE_list___List___length
= "list::List::(abstract_collection::Collection::length)";
68 val_t
list___List___length(val_t p0
);
69 typedef val_t (*list___List___length_t
)(val_t p0
);
70 static const char * const LOCATE_list___List___has
= "list::List::(abstract_collection::Collection::has)";
71 val_t
list___List___has(val_t p0
, val_t p1
);
72 typedef val_t (*list___List___has_t
)(val_t p0
, val_t p1
);
73 static const char * const LOCATE_list___List___has_only
= "list::List::(abstract_collection::Collection::has_only)";
74 val_t
list___List___has_only(val_t p0
, val_t p1
);
75 typedef val_t (*list___List___has_only_t
)(val_t p0
, val_t p1
);
76 static const char * const LOCATE_list___List___count
= "list::List::(abstract_collection::Collection::count)";
77 val_t
list___List___count(val_t p0
, val_t p1
);
78 typedef val_t (*list___List___count_t
)(val_t p0
, val_t p1
);
79 static const char * const LOCATE_list___List___has_key
= "list::List::(abstract_collection::MapRead::has_key)";
80 val_t
list___List___has_key(val_t p0
, val_t p1
);
81 typedef val_t (*list___List___has_key_t
)(val_t p0
, val_t p1
);
82 static const char * const LOCATE_list___List___push
= "list::List::(abstract_collection::Sequence::push)";
83 void list___List___push(val_t p0
, val_t p1
);
84 typedef void (*list___List___push_t
)(val_t p0
, val_t p1
);
85 static const char * const LOCATE_list___List___unshift
= "list::List::(abstract_collection::Sequence::unshift)";
86 void list___List___unshift(val_t p0
, val_t p1
);
87 typedef void (*list___List___unshift_t
)(val_t p0
, val_t p1
);
88 static const char * const LOCATE_list___List___link
= "list::List::link";
89 void list___List___link(val_t p0
, val_t p1
);
90 typedef void (*list___List___link_t
)(val_t p0
, val_t p1
);
91 static const char * const LOCATE_list___List___pop
= "list::List::(abstract_collection::Sequence::pop)";
92 val_t
list___List___pop(val_t p0
);
93 typedef val_t (*list___List___pop_t
)(val_t p0
);
94 static const char * const LOCATE_list___List___shift
= "list::List::(abstract_collection::Sequence::shift)";
95 val_t
list___List___shift(val_t p0
);
96 typedef val_t (*list___List___shift_t
)(val_t p0
);
97 static const char * const LOCATE_list___List___remove
= "list::List::(abstract_collection::RemovableCollection::remove)";
98 void list___List___remove(val_t p0
, val_t p1
);
99 typedef void (*list___List___remove_t
)(val_t p0
, val_t p1
);
100 static const char * const LOCATE_list___List___remove_at
= "list::List::(abstract_collection::Map::remove_at)";
101 void list___List___remove_at(val_t p0
, val_t p1
);
102 typedef void (*list___List___remove_at_t
)(val_t p0
, val_t p1
);
103 static const char * const LOCATE_list___List___clear
= "list::List::(abstract_collection::RemovableCollection::clear)";
104 void list___List___clear(val_t p0
);
105 typedef void (*list___List___clear_t
)(val_t p0
);
106 static const char * const LOCATE_list___List___iterator
= "list::List::(abstract_collection::Collection::iterator)";
107 val_t
list___List___iterator(val_t p0
);
108 typedef val_t (*list___List___iterator_t
)(val_t p0
);
109 static const char * const LOCATE_list___List___init
= "list::List::init";
110 void list___List___init(val_t p0
, int* init_table
);
111 typedef void (*list___List___init_t
)(val_t p0
, int* init_table
);
112 val_t
NEW_List_list___List___init();
113 static const char * const LOCATE_list___List___from
= "list::List::from";
114 void list___List___from(val_t p0
, val_t p1
, int* init_table
);
115 typedef void (*list___List___from_t
)(val_t p0
, val_t p1
, int* init_table
);
116 val_t
NEW_List_list___List___from(val_t p0
);
117 static const char * const LOCATE_list___List___get_node
= "list::List::get_node";
118 val_t
list___List___get_node(val_t p0
, val_t p1
);
119 typedef val_t (*list___List___get_node_t
)(val_t p0
, val_t p1
);
120 static const char * const LOCATE_list___List___search_node_after
= "list::List::search_node_after";
121 val_t
list___List___search_node_after(val_t p0
, val_t p1
, val_t p2
);
122 typedef val_t (*list___List___search_node_after_t
)(val_t p0
, val_t p1
, val_t p2
);
123 static const char * const LOCATE_list___List___remove_node
= "list::List::remove_node";
124 void list___List___remove_node(val_t p0
, val_t p1
);
125 typedef void (*list___List___remove_node_t
)(val_t p0
, val_t p1
);
126 static const char * const LOCATE_list___List___insert_before
= "list::List::insert_before";
127 void list___List___insert_before(val_t p0
, val_t p1
, val_t p2
);
128 typedef void (*list___List___insert_before_t
)(val_t p0
, val_t p1
, val_t p2
);
129 static const char * const LOCATE_list___ListIterator___item
= "list::ListIterator::(abstract_collection::Iterator::item)";
130 val_t
list___ListIterator___item(val_t p0
);
131 typedef val_t (*list___ListIterator___item_t
)(val_t p0
);
132 static const char * const LOCATE_list___ListIterator___item__eq
= "list::ListIterator::item=";
133 void list___ListIterator___item__eq(val_t p0
, val_t p1
);
134 typedef void (*list___ListIterator___item__eq_t
)(val_t p0
, val_t p1
);
135 static const char * const LOCATE_list___ListIterator___is_ok
= "list::ListIterator::(abstract_collection::Iterator::is_ok)";
136 val_t
list___ListIterator___is_ok(val_t p0
);
137 typedef val_t (*list___ListIterator___is_ok_t
)(val_t p0
);
138 static const char * const LOCATE_list___ListIterator___next
= "list::ListIterator::(abstract_collection::Iterator::next)";
139 void list___ListIterator___next(val_t p0
);
140 typedef void (*list___ListIterator___next_t
)(val_t p0
);
141 static const char * const LOCATE_list___ListIterator___init
= "list::ListIterator::init";
142 void list___ListIterator___init(val_t p0
, val_t p1
, int* init_table
);
143 typedef void (*list___ListIterator___init_t
)(val_t p0
, val_t p1
, int* init_table
);
144 val_t
NEW_ListIterator_list___ListIterator___init(val_t p0
);
145 static const char * const LOCATE_list___ListIterator___index
= "list::ListIterator::(abstract_collection::IndexedIterator::index)";
146 val_t
list___ListIterator___index(val_t p0
);
147 typedef val_t (*list___ListIterator___index_t
)(val_t p0
);
148 static const char * const LOCATE_list___ListIterator___delete
= "list::ListIterator::delete";
149 void list___ListIterator___delete(val_t p0
);
150 typedef void (*list___ListIterator___delete_t
)(val_t p0
);
151 static const char * const LOCATE_list___ListIterator___insert_before
= "list::ListIterator::insert_before";
152 void list___ListIterator___insert_before(val_t p0
, val_t p1
);
153 typedef void (*list___ListIterator___insert_before_t
)(val_t p0
, val_t p1
);
154 static const char * const LOCATE_list___ListNode___init
= "list::ListNode::init";
155 void list___ListNode___init(val_t p0
, val_t p1
, int* init_table
);
156 typedef void (*list___ListNode___init_t
)(val_t p0
, val_t p1
, int* init_table
);
157 val_t
NEW_ListNode_list___ListNode___init(val_t p0
);
158 static const char * const LOCATE_list___ListNode___next
= "list::ListNode::next";
159 val_t
list___ListNode___next(val_t p0
);
160 typedef val_t (*list___ListNode___next_t
)(val_t p0
);
161 static const char * const LOCATE_list___ListNode___next__eq
= "list::ListNode::next=";
162 void list___ListNode___next__eq(val_t p0
, val_t p1
);
163 typedef void (*list___ListNode___next__eq_t
)(val_t p0
, val_t p1
);
164 static const char * const LOCATE_list___ListNode___prev
= "list::ListNode::prev";
165 val_t
list___ListNode___prev(val_t p0
);
166 typedef val_t (*list___ListNode___prev_t
)(val_t p0
);
167 static const char * const LOCATE_list___ListNode___prev__eq
= "list::ListNode::prev=";
168 void list___ListNode___prev__eq(val_t p0
, val_t p1
);
169 typedef void (*list___ListNode___prev__eq_t
)(val_t p0
, val_t p1
);