On Thu, 26 Mar 2026 02:02:54 GMT, Yasumasa Suenaga <[email protected]> wrote:
> In #30392, we found out some impl classes in FFM are marked as value based > class, but they do not have `@ValueBased`. > I grep'ed JDK sources with 'ValueBased.html' which we expect that the word in > Javadoc on value based class, and I tracked it to final implementation class. > `final` classes in following list should have `@ValueBased`. > > > > java.base/share/classes/java/lang/foreign/FunctionDescriptor.java > public sealed interface FunctionDescriptor permits FunctionDescriptorImpl > public final class FunctionDescriptorImpl implements FunctionDescriptor > > java.base/share/classes/java/lang/foreign/MemoryLayout.java > public sealed interface MemoryLayout permits SequenceLayout, GroupLayout, > PaddingLayout, ValueLayout > public sealed interface SequenceLayout extends MemoryLayout permits > SequenceLayoutImpl > public final class SequenceLayoutImpl extends > AbstractLayout<SequenceLayoutImpl> implements SequenceLayout > public sealed interface GroupLayout extends MemoryLayout permits > StructLayout, UnionLayout > public sealed interface StructLayout extends GroupLayout permits > StructLayoutImpl > public final class StructLayoutImpl extends > AbstractGroupLayout<StructLayoutImpl> implements StructLayout > public sealed interface UnionLayout extends GroupLayout permits > UnionLayoutImpl > public final class UnionLayoutImpl extends > AbstractGroupLayout<UnionLayoutImpl> implements UnionLayout > public sealed interface PaddingLayout extends MemoryLayout permits > PaddingLayoutImpl > public final class PaddingLayoutImpl extends > AbstractLayout<PaddingLayoutImpl> implements PaddingLayout > public sealed interface ValueLayout extends MemoryLayout permits > ValueLayout.OfBoolean, ValueLayout.OfByte, ValueLayout.OfChar, > ValueLayout.OfShort, ValueLayout.OfInt, ValueLayout.OfFloat, > ValueLayout.OfLong, ValueLayout.OfDouble, AddressLayout > sealed interface OfBoolean extends ValueLayout permits > ValueLayouts.OfBooleanImpl > public static final class OfBooleanImpl extends > AbstractValueLayout<OfBooleanImpl> implements ValueLayout.OfBoolean > sealed interface OfByte extends ValueLayout permits > ValueLayouts.OfByteImpl > public static final class OfByteImpl extends > AbstractValueLayout<OfByteImpl> implements ValueLayout.OfByte > sealed interface OfChar extends ValueLayout permits > ValueLayouts.OfCharImpl > public static final class OfCharImpl extends > AbstractValueLayout<OfCharImpl> implements ValueLayout.OfChar > sealed interface OfSho... I filed [JDK-8381233](https://bugs.openjdk.org/browse/JDK-8381233) and CSR for it to remove value-based rating from Javadoc. And also I've sent PR as #30481. I think it is better to do JDK-8381233 first. I'll keep to open this until then (I couldn't this PR to back to draft). ------------- PR Comment: https://git.openjdk.org/jdk/pull/30443#issuecomment-4146418089
