On Wed, Jan 7, 2009 at 10:48 AM, Bruce Johnson <br...@google.com> wrote:
> Does anyone buy that reasoning? An important related question is whether > these things are actually compiler flags or whether they are module > settings. I think they are actually more appropriate as the latter. > If they are module flags, what happens when you have different settings for different modules (as you point out, it will be impossible to keep them consistent in a large code base with shared code)? If it is a compile-time error, then some code simply won't be shareable between projects -- maybe that is ok if that module's owner has decided it is important enough to set the flag in a library module? If it is based on which module it is in, does the caller or callee win the battle, and will that behavior be surprising to a developer? Regarding the original question, I don't have a strong preference for either solution over the other. #2 does have additional utility, but it seems less consistent than simply saying that after type tightening there must be exactly one implementation. Given the primary use case is shared code between client and server which will use a JSO object in the client (at least until generators are able to produce a JSO subclass), I am not sure the additional utility is worth the hidden code size risk and slightly inconsistency. -- John A. Tamplin Software Engineer (GWT), Google --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---