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