RFR[9]: 8147585: Annotations with lambda expressions has parameters result in wrong behavior.

Joel Borggrén-Franck joel.borggren.franck at gmail.com
Wed Jun 1 21:02:11 UTC 2016


Hi,

I think this was caught by the verifier before 8 since you couldn't have
concrete or private methods in an interface. Now you can (though not in
Java for private ones).

My spider sense tells me there might be something lurking here (though it
was a while since this was in my L1 cache). It is not likely, but I'm not
100% sure that it is impossible to make javac produce a bridge when
compiling an annotation type for example, so why not remove synthetic
methods as well?

Spending some time with ASM to do a bunch of tests not compilable in java
might be useful, there should also be some frameworks in langtools to
produce invalid classfiles IIRC.

cheers
/Joel

On Tue, 31 May 2016 at 17:49 shilpi.rastogi at oracle.com <
shilpi.rastogi at oracle.com> wrote:

> Thanks Paul!!
> Please see http://cr.openjdk.java.net/~srastogi/8147585/webrev.03/
>
> Thanks,
> Shilpi
>
> On 5/31/2016 7:57 PM, Paul Sandoz wrote:
> > >"Returns an array containing Method objects reflecting all the declared
> methods of the class or interface represented by this Class object,
> including public, protected, default (package) access, and private methods,
> but excluding inherited methods."
>
>


More information about the core-libs-dev mailing list