Originally posted in gwt-users. Two questions:
1. Do you want me to report it as a bug somewhere? and where that would be? 2. I have two more. Do you want me to post them here or this is not the right place to post at all? ---------- Forwarded message ---------- From: Vassilis Virvilis <[email protected]> Date: Fri, Feb 24, 2017 at 2:26 PM Subject: jsinterop woes: Part 1: instanceof function in generics casting To: [email protected] Hi, again I don't know if this is a bug but it hurts my style D3 defines d3.scale.ordinal as both a function and an object. $wnd.d3.scale.ordinal returns function() in the browser's console though @JsType(isNative = true, name = "ordinal") > public static class Ordinal { > /** @todo TODO: this crashes. Why? */ > public native <I, O> O range(I[] values); // this doesn't > work > //public native <I> Ordinal range(I[] values); // this works > } > I want the generic type because then I can put it in a base class and share some code. I am using it like this > D3.Scale.Ordinal color = D3.Scale.ordinal().range(new String[] {"#98abc5", > "#8a89a6"}); > Here is the javascript exception: Error: java.lang.ClassCastException > at java_lang_ClassCastException_ClassCastException__V.java_lang > _Throwable_createError__Ljava_lang_String_2Ljava_lang_Object_2 [as > package_private$java_lang$createError__Ljava_lang_String_2Ljava_lang_Object_2] > (dashboard-0.js:7245) > at java_lang_ClassCastException_ClassCastException__V.java_lang > _Throwable_initializeBackingError__V [as > private$java_lang_Throwable$initializeBackingError__V] > (dashboard-0.js:7300) > at > java_lang_ClassCastException_ClassCastException__V.java_lang_Throwable_Throwable__V > (dashboard-0.js:7133) > at > java_lang_ClassCastException_ClassCastException__V.java_lang_Exception_Exception__V > (dashboard-0.js:7381) > at java_lang_ClassCastException_ClassCastException__V.java_lang > _RuntimeException_RuntimeException__V (dashboard-0.js:29724) > at java_lang_ClassCastException_ClassCastException__V > (dashboard-0.js:57274) > at javaemul_internal_InternalPreconditions_checkCriticalType__ZV > (dashboard-0.js:72135) > at javaemul_internal_InternalPreconditions_checkType__ZV > (dashboard-0.js:72342) > at com_google_gwt_lang_Cast_castToNative__Ljava_lang_Object_2Lc > om_google_gwt_core_client_JavaScriptObject_2Ljava_lang_Object_2 > (dashboard-0.js:707) > In > function com_google_gwt_lang_Cast_castToNative__Ljava_lang_Object_2Lc > om_google_gwt_core_client_JavaScriptObject_2Ljava_lang_Object_2(src_0, > jsType){ > com_google_gwt_lang_Cast_$clinit__V(); > javaemul_internal_InternalPreconditions_checkType__ZV(com_go > ogle_gwt_lang_Cast_jsEquals__Ljava_lang_Object_2Ljava_lang_Object_2Z(src_0, > null) || com_google_gwt_lang_Cast_jsinstanceOf__Ljava_lang_Object_2Lc > om_google_gwt_core_client_JavaScriptObject_2Z(src_0, jsType)); > return src_0; > } > Arguments: - src_0: - passed: - evaluated: function scale(x) - jsType: - passed: $wnd.scale.ordinal - evaluated: function anonymous() The reason it fails is that > function com_google_gwt_lang_Cast_jsinstanceOf__Ljava_lang_Object_2Lc > om_google_gwt_core_client_JavaScriptObject_2Z(obj, jsType){ > com_google_gwt_lang_Cast_$clinit__V(); > return obj && (jsType && obj instanceof jsType); > } > obj is src_0 != null and jsType = function anonymous() != null but (obj instanceof jsType) === false Any idea about that? -- Vassilis Virvilis -- Vassilis Virvilis -- You received this message because you are subscribed to the Google Groups "GWT Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAKbOjEx1v%3D-%3DVHd0Z5pcgTbKTPzFktR7nxoCx2Sr9yutZHtxiw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
