PROPOSAL: Lightweight Properties
Joseph D. Darcy
Joe.Darcy at Sun.COM
Fri Mar 6 13:33:04 PST 2009
Schulz, Stefan wrote:
>> In effect the Property class becomes the generified Field
>> object, so that
>> problem is circumvented.
>>
>
> Well, the generified Field object should be returned by the reference, so that the generic type can be retrieved at compile-time, otherwise it would not make much sense. That's why the example uses the factory method at(<last part of the chain>), otherwise it will be difficult to have compile time type safety.
>
>
>> The only thing it can not do is to check that the chain is
>> correct (i.e in the
>> example above that Foo#bar is a Bar( at compile time. When the
>> PropertyBuilding is building the Property it can, but that
>> is a little later
>> than I would like - but still a great improvement on
>> evalutation time, added
>> to which the chained case is a minority case.
>>
>
> You are right. I forgot about the correctness of the chain. And this will only be possible by a new notation.
>
>
>> My only question concerns annotations. It is important that
>> the Field object
>> is the real one, and not a synthetic partial copy. The
>> reason for this is
>> so that I can access Annotations. If this will work then I am happy.
>>
>
> I don't understand this one. You won't annotate the Field class but the field, so the object returned will have to support Annotation retrieval, I guess.
>
>
>> So if FCM is going to be in -7 then my proposal is
>> unnecessary. But of course
>> that makes an assumption and unless I have missed something it seemed
>> to be as far off as Property support.
>>
>
> FCM won't. But maybe a proposal for Field-Literals might have a chance, as it seems a coin to me. Not much magic about it, I think. But then again, I might miss the hard parts as I have no real insight into javac etc.
>
> @Joe: Would it make sense to file a proposal on Field-Literals or would it be doomed right away? And I am not sure, whether completing such a proposal by Method- and Constructor-Literals would become too big for Coin. Any hint?
>
I would judge field, method, and constructor literals to be too large
for Project Coin.
Cheers,
-Joe
More information about the coin-dev
mailing list