I've integrated your changes, also synced the changes.
Thanks!
Could you please review it?
Sure. I understand a bit more about how it works now. Previously, the server-side ignored all final fields. You understandably had to change that, but since the server-side doesn't have access to the type oracle's rpc.final.serialize property, it *always* expects final fields. So, final fields are now always in the signatures, payloads, etc., and the FALSE FALSE_NOWARN behavior is implemented merely by skipping the "setXxx" call in FieldSerializerCreator. However, since that is only for the client-side, the server-side now always sets final fields, regardless of the rpc.final.serialize value. See this failing assertion: https://github.com/stephenh/scalagwt-gwt/commit/41abe191926ba31b7634f529f1ac8d455e729fe9#L3R52 Previously the server-side would have called the no-arg cstr (which assigns 5) and then done nothing else. So technically this is a breaking change. Is this intentional? That finals are always sent over the wire? It seems like making the server-side aware of the rpc.final.serialize value would be better, perhaps by putting it in the serialization policy file? Then it could know when it should/should not use final fields. http://gwt-code-reviews.appspot.com/1380807/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors