Friday, September 18, 2015

Re: Why code ends up in Left over Soyc report? How to analyze?

I played around with it some more, but still don't get it solved.
What I tried:
+ Moved the creation of the ProfileControllerDefault in to the runAsync (instead of calling it in the facade) -> no effect.
+ Used GWT.create(ProfileControllerDefault.class) in the runAsync instead of new ProfileControllerDefault() -> no effect.
+ Created a dummy subclass of ProfileControllerDefault such that the static optimizer might not replace ProfileController directly with ProfileControllerDefault as the only implementing class -> no effect.
+ return null instead of new ProfileControllerDefault() in the runAsync -> it disappears, but then the LoginControllerDefault is kept alive through another similar path :(...

Hmmm, it's difficult to track down why the LoginControllerDefault is present in the left-over. It's because ProfileControllerDefault is reached, which shouldn't as explained above :(

I think it's like @Jens mentioned above: the ProfileControllerDefault is the only  implementing class of the interface ProfileController, such that the Static Analyzer optimizer, that runs before processing the split points, substitutes the ProfileController class with the ProfilerControllerDefault, such that it's seen by the split point processor, such that it includes all code that it shouldn't.
But isn't this a "bug"? Should I put it in the issue tracker?

Please help on how to further track this down, or a workaround to ensure the split point processor runs correctly?


--
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 http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment