我正在包装一个 JS 库,一种方法将类/原型作为参数。IE:
installPlugin(Prototype)
此方法的包装 JSNI 函数看起来如何?
public final void native installPlugin(Class<?> clazz) /*-{
this.installPlugin(clazz);
}-*/;
这是不正确的,但符合我想要实现的目标。
这是不可能的。在 GWT 中,对象知道它们的类(由 返回getClass()
),但Class
实例没有对允许创建该类实例的构造函数/原型的引用。
如果您可以传递类的实例,那么您应该可以只使用obj.prototype
. 但它在 DevMode 中不起作用,其中 Java 对象在传递给 JSNI 时是不透明的句柄。
Your prototype should have .toJs() method which converts it into JavaScriptObject type. pass it instead of Java Prototype.