summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java')
-rw-r--r--src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java21
1 files changed, 2 insertions, 19 deletions
diff --git a/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java b/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java
index b4094d9..a9a055b 100644
--- a/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java
+++ b/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java
@@ -17,12 +17,10 @@ import com.strobel.assembler.metadata.ParameterDefinition;
17import com.strobel.assembler.metadata.TypeReference; 17import com.strobel.assembler.metadata.TypeReference;
18import com.strobel.decompiler.languages.TextLocation; 18import com.strobel.decompiler.languages.TextLocation;
19import com.strobel.decompiler.languages.java.ast.AstNode; 19import com.strobel.decompiler.languages.java.ast.AstNode;
20import com.strobel.decompiler.languages.java.ast.ConstructorDeclaration;
21import com.strobel.decompiler.languages.java.ast.IdentifierExpression; 20import com.strobel.decompiler.languages.java.ast.IdentifierExpression;
22import com.strobel.decompiler.languages.java.ast.InvocationExpression; 21import com.strobel.decompiler.languages.java.ast.InvocationExpression;
23import com.strobel.decompiler.languages.java.ast.Keys; 22import com.strobel.decompiler.languages.java.ast.Keys;
24import com.strobel.decompiler.languages.java.ast.MemberReferenceExpression; 23import com.strobel.decompiler.languages.java.ast.MemberReferenceExpression;
25import com.strobel.decompiler.languages.java.ast.MethodDeclaration;
26import com.strobel.decompiler.languages.java.ast.ObjectCreationExpression; 24import com.strobel.decompiler.languages.java.ast.ObjectCreationExpression;
27import com.strobel.decompiler.languages.java.ast.ParameterDeclaration; 25import com.strobel.decompiler.languages.java.ast.ParameterDeclaration;
28import com.strobel.decompiler.languages.java.ast.SimpleType; 26import com.strobel.decompiler.languages.java.ast.SimpleType;
@@ -33,6 +31,7 @@ import cuchaz.enigma.mapping.ArgumentEntry;
33import cuchaz.enigma.mapping.BehaviorEntry; 31import cuchaz.enigma.mapping.BehaviorEntry;
34import cuchaz.enigma.mapping.ClassEntry; 32import cuchaz.enigma.mapping.ClassEntry;
35import cuchaz.enigma.mapping.ConstructorEntry; 33import cuchaz.enigma.mapping.ConstructorEntry;
34import cuchaz.enigma.mapping.EntryFactory;
36import cuchaz.enigma.mapping.FieldEntry; 35import cuchaz.enigma.mapping.FieldEntry;
37import cuchaz.enigma.mapping.MethodEntry; 36import cuchaz.enigma.mapping.MethodEntry;
38import cuchaz.enigma.mapping.Signature; 37import cuchaz.enigma.mapping.Signature;
@@ -47,16 +46,6 @@ public class SourceIndexBehaviorVisitor extends SourceIndexVisitor {
47 } 46 }
48 47
49 @Override 48 @Override
50 public Void visitMethodDeclaration(MethodDeclaration node, SourceIndex index) {
51 return recurse(node, index);
52 }
53
54 @Override
55 public Void visitConstructorDeclaration(ConstructorDeclaration node, SourceIndex index) {
56 return recurse(node, index);
57 }
58
59 @Override
60 public Void visitInvocationExpression(InvocationExpression node, SourceIndex index) { 49 public Void visitInvocationExpression(InvocationExpression node, SourceIndex index) {
61 MemberReference ref = node.getUserData(Keys.MEMBER_REFERENCE); 50 MemberReference ref = node.getUserData(Keys.MEMBER_REFERENCE);
62 51
@@ -122,14 +111,8 @@ public class SourceIndexBehaviorVisitor extends SourceIndexVisitor {
122 @Override 111 @Override
123 public Void visitParameterDeclaration(ParameterDeclaration node, SourceIndex index) { 112 public Void visitParameterDeclaration(ParameterDeclaration node, SourceIndex index) {
124 ParameterDefinition def = node.getUserData(Keys.PARAMETER_DEFINITION); 113 ParameterDefinition def = node.getUserData(Keys.PARAMETER_DEFINITION);
125 ClassEntry classEntry = new ClassEntry(def.getDeclaringType().getInternalName());
126 MethodDefinition methodDef = (MethodDefinition)def.getMethod(); 114 MethodDefinition methodDef = (MethodDefinition)def.getMethod();
127 BehaviorEntry behaviorEntry; 115 BehaviorEntry behaviorEntry = EntryFactory.getBehaviorEntry(methodDef);
128 if (methodDef.isConstructor()) {
129 behaviorEntry = new ConstructorEntry(classEntry, new Signature(methodDef.getSignature()));
130 } else {
131 behaviorEntry = new MethodEntry(classEntry, methodDef.getName(), new Signature(methodDef.getSignature()));
132 }
133 ArgumentEntry argumentEntry = new ArgumentEntry(behaviorEntry, def.getPosition(), node.getName()); 116 ArgumentEntry argumentEntry = new ArgumentEntry(behaviorEntry, def.getPosition(), node.getName());
134 index.addDeclaration(node.getNameToken(), argumentEntry); 117 index.addDeclaration(node.getNameToken(), argumentEntry);
135 118