allow either target width or height to be zero
[swftools.git] / lib / modules / swfabc_ops.c
1 void abc_add(abc_method_body_t*c)
2 {
3     swf_SetU8(c->tag, 0xa0);
4 }
5 #define add() abc_add(abc_code)
6 void abc_add_i(abc_method_body_t*c)
7 {
8     swf_SetU8(c->tag, 0xc5);
9 }
10 #define add_i() abc_add_i(abc_code)
11 void abc_atype(abc_method_body_t*c, char* name)
12 {
13     swf_SetU8(c->tag, 0x86);
14     swf_SetU30(c->tag, multiname_index(c->pool, name));
15 }
16 #define atype(name) abc_atype(abc_code,name)
17 void abc_astypelate(abc_method_body_t*c)
18 {
19     swf_SetU8(c->tag, 0x87);
20 }
21 #define astypelate() abc_astypelate(abc_code)
22 void abc_bitand(abc_method_body_t*c)
23 {
24     swf_SetU8(c->tag, 0xA8);
25 }
26 #define bitand() abc_bitand(abc_code)
27 void abc_bitnot(abc_method_body_t*c)
28 {
29     swf_SetU8(c->tag, 0x97);
30 }
31 #define bitnot() abc_bitnot(abc_code)
32 void abc_bitor(abc_method_body_t*c)
33 {
34     swf_SetU8(c->tag, 0xa9);
35 }
36 #define bitor() abc_bitor(abc_code)
37 void abc_bitxor(abc_method_body_t*c)
38 {
39     swf_SetU8(c->tag, 0xaa);
40 }
41 #define bitxor() abc_bitxor(abc_code)
42 void abc_call(abc_method_body_t*c, int v)
43 {
44     swf_SetU8(c->tag, 0x41);
45     swf_SetU30(c->tag, v);
46 }
47 #define call(v) abc_call(abc_code,v)
48 void abc_callmethod(abc_method_body_t*c, abc_method_body_t* m, int v)
49 {
50     swf_SetU8(c->tag, 0x43);
51     swf_SetU30(c->tag, m->index);
52     swf_SetU30(c->tag, v);
53 }
54 #define callmethod(m,v) abc_callmethod(abc_code,m,v)
55 void abc_callproplex(abc_method_body_t*c, char* name, int v)
56 {
57     swf_SetU8(c->tag, 0x4c);
58     swf_SetU30(c->tag, multiname_index(c->pool, name));
59     swf_SetU30(c->tag, v);
60 }
61 #define callproplex(name,v) abc_callproplex(abc_code,name,v)
62 void abc_callproperty(abc_method_body_t*c, char* name, int v)
63 {
64     swf_SetU8(c->tag, 0x46);
65     swf_SetU30(c->tag, multiname_index(c->pool, name));
66     swf_SetU30(c->tag, v);
67 }
68 #define callproperty(name,v) abc_callproperty(abc_code,name,v)
69 void abc_callpropvoid(abc_method_body_t*c, char* name, int v)
70 {
71     swf_SetU8(c->tag, 0x4f);
72     swf_SetU30(c->tag, multiname_index(c->pool, name));
73     swf_SetU30(c->tag, v);
74 }
75 #define callpropvoid(name,v) abc_callpropvoid(abc_code,name,v)
76 void abc_callstatic(abc_method_body_t*c, abc_method_t* m, int v)
77 {
78     swf_SetU8(c->tag, 0x44);
79     swf_SetU30(c->tag, m->index);
80     swf_SetU30(c->tag, v);
81 }
82 #define callstatic(m,v) abc_callstatic(abc_code,m,v)
83 void abc_callsuper(abc_method_body_t*c, char* name, int v)
84 {
85     swf_SetU8(c->tag, 0x45);
86     swf_SetU30(c->tag, multiname_index(c->pool, name));
87     swf_SetU30(c->tag, v);
88 }
89 #define callsuper(name,v) abc_callsuper(abc_code,name,v)
90 void abc_callsupervoid(abc_method_body_t*c, char* name, int v)
91 {
92     swf_SetU8(c->tag, 0x4e);
93     swf_SetU30(c->tag, multiname_index(c->pool, name));
94     swf_SetU30(c->tag, v);
95 }
96 #define callsupervoid(name,v) abc_callsupervoid(abc_code,name,v)
97 void abc_checkfilter(abc_method_body_t*c)
98 {
99     swf_SetU8(c->tag, 0x78);
100 }
101 #define checkfilter() abc_checkfilter(abc_code)
102 void abc_coerce(abc_method_body_t*c, abc_method_body_t* m)
103 {
104     swf_SetU8(c->tag, 0x80);
105     swf_SetU30(c->tag, m->index);
106 }
107 #define coerce(m) abc_coerce(abc_code,m)
108 void abc_coerce_a(abc_method_body_t*c)
109 {
110     swf_SetU8(c->tag, 0x82);
111 }
112 #define coerce_a() abc_coerce_a(abc_code)
113 void abc_coerce_s(abc_method_body_t*c)
114 {
115     swf_SetU8(c->tag, 0x85);
116 }
117 #define coerce_s() abc_coerce_s(abc_code)
118 void abc_construct(abc_method_body_t*c, int v)
119 {
120     swf_SetU8(c->tag, 0x42);
121     swf_SetU30(c->tag, v);
122 }
123 #define construct(v) abc_construct(abc_code,v)
124 void abc_constructprop(abc_method_body_t*c, char* name, int v)
125 {
126     swf_SetU8(c->tag, 0x4a);
127     swf_SetU30(c->tag, multiname_index(c->pool, name));
128     swf_SetU30(c->tag, v);
129 }
130 #define constructprop(name,v) abc_constructprop(abc_code,name,v)
131 void abc_constructsuper(abc_method_body_t*c, int v)
132 {
133     swf_SetU8(c->tag, 0x49);
134     swf_SetU30(c->tag, v);
135 }
136 #define constructsuper(v) abc_constructsuper(abc_code,v)
137 void abc_convert_b(abc_method_body_t*c)
138 {
139     swf_SetU8(c->tag, 0x76);
140 }
141 #define convert_b() abc_convert_b(abc_code)
142 void abc_convert_i(abc_method_body_t*c)
143 {
144     swf_SetU8(c->tag, 0x73);
145 }
146 #define convert_i() abc_convert_i(abc_code)
147 void abc_convert_d(abc_method_body_t*c)
148 {
149     swf_SetU8(c->tag, 0x75);
150 }
151 #define convert_d() abc_convert_d(abc_code)
152 void abc_convert_o(abc_method_body_t*c)
153 {
154     swf_SetU8(c->tag, 0x77);
155 }
156 #define convert_o() abc_convert_o(abc_code)
157 void abc_convert_u(abc_method_body_t*c)
158 {
159     swf_SetU8(c->tag, 0x74);
160 }
161 #define convert_u() abc_convert_u(abc_code)
162 void abc_convert_s(abc_method_body_t*c)
163 {
164     swf_SetU8(c->tag, 0x70);
165 }
166 #define convert_s() abc_convert_s(abc_code)
167 void abc_debug(abc_method_body_t*c, int v, char* s, int v2, int v3)
168 {
169     swf_SetU8(c->tag, 0xef);
170     swf_SetU8(c->tag, v);
171     swf_SetU30(c->tag, dict_update(c->pool->strings, s, 0));
172     swf_SetU8(c->tag, v2);
173     swf_SetU30(c->tag, v3);
174 }
175 #define debug(v,s,v2,v3) abc_debug(abc_code,v,s,v2,v3)
176 void abc_debugfile(abc_method_body_t*c, char* s)
177 {
178     swf_SetU8(c->tag, 0xf1);
179     swf_SetU30(c->tag, dict_update(c->pool->strings, s, 0));
180 }
181 #define debugfile(s) abc_debugfile(abc_code,s)
182 void abc_debugline(abc_method_body_t*c, int v)
183 {
184     swf_SetU8(c->tag, 0xf0);
185     swf_SetU30(c->tag, v);
186 }
187 #define debugline(v) abc_debugline(abc_code,v)
188 void abc_declocal(abc_method_body_t*c, int v)
189 {
190     swf_SetU8(c->tag, 0x94);
191     swf_SetU30(c->tag, v);
192 }
193 #define declocal(v) abc_declocal(abc_code,v)
194 void abc_declocal_i(abc_method_body_t*c, int v)
195 {
196     swf_SetU8(c->tag, 0xc3);
197     swf_SetU30(c->tag, v);
198 }
199 #define declocal_i(v) abc_declocal_i(abc_code,v)
200 void abc_decrement(abc_method_body_t*c)
201 {
202     swf_SetU8(c->tag, 0x93);
203 }
204 #define decrement() abc_decrement(abc_code)
205 void abc_decrement_i(abc_method_body_t*c)
206 {
207     swf_SetU8(c->tag, 0xc1);
208 }
209 #define decrement_i() abc_decrement_i(abc_code)
210 void abc_deleteproperty(abc_method_body_t*c, char* name)
211 {
212     swf_SetU8(c->tag, 0x6a);
213     swf_SetU30(c->tag, multiname_index(c->pool, name));
214 }
215 #define deleteproperty(name) abc_deleteproperty(abc_code,name)
216 void abc_divide(abc_method_body_t*c)
217 {
218     swf_SetU8(c->tag, 0xa3);
219 }
220 #define divide() abc_divide(abc_code)
221 void abc_dup(abc_method_body_t*c)
222 {
223     swf_SetU8(c->tag, 0x2a);
224 }
225 #define dup() abc_dup(abc_code)
226 void abc_dxns(abc_method_body_t*c, char* s)
227 {
228     swf_SetU8(c->tag, 0x06);
229     swf_SetU30(c->tag, dict_update(c->pool->strings, s, 0));
230 }
231 #define dxns(s) abc_dxns(abc_code,s)
232 void abc_dxnslate(abc_method_body_t*c)
233 {
234     swf_SetU8(c->tag, 0x07);
235 }
236 #define dxnslate() abc_dxnslate(abc_code)
237 void abc_equals(abc_method_body_t*c)
238 {
239     swf_SetU8(c->tag, 0xab);
240 }
241 #define equals() abc_equals(abc_code)
242 void abc_esc_xattr(abc_method_body_t*c)
243 {
244     swf_SetU8(c->tag, 0x72);
245 }
246 #define esc_xattr() abc_esc_xattr(abc_code)
247 void abc_esc_xelem(abc_method_body_t*c)
248 {
249     swf_SetU8(c->tag, 0x71);
250 }
251 #define esc_xelem() abc_esc_xelem(abc_code)
252 void abc_findproperty(abc_method_body_t*c, char* name)
253 {
254     swf_SetU8(c->tag, 0x5e);
255     swf_SetU30(c->tag, multiname_index(c->pool, name));
256 }
257 #define findproperty(name) abc_findproperty(abc_code,name)
258 void abc_findpropstrict(abc_method_body_t*c, char* name)
259 {
260     swf_SetU8(c->tag, 0x5d);
261     swf_SetU30(c->tag, multiname_index(c->pool, name));
262 }
263 #define findpropstrict(name) abc_findpropstrict(abc_code,name)
264 void abc_getdescendants(abc_method_body_t*c, char* name)
265 {
266     swf_SetU8(c->tag, 0x59);
267     swf_SetU30(c->tag, multiname_index(c->pool, name));
268 }
269 #define getdescendants(name) abc_getdescendants(abc_code,name)
270 void abc_getglobalscope(abc_method_body_t*c)
271 {
272     swf_SetU8(c->tag, 0x64);
273 }
274 #define getglobalscope() abc_getglobalscope(abc_code)
275 void abc_getglobalslot(abc_method_body_t*c, int v)
276 {
277     swf_SetU8(c->tag, 0x6e);
278     swf_SetU30(c->tag, v);
279 }
280 #define getglobalslot(v) abc_getglobalslot(abc_code,v)
281 void abc_getlex(abc_method_body_t*c, char* name)
282 {
283     swf_SetU8(c->tag, 0x60);
284     swf_SetU30(c->tag, multiname_index(c->pool, name));
285 }
286 #define getlex(name) abc_getlex(abc_code,name)
287 void abc_getlocal(abc_method_body_t*c, int v)
288 {
289     swf_SetU8(c->tag, 0x62);
290     swf_SetU30(c->tag, v);
291 }
292 #define getlocal(v) abc_getlocal(abc_code,v)
293 void abc_getlocal_0(abc_method_body_t*c)
294 {
295     swf_SetU8(c->tag, 0xd0);
296 }
297 #define getlocal_0() abc_getlocal_0(abc_code)
298 void abc_getlocal_1(abc_method_body_t*c)
299 {
300     swf_SetU8(c->tag, 0xd1);
301 }
302 #define getlocal_1() abc_getlocal_1(abc_code)
303 void abc_getlocal_2(abc_method_body_t*c)
304 {
305     swf_SetU8(c->tag, 0xd2);
306 }
307 #define getlocal_2() abc_getlocal_2(abc_code)
308 void abc_getlocal_3(abc_method_body_t*c)
309 {
310     swf_SetU8(c->tag, 0xd3);
311 }
312 #define getlocal_3() abc_getlocal_3(abc_code)
313 void abc_getproperty(abc_method_body_t*c, char* name)
314 {
315     swf_SetU8(c->tag, 0x66);
316     swf_SetU30(c->tag, multiname_index(c->pool, name));
317 }
318 #define getproperty(name) abc_getproperty(abc_code,name)
319 void abc_getscopeobject(abc_method_body_t*c, int v)
320 {
321     swf_SetU8(c->tag, 0x65);
322     swf_SetU30(c->tag, v);
323 }
324 #define getscopeobject(v) abc_getscopeobject(abc_code,v)
325 void abc_getslot(abc_method_body_t*c, int v)
326 {
327     swf_SetU8(c->tag, 0x6c);
328     swf_SetU30(c->tag, v);
329 }
330 #define getslot(v) abc_getslot(abc_code,v)
331 void abc_getsuper(abc_method_body_t*c, char* name)
332 {
333     swf_SetU8(c->tag, 0x04);
334     swf_SetU30(c->tag, multiname_index(c->pool, name));
335 }
336 #define getsuper(name) abc_getsuper(abc_code,name)
337 void abc_greaterequals(abc_method_body_t*c)
338 {
339     swf_SetU8(c->tag, 0xaf);
340 }
341 #define greaterequals() abc_greaterequals(abc_code)
342 void abc_hasnext(abc_method_body_t*c)
343 {
344     swf_SetU8(c->tag, 0x1f);
345 }
346 #define hasnext() abc_hasnext(abc_code)
347 void abc_hasnext2(abc_method_body_t*c, int v, int v2)
348 {
349     swf_SetU8(c->tag, 0x32);
350     swf_SetU30(c->tag, v);
351     swf_SetU30(c->tag, v2);
352 }
353 #define hasnext2(v,v2) abc_hasnext2(abc_code,v,v2)
354 void abc_ifeq(abc_method_body_t*c, abc_label_t* j)
355 {
356     swf_SetU8(c->tag, 0x13);
357     /* FIXME: write label j */
358 }
359 #define ifeq(j) abc_ifeq(abc_code,j)
360 void abc_iffalse(abc_method_body_t*c, abc_label_t* j)
361 {
362     swf_SetU8(c->tag, 0x12);
363     /* FIXME: write label j */
364 }
365 #define iffalse(j) abc_iffalse(abc_code,j)
366 void abc_ifge(abc_method_body_t*c, abc_label_t* j)
367 {
368     swf_SetU8(c->tag, 0x18);
369     /* FIXME: write label j */
370 }
371 #define ifge(j) abc_ifge(abc_code,j)
372 void abc_ifgt(abc_method_body_t*c, abc_label_t* j)
373 {
374     swf_SetU8(c->tag, 0x17);
375     /* FIXME: write label j */
376 }
377 #define ifgt(j) abc_ifgt(abc_code,j)
378 void abc_ifle(abc_method_body_t*c, abc_label_t* j)
379 {
380     swf_SetU8(c->tag, 0x16);
381     /* FIXME: write label j */
382 }
383 #define ifle(j) abc_ifle(abc_code,j)
384 void abc_iflt(abc_method_body_t*c, abc_label_t* j)
385 {
386     swf_SetU8(c->tag, 0x15);
387     /* FIXME: write label j */
388 }
389 #define iflt(j) abc_iflt(abc_code,j)
390 void abc_ifnge(abc_method_body_t*c, abc_label_t* j)
391 {
392     swf_SetU8(c->tag, 0x0f);
393     /* FIXME: write label j */
394 }
395 #define ifnge(j) abc_ifnge(abc_code,j)
396 void abc_ifngt(abc_method_body_t*c, abc_label_t* j)
397 {
398     swf_SetU8(c->tag, 0x0e);
399     /* FIXME: write label j */
400 }
401 #define ifngt(j) abc_ifngt(abc_code,j)
402 void abc_ifnle(abc_method_body_t*c, abc_label_t* j)
403 {
404     swf_SetU8(c->tag, 0x0d);
405     /* FIXME: write label j */
406 }
407 #define ifnle(j) abc_ifnle(abc_code,j)
408 void abc_ifnlt(abc_method_body_t*c, abc_label_t* j)
409 {
410     swf_SetU8(c->tag, 0x0c);
411     /* FIXME: write label j */
412 }
413 #define ifnlt(j) abc_ifnlt(abc_code,j)
414 void abc_ifne(abc_method_body_t*c, abc_label_t* j)
415 {
416     swf_SetU8(c->tag, 0x14);
417     /* FIXME: write label j */
418 }
419 #define ifne(j) abc_ifne(abc_code,j)
420 void abc_ifstricteq(abc_method_body_t*c, abc_label_t* j)
421 {
422     swf_SetU8(c->tag, 0x19);
423     /* FIXME: write label j */
424 }
425 #define ifstricteq(j) abc_ifstricteq(abc_code,j)
426 void abc_ifstrictne(abc_method_body_t*c, abc_label_t* j)
427 {
428     swf_SetU8(c->tag, 0x1a);
429     /* FIXME: write label j */
430 }
431 #define ifstrictne(j) abc_ifstrictne(abc_code,j)
432 void abc_iftrue(abc_method_body_t*c, abc_label_t* j)
433 {
434     swf_SetU8(c->tag, 0x11);
435     /* FIXME: write label j */
436 }
437 #define iftrue(j) abc_iftrue(abc_code,j)
438 void abc_in(abc_method_body_t*c)
439 {
440     swf_SetU8(c->tag, 0xb4);
441 }
442 #define in() abc_in(abc_code)
443 void abc_inclocal(abc_method_body_t*c, int v)
444 {
445     swf_SetU8(c->tag, 0x92);
446     swf_SetU30(c->tag, v);
447 }
448 #define inclocal(v) abc_inclocal(abc_code,v)
449 void abc_inclocal_i(abc_method_body_t*c, int v)
450 {
451     swf_SetU8(c->tag, 0xc2);
452     swf_SetU30(c->tag, v);
453 }
454 #define inclocal_i(v) abc_inclocal_i(abc_code,v)
455 void abc_increment(abc_method_body_t*c)
456 {
457     swf_SetU8(c->tag, 0x91);
458 }
459 #define increment() abc_increment(abc_code)
460 void abc_increment_i(abc_method_body_t*c)
461 {
462     swf_SetU8(c->tag, 0xc0);
463 }
464 #define increment_i() abc_increment_i(abc_code)
465 void abc_initproperty(abc_method_body_t*c, char* name)
466 {
467     swf_SetU8(c->tag, 0x68);
468     swf_SetU30(c->tag, multiname_index(c->pool, name));
469 }
470 #define initproperty(name) abc_initproperty(abc_code,name)
471 void abc_instanceof(abc_method_body_t*c)
472 {
473     swf_SetU8(c->tag, 0xb1);
474 }
475 #define instanceof() abc_instanceof(abc_code)
476 void abc_istype(abc_method_body_t*c, char* name)
477 {
478     swf_SetU8(c->tag, 0xb2);
479     swf_SetU30(c->tag, multiname_index(c->pool, name));
480 }
481 #define istype(name) abc_istype(abc_code,name)
482 void abc_istypelate(abc_method_body_t*c)
483 {
484     swf_SetU8(c->tag, 0xb3);
485 }
486 #define istypelate() abc_istypelate(abc_code)
487 void abc_jump(abc_method_body_t*c, abc_label_t* j)
488 {
489     swf_SetU8(c->tag, 0x10);
490     /* FIXME: write label j */
491 }
492 #define jump(j) abc_jump(abc_code,j)
493 void abc_kill(abc_method_body_t*c, int v)
494 {
495     swf_SetU8(c->tag, 0x08);
496     swf_SetU30(c->tag, v);
497 }
498 #define kill(v) abc_kill(abc_code,v)
499 void abc_label(abc_method_body_t*c)
500 {
501     swf_SetU8(c->tag, 0x09);
502 }
503 #define label() abc_label(abc_code)
504 void abc_lessequals(abc_method_body_t*c)
505 {
506     swf_SetU8(c->tag, 0xae);
507 }
508 #define lessequals() abc_lessequals(abc_code)
509 void abc_lessthan(abc_method_body_t*c)
510 {
511     swf_SetU8(c->tag, 0xad);
512 }
513 #define lessthan() abc_lessthan(abc_code)
514 void abc_lookupswitch(abc_method_body_t*c, void* labels)
515 {
516     swf_SetU8(c->tag, 0x1b);
517     /* FIXME: write labels labels */
518 }
519 #define lookupswitch(labels) abc_lookupswitch(abc_code,labels)
520 void abc_lshift(abc_method_body_t*c)
521 {
522     swf_SetU8(c->tag, 0xa5);
523 }
524 #define lshift() abc_lshift(abc_code)
525 void abc_modulo(abc_method_body_t*c)
526 {
527     swf_SetU8(c->tag, 0xa4);
528 }
529 #define modulo() abc_modulo(abc_code)
530 void abc_multiply(abc_method_body_t*c)
531 {
532     swf_SetU8(c->tag, 0xa2);
533 }
534 #define multiply() abc_multiply(abc_code)
535 void abc_multiply_i(abc_method_body_t*c)
536 {
537     swf_SetU8(c->tag, 0xc7);
538 }
539 #define multiply_i() abc_multiply_i(abc_code)
540 void abc_negate(abc_method_body_t*c)
541 {
542     swf_SetU8(c->tag, 0x90);
543 }
544 #define negate() abc_negate(abc_code)
545 void abc_negate_i(abc_method_body_t*c)
546 {
547     swf_SetU8(c->tag, 0xc4);
548 }
549 #define negate_i() abc_negate_i(abc_code)
550 void abc_newactivation(abc_method_body_t*c)
551 {
552     swf_SetU8(c->tag, 0x57);
553 }
554 #define newactivation() abc_newactivation(abc_code)
555 void abc_newarray(abc_method_body_t*c, int v)
556 {
557     swf_SetU8(c->tag, 0x56);
558     swf_SetU30(c->tag, v);
559 }
560 #define newarray(v) abc_newarray(abc_code,v)
561 void abc_newcatch(abc_method_body_t*c, int v)
562 {
563     swf_SetU8(c->tag, 0x5a);
564     swf_SetU30(c->tag, v);
565 }
566 #define newcatch(v) abc_newcatch(abc_code,v)
567 void abc_newclass(abc_method_body_t*c, abc_class_t* m)
568 {
569     swf_SetU8(c->tag, 0x58);
570     swf_SetU30(c->tag, m->index);
571 }
572 #define newclass(m) abc_newclass(abc_code,m)
573 void abc_newfunction(abc_method_body_t*c, int v)
574 {
575     swf_SetU8(c->tag, 0x40);
576     swf_SetU30(c->tag, v);
577 }
578 #define newfunction(v) abc_newfunction(abc_code,v)
579 void abc_newobject(abc_method_body_t*c, int v)
580 {
581     swf_SetU8(c->tag, 0x55);
582     swf_SetU30(c->tag, v);
583 }
584 #define newobject(v) abc_newobject(abc_code,v)
585 void abc_nextname(abc_method_body_t*c)
586 {
587     swf_SetU8(c->tag, 0x1e);
588 }
589 #define nextname() abc_nextname(abc_code)
590 void abc_nextvalue(abc_method_body_t*c)
591 {
592     swf_SetU8(c->tag, 0x23);
593 }
594 #define nextvalue() abc_nextvalue(abc_code)
595 void abc_nop(abc_method_body_t*c)
596 {
597     swf_SetU8(c->tag, 0x02);
598 }
599 #define nop() abc_nop(abc_code)
600 void abc_not(abc_method_body_t*c)
601 {
602     swf_SetU8(c->tag, 0x96);
603 }
604 #define not() abc_not(abc_code)
605 void abc_pop(abc_method_body_t*c)
606 {
607     swf_SetU8(c->tag, 0x29);
608 }
609 #define pop() abc_pop(abc_code)
610 void abc_popscope(abc_method_body_t*c)
611 {
612     swf_SetU8(c->tag, 0x1d);
613 }
614 #define popscope() abc_popscope(abc_code)
615 void abc_pushbyte(abc_method_body_t*c, int v)
616 {
617     swf_SetU8(c->tag, 0x24);
618     swf_SetU8(c->tag, v);
619 }
620 #define pushbyte(v) abc_pushbyte(abc_code,v)
621 void abc_pushdouble(abc_method_body_t*c, int v)
622 {
623     swf_SetU8(c->tag, 0x2f);
624     swf_SetU30(c->tag, v);
625 }
626 #define pushdouble(v) abc_pushdouble(abc_code,v)
627 void abc_pushfalse(abc_method_body_t*c)
628 {
629     swf_SetU8(c->tag, 0x27);
630 }
631 #define pushfalse() abc_pushfalse(abc_code)
632 void abc_pushint(abc_method_body_t*c, int v)
633 {
634     swf_SetU8(c->tag, 0x2d);
635     swf_SetU30(c->tag, v);
636 }
637 #define pushint(v) abc_pushint(abc_code,v)
638 void abc_pushnamespace(abc_method_body_t*c, int v)
639 {
640     swf_SetU8(c->tag, 0x31);
641     swf_SetU30(c->tag, v);
642 }
643 #define pushnamespace(v) abc_pushnamespace(abc_code,v)
644 void abc_pushnan(abc_method_body_t*c)
645 {
646     swf_SetU8(c->tag, 0x28);
647 }
648 #define pushnan() abc_pushnan(abc_code)
649 void abc_pushnull(abc_method_body_t*c)
650 {
651     swf_SetU8(c->tag, 0x20);
652 }
653 #define pushnull() abc_pushnull(abc_code)
654 void abc_pushscope(abc_method_body_t*c)
655 {
656     swf_SetU8(c->tag, 0x30);
657 }
658 #define pushscope() abc_pushscope(abc_code)
659 void abc_pushshort(abc_method_body_t*c, int v)
660 {
661     swf_SetU8(c->tag, 0x25);
662     swf_SetU30(c->tag, v);
663 }
664 #define pushshort(v) abc_pushshort(abc_code,v)
665 void abc_pushstring(abc_method_body_t*c, char* s)
666 {
667     swf_SetU8(c->tag, 0x2c);
668     swf_SetU30(c->tag, dict_update(c->pool->strings, s, 0));
669 }
670 #define pushstring(s) abc_pushstring(abc_code,s)
671 void abc_pushtrue(abc_method_body_t*c)
672 {
673     swf_SetU8(c->tag, 0x26);
674 }
675 #define pushtrue() abc_pushtrue(abc_code)
676 void abc_pushuint(abc_method_body_t*c, int v)
677 {
678     swf_SetU8(c->tag, 0x2e);
679     swf_SetU30(c->tag, v);
680 }
681 #define pushuint(v) abc_pushuint(abc_code,v)
682 void abc_pushundefined(abc_method_body_t*c)
683 {
684     swf_SetU8(c->tag, 0x21);
685 }
686 #define pushundefined() abc_pushundefined(abc_code)
687 void abc_pushwith(abc_method_body_t*c)
688 {
689     swf_SetU8(c->tag, 0x1c);
690 }
691 #define pushwith() abc_pushwith(abc_code)
692 void abc_returnvalue(abc_method_body_t*c)
693 {
694     swf_SetU8(c->tag, 0x48);
695 }
696 #define returnvalue() abc_returnvalue(abc_code)
697 void abc_returnvoid(abc_method_body_t*c)
698 {
699     swf_SetU8(c->tag, 0x47);
700 }
701 #define returnvoid() abc_returnvoid(abc_code)
702 void abc_rshift(abc_method_body_t*c)
703 {
704     swf_SetU8(c->tag, 0xa6);
705 }
706 #define rshift() abc_rshift(abc_code)
707 void abc_setlocal(abc_method_body_t*c, int v)
708 {
709     swf_SetU8(c->tag, 0x63);
710     swf_SetU30(c->tag, v);
711 }
712 #define setlocal(v) abc_setlocal(abc_code,v)
713 void abc_setlocal_0(abc_method_body_t*c)
714 {
715     swf_SetU8(c->tag, 0xd4);
716 }
717 #define setlocal_0() abc_setlocal_0(abc_code)
718 void abc_setlocal_1(abc_method_body_t*c)
719 {
720     swf_SetU8(c->tag, 0xd5);
721 }
722 #define setlocal_1() abc_setlocal_1(abc_code)
723 void abc_setlocal_2(abc_method_body_t*c)
724 {
725     swf_SetU8(c->tag, 0xd6);
726 }
727 #define setlocal_2() abc_setlocal_2(abc_code)
728 void abc_setlocal_3(abc_method_body_t*c)
729 {
730     swf_SetU8(c->tag, 0xd7);
731 }
732 #define setlocal_3() abc_setlocal_3(abc_code)
733 void abc_setglobalshot(abc_method_body_t*c, int v)
734 {
735     swf_SetU8(c->tag, 0x6f);
736     swf_SetU30(c->tag, v);
737 }
738 #define setglobalshot(v) abc_setglobalshot(abc_code,v)
739 void abc_setproperty(abc_method_body_t*c, char* name)
740 {
741     swf_SetU8(c->tag, 0x61);
742     swf_SetU30(c->tag, multiname_index(c->pool, name));
743 }
744 #define setproperty(name) abc_setproperty(abc_code,name)
745 void abc_setslot(abc_method_body_t*c, int v)
746 {
747     swf_SetU8(c->tag, 0x6d);
748     swf_SetU30(c->tag, v);
749 }
750 #define setslot(v) abc_setslot(abc_code,v)
751 void abc_setsuper(abc_method_body_t*c, char* name)
752 {
753     swf_SetU8(c->tag, 0x05);
754     swf_SetU30(c->tag, multiname_index(c->pool, name));
755 }
756 #define setsuper(name) abc_setsuper(abc_code,name)
757 void abc_strictequals(abc_method_body_t*c)
758 {
759     swf_SetU8(c->tag, 0xac);
760 }
761 #define strictequals() abc_strictequals(abc_code)
762 void abc_subtract(abc_method_body_t*c)
763 {
764     swf_SetU8(c->tag, 0xa1);
765 }
766 #define subtract() abc_subtract(abc_code)
767 void abc_subtract_i(abc_method_body_t*c)
768 {
769     swf_SetU8(c->tag, 0xc6);
770 }
771 #define subtract_i() abc_subtract_i(abc_code)
772 void abc_swap(abc_method_body_t*c)
773 {
774     swf_SetU8(c->tag, 0x2b);
775 }
776 #define swap() abc_swap(abc_code)
777 void abc_throw(abc_method_body_t*c)
778 {
779     swf_SetU8(c->tag, 0x03);
780 }
781 #define throw() abc_throw(abc_code)
782 void abc_typeof(abc_method_body_t*c)
783 {
784     swf_SetU8(c->tag, 0x95);
785 }
786 #define typeof() abc_typeof(abc_code)
787 void abc_urshift(abc_method_body_t*c)
788 {
789     swf_SetU8(c->tag, 0xa7);
790 }
791 #define urshift() abc_urshift(abc_code)
792 void abc_xxx(abc_method_body_t*c)
793 {
794     swf_SetU8(c->tag, 0xb0);
795 }
796 #define xxx() abc_xxx(abc_code)