PROPOSAL: Auto-assignment Parameters
Mark Mahieu
markmahieu at googlemail.com
Fri Mar 27 16:32:20 PDT 2009
On 27 Mar 2009, at 15:10, Vilya Harvey wrote:
> I think the general idea here is great, but I also think the original
> proposal tries to be too specific about what gets auto-assigned. The
> main use cases are constructors, getters and setters; so how about
> just being able to declare those items as having an automatically
> created implementation rather than specific parameters to them?
>
> You could use the "default" keyword (for example) as a modifier in a
> similar way to "abstract": methods and constructors declared with it
> would be prevented from having a body and the compiler would provide
> it instead (or report an error if it couldn't). The method bodies that
> the compiler generates could be kept pretty simple. For example, this:
The use cases are rather different, to my mind - the Auto-assignment
Parameters proposal really isn't aimed at generating whole
constructor/method implementations, even though it can be used that
way; in fact, fitting in well alongside programmer-supplied code (in
the constructor body) is a primary design goal, as it's common to
want to do much more than just assign the parameters to some fields.
Validating the parameters, or initializing other fields would be
common examples.
Many of the classes I'd want to apply it to simply don't fit in with
the bean-style getter/setter conventions anyway.
For the use cases you describe though - where a straightforward auto-
generation approach *is* what's wanted - your suggestion seems quite
nice in many respects. I suspect it falls firmly into the
'properties support' category of language change, which I'd also
welcome progress on, personally. I think the two are largely
orthogonal though.
Mark
More information about the coin-dev
mailing list