diff options
| author | 2014-08-17 10:56:17 -0400 | |
|---|---|---|
| committer | 2014-08-17 10:56:17 -0400 | |
| commit | 6c4440ac1133bfaa7871d1049d174528a289ef30 (patch) | |
| tree | fe1142b285c5e43dbd3afe8dd3eb0189f027c6a6 /src/cuchaz/enigma/analysis/Ancestries.java | |
| parent | trying to get inner/anonymous classes working... I have a working heuristic i... (diff) | |
| download | enigma-fork-6c4440ac1133bfaa7871d1049d174528a289ef30.tar.gz enigma-fork-6c4440ac1133bfaa7871d1049d174528a289ef30.tar.xz enigma-fork-6c4440ac1133bfaa7871d1049d174528a289ef30.zip | |
added support for automatic reconstruction of inner and anonymous classes
also added class to restore bridge method flags taken out by the obfuscator
Diffstat (limited to 'src/cuchaz/enigma/analysis/Ancestries.java')
| -rw-r--r-- | src/cuchaz/enigma/analysis/Ancestries.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/cuchaz/enigma/analysis/Ancestries.java b/src/cuchaz/enigma/analysis/Ancestries.java index 83c239c..b9d8cbf 100644 --- a/src/cuchaz/enigma/analysis/Ancestries.java +++ b/src/cuchaz/enigma/analysis/Ancestries.java | |||
| @@ -47,6 +47,26 @@ public class Ancestries implements Serializable | |||
| 47 | } | 47 | } |
| 48 | } | 48 | } |
| 49 | 49 | ||
| 50 | public void renameClasses( Map<String,String> renames ) | ||
| 51 | { | ||
| 52 | Map<String,String> newSuperclasses = Maps.newHashMap(); | ||
| 53 | for( Map.Entry<String,String> entry : m_superclasses.entrySet() ) | ||
| 54 | { | ||
| 55 | String subclass = renames.get( entry.getKey() ); | ||
| 56 | if( subclass == null ) | ||
| 57 | { | ||
| 58 | subclass = entry.getKey(); | ||
| 59 | } | ||
| 60 | String superclass = renames.get( entry.getValue() ); | ||
| 61 | if( superclass == null ) | ||
| 62 | { | ||
| 63 | superclass = entry.getValue(); | ||
| 64 | } | ||
| 65 | newSuperclasses.put( subclass, superclass ); | ||
| 66 | } | ||
| 67 | m_superclasses = newSuperclasses; | ||
| 68 | } | ||
| 69 | |||
| 50 | public String getSuperclassName( String className ) | 70 | public String getSuperclassName( String className ) |
| 51 | { | 71 | { |
| 52 | return m_superclasses.get( className ); | 72 | return m_superclasses.get( className ); |