RFR: 8170595: Optimize Class.isAnonymousClass
    Claes Redestad 
    claes.redestad at oracle.com
       
    Thu Dec  8 11:06:33 UTC 2016
    
    
  
On 2016-12-08 04:30, Mandy Chung wrote:
>> On Dec 2, 2016, at 6:29 AM, Claes Redestad <claes.redestad at oracle.com> wrote:
>>
>> :
>> http://cr.openjdk.java.net/~redestad/8170595/webrev.03/
>>
>> This brings significant improvements to some variants:
> Good to see the significant improvements.
>
> I think what isLocalOrAnonymousClass needs probably is something like this:
>
>    private boolean hasEnclosingMethodInfo() {
>        Object[] enclosingInfo = getEnclosingMethod0();
>        if (enclosingInfo != null) {
>            EnclosingMethodInfo.validate(enclosingInfo);
>        }
>        return enclosingInfo != null;
>    }
>
> Then EnclosingMethodInfo doesn’t seem the need to change.  The overall change would be simpler.
Adding hasEnclosingMethodInfo has some descriptive value, but we'd still
need to change EnclosingMethodInfo a bit to separate the validation from
the constructor.
>
> As Joe suggests, this worths adding test cases for these methods, if not present.
I was also concerned about the lack of explicit tests for this under 
jdk/test, but found what
seemed like comprehensive tests in langtools, EnclosingMethodTest.java 
in particular.
However, it seems adding a straightforward, minimal test inspired by 
other tests under
java/lang/Class wouldn't hurt to ensure completeness and some more local 
coverage, so
I made an attempt at this:
http://cr.openjdk.java.net/~redestad/8170595/webrev.04/
Thanks!
/Claes
>
> Mandy
>
    
    
More information about the core-libs-dev
mailing list