On Jun 14, 2015, at 7:25 PM, David Holmes <david.hol...@oracle.com> wrote: > > > Which reflection method are you referring to? Class.isAnonymousClass is > defined in terms of getSimpleName(): > > public boolean isAnonymousClass() { > return "".equals(getSimpleName()); > }
That might be an issue here. Just as (String)null and (String)"" are distinct values in Java, in the class file a CP ref of zero differs from a CP ref to a CONSTANT_Utf8 of the empty string "". But the method Class.isAnonymousClass does not make a distinction between those two cases, which might sometimes lead to confusion. I would view this as a bug in Class.isAnonymousClass. — John