1.1 --- a/boot/src/main/java/org/netbeans/html/boot/impl/FnContext.java Tue Aug 26 18:13:30 2014 +0200
1.2 +++ b/boot/src/main/java/org/netbeans/html/boot/impl/FnContext.java Sat Nov 29 22:25:40 2014 +0100
1.3 @@ -45,8 +45,10 @@
1.4 import java.io.Closeable;
1.5 import java.io.Flushable;
1.6 import java.io.IOException;
1.7 +import java.util.logging.Level;
1.8 import java.util.logging.Logger;
1.9 import org.netbeans.html.boot.spi.Fn;
1.10 +import org.objectweb.asm.Opcodes;
1.11
1.12 /**
1.13 *
1.14 @@ -60,6 +62,33 @@
1.15 DUMMY.prev = DUMMY;
1.16 }
1.17
1.18 + public static boolean isJavaScriptCapable(ClassLoader l) {
1.19 + if (l instanceof JsClassLoader) {
1.20 + return true;
1.21 + }
1.22 + if (l.getResource("META-INF/net.java.html.js.classes") != null) {
1.23 + return false;
1.24 + }
1.25 + return true;
1.26 + }
1.27 +
1.28 + public static boolean isAsmPresent() {
1.29 + Throwable t;
1.30 + try {
1.31 + Class.forName(Opcodes.class.getName());
1.32 + return true;
1.33 + } catch (LinkageError ex) {
1.34 + t = ex;
1.35 + } catch (ClassNotFoundException ex) {
1.36 + t = ex;
1.37 + }
1.38 + LOG.log(Level.SEVERE, "When using @JavaScriptBody methods, one needs to either:");
1.39 + LOG.log(Level.SEVERE, " - include asm-5.0.jar on runtime classpath");
1.40 + LOG.log(Level.SEVERE, " - post process classes, see http://bits.netbeans.org/html+java/dev/net/java/html/js/package-summary.html#post-process");
1.41 + LOG.log(Level.SEVERE, "Cannot initialize asm-5.0.jar!", t);
1.42 + return false;
1.43 + }
1.44 +
1.45 private Object prev;
1.46 private final Fn.Presenter current;
1.47 private FnContext(Fn.Presenter prevP, Fn.Presenter newP) {