On Tue, 17 Oct 2023 17:31:30 GMT, Maurizio Cimadamore <mcimadam...@openjdk.org> wrote:
> This PR moves turns default methods in `MemorySegment` and `MemoryLayout` > into ordinary abstract methods. > These interfaces cannot be subclasses by developers (they are sealed), so > there is no reson for having default methods there. Also, default methods can > have some detrimental effects, as they cause the interfaces to be initialized > more eagerly. Marked as reviewed by jvernee (Reviewer). src/java.base/share/classes/jdk/internal/foreign/layout/AbstractLayout.java line 47: > 45: import java.util.Optional; > 46: import java.util.Set; > 47: import java.util.function.Function; There are quite a few new imports here. Is it possible some imports in `MemoryLayout` are now unused? src/java.base/share/classes/jdk/internal/foreign/layout/AbstractLayout.java line 153: > 151: } > 152: > 153: public long scale(long offset, long index) { Could you add `@Override` to these as well? I think it makes it clearer that these methods might be accessed through a super type. ------------- PR Review: https://git.openjdk.org/jdk/pull/16224#pullrequestreview-1683950393 PR Review Comment: https://git.openjdk.org/jdk/pull/16224#discussion_r1363143556 PR Review Comment: https://git.openjdk.org/jdk/pull/16224#discussion_r1363143273