Using native method and catching linkage errors preprocess
authorJaroslav Tulach <jaroslav.tulach@netbeans.org>
Fri, 24 Jan 2014 05:50:15 +0100
branchpreprocess
changeset 485e9d3d44aba23
parent 484 72dc0325111c
child 486 d463a2c42649
Using native method and catching linkage errors
boot/src/main/java/org/netbeans/html/boot/impl/FnUtils.java
boot/src/main/java/org/netbeans/html/boot/impl/JsPkgCache.java
boot/src/main/java/org/netbeans/html/boot/impl/Test.java
     1.1 --- a/boot/src/main/java/org/netbeans/html/boot/impl/FnUtils.java	Fri Jan 24 05:33:52 2014 +0100
     1.2 +++ b/boot/src/main/java/org/netbeans/html/boot/impl/FnUtils.java	Fri Jan 24 05:50:15 2014 +0100
     1.3 @@ -117,12 +117,14 @@
     1.4          Closeable c = Fn.activate(new TrueFn());
     1.5          try {
     1.6              try {
     1.7 -                clazz = Class.forName(Test.class.getName(), true, l);
     1.8 +                clazz = Class.forName("org.netbeans.html.boot.impl.Test", true, l);
     1.9              } catch (ClassNotFoundException ex) {
    1.10                  clazz = Test.class;
    1.11              }
    1.12              final Object is = ((Callable<?>)clazz.newInstance()).call();
    1.13              return Boolean.TRUE.equals(is);
    1.14 +        } catch (LinkageError ex) {
    1.15 +            return false;
    1.16          } catch (Exception ex) {
    1.17              return false;
    1.18          } finally {
     2.1 --- a/boot/src/main/java/org/netbeans/html/boot/impl/JsPkgCache.java	Fri Jan 24 05:33:52 2014 +0100
     2.2 +++ b/boot/src/main/java/org/netbeans/html/boot/impl/JsPkgCache.java	Fri Jan 24 05:50:15 2014 +0100
     2.3 @@ -66,7 +66,7 @@
     2.4      private static final Set<String> NONE = Collections.emptySet();
     2.5  
     2.6      public static boolean process(ClassLoader l, String className) {
     2.7 -        if (className.equals("org.netbeans.html.boot.impl.Test")) {
     2.8 +        if (className.equals("org.netbeans.html.boot.impl.Test")) { // NOI18N
     2.9              return true;
    2.10          }
    2.11          Set<String> p;
     3.1 --- a/boot/src/main/java/org/netbeans/html/boot/impl/Test.java	Fri Jan 24 05:33:52 2014 +0100
     3.2 +++ b/boot/src/main/java/org/netbeans/html/boot/impl/Test.java	Fri Jan 24 05:50:15 2014 +0100
     3.3 @@ -51,7 +51,5 @@
     3.4   */
     3.5  public final class Test implements Callable<Boolean> {
     3.6      @Override @JavaScriptBody(args = {}, body = "return true;")
     3.7 -    public Boolean call() {
     3.8 -        return false;
     3.9 -    }
    3.10 +    public native Boolean call();
    3.11  }