<script> class Car { start() { return "start"; } }
var car = new Car(); </script>
import jsinterop.annotations.JsPackage;import jsinterop.annotations.JsProperty;import jsinterop.annotations.JsType;
@JsType(isNative = true)public class Car { @JsProperty(namespace = JsPackage.GLOBAL) public static Car car;
public native String start();}
GWT.log("direct call: " + Car.car.start());List<Car> cars = Arrays.asList(Car.car);try { for (Car car : cars) { car.start(); }} catch (Exception exception) { GWT.log("FAILED to iterate a @JsType in a List", exception);}
direct call: startConsoleLogger.java:33 FAILED to iterate a @JsType in a ListConsoleLogger.java:55 Exception: com.google.gwt.core.client.JavaScriptException: (TypeError) : Cannot read property 'project' of undefinedConsoleLogger.java:33 TypeError: Cannot read property 'project' of undefined at dse_g$ (App.java:75) at tse_g$.use_g$ [as execute_1_g$] (App.java:66) at rfb_g$ (SchedulerImpl.java:50) at Xeb_g$ (SchedulerImpl.java:183) at Meb_g$.Seb_g$ [as flushPostEventPumpCommands_0_g$] (SchedulerImpl.java:347) at ifb_g$.jfb_g$ [as execute_2_g$] (SchedulerImpl.java:78) at Peb_g$ (SchedulerImpl.java:141) at ydb_g$ (Impl.java:309) at Bdb_g$ (Impl.java:361) at Impl.java:78 at callback_0_g$ (SchedulerImpl.java:196)
But it fails with the following logs:
direct call: startConsoleLogger.java:33 FAILED to iterate a @JsType in a ListConsoleLogger.java:55 Exception: com.google.gwt.core.client.JavaScriptException: (TypeError) : Cannot read property 'project' of undefinedConsoleLogger.java:33 TypeError: Cannot read property 'project' of undefinedat dse_g$ (App.java:75)at tse_g$.use_g$ [as execute_1_g$] (App.java:66)
package com.project.client;
import jsinterop.annotations.JsPackage;import jsinterop.annotations.JsProperty;import jsinterop.annotations.JsType;
@JsType(isNative = true)public class Car { @JsProperty(namespace = JsPackage.GLOBAL) public static Car car;
public native String start();}
Logger.getLogger("").info("direct call: " + Car.car.start());
List<Car> cars = Arrays.asList(Car.car);
for (Car car : cars) { car.start();}
Logger.getLogger("").info("It never goes here!!");
package com.project.client;
import jsinterop.annotations.JsPackage;import jsinterop.annotations.JsProperty;import jsinterop.annotations.JsType;
@JsType(isNative = true, namespace = JsPackage.GLOBAL)
public class Car { @JsProperty(namespace = JsPackage.GLOBAL) public static Car car;
public native String start();}
SEVERE: java.lang.ClassCastException at Unknown.xk_g$(Throwable.java:69) at Unknown.el_g$(Exception.java:29) at Unknown.ml_g$(RuntimeException.java:29) at Unknown.BXe_g$(ClassCastException.java:27) at Unknown.dyg_g$(InternalPreconditions.java:154) at Unknown.pyg_g$(InternalPreconditions.java:138) at Unknown.oyg_g$(InternalPreconditions.java:133) at Unknown.c9c_g$(Cast.java:155) at Unknown.ose_g$(App.java:74) at Unknown.Fse_g$(App.java:66) at Unknown.rfb_g$(SchedulerImpl.java:50) at Unknown.Xeb_g$(SchedulerImpl.java:183) at Unknown.Seb_g$(SchedulerImpl.java:347) at Unknown.jfb_g$(SchedulerImpl.java:78) at Unknown.Peb_g$(SchedulerImpl.java:141) at Unknown.ydb_g$(Impl.java:309) at Unknown.Bdb_g$(Impl.java:361) at Unknown.anonymous(Impl.java:78)
Other ideas?
<script> function Car() { this.start = function () {
return "start"; } }
var car = new Car(); </script>
@JsType(isNative = true)public class Global {
@JsProperty(namespace = JsPackage.GLOBAL) public static Car car;
@JsType(isNative = true) public interface Car { String start(); }}
<script> class Car { start() {
return "start"; } }
var car = new Car(); </script>
export interface IStandaloneCodeEditor extends ICodeEditor { updateOptions(newOptions: IEditorOptions & IGlobalEditorOptions): void; addCommand(keybinding: number, handler: ICommandHandler, context?: string): string | null; createContextKey<T>(key: string, defaultValue: T): IContextKey<T>; addAction(descriptor: IActionDescriptor): IDisposable;}
@JsType(isNative = true) public interface IStandaloneCodeEditor extends ICodeEditor { String addCommand(@Nonnull KeyCode keyCode, @Nonnull Function handler, @Nullable String context); }
@JsType(isNative = true) public abstract class IStandaloneCodeEditor implements ICodeEditor { @JsProperty KeybindingService _standaloneKeybindingService;
public native String addCommand(@Nonnull KeyCode keyCode, @Nonnull Function handler, @Nullable String context); }
@JsType(isNative = true) public interface IStandaloneCodeEditor extends ICodeEditor { @JsProperty(name = "_standaloneKeybindingService") KeybindingService _standaloneKeybindingService();
String addCommand(@Nonnull KeyCode keyCode, @Nonnull Function handler, @Nullable String context); }