diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/cuchaz/enigma/Deobfuscator.java | 1 | ||||
| -rw-r--r-- | src/cuchaz/enigma/analysis/EntryReference.java | 2 | ||||
| -rw-r--r-- | src/cuchaz/enigma/analysis/SourceIndexClassVisitor.java | 12 |
3 files changed, 13 insertions, 2 deletions
diff --git a/src/cuchaz/enigma/Deobfuscator.java b/src/cuchaz/enigma/Deobfuscator.java index 9235cf7..bd4345e 100644 --- a/src/cuchaz/enigma/Deobfuscator.java +++ b/src/cuchaz/enigma/Deobfuscator.java | |||
| @@ -45,6 +45,7 @@ import cuchaz.enigma.analysis.JarIndex; | |||
| 45 | import cuchaz.enigma.analysis.SourceIndex; | 45 | import cuchaz.enigma.analysis.SourceIndex; |
| 46 | import cuchaz.enigma.analysis.SourceIndexVisitor; | 46 | import cuchaz.enigma.analysis.SourceIndexVisitor; |
| 47 | import cuchaz.enigma.analysis.Token; | 47 | import cuchaz.enigma.analysis.Token; |
| 48 | import cuchaz.enigma.analysis.TreeDumpVisitor; | ||
| 48 | import cuchaz.enigma.mapping.ArgumentEntry; | 49 | import cuchaz.enigma.mapping.ArgumentEntry; |
| 49 | import cuchaz.enigma.mapping.BehaviorEntry; | 50 | import cuchaz.enigma.mapping.BehaviorEntry; |
| 50 | import cuchaz.enigma.mapping.BehaviorEntryFactory; | 51 | import cuchaz.enigma.mapping.BehaviorEntryFactory; |
diff --git a/src/cuchaz/enigma/analysis/EntryReference.java b/src/cuchaz/enigma/analysis/EntryReference.java index df977fb..4da2f58 100644 --- a/src/cuchaz/enigma/analysis/EntryReference.java +++ b/src/cuchaz/enigma/analysis/EntryReference.java | |||
| @@ -20,7 +20,7 @@ import cuchaz.enigma.mapping.Entry; | |||
| 20 | 20 | ||
| 21 | public class EntryReference<E extends Entry, C extends Entry> | 21 | public class EntryReference<E extends Entry, C extends Entry> |
| 22 | { | 22 | { |
| 23 | private static final List<String> ConstructorNonNames = Arrays.asList( "this", "super" ); | 23 | private static final List<String> ConstructorNonNames = Arrays.asList( "this", "super", "static" ); |
| 24 | public E entry; | 24 | public E entry; |
| 25 | public C context; | 25 | public C context; |
| 26 | 26 | ||
diff --git a/src/cuchaz/enigma/analysis/SourceIndexClassVisitor.java b/src/cuchaz/enigma/analysis/SourceIndexClassVisitor.java index fc8cd66..24c4822 100644 --- a/src/cuchaz/enigma/analysis/SourceIndexClassVisitor.java +++ b/src/cuchaz/enigma/analysis/SourceIndexClassVisitor.java | |||
| @@ -15,6 +15,7 @@ import com.strobel.assembler.metadata.MethodDefinition; | |||
| 15 | import com.strobel.assembler.metadata.TypeDefinition; | 15 | import com.strobel.assembler.metadata.TypeDefinition; |
| 16 | import com.strobel.assembler.metadata.TypeReference; | 16 | import com.strobel.assembler.metadata.TypeReference; |
| 17 | import com.strobel.decompiler.languages.TextLocation; | 17 | import com.strobel.decompiler.languages.TextLocation; |
| 18 | import com.strobel.decompiler.languages.java.ast.AstNode; | ||
| 18 | import com.strobel.decompiler.languages.java.ast.ConstructorDeclaration; | 19 | import com.strobel.decompiler.languages.java.ast.ConstructorDeclaration; |
| 19 | import com.strobel.decompiler.languages.java.ast.EnumValueDeclaration; | 20 | import com.strobel.decompiler.languages.java.ast.EnumValueDeclaration; |
| 20 | import com.strobel.decompiler.languages.java.ast.FieldDeclaration; | 21 | import com.strobel.decompiler.languages.java.ast.FieldDeclaration; |
| @@ -74,7 +75,16 @@ public class SourceIndexClassVisitor extends SourceIndexVisitor | |||
| 74 | MethodDefinition def = node.getUserData( Keys.METHOD_DEFINITION ); | 75 | MethodDefinition def = node.getUserData( Keys.METHOD_DEFINITION ); |
| 75 | ClassEntry classEntry = new ClassEntry( def.getDeclaringType().getInternalName() ); | 76 | ClassEntry classEntry = new ClassEntry( def.getDeclaringType().getInternalName() ); |
| 76 | BehaviorEntry behaviorEntry = BehaviorEntryFactory.create( classEntry, def.getName(), def.getSignature() ); | 77 | BehaviorEntry behaviorEntry = BehaviorEntryFactory.create( classEntry, def.getName(), def.getSignature() ); |
| 77 | index.addDeclaration( node.getNameToken(), behaviorEntry ); | 78 | AstNode tokenNode = node.getNameToken(); |
| 79 | if( behaviorEntry instanceof ConstructorEntry ) | ||
| 80 | { | ||
| 81 | ConstructorEntry constructorEntry = (ConstructorEntry)behaviorEntry; | ||
| 82 | if( constructorEntry.isStatic() ) | ||
| 83 | { | ||
| 84 | tokenNode = node.getModifiers().firstOrNullObject(); | ||
| 85 | } | ||
| 86 | } | ||
| 87 | index.addDeclaration( tokenNode, behaviorEntry ); | ||
| 78 | return node.acceptVisitor( new SourceIndexBehaviorVisitor( behaviorEntry ), index ); | 88 | return node.acceptVisitor( new SourceIndexBehaviorVisitor( behaviorEntry ), index ); |
| 79 | } | 89 | } |
| 80 | 90 | ||