While working on #4823 I notice that the code and interaction between these methods:
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.memberTypes()
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.setMemberTypes(ReferenceBinding[])
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.sortedMemberTypes()
makes for somewhat complicated reading and can be simplified quite a bit.
In particular, it is not clear we need org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.memberTypesSorted at all, this should/could be subsumed by TagBits.HasUnresolvedMemberTypes itself.
While working on #4823 I notice that the code and interaction between these methods:
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.memberTypes()org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.setMemberTypes(ReferenceBinding[])org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.sortedMemberTypes()makes for somewhat complicated reading and can be simplified quite a bit.
In particular, it is not clear we need
org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.memberTypesSortedat all, this should/could be subsumed byTagBits.HasUnresolvedMemberTypesitself.