On Fri, 1 Jul 2022 11:03:23 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> wrote:
> This patch fixes few javadoc issues in the memory layout API. > The main issues are that `SequenceLayout::flatten` and > `SequenceLayout::reshape` still mention failures caused by a lack of size. > But that condition is no longer possible in the new API. > > The javadoc of `ValueLayout::arrayElementVarHandle` is suboptimal and can be > clarified - UOE is only thrown if the value layout alignment is bigger than > its size. > > Finally, the `MemoryLayout::equals` method does not mention value layout > carriers. > > The JBS issue associated with this PR mentions also other issues, mostly > related to the overly broad visibility of some of the methods in the javadoc > (e.g. isPadding). Unfortunately, given the presence of an intermediate, > non-public, abstract class, this is what we get from javadoc. Fixing these > issues would require a deeper restructuring of the implementation, which > would be too riskt at this stage. src/java.base/share/classes/java/lang/foreign/AbstractLayout.java line 162: > 160: > 161: return Objects.equals(name, ((AbstractLayout) that).name) && > 162: Objects.equals(size, ((AbstractLayout)that).size) && I've consolidated things a bit here - the superclass should check name, size and alignment - while subclasses should only check additional properties. ------------- PR: https://git.openjdk.org/jdk19/pull/98