# HG changeset patch # User Jaroslav Tulach # Date 1351694619 -3600 # Node ID 245d9215a97ef2dec2822e11bb2d31542c861313 # Parent 2377bb30dd1bf60f4c9cd0e64214c20735ab39d2 Don't process class files multiple times diff -r 2377bb30dd1b -r 245d9215a97e vm/src/main/java/org/apidesign/vm4brwsr/GenJS.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/GenJS.java Tue Oct 30 23:33:29 2012 +0100 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/GenJS.java Wed Oct 31 15:43:39 2012 +0100 @@ -60,8 +60,8 @@ compile(GenJS.class.getClassLoader(), out, names); } static void compile(ClassLoader l, Appendable out, List names) throws IOException { + final Map processed = new HashMap(); for (String baseClass : names) { - final Map processed = new HashMap(); LinkedHashSet toProcess = new LinkedHashSet() { @Override public boolean add(String e) { @@ -131,11 +131,13 @@ Collections.reverse(toInit); for (String clazz : toInit) { - String initCode = processed.remove(clazz); - if (initCode != null) { + String initCode = processed.get(clazz); + if (initCode != null && !initCode.isEmpty()) { out.append(initCode).append("\n"); + processed.put(clazz, ""); } } + } } private static void readResource(InputStream emul, Appendable out) throws IOException {