X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Fopcodes.c;h=93215f09bbd0147623e0a90a93441561f5f189ee;hb=62a83d162b254d91da418cee25f5b87b067a3f92;hp=cd70b9d31e856fe386897af1318f1e8883a6bd94;hpb=d424b19bfbd0658640f976f9117305737fb87678;p=swftools.git diff --git a/lib/as3/opcodes.c b/lib/as3/opcodes.c index cd70b9d..93215f0 100644 --- a/lib/as3/opcodes.c +++ b/lib/as3/opcodes.c @@ -775,10 +775,10 @@ code_t* abc_pushint(code_t*prev, int i) self->data[0] = (void*)(ptroff_t)i; return self; } -code_t* abc_pushnamespace(code_t*prev, int v) +code_t* abc_pushnamespace(code_t*prev, namespace_t* ns) { code_t*self = add_opcode(prev, 0x31); - self->data[0] = (void*)(ptroff_t)v; + self->data[0] = namespace_clone(ns); return self; } code_t* abc_pushnan(code_t*prev) @@ -953,6 +953,35 @@ code_t* abc_applytype(code_t*prev, int v) self->data[0] = (void*)(ptroff_t)v; return self; } +code_t* abc___pushpackage__(code_t*prev, char* name) +{ + code_t*self = add_opcode(prev, 0xfb); + self->data[0] = string_new4(name); + return self; +} +code_t* abc___pushpackage__2(code_t*prev, string_t* s) +{ + code_t*self = add_opcode(prev, 0xfb); + self->data[0] = string_dup3(s); + return self; +} +code_t* abc___rethrow__(code_t*prev) +{ + code_t*self = add_opcode(prev, 0xfc); + return self; +} +code_t* abc___fallthrough__(code_t*prev, char* name) +{ + code_t*self = add_opcode(prev, 0xfd); + self->data[0] = string_new4(name); + return self; +} +code_t* abc___fallthrough__2(code_t*prev, string_t* s) +{ + code_t*self = add_opcode(prev, 0xfd); + self->data[0] = string_dup3(s); + return self; +} code_t* abc___continue__(code_t*prev, char* name) { code_t*self = add_opcode(prev, 0xfe);