diff options
| author | 2016-09-06 12:11:50 +0200 | |
|---|---|---|
| committer | 2016-09-06 12:11:50 +0200 | |
| commit | e0e3141619cecd54c087d964654e6c35511c48f9 (patch) | |
| tree | 9d7750f6abe26b4ca08cc9ffb516222569ebfd0b /src/main/java/cuchaz/enigma/convert | |
| parent | Avoid Engima converter detecting <init> and <clinit> as matchable token (diff) | |
| download | enigma-fork-e0e3141619cecd54c087d964654e6c35511c48f9.tar.gz enigma-fork-e0e3141619cecd54c087d964654e6c35511c48f9.tar.xz enigma-fork-e0e3141619cecd54c087d964654e6c35511c48f9.zip | |
A little bit of clean up
Diffstat (limited to 'src/main/java/cuchaz/enigma/convert')
6 files changed, 20 insertions, 26 deletions
diff --git a/src/main/java/cuchaz/enigma/convert/ClassIdentifier.java b/src/main/java/cuchaz/enigma/convert/ClassIdentifier.java index f545437..557e608 100644 --- a/src/main/java/cuchaz/enigma/convert/ClassIdentifier.java +++ b/src/main/java/cuchaz/enigma/convert/ClassIdentifier.java | |||
| @@ -19,7 +19,6 @@ import cuchaz.enigma.TranslatingTypeLoader; | |||
| 19 | import cuchaz.enigma.analysis.JarIndex; | 19 | import cuchaz.enigma.analysis.JarIndex; |
| 20 | import cuchaz.enigma.convert.ClassNamer.SidedClassNamer; | 20 | import cuchaz.enigma.convert.ClassNamer.SidedClassNamer; |
| 21 | import cuchaz.enigma.mapping.ClassEntry; | 21 | import cuchaz.enigma.mapping.ClassEntry; |
| 22 | import cuchaz.enigma.mapping.TranslationDirection; | ||
| 23 | import cuchaz.enigma.mapping.Translator; | 22 | import cuchaz.enigma.mapping.Translator; |
| 24 | import javassist.CtClass; | 23 | import javassist.CtClass; |
| 25 | 24 | ||
diff --git a/src/main/java/cuchaz/enigma/convert/ClassIdentity.java b/src/main/java/cuchaz/enigma/convert/ClassIdentity.java index 606c1df..57cbc06 100644 --- a/src/main/java/cuchaz/enigma/convert/ClassIdentity.java +++ b/src/main/java/cuchaz/enigma/convert/ClassIdentity.java | |||
| @@ -21,7 +21,6 @@ import java.util.Map; | |||
| 21 | import java.util.Set; | 21 | import java.util.Set; |
| 22 | 22 | ||
| 23 | import cuchaz.enigma.Constants; | 23 | import cuchaz.enigma.Constants; |
| 24 | import cuchaz.enigma.Util; | ||
| 25 | import cuchaz.enigma.analysis.ClassImplementationsTreeNode; | 24 | import cuchaz.enigma.analysis.ClassImplementationsTreeNode; |
| 26 | import cuchaz.enigma.analysis.EntryReference; | 25 | import cuchaz.enigma.analysis.EntryReference; |
| 27 | import cuchaz.enigma.analysis.JarIndex; | 26 | import cuchaz.enigma.analysis.JarIndex; |
| @@ -30,6 +29,7 @@ import cuchaz.enigma.bytecode.InfoType; | |||
| 30 | import cuchaz.enigma.bytecode.accessors.ConstInfoAccessor; | 29 | import cuchaz.enigma.bytecode.accessors.ConstInfoAccessor; |
| 31 | import cuchaz.enigma.convert.ClassNamer.SidedClassNamer; | 30 | import cuchaz.enigma.convert.ClassNamer.SidedClassNamer; |
| 32 | import cuchaz.enigma.mapping.*; | 31 | import cuchaz.enigma.mapping.*; |
| 32 | import cuchaz.enigma.utils.Utils; | ||
| 33 | import javassist.*; | 33 | import javassist.*; |
| 34 | import javassist.bytecode.*; | 34 | import javassist.bytecode.*; |
| 35 | import javassist.expr.*; | 35 | import javassist.expr.*; |
| @@ -386,7 +386,7 @@ public class ClassIdentity { | |||
| 386 | objs.addAll(this.implementz); | 386 | objs.addAll(this.implementz); |
| 387 | objs.addAll(this.implementations); | 387 | objs.addAll(this.implementations); |
| 388 | objs.addAll(this.references); | 388 | objs.addAll(this.references); |
| 389 | return Util.combineHashesOrdered(objs); | 389 | return Utils.combineHashesOrdered(objs); |
| 390 | } | 390 | } |
| 391 | 391 | ||
| 392 | public int getMatchScore(ClassIdentity other) { | 392 | public int getMatchScore(ClassIdentity other) { |
diff --git a/src/main/java/cuchaz/enigma/convert/ClassMatch.java b/src/main/java/cuchaz/enigma/convert/ClassMatch.java index 422529e..9fa35f0 100644 --- a/src/main/java/cuchaz/enigma/convert/ClassMatch.java +++ b/src/main/java/cuchaz/enigma/convert/ClassMatch.java | |||
| @@ -15,9 +15,8 @@ import com.google.common.collect.Sets; | |||
| 15 | import java.util.Collection; | 15 | import java.util.Collection; |
| 16 | import java.util.Set; | 16 | import java.util.Set; |
| 17 | 17 | ||
| 18 | import cuchaz.enigma.Util; | ||
| 19 | import cuchaz.enigma.mapping.ClassEntry; | 18 | import cuchaz.enigma.mapping.ClassEntry; |
| 20 | 19 | import cuchaz.enigma.utils.Utils; | |
| 21 | 20 | ||
| 22 | public class ClassMatch { | 21 | public class ClassMatch { |
| 23 | 22 | ||
| @@ -70,7 +69,7 @@ public class ClassMatch { | |||
| 70 | 69 | ||
| 71 | @Override | 70 | @Override |
| 72 | public int hashCode() { | 71 | public int hashCode() { |
| 73 | return Util.combineHashesOrdered(sourceClasses, destClasses); | 72 | return Utils.combineHashesOrdered(sourceClasses, destClasses); |
| 74 | } | 73 | } |
| 75 | 74 | ||
| 76 | @Override | 75 | @Override |
diff --git a/src/main/java/cuchaz/enigma/convert/ClassMatching.java b/src/main/java/cuchaz/enigma/convert/ClassMatching.java index 9350ea7..af9ae01 100644 --- a/src/main/java/cuchaz/enigma/convert/ClassMatching.java +++ b/src/main/java/cuchaz/enigma/convert/ClassMatching.java | |||
| @@ -144,12 +144,11 @@ public class ClassMatching { | |||
| 144 | numAmbiguousDest += match.destClasses.size(); | 144 | numAmbiguousDest += match.destClasses.size(); |
| 145 | } | 145 | } |
| 146 | 146 | ||
| 147 | StringBuilder buf = new StringBuilder(); | 147 | String buf = String.format("%20s%8s%8s\n", "", "Source", "Dest") + String |
| 148 | buf.append(String.format("%20s%8s%8s\n", "", "Source", "Dest")); | 148 | .format("%20s%8d%8d\n", "Classes", sourceClasses().size(), destClasses().size()) + String |
| 149 | buf.append(String.format("%20s%8d%8d\n", "Classes", sourceClasses().size(), destClasses().size())); | 149 | .format("%20s%8d%8d\n", "Uniquely matched", uniqueMatches().size(), uniqueMatches().size()) + String |
| 150 | buf.append(String.format("%20s%8d%8d\n", "Uniquely matched", uniqueMatches().size(), uniqueMatches().size())); | 150 | .format("%20s%8d%8d\n", "Ambiguously matched", numAmbiguousSource, numAmbiguousDest) + String |
| 151 | buf.append(String.format("%20s%8d%8d\n", "Ambiguously matched", numAmbiguousSource, numAmbiguousDest)); | 151 | .format("%20s%8d%8d\n", "Unmatched", unmatchedSourceClasses().size(), unmatchedDestClasses().size()); |
| 152 | buf.append(String.format("%20s%8d%8d\n", "Unmatched", unmatchedSourceClasses().size(), unmatchedDestClasses().size())); | 152 | return buf; |
| 153 | return buf.toString(); | ||
| 154 | } | 153 | } |
| 155 | } | 154 | } |
diff --git a/src/main/java/cuchaz/enigma/convert/MappingsConverter.java b/src/main/java/cuchaz/enigma/convert/MappingsConverter.java index abb1bea..a80d9ce 100644 --- a/src/main/java/cuchaz/enigma/convert/MappingsConverter.java +++ b/src/main/java/cuchaz/enigma/convert/MappingsConverter.java | |||
| @@ -11,10 +11,6 @@ | |||
| 11 | package cuchaz.enigma.convert; | 11 | package cuchaz.enigma.convert; |
| 12 | 12 | ||
| 13 | import com.google.common.collect.*; | 13 | import com.google.common.collect.*; |
| 14 | |||
| 15 | import java.util.*; | ||
| 16 | import java.util.jar.JarFile; | ||
| 17 | |||
| 18 | import cuchaz.enigma.Constants; | 14 | import cuchaz.enigma.Constants; |
| 19 | import cuchaz.enigma.Deobfuscator; | 15 | import cuchaz.enigma.Deobfuscator; |
| 20 | import cuchaz.enigma.analysis.JarIndex; | 16 | import cuchaz.enigma.analysis.JarIndex; |
| @@ -22,6 +18,9 @@ import cuchaz.enigma.convert.ClassNamer.SidedClassNamer; | |||
| 22 | import cuchaz.enigma.mapping.*; | 18 | import cuchaz.enigma.mapping.*; |
| 23 | import cuchaz.enigma.throwables.MappingConflict; | 19 | import cuchaz.enigma.throwables.MappingConflict; |
| 24 | 20 | ||
| 21 | import java.util.*; | ||
| 22 | import java.util.jar.JarFile; | ||
| 23 | |||
| 25 | public class MappingsConverter { | 24 | public class MappingsConverter { |
| 26 | 25 | ||
| 27 | public static ClassMatches computeClassMatches(JarFile sourceJar, JarFile destJar, Mappings mappings) { | 26 | public static ClassMatches computeClassMatches(JarFile sourceJar, JarFile destJar, Mappings mappings) { |
| @@ -365,14 +364,12 @@ public class MappingsConverter { | |||
| 365 | public Set<BehaviorEntry> filterEntries(Collection<BehaviorEntry> obfDestFields, BehaviorEntry obfSourceField, ClassMatches classMatches) { | 364 | public Set<BehaviorEntry> filterEntries(Collection<BehaviorEntry> obfDestFields, BehaviorEntry obfSourceField, ClassMatches classMatches) { |
| 366 | Set<BehaviorEntry> out = Sets.newHashSet(); | 365 | Set<BehaviorEntry> out = Sets.newHashSet(); |
| 367 | for (BehaviorEntry obfDestField : obfDestFields) { | 366 | for (BehaviorEntry obfDestField : obfDestFields) { |
| 368 | Signature translatedDestSignature = translate(obfDestField.getSignature(), classMatches.getUniqueMatches().inverse()); | 367 | Signature translatedDestSignature = translate(obfDestField.getSignature(), |
| 369 | if (translatedDestSignature == null && obfSourceField.getSignature() == null) { | 368 | classMatches.getUniqueMatches().inverse()); |
| 369 | if ((translatedDestSignature == null && obfSourceField.getSignature() == null) | ||
| 370 | || translatedDestSignature != null && obfSourceField.getSignature() != null | ||
| 371 | && translatedDestSignature.equals(obfSourceField.getSignature())) | ||
| 370 | out.add(obfDestField); | 372 | out.add(obfDestField); |
| 371 | } else if (translatedDestSignature == null || obfSourceField.getSignature() == null) { | ||
| 372 | // skip it | ||
| 373 | } else if (translatedDestSignature.equals(obfSourceField.getSignature())) { | ||
| 374 | out.add(obfDestField); | ||
| 375 | } | ||
| 376 | } | 373 | } |
| 377 | return out; | 374 | return out; |
| 378 | } | 375 | } |
diff --git a/src/main/java/cuchaz/enigma/convert/MatchesReader.java b/src/main/java/cuchaz/enigma/convert/MatchesReader.java index 773566d..ee5e482 100644 --- a/src/main/java/cuchaz/enigma/convert/MatchesReader.java +++ b/src/main/java/cuchaz/enigma/convert/MatchesReader.java | |||
| @@ -28,7 +28,7 @@ public class MatchesReader { | |||
| 28 | throws IOException { | 28 | throws IOException { |
| 29 | try (BufferedReader in = new BufferedReader(new FileReader(file))) { | 29 | try (BufferedReader in = new BufferedReader(new FileReader(file))) { |
| 30 | ClassMatches matches = new ClassMatches(); | 30 | ClassMatches matches = new ClassMatches(); |
| 31 | String line = null; | 31 | String line; |
| 32 | while ((line = in.readLine()) != null) { | 32 | while ((line = in.readLine()) != null) { |
| 33 | matches.add(readClassMatch(line)); | 33 | matches.add(readClassMatch(line)); |
| 34 | } | 34 | } |
| @@ -57,7 +57,7 @@ public class MatchesReader { | |||
| 57 | throws IOException { | 57 | throws IOException { |
| 58 | try (BufferedReader in = new BufferedReader(new FileReader(file))) { | 58 | try (BufferedReader in = new BufferedReader(new FileReader(file))) { |
| 59 | MemberMatches<T> matches = new MemberMatches<T>(); | 59 | MemberMatches<T> matches = new MemberMatches<T>(); |
| 60 | String line = null; | 60 | String line; |
| 61 | while ((line = in.readLine()) != null) { | 61 | while ((line = in.readLine()) != null) { |
| 62 | readMemberMatch(matches, line); | 62 | readMemberMatch(matches, line); |
| 63 | } | 63 | } |