diff --git a/core/trino-spi/pom.xml b/core/trino-spi/pom.xml
index 467a0a4a8400..365627801ea9 100644
--- a/core/trino-spi/pom.xml
+++ b/core/trino-spi/pom.xml
@@ -1036,6 +1036,169 @@
java.method.removed
method void io.trino.spi.block.VariableWidthBlock::writeSliceTo(int, int, int, io.airlift.slice.SliceOutput)
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.ArrayBlock
+ class io.trino.spi.block.ArrayBlock
+
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.ByteArrayBlock
+ class io.trino.spi.block.ByteArrayBlock
+
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.DictionaryBlock
+ class io.trino.spi.block.DictionaryBlock
+
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.Fixed12Block
+ class io.trino.spi.block.Fixed12Block
+
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.Int128ArrayBlock
+ class io.trino.spi.block.Int128ArrayBlock
+
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.IntArrayBlock
+ class io.trino.spi.block.IntArrayBlock
+
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.LazyBlock
+ class io.trino.spi.block.LazyBlock
+
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.LongArrayBlock
+ class io.trino.spi.block.LongArrayBlock
+
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.MapBlock
+ class io.trino.spi.block.MapBlock
+
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.RowBlock
+ class io.trino.spi.block.RowBlock
+
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.RunLengthEncodedBlock
+ class io.trino.spi.block.RunLengthEncodedBlock
+
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.ShortArrayBlock
+ class io.trino.spi.block.ShortArrayBlock
+
+ -
+
java.class.nowFinal
+ class io.trino.spi.block.VariableWidthBlock
+ class io.trino.spi.block.VariableWidthBlock
+
+ -
+
java.method.visibilityReduced
+ method int io.trino.spi.block.ArrayBlock::getOffsetBase()
+ method int io.trino.spi.block.ArrayBlock::getOffsetBase()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method int[] io.trino.spi.block.ArrayBlock::getOffsets()
+ method int[] io.trino.spi.block.ArrayBlock::getOffsets()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method io.trino.spi.block.Block io.trino.spi.block.ArrayBlock::getRawElementBlock()
+ method io.trino.spi.block.Block io.trino.spi.block.ArrayBlock::getRawElementBlock()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method void io.trino.spi.block.MapBlock::ensureHashTableLoaded()
+ method void io.trino.spi.block.MapBlock::ensureHashTableLoaded()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method io.trino.spi.block.MapHashTables io.trino.spi.block.MapBlock::getHashTables()
+ method io.trino.spi.block.MapHashTables io.trino.spi.block.MapBlock::getHashTables()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method io.trino.spi.type.MapType io.trino.spi.block.MapBlock::getMapType()
+ method io.trino.spi.type.MapType io.trino.spi.block.MapBlock::getMapType()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method int io.trino.spi.block.MapBlock::getOffsetBase()
+ method int io.trino.spi.block.MapBlock::getOffsetBase()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method int[] io.trino.spi.block.MapBlock::getOffsets()
+ method int[] io.trino.spi.block.MapBlock::getOffsets()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method io.trino.spi.block.Block io.trino.spi.block.MapBlock::getRawKeyBlock()
+ method io.trino.spi.block.Block io.trino.spi.block.MapBlock::getRawKeyBlock()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method io.trino.spi.block.Block io.trino.spi.block.MapBlock::getRawValueBlock()
+ method io.trino.spi.block.Block io.trino.spi.block.MapBlock::getRawValueBlock()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method int[] io.trino.spi.block.RowBlock::getFieldBlockOffsets()
+ method int[] io.trino.spi.block.RowBlock::getFieldBlockOffsets()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method int io.trino.spi.block.RowBlock::getOffsetBase()
+ method int io.trino.spi.block.RowBlock::getOffsetBase()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method java.util.List<io.trino.spi.block.Block> io.trino.spi.block.RowBlock::getRawFieldBlocks()
+ method java.util.List<io.trino.spi.block.Block> io.trino.spi.block.RowBlock::getRawFieldBlocks()
+ protected
+ package
+
+ -
+
java.method.visibilityReduced
+ method int io.trino.spi.block.VariableWidthBlock::getPositionOffset(int)
+ method int io.trino.spi.block.VariableWidthBlock::getPositionOffset(int)
+ protected
+ package
+
diff --git a/core/trino-spi/src/main/java/io/trino/spi/block/ArrayBlock.java b/core/trino-spi/src/main/java/io/trino/spi/block/ArrayBlock.java
index a95abd2700bc..9aad1d9da67e 100644
--- a/core/trino-spi/src/main/java/io/trino/spi/block/ArrayBlock.java
+++ b/core/trino-spi/src/main/java/io/trino/spi/block/ArrayBlock.java
@@ -36,7 +36,7 @@
import static java.util.Collections.singletonList;
import static java.util.Objects.requireNonNull;
-public class ArrayBlock
+public final class ArrayBlock
implements ValueBlock
{
private static final int INSTANCE_SIZE = instanceSize(ArrayBlock.class);
@@ -73,7 +73,7 @@ public static ArrayBlock fromElementBlock(int positionCount, Optional
}
/**
- * Create an array block directly without per element validations.
+ * Create an array block directly without per-element validations.
*/
static ArrayBlock createArrayBlockInternal(int arrayOffset, int positionCount, @Nullable boolean[] valueIsNull, int[] offsets, Block values)
{
@@ -167,23 +167,23 @@ public void retainedBytesForEachPart(ObjLongConsumer