diff options
Diffstat (limited to 'src/cuchaz/enigma/analysis')
| -rw-r--r-- | src/cuchaz/enigma/analysis/EntryReference.java | 2 | ||||
| -rw-r--r-- | src/cuchaz/enigma/analysis/SourceIndexClassVisitor.java | 12 |
2 files changed, 12 insertions, 2 deletions
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 | ||