1 /* This C header file is generated by NIT to compile modules and programs that requires ../lib/standard/collection/list. */
2 #ifndef standard___collection___list_sep
3 #define standard___collection___list_sep
4 #include "standard___collection___abstract_collection._sep.h"
5 #include <nit_common.h>
7 extern const classtable_elt_t VFT_standard___collection___list___List
[];
9 extern const classtable_elt_t VFT_standard___collection___list___ListIterator
[];
11 extern const classtable_elt_t VFT_standard___collection___list___ListNode
[];
12 extern const char *LOCATE_standard___collection___list
;
13 extern const int SFT_standard___collection___list
[];
14 #define ID_standard___collection___list___List (SFT_standard___collection___list[0])
15 #define COLOR_standard___collection___list___List (SFT_standard___collection___list[1])
16 #define ATTR_standard___collection___list___List____head(recv) ATTR(recv, (SFT_standard___collection___list[2] + 0))
17 #define ATTR_standard___collection___list___List____tail(recv) ATTR(recv, (SFT_standard___collection___list[2] + 1))
18 #define INIT_TABLE_POS_standard___collection___list___List (SFT_standard___collection___list[3] + 0)
19 #define CALL_standard___collection___list___List___link(recv) ((standard___collection___list___List___link_t)CALL((recv), (SFT_standard___collection___list[3] + 1)))
20 #define CALL_standard___collection___list___List___init(recv) ((standard___collection___list___List___init_t)CALL((recv), (SFT_standard___collection___list[3] + 2)))
21 #define CALL_standard___collection___list___List___from(recv) ((standard___collection___list___List___from_t)CALL((recv), (SFT_standard___collection___list[3] + 3)))
22 #define CALL_standard___collection___list___List___get_node(recv) ((standard___collection___list___List___get_node_t)CALL((recv), (SFT_standard___collection___list[3] + 4)))
23 #define CALL_standard___collection___list___List___search_node_after(recv) ((standard___collection___list___List___search_node_after_t)CALL((recv), (SFT_standard___collection___list[3] + 5)))
24 #define CALL_standard___collection___list___List___remove_node(recv) ((standard___collection___list___List___remove_node_t)CALL((recv), (SFT_standard___collection___list[3] + 6)))
25 #define CALL_standard___collection___list___List___insert_before(recv) ((standard___collection___list___List___insert_before_t)CALL((recv), (SFT_standard___collection___list[3] + 7)))
26 #define ID_standard___collection___list___ListIterator (SFT_standard___collection___list[4])
27 #define COLOR_standard___collection___list___ListIterator (SFT_standard___collection___list[5])
28 #define ATTR_standard___collection___list___ListIterator____list(recv) ATTR(recv, (SFT_standard___collection___list[6] + 0))
29 #define ATTR_standard___collection___list___ListIterator____node(recv) ATTR(recv, (SFT_standard___collection___list[6] + 1))
30 #define ATTR_standard___collection___list___ListIterator____index(recv) ATTR(recv, (SFT_standard___collection___list[6] + 2))
31 #define INIT_TABLE_POS_standard___collection___list___ListIterator (SFT_standard___collection___list[7] + 0)
32 #define CALL_standard___collection___list___ListIterator___item__eq(recv) ((standard___collection___list___ListIterator___item__eq_t)CALL((recv), (SFT_standard___collection___list[7] + 1)))
33 #define CALL_standard___collection___list___ListIterator___init(recv) ((standard___collection___list___ListIterator___init_t)CALL((recv), (SFT_standard___collection___list[7] + 2)))
34 #define CALL_standard___collection___list___ListIterator___delete(recv) ((standard___collection___list___ListIterator___delete_t)CALL((recv), (SFT_standard___collection___list[7] + 3)))
35 #define CALL_standard___collection___list___ListIterator___insert_before(recv) ((standard___collection___list___ListIterator___insert_before_t)CALL((recv), (SFT_standard___collection___list[7] + 4)))
36 #define ID_standard___collection___list___ListNode (SFT_standard___collection___list[8])
37 #define COLOR_standard___collection___list___ListNode (SFT_standard___collection___list[9])
38 #define ATTR_standard___collection___list___ListNode____next(recv) ATTR(recv, (SFT_standard___collection___list[10] + 0))
39 #define ATTR_standard___collection___list___ListNode____prev(recv) ATTR(recv, (SFT_standard___collection___list[10] + 1))
40 #define INIT_TABLE_POS_standard___collection___list___ListNode (SFT_standard___collection___list[11] + 0)
41 #define CALL_standard___collection___list___ListNode___init(recv) ((standard___collection___list___ListNode___init_t)CALL((recv), (SFT_standard___collection___list[11] + 1)))
42 #define CALL_standard___collection___list___ListNode___next(recv) ((standard___collection___list___ListNode___next_t)CALL((recv), (SFT_standard___collection___list[11] + 2)))
43 #define CALL_standard___collection___list___ListNode___next__eq(recv) ((standard___collection___list___ListNode___next__eq_t)CALL((recv), (SFT_standard___collection___list[11] + 3)))
44 #define CALL_standard___collection___list___ListNode___prev(recv) ((standard___collection___list___ListNode___prev_t)CALL((recv), (SFT_standard___collection___list[11] + 4)))
45 #define CALL_standard___collection___list___ListNode___prev__eq(recv) ((standard___collection___list___ListNode___prev__eq_t)CALL((recv), (SFT_standard___collection___list[11] + 5)))
46 static const char * const LOCATE_standard___collection___list___List_____bra
= "list::List::(abstract_collection::SequenceRead::[])";
47 val_t
standard___collection___list___List_____bra(val_t p0
, val_t p1
);
48 typedef val_t (*standard___collection___list___List_____bra_t
)(val_t p0
, val_t p1
);
49 static const char * const LOCATE_standard___collection___list___List_____braeq
= "list::List::(abstract_collection::Sequence::[]=)";
50 void standard___collection___list___List_____braeq(val_t p0
, val_t p1
, val_t p2
);
51 typedef void (*standard___collection___list___List_____braeq_t
)(val_t p0
, val_t p1
, val_t p2
);
52 static const char * const LOCATE_standard___collection___list___List___first
= "list::List::(abstract_collection::Collection::first)";
53 val_t
standard___collection___list___List___first(val_t p0
);
54 typedef val_t (*standard___collection___list___List___first_t
)(val_t p0
);
55 static const char * const LOCATE_standard___collection___list___List___first__eq
= "list::List::(abstract_collection::Sequence::first=)";
56 void standard___collection___list___List___first__eq(val_t p0
, val_t p1
);
57 typedef void (*standard___collection___list___List___first__eq_t
)(val_t p0
, val_t p1
);
58 static const char * const LOCATE_standard___collection___list___List___last
= "list::List::(abstract_collection::SequenceRead::last)";
59 val_t
standard___collection___list___List___last(val_t p0
);
60 typedef val_t (*standard___collection___list___List___last_t
)(val_t p0
);
61 static const char * const LOCATE_standard___collection___list___List___last__eq
= "list::List::(abstract_collection::Sequence::last=)";
62 void standard___collection___list___List___last__eq(val_t p0
, val_t p1
);
63 typedef void (*standard___collection___list___List___last__eq_t
)(val_t p0
, val_t p1
);
64 static const char * const LOCATE_standard___collection___list___List___is_empty
= "list::List::(abstract_collection::Collection::is_empty)";
65 val_t
standard___collection___list___List___is_empty(val_t p0
);
66 typedef val_t (*standard___collection___list___List___is_empty_t
)(val_t p0
);
67 static const char * const LOCATE_standard___collection___list___List___length
= "list::List::(abstract_collection::Collection::length)";
68 val_t
standard___collection___list___List___length(val_t p0
);
69 typedef val_t (*standard___collection___list___List___length_t
)(val_t p0
);
70 static const char * const LOCATE_standard___collection___list___List___has
= "list::List::(abstract_collection::Collection::has)";
71 val_t
standard___collection___list___List___has(val_t p0
, val_t p1
);
72 typedef val_t (*standard___collection___list___List___has_t
)(val_t p0
, val_t p1
);
73 static const char * const LOCATE_standard___collection___list___List___has_only
= "list::List::(abstract_collection::Collection::has_only)";
74 val_t
standard___collection___list___List___has_only(val_t p0
, val_t p1
);
75 typedef val_t (*standard___collection___list___List___has_only_t
)(val_t p0
, val_t p1
);
76 static const char * const LOCATE_standard___collection___list___List___count
= "list::List::(abstract_collection::Collection::count)";
77 val_t
standard___collection___list___List___count(val_t p0
, val_t p1
);
78 typedef val_t (*standard___collection___list___List___count_t
)(val_t p0
, val_t p1
);
79 static const char * const LOCATE_standard___collection___list___List___push
= "list::List::(abstract_collection::Sequence::push)";
80 void standard___collection___list___List___push(val_t p0
, val_t p1
);
81 typedef void (*standard___collection___list___List___push_t
)(val_t p0
, val_t p1
);
82 static const char * const LOCATE_standard___collection___list___List___unshift
= "list::List::(abstract_collection::Sequence::unshift)";
83 void standard___collection___list___List___unshift(val_t p0
, val_t p1
);
84 typedef void (*standard___collection___list___List___unshift_t
)(val_t p0
, val_t p1
);
85 static const char * const LOCATE_standard___collection___list___List___link
= "list::List::link";
86 void standard___collection___list___List___link(val_t p0
, val_t p1
);
87 typedef void (*standard___collection___list___List___link_t
)(val_t p0
, val_t p1
);
88 static const char * const LOCATE_standard___collection___list___List___pop
= "list::List::(abstract_collection::Sequence::pop)";
89 val_t
standard___collection___list___List___pop(val_t p0
);
90 typedef val_t (*standard___collection___list___List___pop_t
)(val_t p0
);
91 static const char * const LOCATE_standard___collection___list___List___shift
= "list::List::(abstract_collection::Sequence::shift)";
92 val_t
standard___collection___list___List___shift(val_t p0
);
93 typedef val_t (*standard___collection___list___List___shift_t
)(val_t p0
);
94 static const char * const LOCATE_standard___collection___list___List___remove
= "list::List::(abstract_collection::RemovableCollection::remove)";
95 void standard___collection___list___List___remove(val_t p0
, val_t p1
);
96 typedef void (*standard___collection___list___List___remove_t
)(val_t p0
, val_t p1
);
97 static const char * const LOCATE_standard___collection___list___List___remove_at
= "list::List::(abstract_collection::Sequence::remove_at)";
98 void standard___collection___list___List___remove_at(val_t p0
, val_t p1
);
99 typedef void (*standard___collection___list___List___remove_at_t
)(val_t p0
, val_t p1
);
100 static const char * const LOCATE_standard___collection___list___List___clear
= "list::List::(abstract_collection::RemovableCollection::clear)";
101 void standard___collection___list___List___clear(val_t p0
);
102 typedef void (*standard___collection___list___List___clear_t
)(val_t p0
);
103 static const char * const LOCATE_standard___collection___list___List___iterator
= "list::List::(abstract_collection::Collection::iterator)";
104 val_t
standard___collection___list___List___iterator(val_t p0
);
105 typedef val_t (*standard___collection___list___List___iterator_t
)(val_t p0
);
106 static const char * const LOCATE_standard___collection___list___List___init
= "list::List::init";
107 void standard___collection___list___List___init(val_t p0
, int* init_table
);
108 typedef void (*standard___collection___list___List___init_t
)(val_t p0
, int* init_table
);
109 val_t
NEW_List_standard___collection___list___List___init();
110 static const char * const LOCATE_standard___collection___list___List___from
= "list::List::from";
111 void standard___collection___list___List___from(val_t p0
, val_t p1
, int* init_table
);
112 typedef void (*standard___collection___list___List___from_t
)(val_t p0
, val_t p1
, int* init_table
);
113 val_t
NEW_List_standard___collection___list___List___from(val_t p0
);
114 static const char * const LOCATE_standard___collection___list___List___get_node
= "list::List::get_node";
115 val_t
standard___collection___list___List___get_node(val_t p0
, val_t p1
);
116 typedef val_t (*standard___collection___list___List___get_node_t
)(val_t p0
, val_t p1
);
117 static const char * const LOCATE_standard___collection___list___List___search_node_after
= "list::List::search_node_after";
118 val_t
standard___collection___list___List___search_node_after(val_t p0
, val_t p1
, val_t p2
);
119 typedef val_t (*standard___collection___list___List___search_node_after_t
)(val_t p0
, val_t p1
, val_t p2
);
120 static const char * const LOCATE_standard___collection___list___List___remove_node
= "list::List::remove_node";
121 void standard___collection___list___List___remove_node(val_t p0
, val_t p1
);
122 typedef void (*standard___collection___list___List___remove_node_t
)(val_t p0
, val_t p1
);
123 static const char * const LOCATE_standard___collection___list___List___insert_before
= "list::List::insert_before";
124 void standard___collection___list___List___insert_before(val_t p0
, val_t p1
, val_t p2
);
125 typedef void (*standard___collection___list___List___insert_before_t
)(val_t p0
, val_t p1
, val_t p2
);
126 static const char * const LOCATE_standard___collection___list___ListIterator___item
= "list::ListIterator::(abstract_collection::Iterator::item)";
127 val_t
standard___collection___list___ListIterator___item(val_t p0
);
128 typedef val_t (*standard___collection___list___ListIterator___item_t
)(val_t p0
);
129 static const char * const LOCATE_standard___collection___list___ListIterator___item__eq
= "list::ListIterator::item=";
130 void standard___collection___list___ListIterator___item__eq(val_t p0
, val_t p1
);
131 typedef void (*standard___collection___list___ListIterator___item__eq_t
)(val_t p0
, val_t p1
);
132 static const char * const LOCATE_standard___collection___list___ListIterator___is_ok
= "list::ListIterator::(abstract_collection::Iterator::is_ok)";
133 val_t
standard___collection___list___ListIterator___is_ok(val_t p0
);
134 typedef val_t (*standard___collection___list___ListIterator___is_ok_t
)(val_t p0
);
135 static const char * const LOCATE_standard___collection___list___ListIterator___next
= "list::ListIterator::(abstract_collection::Iterator::next)";
136 void standard___collection___list___ListIterator___next(val_t p0
);
137 typedef void (*standard___collection___list___ListIterator___next_t
)(val_t p0
);
138 static const char * const LOCATE_standard___collection___list___ListIterator___init
= "list::ListIterator::init";
139 void standard___collection___list___ListIterator___init(val_t p0
, val_t p1
, int* init_table
);
140 typedef void (*standard___collection___list___ListIterator___init_t
)(val_t p0
, val_t p1
, int* init_table
);
141 val_t
NEW_ListIterator_standard___collection___list___ListIterator___init(val_t p0
);
142 static const char * const LOCATE_standard___collection___list___ListIterator___index
= "list::ListIterator::(abstract_collection::IndexedIterator::index)";
143 val_t
standard___collection___list___ListIterator___index(val_t p0
);
144 typedef val_t (*standard___collection___list___ListIterator___index_t
)(val_t p0
);
145 static const char * const LOCATE_standard___collection___list___ListIterator___delete
= "list::ListIterator::delete";
146 void standard___collection___list___ListIterator___delete(val_t p0
);
147 typedef void (*standard___collection___list___ListIterator___delete_t
)(val_t p0
);
148 static const char * const LOCATE_standard___collection___list___ListIterator___insert_before
= "list::ListIterator::insert_before";
149 void standard___collection___list___ListIterator___insert_before(val_t p0
, val_t p1
);
150 typedef void (*standard___collection___list___ListIterator___insert_before_t
)(val_t p0
, val_t p1
);
151 static const char * const LOCATE_standard___collection___list___ListNode___init
= "list::ListNode::init";
152 void standard___collection___list___ListNode___init(val_t p0
, val_t p1
, int* init_table
);
153 typedef void (*standard___collection___list___ListNode___init_t
)(val_t p0
, val_t p1
, int* init_table
);
154 val_t
NEW_ListNode_standard___collection___list___ListNode___init(val_t p0
);
155 static const char * const LOCATE_standard___collection___list___ListNode___next
= "list::ListNode::next";
156 val_t
standard___collection___list___ListNode___next(val_t p0
);
157 typedef val_t (*standard___collection___list___ListNode___next_t
)(val_t p0
);
158 static const char * const LOCATE_standard___collection___list___ListNode___next__eq
= "list::ListNode::next=";
159 void standard___collection___list___ListNode___next__eq(val_t p0
, val_t p1
);
160 typedef void (*standard___collection___list___ListNode___next__eq_t
)(val_t p0
, val_t p1
);
161 static const char * const LOCATE_standard___collection___list___ListNode___prev
= "list::ListNode::prev";
162 val_t
standard___collection___list___ListNode___prev(val_t p0
);
163 typedef val_t (*standard___collection___list___ListNode___prev_t
)(val_t p0
);
164 static const char * const LOCATE_standard___collection___list___ListNode___prev__eq
= "list::ListNode::prev=";
165 void standard___collection___list___ListNode___prev__eq(val_t p0
, val_t p1
);
166 typedef void (*standard___collection___list___ListNode___prev__eq_t
)(val_t p0
, val_t p1
);