Skip to content

Commit d14384d

Browse files
committed
Sort transformers after name filtering
micro speed optimization
1 parent a9591cb commit d14384d

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

src/java/com/javadeobfuscator/deobfuscator/ui/wrap/Transformers.java

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,28 +30,32 @@ public Transformers(ByteLoader loader)
3030

3131
/**
3232
* @return List of all transformer classes.
33-
* @throws FallbackException
33+
* @throws FallbackException when an error occurs while reading transformer classes
3434
*/
3535
public List<Class<?>> getTransformers() throws FallbackException
3636
{
37-
if (transformers.size() == 0)
37+
if (transformers.isEmpty())
3838
{
3939
try
4040
{
4141
Class<?> transformer = loader.loadClass("com.javadeobfuscator.deobfuscator.transformers.Transformer");
4242
Class<?> transformerD = loader.loadClass("com.javadeobfuscator.deobfuscator.transformers.DelegatingTransformer");
43-
List<String> names = new ArrayList<>(loader.getClassNames());
44-
Collections.sort(names);
45-
for (String name : names)
43+
List<String> filtered = new ArrayList<>();
44+
for (String name : loader.getClassNames())
4645
{
4746
if (name.startsWith("com.javadeobfuscator.deobfuscator.transformers."))
4847
{
49-
Class<?> clazz = loader.loadClass(name);
50-
if (!clazz.equals(transformer) && !clazz.equals(transformerD) && transformer.isAssignableFrom(clazz)
51-
&& !Modifier.isAbstract(clazz.getModifiers()))
52-
{
53-
transformers.add(clazz);
54-
}
48+
filtered.add(name);
49+
}
50+
}
51+
Collections.sort(filtered);
52+
for (String name : filtered)
53+
{
54+
Class<?> clazz = loader.loadClass(name);
55+
if (!clazz.equals(transformer) && !clazz.equals(transformerD) && transformer.isAssignableFrom(clazz)
56+
&& !Modifier.isAbstract(clazz.getModifiers()))
57+
{
58+
transformers.add(clazz);
5559
}
5660
}
5761
} catch (Exception e)

0 commit comments

Comments
 (0)