I am trying to create a native JsType to represent a javascript Array. Up 
to this point I have been using JSNI. Below is the outline of what I have. 
I want to use an Interface as my eventual goal is to be able to define JSON 
structures using the same class on client and server.

@JsType(isNative = true, namespace = JsPackage.GLOBAL, name = "Array")
public interface Array<T> {
 

   @JsOverlay
   default T get(int index) {
      return JSHelper.getArrayValue(this, index);

   }


   ...Rest of native methods


*}*


The Helper.getArrayValue method maps to a native function I define outside of 
GWT. I have been trying to track down an error that

only happened in SDM. When I called the get method, I would get the following 
error:



*ArrayTest.java:14Uncaught ReferenceError: S$c_g$ is not defined*


On a side note, tracking down these kind of problems is a real pain given that 
all the function names are obfuscated in SDM. 

I tried -XmethodNameDisplayMode ABBREVIATED. However, this only works for 
methods defined in my modules. Is there another

way to turn off obfuscation?


Anyway, it turns out the problem is the following line I had in may gwt.xml file


<set-property name="jre.checks.checkLevel" value="MINIMAL" />


I had this to strip out cast checking from my final production compile. If I 
remove this, it works fine.



-- 
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/26f49d6c-a5fc-4dbe-9f9e-840be96a2f1c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to