summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/analysis/SourceIndexClassVisitor.java
diff options
context:
space:
mode:
authorGravatar jeff2014-09-28 20:27:49 -0400
committerGravatar jeff2014-09-28 20:27:49 -0400
commitfd65d9727ec0f443fd9a1504f9b50bafba1fbd76 (patch)
tree4aef5b0f441df6a25774db3f57a4c11c44b697eb /src/cuchaz/enigma/analysis/SourceIndexClassVisitor.java
parentfixed a crash parsing method signatures with generics in them (diff)
downloadenigma-fork-fd65d9727ec0f443fd9a1504f9b50bafba1fbd76.tar.gz
enigma-fork-fd65d9727ec0f443fd9a1504f9b50bafba1fbd76.tar.xz
enigma-fork-fd65d9727ec0f443fd9a1504f9b50bafba1fbd76.zip
fixed recognition of static initializer tokens
Diffstat (limited to 'src/cuchaz/enigma/analysis/SourceIndexClassVisitor.java')
-rw-r--r--src/cuchaz/enigma/analysis/SourceIndexClassVisitor.java12
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;
15import com.strobel.assembler.metadata.TypeDefinition; 15import com.strobel.assembler.metadata.TypeDefinition;
16import com.strobel.assembler.metadata.TypeReference; 16import com.strobel.assembler.metadata.TypeReference;
17import com.strobel.decompiler.languages.TextLocation; 17import com.strobel.decompiler.languages.TextLocation;
18import com.strobel.decompiler.languages.java.ast.AstNode;
18import com.strobel.decompiler.languages.java.ast.ConstructorDeclaration; 19import com.strobel.decompiler.languages.java.ast.ConstructorDeclaration;
19import com.strobel.decompiler.languages.java.ast.EnumValueDeclaration; 20import com.strobel.decompiler.languages.java.ast.EnumValueDeclaration;
20import com.strobel.decompiler.languages.java.ast.FieldDeclaration; 21import 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