summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Bobukh <abobukh@google.com>2023-01-10 10:03:39 -0800
committerGitHub <noreply@github.com>2023-01-10 10:03:39 -0800
commitb50b6be60a3647b5a320498b9534b6f74450c2b1 (patch)
treee20789a54583e5eb78e579115b49cd828af69e78
parent7bf83f5ea06149866193163b29794ca80133e14c (diff)
downloadflatbuffers-b50b6be60a3647b5a320498b9534b6f74450c2b1.tar.gz
flatbuffers-b50b6be60a3647b5a320498b9534b6f74450c2b1.tar.bz2
flatbuffers-b50b6be60a3647b5a320498b9534b6f74450c2b1.zip
[Kotlin] Control the generation of reflection with --reflect-names (#7775)
* [Kotlin] Control the generation of reflection with --reflect-names. Tested: ``` $ cmake -G "Unix Makefiles" && make && ./tests/flatc/main.py ... KotlinTests.EnumValAttributes [PASSED] KotlinTests.EnumValAttributes_ReflectNames [PASSED] KotlinTests: 2 of 2 passsed ... 35 of 35 tests passed ``` * [Kotlin] Fix SampleBinary by converting Byte to UByte for ubyte fields. * [Kotlin] Annotate all generated classes with kotlin.ExperimentalUnsignedTypes.
-rw-r--r--samples/SampleBinary.kt5
-rw-r--r--src/idl_gen_kotlin.cpp7
-rw-r--r--tests/DictionaryLookup/LongFloatEntry.kt1
-rw-r--r--tests/DictionaryLookup/LongFloatMap.kt1
-rw-r--r--tests/MyGame/Example/Ability.kt1
-rw-r--r--tests/MyGame/Example/Any.kt1
-rw-r--r--tests/MyGame/Example/AnyAmbiguousAliases.kt1
-rw-r--r--tests/MyGame/Example/AnyUniqueAliases.kt1
-rw-r--r--tests/MyGame/Example/Color.kt1
-rw-r--r--tests/MyGame/Example/LongEnum.kt1
-rw-r--r--tests/MyGame/Example/Monster.kt1
-rw-r--r--tests/MyGame/Example/Race.kt1
-rw-r--r--tests/MyGame/Example/Referrable.kt1
-rw-r--r--tests/MyGame/Example/Stat.kt1
-rw-r--r--tests/MyGame/Example/StructOfStructs.kt1
-rw-r--r--tests/MyGame/Example/StructOfStructsOfStructs.kt1
-rw-r--r--tests/MyGame/Example/Test.kt1
-rw-r--r--tests/MyGame/Example/TestSimpleTableWithEnum.kt1
-rw-r--r--tests/MyGame/Example/TypeAliases.kt1
-rw-r--r--tests/MyGame/Example/Vec3.kt1
-rw-r--r--tests/MyGame/Example2/Monster.kt1
-rw-r--r--tests/MyGame/InParentNamespace.kt1
-rw-r--r--tests/MyGame/MonsterExtra.kt1
-rw-r--r--tests/flatc/flatc_kotlin_tests.py32
-rwxr-xr-xtests/flatc/main.py3
-rw-r--r--tests/optional_scalars/OptionalByte.kt3
-rw-r--r--tests/optional_scalars/ScalarStuff.kt1
-rw-r--r--tests/union_vector/Attacker.kt1
-rw-r--r--tests/union_vector/BookReader.kt1
-rw-r--r--tests/union_vector/Character.kt1
-rw-r--r--tests/union_vector/FallingTub.kt1
-rw-r--r--tests/union_vector/Gadget.kt1
-rw-r--r--tests/union_vector/HandFan.kt1
-rw-r--r--tests/union_vector/Movie.kt1
-rw-r--r--tests/union_vector/Rapunzel.kt1
35 files changed, 74 insertions, 6 deletions
diff --git a/samples/SampleBinary.kt b/samples/SampleBinary.kt
index 2974f36a..04a749c7 100644
--- a/samples/SampleBinary.kt
+++ b/samples/SampleBinary.kt
@@ -24,6 +24,7 @@ import MyGame.Sample.Weapon
import com.google.flatbuffers.FlatBufferBuilder
+@kotlin.ExperimentalUnsignedTypes
class SampleBinary {
companion object {
@@ -45,7 +46,7 @@ class SampleBinary {
// Serialize the FlatBuffer data.
val name = builder.createString("Orc")
- val treasure = byteArrayOf(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
+ val treasure = byteArrayOf(0, 1, 2, 3, 4, 5, 6, 7, 8, 9).asUByteArray()
val inv = Monster.createInventoryVector(builder, treasure)
val weapons = Monster.createWeaponsVector(builder, weaps)
val pos = Vec3.createVec3(builder, 1.0f, 2.0f, 3.0f)
@@ -85,7 +86,7 @@ class SampleBinary {
// Get and test the `inventory` FlatBuffer `vector`.
for (i in 0 until monster.inventoryLength) {
- assert(monster.inventory(i) == i.toByte().toInt())
+ assert(monster.inventory(i) == i.toUByte())
}
// Get and test the `weapons` FlatBuffer `vector` of `table`s.
diff --git a/src/idl_gen_kotlin.cpp b/src/idl_gen_kotlin.cpp
index b19f2a3d..2cbed652 100644
--- a/src/idl_gen_kotlin.cpp
+++ b/src/idl_gen_kotlin.cpp
@@ -287,6 +287,7 @@ class KotlinGenerator : public BaseGenerator {
GenerateComment(enum_def.doc_comment, writer, &comment_config);
writer += "@Suppress(\"unused\")";
+ writer += "@kotlin.ExperimentalUnsignedTypes";
writer += "class " + namer_.Type(enum_def) + " private constructor() {";
writer.IncrementIdentLevel();
@@ -313,7 +314,10 @@ class KotlinGenerator : public BaseGenerator {
// Average distance between values above which we consider a table
// "too sparse". Change at will.
static const uint64_t kMaxSparseness = 5;
- if (range / static_cast<uint64_t>(enum_def.size()) < kMaxSparseness) {
+ bool generate_names =
+ range / static_cast<uint64_t>(enum_def.size()) < kMaxSparseness &&
+ parser_.opts.mini_reflect == IDLOptions::kTypesAndNames;
+ if (generate_names) {
GeneratePropertyOneLine(writer, "names", "Array<String>", [&]() {
writer += "arrayOf(\\";
auto val = enum_def.Vals().front();
@@ -489,6 +493,7 @@ class KotlinGenerator : public BaseGenerator {
writer.SetValue("superclass", fixed ? "Struct" : "Table");
writer += "@Suppress(\"unused\")";
+ writer += "@kotlin.ExperimentalUnsignedTypes";
writer += "class {{struct_name}} : {{superclass}}() {\n";
writer.IncrementIdentLevel();
diff --git a/tests/DictionaryLookup/LongFloatEntry.kt b/tests/DictionaryLookup/LongFloatEntry.kt
index d49afa45..5ba11bfd 100644
--- a/tests/DictionaryLookup/LongFloatEntry.kt
+++ b/tests/DictionaryLookup/LongFloatEntry.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class LongFloatEntry : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/DictionaryLookup/LongFloatMap.kt b/tests/DictionaryLookup/LongFloatMap.kt
index bc1541f4..bb0cd3e4 100644
--- a/tests/DictionaryLookup/LongFloatMap.kt
+++ b/tests/DictionaryLookup/LongFloatMap.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class LongFloatMap : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/Ability.kt b/tests/MyGame/Example/Ability.kt
index dc2b0b86..a3e17bef 100644
--- a/tests/MyGame/Example/Ability.kt
+++ b/tests/MyGame/Example/Ability.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Ability : Struct() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/Any.kt b/tests/MyGame/Example/Any.kt
index 5a7ecf76..8818c390 100644
--- a/tests/MyGame/Example/Any.kt
+++ b/tests/MyGame/Example/Any.kt
@@ -3,6 +3,7 @@
package MyGame.Example
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Any_ private constructor() {
companion object {
const val NONE: UByte = 0u
diff --git a/tests/MyGame/Example/AnyAmbiguousAliases.kt b/tests/MyGame/Example/AnyAmbiguousAliases.kt
index c38923b9..40430965 100644
--- a/tests/MyGame/Example/AnyAmbiguousAliases.kt
+++ b/tests/MyGame/Example/AnyAmbiguousAliases.kt
@@ -3,6 +3,7 @@
package MyGame.Example
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class AnyAmbiguousAliases private constructor() {
companion object {
const val NONE: UByte = 0u
diff --git a/tests/MyGame/Example/AnyUniqueAliases.kt b/tests/MyGame/Example/AnyUniqueAliases.kt
index 2db45a6c..8be0cc82 100644
--- a/tests/MyGame/Example/AnyUniqueAliases.kt
+++ b/tests/MyGame/Example/AnyUniqueAliases.kt
@@ -3,6 +3,7 @@
package MyGame.Example
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class AnyUniqueAliases private constructor() {
companion object {
const val NONE: UByte = 0u
diff --git a/tests/MyGame/Example/Color.kt b/tests/MyGame/Example/Color.kt
index 0af56e1e..61a313e6 100644
--- a/tests/MyGame/Example/Color.kt
+++ b/tests/MyGame/Example/Color.kt
@@ -6,6 +6,7 @@ package MyGame.Example
* Composite components of Monster color.
*/
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Color private constructor() {
companion object {
const val Red: UByte = 1u
diff --git a/tests/MyGame/Example/LongEnum.kt b/tests/MyGame/Example/LongEnum.kt
index ecb5aabf..328c9c4f 100644
--- a/tests/MyGame/Example/LongEnum.kt
+++ b/tests/MyGame/Example/LongEnum.kt
@@ -3,6 +3,7 @@
package MyGame.Example
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class LongEnum private constructor() {
companion object {
const val LongOne: ULong = 2UL
diff --git a/tests/MyGame/Example/Monster.kt b/tests/MyGame/Example/Monster.kt
index be60c702..9d547fe4 100644
--- a/tests/MyGame/Example/Monster.kt
+++ b/tests/MyGame/Example/Monster.kt
@@ -22,6 +22,7 @@ import kotlin.math.sign
* an example documentation comment: "monster object"
*/
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Monster : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/Race.kt b/tests/MyGame/Example/Race.kt
index 6f770a3c..9cf88572 100644
--- a/tests/MyGame/Example/Race.kt
+++ b/tests/MyGame/Example/Race.kt
@@ -3,6 +3,7 @@
package MyGame.Example
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Race private constructor() {
companion object {
const val None: Byte = -1
diff --git a/tests/MyGame/Example/Referrable.kt b/tests/MyGame/Example/Referrable.kt
index 819af370..9d4d2e6a 100644
--- a/tests/MyGame/Example/Referrable.kt
+++ b/tests/MyGame/Example/Referrable.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Referrable : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/Stat.kt b/tests/MyGame/Example/Stat.kt
index 79686816..752d7a2a 100644
--- a/tests/MyGame/Example/Stat.kt
+++ b/tests/MyGame/Example/Stat.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Stat : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/StructOfStructs.kt b/tests/MyGame/Example/StructOfStructs.kt
index e7a27a23..89fd831f 100644
--- a/tests/MyGame/Example/StructOfStructs.kt
+++ b/tests/MyGame/Example/StructOfStructs.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class StructOfStructs : Struct() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/StructOfStructsOfStructs.kt b/tests/MyGame/Example/StructOfStructsOfStructs.kt
index 5fb1a1ef..24bd1cfa 100644
--- a/tests/MyGame/Example/StructOfStructsOfStructs.kt
+++ b/tests/MyGame/Example/StructOfStructsOfStructs.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class StructOfStructsOfStructs : Struct() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/Test.kt b/tests/MyGame/Example/Test.kt
index c2ce96e9..c910b3e0 100644
--- a/tests/MyGame/Example/Test.kt
+++ b/tests/MyGame/Example/Test.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Test : Struct() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/TestSimpleTableWithEnum.kt b/tests/MyGame/Example/TestSimpleTableWithEnum.kt
index fec981f1..e2992993 100644
--- a/tests/MyGame/Example/TestSimpleTableWithEnum.kt
+++ b/tests/MyGame/Example/TestSimpleTableWithEnum.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class TestSimpleTableWithEnum : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/TypeAliases.kt b/tests/MyGame/Example/TypeAliases.kt
index 6d77d959..cd7c78fe 100644
--- a/tests/MyGame/Example/TypeAliases.kt
+++ b/tests/MyGame/Example/TypeAliases.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class TypeAliases : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example/Vec3.kt b/tests/MyGame/Example/Vec3.kt
index 9e1f89ed..59a431d7 100644
--- a/tests/MyGame/Example/Vec3.kt
+++ b/tests/MyGame/Example/Vec3.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Vec3 : Struct() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/Example2/Monster.kt b/tests/MyGame/Example2/Monster.kt
index 8455c0a2..22ccf279 100644
--- a/tests/MyGame/Example2/Monster.kt
+++ b/tests/MyGame/Example2/Monster.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Monster : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/InParentNamespace.kt b/tests/MyGame/InParentNamespace.kt
index 84a8cff4..acea6920 100644
--- a/tests/MyGame/InParentNamespace.kt
+++ b/tests/MyGame/InParentNamespace.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class InParentNamespace : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/MyGame/MonsterExtra.kt b/tests/MyGame/MonsterExtra.kt
index d1e75a28..e150e6d8 100644
--- a/tests/MyGame/MonsterExtra.kt
+++ b/tests/MyGame/MonsterExtra.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class MonsterExtra : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/flatc/flatc_kotlin_tests.py b/tests/flatc/flatc_kotlin_tests.py
new file mode 100644
index 00000000..bca3cba3
--- /dev/null
+++ b/tests/flatc/flatc_kotlin_tests.py
@@ -0,0 +1,32 @@
+# Copyright 2022 Google Inc. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from flatc_test import *
+
+
+class KotlinTests:
+
+ def EnumValAttributes(self):
+ flatc(["--kotlin", "enum_val_attributes.fbs"])
+
+ subject = assert_file_exists("ValAttributes.kt")
+ assert_file_doesnt_contains(subject, 'val names : Array<String> = arrayOf("Val1", "Val2", "Val3")')
+ assert_file_doesnt_contains(subject, 'fun name(e: Int) : String = names[e]')
+
+ def EnumValAttributes_ReflectNames(self):
+ flatc(["--kotlin", "--reflect-names", "enum_val_attributes.fbs"])
+
+ subject = assert_file_exists("ValAttributes.kt")
+ assert_file_contains(subject, 'val names : Array<String> = arrayOf("Val1", "Val2", "Val3")')
+ assert_file_contains(subject, 'fun name(e: Int) : String = names[e]')
diff --git a/tests/flatc/main.py b/tests/flatc/main.py
index 3bc23184..b296c475 100755
--- a/tests/flatc/main.py
+++ b/tests/flatc/main.py
@@ -18,10 +18,11 @@ import sys
from flatc_test import run_all
from flatc_cpp_tests import CppTests
+from flatc_kotlin_tests import KotlinTests
from flatc_ts_tests import TsTests
from flatc_schema_tests import SchemaTests
-passing, failing = run_all(CppTests, TsTests, SchemaTests)
+passing, failing = run_all(CppTests, KotlinTests, TsTests, SchemaTests)
print("")
print("{0} of {1} tests passed".format(passing, passing + failing))
diff --git a/tests/optional_scalars/OptionalByte.kt b/tests/optional_scalars/OptionalByte.kt
index afb36909..1379cd10 100644
--- a/tests/optional_scalars/OptionalByte.kt
+++ b/tests/optional_scalars/OptionalByte.kt
@@ -3,12 +3,11 @@
package optional_scalars
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class OptionalByte private constructor() {
companion object {
const val None: Byte = 0
const val One: Byte = 1
const val Two: Byte = 2
- val names : Array<String> = arrayOf("None", "One", "Two")
- fun name(e: Int) : String = names[e]
}
}
diff --git a/tests/optional_scalars/ScalarStuff.kt b/tests/optional_scalars/ScalarStuff.kt
index bc3ef4bb..ba498ed7 100644
--- a/tests/optional_scalars/ScalarStuff.kt
+++ b/tests/optional_scalars/ScalarStuff.kt
@@ -19,6 +19,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class ScalarStuff : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/union_vector/Attacker.kt b/tests/union_vector/Attacker.kt
index 6823eed1..f71a6c05 100644
--- a/tests/union_vector/Attacker.kt
+++ b/tests/union_vector/Attacker.kt
@@ -17,6 +17,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Attacker : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/union_vector/BookReader.kt b/tests/union_vector/BookReader.kt
index 87dff732..ddeb09dd 100644
--- a/tests/union_vector/BookReader.kt
+++ b/tests/union_vector/BookReader.kt
@@ -17,6 +17,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class BookReader : Struct() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/union_vector/Character.kt b/tests/union_vector/Character.kt
index 2e80a35f..302b7e50 100644
--- a/tests/union_vector/Character.kt
+++ b/tests/union_vector/Character.kt
@@ -1,6 +1,7 @@
// automatically generated by the FlatBuffers compiler, do not modify
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Character_ private constructor() {
companion object {
const val NONE: UByte = 0u
diff --git a/tests/union_vector/FallingTub.kt b/tests/union_vector/FallingTub.kt
index 43e477a3..0f167250 100644
--- a/tests/union_vector/FallingTub.kt
+++ b/tests/union_vector/FallingTub.kt
@@ -17,6 +17,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class FallingTub : Struct() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/union_vector/Gadget.kt b/tests/union_vector/Gadget.kt
index 4fb3b100..c537a4f3 100644
--- a/tests/union_vector/Gadget.kt
+++ b/tests/union_vector/Gadget.kt
@@ -1,6 +1,7 @@
// automatically generated by the FlatBuffers compiler, do not modify
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Gadget private constructor() {
companion object {
const val NONE: UByte = 0u
diff --git a/tests/union_vector/HandFan.kt b/tests/union_vector/HandFan.kt
index debcb4c5..d60ba284 100644
--- a/tests/union_vector/HandFan.kt
+++ b/tests/union_vector/HandFan.kt
@@ -17,6 +17,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class HandFan : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/union_vector/Movie.kt b/tests/union_vector/Movie.kt
index ee07eef6..8d3e4106 100644
--- a/tests/union_vector/Movie.kt
+++ b/tests/union_vector/Movie.kt
@@ -17,6 +17,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Movie : Table() {
fun __init(_i: Int, _bb: ByteBuffer) {
diff --git a/tests/union_vector/Rapunzel.kt b/tests/union_vector/Rapunzel.kt
index e3296e19..d51402a2 100644
--- a/tests/union_vector/Rapunzel.kt
+++ b/tests/union_vector/Rapunzel.kt
@@ -17,6 +17,7 @@ import java.nio.ByteOrder
import kotlin.math.sign
@Suppress("unused")
+@kotlin.ExperimentalUnsignedTypes
class Rapunzel : Struct() {
fun __init(_i: Int, _bb: ByteBuffer) {