In the library code we constantly use *Impl to denote a class that users should not look at, but here we we have *Impl annotations that is part of a public API. Could we modify the name slightly so we can keep the *Impl convention consistant throughout the gwt code base?
On Wed, Jan 7, 2009 at 11:17 AM, John Tamplin <j...@google.com> wrote: > 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 > > > > > -- "There are only 10 types of people in the world: Those who understand binary, and those who don't" --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---