# HG changeset patch # User Jaroslav Tulach # Date 1380950628 -7200 # Node ID bb1e59f5cff3b9a142a4c38638e1b24df840d650 # Parent 802e5d2da9f69e11593d6bd5dbf41ba5df05ead5 Need to skip URI and System references, as they are not part of minimal API profile diff -r 802e5d2da9f6 -r bb1e59f5cff3 rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Fri Oct 04 15:02:17 2013 +0200 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Sat Oct 05 07:23:48 2013 +0200 @@ -61,11 +61,15 @@ out.append("(function VM(global) {var fillInVMSkeleton = function(vm) {"); StringArray processed = new StringArray(); StringArray initCode = new StringArray(); + StringArray skipClass = new StringArray(); for (String baseClass : names.toArray()) { references.add(baseClass); for (;;) { String name = null; for (String n : references.toArray()) { + if (skipClass.contains(n)) { + continue; + } if (processed.contains(n)) { continue; } @@ -76,7 +80,8 @@ } InputStream is = loadClass(l, name); if (is == null) { - throw new IOException("Can't find class " + name); + skipClass.add(name); + continue; } try { String ic = compile(is); diff -r 802e5d2da9f6 -r bb1e59f5cff3 rt/vm/src/test/java/org/apidesign/vm4brwsr/TestVM.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/TestVM.java Fri Oct 04 15:02:17 2013 +0200 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/TestVM.java Sat Oct 05 07:23:48 2013 +0200 @@ -153,6 +153,14 @@ private static class EmulationResources implements Bck2Brwsr.Resources { @Override public InputStream get(String name) throws IOException { + if ("java/net/URI.class".equals(name)) { + // skip + return null; + } + if ("java/lang/System.class".equals(name)) { + // skip + return null; + } Enumeration en = StaticMethodTest.class.getClassLoader().getResources(name); URL u = null; while (en.hasMoreElements()) {