Mark field creation methods as jvm overloads

This commit is contained in:
DBotThePony 2023-01-29 22:19:51 +07:00
parent f742d6d819
commit 4b9fc97b7c
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -158,60 +158,61 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
hasChanges = false hasChanges = false
} }
fun byte(getter: () -> Byte, name: String = nextFieldName()) = ComputedField(getter, ByteValueCodec, name) @JvmOverloads fun byte(getter: () -> Byte, name: String = nextFieldName()) = ComputedField(getter, ByteValueCodec, name)
fun bool(getter: () -> Boolean, name: String = nextFieldName()) = ComputedField(getter, BooleanValueCodec, name) @JvmOverloads fun bool(getter: () -> Boolean, name: String = nextFieldName()) = ComputedField(getter, BooleanValueCodec, name)
fun short(getter: () -> Short, name: String = nextFieldName()) = ComputedField(getter, ShortValueCodec, name) @JvmOverloads fun short(getter: () -> Short, name: String = nextFieldName()) = ComputedField(getter, ShortValueCodec, name)
fun long(getter: () -> Long, name: String = nextFieldName()) = ComputedField(getter, VarLongValueCodec, name) @JvmOverloads fun long(getter: () -> Long, name: String = nextFieldName()) = ComputedField(getter, VarLongValueCodec, name)
fun fixedLong(getter: () -> Long, name: String = nextFieldName()) = ComputedField(getter, LongValueCodec, name) @JvmOverloads fun fixedLong(getter: () -> Long, name: String = nextFieldName()) = ComputedField(getter, LongValueCodec, name)
fun float(getter: () -> Float, name: String = nextFieldName()) = ComputedField(getter, FloatValueCodec, name) @JvmOverloads fun float(getter: () -> Float, name: String = nextFieldName()) = ComputedField(getter, FloatValueCodec, name)
fun double(getter: () -> Double, name: String = nextFieldName()) = ComputedField(getter, DoubleValueCodec, name) @JvmOverloads fun double(getter: () -> Double, name: String = nextFieldName()) = ComputedField(getter, DoubleValueCodec, name)
fun uuid(getter: () -> UUID, name: String = nextFieldName()) = ComputedField(getter, UUIDValueCodec, name) @JvmOverloads fun uuid(getter: () -> UUID, name: String = nextFieldName()) = ComputedField(getter, UUIDValueCodec, name)
fun int(getter: () -> Int, name: String = nextFieldName()) = ComputedField(getter, VarIntValueCodec, name) @JvmOverloads fun int(getter: () -> Int, name: String = nextFieldName()) = ComputedField(getter, VarIntValueCodec, name)
fun fixedInt(getter: () -> Int, name: String = nextFieldName()) = ComputedField(getter, IntValueCodec, name) @JvmOverloads fun fixedInt(getter: () -> Int, name: String = nextFieldName()) = ComputedField(getter, IntValueCodec, name)
fun fraction(getter: () -> Decimal, name: String = nextFieldName()) = ComputedField(getter, ImpreciseFractionValueCodec, name) @JvmOverloads fun fraction(getter: () -> Decimal, name: String = nextFieldName()) = ComputedField(getter, ImpreciseFractionValueCodec, name)
fun bigDecimal(getter: () -> BigDecimal, name: String = nextFieldName()) = ComputedField(getter, BigDecimalValueCodec, name) @JvmOverloads fun bigDecimal(getter: () -> BigDecimal, name: String = nextFieldName()) = ComputedField(getter, BigDecimalValueCodec, name)
fun item(getter: () -> ItemStack, name: String = nextFieldName()) = ComputedField(getter, ItemStackValueCodec, name) @JvmOverloads fun item(getter: () -> ItemStack, name: String = nextFieldName()) = ComputedField(getter, ItemStackValueCodec, name)
fun string(getter: () -> String, name: String = nextFieldName()) = ComputedField(getter, BinaryStringCodec, name) @JvmOverloads fun string(getter: () -> String, name: String = nextFieldName()) = ComputedField(getter, BinaryStringCodec, name)
fun byte(getter: KProperty0<Byte>, name: String = nextFieldName()) = ComputedField(getter, ByteValueCodec, name) @JvmOverloads fun byte(getter: KProperty0<Byte>, name: String = nextFieldName()) = ComputedField(getter, ByteValueCodec, name)
fun bool(getter: KProperty0<Boolean>, name: String = nextFieldName()) = ComputedField(getter, BooleanValueCodec, name) @JvmOverloads fun bool(getter: KProperty0<Boolean>, name: String = nextFieldName()) = ComputedField(getter, BooleanValueCodec, name)
fun short(getter: KProperty0<Short>, name: String = nextFieldName()) = ComputedField(getter, ShortValueCodec, name) @JvmOverloads fun short(getter: KProperty0<Short>, name: String = nextFieldName()) = ComputedField(getter, ShortValueCodec, name)
fun long(getter: KProperty0<Long>, name: String = nextFieldName()) = ComputedField(getter, VarLongValueCodec, name) @JvmOverloads fun long(getter: KProperty0<Long>, name: String = nextFieldName()) = ComputedField(getter, VarLongValueCodec, name)
fun fixedLong(getter: KProperty0<Long>, name: String = nextFieldName()) = ComputedField(getter, LongValueCodec, name) @JvmOverloads fun fixedLong(getter: KProperty0<Long>, name: String = nextFieldName()) = ComputedField(getter, LongValueCodec, name)
fun float(getter: KProperty0<Float>, name: String = nextFieldName()) = ComputedField(getter, FloatValueCodec, name) @JvmOverloads fun float(getter: KProperty0<Float>, name: String = nextFieldName()) = ComputedField(getter, FloatValueCodec, name)
fun double(getter: KProperty0<Double>, name: String = nextFieldName()) = ComputedField(getter, DoubleValueCodec, name) @JvmOverloads fun double(getter: KProperty0<Double>, name: String = nextFieldName()) = ComputedField(getter, DoubleValueCodec, name)
fun uuid(getter: KProperty0<UUID>, name: String = nextFieldName()) = ComputedField(getter, UUIDValueCodec, name) @JvmOverloads fun uuid(getter: KProperty0<UUID>, name: String = nextFieldName()) = ComputedField(getter, UUIDValueCodec, name)
fun int(getter: KProperty0<Int>, name: String = nextFieldName()) = ComputedField(getter, VarIntValueCodec, name) @JvmOverloads fun int(getter: KProperty0<Int>, name: String = nextFieldName()) = ComputedField(getter, VarIntValueCodec, name)
fun fixedInt(getter: KProperty0<Int>, name: String = nextFieldName()) = ComputedField(getter, IntValueCodec, name) @JvmOverloads fun fixedInt(getter: KProperty0<Int>, name: String = nextFieldName()) = ComputedField(getter, IntValueCodec, name)
fun fraction(getter: KProperty0<Decimal>, name: String = nextFieldName()) = ComputedField(getter, ImpreciseFractionValueCodec, name) @JvmOverloads fun fraction(getter: KProperty0<Decimal>, name: String = nextFieldName()) = ComputedField(getter, ImpreciseFractionValueCodec, name)
fun bigDecimal(getter: KProperty0<BigDecimal>, name: String = nextFieldName()) = ComputedField(getter, BigDecimalValueCodec, name) @JvmOverloads fun bigDecimal(getter: KProperty0<BigDecimal>, name: String = nextFieldName()) = ComputedField(getter, BigDecimalValueCodec, name)
fun item(getter: KProperty0<ItemStack>, name: String = nextFieldName()) = ComputedField(getter, ItemStackValueCodec, name) @JvmOverloads fun item(getter: KProperty0<ItemStack>, name: String = nextFieldName()) = ComputedField(getter, ItemStackValueCodec, name)
fun string(getter: KProperty0<String>, name: String = nextFieldName()) = ComputedField(getter, BinaryStringCodec, name) @JvmOverloads fun string(getter: KProperty0<String>, name: String = nextFieldName()) = ComputedField(getter, BinaryStringCodec, name)
fun byte(getter: Supplier<Byte>, name: String = nextFieldName()) = ComputedField(getter::get, ByteValueCodec, name) @JvmOverloads fun byte(getter: Supplier<Byte>, name: String = nextFieldName()) = ComputedField(getter::get, ByteValueCodec, name)
fun bool(getter: Supplier<Boolean>, name: String = nextFieldName()) = ComputedField(getter::get, BooleanValueCodec, name) @JvmOverloads fun bool(getter: Supplier<Boolean>, name: String = nextFieldName()) = ComputedField(getter::get, BooleanValueCodec, name)
fun short(getter: Supplier<Short>, name: String = nextFieldName()) = ComputedField(getter::get, ShortValueCodec, name) @JvmOverloads fun short(getter: Supplier<Short>, name: String = nextFieldName()) = ComputedField(getter::get, ShortValueCodec, name)
fun long(getter: Supplier<Long>, name: String = nextFieldName()) = ComputedField(getter::get, VarLongValueCodec, name) @JvmOverloads fun long(getter: Supplier<Long>, name: String = nextFieldName()) = ComputedField(getter::get, VarLongValueCodec, name)
fun fixedLong(getter: Supplier<Long>, name: String = nextFieldName()) = ComputedField(getter::get, LongValueCodec, name) @JvmOverloads fun fixedLong(getter: Supplier<Long>, name: String = nextFieldName()) = ComputedField(getter::get, LongValueCodec, name)
fun float(getter: Supplier<Float>, name: String = nextFieldName()) = ComputedField(getter::get, FloatValueCodec, name) @JvmOverloads fun float(getter: Supplier<Float>, name: String = nextFieldName()) = ComputedField(getter::get, FloatValueCodec, name)
fun double(getter: Supplier<Double>, name: String = nextFieldName()) = ComputedField(getter::get, DoubleValueCodec, name) @JvmOverloads fun double(getter: Supplier<Double>, name: String = nextFieldName()) = ComputedField(getter::get, DoubleValueCodec, name)
fun uuid(getter: Supplier<UUID>, name: String = nextFieldName()) = ComputedField(getter::get, UUIDValueCodec, name) @JvmOverloads fun uuid(getter: Supplier<UUID>, name: String = nextFieldName()) = ComputedField(getter::get, UUIDValueCodec, name)
fun int(getter: Supplier<Int>, name: String = nextFieldName()) = ComputedField(getter::get, VarIntValueCodec, name) @JvmOverloads fun int(getter: Supplier<Int>, name: String = nextFieldName()) = ComputedField(getter::get, VarIntValueCodec, name)
fun fixedInt(getter: Supplier<Int>, name: String = nextFieldName()) = ComputedField(getter::get, IntValueCodec, name) @JvmOverloads fun fixedInt(getter: Supplier<Int>, name: String = nextFieldName()) = ComputedField(getter::get, IntValueCodec, name)
fun fraction(getter: Supplier<Decimal>, name: String = nextFieldName()) = ComputedField(getter::get, ImpreciseFractionValueCodec, name) @JvmOverloads fun fraction(getter: Supplier<Decimal>, name: String = nextFieldName()) = ComputedField(getter::get, ImpreciseFractionValueCodec, name)
fun bigDecimal(getter: Supplier<BigDecimal>, name: String = nextFieldName()) = ComputedField(getter::get, BigDecimalValueCodec, name) @JvmOverloads fun bigDecimal(getter: Supplier<BigDecimal>, name: String = nextFieldName()) = ComputedField(getter::get, BigDecimalValueCodec, name)
fun item(getter: Supplier<ItemStack>, name: String = nextFieldName()) = ComputedField(getter::get, ItemStackValueCodec, name) @JvmOverloads fun item(getter: Supplier<ItemStack>, name: String = nextFieldName()) = ComputedField(getter::get, ItemStackValueCodec, name)
fun string(getter: Supplier<String>, name: String = nextFieldName()) = ComputedField(getter::get, BinaryStringCodec, name) @JvmOverloads fun string(getter: Supplier<String>, name: String = nextFieldName()) = ComputedField(getter::get, BinaryStringCodec, name)
fun <T : Enum<T>> enum(type: Class<T>, getter: () -> T, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(type), name) @JvmOverloads fun <T : Enum<T>> enum(type: Class<T>, getter: () -> T, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(type), name)
inline fun <reified T : Enum<T>> enum(noinline getter: () -> T, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(T::class.java), name) inline fun <reified T : Enum<T>> enum(noinline getter: () -> T, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(T::class.java), name)
fun <T : Enum<T>> enum(type: Class<T>, getter: KProperty0<T>, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(type), name) @JvmOverloads fun <T : Enum<T>> enum(type: Class<T>, getter: KProperty0<T>, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(type), name)
inline fun <reified T : Enum<T>> enum(getter: KProperty0<T>, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(T::class.java), name) inline fun <reified T : Enum<T>> enum(getter: KProperty0<T>, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(T::class.java), name)
fun <T : Enum<T>> enum(type: Class<T>, getter: Supplier<T>, name: String = nextFieldName()) = ComputedField(getter::get, EnumValueCodec(type), name) @JvmOverloads fun <T : Enum<T>> enum(type: Class<T>, getter: Supplier<T>, name: String = nextFieldName()) = ComputedField(getter::get, EnumValueCodec(type), name)
inline fun <reified T : Enum<T>> enum(getter: Supplier<T>, name: String = nextFieldName()) = ComputedField(getter::get, EnumValueCodec(T::class.java), name) inline fun <reified T : Enum<T>> enum(getter: Supplier<T>, name: String = nextFieldName()) = ComputedField(getter::get, EnumValueCodec(T::class.java), name)
@JvmOverloads
fun byte( fun byte(
value: Byte = 0, value: Byte = 0,
getter: FieldGetter<Byte>? = null, getter: FieldGetter<Byte>? = null,
@ -221,6 +222,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, ByteValueCodec, getter, setter, name = name) return Field(value, ByteValueCodec, getter, setter, name = name)
} }
@JvmOverloads
fun bool( fun bool(
value: Boolean = false, value: Boolean = false,
getter: FieldGetter<Boolean>? = null, getter: FieldGetter<Boolean>? = null,
@ -230,6 +232,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, BooleanValueCodec, getter, setter, name = name) return Field(value, BooleanValueCodec, getter, setter, name = name)
} }
@JvmOverloads
fun short( fun short(
value: Short = 0, value: Short = 0,
getter: FieldGetter<Short>? = null, getter: FieldGetter<Short>? = null,
@ -239,6 +242,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, ShortValueCodec, getter, setter, name = name) return Field(value, ShortValueCodec, getter, setter, name = name)
} }
@JvmOverloads
fun long( fun long(
value: Long = 0L, value: Long = 0L,
getter: FieldGetter<Long>? = null, getter: FieldGetter<Long>? = null,
@ -248,6 +252,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, VarLongValueCodec, getter, setter, name = name) return Field(value, VarLongValueCodec, getter, setter, name = name)
} }
@JvmOverloads
fun fixedLong( fun fixedLong(
value: Long = 0L, value: Long = 0L,
getter: FieldGetter<Long>? = null, getter: FieldGetter<Long>? = null,
@ -257,6 +262,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, LongValueCodec, getter, setter, name = name) return Field(value, LongValueCodec, getter, setter, name = name)
} }
@JvmOverloads
fun float( fun float(
value: Float = 0f, value: Float = 0f,
getter: FieldGetter<Float>? = null, getter: FieldGetter<Float>? = null,
@ -266,6 +272,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, FloatValueCodec, getter, setter, name = name) return Field(value, FloatValueCodec, getter, setter, name = name)
} }
@JvmOverloads
fun double( fun double(
value: Double = 0.0, value: Double = 0.0,
getter: FieldGetter<Double>? = null, getter: FieldGetter<Double>? = null,
@ -275,6 +282,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, DoubleValueCodec, getter, setter, name = name) return Field(value, DoubleValueCodec, getter, setter, name = name)
} }
@JvmOverloads
fun uuid( fun uuid(
value: UUID = UUID(0L, 0L), value: UUID = UUID(0L, 0L),
getter: FieldGetter<UUID>? = null, getter: FieldGetter<UUID>? = null,
@ -284,6 +292,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, UUIDValueCodec, getter, setter, name = name) return Field(value, UUIDValueCodec, getter, setter, name = name)
} }
@JvmOverloads
fun int( fun int(
value: Int = 0, value: Int = 0,
getter: FieldGetter<Int>? = null, getter: FieldGetter<Int>? = null,
@ -293,6 +302,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, VarIntValueCodec, getter, setter, name = name) return Field(value, VarIntValueCodec, getter, setter, name = name)
} }
@JvmOverloads
fun string( fun string(
value: String = "", value: String = "",
getter: FieldGetter<String>? = null, getter: FieldGetter<String>? = null,
@ -302,6 +312,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, BinaryStringCodec, getter, setter, name = name) return Field(value, BinaryStringCodec, getter, setter, name = name)
} }
@JvmOverloads
fun fixedInt( fun fixedInt(
value: Int = 0, value: Int = 0,
getter: FieldGetter<Int>? = null, getter: FieldGetter<Int>? = null,
@ -311,6 +322,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, IntValueCodec, getter, setter, name = name) return Field(value, IntValueCodec, getter, setter, name = name)
} }
@JvmOverloads
fun fraction( fun fraction(
value: Decimal = Decimal.ZERO, value: Decimal = Decimal.ZERO,
getter: FieldGetter<Decimal>? = null, getter: FieldGetter<Decimal>? = null,
@ -320,6 +332,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, ImpreciseFractionValueCodec, getter, setter, name = name) return Field(value, ImpreciseFractionValueCodec, getter, setter, name = name)
} }
@JvmOverloads
fun bigDecimal( fun bigDecimal(
value: BigDecimal = BigDecimal.ZERO, value: BigDecimal = BigDecimal.ZERO,
getter: FieldGetter<BigDecimal>? = null, getter: FieldGetter<BigDecimal>? = null,
@ -329,6 +342,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, BigDecimalValueCodec, getter, setter, name = name) return Field(value, BigDecimalValueCodec, getter, setter, name = name)
} }
@JvmOverloads
fun <T : Enum<T>> enum( fun <T : Enum<T>> enum(
type: Class<T>, type: Class<T>,
value: T = type.enumConstants[0], value: T = type.enumConstants[0],
@ -339,6 +353,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, EnumValueCodec(type), getter, setter, name = name) return Field(value, EnumValueCodec(type), getter, setter, name = name)
} }
@JvmOverloads
fun <T : Enum<T>> enum( fun <T : Enum<T>> enum(
value: T, value: T,
getter: FieldGetter<T>? = null, getter: FieldGetter<T>? = null,
@ -348,6 +363,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, EnumValueCodec(value::class.java), getter, setter, name = name) return Field(value, EnumValueCodec(value::class.java), getter, setter, name = name)
} }
@JvmOverloads
fun item( fun item(
value: ItemStack = ItemStack.EMPTY, value: ItemStack = ItemStack.EMPTY,
getter: FieldGetter<ItemStack>? = null, getter: FieldGetter<ItemStack>? = null,
@ -358,6 +374,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return Field(value, ItemStackValueCodec, getter, setter, isObserver = observe, name = name) return Field(value, ItemStackValueCodec, getter, setter, isObserver = observe, name = name)
} }
@JvmOverloads
fun item( fun item(
delegate: KMutableProperty0<ItemStack>, delegate: KMutableProperty0<ItemStack>,
name: String = nextFieldName(), name: String = nextFieldName(),
@ -365,6 +382,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa
return ObservedField(delegate, ItemStackValueCodec, name = name) return ObservedField(delegate, ItemStackValueCodec, name = name)
} }
@JvmOverloads
fun <K, V> map( fun <K, V> map(
keyCodec: IStreamCodec<K>, keyCodec: IStreamCodec<K>,
valueCodec: IStreamCodec<V>, valueCodec: IStreamCodec<V>,