diff options
| author | 2016-09-10 20:41:20 +0200 | |
|---|---|---|
| committer | 2016-09-10 20:41:20 +0200 | |
| commit | db422a9332e0c8942e21d7728f68d28c1bcb6a19 (patch) | |
| tree | f576574494c6f070887a5d7c8c28490d49ac9718 /src/main/java | |
| parent | Follow Javassist signature instead of ignoring generic classes (Fix #19) (diff) | |
| download | enigma-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.java | 7 |
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; |