From 381b3f5b739b623f6a32e21f202abf2099173515 Mon Sep 17 00:00:00 2001 From: asiekierka Date: Wed, 17 Aug 2016 16:04:34 +0200 Subject: better fix for #2 --- src/main/java/cuchaz/enigma/analysis/JarIndex.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/main/java/cuchaz/enigma/analysis/JarIndex.java b/src/main/java/cuchaz/enigma/analysis/JarIndex.java index 96f92c3..51a2543 100644 --- a/src/main/java/cuchaz/enigma/analysis/JarIndex.java +++ b/src/main/java/cuchaz/enigma/analysis/JarIndex.java @@ -704,18 +704,17 @@ public class JarIndex { } public Set getImplementingClasses(String targetInterfaceName) { - + // linear search is fast enough for now Set classNames = Sets.newHashSet(); - Set interfaceNames = Sets.newHashSet(targetInterfaceName); for (Map.Entry entry : this.translationIndex.getClassInterfaces()) { ClassEntry classEntry = entry.getKey(); ClassEntry interfaceEntry = entry.getValue(); - if (interfaceNames.contains(interfaceEntry.getName())) { + if (interfaceEntry.getName().equals(targetInterfaceName)) { String className = classEntry.getClassName(); classNames.add(className); if (isInterface(className)) { - interfaceNames.add(className); + classNames.addAll(getImplementingClasses(className)); } this.translationIndex.getSubclassNamesRecursively(classNames, classEntry); -- cgit v1.2.3