in kotlin/src/main/java/org/apache/fury/serializer/kotlin/KotlinSerializers.java [48:146]
public static void registerSerializers(Fury fury) {
ClassResolver resolver = fury.getClassResolver();
// UByte
Class ubyteClass = KotlinToJavaClass.INSTANCE.getUByteClass();
resolver.register(ubyteClass);
resolver.registerSerializer(ubyteClass, new UByteSerializer(fury));
// UShort
Class ushortClass = KotlinToJavaClass.INSTANCE.getUShortClass();
resolver.register(ushortClass);
resolver.registerSerializer(ushortClass, new UShortSerializer(fury));
// UInt
Class uintClass = KotlinToJavaClass.INSTANCE.getUIntClass();
resolver.register(uintClass);
resolver.registerSerializer(uintClass, new UIntSerializer(fury));
// ULong
Class ulongClass = KotlinToJavaClass.INSTANCE.getULongClass();
resolver.register(ulongClass);
resolver.registerSerializer(ulongClass, new ULongSerializer(fury));
// EmptyList
Class emptyListClass = KotlinToJavaClass.INSTANCE.getEmptyListClass();
resolver.register(emptyListClass);
resolver.registerSerializer(
emptyListClass, new CollectionSerializers.EmptyListSerializer(fury, emptyListClass));
// EmptySet
Class emptySetClass = KotlinToJavaClass.INSTANCE.getEmptySetClass();
resolver.register(emptySetClass);
resolver.registerSerializer(
emptySetClass, new CollectionSerializers.EmptySetSerializer(fury, emptySetClass));
// EmptyMap
Class emptyMapClass = KotlinToJavaClass.INSTANCE.getEmptyMapClass();
resolver.register(emptyMapClass);
resolver.registerSerializer(
emptyMapClass, new MapSerializers.EmptyMapSerializer(fury, emptyMapClass));
// Non-Java collection implementation in kotlin stdlib.
Class arrayDequeClass = KotlinToJavaClass.INSTANCE.getArrayDequeClass();
resolver.register(arrayDequeClass);
resolver.registerSerializer(
arrayDequeClass, new KotlinArrayDequeSerializer(fury, arrayDequeClass));
// Unsigned array classes: UByteArray, UShortArray, UIntArray, ULongArray.
resolver.register(UByteArray.class);
resolver.registerSerializer(UByteArray.class, new UByteArraySerializer(fury));
resolver.register(UShortArray.class);
resolver.registerSerializer(UShortArray.class, new UShortArraySerializer(fury));
resolver.register(UIntArray.class);
resolver.registerSerializer(UIntArray.class, new UIntArraySerializer(fury));
resolver.register(ULongArray.class);
resolver.registerSerializer(ULongArray.class, new ULongArraySerializer(fury));
// Ranges and Progressions.
resolver.register(kotlin.ranges.CharRange.class);
resolver.register(kotlin.ranges.CharProgression.class);
resolver.register(kotlin.ranges.IntRange.class);
resolver.register(kotlin.ranges.IntProgression.class);
resolver.register(kotlin.ranges.LongRange.class);
resolver.register(kotlin.ranges.LongProgression.class);
resolver.register(kotlin.ranges.UIntRange.class);
resolver.register(kotlin.ranges.UIntProgression.class);
resolver.register(kotlin.ranges.ULongRange.class);
resolver.register(kotlin.ranges.ULongProgression.class);
// Built-in classes.
resolver.register(kotlin.Pair.class);
resolver.register(kotlin.Triple.class);
resolver.register(kotlin.Result.class);
resolver.register(Result.Failure.class);
// kotlin.random
resolver.register(KotlinToJavaClass.INSTANCE.getRandomDefaultClass());
resolver.register(KotlinToJavaClass.INSTANCE.getRandomInternalClass());
resolver.register(KotlinToJavaClass.INSTANCE.getRandomSerializedClass());
// kotlin.text
resolver.register(Regex.class);
resolver.register(KotlinToJavaClass.INSTANCE.getRegexSerializedClass());
resolver.register(RegexOption.class);
resolver.register(CharCategory.class);
resolver.register(CharDirectionality.class);
resolver.register(HexFormat.class);
resolver.register(MatchGroup.class);
// kotlin.time
resolver.register(DurationUnit.class);
resolver.register(Duration.class);
resolver.registerSerializer(Duration.class, new DurationSerializer(fury));
resolver.register(TimedValue.class);
// kotlin.uuid
resolver.register(Uuid.class);
resolver.registerSerializer(Uuid.class, new UuidSerializer(fury));
}