summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/analysis
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/analysis')
-rw-r--r--src/cuchaz/enigma/analysis/EntryReference.java2
-rw-r--r--src/cuchaz/enigma/analysis/SourceIndexClassVisitor.java12
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
21public class EntryReference<E extends Entry, C extends Entry> 21public 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;
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