Tuesday, September 22, 2015

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

I found the reason why the LoginControllerDefault is alive. 
It's like @Jens mentioned before: 
During the Static Code Analyzer, that runs before processing the split points, the interface LoginController is replaced with the LoginControllerDefault because it's the only implementing subclass. 
So the Split point processor sees the LoginControllerDefault and all stuff associated to it... (same with the ProfileControllerDefault).

I confirmed this by creating an additional implementing class LoginControllerDummy and let the creation of the LoginControllerDefault depend on some property that is read from the index.html through the Dictionary object. Because the Static Code analyzer can't determine the value of this property from the index.html, it doesn't know which implementing class will be used, as such that it will not replace the LoginController interface with the LoginControllerDefault class.
I had to do the same with the LoginView with the LoginViewDefault that is used in the LoginControllerDefault, and voila, the LoginControllerDefault (and all it's associated items) was removed from the lef-over and only present in an exclusive split point. The left over reduced with more then100K :) Nice...

I will submit a bug about this. 
The workaround; above mechanism.

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