summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java
diff options
context:
space:
mode:
authorGravatar jeff2014-09-21 23:21:34 -0400
committerGravatar jeff2014-09-21 23:21:34 -0400
commit24ed3dc06bc133e4f718acc4a691e905b081fb11 (patch)
treee4a73d03f74bb7125216e351eb673809f89a00c3 /src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java
parentimproved inner/anonymous class detection (diff)
downloadenigma-fork-24ed3dc06bc133e4f718acc4a691e905b081fb11.tar.gz
enigma-fork-24ed3dc06bc133e4f718acc4a691e905b081fb11.tar.xz
enigma-fork-24ed3dc06bc133e4f718acc4a691e905b081fb11.zip
fixed bugs with anonymous/inner classes
Diffstat (limited to 'src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java')
-rw-r--r--src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java b/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java
index a1dac4b..6238b1e 100644
--- a/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java
+++ b/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java
@@ -177,14 +177,17 @@ public class SourceIndexBehaviorVisitor extends SourceIndexVisitor
177 public Void visitObjectCreationExpression( ObjectCreationExpression node, SourceIndex index ) 177 public Void visitObjectCreationExpression( ObjectCreationExpression node, SourceIndex index )
178 { 178 {
179 MemberReference ref = node.getUserData( Keys.MEMBER_REFERENCE ); 179 MemberReference ref = node.getUserData( Keys.MEMBER_REFERENCE );
180 ClassEntry classEntry = new ClassEntry( ref.getDeclaringType().getInternalName() ); 180 if( ref != null )
181 ConstructorEntry constructorEntry = new ConstructorEntry( classEntry, ref.getSignature() );
182 if( node.getType() instanceof SimpleType )
183 { 181 {
184 index.addReference( 182 ClassEntry classEntry = new ClassEntry( ref.getDeclaringType().getInternalName() );
185 ((SimpleType)node.getType()).getIdentifierToken(), 183 ConstructorEntry constructorEntry = new ConstructorEntry( classEntry, ref.getSignature() );
186 new EntryReference<Entry,Entry>( constructorEntry, m_behaviorEntry ) 184 if( node.getType() instanceof SimpleType )
187 ); 185 {
186 index.addReference(
187 ((SimpleType)node.getType()).getIdentifierToken(),
188 new EntryReference<Entry,Entry>( constructorEntry, m_behaviorEntry )
189 );
190 }
188 } 191 }
189 192
190 return recurse( node, index ); 193 return recurse( node, index );