@Test public void testRun() { UnusedClass uc = new UnusedClass(); uc.run(group); Assert.assertNotNull(group.findClass("net/runelite/deob/deobfuscators/unusedclass/ClassA")); Assert.assertNull(group.findClass("net/runelite/deob/deobfuscators/unusedclass/EmptyClass")); Assert.assertNotNull(group.findClass("net/runelite/deob/deobfuscators/unusedclass/EmptyInterface")); }
@Override public void run(ClassGroup group) { int count = 0; for (ClassFile cf : new ArrayList<>(group.getClasses())) { if (!cf.getFields().isEmpty()) { continue; } if (!cf.getMethods().isEmpty()) { continue; } if (isImplemented(group, cf)) { continue; } group.removeClass(cf); ++count; } logger.info("Removed {} classes", count); }
UnusedClass implements Deobfuscator { @Override public void run(ClassGroup group) { int count = 0; for (ClassFile cf : new ArrayList<>(group.getClasses())) { if (!cf.getFields().isEmpty()) { continue; } if (!cf.getMethods().isEmpty()) { continue; } if (isImplemented(group, cf)) { continue; } group.removeClass(cf); ++count; } logger.info("Removed {} classes", count); } }
UnusedClass implements Deobfuscator { @Override public void run(ClassGroup group) { int count = 0; for (ClassFile cf : new ArrayList<>(group.getClasses())) { if (!cf.getFields().isEmpty()) { continue; } if (!cf.getMethods().isEmpty()) { continue; } if (isImplemented(group, cf)) { continue; } group.removeClass(cf); ++count; } logger.info("Removed {} classes", count); }  }
UnusedClass implements Deobfuscator { @Override public void run(ClassGroup group) { int count = 0; for (ClassFile cf : new ArrayList<>(group.getClasses())) { if (!cf.getFields().isEmpty()) { continue; } if (!cf.getMethods().isEmpty()) { continue; } if (isImplemented(group, cf)) { continue; } group.removeClass(cf); ++count; } logger.info("Removed {} classes", count); }  @Override void run(ClassGroup group); }
UnusedClass implements Deobfuscator { @Override public void run(ClassGroup group) { int count = 0; for (ClassFile cf : new ArrayList<>(group.getClasses())) { if (!cf.getFields().isEmpty()) { continue; } if (!cf.getMethods().isEmpty()) { continue; } if (isImplemented(group, cf)) { continue; } group.removeClass(cf); ++count; } logger.info("Removed {} classes", count); }  @Override void run(ClassGroup group);  }