What I'm suggesting is that a BC generator might emit a zero length name for a non-anon class, leading to confusion when C.isAnon is called.
– John > On Jun 16, 2015, at 5:09 AM, Vladimir Ivanov <vladimir.x.iva...@oracle.com> > wrote: > > John, > >> >> 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. > For non-top level classes, Class.getSimpleName calls > Class.getSimpleBinaryName which converts null to empty string, assuming it's > an anonymous class. So, callers should not see null values. > > Best regards, > Vladimir Ivanov