From 1d32372060801174dee49f06281c24ac699b0c84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=F8=EDk?= Date: Thu, 20 Dec 2012 23:06:02 +0100 Subject: [PATCH] AS3: Better local register names handling --- trunk/src/com/jpexs/asdec/abc/ABC.java | 2 +- .../com/jpexs/asdec/abc/avm2/AVM2Code.java | 66 +++++++++---------- .../avm2/instructions/AVM2Instruction.java | 2 +- .../abc/avm2/instructions/IfTypeIns.java | 2 +- .../instructions/InstructionDefinition.java | 11 ++-- .../abc/avm2/instructions/SetTypeIns.java | 4 +- .../avm2/instructions/arithmetic/AddIIns.java | 5 +- .../avm2/instructions/arithmetic/AddIns.java | 5 +- .../arithmetic/DecrementIIns.java | 5 +- .../instructions/arithmetic/DecrementIns.java | 5 +- .../instructions/arithmetic/DivideIns.java | 5 +- .../arithmetic/IncrementIIns.java | 5 +- .../instructions/arithmetic/IncrementIns.java | 5 +- .../instructions/arithmetic/ModuloIns.java | 5 +- .../instructions/arithmetic/MultiplyIIns.java | 4 +- .../instructions/arithmetic/MultiplyIns.java | 4 +- .../instructions/arithmetic/NegateIIns.java | 4 +- .../instructions/arithmetic/NegateIns.java | 4 +- .../avm2/instructions/arithmetic/NotIns.java | 4 +- .../instructions/arithmetic/SubtractIIns.java | 4 +- .../instructions/arithmetic/SubtractIns.java | 4 +- .../avm2/instructions/bitwise/BitAndIns.java | 4 +- .../avm2/instructions/bitwise/BitNotIns.java | 4 +- .../avm2/instructions/bitwise/BitOrIns.java | 4 +- .../avm2/instructions/bitwise/BitXorIns.java | 4 +- .../avm2/instructions/bitwise/LShiftIns.java | 4 +- .../avm2/instructions/bitwise/RShiftIns.java | 4 +- .../avm2/instructions/bitwise/URShiftIns.java | 4 +- .../instructions/comparsion/EqualsIns.java | 4 +- .../comparsion/GreaterEqualsIns.java | 4 +- .../comparsion/GreaterThanIns.java | 4 +- .../comparsion/LessEqualsIns.java | 4 +- .../instructions/comparsion/LessThanIns.java | 4 +- .../comparsion/StrictEqualsIns.java | 4 +- .../construction/ConstructIns.java | 6 +- .../construction/ConstructPropIns.java | 6 +- .../construction/ConstructSuperIns.java | 6 +- .../construction/NewActivationIns.java | 4 +- .../construction/NewArrayIns.java | 6 +- .../construction/NewCatchIns.java | 6 +- .../construction/NewClassIns.java | 8 +-- .../construction/NewFunctionIns.java | 6 +- .../construction/NewObjectIns.java | 6 +- .../avm2/instructions/debug/DebugFileIns.java | 2 +- .../abc/avm2/instructions/debug/DebugIns.java | 2 +- .../avm2/instructions/debug/DebugLineIns.java | 2 +- .../avm2/instructions/executing/CallIns.java | 6 +- .../instructions/executing/CallMethodIns.java | 6 +- .../executing/CallPropLexIns.java | 4 +- .../executing/CallPropVoidIns.java | 6 +- .../executing/CallPropertyIns.java | 6 +- .../instructions/executing/CallStaticIns.java | 6 +- .../instructions/executing/CallSuperIns.java | 6 +- .../executing/CallSuperVoidIns.java | 6 +- .../abc/avm2/instructions/jumps/IfEqIns.java | 6 +- .../avm2/instructions/jumps/IfFalseIns.java | 6 +- .../abc/avm2/instructions/jumps/IfGeIns.java | 6 +- .../abc/avm2/instructions/jumps/IfGtIns.java | 6 +- .../abc/avm2/instructions/jumps/IfLeIns.java | 6 +- .../abc/avm2/instructions/jumps/IfLtIns.java | 6 +- .../abc/avm2/instructions/jumps/IfNGeIns.java | 6 +- .../abc/avm2/instructions/jumps/IfNGtIns.java | 6 +- .../abc/avm2/instructions/jumps/IfNLeIns.java | 6 +- .../abc/avm2/instructions/jumps/IfNLtIns.java | 6 +- .../abc/avm2/instructions/jumps/IfNeIns.java | 6 +- .../instructions/jumps/IfStrictEqIns.java | 6 +- .../instructions/jumps/IfStrictNeIns.java | 6 +- .../avm2/instructions/jumps/IfTrueIns.java | 6 +- .../abc/avm2/instructions/jumps/JumpIns.java | 6 +- .../instructions/jumps/LookupSwitchIns.java | 6 +- .../instructions/localregs/DecLocalIIns.java | 6 +- .../instructions/localregs/DecLocalIns.java | 6 +- .../instructions/localregs/GetLocal0Ins.java | 4 +- .../instructions/localregs/GetLocal1Ins.java | 4 +- .../instructions/localregs/GetLocal2Ins.java | 4 +- .../instructions/localregs/GetLocal3Ins.java | 4 +- .../instructions/localregs/GetLocalIns.java | 6 +- .../instructions/localregs/IncLocalIIns.java | 6 +- .../instructions/localregs/IncLocalIns.java | 6 +- .../avm2/instructions/localregs/KillIns.java | 6 +- .../instructions/localregs/SetLocal0Ins.java | 8 +-- .../instructions/localregs/SetLocal1Ins.java | 8 +-- .../instructions/localregs/SetLocal2Ins.java | 8 +-- .../instructions/localregs/SetLocal3Ins.java | 8 +-- .../instructions/localregs/SetLocalIns.java | 10 +-- .../instructions/other/DeletePropertyIns.java | 6 +- .../instructions/other/FindPropertyIns.java | 6 +- .../other/FindPropertyStrictIns.java | 6 +- .../instructions/other/GetDescendantsIns.java | 6 +- .../instructions/other/GetGlobalScopeIns.java | 4 +- .../instructions/other/GetGlobalSlotIns.java | 6 +- .../avm2/instructions/other/GetLexIns.java | 6 +- .../instructions/other/GetPropertyIns.java | 6 +- .../instructions/other/GetScopeObjectIns.java | 6 +- .../avm2/instructions/other/GetSlotIns.java | 6 +- .../avm2/instructions/other/GetSuperIns.java | 6 +- .../avm2/instructions/other/HasNext2Ins.java | 6 +- .../avm2/instructions/other/HasNextIns.java | 4 +- .../abc/avm2/instructions/other/InIns.java | 4 +- .../instructions/other/InitPropertyIns.java | 6 +- .../avm2/instructions/other/NextNameIns.java | 4 +- .../avm2/instructions/other/NextValueIns.java | 4 +- .../instructions/other/ReturnValueIns.java | 4 +- .../instructions/other/ReturnVoidIns.java | 4 +- .../instructions/other/SetGlobalSlotIns.java | 8 +-- .../instructions/other/SetPropertyIns.java | 8 +-- .../avm2/instructions/other/SetSlotIns.java | 8 +-- .../avm2/instructions/other/SetSuperIns.java | 10 +-- .../abc/avm2/instructions/other/ThrowIns.java | 4 +- .../abc/avm2/instructions/stack/DupIns.java | 4 +- .../abc/avm2/instructions/stack/PopIns.java | 4 +- .../avm2/instructions/stack/PopScopeIns.java | 4 +- .../avm2/instructions/stack/PushByteIns.java | 6 +- .../instructions/stack/PushDoubleIns.java | 6 +- .../avm2/instructions/stack/PushFalseIns.java | 4 +- .../avm2/instructions/stack/PushIntIns.java | 6 +- .../instructions/stack/PushNamespaceIns.java | 6 +- .../avm2/instructions/stack/PushNanIns.java | 4 +- .../avm2/instructions/stack/PushNullIns.java | 4 +- .../avm2/instructions/stack/PushScopeIns.java | 4 +- .../avm2/instructions/stack/PushShortIns.java | 6 +- .../instructions/stack/PushStringIns.java | 6 +- .../avm2/instructions/stack/PushTrueIns.java | 4 +- .../avm2/instructions/stack/PushUIntIns.java | 6 +- .../instructions/stack/PushUndefinedIns.java | 4 +- .../avm2/instructions/stack/PushWithIns.java | 4 +- .../abc/avm2/instructions/stack/SwapIns.java | 4 +- .../avm2/instructions/types/ApplyTypeIns.java | 6 +- .../avm2/instructions/types/AsTypeIns.java | 6 +- .../instructions/types/AsTypeLateIns.java | 4 +- .../avm2/instructions/types/CoerceAIns.java | 4 +- .../avm2/instructions/types/CoerceIns.java | 6 +- .../avm2/instructions/types/CoerceSIns.java | 4 +- .../avm2/instructions/types/ConvertBIns.java | 4 +- .../avm2/instructions/types/ConvertDIns.java | 4 +- .../avm2/instructions/types/ConvertIIns.java | 4 +- .../avm2/instructions/types/ConvertOIns.java | 4 +- .../avm2/instructions/types/ConvertSIns.java | 4 +- .../avm2/instructions/types/ConvertUIns.java | 4 +- .../instructions/types/InstanceOfIns.java | 4 +- .../avm2/instructions/types/IsTypeIns.java | 6 +- .../instructions/types/IsTypeLateIns.java | 4 +- .../avm2/instructions/types/TypeOfIns.java | 4 +- .../avm2/instructions/xml/CheckFilterIns.java | 4 +- .../abc/avm2/instructions/xml/DXNSIns.java | 2 +- .../avm2/instructions/xml/DXNSLateIns.java | 6 +- .../avm2/instructions/xml/EscXAttrIns.java | 6 +- .../avm2/instructions/xml/EscXElemIns.java | 6 +- .../abc/avm2/treemodel/ApplyTypeTreeItem.java | 8 +-- .../abc/avm2/treemodel/BooleanTreeItem.java | 4 +- .../abc/avm2/treemodel/BreakTreeItem.java | 4 +- .../avm2/treemodel/CallMethodTreeItem.java | 8 +-- .../avm2/treemodel/CallPropertyTreeItem.java | 8 +-- .../avm2/treemodel/CallStaticTreeItem.java | 8 +-- .../abc/avm2/treemodel/CallSuperTreeItem.java | 10 +-- .../abc/avm2/treemodel/CallTreeItem.java | 8 +-- .../abc/avm2/treemodel/ClassTreeItem.java | 4 +- .../abc/avm2/treemodel/CoerceTreeItem.java | 6 +- .../avm2/treemodel/ConstructPropTreeItem.java | 10 +-- .../treemodel/ConstructSuperTreeItem.java | 8 +-- .../abc/avm2/treemodel/ConstructTreeItem.java | 10 +-- .../abc/avm2/treemodel/ContinueTreeItem.java | 4 +- .../abc/avm2/treemodel/ConvertTreeItem.java | 6 +- .../abc/avm2/treemodel/DecLocalTreeItem.java | 6 +- .../abc/avm2/treemodel/DecrementTreeItem.java | 6 +- .../abc/avm2/treemodel/EachTreeItem.java | 6 +- .../avm2/treemodel/FindPropertyTreeItem.java | 4 +- .../avm2/treemodel/FloatValueTreeItem.java | 4 +- .../avm2/treemodel/FullMultinameTreeItem.java | 8 +-- .../treemodel/GetDescendantsTreeItem.java | 6 +- .../abc/avm2/treemodel/GetLexTreeItem.java | 4 +- .../avm2/treemodel/GetPropertyTreeItem.java | 6 +- .../abc/avm2/treemodel/GetSlotTreeItem.java | 4 +- .../abc/avm2/treemodel/GetSuperTreeItem.java | 8 +-- .../abc/avm2/treemodel/IncLocalTreeItem.java | 6 +- .../abc/avm2/treemodel/IncrementTreeItem.java | 6 +- .../avm2/treemodel/InitPropertyTreeItem.java | 6 +- .../avm2/treemodel/IntegerValueTreeItem.java | 4 +- .../abc/avm2/treemodel/LocalRegTreeItem.java | 6 +- .../abc/avm2/treemodel/NameSpaceTreeItem.java | 4 +- .../abc/avm2/treemodel/NameValuePair.java | 8 +-- .../asdec/abc/avm2/treemodel/NanTreeItem.java | 4 +- .../avm2/treemodel/NewActivationTreeItem.java | 4 +- .../abc/avm2/treemodel/NewArrayTreeItem.java | 6 +- .../avm2/treemodel/NewFunctionTreeItem.java | 4 +- .../abc/avm2/treemodel/NewObjectTreeItem.java | 6 +- .../abc/avm2/treemodel/NullTreeItem.java | 4 +- .../avm2/treemodel/PostDecrementTreeItem.java | 6 +- .../avm2/treemodel/PostIncrementTreeItem.java | 6 +- .../avm2/treemodel/ReturnValueTreeItem.java | 6 +- .../avm2/treemodel/ReturnVoidTreeItem.java | 4 +- .../avm2/treemodel/SetGlobalSlotTreeItem.java | 6 +- .../abc/avm2/treemodel/SetLocalTreeItem.java | 7 +- .../avm2/treemodel/SetPropertyTreeItem.java | 6 +- .../abc/avm2/treemodel/SetSlotTreeItem.java | 8 +-- .../abc/avm2/treemodel/SetSuperTreeItem.java | 8 +-- .../abc/avm2/treemodel/StringTreeItem.java | 4 +- .../abc/avm2/treemodel/ThisTreeItem.java | 4 +- .../abc/avm2/treemodel/ThrowTreeItem.java | 6 +- .../asdec/abc/avm2/treemodel/TreeItem.java | 31 ++++++--- .../abc/avm2/treemodel/UndefinedTreeItem.java | 4 +- .../abc/avm2/treemodel/UnparsedTreeItem.java | 4 +- .../abc/avm2/treemodel/WithTreeItem.java | 8 +-- .../treemodel/clauses/DoWhileTreeItem.java | 8 +-- .../treemodel/clauses/ExceptionTreeItem.java | 4 +- .../treemodel/clauses/ForEachTreeItem.java | 8 +-- .../avm2/treemodel/clauses/ForTreeItem.java | 12 ++-- .../avm2/treemodel/clauses/IfTreeItem.java | 10 +-- .../treemodel/clauses/SwitchTreeItem.java | 12 ++-- .../treemodel/clauses/TernarOpTreeItem.java | 6 +- .../avm2/treemodel/clauses/TryTreeItem.java | 10 +-- .../avm2/treemodel/clauses/WhileTreeItem.java | 8 +-- .../operations/BinaryOpTreeItem.java | 12 ++-- .../operations/DeletePropertyTreeItem.java | 6 +- .../treemodel/operations/UnaryOpTreeItem.java | 6 +- .../com/jpexs/asdec/abc/types/MethodBody.java | 36 ++++------ .../abc/types/traits/TraitSlotConst.java | 3 +- 217 files changed, 665 insertions(+), 653 deletions(-) diff --git a/trunk/src/com/jpexs/asdec/abc/ABC.java b/trunk/src/com/jpexs/asdec/abc/ABC.java index 6fe4b677e..5536be45b 100644 --- a/trunk/src/com/jpexs/asdec/abc/ABC.java +++ b/trunk/src/com/jpexs/asdec/abc/ABC.java @@ -620,7 +620,7 @@ public class ABC { //if (class_info[i].cinit_index != 0) { if (AUTOINIT_STATIC_VARIABLES) { int bodyIndex = findBodyIndex(class_info[i].cinit_index); - List initializer = bodies[bodyIndex].code.toTree(true, i, this, constants, method_info, bodies[bodyIndex]); + List initializer = bodies[bodyIndex].code.toTree(true, i, this, constants, method_info, bodies[bodyIndex],bodies[bodyIndex].code.getLocalRegNamesFromDebug(this)); for (TreeItem ti : initializer) { if (ti instanceof SetPropertyTreeItem) { int multinameIndex = ((SetPropertyTreeItem) ti).propertyName.multinameIndex; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/AVM2Code.java b/trunk/src/com/jpexs/asdec/abc/avm2/AVM2Code.java index 43be925be..fddabad07 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/AVM2Code.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/AVM2Code.java @@ -829,11 +829,11 @@ public class AVM2Code { return posCache.get(pos).intValue(); } - private static String listToString(List stack, ConstantPool constants) { + private static String listToString(List stack, ConstantPool constants,HashMap localRegNames) { String ret = ""; for (int d = 0; d < stack.size(); d++) { TreeItem o = stack.get(d); - ret += o.toStringSemicoloned(constants) + "\r\n"; + ret += o.toStringSemicoloned(constants,localRegNames) + "\r\n"; } return ret; } @@ -1047,7 +1047,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ return pos2adr(fixIPAfterDebugLine(adr2pos(addr))); } - private ConvertOutput toSource(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, Stack scopeStack, ABC abc, ConstantPool constants, MethodInfo method_info[], MethodBody body, int start, int end) throws ConvertException { + private ConvertOutput toSource(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, Stack scopeStack, ABC abc, ConstantPool constants, MethodInfo method_info[], MethodBody body, int start, int end,HashMap localRegNames) throws ConvertException { boolean debugMode = false; if (debugMode) System.out.println("OPEN SubSource:" + start + "-" + end + " " + code.get(start).toString() + " to " + code.get(end).toString()); @@ -1126,7 +1126,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ if (swins.operands.length >= 3) { if (swins.operands[0] == swins.getBytes().length) { if (adr2pos(pos2adr(f) + swins.operands[2]) < finStart) { - finallyCommands = toSource(isStatic, classIndex, localRegs, stack, scopeStack, abc, constants, method_info, body, finStart, f - 1).output; + finallyCommands = toSource(isStatic, classIndex, localRegs, stack, scopeStack, abc, constants, method_info, body, finStart, f - 1,localRegNames).output; returnPos = f + 1; break; } @@ -1151,10 +1151,10 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ } Stack substack = new Stack(); substack.add(new ExceptionTreeItem(catchedExceptions.get(e))); - catchedCommands.add(toSource(isStatic, classIndex, localRegs, substack, new Stack(), abc, constants, method_info, body, adr2pos(fixAddrAfterDebugLine(catchedExceptions.get(e).target)), eendpos).output); + catchedCommands.add(toSource(isStatic, classIndex, localRegs, substack, new Stack(), abc, constants, method_info, body, adr2pos(fixAddrAfterDebugLine(catchedExceptions.get(e).target)), eendpos,localRegNames).output); } - List tryCommands = toSource(isStatic, classIndex, localRegs, stack, scopeStack, abc, constants, method_info, body, ip, endpos - 1).output; + List tryCommands = toSource(isStatic, classIndex, localRegs, stack, scopeStack, abc, constants, method_info, body, ip, endpos - 1,localRegNames).output; output.add(new TryTreeItem(tryCommands, catchedExceptions, catchedCommands, finallyCommands)); @@ -1279,7 +1279,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ throw new ConvertException("Unknown pattern: no setlocal before lookupswitch", switchPos); } loopList.add(new Loop(ip, switchPos + 1)); - Stack substack = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, jumpPos, evalTo - 1).stack; + Stack substack = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, jumpPos, evalTo - 1,localRegNames).stack; TreeItem switchedValue = substack.pop(); //output.add("loop" + (switchPos + 1) + ":"); int switchBreak = switchPos + 1; @@ -1314,7 +1314,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ if (evalTo > -1) { - substack = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, curPos, evalTo - 1).stack; + substack = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, curPos, evalTo - 1,localRegNames).stack; casesList.add(substack.pop()); } int substart = adr2pos(code.get(switchPos).operands[2 + casePos] + pos2adr(switchPos)); @@ -1325,7 +1325,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ if (evalTo == -1) subend--; - List commands = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, substart, subend).output; + List commands = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, substart, subend,localRegNames).output; if ((evalTo == -1) && (casePos + 1< code.get(switchPos).operands.length - 2)) { if (commands.size() == 1) { commands.remove(0); @@ -1372,16 +1372,16 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ loopList.add(currentLoop); - ConvertOutput co = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, jumpPos, adr2pos(afterBackJumpAddr) - 2); + ConvertOutput co = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, jumpPos, adr2pos(afterBackJumpAddr) - 2,localRegNames); Stack substack = co.stack; - backJumpIns.definition.translate(isStatic, classIndex, localRegs, substack, scopeStack, constants, backJumpIns, method_info, output, body, abc); + backJumpIns.definition.translate(isStatic, classIndex, localRegs, substack, scopeStack, constants, backJumpIns, method_info, output, body, abc,localRegNames); TreeItem expression = substack.pop(); List subins = new ArrayList(); boolean isFor = false; List finalExpression = new ArrayList(); try { - subins = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, adr2pos(secondAddr) + 1/*label*/, jumpPos - 1).output; + subins = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, adr2pos(secondAddr) + 1/*label*/, jumpPos - 1,localRegNames).output; } catch (UnknownJumpException uje) { if ((uje.ip >= start) && (uje.ip <= end)) { currentLoop.loopContinue = uje.ip; @@ -1406,7 +1406,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ } } } - finalExpression = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, uje.ip, jumpPos - 1).output; + finalExpression = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, uje.ip, jumpPos - 1,localRegNames).output; isFor = true; } else { throw new ConvertException("Unknown pattern: jump to nowhere", ip); @@ -1512,7 +1512,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ } } - ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc); + ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc,localRegNames); ip++; addr = pos2adr(ip); break; @@ -1547,7 +1547,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ } } - ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc); + ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc,localRegNames); ip++; addr = pos2adr(ip); break; @@ -1584,7 +1584,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ } } - ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc); + ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc,localRegNames); ip++; addr = pos2adr(ip); break; @@ -1621,7 +1621,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ } } - ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc); + ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc,localRegNames); ip++; addr = pos2adr(ip); break; @@ -1631,14 +1631,14 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ addr = pos2adr(ip); break; } else {*/ - ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc); + ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc,localRegNames); ip++; addr = pos2adr(ip); break; //} } else { - ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc); + ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc,localRegNames); ip++; addr = pos2adr(ip); break; @@ -1647,9 +1647,9 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ addr = addr + ins.getBytes().length + insAfter.getBytes().length + insAfter.operands[0]; nextPos = adr2pos(addr) - 1; if (isAnd) { - stack.add(new AndTreeItem(insAfter, stack.pop(), toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, ip + 3, nextPos).stack.pop())); + stack.add(new AndTreeItem(insAfter, stack.pop(), toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, ip + 3, nextPos,localRegNames).stack.pop())); } else { - stack.add(new OrTreeItem(insAfter, stack.pop(), toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, ip + 3, nextPos).stack.pop())); + stack.add(new OrTreeItem(insAfter, stack.pop(), toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, ip + 3, nextPos,localRegNames).stack.pop())); } ins = code.get(nextPos + 1); ip = nextPos + 1; @@ -1697,14 +1697,14 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ } } } - ConvertOutput onTrue = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, ip + 1, targetIns - 1 - ((hasElse || hasReturn) ? 1 : 0)); + ConvertOutput onTrue = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, ip + 1, targetIns - 1 - ((hasElse || hasReturn) ? 1 : 0),localRegNames); addr = targetAddr; ip = targetIns; ConvertOutput onFalse = new ConvertOutput(new Stack(), new ArrayList()); if (hasElse) { int finalAddr = targetAddr + code.get(targetIns - 1).operands[0]; int finalIns = adr2pos(finalAddr); - onFalse = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, targetIns, finalIns - 1); + onFalse = toSource(isStatic, classIndex, localRegs, new Stack(), scopeStack, abc, constants, method_info, body, targetIns, finalIns - 1,localRegNames); addr = finalAddr; ip = finalIns; } @@ -1715,11 +1715,11 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ } } else if ((ins.definition instanceof ReturnValueIns) || (ins.definition instanceof ReturnVoidIns) || (ins.definition instanceof ThrowIns)) { - ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc); + ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc,localRegNames); ip = end + 1; break; } else { - ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc); + ins.definition.translate(isStatic, classIndex, localRegs, stack, scopeStack, constants, ins, method_info, output, body, abc,localRegNames); addr += ins.getBytes().length; ip++; @@ -1748,11 +1748,11 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ return ret; } - public String toSource(boolean isStatic, int classIndex, ABC abc, ConstantPool constants, MethodInfo method_info[], MethodBody body) { - return toSource(isStatic, classIndex, abc, constants, method_info, body, false); + public String toSource(boolean isStatic, int classIndex, ABC abc, ConstantPool constants, MethodInfo method_info[], MethodBody body,HashMap localRegNames) { + return toSource(isStatic, classIndex, abc, constants, method_info, body, false,localRegNames); } - public List toTree(boolean isStatic, int classIndex, ABC abc, ConstantPool constants, MethodInfo method_info[], MethodBody body) { + public List toTree(boolean isStatic, int classIndex, ABC abc, ConstantPool constants, MethodInfo method_info[], MethodBody body,HashMap localRegNames) { toSourceCount = 0; loopList = new ArrayList(); unknownJumps = new ArrayList(); @@ -1760,7 +1760,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ finallyJumps = new ArrayList(); HashMap localRegs = new HashMap(); try { - return toSource(isStatic, classIndex, localRegs, new Stack(), new Stack(), abc, constants, method_info, body, 0, code.size() - 1).output; + return toSource(isStatic, classIndex, localRegs, new Stack(), new Stack(), abc, constants, method_info, body, 0, code.size() - 1,localRegNames).output; } catch (ConvertException ex) { return new ArrayList(); } @@ -1787,7 +1787,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ return maxRegister+1; } - public String toSource(boolean isStatic, int classIndex, ABC abc, ConstantPool constants, MethodInfo method_info[], MethodBody body, boolean hilighted) { + public String toSource(boolean isStatic, int classIndex, ABC abc, ConstantPool constants, MethodInfo method_info[], MethodBody body, boolean hilighted,HashMap localRegNames) { toSourceCount = 0; loopList = new ArrayList(); unknownJumps = new ArrayList(); @@ -1797,8 +1797,8 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ String s = ""; HashMap localRegs = new HashMap(); try { - list = toSource(isStatic, classIndex, localRegs, new Stack(), new Stack(), abc, constants, method_info, body, 0, code.size() - 1).output; - s = listToString(list, constants); + list = toSource(isStatic, classIndex, localRegs, new Stack(), new Stack(), abc, constants, method_info, body, 0, code.size() - 1,localRegNames).output; + s = listToString(list, constants,localRegNames); } catch (Exception ex) { s = "/*\r\n * Decompilation error\r\n * Code may be obfuscated\r\n * Error Message: " + ex.getMessage()+"\r\n */"; return s; @@ -1824,7 +1824,7 @@ public HashMap getLocalRegNamesFromDebug(ABC abc){ for(int i=paramCount+1;i localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc,HashMap localRegNames) { } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/SetTypeIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/SetTypeIns.java index abd9f8a1f..28c096929 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/SetTypeIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/SetTypeIns.java @@ -22,9 +22,9 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public interface SetTypeIns { - public abstract String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body); + public abstract String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body,HashMap localRegNames); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/AddIIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/AddIIns.java index 87d04c4a1..f155b26de 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/AddIIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/AddIIns.java @@ -23,9 +23,10 @@ import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.avm2.treemodel.operations.AddTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; +import java.util.HashMap; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class AddIIns extends AddIns { @@ -36,7 +37,7 @@ public class AddIIns extends AddIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new AddTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/AddIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/AddIns.java index 96fd4aeb2..a18f06d59 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/AddIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/AddIns.java @@ -25,9 +25,10 @@ import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.avm2.treemodel.operations.AddTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; +import java.util.HashMap; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class AddIns extends InstructionDefinition { @@ -59,7 +60,7 @@ public class AddIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc,HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new AddTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/DecrementIIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/DecrementIIns.java index f9498f269..1c0e6e9ff 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/DecrementIIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/DecrementIIns.java @@ -25,9 +25,10 @@ import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; import com.jpexs.asdec.abc.avm2.treemodel.DecrementTreeItem; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; +import java.util.HashMap; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class DecrementIIns extends InstructionDefinition { @@ -55,7 +56,7 @@ public class DecrementIIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc,HashMap localRegNames) { stack.push(new DecrementTreeItem(ins, (TreeItem) stack.pop())); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/DecrementIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/DecrementIns.java index e3640cfd5..bdd1c4562 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/DecrementIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/DecrementIns.java @@ -25,9 +25,10 @@ import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; import com.jpexs.asdec.abc.avm2.treemodel.DecrementTreeItem; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; +import java.util.HashMap; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class DecrementIns extends InstructionDefinition { @@ -55,7 +56,7 @@ public class DecrementIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc,HashMap localRegNames) { stack.push(new DecrementTreeItem(ins, (TreeItem) stack.pop())); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/DivideIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/DivideIns.java index cd65b866e..ecd9834d0 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/DivideIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/DivideIns.java @@ -25,9 +25,10 @@ import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.avm2.treemodel.operations.DivideTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; +import java.util.HashMap; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class DivideIns extends InstructionDefinition { @@ -58,7 +59,7 @@ public class DivideIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc,HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new DivideTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/IncrementIIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/IncrementIIns.java index ac2591be2..c5bc5eb0b 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/IncrementIIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/IncrementIIns.java @@ -24,9 +24,10 @@ import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; import com.jpexs.asdec.abc.avm2.treemodel.IncrementTreeItem; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; +import java.util.HashMap; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IncrementIIns extends InstructionDefinition { @@ -36,7 +37,7 @@ public class IncrementIIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc,HashMap localRegNames) { stack.push(new IncrementTreeItem(ins, (TreeItem) stack.pop())); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/IncrementIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/IncrementIns.java index 409b43601..7afd6d495 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/IncrementIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/IncrementIns.java @@ -24,9 +24,10 @@ import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; import com.jpexs.asdec.abc.avm2.treemodel.IncrementTreeItem; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; +import java.util.HashMap; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IncrementIns extends InstructionDefinition { @@ -36,7 +37,7 @@ public class IncrementIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new IncrementTreeItem(ins, (TreeItem) stack.pop())); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/ModuloIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/ModuloIns.java index 4e0134084..e21a70728 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/ModuloIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/ModuloIns.java @@ -25,9 +25,10 @@ import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.avm2.treemodel.operations.ModuloTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; +import java.util.HashMap; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ModuloIns extends InstructionDefinition { @@ -50,7 +51,7 @@ public class ModuloIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new ModuloTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/MultiplyIIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/MultiplyIIns.java index ef7ec6a67..7cf979338 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/MultiplyIIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/MultiplyIIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.MultiplyTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class MultiplyIIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class MultiplyIIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new MultiplyTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/MultiplyIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/MultiplyIns.java index 3fac8ef4f..651ba5145 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/MultiplyIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/MultiplyIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.MultiplyTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class MultiplyIns extends InstructionDefinition { @@ -58,7 +58,7 @@ public class MultiplyIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new MultiplyTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/NegateIIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/NegateIIns.java index 2e026c4d9..6d14ac0dd 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/NegateIIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/NegateIIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.NegTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class NegateIIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class NegateIIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v = (TreeItem) stack.pop(); stack.push(new NegTreeItem(ins, v)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/NegateIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/NegateIns.java index 249528be6..5036728b5 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/NegateIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/NegateIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.NegTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class NegateIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class NegateIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v = (TreeItem) stack.pop(); stack.push(new NegTreeItem(ins, v)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/NotIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/NotIns.java index fb2ced493..3c9ec2d8e 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/NotIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/NotIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.NotTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class NotIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class NotIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v = (TreeItem) stack.pop(); stack.push(new NotTreeItem(ins, v)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/SubtractIIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/SubtractIIns.java index 95d6c62d8..f8152fcdf 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/SubtractIIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/SubtractIIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.SubtractTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class SubtractIIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class SubtractIIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new SubtractTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/SubtractIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/SubtractIns.java index 287193c4a..839a966ea 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/SubtractIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/arithmetic/SubtractIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.SubtractTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class SubtractIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class SubtractIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new SubtractTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitAndIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitAndIns.java index f4a1cfcb5..c287be8fb 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitAndIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitAndIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.BitAndTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class BitAndIns extends InstructionDefinition { @@ -45,7 +45,7 @@ public class BitAndIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new BitAndTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitNotIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitNotIns.java index 94def55f2..4b0e41ac9 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitNotIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitNotIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.BitNotTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class BitNotIns extends InstructionDefinition { @@ -44,7 +44,7 @@ public class BitNotIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v = (TreeItem) stack.pop(); stack.push(new BitNotTreeItem(ins, v)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitOrIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitOrIns.java index 1849c132f..77d508016 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitOrIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitOrIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.BitOrTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class BitOrIns extends InstructionDefinition { @@ -45,7 +45,7 @@ public class BitOrIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new BitOrTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitXorIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitXorIns.java index e3d16edb3..34a41d352 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitXorIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/BitXorIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.BitXorTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class BitXorIns extends InstructionDefinition { @@ -45,7 +45,7 @@ public class BitXorIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new BitXorTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/LShiftIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/LShiftIns.java index 98c2fe799..78c595598 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/LShiftIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/LShiftIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.LShiftTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class LShiftIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class LShiftIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new LShiftTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/RShiftIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/RShiftIns.java index ec3d2fe92..c9ccbed24 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/RShiftIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/RShiftIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.RShiftTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class RShiftIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class RShiftIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new RShiftTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/URShiftIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/URShiftIns.java index 660815b40..92e1b892d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/URShiftIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/bitwise/URShiftIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.URShiftTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class URShiftIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class URShiftIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new URShiftTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/EqualsIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/EqualsIns.java index 33344b7fa..2401d57dd 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/EqualsIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/EqualsIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.EqTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class EqualsIns extends InstructionDefinition { @@ -45,7 +45,7 @@ public class EqualsIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new EqTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/GreaterEqualsIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/GreaterEqualsIns.java index f87e69a36..31f3ff8f7 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/GreaterEqualsIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/GreaterEqualsIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.GeTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GreaterEqualsIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class GreaterEqualsIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new GeTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/GreaterThanIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/GreaterThanIns.java index 56d164116..47c38a54e 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/GreaterThanIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/GreaterThanIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.LtTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GreaterThanIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class GreaterThanIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new LtTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/LessEqualsIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/LessEqualsIns.java index ee45bbe77..ffbae12e6 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/LessEqualsIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/LessEqualsIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.LeTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class LessEqualsIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class LessEqualsIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new LeTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/LessThanIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/LessThanIns.java index 1e10d395d..9749b0fd2 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/LessThanIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/LessThanIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.GtTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class LessThanIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class LessThanIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new GtTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/StrictEqualsIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/StrictEqualsIns.java index 0f642b3dd..50521349b 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/StrictEqualsIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/comparsion/StrictEqualsIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.StrictEqTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class StrictEqualsIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class StrictEqualsIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new StrictEqTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/ConstructIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/ConstructIns.java index 5a66dd90f..9d42c1d06 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/ConstructIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/ConstructIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.construction; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ConstructIns extends InstructionDefinition { @@ -52,7 +52,7 @@ public class ConstructIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int argCount = ins.operands[0]; List args = new ArrayList(); for (int a = 0; a < argCount; a++) { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/ConstructPropIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/ConstructPropIns.java index e9b6e9b66..d18112867 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/ConstructPropIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/ConstructPropIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.construction; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,7 +30,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ConstructPropIns extends InstructionDefinition { @@ -55,7 +55,7 @@ public class ConstructPropIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; int argCount = ins.operands[1]; List args = new ArrayList(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/ConstructSuperIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/ConstructSuperIns.java index 1e3aa500c..0f1f3eff8 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/ConstructSuperIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/ConstructSuperIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.construction; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ConstructSuperIns extends InstructionDefinition { @@ -52,7 +52,7 @@ public class ConstructSuperIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int argCount = ins.operands[0]; List args = new ArrayList(); for (int a = 0; a < argCount; a++) { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewActivationIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewActivationIns.java index e73a71836..cd44d9247 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewActivationIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewActivationIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class NewActivationIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class NewActivationIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new NewActivationTreeItem(ins)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewArrayIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewArrayIns.java index 84d0d2e53..2b7110cc8 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewArrayIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewArrayIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.construction; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class NewArrayIns extends InstructionDefinition { @@ -38,7 +38,7 @@ public class NewArrayIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int argCount = ins.operands[0]; List args = new ArrayList(); for (int a = 0; a < argCount; a++) { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewCatchIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewCatchIns.java index 4cc3baf78..f28474627 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewCatchIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewCatchIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.construction; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.clauses.ExceptionTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class NewCatchIns extends InstructionDefinition { @@ -37,7 +37,7 @@ public class NewCatchIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int exInfo = ins.operands[0]; stack.push(new ExceptionTreeItem(body.exceptions[exInfo])); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewClassIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewClassIns.java index 3f752d9e2..a1e51178d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewClassIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewClassIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.construction; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.UnparsedTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class NewClassIns extends InstructionDefinition { @@ -37,9 +37,9 @@ public class NewClassIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int clsIndex = ins.operands[0]; - String baseType = stack.pop().toString(constants); + String baseType = stack.pop().toString(constants,localRegNames); stack.push(new UnparsedTreeItem(ins, "new "+ abc.constants.constant_multiname[abc.instance_info[clsIndex].name_index].getName(constants) + ".class extends " + baseType)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewFunctionIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewFunctionIns.java index b1ba45b36..6c70e06be 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewFunctionIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewFunctionIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.construction; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import com.jpexs.asdec.helpers.Highlighting; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class NewFunctionIns extends InstructionDefinition { @@ -39,7 +39,7 @@ public class NewFunctionIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int methodIndex = ins.operands[0]; MethodBody mybody = abc.findBody(methodIndex); String bodyStr = ""; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewObjectIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewObjectIns.java index 1ced08953..26b7b7944 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewObjectIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/construction/NewObjectIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.construction; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class NewObjectIns extends InstructionDefinition { @@ -39,7 +39,7 @@ public class NewObjectIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int argCount = ins.operands[0]; List args = new ArrayList(); for (int a = 0; a < argCount; a++) { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/debug/DebugFileIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/debug/DebugFileIns.java index cbdf77f92..909c24453 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/debug/DebugFileIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/debug/DebugFileIns.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.instructions.debug; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/debug/DebugIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/debug/DebugIns.java index a4e2a63c9..63fdf4108 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/debug/DebugIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/debug/DebugIns.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.instructions.debug; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/debug/DebugLineIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/debug/DebugLineIns.java index ebe4a33b2..79750c150 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/debug/DebugLineIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/debug/DebugLineIns.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.instructions.debug; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallIns.java index 32e3aafb2..c94b372aa 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.executing; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class CallIns extends InstructionDefinition { @@ -52,7 +52,7 @@ public class CallIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int argCount = ins.operands[0]; List args = new ArrayList(); for (int a = 0; a < argCount; a++) { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallMethodIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallMethodIns.java index a53aefa70..3afc46bdd 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallMethodIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallMethodIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.executing; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class CallMethodIns extends InstructionDefinition { @@ -52,7 +52,7 @@ public class CallMethodIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int methodIndex = ins.operands[0]; int argCount = ins.operands[1]; List args = new ArrayList(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallPropLexIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallPropLexIns.java index fe9ee6a3a..29d80c1bc 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallPropLexIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallPropLexIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class CallPropLexIns extends CallPropertyIns { @@ -38,7 +38,7 @@ public class CallPropLexIns extends CallPropertyIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; int argCount = ins.operands[1]; List args = new ArrayList(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallPropVoidIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallPropVoidIns.java index 5837f4e6c..aa27b640d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallPropVoidIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallPropVoidIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.executing; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,7 +30,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class CallPropVoidIns extends InstructionDefinition { @@ -57,7 +57,7 @@ public class CallPropVoidIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; int argCount = ins.operands[1]; List args = new ArrayList(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallPropertyIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallPropertyIns.java index 8663a284c..b91c1b438 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallPropertyIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallPropertyIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.executing; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,7 +30,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class CallPropertyIns extends InstructionDefinition { @@ -55,7 +55,7 @@ public class CallPropertyIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; int argCount = ins.operands[1]; List args = new ArrayList(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallStaticIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallStaticIns.java index 9c2924091..b7040d7df 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallStaticIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallStaticIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.executing; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class CallStaticIns extends InstructionDefinition { @@ -52,7 +52,7 @@ public class CallStaticIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int methodIndex = ins.operands[0]; int argCount = ins.operands[1]; List args = new ArrayList(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallSuperIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallSuperIns.java index f6f35ea7f..904914d22 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallSuperIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallSuperIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.executing; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,7 +30,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class CallSuperIns extends InstructionDefinition { @@ -55,7 +55,7 @@ public class CallSuperIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; int argCount = ins.operands[1]; List args = new ArrayList(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallSuperVoidIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallSuperVoidIns.java index efe5c09f3..de6b71c33 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallSuperVoidIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/executing/CallSuperVoidIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.executing; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,7 +30,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class CallSuperVoidIns extends InstructionDefinition { @@ -55,7 +55,7 @@ public class CallSuperVoidIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; int argCount = ins.operands[1]; List args = new ArrayList(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfEqIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfEqIns.java index c87b68ca1..22114783a 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfEqIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfEqIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.NeqTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfEqIns extends InstructionDefinition implements IfTypeIns { @@ -39,7 +39,7 @@ public class IfEqIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new EqTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfFalseIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfFalseIns.java index c7e6e430c..a7242a4af 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfFalseIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfFalseIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.NotTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfFalseIns extends InstructionDefinition implements IfTypeIns { @@ -38,7 +38,7 @@ public class IfFalseIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v1 = (TreeItem) stack.pop(); stack.push(new NotTreeItem(ins, v1)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfGeIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfGeIns.java index 9893c33a2..5083e926d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfGeIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfGeIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.LtTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfGeIns extends InstructionDefinition implements IfTypeIns { @@ -39,7 +39,7 @@ public class IfGeIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new GeTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfGtIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfGtIns.java index dc9d85a4c..f8d93fcbe 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfGtIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfGtIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.LeTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfGtIns extends InstructionDefinition implements IfTypeIns { @@ -39,7 +39,7 @@ public class IfGtIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new GtTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfLeIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfLeIns.java index 4cafe07e6..4e619fbd3 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfLeIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfLeIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.LeTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfLeIns extends InstructionDefinition implements IfTypeIns { @@ -39,7 +39,7 @@ public class IfLeIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new LeTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfLtIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfLtIns.java index 44bb18e4c..d1d0440b2 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfLtIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfLtIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.LtTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfLtIns extends InstructionDefinition implements IfTypeIns { @@ -39,7 +39,7 @@ public class IfLtIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new LtTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNGeIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNGeIns.java index 9d29d4cc1..902789cca 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNGeIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNGeIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.LtTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfNGeIns extends InstructionDefinition implements IfTypeIns { @@ -39,7 +39,7 @@ public class IfNGeIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new LtTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNGtIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNGtIns.java index c9ffe653f..f1e90c695 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNGtIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNGtIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.LeTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfNGtIns extends InstructionDefinition implements IfTypeIns { @@ -39,7 +39,7 @@ public class IfNGtIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new LeTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNLeIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNLeIns.java index f43d6c739..a7aeeb7ef 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNLeIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNLeIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.LeTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfNLeIns extends InstructionDefinition implements IfTypeIns { @@ -39,7 +39,7 @@ public class IfNLeIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new GtTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNLtIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNLtIns.java index 29e90d6ed..49683e95d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNLtIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNLtIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.LtTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfNLtIns extends InstructionDefinition implements IfTypeIns { @@ -39,7 +39,7 @@ public class IfNLtIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new GeTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNeIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNeIns.java index d30815a09..6d5ccb696 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNeIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfNeIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.NeqTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfNeIns extends InstructionDefinition implements IfTypeIns { @@ -39,7 +39,7 @@ public class IfNeIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new NeqTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfStrictEqIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfStrictEqIns.java index 525b5f3a7..88045875f 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfStrictEqIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfStrictEqIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.StrictNeqTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfStrictEqIns extends InstructionDefinition implements IfTypeIns { @@ -39,7 +39,7 @@ public class IfStrictEqIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new StrictEqTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfStrictNeIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfStrictNeIns.java index cb3069602..68d209cd9 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfStrictNeIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfStrictNeIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.StrictNeqTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfStrictNeIns extends InstructionDefinition implements IfTypeIns { @@ -39,7 +39,7 @@ public class IfStrictNeIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v2 = (TreeItem) stack.pop(); TreeItem v1 = (TreeItem) stack.pop(); stack.push(new StrictNeqTreeItem(ins, v1, v2)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfTrueIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfTrueIns.java index 7c595d2bb..64fd853b1 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfTrueIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/IfTrueIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.NotTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IfTrueIns extends InstructionDefinition implements IfTypeIns { @@ -38,7 +38,7 @@ public class IfTrueIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { //String v1 = stack.pop().toString(); //stack.push("(" + v1 + ")"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/JumpIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/JumpIns.java index 7a172d108..108cf2515 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/JumpIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/JumpIns.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.IfTypeIns; @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class JumpIns extends InstructionDefinition implements IfTypeIns { @@ -37,7 +37,7 @@ public class JumpIns extends InstructionDefinition implements IfTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new BooleanTreeItem(ins, Boolean.TRUE));// + ins.operands[0]); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/LookupSwitchIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/LookupSwitchIns.java index 53e379704..91ca0082c 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/LookupSwitchIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/jumps/LookupSwitchIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.jumps; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class LookupSwitchIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class LookupSwitchIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int defaultOffset = ins.operands[0]; int caseCount = ins.operands[1]; //stack.push("switch(...)"); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/DecLocalIIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/DecLocalIIns.java index ff5464caa..c769f3695 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/DecLocalIIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/DecLocalIIns.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.instructions.localregs; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class DecLocalIIns extends InstructionDefinition { @@ -56,7 +56,7 @@ public class DecLocalIIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int regIndex = ins.operands[0]; output.add(new DecLocalTreeItem(ins, regIndex)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/DecLocalIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/DecLocalIns.java index 6d88881ab..c4c413e09 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/DecLocalIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/DecLocalIns.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.instructions.localregs; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class DecLocalIns extends InstructionDefinition { @@ -57,7 +57,7 @@ public class DecLocalIns extends InstructionDefinition { @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int regIndex = ins.operands[0]; output.add(new DecLocalTreeItem(ins, regIndex)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal0Ins.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal0Ins.java index 48eae29f2..b389d1502 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal0Ins.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal0Ins.java @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetLocal0Ins extends InstructionDefinition implements GetLocalTypeIns { @@ -43,7 +43,7 @@ public class GetLocal0Ins extends InstructionDefinition implements GetLocalTypeI } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { if (isStatic) { stack.push(new ClassTreeItem(abc.instance_info[classIndex].getName(constants).getName(constants))); } else { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal1Ins.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal1Ins.java index e990e9c7f..ffd80300c 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal1Ins.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal1Ins.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetLocal1Ins extends InstructionDefinition implements GetLocalTypeIns { @@ -42,7 +42,7 @@ public class GetLocal1Ins extends InstructionDefinition implements GetLocalTypeI } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new LocalRegTreeItem(ins, 1, localRegs.get(1))); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal2Ins.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal2Ins.java index 89f539487..0a2d86f8c 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal2Ins.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal2Ins.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetLocal2Ins extends InstructionDefinition implements GetLocalTypeIns { @@ -42,7 +42,7 @@ public class GetLocal2Ins extends InstructionDefinition implements GetLocalTypeI } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new LocalRegTreeItem(ins, 2, localRegs.get(2))); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal3Ins.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal3Ins.java index a5c88d963..b3953b61f 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal3Ins.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocal3Ins.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetLocal3Ins extends InstructionDefinition implements GetLocalTypeIns { @@ -44,7 +44,7 @@ public class GetLocal3Ins extends InstructionDefinition implements GetLocalTypeI @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new LocalRegTreeItem(ins, 3, localRegs.get(3))); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocalIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocalIns.java index cfe36a4d5..d46502c28 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocalIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/GetLocalIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.localregs; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetLocalIns extends InstructionDefinition implements GetLocalTypeIns { @@ -45,7 +45,7 @@ public class GetLocalIns extends InstructionDefinition implements GetLocalTypeIn @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int regIndex = ins.operands[0]; stack.push(new LocalRegTreeItem(ins, regIndex, localRegs.get(regIndex))); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/IncLocalIIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/IncLocalIIns.java index ffa05b660..256d4d429 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/IncLocalIIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/IncLocalIIns.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.instructions.localregs; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IncLocalIIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class IncLocalIIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int regIndex = ins.operands[0]; output.add(new IncLocalTreeItem(ins, regIndex)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/IncLocalIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/IncLocalIns.java index 711ce1ab1..f5b6d1593 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/IncLocalIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/IncLocalIns.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.instructions.localregs; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IncLocalIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class IncLocalIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int regIndex = ins.operands[0]; output.add(new IncLocalTreeItem(ins, regIndex)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/KillIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/KillIns.java index 125cee5a5..cda6ff8a3 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/KillIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/KillIns.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.instructions.localregs; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -25,7 +25,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class KillIns extends InstructionDefinition { @@ -35,7 +35,7 @@ public class KillIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { //kill local register } } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal0Ins.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal0Ins.java index 4f2d3b57c..9e1457187 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal0Ins.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal0Ins.java @@ -30,7 +30,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class SetLocal0Ins extends InstructionDefinition implements SetTypeIns, SetLocalTypeIns { @@ -45,7 +45,7 @@ public class SetLocal0Ins extends InstructionDefinition implements SetTypeIns, S } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem val = (TreeItem) stack.pop(); localRegs.put(0, val); if (val instanceof NewActivationTreeItem) return; @@ -55,8 +55,8 @@ public class SetLocal0Ins extends InstructionDefinition implements SetTypeIns, S output.add(new SetLocalTreeItem(ins, 0, val)); } - public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body) { - return localRegName(0); + public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body,HashMap localRegNames) { + return TreeItem.localRegName(localRegNames,0); } public int getRegisterId(AVM2Instruction ins) { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal1Ins.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal1Ins.java index 4684748b5..fdeffa995 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal1Ins.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal1Ins.java @@ -30,7 +30,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class SetLocal1Ins extends InstructionDefinition implements SetTypeIns, SetLocalTypeIns { @@ -45,7 +45,7 @@ public class SetLocal1Ins extends InstructionDefinition implements SetTypeIns, S } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem val = (TreeItem) stack.pop(); localRegs.put(1, val); if (val instanceof NewActivationTreeItem) return; @@ -55,8 +55,8 @@ public class SetLocal1Ins extends InstructionDefinition implements SetTypeIns, S output.add(new SetLocalTreeItem(ins, 1, val)); } - public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body) { - return localRegName(1); + public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body,HashMap localRegNames) { + return TreeItem.localRegName(localRegNames,1); } public int getRegisterId(AVM2Instruction ins) { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal2Ins.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal2Ins.java index 6c111e922..a26009824 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal2Ins.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal2Ins.java @@ -30,7 +30,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class SetLocal2Ins extends InstructionDefinition implements SetTypeIns, SetLocalTypeIns { @@ -45,7 +45,7 @@ public class SetLocal2Ins extends InstructionDefinition implements SetTypeIns, S } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem val = (TreeItem) stack.pop(); localRegs.put(2, val); if (val instanceof NewActivationTreeItem) return; @@ -55,8 +55,8 @@ public class SetLocal2Ins extends InstructionDefinition implements SetTypeIns, S output.add(new SetLocalTreeItem(ins, 2, val)); } - public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body) { - return localRegName(2); + public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body,HashMap localRegNames) { + return TreeItem.localRegName(localRegNames,2); } public int getRegisterId(AVM2Instruction ins) { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal3Ins.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal3Ins.java index 0e7a8e294..bb889aec2 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal3Ins.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocal3Ins.java @@ -30,7 +30,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class SetLocal3Ins extends InstructionDefinition implements SetTypeIns, SetLocalTypeIns { @@ -45,7 +45,7 @@ public class SetLocal3Ins extends InstructionDefinition implements SetTypeIns, S } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem val = (TreeItem) stack.pop(); localRegs.put(3, val); if (val instanceof NewActivationTreeItem) return; @@ -55,8 +55,8 @@ public class SetLocal3Ins extends InstructionDefinition implements SetTypeIns, S output.add(new SetLocalTreeItem(ins, 3, val)); } - public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body) { - return localRegName(3); + public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body,HashMap localRegNames) { + return TreeItem.localRegName(localRegNames,3); } public int getRegisterId(AVM2Instruction ins) { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocalIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocalIns.java index 3f6a78512..935ae9ced 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocalIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/localregs/SetLocalIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.localregs; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -31,7 +31,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class SetLocalIns extends InstructionDefinition implements SetTypeIns, SetLocalTypeIns { @@ -47,7 +47,7 @@ public class SetLocalIns extends InstructionDefinition implements SetTypeIns, Se @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem val = (TreeItem) stack.pop(); localRegs.put(ins.operands[0], val); if (val instanceof NewActivationTreeItem) return; @@ -57,8 +57,8 @@ public class SetLocalIns extends InstructionDefinition implements SetTypeIns, Se output.add(new SetLocalTreeItem(ins, ins.operands[0], val)); } - public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body) { - return localRegName(ins.operands[0]); + public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body,HashMap localRegNames) { + return TreeItem.localRegName(localRegNames,ins.operands[0]); } public int getRegisterId(AVM2Instruction ins) { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/DeletePropertyIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/DeletePropertyIns.java index eb8d5b037..0cd568281 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/DeletePropertyIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/DeletePropertyIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,7 +30,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.DeletePropertyTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class DeletePropertyIns extends InstructionDefinition { @@ -51,7 +51,7 @@ public class DeletePropertyIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; FullMultinameTreeItem multiname = resolveMultiname(stack, constants, multinameIndex, ins); TreeItem obj = (TreeItem) stack.pop(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/FindPropertyIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/FindPropertyIns.java index 01964e26d..e82640f99 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/FindPropertyIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/FindPropertyIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class FindPropertyIns extends InstructionDefinition { @@ -48,7 +48,7 @@ public class FindPropertyIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; FullMultinameTreeItem multiname = resolveMultiname(stack, constants, multinameIndex, ins); stack.push(new FindPropertyTreeItem(ins, multiname)); //resolve right object diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/FindPropertyStrictIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/FindPropertyStrictIns.java index 22615c00c..3a4140bb7 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/FindPropertyStrictIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/FindPropertyStrictIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class FindPropertyStrictIns extends InstructionDefinition { @@ -47,7 +47,7 @@ public class FindPropertyStrictIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; FullMultinameTreeItem multiname = resolveMultiname(stack, constants, multinameIndex, ins); stack.push(new FindPropertyTreeItem(ins, multiname)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetDescendantsIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetDescendantsIns.java index ef7884156..d256c84c4 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetDescendantsIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetDescendantsIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetDescendantsIns extends InstructionDefinition { @@ -48,7 +48,7 @@ public class GetDescendantsIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; FullMultinameTreeItem multiname = resolveMultiname(stack, constants, multinameIndex, ins); TreeItem obj = (TreeItem) stack.pop(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetGlobalScopeIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetGlobalScopeIns.java index 2373233bc..10768c820 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetGlobalScopeIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetGlobalScopeIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetGlobalScopeIns extends InstructionDefinition { @@ -41,7 +41,7 @@ public class GetGlobalScopeIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(scopeStack.get(0)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetGlobalSlotIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetGlobalSlotIns.java index 97ef10839..f2b7a2ace 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetGlobalSlotIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetGlobalSlotIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -30,7 +30,7 @@ import com.jpexs.asdec.abc.types.Multiname; import com.jpexs.asdec.abc.types.traits.TraitSlotConst; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetGlobalSlotIns extends InstructionDefinition { @@ -40,7 +40,7 @@ public class GetGlobalSlotIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int slotIndex = ins.operands[0]; TreeItem obj = (TreeItem) scopeStack.get(0); //scope Multiname slotname = null; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetLexIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetLexIns.java index c73736c50..d9f22f888 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetLexIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetLexIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import com.jpexs.asdec.abc.types.Multiname; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetLexIns extends InstructionDefinition { @@ -38,7 +38,7 @@ public class GetLexIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; Multiname multiname = constants.constant_multiname[multinameIndex]; stack.push(new GetLexTreeItem(ins, multiname)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetPropertyIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetPropertyIns.java index b40bde5d1..36f2dee9d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetPropertyIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetPropertyIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetPropertyIns extends InstructionDefinition { @@ -38,7 +38,7 @@ public class GetPropertyIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; FullMultinameTreeItem multiname = resolveMultiname(stack, constants, multinameIndex, ins); TreeItem obj = (TreeItem) stack.pop(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetScopeObjectIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetScopeObjectIns.java index 0570a73d5..2f7dffbec 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetScopeObjectIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetScopeObjectIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetScopeObjectIns extends InstructionDefinition { @@ -37,7 +37,7 @@ public class GetScopeObjectIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int index = ins.operands[0]; /* System.out.println("Getting scope object"+index+":"); for(TreeItem ti:scopeStack){ diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetSlotIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetSlotIns.java index bc46dba5c..777449dd6 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetSlotIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetSlotIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -30,7 +30,7 @@ import com.jpexs.asdec.abc.types.Multiname; import com.jpexs.asdec.abc.types.traits.TraitSlotConst; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetSlotIns extends InstructionDefinition { @@ -40,7 +40,7 @@ public class GetSlotIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int slotIndex = ins.operands[0]; TreeItem obj = (TreeItem) stack.pop(); //scope Multiname slotname = null; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetSuperIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetSuperIns.java index 2da57540b..e7b3dd5ad 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetSuperIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/GetSuperIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class GetSuperIns extends InstructionDefinition { @@ -38,7 +38,7 @@ public class GetSuperIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; FullMultinameTreeItem multiname = resolveMultiname(stack, constants, multinameIndex, ins); TreeItem obj = (TreeItem) stack.pop(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/HasNext2Ins.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/HasNext2Ins.java index e1764aa15..df0f35a2e 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/HasNext2Ins.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/HasNext2Ins.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class HasNext2Ins extends InstructionDefinition { @@ -37,7 +37,7 @@ public class HasNext2Ins extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int objectReg = ins.operands[0]; int indexReg = ins.operands[1]; //stack.push("_loc_" + objectReg + ".hasNext(cnt=_loc_" + indexReg + ")"); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/HasNextIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/HasNextIns.java index a808d591b..ee200e3f7 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/HasNextIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/HasNextIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class HasNextIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class HasNextIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem curIndex = (TreeItem) stack.pop(); TreeItem obj = (TreeItem) stack.pop(); stack.push(new EachTreeItem(ins, curIndex, obj)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/InIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/InIns.java index 6e3aab5ea..0a9bcf393 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/InIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/InIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.InTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class InIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class InIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem obj = (TreeItem) stack.pop(); TreeItem name = (TreeItem) stack.pop(); stack.push(new InTreeItem(ins, name, obj)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/InitPropertyIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/InitPropertyIns.java index 12db428c8..ba1a9d919 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/InitPropertyIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/InitPropertyIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class InitPropertyIns extends InstructionDefinition { @@ -38,7 +38,7 @@ public class InitPropertyIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; TreeItem val = (TreeItem) stack.pop(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/NextNameIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/NextNameIns.java index 9ecc885ff..62b983fb3 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/NextNameIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/NextNameIns.java @@ -25,7 +25,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class NextNameIns extends InstructionDefinition { @@ -35,7 +35,7 @@ public class NextNameIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem index = stack.pop(); TreeItem obj = stack.pop(); //stack.push(obj + ".nextName(" + index + ")"); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/NextValueIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/NextValueIns.java index 52e8204e0..5f51a9de7 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/NextValueIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/NextValueIns.java @@ -25,7 +25,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class NextValueIns extends InstructionDefinition { @@ -35,7 +35,7 @@ public class NextValueIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem index = stack.pop(); TreeItem obj = stack.pop(); //stack.push(obj + ".nextValue(" + index + ")"); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/ReturnValueIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/ReturnValueIns.java index 2cc3ac74f..c022f102b 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/ReturnValueIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/ReturnValueIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ReturnValueIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class ReturnValueIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { output.add(new ReturnValueTreeItem(ins, (TreeItem) stack.pop())); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/ReturnVoidIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/ReturnVoidIns.java index 4eecb5e86..d0c9b8267 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/ReturnVoidIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/ReturnVoidIns.java @@ -25,7 +25,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ReturnVoidIns extends InstructionDefinition { @@ -35,7 +35,7 @@ public class ReturnVoidIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { output.add(new ReturnVoidTreeItem(ins)); } } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetGlobalSlotIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetGlobalSlotIns.java index 17cf0a19e..1f7deff47 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetGlobalSlotIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetGlobalSlotIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class SetGlobalSlotIns extends InstructionDefinition implements SetTypeIns { @@ -38,11 +38,11 @@ public class SetGlobalSlotIns extends InstructionDefinition implements SetTypeIn } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { output.add(new SetGlobalSlotTreeItem(ins, ins.operands[0], (TreeItem) stack.pop())); } - public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body) { + public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body,HashMap localRegNames) { return "globalslot" + ins.operands[0]; } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetPropertyIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetPropertyIns.java index d8fe8d73a..e4719418a 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetPropertyIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetPropertyIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class SetPropertyIns extends InstructionDefinition implements SetTypeIns { @@ -39,7 +39,7 @@ public class SetPropertyIns extends InstructionDefinition implements SetTypeIns } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; TreeItem value = (TreeItem) stack.pop(); FullMultinameTreeItem multiname = resolveMultiname(stack, constants, multinameIndex, ins); @@ -47,7 +47,7 @@ public class SetPropertyIns extends InstructionDefinition implements SetTypeIns output.add(new SetPropertyTreeItem(ins, obj, multiname, value)); } - public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body) { + public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body,HashMap localRegNames) { int multinameIndex = ins.operands[0]; String multiname = resolveMultinameNoPop(0, stack, constants, multinameIndex, ins); TreeItem obj = stack.get(1 + resolvedCount(constants, multinameIndex)); //pod vrcholem diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetSlotIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetSlotIns.java index 070f16442..4292d8133 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetSlotIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetSlotIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -31,7 +31,7 @@ import com.jpexs.asdec.abc.types.Multiname; import com.jpexs.asdec.abc.types.traits.TraitSlotConst; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class SetSlotIns extends InstructionDefinition implements SetTypeIns { @@ -41,7 +41,7 @@ public class SetSlotIns extends InstructionDefinition implements SetTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int slotIndex = ins.operands[0]; TreeItem value = (TreeItem) stack.pop(); TreeItem obj = (TreeItem) stack.pop(); //scopeId @@ -62,7 +62,7 @@ public class SetSlotIns extends InstructionDefinition implements SetTypeIns { output.add(new SetSlotTreeItem(ins, obj, slotname, value)); } - public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body) { + public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body,HashMap localRegNames) { int slotIndex = ins.operands[0]; ////String obj = stack.get(1); String slotname = ""; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetSuperIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetSuperIns.java index 6e6fdf038..959c4a861 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetSuperIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/SetSuperIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.other; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class SetSuperIns extends InstructionDefinition implements SetTypeIns { @@ -39,7 +39,7 @@ public class SetSuperIns extends InstructionDefinition implements SetTypeIns { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; TreeItem value = (TreeItem) stack.pop(); @@ -48,10 +48,10 @@ public class SetSuperIns extends InstructionDefinition implements SetTypeIns { output.add(new SetSuperTreeItem(ins, value, obj, multiname)); } - public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body) { + public String getObject(Stack stack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body,HashMap localRegNames) { int multinameIndex = ins.operands[0]; String multiname = resolveMultinameNoPop(1, stack, constants, multinameIndex, ins); - String obj = stack.get(1 + resolvedCount(constants, multinameIndex)).toString(constants); + String obj = stack.get(1 + resolvedCount(constants, multinameIndex)).toString(constants,localRegNames); return obj + ".super." + multiname; } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/ThrowIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/ThrowIns.java index a0f1c0b20..56156444a 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/ThrowIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/other/ThrowIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.types.MethodBody; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ThrowIns extends InstructionDefinition { @@ -37,7 +37,7 @@ public class ThrowIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, MethodBody body, ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, MethodBody body, ABC abc,HashMap localRegNames) { output.add(new ThrowTreeItem(ins, (TreeItem) stack.pop())); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/DupIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/DupIns.java index 12bb3dbe2..b5701fa89 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/DupIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/DupIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class DupIns extends InstructionDefinition { @@ -43,7 +43,7 @@ public class DupIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem v = (TreeItem) stack.pop(); stack.push(v); stack.push(v); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PopIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PopIns.java index 67f7998ab..9609bf201 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PopIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PopIns.java @@ -31,7 +31,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PopIns extends InstructionDefinition { @@ -46,7 +46,7 @@ public class PopIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { if (stack.size() > 0) { TreeItem top=stack.pop(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PopScopeIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PopScopeIns.java index c098c1aa8..441d73221 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PopScopeIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PopScopeIns.java @@ -29,7 +29,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import java.util.ArrayList; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PopScopeIns extends InstructionDefinition { @@ -44,7 +44,7 @@ public class PopScopeIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, MethodBody body, ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, MethodBody body, ABC abc,HashMap localRegNames) { TreeItem scope = (TreeItem) scopeStack.pop(); for (int i = output.size() - 1; i >= 0; i--) { if (output.get(i) instanceof WithTreeItem) { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushByteIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushByteIns.java index 8bbbbb9ad..622cdcd44 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushByteIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushByteIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.stack; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushByteIns extends InstructionDefinition { @@ -45,7 +45,7 @@ public class PushByteIns extends InstructionDefinition { @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new IntegerValueTreeItem(ins, new Long(ins.operands[0]))); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushDoubleIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushDoubleIns.java index 0b0cfcc79..0de754524 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushDoubleIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushDoubleIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.stack; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushDoubleIns extends InstructionDefinition { @@ -43,7 +43,7 @@ public class PushDoubleIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new FloatValueTreeItem(ins, constants.constant_double[ins.operands[0]])); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushFalseIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushFalseIns.java index 515b4cfc2..eea68942c 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushFalseIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushFalseIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushFalseIns extends InstructionDefinition { @@ -42,7 +42,7 @@ public class PushFalseIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new BooleanTreeItem(ins, Boolean.FALSE)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushIntIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushIntIns.java index 22e543591..4869a9477 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushIntIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushIntIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.stack; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushIntIns extends InstructionDefinition { @@ -43,7 +43,7 @@ public class PushIntIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new IntegerValueTreeItem(ins, constants.constant_int[ins.operands[0]])); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushNamespaceIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushNamespaceIns.java index f78c35002..c3bb0617d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushNamespaceIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushNamespaceIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.stack; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.types.MethodBody; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushNamespaceIns extends InstructionDefinition { @@ -38,7 +38,7 @@ public class PushNamespaceIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, MethodBody body, ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, MethodBody body, ABC abc,HashMap localRegNames) { stack.push(new NameSpaceTreeItem(ins, ins.operands[0])); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushNanIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushNanIns.java index c035a2f63..db3b6db3e 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushNanIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushNanIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushNanIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class PushNanIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new NanTreeItem(ins)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushNullIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushNullIns.java index 459228f10..fb4afa21f 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushNullIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushNullIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushNullIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class PushNullIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new NullTreeItem(ins)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushScopeIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushScopeIns.java index 3bf74d4d9..dff25ded6 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushScopeIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushScopeIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushScopeIns extends InstructionDefinition { @@ -41,7 +41,7 @@ public class PushScopeIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { scopeStack.push(stack.pop()); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushShortIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushShortIns.java index 09fe9671d..ea36e93b9 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushShortIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushShortIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.stack; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushShortIns extends InstructionDefinition { @@ -43,7 +43,7 @@ public class PushShortIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new IntegerValueTreeItem(ins, new Long(ins.operands[0]))); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushStringIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushStringIns.java index 903163ff0..ce9fb3714 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushStringIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushStringIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.stack; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushStringIns extends InstructionDefinition { @@ -43,7 +43,7 @@ public class PushStringIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new StringTreeItem(ins, constants.constant_string[ins.operands[0]])); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushTrueIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushTrueIns.java index d3a957f76..b9c329f27 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushTrueIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushTrueIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushTrueIns extends InstructionDefinition { @@ -42,7 +42,7 @@ public class PushTrueIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new BooleanTreeItem(ins, Boolean.TRUE)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushUIntIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushUIntIns.java index 7111c5dbf..ed1534a11 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushUIntIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushUIntIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.stack; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushUIntIns extends InstructionDefinition { @@ -43,7 +43,7 @@ public class PushUIntIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new IntegerValueTreeItem(ins, constants.constant_uint[ins.operands[0]])); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushUndefinedIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushUndefinedIns.java index 5982d41ee..4a0af287f 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushUndefinedIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushUndefinedIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.UndefinedTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushUndefinedIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class PushUndefinedIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new UndefinedTreeItem(ins)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushWithIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushWithIns.java index 0a7afab98..b4fbe1b49 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushWithIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/PushWithIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.types.MethodBody; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class PushWithIns extends InstructionDefinition { @@ -37,7 +37,7 @@ public class PushWithIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, MethodBody body, ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, MethodBody body, ABC abc,HashMap localRegNames) { TreeItem w = (TreeItem) stack.pop(); scopeStack.push(w); output.add(new WithTreeItem(ins, w)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/SwapIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/SwapIns.java index 48a857c1a..980fb3193 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/SwapIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/stack/SwapIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.types.MethodBody; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class SwapIns extends InstructionDefinition { @@ -45,7 +45,7 @@ public class SwapIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, MethodBody body, ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, MethodBody body, ABC abc,HashMap localRegNames) { TreeItem o1 = stack.pop(); TreeItem o2 = stack.pop(); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ApplyTypeIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ApplyTypeIns.java index bd493e213..48a43d50d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ApplyTypeIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ApplyTypeIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.types; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,7 +30,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ApplyTypeIns extends InstructionDefinition { @@ -51,7 +51,7 @@ public class ApplyTypeIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int argCount = ins.operands[0]; List params = new ArrayList(); for (int i = 0;i localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem val = (TreeItem) stack.pop(); stack.push(new AsTypeTreeItem(ins, val, new FullMultinameTreeItem(ins, ins.operands[0]))); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/AsTypeLateIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/AsTypeLateIns.java index b5418ec10..b642e164a 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/AsTypeLateIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/AsTypeLateIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.AsTypeTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class AsTypeLateIns extends InstructionDefinition { @@ -46,7 +46,7 @@ public class AsTypeLateIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem cls = (TreeItem) stack.pop(); TreeItem val = (TreeItem) stack.pop(); stack.push(new AsTypeTreeItem(ins, val, cls)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/CoerceAIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/CoerceAIns.java index 86c9b8ea6..220aa27fa 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/CoerceAIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/CoerceAIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class CoerceAIns extends InstructionDefinition implements CoerceOrConvertTypeIns{ @@ -42,7 +42,7 @@ public class CoerceAIns extends InstructionDefinition implements CoerceOrConvert } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new CoerceTreeItem(ins, (TreeItem) stack.pop(), "*")); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/CoerceIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/CoerceIns.java index 894b42db5..36346698b 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/CoerceIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/CoerceIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.types; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class CoerceIns extends InstructionDefinition implements CoerceOrConvertTypeIns { @@ -44,7 +44,7 @@ public class CoerceIns extends InstructionDefinition implements CoerceOrConvertT } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; stack.push(new CoerceTreeItem(ins, (TreeItem) stack.pop(), constants.constant_multiname[multinameIndex].getName(constants))); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/CoerceSIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/CoerceSIns.java index 50f443e17..c78e13715 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/CoerceSIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/CoerceSIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class CoerceSIns extends InstructionDefinition implements CoerceOrConvertTypeIns { @@ -44,7 +44,7 @@ public class CoerceSIns extends InstructionDefinition implements CoerceOrConvert } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new CoerceTreeItem(ins, (TreeItem) stack.pop(), "string")); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertBIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertBIns.java index 1de344932..0bb742f25 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertBIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertBIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ConvertBIns extends InstructionDefinition implements CoerceOrConvertTypeIns { @@ -53,7 +53,7 @@ public class ConvertBIns extends InstructionDefinition implements CoerceOrConver } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new ConvertTreeItem(ins, (TreeItem) stack.pop(), "boolean")); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertDIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertDIns.java index dc2625cbe..9fcd8e20e 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertDIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertDIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ConvertDIns extends InstructionDefinition implements CoerceOrConvertTypeIns { @@ -61,7 +61,7 @@ public class ConvertDIns extends InstructionDefinition implements CoerceOrConver } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new ConvertTreeItem(ins, (TreeItem) stack.pop(), "double")); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertIIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertIIns.java index 7c4e709bb..f5cafb1fd 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertIIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertIIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ConvertIIns extends InstructionDefinition implements CoerceOrConvertTypeIns { @@ -59,7 +59,7 @@ public class ConvertIIns extends InstructionDefinition implements CoerceOrConver } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new ConvertTreeItem(ins, (TreeItem) stack.pop(), "int")); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertOIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertOIns.java index e8a276221..35a566506 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertOIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertOIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ConvertOIns extends InstructionDefinition implements CoerceOrConvertTypeIns { @@ -42,7 +42,7 @@ public class ConvertOIns extends InstructionDefinition implements CoerceOrConver } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new ConvertTreeItem(ins, (TreeItem) stack.pop(), "Object")); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertSIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertSIns.java index 5cf9d1845..71eab7255 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertSIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertSIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ConvertSIns extends InstructionDefinition implements CoerceOrConvertTypeIns { @@ -43,7 +43,7 @@ public class ConvertSIns extends InstructionDefinition implements CoerceOrConver } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new ConvertTreeItem(ins, (TreeItem) stack.pop(), "string")); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertUIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertUIns.java index 852112c20..9c17fc7f5 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertUIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/ConvertUIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class ConvertUIns extends InstructionDefinition implements CoerceOrConvertTypeIns { @@ -42,7 +42,7 @@ public class ConvertUIns extends InstructionDefinition implements CoerceOrConver } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new ConvertTreeItem(ins, (TreeItem) stack.pop(), "uint")); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/InstanceOfIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/InstanceOfIns.java index dece28497..2a5ad107e 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/InstanceOfIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/InstanceOfIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.InstanceOfTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class InstanceOfIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class InstanceOfIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem type = (TreeItem) stack.pop(); TreeItem value = (TreeItem) stack.pop(); stack.push(new InstanceOfTreeItem(ins, value, type)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/IsTypeIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/IsTypeIns.java index d21713c16..bd95c4dd7 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/IsTypeIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/IsTypeIns.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.instructions.types; import com.jpexs.asdec.abc.ABC; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -28,7 +28,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.IsTypeTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IsTypeIns extends InstructionDefinition { @@ -38,7 +38,7 @@ public class IsTypeIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { int multinameIndex = ins.operands[0]; TreeItem value = (TreeItem) stack.pop(); stack.push(new IsTypeTreeItem(ins, value, new FullMultinameTreeItem(ins, multinameIndex))); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/IsTypeLateIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/IsTypeLateIns.java index a373d67f9..8ddeac516 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/IsTypeLateIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/IsTypeLateIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.IsTypeTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class IsTypeLateIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class IsTypeLateIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem type = (TreeItem) stack.pop(); TreeItem value = (TreeItem) stack.pop(); stack.push(new IsTypeTreeItem(ins, value, type)); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/TypeOfIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/TypeOfIns.java index 953869c7a..1aa335759 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/TypeOfIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/types/TypeOfIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.operations.TypeOfTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class TypeOfIns extends InstructionDefinition { @@ -36,7 +36,7 @@ public class TypeOfIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { stack.push(new TypeOfTreeItem(ins, (TreeItem) stack.pop())); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/CheckFilterIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/CheckFilterIns.java index 375e5964d..3179919b8 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/CheckFilterIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/CheckFilterIns.java @@ -26,7 +26,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class CheckFilterIns extends InstructionDefinition { @@ -41,7 +41,7 @@ public class CheckFilterIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/DXNSIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/DXNSIns.java index a383cebd6..e787d5f93 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/DXNSIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/DXNSIns.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.instructions.xml; -import com.jpexs.asdec.abc.avm2.AVM2Code; +import com.jpexs.asdec.abc.avm2.AVM2Code; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.ConstantPool; import com.jpexs.asdec.abc.avm2.LocalDataArea; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/DXNSLateIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/DXNSLateIns.java index 9fd412b82..d54078e8e 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/DXNSLateIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/DXNSLateIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.UnparsedTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class DXNSLateIns extends InstructionDefinition { @@ -43,9 +43,9 @@ public class DXNSLateIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { TreeItem xmlns = stack.pop(); - stack.push(new UnparsedTreeItem(ins, "XMLNS:" + xmlns.toString(constants))); + stack.push(new UnparsedTreeItem(ins, "XMLNS:" + xmlns.toString(constants,localRegNames))); } @Override diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/EscXAttrIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/EscXAttrIns.java index f0794b134..7db7a9c54 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/EscXAttrIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/EscXAttrIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.UnparsedTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class EscXAttrIns extends InstructionDefinition { @@ -44,8 +44,8 @@ public class EscXAttrIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { - stack.push(new UnparsedTreeItem(ins, "esc_xattr(" + stack.pop().toString(constants) + ")")); + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { + stack.push(new UnparsedTreeItem(ins, "esc_xattr(" + stack.pop().toString(constants,localRegNames) + ")")); } @Override diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/EscXElemIns.java b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/EscXElemIns.java index 1eafb051a..f04a5186d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/EscXElemIns.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/instructions/xml/EscXElemIns.java @@ -27,7 +27,7 @@ import com.jpexs.asdec.abc.avm2.treemodel.UnparsedTreeItem; import com.jpexs.asdec.abc.types.MethodInfo; import java.util.List; -import java.util.Stack; +import java.util.Stack; import java.util.HashMap; public class EscXElemIns extends InstructionDefinition { @@ -44,8 +44,8 @@ public class EscXElemIns extends InstructionDefinition { } @Override - public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc) { - stack.push(new UnparsedTreeItem(ins, "esc_xelem(" + stack.pop().toString(constants) + ")")); + public void translate(boolean isStatic, int classIndex, java.util.HashMap localRegs, Stack stack, java.util.Stack scopeStack, ConstantPool constants, AVM2Instruction ins, MethodInfo[] method_info, List output, com.jpexs.asdec.abc.types.MethodBody body, com.jpexs.asdec.abc.ABC abc, HashMap localRegNames) { + stack.push(new UnparsedTreeItem(ins, "esc_xelem(" + stack.pop().toString(constants,localRegNames) + ")")); } @Override diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ApplyTypeTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ApplyTypeTreeItem.java index a4980efe4..a0a63aef7 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ApplyTypeTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ApplyTypeTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import java.util.List; @@ -34,8 +34,8 @@ public class ApplyTypeTreeItem extends TreeItem { @Override - public String toString(ConstantPool constants) { - String ret=object.toString(constants); + public String toString(ConstantPool constants, HashMap localRegNames) { + String ret=object.toString(constants,localRegNames); if(!params.isEmpty()) { ret+=hilight(".<"); @@ -44,7 +44,7 @@ public class ApplyTypeTreeItem extends TreeItem { if(i>0){ ret+=hilight(","); } - ret+=params.get(i).toString(constants); + ret+=params.get(i).toString(constants,localRegNames); } ret+=hilight(">"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/BooleanTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/BooleanTreeItem.java index 0246ae74b..c754ba2f0 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/BooleanTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/BooleanTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -31,7 +31,7 @@ public class BooleanTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return value.toString(); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/BreakTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/BreakTreeItem.java index 3d97764e8..2f9fd30e6 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/BreakTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/BreakTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -36,7 +36,7 @@ public class BreakTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight("break") + " loop" + loopPos; } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallMethodTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallMethodTreeItem.java index f2308ef77..338b694e4 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallMethodTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallMethodTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import java.util.List; @@ -36,15 +36,15 @@ public class CallMethodTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String args = ""; for (int a = 0; a < arguments.size(); a++) { if (a > 0) { args = args + ","; } - args = args + arguments.get(a).toString(constants); + args = args + arguments.get(a).toString(constants,localRegNames); } - return receiver.toString(constants) + hilight(".") + methodName + hilight("(") + args + hilight(")"); + return receiver.toString(constants,localRegNames) + hilight(".") + methodName + hilight("(") + args + hilight(")"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallPropertyTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallPropertyTreeItem.java index 1e2da089f..d85b4dd81 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallPropertyTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallPropertyTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import java.util.List; @@ -38,15 +38,15 @@ public class CallPropertyTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String args = ""; for (int a = 0; a < arguments.size(); a++) { if (a > 0) { args = args + hilight(","); } - args = args + arguments.get(a).toString(constants); + args = args + arguments.get(a).toString(constants,localRegNames); } - return formatProperty(constants, receiver, propertyName) + hilight("(") + args + hilight(")"); + return formatProperty(constants, receiver, propertyName,localRegNames) + hilight("(") + args + hilight(")"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallStaticTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallStaticTreeItem.java index 80d3a351a..c76ca3e21 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallStaticTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallStaticTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import java.util.List; @@ -36,15 +36,15 @@ public class CallStaticTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String args = ""; for (int a = 0; a < arguments.size(); a++) { if (a > 0) { args = args + ","; } - args = args + arguments.get(a).toString(constants); + args = args + arguments.get(a).toString(constants,localRegNames); } - return receiver.toString(constants) + hilight(".") + methodName + hilight("(") + args + hilight(")"); + return receiver.toString(constants,localRegNames) + hilight(".") + methodName + hilight("(") + args + hilight(")"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallSuperTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallSuperTreeItem.java index 90d0c5232..1de1d00fb 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallSuperTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallSuperTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.helpers.Highlighting; @@ -39,17 +39,17 @@ public class CallSuperTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String args = ""; for (int a = 0; a < arguments.size(); a++) { if (a > 0) { args = args + ","; } - args = args + arguments.get(a).toString(constants); + args = args + arguments.get(a).toString(constants,localRegNames); } - String calee = receiver.toString(constants) + "."; + String calee = receiver.toString(constants,localRegNames) + "."; if (Highlighting.stripHilights(calee).equals("this.")) calee = ""; - return calee + hilight("super.") + multiname.toString(constants) + hilight("(") + args + hilight(")"); + return calee + hilight("super.") + multiname.toString(constants,localRegNames) + hilight("(") + args + hilight(")"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallTreeItem.java index 3442038f5..700560c6d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CallTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import java.util.List; @@ -36,15 +36,15 @@ public class CallTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String args = ""; for (int a = 0; a < arguments.size(); a++) { if (a > 0) { args = args + ","; } - args = args + arguments.get(a).toString(constants); + args = args + arguments.get(a).toString(constants,localRegNames); } - return receiver.toString(constants) + hilight(".") + function.toString(constants) + hilight("(") + args + hilight(")"); + return receiver.toString(constants,localRegNames) + hilight(".") + function.toString(constants,localRegNames) + hilight("(") + args + hilight(")"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ClassTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ClassTreeItem.java index 485bdaf6d..d36f39094 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ClassTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ClassTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; public class ClassTreeItem extends TreeItem { @@ -29,7 +29,7 @@ public class ClassTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return className; } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CoerceTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CoerceTreeItem.java index fd69ffa22..fa74488e2 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CoerceTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/CoerceTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -32,9 +32,9 @@ public class CoerceTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { //return hilight("("+type+")")+ - return value.toString(constants); + return value.toString(constants,localRegNames); } @Override diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConstructPropTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConstructPropTreeItem.java index f3da2414c..ca5ac940d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConstructPropTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConstructPropTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import java.util.List; @@ -36,17 +36,17 @@ public class ConstructPropTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String argStr = ""; for (int a = 0; a < args.size(); a++) { if (a > 0) { argStr = argStr + ","; } - argStr = argStr + args.get(a).toString(constants); + argStr = argStr + args.get(a).toString(constants,localRegNames); } - String objstr = object.toString(constants); + String objstr = object.toString(constants,localRegNames); if (!objstr.equals("")) objstr += "."; - return hilight("new ") + objstr + propertyName.toString(constants) + hilight("(") + argStr + hilight(")"); + return hilight("new ") + objstr + propertyName.toString(constants,localRegNames) + hilight("(") + argStr + hilight(")"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConstructSuperTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConstructSuperTreeItem.java index 6c24974cb..40ee36b9e 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConstructSuperTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConstructSuperTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.helpers.Highlighting; @@ -35,15 +35,15 @@ public class ConstructSuperTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String argStr = ""; for (int a = 0; a < args.size(); a++) { if (a > 0) { argStr = argStr + ","; } - argStr = argStr + args.get(a).toString(constants); + argStr = argStr + args.get(a).toString(constants,localRegNames); } - String calee = object.toString(constants) + "."; + String calee = object.toString(constants,localRegNames) + "."; if (Highlighting.stripHilights(calee).equals("this.")) calee = ""; return calee + hilight("super(") + argStr + hilight(")"); diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConstructTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConstructTreeItem.java index f93848d4b..722400b0c 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConstructTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConstructTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import java.util.List; @@ -34,18 +34,18 @@ public class ConstructTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String argStr = ""; for (int a = 0; a < args.size(); a++) { if (a > 0) { argStr = argStr + ","; } - argStr = argStr + args.get(a).toString(constants); + argStr = argStr + args.get(a).toString(constants,localRegNames); } if (object instanceof NewFunctionTreeItem) { - return object.toString(constants); + return object.toString(constants,localRegNames); } - return hilight("new ") + object.toString(constants) + hilight("(") + argStr + hilight(")"); + return hilight("new ") + object.toString(constants,localRegNames) + hilight("(") + argStr + hilight(")"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ContinueTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ContinueTreeItem.java index 067ef1a80..cbee8a02d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ContinueTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ContinueTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -36,7 +36,7 @@ public class ContinueTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight("continue") + " " + (isKnown ? "loop" : "unk") + loopPos; } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConvertTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConvertTreeItem.java index 34e13aa7c..491834680 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConvertTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ConvertTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -32,9 +32,9 @@ public class ConvertTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { //return hilight("("+type+")")+ - return value.toString(constants); + return value.toString(constants,localRegNames); } } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/DecLocalTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/DecLocalTreeItem.java index 3cf30bdbb..16d9b8378 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/DecLocalTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/DecLocalTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -31,8 +31,8 @@ public class DecLocalTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return InstructionDefinition.localRegName(regIndex) + hilight("--"); + public String toString(ConstantPool constants, HashMap localRegNames) { + return localRegName(localRegNames, regIndex) + hilight("--"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/DecrementTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/DecrementTreeItem.java index dd33c163c..18cdd4e02 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/DecrementTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/DecrementTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,8 +30,8 @@ public class DecrementTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return object.toString(constants) + hilight("-1"); + public String toString(ConstantPool constants, HashMap localRegNames) { + return object.toString(constants,localRegNames) + hilight("-1"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/EachTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/EachTreeItem.java index fb4c4aa98..87dbe6309 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/EachTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/EachTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -32,8 +32,8 @@ public class EachTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return hilight("each (") + object.toString(constants) + hilight(" in ") + collection.toString(constants) + ")"; + public String toString(ConstantPool constants, HashMap localRegNames) { + return hilight("each (") + object.toString(constants,localRegNames) + hilight(" in ") + collection.toString(constants,localRegNames) + ")"; } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/FindPropertyTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/FindPropertyTreeItem.java index 8d3831bdc..4beca9253 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/FindPropertyTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/FindPropertyTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,7 +30,7 @@ public class FindPropertyTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return ""; } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/FloatValueTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/FloatValueTreeItem.java index fe3433716..e4acf6dcf 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/FloatValueTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/FloatValueTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,7 +30,7 @@ public class FloatValueTreeItem extends NumberValueTreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight("" + value); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/FullMultinameTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/FullMultinameTreeItem.java index 16b3b75a5..30f03cb82 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/FullMultinameTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/FullMultinameTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.types.Namespace; @@ -53,15 +53,15 @@ public class FullMultinameTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String ret = ""; if (name != null) { - ret = name.toString(constants); + ret = name.toString(constants,localRegNames); } else { ret = constants.constant_multiname[multinameIndex].getName(constants); } if (namespace != null) { - ret = ret + "[" + namespace.toString(constants) + "]"; + ret = ret + "[" + namespace.toString(constants,localRegNames) + "]"; } else { Namespace ns = constants.constant_multiname[multinameIndex].getNamespace(constants); if (ns != null) { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetDescendantsTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetDescendantsTreeItem.java index 4497546f0..730cc0908 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetDescendantsTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetDescendantsTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -32,8 +32,8 @@ public class GetDescendantsTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return object.toString(constants) + hilight("..") + multiname.toString(constants); + public String toString(ConstantPool constants, HashMap localRegNames) { + return object.toString(constants,localRegNames) + hilight("..") + multiname.toString(constants,localRegNames); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetLexTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetLexTreeItem.java index 644466ab5..15aa95687 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetLexTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetLexTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.types.Multiname; @@ -31,7 +31,7 @@ public class GetLexTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight(propertyName.getName(constants)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetPropertyTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetPropertyTreeItem.java index 44bcde377..b2b07ec27 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetPropertyTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetPropertyTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -32,8 +32,8 @@ public class GetPropertyTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return formatProperty(constants, object, propertyName); + public String toString(ConstantPool constants, HashMap localRegNames) { + return formatProperty(constants, object, propertyName,localRegNames); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetSlotTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetSlotTreeItem.java index 83d35d208..1fcdab57c 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetSlotTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetSlotTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.types.Multiname; @@ -33,7 +33,7 @@ public class GetSlotTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { //scope.toString(constants)+"." return hilight(slotName.getName(constants)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetSuperTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetSuperTreeItem.java index ea949b6e3..23faa0897 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetSuperTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/GetSuperTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.helpers.Highlighting; @@ -33,10 +33,10 @@ public class GetSuperTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - String calee = object.toString(constants) + "."; + public String toString(ConstantPool constants, HashMap localRegNames) { + String calee = object.toString(constants,localRegNames) + "."; if (Highlighting.stripHilights(calee).equals("this.")) calee = ""; - return calee + hilight("super.") + propertyName.toString(constants); + return calee + hilight("super.") + propertyName.toString(constants,localRegNames); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/IncLocalTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/IncLocalTreeItem.java index 3da3f66a6..dfae716ed 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/IncLocalTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/IncLocalTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -31,8 +31,8 @@ public class IncLocalTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return InstructionDefinition.localRegName(regIndex) + hilight("++"); + public String toString(ConstantPool constants, HashMap localRegNames) { + return localRegName(localRegNames, regIndex) + hilight("++"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/IncrementTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/IncrementTreeItem.java index 20c028337..ca7130843 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/IncrementTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/IncrementTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,8 +30,8 @@ public class IncrementTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return object.toString(constants) + hilight("+1"); + public String toString(ConstantPool constants, HashMap localRegNames) { + return object.toString(constants,localRegNames) + hilight("+1"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/InitPropertyTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/InitPropertyTreeItem.java index 418ad6261..ec3ce2fae 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/InitPropertyTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/InitPropertyTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -34,8 +34,8 @@ public class InitPropertyTreeItem extends TreeItem implements SetTypeTreeItem{ } @Override - public String toString(ConstantPool constants) { - return formatProperty(constants, object, propertyName) + hilight("=") + value.toString(constants); + public String toString(ConstantPool constants, HashMap localRegNames) { + return formatProperty(constants, object, propertyName,localRegNames) + hilight("=") + value.toString(constants,localRegNames); } public TreeItem getObject() { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/IntegerValueTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/IntegerValueTreeItem.java index 299811a1e..8d8f8db96 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/IntegerValueTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/IntegerValueTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,7 +30,7 @@ public class IntegerValueTreeItem extends NumberValueTreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight("" + value); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/LocalRegTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/LocalRegTreeItem.java index fd9aa673e..1842860ce 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/LocalRegTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/LocalRegTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; @@ -36,8 +36,8 @@ public class LocalRegTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return hilight(InstructionDefinition.localRegName(regIndex)); + public String toString(ConstantPool constants, HashMap localRegNames) { + return hilight(localRegName(localRegNames, regIndex)); } @Override diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NameSpaceTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NameSpaceTreeItem.java index 0cf17aca9..e10fff729 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NameSpaceTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NameSpaceTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ public class NameSpaceTreeItem extends TreeItem { this.namespaceIndex = namespaceIndex; } - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { if (namespaceIndex == 0) return "*"; return hilight(constants.constant_namespace[namespaceIndex].toString(constants)); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NameValuePair.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NameValuePair.java index e9a366781..9b15b9102 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NameValuePair.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NameValuePair.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; public class NameValuePair extends TreeItem { @@ -31,11 +31,11 @@ public class NameValuePair extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { if (name instanceof StringTreeItem) { - return ((StringTreeItem) name).value + ":" + value.toString(constants); + return ((StringTreeItem) name).value + ":" + value.toString(constants,localRegNames); } - return name.toString(constants) + ":" + value.toString(constants); + return name.toString(constants,localRegNames) + ":" + value.toString(constants,localRegNames); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NanTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NanTreeItem.java index f47982080..54b3a2796 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NanTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NanTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ public class NanTreeItem extends TreeItem { @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight("NaN"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewActivationTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewActivationTreeItem.java index 2c6801ca2..f9c19272c 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewActivationTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewActivationTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ public class NewActivationTreeItem extends TreeItem { @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight("newactivation()"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewArrayTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewArrayTreeItem.java index fbb52039c..34d372cc4 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewArrayTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewArrayTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import java.util.List; @@ -32,13 +32,13 @@ public class NewArrayTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String args = ""; for (int a = 0; a < values.size(); a++) { if (a > 0) { args = args + ","; } - args = args + values.get(a).toString(constants); + args = args + values.get(a).toString(constants,localRegNames); } return hilight("[") + args + hilight("]"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewFunctionTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewFunctionTreeItem.java index 55992771d..07b912363 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewFunctionTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewFunctionTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -34,7 +34,7 @@ public class NewFunctionTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight("new function(" + paramStr + "):" + returnStr + "\r\n{\r\n") + functionBody +"\r\n"+ hilight("}"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewObjectTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewObjectTreeItem.java index e9ae5b192..3689a250d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewObjectTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NewObjectTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import java.util.List; @@ -32,11 +32,11 @@ public class NewObjectTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String params = ""; for (int n = 0; n < pairs.size(); n++) { if (n > 0) params += ",\r\n"; - params += pairs.get(n).toString(constants); + params += pairs.get(n).toString(constants,localRegNames); } return hilight("{") + params + hilight("}"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NullTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NullTreeItem.java index 571221445..c5319e634 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NullTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/NullTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ public class NullTreeItem extends TreeItem { @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight("null"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/PostDecrementTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/PostDecrementTreeItem.java index 4465056de..8f18e3a34 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/PostDecrementTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/PostDecrementTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,8 +30,8 @@ public class PostDecrementTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return object.toString(constants) + hilight("--"); + public String toString(ConstantPool constants, HashMap localRegNames) { + return object.toString(constants,localRegNames) + hilight("--"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/PostIncrementTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/PostIncrementTreeItem.java index 45622eca0..d86819798 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/PostIncrementTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/PostIncrementTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,8 +30,8 @@ public class PostIncrementTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return object.toString(constants) + hilight("++"); + public String toString(ConstantPool constants, HashMap localRegNames) { + return object.toString(constants,localRegNames) + hilight("++"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ReturnValueTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ReturnValueTreeItem.java index 8b45bdd98..7cfd30bed 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ReturnValueTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ReturnValueTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,8 +30,8 @@ public class ReturnValueTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return hilight("return ") + value.toString(constants); + public String toString(ConstantPool constants, HashMap localRegNames) { + return hilight("return ") + value.toString(constants,localRegNames); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ReturnVoidTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ReturnVoidTreeItem.java index 3810bad2f..739c99205 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ReturnVoidTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ReturnVoidTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -28,7 +28,7 @@ public class ReturnVoidTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight("return"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetGlobalSlotTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetGlobalSlotTreeItem.java index 65ddf1b81..a7c4224b6 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetGlobalSlotTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetGlobalSlotTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -32,8 +32,8 @@ public class SetGlobalSlotTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return hilight("setglobalslot(" + slotId + ",") + value.toString(constants) + hilight(")"); + public String toString(ConstantPool constants, HashMap localRegNames) { + return hilight("setglobalslot(" + slotId + ",") + value.toString(constants,localRegNames) + hilight(")"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetLocalTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetLocalTreeItem.java index 325d538ce..13c95d921 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetLocalTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetLocalTreeItem.java @@ -17,9 +17,10 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; +import java.util.HashMap; public class SetLocalTreeItem extends TreeItem implements SetTypeTreeItem { @@ -33,8 +34,8 @@ public class SetLocalTreeItem extends TreeItem implements SetTypeTreeItem { } @Override - public String toString(ConstantPool constants) { - return hilight(InstructionDefinition.localRegName(regIndex) + "=") + value.toString(constants); + public String toString(ConstantPool constants,HashMap localRegNames) { + return hilight(localRegName(localRegNames,regIndex) + "=") + value.toString(constants,localRegNames); } public TreeItem getObject() { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetPropertyTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetPropertyTreeItem.java index 72b45fdf7..ecfb29814 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetPropertyTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetPropertyTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -34,8 +34,8 @@ public class SetPropertyTreeItem extends TreeItem implements SetTypeTreeItem{ } @Override - public String toString(ConstantPool constants) { - return formatProperty(constants, object, propertyName) + hilight("=") + value.toString(constants); + public String toString(ConstantPool constants, HashMap localRegNames) { + return formatProperty(constants, object, propertyName,localRegNames) + hilight("=") + value.toString(constants,localRegNames); } public TreeItem getObject() { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetSlotTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetSlotTreeItem.java index 2212472bf..3f113942a 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetSlotTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetSlotTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.types.Multiname; @@ -35,11 +35,11 @@ public class SetSlotTreeItem extends TreeItem implements SetTypeTreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String ret = ""; if (!(scope instanceof NewActivationTreeItem)) { - ret = scope.toString(constants) + "."; + ret = scope.toString(constants,localRegNames) + "."; } if(scope instanceof LocalRegTreeItem){ if(((LocalRegTreeItem)scope).computedValue !=null){ @@ -48,7 +48,7 @@ public class SetSlotTreeItem extends TreeItem implements SetTypeTreeItem { } } } - return ret + hilight(slotName.getName(constants)) + hilight("=") + value.toString(constants); + return ret + hilight(slotName.getName(constants)) + hilight("=") + value.toString(constants,localRegNames); } public TreeItem getObject() { diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetSuperTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetSuperTreeItem.java index 2f28cdc27..fbf09d4ab 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetSuperTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/SetSuperTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.helpers.Highlighting; @@ -36,10 +36,10 @@ public class SetSuperTreeItem extends TreeItem { @Override - public String toString(ConstantPool constants) { - String calee = object.toString(constants) + "."; + public String toString(ConstantPool constants, HashMap localRegNames) { + String calee = object.toString(constants,localRegNames) + "."; if (Highlighting.stripHilights(calee).equals("this.")) calee = ""; - return calee + hilight("super.") + propertyName.toString(constants) + hilight("=") + value.toString(constants); + return calee + hilight("super.") + propertyName.toString(constants,localRegNames) + hilight("=") + value.toString(constants,localRegNames); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/StringTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/StringTreeItem.java index e352fa101..25960156a 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/StringTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/StringTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.helpers.Helper; @@ -31,7 +31,7 @@ public class StringTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight("\"" + Helper.escapeString(value) + "\""); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ThisTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ThisTreeItem.java index bbdd5102a..aee697eac 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ThisTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ThisTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; public class ThisTreeItem extends TreeItem { @@ -27,7 +27,7 @@ public class ThisTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return "this"; } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ThrowTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ThrowTreeItem.java index 1ad3d003b..646efc370 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ThrowTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/ThrowTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -31,8 +31,8 @@ public class ThrowTreeItem extends TreeItem { @Override - public String toString(ConstantPool constants) { - return hilight("throw ") + value.toString(constants); + public String toString(ConstantPool constants, HashMap localRegNames) { + return hilight("throw ") + value.toString(constants,localRegNames); } } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/TreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/TreeItem.java index 55e00477d..da8fe6e0a 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/TreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/TreeItem.java @@ -17,9 +17,11 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; +import com.jpexs.asdec.abc.avm2.instructions.InstructionDefinition; import com.jpexs.asdec.helpers.Highlighting; +import java.util.HashMap; public abstract class TreeItem { @@ -52,11 +54,11 @@ public abstract class TreeItem { } - public abstract String toString(ConstantPool constants); + public abstract String toString(ConstantPool constants,HashMap localRegNames); - public String toStringSemicoloned(ConstantPool constants) + public String toStringSemicoloned(ConstantPool constants,HashMap localRegNames) { - return toString(constants)+(needsSemicolon()?";":""); + return toString(constants,localRegNames)+(needsSemicolon()?";":""); } public boolean needsSemicolon() @@ -80,8 +82,8 @@ public abstract class TreeItem { return false; } - protected String formatProperty(ConstantPool constants, TreeItem object, TreeItem propertyName) { - String obStr = object.toString(constants); + protected String formatProperty(ConstantPool constants, TreeItem object, TreeItem propertyName,HashMap localRegNames) { + String obStr = object.toString(constants,localRegNames); if (object.precedence > PRECEDENCE_PRIMARY) { obStr = "(" + obStr + ")"; } @@ -92,16 +94,27 @@ public abstract class TreeItem { if (propertyName instanceof FullMultinameTreeItem) { if (((FullMultinameTreeItem) propertyName).isRuntime()) { - return obStr + "[" + propertyName.toString(constants) + "]"; + return obStr + "[" + propertyName.toString(constants,localRegNames) + "]"; } else { if (!obStr.equals("")) obStr += "."; - return obStr + ((FullMultinameTreeItem) propertyName).toString(constants); + return obStr + ((FullMultinameTreeItem) propertyName).toString(constants,localRegNames); } } else { - return obStr + "[" + propertyName.toString(constants) + "]"; + return obStr + "[" + propertyName.toString(constants,localRegNames) + "]"; } } public TreeItem getNotCoerced(){ return this; } + + public static String localRegName(HashMap localRegNames,int reg) + { + if(localRegNames.containsKey(reg)) + { + return localRegNames.get(reg); + }else{ + if (reg == 0) return "this"; + return "_loc" + reg + "_"; + } + } } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/UndefinedTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/UndefinedTreeItem.java index ba193e741..c5d18d73d 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/UndefinedTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/UndefinedTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -29,7 +29,7 @@ public class UndefinedTreeItem extends TreeItem { @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight("undefined"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/UnparsedTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/UnparsedTreeItem.java index 120e09b2b..3bfe81c01 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/UnparsedTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/UnparsedTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; @@ -30,7 +30,7 @@ public class UnparsedTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return hilight(value); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/WithTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/WithTreeItem.java index 973c8ea31..9129809c6 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/WithTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/WithTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import java.util.ArrayList; @@ -42,11 +42,11 @@ public class WithTreeItem extends TreeItem { @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String ret = ""; - ret = hilight("with(") + scope.toString(constants) + hilight(")\r\n{\r\n"); + ret = hilight("with(") + scope.toString(constants,localRegNames) + hilight(")\r\n{\r\n"); for (TreeItem ti : items) { - ret += ti.toString(constants) + "\r\n"; + ret += ti.toString(constants,localRegNames) + "\r\n"; } ret += hilight("}"); return ret; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/DoWhileTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/DoWhileTreeItem.java index 22445c717..8f59ae3b5 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/DoWhileTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/DoWhileTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel.clauses; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.treemodel.ContinueTreeItem; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; @@ -45,14 +45,14 @@ public class DoWhileTreeItem extends LoopTreeItem implements Block { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String ret = ""; ret += "loop" + loopBreak + ":\r\n"; ret += hilight("do\r\n{") + "\r\n"; for (TreeItem ti : commands) { - ret += ti.toStringSemicoloned(constants) + "\r\n"; + ret += ti.toStringSemicoloned(constants,localRegNames) + "\r\n"; } - ret += hilight("}\r\nwhile(") + expression.toString(constants) + hilight(");") + "\r\n"; + ret += hilight("}\r\nwhile(") + expression.toString(constants,localRegNames) + hilight(");") + "\r\n"; ret += ":loop" + loopBreak; return ret; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/ExceptionTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/ExceptionTreeItem.java index a1ec6ac01..5fddb89cf 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/ExceptionTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/ExceptionTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel.clauses; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.ABCException; @@ -31,7 +31,7 @@ public class ExceptionTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { return exception.getVarName(constants); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/ForEachTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/ForEachTreeItem.java index 7b328e9c5..8e87c09ae 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/ForEachTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/ForEachTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel.clauses; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.treemodel.ContinueTreeItem; import com.jpexs.asdec.abc.avm2.treemodel.EachTreeItem; @@ -61,12 +61,12 @@ public class ForEachTreeItem extends LoopTreeItem implements Block { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String ret = ""; ret += "loop" + loopBreak + ":\r\n"; - ret += hilight("for ") + expression.toString(constants) + "\r\n{\r\n"; + ret += hilight("for ") + expression.toString(constants,localRegNames) + "\r\n{\r\n"; for (TreeItem ti : commands) { - ret += ti.toStringSemicoloned(constants) + "\r\n"; + ret += ti.toStringSemicoloned(constants,localRegNames) + "\r\n"; } ret += hilight("}") + "\r\n"; ret += ":loop" + loopBreak; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/ForTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/ForTreeItem.java index c56841dd6..ce38883b3 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/ForTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/ForTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel.clauses; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.treemodel.ContinueTreeItem; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; @@ -49,7 +49,7 @@ public class ForTreeItem extends LoopTreeItem implements Block { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String ret = ""; ret += "loop" + loopBreak + ":\r\n"; ret += hilight("for("); @@ -57,20 +57,20 @@ public class ForTreeItem extends LoopTreeItem implements Block { if (i > 0) { ret += ","; } - ret += stripSemicolon(firstCommands.get(i).toString(constants)); + ret += stripSemicolon(firstCommands.get(i).toString(constants,localRegNames)); } ret += ";"; - ret += expression.toString(constants); + ret += expression.toString(constants,localRegNames); ret += ";"; for (int i = 0; i < finalCommands.size(); i++) { if (i > 0) { ret += ","; } - ret += stripSemicolon(finalCommands.get(i).toString(constants)); + ret += stripSemicolon(finalCommands.get(i).toString(constants,localRegNames)); } ret += hilight(")") + "\r\n{\r\n"; for (TreeItem ti : commands) { - ret += ti.toStringSemicoloned(constants) + "\r\n"; + ret += ti.toStringSemicoloned(constants,localRegNames) + "\r\n"; } ret += hilight("}") + "\r\n"; ret += ":loop" + loopBreak; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/IfTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/IfTreeItem.java index b460957ff..6259227b0 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/IfTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/IfTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel.clauses; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.treemodel.ContinueTreeItem; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; @@ -39,17 +39,17 @@ public class IfTreeItem extends TreeItem implements Block { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String ret = ""; - ret = hilight("if(") + expression.toString(constants) + hilight(")\r\n{\r\n"); + ret = hilight("if(") + expression.toString(constants,localRegNames) + hilight(")\r\n{\r\n"); for (TreeItem ti : onTrue) { - ret += ti.toStringSemicoloned(constants) + "\r\n"; + ret += ti.toStringSemicoloned(constants,localRegNames) + "\r\n"; } ret += hilight("}"); if (onFalse.size() > 0) { ret += hilight("\r\nelse\r\n{\r\n"); for (TreeItem ti : onFalse) { - ret += ti.toStringSemicoloned(constants) + "\r\n"; + ret += ti.toStringSemicoloned(constants,localRegNames) + "\r\n"; } ret += hilight("}"); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/SwitchTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/SwitchTreeItem.java index db510fd82..d9f98baa4 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/SwitchTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/SwitchTreeItem.java @@ -18,7 +18,7 @@ package com.jpexs.asdec.abc.avm2.treemodel.clauses; import com.jpexs.asdec.abc.avm2.AVM2Code; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.treemodel.ContinueTreeItem; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; @@ -43,15 +43,15 @@ public class SwitchTreeItem extends LoopTreeItem implements Block { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String ret = ""; ret += "loop" + loopBreak + ":\r\n"; - ret += hilight("switch(") + switchedObject.toString(constants) + hilight(")") + "\r\n{\r\n"; + ret += hilight("switch(") + switchedObject.toString(constants,localRegNames) + hilight(")") + "\r\n{\r\n"; for (int i = 0; i < caseValues.size(); i++) { - ret += "case " + caseValues.get(i).toString(constants) + ":\r\n"; + ret += "case " + caseValues.get(i).toString(constants,localRegNames) + ":\r\n"; ret += AVM2Code.IDENTOPEN + "\r\n"; for (int j = 0; j < caseCommands.get(i).size(); j++) { - ret += caseCommands.get(i).get(j).toStringSemicoloned(constants) + "\r\n"; + ret += caseCommands.get(i).get(j).toStringSemicoloned(constants,localRegNames) + "\r\n"; } ret += AVM2Code.IDENTCLOSE + "\r\n"; } @@ -59,7 +59,7 @@ public class SwitchTreeItem extends LoopTreeItem implements Block { ret += hilight("default") + ":\r\n"; ret += AVM2Code.IDENTOPEN + "\r\n"; for (int j = 0; j < defaultCommands.size(); j++) { - ret += defaultCommands.get(j).toStringSemicoloned(constants) + "\r\n"; + ret += defaultCommands.get(j).toStringSemicoloned(constants,localRegNames) + "\r\n"; } ret += AVM2Code.IDENTCLOSE + "\r\n"; } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/TernarOpTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/TernarOpTreeItem.java index 2c2f920b0..c9fd79cff 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/TernarOpTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/TernarOpTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel.clauses; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; @@ -35,8 +35,8 @@ public class TernarOpTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return expression.toString(constants) + hilight("?") + onTrue.toString(constants) + hilight(":") + onFalse.toString(constants); + public String toString(ConstantPool constants, HashMap localRegNames) { + return expression.toString(constants,localRegNames) + hilight("?") + onTrue.toString(constants,localRegNames) + hilight(":") + onFalse.toString(constants,localRegNames); } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/TryTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/TryTreeItem.java index cbffd493e..b4bf0acb2 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/TryTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/TryTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel.clauses; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.treemodel.ContinueTreeItem; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; import com.jpexs.asdec.abc.types.ABCException; @@ -42,25 +42,25 @@ public class TryTreeItem extends TreeItem implements Block { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String ret = ""; ret += "try\r\n{\r\n"; for (TreeItem ti : tryCommands) { - ret += ti.toStringSemicoloned(constants) + "\r\n"; + ret += ti.toStringSemicoloned(constants,localRegNames) + "\r\n"; } ret += "}"; for (int e = 0; e < catchExceptions.size(); e++) { ret += "\r\ncatch(" + catchExceptions.get(e).getVarName(constants) + ":" + catchExceptions.get(e).getTypeName(constants) + ")\r\n{\r\n"; List commands = catchCommands.get(e); for (TreeItem ti : commands) { - ret += ti.toStringSemicoloned(constants) + "\r\n"; + ret += ti.toStringSemicoloned(constants,localRegNames) + "\r\n"; } ret += "}"; } if (finallyCommands.size() > 0) { ret += "\r\nfinally\r\n{\r\n"; for (TreeItem ti : finallyCommands) { - ret += ti.toStringSemicoloned(constants) + "\r\n"; + ret += ti.toStringSemicoloned(constants,localRegNames) + "\r\n"; } ret += "}"; } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/WhileTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/WhileTreeItem.java index 3f1cd9822..53c54eefb 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/WhileTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/clauses/WhileTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel.clauses; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.treemodel.ContinueTreeItem; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; @@ -38,12 +38,12 @@ public class WhileTreeItem extends LoopTreeItem implements Block { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String ret = ""; ret += "loop" + loopBreak + ":\r\n"; - ret += hilight("while(") + expression.toString(constants) + hilight(")") + "\r\n{\r\n"; + ret += hilight("while(") + expression.toString(constants,localRegNames) + hilight(")") + "\r\n{\r\n"; for (TreeItem ti : commands) { - ret += ti.toStringSemicoloned(constants) + "\r\n"; + ret += ti.toStringSemicoloned(constants,localRegNames) + "\r\n"; } ret += hilight("}") + "\r\n"; ret += ":loop" + loopBreak; diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/operations/BinaryOpTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/operations/BinaryOpTreeItem.java index ebeba4efc..216369b92 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/operations/BinaryOpTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/operations/BinaryOpTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel.operations; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; @@ -36,18 +36,18 @@ public abstract class BinaryOpTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { + public String toString(ConstantPool constants, HashMap localRegNames) { String ret = ""; if (leftSide.precedence > precedence) { - ret += "(" + leftSide.toString(constants) + ")"; + ret += "(" + leftSide.toString(constants,localRegNames) + ")"; } else { - ret += leftSide.toString(constants); + ret += leftSide.toString(constants,localRegNames); } ret += hilight(operator); if (rightSide.precedence > precedence) { - ret += "(" + rightSide.toString(constants) + ")"; + ret += "(" + rightSide.toString(constants,localRegNames) + ")"; } else { - ret += rightSide.toString(constants); + ret += rightSide.toString(constants,localRegNames); } return ret; } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/operations/DeletePropertyTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/operations/DeletePropertyTreeItem.java index e9e77fe2e..f015cc407 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/operations/DeletePropertyTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/operations/DeletePropertyTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel.operations; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.treemodel.FullMultinameTreeItem; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; @@ -34,8 +34,8 @@ public class DeletePropertyTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - return hilight("delete ") + object.toString(constants) + "[" + propertyName.toString(constants) + "]"; + public String toString(ConstantPool constants, HashMap localRegNames) { + return hilight("delete ") + object.toString(constants,localRegNames) + "[" + propertyName.toString(constants,localRegNames) + "]"; } diff --git a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/operations/UnaryOpTreeItem.java b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/operations/UnaryOpTreeItem.java index a841deafe..7afd3f256 100644 --- a/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/operations/UnaryOpTreeItem.java +++ b/trunk/src/com/jpexs/asdec/abc/avm2/treemodel/operations/UnaryOpTreeItem.java @@ -17,7 +17,7 @@ package com.jpexs.asdec.abc.avm2.treemodel.operations; -import com.jpexs.asdec.abc.avm2.ConstantPool; +import com.jpexs.asdec.abc.avm2.ConstantPool; import java.util.HashMap; import com.jpexs.asdec.abc.avm2.instructions.AVM2Instruction; import com.jpexs.asdec.abc.avm2.treemodel.TreeItem; @@ -33,8 +33,8 @@ public abstract class UnaryOpTreeItem extends TreeItem { } @Override - public String toString(ConstantPool constants) { - String s = value.toString(constants); + public String toString(ConstantPool constants, HashMap localRegNames) { + String s = value.toString(constants,localRegNames); if (value.precedence > precedence) s = "(" + s + ")"; return hilight(operator) + s; } diff --git a/trunk/src/com/jpexs/asdec/abc/types/MethodBody.java b/trunk/src/com/jpexs/asdec/abc/types/MethodBody.java index 7cfd112e0..074b454e0 100644 --- a/trunk/src/com/jpexs/asdec/abc/types/MethodBody.java +++ b/trunk/src/com/jpexs/asdec/abc/types/MethodBody.java @@ -47,29 +47,28 @@ public class MethodBody implements Cloneable { s += "\r\nCode:\r\n" + code.toString(); return s; } - - private String replaceDebugRegNames(String code,HashMap debugRegNames) + + public HashMap getLocalRegNames(ABC abc) { - for(Integer key:debugRegNames.keySet()) - { - code = code.replace(InstructionDefinition.localRegName(key), debugRegNames.get(key)); - } - return code; - } - private String replaceParams(String code, ABC abc) { + HashMap debugRegNames=code.getLocalRegNamesFromDebug(abc); + if(!debugRegNames.isEmpty()) + { + return debugRegNames; + } + HashMap ret=new HashMap(); for (int i = 1; i <= abc.method_info[this.method_info].param_types.length; i++) { String paramName="param"+i; if(abc.method_info[this.method_info].flagHas_paramnames()&&Main.PARAM_NAMES_ENABLE){ paramName=abc.constants.constant_string[abc.method_info[this.method_info].paramNames[i-1]]; } - code = code.replace(InstructionDefinition.localRegName(i), paramName); + ret.put(i, paramName); } if(abc.method_info[this.method_info].flagNeed_rest()) { - code = code.replace(InstructionDefinition.localRegName(abc.method_info[this.method_info].param_types.length+1), "rest"); + ret.put(abc.method_info[this.method_info].param_types.length+1,"rest"); } - return code; - } + return ret; + } public String toString(boolean pcode,boolean isStatic, int classIndex, ABC abc, ConstantPool constants, MethodInfo method_info[]) { return toString(pcode,isStatic, classIndex, abc, constants, method_info, false); @@ -83,20 +82,13 @@ public class MethodBody implements Cloneable { if(pcode){ s+=code.toASMSource(constants, this); }else{ - try { - HashMap localRegNames=code.getLocalRegNamesFromDebug(abc); - s += code.toSource(isStatic, classIndex, abc, constants, method_info, this, hilight); + try { + s += code.toSource(isStatic, classIndex, abc, constants, method_info, this, hilight,getLocalRegNames(abc)); s=s.trim(); if(hilight) { s=Highlighting.hilighMethod(s, this.method_info); } - if(!localRegNames.isEmpty()) - { - s=replaceDebugRegNames(s,localRegNames); - }else{ - s = replaceParams(s, abc); - } } catch (Exception ex) { s = "//error:" + ex.toString(); } diff --git a/trunk/src/com/jpexs/asdec/abc/types/traits/TraitSlotConst.java b/trunk/src/com/jpexs/asdec/abc/types/traits/TraitSlotConst.java index ae3b9ec1f..01ef9a9bf 100644 --- a/trunk/src/com/jpexs/asdec/abc/types/traits/TraitSlotConst.java +++ b/trunk/src/com/jpexs/asdec/abc/types/traits/TraitSlotConst.java @@ -24,6 +24,7 @@ import com.jpexs.asdec.abc.types.MethodInfo; import com.jpexs.asdec.abc.types.ValueKind; import com.jpexs.asdec.helpers.Helper; import com.jpexs.asdec.helpers.Highlighting; +import java.util.HashMap; public class TraitSlotConst extends Trait { @@ -55,7 +56,7 @@ public class TraitSlotConst extends Trait { } if (assignedValue != null) { - valueStr = " = " + Highlighting.stripHilights(assignedValue.toString(constants)); + valueStr = " = " + Highlighting.stripHilights(assignedValue.toString(constants,new HashMap())); } String slotconst = "var";