From 30bb6113a27c8344b2fc04d0796eb972c5b95a4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Wed, 28 Oct 2015 19:16:52 +0100 Subject: [PATCH] Import fixes, full package handling, make test pass --- .../instructions/InstructionDefinition.java | 4 +-- .../construction/ConstructPropIns.java | 6 +++- .../executing/CallPropLexIns.java | 2 +- .../executing/CallPropVoidIns.java | 2 +- .../executing/CallPropertyIns.java | 2 +- .../instructions/executing/CallSuperIns.java | 2 +- .../executing/CallSuperVoidIns.java | 2 +- .../instructions/other/DeletePropertyIns.java | 2 +- .../instructions/other/FindPropertyIns.java | 2 +- .../other/FindPropertyStrictIns.java | 2 +- .../instructions/other/GetDescendantsIns.java | 2 +- .../instructions/other/GetPropertyIns.java | 2 +- .../avm2/instructions/other/GetSuperIns.java | 2 +- .../instructions/other/InitPropertyIns.java | 2 +- .../instructions/other/SetPropertyIns.java | 2 +- .../avm2/instructions/other/SetSuperIns.java | 2 +- .../avm2/instructions/types/AsTypeIns.java | 2 +- .../avm2/instructions/types/IsTypeIns.java | 2 +- .../abc/avm2/model/FullMultinameAVM2Item.java | 14 ++++++--- .../decompiler/flash/abc/types/Multiname.java | 8 ++++++ .../flash/abc/types/traits/TraitClass.java | 27 +++++------------- .../com/jpexs/decompiler/graph/TypeItem.java | 3 +- .../decompiler/flash/ActionScript3Test.java | 16 +++-------- libsrc/ffdec_lib/testdata/as3/as3.swf | Bin 107341 -> 107342 bytes .../as3/classes/mypackage1/TestClass.as | 2 -- 25 files changed, 54 insertions(+), 58 deletions(-) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java index 67b807034..fa7b19332 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java @@ -118,7 +118,7 @@ public abstract class InstructionDefinition implements Serializable { return 0; } - protected FullMultinameAVM2Item resolveMultiname(TranslateStack stack, AVM2ConstantPool constants, int multinameIndex, AVM2Instruction ins) { + protected FullMultinameAVM2Item resolveMultiname(boolean property, TranslateStack stack, AVM2ConstantPool constants, int multinameIndex, AVM2Instruction ins) { GraphTargetItem ns = null; GraphTargetItem name = null; if (multinameIndex > 0 && multinameIndex < constants.constant_multiname.size()) { @@ -130,7 +130,7 @@ public abstract class InstructionDefinition implements Serializable { } } - return new FullMultinameAVM2Item(ins, multinameIndex, name, ns); + return new FullMultinameAVM2Item(property, ins, multinameIndex, name, ns); } protected int getMultinameRequiredStackSize(AVM2ConstantPool constants, int multinameIndex) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructPropIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructPropIns.java index 9f48dd162..9a5db72b5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructPropIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructPropIns.java @@ -24,6 +24,7 @@ import com.jpexs.decompiler.flash.abc.avm2.LocalDataArea; import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction; import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition; import com.jpexs.decompiler.flash.abc.avm2.model.ConstructPropAVM2Item; +import com.jpexs.decompiler.flash.abc.avm2.model.FindPropertyAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.FullMultinameAVM2Item; import com.jpexs.decompiler.flash.abc.avm2.model.XMLAVM2Item; import com.jpexs.decompiler.graph.GraphTargetItem; @@ -61,8 +62,11 @@ public class ConstructPropIns extends InstructionDefinition { for (int a = 0; a < argCount; a++) { args.add(0, stack.pop()); } - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem obj = stack.pop(); + if (obj instanceof FindPropertyAVM2Item) { + multiname.property = false; //can be type + } if (multiname.isXML(localData.getConstants(), localData.localRegNames, localData.fullyQualifiedNames)) { if (args.size() == 1) { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropLexIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropLexIns.java index a8926241a..dfc08ac9b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropLexIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropLexIns.java @@ -42,7 +42,7 @@ public class CallPropLexIns extends CallPropertyIns { args.add(0, stack.pop()); } - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem receiver = stack.pop(); stack.push(new CallPropertyAVM2Item(ins, false, receiver, multiname, args)); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropVoidIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropVoidIns.java index e15f3f2b5..e855c93e4 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropVoidIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropVoidIns.java @@ -62,7 +62,7 @@ public class CallPropVoidIns extends InstructionDefinition { for (int a = 0; a < argCount; a++) { args.add(0, stack.pop()); } - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem receiver = stack.pop(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropertyIns.java index 7347fa376..afe01e91d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropertyIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropertyIns.java @@ -61,7 +61,7 @@ public class CallPropertyIns extends InstructionDefinition { args.add(0, stack.pop()); } - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem receiver = stack.pop(); stack.push(new CallPropertyAVM2Item(ins, false, receiver, multiname, args)); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperIns.java index 54f563f14..739d03d3f 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperIns.java @@ -60,7 +60,7 @@ public class CallSuperIns extends InstructionDefinition { for (int a = 0; a < argCount; a++) { args.add(0, stack.pop()); } - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem receiver = stack.pop(); stack.push(new CallSuperAVM2Item(ins, false, receiver, multiname, args)); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperVoidIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperVoidIns.java index cca169a72..67b24387a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperVoidIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperVoidIns.java @@ -60,7 +60,7 @@ public class CallSuperVoidIns extends InstructionDefinition { for (int a = 0; a < argCount; a++) { args.add(0, stack.pop()); } - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem receiver = stack.pop(); output.add(new CallSuperAVM2Item(ins, true, receiver, multiname, args)); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/DeletePropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/DeletePropertyIns.java index c4ceb54cd..d71e834a6 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/DeletePropertyIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/DeletePropertyIns.java @@ -49,7 +49,7 @@ public class DeletePropertyIns extends InstructionDefinition { @Override public void translate(AVM2LocalData localData, TranslateStack stack, AVM2Instruction ins, List output, String path) { int multinameIndex = ins.operands[0]; - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem obj = stack.pop(); //stack.add(new BooleanAVM2Item(ins, Boolean.TRUE));//property successfully deleted stack.add(new DeletePropertyAVM2Item(ins, obj, multiname)); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyIns.java index d52b3df41..f799c1046 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyIns.java @@ -47,7 +47,7 @@ public class FindPropertyIns extends InstructionDefinition { @Override public void translate(AVM2LocalData localData, TranslateStack stack, AVM2Instruction ins, List output, String path) { int multinameIndex = ins.operands[0]; - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); stack.push(new FindPropertyAVM2Item(ins, multiname)); //resolve right object } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyStrictIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyStrictIns.java index 514cae324..1896b84d8 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyStrictIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyStrictIns.java @@ -47,7 +47,7 @@ public class FindPropertyStrictIns extends InstructionDefinition { @Override public void translate(AVM2LocalData localData, TranslateStack stack, AVM2Instruction ins, List output, String path) { int multinameIndex = ins.operands[0]; - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); stack.push(new FindPropertyAVM2Item(ins, multiname)); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetDescendantsIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetDescendantsIns.java index 134405319..ff0805d1d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetDescendantsIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetDescendantsIns.java @@ -48,7 +48,7 @@ public class GetDescendantsIns extends InstructionDefinition { @Override public void translate(AVM2LocalData localData, TranslateStack stack, AVM2Instruction ins, List output, String path) { int multinameIndex = ins.operands[0]; - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem obj = stack.pop(); stack.push(new GetDescendantsAVM2Item(ins, obj, multiname)); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetPropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetPropertyIns.java index b39ec822c..a51ecc6aa 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetPropertyIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetPropertyIns.java @@ -36,7 +36,7 @@ public class GetPropertyIns extends InstructionDefinition { @Override public void translate(AVM2LocalData localData, TranslateStack stack, AVM2Instruction ins, List output, String path) { int multinameIndex = ins.operands[0]; - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem obj = stack.pop(); stack.push(new GetPropertyAVM2Item(ins, obj, multiname)); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java index 29009b344..e49ce8a0e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java @@ -36,7 +36,7 @@ public class GetSuperIns extends InstructionDefinition { @Override public void translate(AVM2LocalData localData, TranslateStack stack, AVM2Instruction ins, List output, String path) { int multinameIndex = ins.operands[0]; - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem obj = stack.pop(); stack.push(new GetSuperAVM2Item(ins, obj, multiname)); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InitPropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InitPropertyIns.java index 5b3f70364..384471bb2 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InitPropertyIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InitPropertyIns.java @@ -38,7 +38,7 @@ public class InitPropertyIns extends InstructionDefinition { int multinameIndex = ins.operands[0]; GraphTargetItem val = stack.pop(); - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem obj = stack.pop(); output.add(new InitPropertyAVM2Item(ins, obj, multiname, val)); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java index cff2a7911..f4326a971 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java @@ -55,7 +55,7 @@ public class SetPropertyIns extends InstructionDefinition implements SetTypeIns public void translate(AVM2LocalData localData, TranslateStack stack, AVM2Instruction ins, List output, String path) { int multinameIndex = ins.operands[0]; GraphTargetItem value = stack.pop(); - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem obj = stack.pop(); if (value.getThroughDuplicate().getThroughRegister().getThroughDuplicate() instanceof IncrementAVM2Item) { GraphTargetItem inside = ((IncrementAVM2Item) value.getThroughDuplicate().getThroughRegister().getThroughDuplicate()).value.getThroughRegister().getNotCoerced().getThroughDuplicate(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java index 67351f1cd..40653a752 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java @@ -47,7 +47,7 @@ public class SetSuperIns extends InstructionDefinition implements SetTypeIns { int multinameIndex = ins.operands[0]; GraphTargetItem value = stack.pop(); - FullMultinameAVM2Item multiname = resolveMultiname(stack, localData.getConstants(), multinameIndex, ins); + FullMultinameAVM2Item multiname = resolveMultiname(true, stack, localData.getConstants(), multinameIndex, ins); GraphTargetItem obj = stack.pop(); output.add(new SetSuperAVM2Item(ins, value, obj, multiname)); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeIns.java index 7d9d1279b..97142d248 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeIns.java @@ -49,7 +49,7 @@ public class AsTypeIns extends InstructionDefinition { public void translate(AVM2LocalData localData, TranslateStack stack, AVM2Instruction ins, List output, String path) { GraphTargetItem val = stack.pop(); - stack.push(new AsTypeAVM2Item(ins, val, new FullMultinameAVM2Item(ins, ins.operands[0]))); + stack.push(new AsTypeAVM2Item(ins, val, new FullMultinameAVM2Item(false, ins, ins.operands[0]))); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeIns.java index 2a48f189f..18c71bd04 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeIns.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeIns.java @@ -37,7 +37,7 @@ public class IsTypeIns extends InstructionDefinition { public void translate(AVM2LocalData localData, TranslateStack stack, AVM2Instruction ins, List output, String path) { int multinameIndex = ins.operands[0]; GraphTargetItem value = stack.pop(); - stack.push(new IsTypeAVM2Item(ins, value, new FullMultinameAVM2Item(ins, multinameIndex))); + stack.push(new IsTypeAVM2Item(ins, value, new FullMultinameAVM2Item(false, ins, multinameIndex))); } @Override diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java index 7d678a69f..3dc3130cd 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java @@ -24,6 +24,7 @@ import com.jpexs.decompiler.graph.DottedChain; import com.jpexs.decompiler.graph.GraphTargetItem; import com.jpexs.decompiler.graph.TypeItem; import com.jpexs.decompiler.graph.model.LocalData; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -35,25 +36,30 @@ public class FullMultinameAVM2Item extends AVM2Item { public GraphTargetItem namespace; - public FullMultinameAVM2Item(AVM2Instruction instruction, int multinameIndex, GraphTargetItem name) { + public boolean property; + + public FullMultinameAVM2Item(boolean property, AVM2Instruction instruction, int multinameIndex, GraphTargetItem name) { super(instruction, PRECEDENCE_PRIMARY); this.multinameIndex = multinameIndex; this.name = name; this.namespace = null; + this.property = property; } - public FullMultinameAVM2Item(AVM2Instruction instruction, int multinameIndex) { + public FullMultinameAVM2Item(boolean property, AVM2Instruction instruction, int multinameIndex) { super(instruction, PRECEDENCE_PRIMARY); this.multinameIndex = multinameIndex; this.name = null; this.namespace = null; + this.property = property; } - public FullMultinameAVM2Item(AVM2Instruction instruction, int multinameIndex, GraphTargetItem name, GraphTargetItem namespace) { + public FullMultinameAVM2Item(boolean property, AVM2Instruction instruction, int multinameIndex, GraphTargetItem name, GraphTargetItem namespace) { super(instruction, PRECEDENCE_PRIMARY); this.multinameIndex = multinameIndex; this.name = name; this.namespace = namespace; + this.property = property; } public boolean isRuntime() { @@ -96,7 +102,7 @@ public class FullMultinameAVM2Item extends AVM2Item { writer.append("]"); } else { AVM2ConstantPool constants = localData.constantsAvm2; - List fullyQualifiedNames = localData.fullyQualifiedNames; + List fullyQualifiedNames = property ? new ArrayList<>() : localData.fullyQualifiedNames; if (multinameIndex > 0 && multinameIndex < constants.constant_multiname.size()) { writer.append(constants.getMultiname(multinameIndex).getName(constants, fullyQualifiedNames, false)); } else { diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java index 25ab403c7..efb2fab4a 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/Multiname.java @@ -304,6 +304,14 @@ public class Multiname { public DottedChain getNameWithNamespace(AVM2ConstantPool constants) { Namespace ns = getNamespace(constants); + if (ns == null) { + NamespaceSet nss = getNamespaceSet(constants); + if (nss != null) { + if (nss.namespaces.length == 1) { + ns = constants.getNamespace(nss.namespaces[0]); + } + } + } String name = getName(constants, null, true); if (ns != null) { return ns.getName(constants).add(name); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java index 06962947a..a145ac815 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/types/traits/TraitClass.java @@ -123,9 +123,9 @@ public class TraitClass extends Trait implements TraitWithSlot { break; } } - if (newimport.isEmpty()) { - newimport = oldimport.add(name); - } + /* if (newimport.isEmpty()) { + newimport = oldimport.add(name); + }*/ if (!newimport.isEmpty()) { /* if(ns.kind==Namespace.KIND_PACKAGE){ @@ -292,7 +292,6 @@ public class TraitClass extends Trait implements TraitWithSlot { } } else { for (int k = 0; k < ins.definition.operands.length; k++) { - if (ins.definition.operands[k] == AVM2Code.DAT_MULTINAME_INDEX) { int multinameIndex = ins.operands[k]; if (multinameIndex < abc.constants.constant_multiname.size()) { @@ -395,29 +394,17 @@ public class TraitClass extends Trait implements TraitWithSlot { List importnames = new ArrayList<>(); importnames.addAll(namesInThisPackage); - for (DottedChain ipath : imports) { + for (int i = 0; i < imports.size(); i++) { + DottedChain ipath = imports.get(i); String name = ipath.getLast(); - DottedChain pkg = ipath.getWithoutLast(); if (importnames.contains(name) || isBuiltInClass(name)) { + imports.remove(i); + i--; fullyQualifiedNames.add(new DottedChain(name)); } else { importnames.add(name); } } - /*List imports2 = new ArrayList(); - for (String path : imports) { - String name = path; - String pkg = ""; - if (name.contains(".")) { - pkg = name.substring(0, name.lastIndexOf(".")); - name = name.substring(name.lastIndexOf(".") + 1); - } - - if ((!packageName.equals(pkg)) && (!fullyQualifiedNames.contains(name))) { - imports2.add(path); - } - } - imports = imports2;*/ for (int i = 0; i < imports.size(); i++) { DottedChain imp = imports.get(i); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TypeItem.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TypeItem.java index 1ec2c2e1c..206b0804e 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TypeItem.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/TypeItem.java @@ -80,7 +80,8 @@ public class TypeItem extends GraphTargetItem { @Override public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException { boolean as3 = localData.constantsAvm2 != null; - if (localData.fullyQualifiedNames.contains(fullTypeName)) { + + if (localData.fullyQualifiedNames.contains(new DottedChain(fullTypeName.getLast()))) { writer.hilightSpecial(fullTypeName.toPrintableString(as3), HighlightSpecialType.TYPE_NAME, fullTypeName.toPrintableString(as3)); } else { writer.hilightSpecial(IdentifiersDeobfuscation.printIdentifier(as3, fullTypeName.getLast()), HighlightSpecialType.TYPE_NAME, fullTypeName.toPrintableString(as3)); diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java index 5c663b03e..b0f82cd82 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java @@ -953,14 +953,11 @@ public class ActionScript3Test extends ActionScriptTestBase { + "}\r\n", false); } - //@Test + @Test public void testMyPackage1TestClass() { decompileScriptPack("classes.mypackage1.TestClass", "package classes.mypackage1\n" + "{\n" - + " import classes.mypackage2.TestInterface;\n" - + " import classes.mypackage2.TestClass;\n" - + " \n" - + " public class TestClass extends Object implements TestInterface\n" + + " public class TestClass extends Object implements classes.mypackage1.TestInterface\n" + " {\n" + " \n" + " public function TestClass()\n" @@ -993,13 +990,10 @@ public class ActionScript3Test extends ActionScriptTestBase { + "}"); } - //@Test + @Test public void testMyPackage1TestClass2() { decompileScriptPack("classes.mypackage1.TestClass2", "package classes.mypackage1\n" + "{\n" - + " import classes.mypackage2.TestClass;\n" - + " import classes.mypackage3.TestClass;\n" - + " \n" + " public class TestClass2 extends Object\n" + " {\n" + " \n" @@ -1039,12 +1033,10 @@ public class ActionScript3Test extends ActionScriptTestBase { + "}"); } - //@Test + @Test public void testMyPackage1TestInterface() { decompileScriptPack("classes.mypackage1.TestInterface", "package classes.mypackage1\n" + "{\n" - + " import classes.mypackage2.TestInterface;\n" - + " \n" + " public interface TestInterface extends classes.mypackage2.TestInterface\n" + " {\n" + " \n" diff --git a/libsrc/ffdec_lib/testdata/as3/as3.swf b/libsrc/ffdec_lib/testdata/as3/as3.swf index f8cf0bd982d094d9d0856a0c07cd40bcdc3475f1..f8c158460f5fa5667168fc64541123d6dcb9e8c7 100644 GIT binary patch delta 37787 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 DgP(CP delta 37765 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≦_N`41vOXUX?7;9<3x4K7XcG^|gJ<2Zgf~ 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