Project Coin: Inducing contributory heap pollution
Joe Darcy
joe.darcy at oracle.com
Thu Jun 10 13:04:28 PDT 2010
Rémi Forax wrote:
> Le 10/06/2010 19:54, Neal Gafter a écrit :
>
>> On Thu, Jun 10, 2010 at 10:50 AM, Rémi Forax <forax at univ-mlv.fr
>> <mailto:forax at univ-mlv.fr>> wrote:
>>
>> Le 10/06/2010 19:06, Neal Gafter a écrit :
>> > Re:
>> http://blogs.sun.com/darcy/entry/projectcoin_inducing_contributory_pollution
>> >
>> > I thought technical documents for project Coin were supposed to be
>> > published here?
>> >
>> > A nit: the @Inherited annotation "has no effect if [...] used to
>> > annotate anything other than a class", and so can't be used for the
>> > purpose described.
>> >
>>
>> I have never understood why ?
>>
>>
>> What if a method overrides more than one method, and one is annotated
>> @InheritedAnnotation("Foo") and the other @InheritedAnnotation("Bar")?
>>
>
> why not @InheritedAnnotation("FooBar") :)
> More seriously, it should not compile.
> It's like trying to override a method but with the wrong visibility
> modifier.
>
>
The topic of annotation inheritance was discussed at length in the JSR
175 expert group and some of the rational for the design decisions are
included in the documentation of the JRS's intermediary drafts.
As Neal has alluded to, the main reason was to avoid having to define
semantics for cases like diamond "inheritance" of methods through
interfaces.
-Joe
More information about the coin-dev
mailing list