summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar Thog2016-09-10 20:41:20 +0200
committerGravatar Thog2016-09-10 20:41:20 +0200
commitdb422a9332e0c8942e21d7728f68d28c1bcb6a19 (patch)
treef576574494c6f070887a5d7c8c28490d49ac9718 /src/main/java
parentFollow Javassist signature instead of ignoring generic classes (Fix #19) (diff)
downloadenigma-db422a9332e0c8942e21d7728f68d28c1bcb6a19.tar.gz
enigma-db422a9332e0c8942e21d7728f68d28c1bcb6a19.tar.xz
enigma-db422a9332e0c8942e21d7728f68d28c1bcb6a19.zip
Add a recursive scan for interfaces
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/cuchaz/enigma/analysis/TranslationIndex.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/cuchaz/enigma/analysis/TranslationIndex.java b/src/main/java/cuchaz/enigma/analysis/TranslationIndex.java
index 17bf51ba..25edaef4 100644
--- a/src/main/java/cuchaz/enigma/analysis/TranslationIndex.java
+++ b/src/main/java/cuchaz/enigma/analysis/TranslationIndex.java
@@ -274,6 +274,13 @@ public class TranslationIndex {
274 // so let's look at all the trees 274 // so let's look at all the trees
275 275
276 for (ClassEntry interfaceEntry : this.interfaces.get(entry.getClassEntry())) { 276 for (ClassEntry interfaceEntry : this.interfaces.get(entry.getClassEntry())) {
277 Collection<ClassEntry> subInterface = this.interfaces.get(interfaceEntry);
278 if (subInterface != null && !subInterface.isEmpty())
279 {
280 ClassEntry result = resolveInterface(entry.cloneToNewClass(interfaceEntry));
281 if (result != null)
282 return result;
283 }
277 ClassEntry resolvedClassEntry = resolveSuperclass(entry.cloneToNewClass(interfaceEntry)); 284 ClassEntry resolvedClassEntry = resolveSuperclass(entry.cloneToNewClass(interfaceEntry));
278 if (resolvedClassEntry != null) { 285 if (resolvedClassEntry != null) {
279 return resolvedClassEntry; 286 return resolvedClassEntry;