diff --git a/core/src/main/java/io/github/dfa1/vortex/fbsrt/FbsBuilder.java b/core/src/main/java/io/github/dfa1/vortex/fbsrt/FbsBuilder.java index 8e53de8e..eb15e704 100644 --- a/core/src/main/java/io/github/dfa1/vortex/fbsrt/FbsBuilder.java +++ b/core/src/main/java/io/github/dfa1/vortex/fbsrt/FbsBuilder.java @@ -328,7 +328,7 @@ public int endTable() { continue; } for (int k = SIZEOF_SHORT; k < len; k += SIZEOF_SHORT) { - if (buf.get(LE_SHORT, vt1 + k) != buf.get(LE_SHORT, vt2 + k)) { + if (buf.get(LE_SHORT, (long) vt1 + k) != buf.get(LE_SHORT, (long) vt2 + k)) { continue outer; } } @@ -344,7 +344,7 @@ public int endTable() { vtables = Arrays.copyOf(vtables, numVtables * 2); } vtables[numVtables++] = offset(); - buf.set(LE_INT, cap - vtableloc, offset() - vtableloc); + buf.set(LE_INT, (long) cap - vtableloc, offset() - vtableloc); } return vtableloc; } diff --git a/fbs-gen/src/main/java/io/github/dfa1/vortex/fbsgen/TypeRegistry.java b/fbs-gen/src/main/java/io/github/dfa1/vortex/fbsgen/TypeRegistry.java index d4a00ba5..c9b8cc22 100644 --- a/fbs-gen/src/main/java/io/github/dfa1/vortex/fbsgen/TypeRegistry.java +++ b/fbs-gen/src/main/java/io/github/dfa1/vortex/fbsgen/TypeRegistry.java @@ -116,6 +116,7 @@ private static int align(int pos, int size) { /// @param fieldOffsets byte offset of each field, parallel to the struct's field list /// @param size total padded struct size in bytes /// @param alignment struct alignment (the maximum field alignment) + @SuppressWarnings("java:S6218") // codegen-internal data carrier; fieldOffsets is an array of immutable primitives consumed by the generator and never compared. public record StructLayout(int[] fieldOffsets, int size, int alignment) { } } diff --git a/inspector/src/main/java/io/github/dfa1/vortex/inspect/InspectorTree.java b/inspector/src/main/java/io/github/dfa1/vortex/inspect/InspectorTree.java index b3705968..3c9bb5ea 100644 --- a/inspector/src/main/java/io/github/dfa1/vortex/inspect/InspectorTree.java +++ b/inspector/src/main/java/io/github/dfa1/vortex/inspect/InspectorTree.java @@ -255,8 +255,8 @@ public interface Progress { private static Peek peekFlatRoot(MemorySegment seg, List arraySpecs) { int segLen = (int) seg.byteSize(); - int fbLen = seg.get(LE_INT, segLen - 4); - int fbStart = segLen - 4 - fbLen; + int fbLen = seg.get(LE_INT, segLen - 4L); + long fbStart = segLen - 4L - fbLen; FbsArray fbArray = FbsArray.getRootAsFbsArray(seg.asSlice(fbStart, fbLen)); FbsArrayNode root = fbArray.root(); if (root == null) { diff --git a/pom.xml b/pom.xml index 6f293230..0dab7776 100644 --- a/pom.xml +++ b/pom.xml @@ -95,6 +95,15 @@ **/fbs/**, **/proto/** + + + **/fbsgen/**, + **/protogen/** +