Runtime behavior of Java will NOT depend on optional annotations.  Where did 
you get that idea?  

The reflection aspect is separate and also desirable.  

On Jan 16, 2013, at 8:32 AM, Florian Weimer wrote:

> On 01/16/2013 05:27 PM, Brian Goetz wrote:
> 
>> The primary purpose of this annotation is to *capture design intent*.  It is 
>> not required.  The compiler will help you enforce the design intent if you 
>> provide it.  The compiler will not synthesize this annotation, since that 
>> would be guessing at the design intent.  It is possible to create classfiles 
>> that subvert the design intent.
>> 
>> The point about other languages was simply to point out that the universe of 
>> tools that might usefully use this design intent is bigger than sometimes 
>> assumed.
> 
> I don't think run-time behavior should depend on optional annotations 
> documenting design intent (like @Override).
> 
> Supporting the discovery of functional interfaces is a good idea.  But a 
> method like Class#isFunctionalInterface() would sever this purpose better 
> than an entirely optional annotation.
> 
> -- 
> Florian Weimer / Red Hat Product Security Team

Reply via email to