From 6c4440ac1133bfaa7871d1049d174528a289ef30 Mon Sep 17 00:00:00 2001 From: hg Date: Sun, 17 Aug 2014 10:56:17 -0400 Subject: added support for automatic reconstruction of inner and anonymous classes also added class to restore bridge method flags taken out by the obfuscator --- src/cuchaz/enigma/mapping/ClassEntry.java | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/cuchaz/enigma/mapping/ClassEntry.java') diff --git a/src/cuchaz/enigma/mapping/ClassEntry.java b/src/cuchaz/enigma/mapping/ClassEntry.java index 738e8e3..dad6da9 100644 --- a/src/cuchaz/enigma/mapping/ClassEntry.java +++ b/src/cuchaz/enigma/mapping/ClassEntry.java @@ -82,4 +82,32 @@ public class ClassEntry implements Entry, Serializable { return m_name; } + + public boolean isInnerClass( ) + { + return m_name.lastIndexOf( '$' ) >= 0; + } + + public String getOuterClassName( ) + { + if( isInnerClass() ) + { + return m_name.substring( 0, m_name.lastIndexOf( '$' ) ); + } + return m_name; + } + + public String getInnerClassName( ) + { + if( !isInnerClass() ) + { + throw new Error( "This is not an inner class!" ); + } + return m_name.substring( m_name.lastIndexOf( '$' ) + 1 ); + } + + public ClassEntry getOuterClassEntry( ) + { + return new ClassEntry( getOuterClassName() ); + } } -- cgit v1.2.3