On 26/10/2017 2:51 AM, John Rose wrote:
On Oct 25, 2017, at 8:39 AM, Brian Goetz <brian.go...@oracle.com> wrote:
John Rose proposed:
a) Class.getnestHost() - defaults to itself if there is a resolution error
(or if there is no Nest attribute)
(yes)
b) Class.getNestMembers() - returns full nest, fallback of self if any
resolution errors including it lists a nestHost that
does not list it.
For consistency with the classfile representation, this should probably omit
the host class.
(yes, that's my preference, although the other way is not too terrible)
[editor notes:
- full statically defined nest from classfile attribute? As distinct from full
dynamically
currently loaded nest - right?
I would prefer that this return only the static members, which is consistent
with the design center for reflection -- reflection over classfiles.
yes yes yes; the reflection should reflect what's in the class-file (or a
resolvable subset), not everything in the VM's knowledge
I like Remi's idea of scrubbing the list (of reflected nestmates) of bad actors
rather than clearing the list if there are *any* bad actors.
Reminder: bad actors are an edge case, not a normal case.
Question: what do we do in the exactly parallel case for getInnerClasses? Do
we scrub bad actors? Nullify the result? Throw? (Probably throw.)
Throw.
David
— John