From 237b2ed2a6b6f537cdbdf9fc9c6d0c7743f34375 Mon Sep 17 00:00:00 2001 From: jeff Date: Thu, 21 Aug 2014 01:10:37 -0400 Subject: fixed call graph searching added system to navigate multiple tokens for the same entry in a behavior --- .../enigma/analysis/SourceIndexBehaviorVisitor.java | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java') diff --git a/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java b/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java index d3386c5..a943858 100644 --- a/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java +++ b/src/cuchaz/enigma/analysis/SourceIndexBehaviorVisitor.java @@ -10,8 +10,6 @@ ******************************************************************************/ package cuchaz.enigma.analysis; -import com.google.common.collect.HashMultiset; -import com.google.common.collect.Multiset; import com.strobel.assembler.metadata.MemberReference; import com.strobel.assembler.metadata.MethodDefinition; import com.strobel.assembler.metadata.ParameterDefinition; @@ -36,12 +34,10 @@ import cuchaz.enigma.mapping.MethodEntry; public class SourceIndexBehaviorVisitor extends SourceIndexVisitor { private BehaviorEntry m_behaviorEntry; - private Multiset m_indices; public SourceIndexBehaviorVisitor( BehaviorEntry behaviorEntry ) { m_behaviorEntry = behaviorEntry; - m_indices = HashMultiset.create(); } @Override @@ -64,10 +60,9 @@ public class SourceIndexBehaviorVisitor extends SourceIndexVisitor MethodEntry methodEntry = new MethodEntry( classEntry, ref.getName(), ref.getSignature() ); if( node.getTarget() instanceof MemberReferenceExpression ) { - m_indices.add( methodEntry ); index.addReference( ((MemberReferenceExpression)node.getTarget()).getMemberNameToken(), - new EntryReference( methodEntry, m_behaviorEntry, m_indices.count( methodEntry ) ) + new EntryReference( methodEntry, m_behaviorEntry ) ); } @@ -82,10 +77,9 @@ public class SourceIndexBehaviorVisitor extends SourceIndexVisitor { ClassEntry classEntry = new ClassEntry( ref.getDeclaringType().getInternalName() ); FieldEntry fieldEntry = new FieldEntry( classEntry, ref.getName() ); - m_indices.add( fieldEntry ); index.addReference( node.getMemberNameToken(), - new EntryReference( fieldEntry, m_behaviorEntry, m_indices.count( fieldEntry ) ) + new EntryReference( fieldEntry, m_behaviorEntry ) ); } @@ -99,10 +93,9 @@ public class SourceIndexBehaviorVisitor extends SourceIndexVisitor if( node.getIdentifierToken().getStartLocation() != TextLocation.EMPTY ) { ClassEntry classEntry = new ClassEntry( ref.getInternalName() ); - m_indices.add( classEntry ); index.addReference( node.getIdentifierToken(), - new EntryReference( classEntry, m_behaviorEntry, m_indices.count( classEntry ) ) + new EntryReference( classEntry, m_behaviorEntry ) ); } @@ -130,10 +123,9 @@ public class SourceIndexBehaviorVisitor extends SourceIndexVisitor { ClassEntry classEntry = new ClassEntry( ref.getDeclaringType().getInternalName() ); FieldEntry fieldEntry = new FieldEntry( classEntry, ref.getName() ); - m_indices.add( fieldEntry ); index.addReference( node.getIdentifierToken(), - new EntryReference( fieldEntry, m_behaviorEntry, m_indices.count( fieldEntry ) ) + new EntryReference( fieldEntry, m_behaviorEntry ) ); } -- cgit v1.2.3