X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fas3%2Fopcodes.c;h=dfd29c6fd48abeb08be75fd10671a5b176d9bf5d;hb=9ee97b0258700c746404edfcd9640a0a327eb21f;hp=b5def9d4c7b0e096ee00710bbd93dec6f1ad3e37;hpb=9a8562f4432e2c2d4740cb68161e4e71d1975164;p=swftools.git diff --git a/lib/as3/opcodes.c b/lib/as3/opcodes.c index b5def9d..dfd29c6 100644 --- a/lib/as3/opcodes.c +++ b/lib/as3/opcodes.c @@ -953,8 +953,44 @@ code_t* abc_applytype(code_t*prev, int v) self->data[0] = (void*)(ptroff_t)v; return self; } -code_t* abc___break__(code_t*prev) +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); + self->data[0] = string_new4(name); + return self; +} +code_t* abc___continue__2(code_t*prev, string_t* s) +{ + code_t*self = add_opcode(prev, 0xfe); + self->data[0] = string_dup3(s); + return self; +} +code_t* abc___break__(code_t*prev, char* name) { code_t*self = add_opcode(prev, 0xff); + self->data[0] = string_new4(name); + return self; +} +code_t* abc___break__2(code_t*prev, string_t* s) +{ + code_t*self = add_opcode(prev, 0xff); + self->data[0] = string_dup3(s); return self; }