From 59c592673635e989fd0785d41d51d7c3dd17cc0b Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 30 Aug 2014 16:31:31 -0400 Subject: debugging class matcher... almost got it! --- src/cuchaz/enigma/analysis/JarIndex.java | 57 +++++++++++++++++--------------- 1 file changed, 30 insertions(+), 27 deletions(-) (limited to 'src/cuchaz/enigma/analysis/JarIndex.java') diff --git a/src/cuchaz/enigma/analysis/JarIndex.java b/src/cuchaz/enigma/analysis/JarIndex.java index b479b69..4279ded 100644 --- a/src/cuchaz/enigma/analysis/JarIndex.java +++ b/src/cuchaz/enigma/analysis/JarIndex.java @@ -79,7 +79,7 @@ public class JarIndex m_bridgeMethods = Maps.newHashMap(); } - public void indexJar( JarFile jar ) + public void indexJar( JarFile jar, boolean buildInnerClasses ) { // step 1: read the class names for( ClassEntry classEntry : JarClassIterator.getClassEntries( jar ) ) @@ -125,40 +125,43 @@ public class JarIndex } } - // step 4: index inner classes and anonymous classes - for( CtClass c : JarClassIterator.classes( jar ) ) + if( buildInnerClasses ) { - ClassRenamer.moveAllClassesOutOfDefaultPackage( c, Constants.NonePackage ); - String outerClassName = findOuterClass( c ); - if( outerClassName != null ) + // step 4: index inner classes and anonymous classes + for( CtClass c : JarClassIterator.classes( jar ) ) { - String innerClassName = Descriptor.toJvmName( c.getName() ); - m_innerClasses.put( outerClassName, innerClassName ); - m_outerClasses.put( innerClassName, outerClassName ); - - if( isAnonymousClass( c, outerClassName ) ) + ClassRenamer.moveAllClassesOutOfDefaultPackage( c, Constants.NonePackage ); + String outerClassName = findOuterClass( c ); + if( outerClassName != null ) { - m_anonymousClasses.add( innerClassName ); + String innerClassName = Descriptor.toJvmName( c.getName() ); + m_innerClasses.put( outerClassName, innerClassName ); + m_outerClasses.put( innerClassName, outerClassName ); - // DEBUG - //System.out.println( "ANONYMOUS: " + outerClassName + "$" + innerClassName ); - } - else - { - // DEBUG - //System.out.println( "INNER: " + outerClassName + "$" + innerClassName ); + if( isAnonymousClass( c, outerClassName ) ) + { + m_anonymousClasses.add( innerClassName ); + + // DEBUG + //System.out.println( "ANONYMOUS: " + outerClassName + "$" + innerClassName ); + } + else + { + // DEBUG + //System.out.println( "INNER: " + outerClassName + "$" + innerClassName ); + } } } + + // step 5: update other indices with inner class info + Map renames = Maps.newHashMap(); + for( Map.Entry entry : m_outerClasses.entrySet() ) + { + renames.put( entry.getKey(), entry.getValue() + "$" + new ClassEntry( entry.getKey() ).getSimpleName() ); + } + renameClasses( renames ); } - // step 5: update other indices with inner class info - Map renames = Maps.newHashMap(); - for( Map.Entry entry : m_outerClasses.entrySet() ) - { - renames.put( entry.getKey(), entry.getValue() + "$" + new ClassEntry( entry.getKey() ).getSimpleName() ); - } - renameClasses( renames ); - // step 5: update other indices with bridge method info renameMethods( m_bridgeMethods ); } -- cgit v1.2.3