Friday, May 19, 2017

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

When I first encountered this problem, GWT 2.8.1 wasn't even released. I got this error at random times while developing using SDM incremental compilation. See my earlier post on the subject - https://groups.google.com/d/topic/google-web-toolkit/rdoCr79EQbE/discussion - it's from 2016.

On Friday, May 19, 2017 at 10:12:24 PM UTC+2, Marteijn Nouwens wrote:
If you use a framework that uses 2.8.0 and importing 2.8.1 yourself. In that case exclude everything that the library is importing. We use gwt amterial and there this helps. Some dependencies in gwt have changed andthe changes  result in these conflicts.

Marteijn

Op donderdag 18 mei 2017 17:56:10 UTC+2 schreef Nándor Előd Fekete:
I think I have the same problem as you. See my earlier post on this forum: https://groups.google.com/d/topic/google-web-toolkit/rdoCr79EQbE/discussion
I wanted to file an issue about this problem, but I couldn't track down the exact behavior of the GWT compiler when this happens (except the info you can see in my linked post). I didn't file an issue in the end because I didn't have a deterministic way to reproduce it. If we would be able to reliably reproduce the issue, that would be the first major step towards fixing it. Also, for me, it happened with normal classes too, not just anonymous classes. Also worth mentioning that I never had this problem with the normal GWT compiler, only with SuperDevMode.

On Wednesday, May 17, 2017 at 4:37:46 PM UTC+2, Darren Smith wrote:
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