Scann { public static Map<String, MemberInfo> scanBridge(File file) throws IOException { final ScanBridgeAdapter slv = new ScanBridgeAdapter(new EmptyVisitor()); new FileWalker().withStreamHandler(new StreamHandler() { @Override public void handle(boolean isDir, String name, StreamOpener current, Object nameObject) throws IOException { if ((!isDir) && name.endsWith(".class")) { new ClassReader(current.get()).accept(slv, 0); } } }).walk(file); return slv.getBridge(); }  static Map<String, MemberInfo> scanBridge(File file); static Map<String, ClassInfo> scanLib(File file);  }
@Test public void test() throws IOException { File jars = new File("src/test/resources"); if (jars.exists()) { for (File file : FileUtils.listFiles(jars, new String[] { "jar" }, false)) { Map<String, MemberInfo> members = Scann.scanBridge(file); for (Map.Entry<String, MemberInfo> e : members.entrySet()) { System.out.println(e.getKey() + "=" + e.getValue().name); } } } }