remove deprecation notice for TT #449
[parrot.git] / src / vtable.tbl
blob0aa80ece2cfc25bafba4ef40b0213f782f56d36a
1 # $Id$
2 # [MAIN] #default section name
4 # MMD_EQ ... MMD_STRCMP must be in one block
5 # see src/multidispatch.c
7 # INPLACE MMD variant must always be normal op + 1
9 void init()
10 # init must be first for JITed vtable meths
11 void init_pmc(PMC* initializer)
12 PMC* instantiate(PMC* sig)
13 void morph(PMC* type) :write
14 void mark()
15 void destroy()
16 PMC* get_namespace()
18 # XXX FIXME should this be marked as writing?
19 PMC* getprop(STRING* key)
20 void setprop(STRING* key, PMC* value)
21 void delprop(STRING* key)
22 PMC* getprops()
24 INTVAL type()
26 STRING* name()
28 PMC* clone()
29 PMC* clone_pmc(PMC* args)
31 PMC* find_method(STRING* method_name)
33 [FETCH]
34 INTVAL get_integer()
35 INTVAL get_integer_keyed(PMC* key)
36 INTVAL get_integer_keyed_int(INTVAL key)
37 INTVAL get_integer_keyed_str(STRING* key)
39 FLOATVAL get_number()
40 FLOATVAL get_number_keyed(PMC* key)
41 FLOATVAL get_number_keyed_int(INTVAL key)
42 FLOATVAL get_number_keyed_str(STRING* key)
44 STRING* get_string()
45 STRING* get_repr()
46 STRING* get_string_keyed(PMC* key)
47 STRING* get_string_keyed_int(INTVAL key)
48 STRING* get_string_keyed_str(STRING* key)
50 INTVAL get_bool()
52 PMC* get_pmc()
53 PMC* get_pmc_keyed(PMC* key)
54 PMC* get_pmc_keyed_int(INTVAL key)
55 PMC* get_pmc_keyed_str(STRING* key)
57 void* get_pointer()
58 void* get_pointer_keyed(PMC* key)
59 void* get_pointer_keyed_int(INTVAL key)
60 void* get_pointer_keyed_str(STRING* key)
62 [STORE] :write
63 void set_integer_native(INTVAL value)
64 void set_integer_keyed(PMC* key, INTVAL value)
65 void set_integer_keyed_int(INTVAL key, INTVAL value)
66 void set_integer_keyed_str(STRING* key, INTVAL value)
68 void set_number_native(FLOATVAL value)
69 void set_number_keyed(PMC* key, FLOATVAL value)
70 void set_number_keyed_int(INTVAL key, FLOATVAL value)
71 void set_number_keyed_str(STRING* key, FLOATVAL value)
73 void set_string_native(STRING* value)
74 void assign_string_native(STRING* value)
75 void set_string_keyed(PMC* key, STRING* value)
76 void set_string_keyed_int(INTVAL key, STRING* value)
77 void set_string_keyed_str(STRING* key, STRING* value)
79 void set_bool(INTVAL value)
81 void set_pmc(PMC* value)
82 void assign_pmc(PMC* value)
83 void set_pmc_keyed(PMC* key, PMC* value)
84 void set_pmc_keyed_int(INTVAL key, PMC* value)
85 void set_pmc_keyed_str(STRING* key, PMC* value)
87 void set_pointer(void* value)
88 void set_pointer_keyed(PMC* key, void* value)
89 void set_pointer_keyed_int(INTVAL key, void* value)
90 void set_pointer_keyed_str(STRING* key, void* value)
92 [FETCHSIZE]
93 INTVAL elements()
95 [POP] :write
96 INTVAL pop_integer()
97 FLOATVAL pop_float()
98 STRING* pop_string()
99 PMC* pop_pmc()
101 [PUSH] :write
102 void push_integer(INTVAL value)
103 void push_float(FLOATVAL value)
104 void push_string(STRING* value)
105 void push_pmc(PMC* value)
107 [SHIFT] :write
108 INTVAL shift_integer()
109 FLOATVAL shift_float()
110 STRING* shift_string()
111 PMC* shift_pmc()
113 [UNSHIFT] :write
114 void unshift_integer(INTVAL value)
115 void unshift_float(FLOATVAL value)
116 void unshift_string(STRING* value)
117 void unshift_pmc(PMC* value)
119 ## void splice ???
121 [SPLICE] :write
122 void splice(PMC* value, INTVAL offset, INTVAL count)
124 # XXX marking writing here?
125 [MATH]
126 PMC* add(PMC* value, PMC* dest)
127 PMC* add_int(INTVAL value, PMC* dest)
128 PMC* add_float(FLOATVAL value, PMC* dest)
130 void i_add(PMC* value) :write
131 void i_add_int(INTVAL value) :write
132 void i_add_float(FLOATVAL value) :write
134 PMC* subtract(PMC* value, PMC* dest)
135 PMC* subtract_int(INTVAL value, PMC* dest)
136 PMC* subtract_float(FLOATVAL value, PMC* dest)
138 void i_subtract(PMC* value) :write
139 void i_subtract_int(INTVAL value) :write
140 void i_subtract_float(FLOATVAL value) :write
142 PMC* multiply(PMC* value, PMC* dest)
143 PMC* multiply_int(INTVAL value, PMC* dest)
144 PMC* multiply_float(FLOATVAL value, PMC* dest)
146 void i_multiply(PMC* value) :write
147 void i_multiply_int(INTVAL value) :write
148 void i_multiply_float(FLOATVAL value) :write
150 PMC* divide(PMC* value, PMC* dest)
151 PMC* divide_int(INTVAL value, PMC* dest)
152 PMC* divide_float(FLOATVAL value, PMC* dest)
154 void i_divide(PMC* value) :write
155 void i_divide_int(INTVAL value) :write
156 void i_divide_float(FLOATVAL value) :write
158 PMC* floor_divide(PMC* value, PMC* dest)
159 PMC* floor_divide_int(INTVAL value, PMC* dest)
160 PMC* floor_divide_float(FLOATVAL value, PMC* dest)
162 void i_floor_divide(PMC* value) :write
163 void i_floor_divide_int(INTVAL value) :write
164 void i_floor_divide_float(FLOATVAL value) :write
166 PMC* modulus(PMC* value, PMC* dest)
167 PMC* modulus_int(INTVAL value, PMC* dest)
168 PMC* modulus_float(FLOATVAL value, PMC* dest)
170 void i_modulus(PMC* value) :write
171 void i_modulus_int(INTVAL value) :write
172 void i_modulus_float(FLOATVAL value) :write
174 void increment() :write
175 void decrement() :write
177 PMC* absolute(PMC* dest)
178 void i_absolute() :write
180 PMC* neg(PMC* dest)
181 void i_neg() :write
183 [CMP]
184 INTVAL is_equal(PMC* value)
185 INTVAL is_equal_num(PMC* value)
186 INTVAL is_equal_string(PMC* value)
188 INTVAL is_same(PMC* value)
190 INTVAL cmp(PMC* value)
191 INTVAL cmp_num(PMC* value)
192 INTVAL cmp_string(PMC* value)
193 PMC* cmp_pmc(PMC* value)
195 PMC* logical_or(PMC* value, PMC* dest)
197 PMC* logical_and(PMC* value, PMC* dest)
199 PMC* logical_xor(PMC* value, PMC* dest)
201 PMC* logical_not(PMC* dest)
202 void i_logical_not() :write
205 [STRING]
206 PMC* concatenate(PMC* value, PMC* dest)
207 PMC* concatenate_str(STRING* value, PMC* dest)
209 void i_concatenate(PMC* value) :write
210 void i_concatenate_str(STRING* value) :write
212 PMC* repeat(PMC* value, PMC* dest)
213 PMC* repeat_int(INTVAL value, PMC* dest)
215 void i_repeat(PMC* value) :write
216 void i_repeat_int(INTVAL value) :write
218 void substr(INTVAL offset, INTVAL length, PMC* dest)
219 STRING* substr_str(INTVAL offset, INTVAL length)
221 [EXISTS]
222 INTVAL exists_keyed(PMC* key)
223 INTVAL exists_keyed_int(INTVAL key)
224 INTVAL exists_keyed_str(STRING* key)
226 [MAIN]
227 INTVAL defined()
228 INTVAL defined_keyed(PMC* key)
229 INTVAL defined_keyed_int(INTVAL key)
230 INTVAL defined_keyed_str(STRING* key)
232 [DELETE] :write
233 void delete_keyed(PMC* key)
234 void delete_keyed_int(INTVAL key)
235 void delete_keyed_str(STRING* key)
237 [MAIN]
238 PMC* get_iter()
239 INTVAL hashvalue()
241 opcode_t* invoke(void* next)
243 INTVAL can(STRING* method)
245 INTVAL does_pmc(PMC* role)
246 INTVAL does(STRING* role)
248 INTVAL isa_pmc(PMC* _class)
249 INTVAL isa(STRING* _class)
251 PMC* get_attr_str(STRING* idx)
252 PMC* get_attr_keyed(PMC* key, STRING* idx)
253 void set_attr_str(STRING* idx, PMC* value) :write
254 void set_attr_keyed(PMC* key, STRING* idx, PMC* value) :write
256 PMC* get_class()
258 void add_parent(PMC* parent) :write
259 void remove_parent(PMC* parent) :write
261 void add_role(PMC* role) :write
262 void remove_role(PMC* role) :write
264 void add_attribute(STRING* name, PMC* type) :write
265 void remove_attribute(STRING* name) :write
267 void add_method(STRING* method_name, PMC* sub_pmc) :write
268 void remove_method(STRING* method_name) :write
270 void add_vtable_override(STRING* vtable_name, PMC* sub_pmc) :write
271 void remove_vtable_override(STRING* vtable_name) :write
273 PMC* inspect()
274 PMC* inspect_str(STRING* what)
276 void freeze(PMC* info)
277 void thaw  (PMC* info) :write
278 void thawfinish (PMC* info) :write
279 void visit (PMC* info)
281 void share()
283 PMC* share_ro()
285 void init_int(INTVAL initializer)