Don't process class files multiple times
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Wed, 31 Oct 2012 15:43:39 +0100
changeset 133245d9215a97e
parent 132 2377bb30dd1b
child 134 e79e499caac8
Don't process class files multiple times
vm/src/main/java/org/apidesign/vm4brwsr/GenJS.java
     1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/GenJS.java	Tue Oct 30 23:33:29 2012 +0100
     1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/GenJS.java	Wed Oct 31 15:43:39 2012 +0100
     1.3 @@ -60,8 +60,8 @@
     1.4          compile(GenJS.class.getClassLoader(), out, names);
     1.5      }
     1.6      static void compile(ClassLoader l, Appendable out, List<String> names) throws IOException {
     1.7 +        final Map<String,String> processed = new HashMap<String, String>();
     1.8          for (String baseClass : names) {
     1.9 -            final Map<String,String> processed = new HashMap<String, String>();
    1.10              LinkedHashSet<String> toProcess = new LinkedHashSet<String>() {
    1.11                  @Override
    1.12                  public boolean add(String e) {
    1.13 @@ -131,11 +131,13 @@
    1.14              Collections.reverse(toInit);
    1.15  
    1.16              for (String clazz : toInit) {
    1.17 -                String initCode = processed.remove(clazz);
    1.18 -                if (initCode != null) {
    1.19 +                String initCode = processed.get(clazz);
    1.20 +                if (initCode != null && !initCode.isEmpty()) {
    1.21                      out.append(initCode).append("\n");
    1.22 +                    processed.put(clazz, "");
    1.23                  }
    1.24              }
    1.25 +
    1.26          }
    1.27      }
    1.28      private static void readResource(InputStream emul, Appendable out) throws IOException {