in boot-fx/src/main/java/org/netbeans/html/boot/fx/AbstractFXPresenter.java [399:432]
final Object invokeImpl(Object thiz, boolean arrayChecks, Object... args) throws Exception {
try {
final AbstractFXPresenter presenter = (AbstractFXPresenter) presenter();
if (LOG.isLoggable(Level.FINE)) {
LOG.log(Level.FINE, "calling {0} function #{1}", new Object[]{++call, id});
LOG.log(Level.FINER, " thiz : {0}", thiz);
LOG.log(Level.FINER, " params: {0}", Arrays.asList(args));
}
List<Object> all = new ArrayList<Object>(args.length + 1);
all.add(thiz == null ? presenter.undefined() : presenter.toJavaScript(thiz, true));
for (int i = 0; i < args.length; i++) {
Object conv = args[i];
if (arrayChecks) {
boolean alive = keepAlive == null || keepAlive[i];
conv = presenter.toJavaScript(conv, alive);
}
all.add(conv);
}
Object ret = fn.call("call", all.toArray()); // NOI18N
if (ret == presenter.undefined()) {
return null;
}
if (!arrayChecks) {
return ret;
}
return presenter.toJava(ret);
} catch (Error t) {
t.printStackTrace();
throw t;
} catch (Exception t) {
t.printStackTrace();
throw t;
}
}