The GWT backend has to emulate (read duplicate) a lot of classes because Nate uses reflection all over the place. This includes some of the collections (Array, ObjectMap etc.), utils (Json) as well as scene2d (skin, etc.). This process is rather error prone.
To solve this issue, i propose to implement a simple reflection API, that uses the normal Java reflection APIs on the desktop, and our custom gwt-ref module in GWT. Any code currently using the Java reflection API methods must be changed to use the reflection API.
I created a new branch in the main repository called reflectionapi. I'll try to create the initial implementation there, and fix up all classes using the Java APIs. For GWT, we'll build an emulation using gwt-ref.
The API will largely follow the classes and interfaces of gwt-ref: https://github.com/libgdx/libgdx/blob/m ... ef/client/