Fix nullability of generated Kotlin ByteBuffer accessors (#8844)

* fixes #8691
This commit is contained in:
souma987
2025-12-15 08:56:40 +09:00
committed by GitHub
parent 7bfaabc358
commit 60910fb7f5
7 changed files with 73 additions and 39 deletions

View File

@@ -1201,11 +1201,12 @@ class KotlinGenerator : public BaseGenerator {
: InlineSize(field.value.type.VectorType()));
// Generate a ByteBuffer accessor for strings & vectors of scalars.
// e.g.
// val inventoryByteBuffer: ByteBuffer
// val inventoryByteBuffer: ByteBuffer?
// get = __vector_as_bytebuffer(14, 1)
auto buffer_type = field.IsRequired() ? "ByteBuffer" : "ByteBuffer?";
GenerateGetterOneLine(
writer, field_name + "AsByteBuffer", "ByteBuffer", [&]() {
writer, field_name + "AsByteBuffer", buffer_type, [&]() {
writer.SetValue("end", end_idx);
writer += "__vector_as_bytebuffer({{offset}}, {{end}})";
});
@@ -1213,10 +1214,10 @@ class KotlinGenerator : public BaseGenerator {
// Generate a ByteBuffer accessor for strings & vectors of scalars.
// e.g.
// fun inventoryInByteBuffer(_bb: Bytebuffer):
// ByteBuffer = __vector_as_bytebuffer(_bb, 14, 1)
// ByteBuffer? = __vector_as_bytebuffer(_bb, 14, 1)
GenerateFunOneLine(
writer, field_name + "InByteBuffer", "_bb: ByteBuffer",
"ByteBuffer", [&]() {
buffer_type, [&]() {
writer.SetValue("end", end_idx);
writer += "__vector_in_bytebuffer(_bb, {{offset}}, {{end}})";
});