Wednesday, May 17, 2017

GWT2.8.1 errors "Exception: com.google.gwt.core.client.JavaScriptException: (TypeError) : object_0_g$.getXXX_30_g$ is not a function"

Hi all

since upgrading to GWT2.8.1 I am seeing an error message never before encountered (and I've been developing with GWT for numerous years).

   "Exception: com.google.gwt.core.client.JavaScriptException: (TypeError) : object_0_g$.getXXX_30_g$ is not a function"

Reverting back to GWT2.8 caused the problem to disappear.


The problem has only occurred in anonymous classes up until now (but no idea if that is important or not).


For example, I have

public class SomeTable extends DataGrid<SomeClass> {

  private void initTable() {

         TextColumn<SomeClass> arcIdCol = new TextColumn<SomeClass>() {
@Override
public String getValue(SomeClass object) {
logger.info("XXXX= " + object.getXXXX());  // EXECUTION PROBLEM HERE
return object.getXXXX()
}
};
   ..
}

The java code compiles fine, and the GWT compilation works fine when SuperDev mode is launched (all done in Eclipse).

When the logger.info line is reached, the error ".. not a function" is thrown.

Examining in the browser debugger, I can see that the prototype (_proto_) associated to the " SomeClass object" parameter  does not contain the function getXXXX.

If I re-edit the file SomeClass.java, adding in a new dummy method, and re-save, then this time it works -- the function getXXXX exists.

Sounds like an incomplete incremental compilation?

What is frustrating is that the problem is sporadic - other classes employing the same design patterns work fine.

Has anyone encountered similar issues?

Rgs
Darren

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment