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