From 4b9fc97b7cd2f825372b6fdc764ceb46d7a7bca2 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sun, 29 Jan 2023 22:19:51 +0700 Subject: [PATCH] Mark field creation methods as jvm overloads --- .../mc/otm/network/FieldSynchronizer.kt | 108 ++++++++++-------- 1 file changed, 63 insertions(+), 45 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/network/FieldSynchronizer.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/network/FieldSynchronizer.kt index e20ba3937..3d2187b5d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/network/FieldSynchronizer.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/network/FieldSynchronizer.kt @@ -158,60 +158,61 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa hasChanges = false } - fun byte(getter: () -> Byte, name: String = nextFieldName()) = ComputedField(getter, ByteValueCodec, name) - fun bool(getter: () -> Boolean, name: String = nextFieldName()) = ComputedField(getter, BooleanValueCodec, name) - fun short(getter: () -> Short, name: String = nextFieldName()) = ComputedField(getter, ShortValueCodec, name) - fun long(getter: () -> Long, name: String = nextFieldName()) = ComputedField(getter, VarLongValueCodec, name) - fun fixedLong(getter: () -> Long, name: String = nextFieldName()) = ComputedField(getter, LongValueCodec, name) - fun float(getter: () -> Float, name: String = nextFieldName()) = ComputedField(getter, FloatValueCodec, name) - fun double(getter: () -> Double, name: String = nextFieldName()) = ComputedField(getter, DoubleValueCodec, name) - fun uuid(getter: () -> UUID, name: String = nextFieldName()) = ComputedField(getter, UUIDValueCodec, name) - fun int(getter: () -> Int, name: String = nextFieldName()) = ComputedField(getter, VarIntValueCodec, name) - fun fixedInt(getter: () -> Int, name: String = nextFieldName()) = ComputedField(getter, IntValueCodec, name) - fun fraction(getter: () -> Decimal, name: String = nextFieldName()) = ComputedField(getter, ImpreciseFractionValueCodec, name) - fun bigDecimal(getter: () -> BigDecimal, name: String = nextFieldName()) = ComputedField(getter, BigDecimalValueCodec, name) - fun item(getter: () -> ItemStack, name: String = nextFieldName()) = ComputedField(getter, ItemStackValueCodec, name) - fun string(getter: () -> String, name: String = nextFieldName()) = ComputedField(getter, BinaryStringCodec, name) + @JvmOverloads fun byte(getter: () -> Byte, name: String = nextFieldName()) = ComputedField(getter, ByteValueCodec, name) + @JvmOverloads fun bool(getter: () -> Boolean, name: String = nextFieldName()) = ComputedField(getter, BooleanValueCodec, name) + @JvmOverloads fun short(getter: () -> Short, name: String = nextFieldName()) = ComputedField(getter, ShortValueCodec, name) + @JvmOverloads fun long(getter: () -> Long, name: String = nextFieldName()) = ComputedField(getter, VarLongValueCodec, name) + @JvmOverloads fun fixedLong(getter: () -> Long, name: String = nextFieldName()) = ComputedField(getter, LongValueCodec, name) + @JvmOverloads fun float(getter: () -> Float, name: String = nextFieldName()) = ComputedField(getter, FloatValueCodec, name) + @JvmOverloads fun double(getter: () -> Double, name: String = nextFieldName()) = ComputedField(getter, DoubleValueCodec, name) + @JvmOverloads fun uuid(getter: () -> UUID, name: String = nextFieldName()) = ComputedField(getter, UUIDValueCodec, name) + @JvmOverloads fun int(getter: () -> Int, name: String = nextFieldName()) = ComputedField(getter, VarIntValueCodec, name) + @JvmOverloads fun fixedInt(getter: () -> Int, name: String = nextFieldName()) = ComputedField(getter, IntValueCodec, name) + @JvmOverloads fun fraction(getter: () -> Decimal, name: String = nextFieldName()) = ComputedField(getter, ImpreciseFractionValueCodec, name) + @JvmOverloads fun bigDecimal(getter: () -> BigDecimal, name: String = nextFieldName()) = ComputedField(getter, BigDecimalValueCodec, name) + @JvmOverloads fun item(getter: () -> ItemStack, name: String = nextFieldName()) = ComputedField(getter, ItemStackValueCodec, name) + @JvmOverloads fun string(getter: () -> String, name: String = nextFieldName()) = ComputedField(getter, BinaryStringCodec, name) - fun byte(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, ByteValueCodec, name) - fun bool(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, BooleanValueCodec, name) - fun short(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, ShortValueCodec, name) - fun long(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, VarLongValueCodec, name) - fun fixedLong(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, LongValueCodec, name) - fun float(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, FloatValueCodec, name) - fun double(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, DoubleValueCodec, name) - fun uuid(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, UUIDValueCodec, name) - fun int(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, VarIntValueCodec, name) - fun fixedInt(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, IntValueCodec, name) - fun fraction(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, ImpreciseFractionValueCodec, name) - fun bigDecimal(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, BigDecimalValueCodec, name) - fun item(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, ItemStackValueCodec, name) - fun string(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, BinaryStringCodec, name) + @JvmOverloads fun byte(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, ByteValueCodec, name) + @JvmOverloads fun bool(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, BooleanValueCodec, name) + @JvmOverloads fun short(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, ShortValueCodec, name) + @JvmOverloads fun long(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, VarLongValueCodec, name) + @JvmOverloads fun fixedLong(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, LongValueCodec, name) + @JvmOverloads fun float(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, FloatValueCodec, name) + @JvmOverloads fun double(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, DoubleValueCodec, name) + @JvmOverloads fun uuid(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, UUIDValueCodec, name) + @JvmOverloads fun int(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, VarIntValueCodec, name) + @JvmOverloads fun fixedInt(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, IntValueCodec, name) + @JvmOverloads fun fraction(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, ImpreciseFractionValueCodec, name) + @JvmOverloads fun bigDecimal(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, BigDecimalValueCodec, name) + @JvmOverloads fun item(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, ItemStackValueCodec, name) + @JvmOverloads fun string(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, BinaryStringCodec, name) - fun byte(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, ByteValueCodec, name) - fun bool(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, BooleanValueCodec, name) - fun short(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, ShortValueCodec, name) - fun long(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, VarLongValueCodec, name) - fun fixedLong(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, LongValueCodec, name) - fun float(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, FloatValueCodec, name) - fun double(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, DoubleValueCodec, name) - fun uuid(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, UUIDValueCodec, name) - fun int(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, VarIntValueCodec, name) - fun fixedInt(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, IntValueCodec, name) - fun fraction(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, ImpreciseFractionValueCodec, name) - fun bigDecimal(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, BigDecimalValueCodec, name) - fun item(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, ItemStackValueCodec, name) - fun string(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, BinaryStringCodec, name) + @JvmOverloads fun byte(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, ByteValueCodec, name) + @JvmOverloads fun bool(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, BooleanValueCodec, name) + @JvmOverloads fun short(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, ShortValueCodec, name) + @JvmOverloads fun long(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, VarLongValueCodec, name) + @JvmOverloads fun fixedLong(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, LongValueCodec, name) + @JvmOverloads fun float(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, FloatValueCodec, name) + @JvmOverloads fun double(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, DoubleValueCodec, name) + @JvmOverloads fun uuid(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, UUIDValueCodec, name) + @JvmOverloads fun int(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, VarIntValueCodec, name) + @JvmOverloads fun fixedInt(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, IntValueCodec, name) + @JvmOverloads fun fraction(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, ImpreciseFractionValueCodec, name) + @JvmOverloads fun bigDecimal(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, BigDecimalValueCodec, name) + @JvmOverloads fun item(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, ItemStackValueCodec, name) + @JvmOverloads fun string(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, BinaryStringCodec, name) - fun > enum(type: Class, getter: () -> T, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(type), name) + @JvmOverloads fun > enum(type: Class, getter: () -> T, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(type), name) inline fun > enum(noinline getter: () -> T, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(T::class.java), name) - fun > enum(type: Class, getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(type), name) + @JvmOverloads fun > enum(type: Class, getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(type), name) inline fun > enum(getter: KProperty0, name: String = nextFieldName()) = ComputedField(getter, EnumValueCodec(T::class.java), name) - fun > enum(type: Class, getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, EnumValueCodec(type), name) + @JvmOverloads fun > enum(type: Class, getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, EnumValueCodec(type), name) inline fun > enum(getter: Supplier, name: String = nextFieldName()) = ComputedField(getter::get, EnumValueCodec(T::class.java), name) + @JvmOverloads fun byte( value: Byte = 0, getter: FieldGetter? = null, @@ -221,6 +222,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, ByteValueCodec, getter, setter, name = name) } + @JvmOverloads fun bool( value: Boolean = false, getter: FieldGetter? = null, @@ -230,6 +232,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, BooleanValueCodec, getter, setter, name = name) } + @JvmOverloads fun short( value: Short = 0, getter: FieldGetter? = null, @@ -239,6 +242,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, ShortValueCodec, getter, setter, name = name) } + @JvmOverloads fun long( value: Long = 0L, getter: FieldGetter? = null, @@ -248,6 +252,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, VarLongValueCodec, getter, setter, name = name) } + @JvmOverloads fun fixedLong( value: Long = 0L, getter: FieldGetter? = null, @@ -257,6 +262,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, LongValueCodec, getter, setter, name = name) } + @JvmOverloads fun float( value: Float = 0f, getter: FieldGetter? = null, @@ -266,6 +272,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, FloatValueCodec, getter, setter, name = name) } + @JvmOverloads fun double( value: Double = 0.0, getter: FieldGetter? = null, @@ -275,6 +282,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, DoubleValueCodec, getter, setter, name = name) } + @JvmOverloads fun uuid( value: UUID = UUID(0L, 0L), getter: FieldGetter? = null, @@ -284,6 +292,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, UUIDValueCodec, getter, setter, name = name) } + @JvmOverloads fun int( value: Int = 0, getter: FieldGetter? = null, @@ -293,6 +302,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, VarIntValueCodec, getter, setter, name = name) } + @JvmOverloads fun string( value: String = "", getter: FieldGetter? = null, @@ -302,6 +312,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, BinaryStringCodec, getter, setter, name = name) } + @JvmOverloads fun fixedInt( value: Int = 0, getter: FieldGetter? = null, @@ -311,6 +322,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, IntValueCodec, getter, setter, name = name) } + @JvmOverloads fun fraction( value: Decimal = Decimal.ZERO, getter: FieldGetter? = null, @@ -320,6 +332,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, ImpreciseFractionValueCodec, getter, setter, name = name) } + @JvmOverloads fun bigDecimal( value: BigDecimal = BigDecimal.ZERO, getter: FieldGetter? = null, @@ -329,6 +342,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, BigDecimalValueCodec, getter, setter, name = name) } + @JvmOverloads fun > enum( type: Class, 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) } + @JvmOverloads fun > enum( value: T, getter: FieldGetter? = 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) } + @JvmOverloads fun item( value: ItemStack = ItemStack.EMPTY, getter: FieldGetter? = null, @@ -358,6 +374,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return Field(value, ItemStackValueCodec, getter, setter, isObserver = observe, name = name) } + @JvmOverloads fun item( delegate: KMutableProperty0, name: String = nextFieldName(), @@ -365,6 +382,7 @@ class FieldSynchronizer(private val callback: Runnable, private val alwaysCallCa return ObservedField(delegate, ItemStackValueCodec, name = name) } + @JvmOverloads fun map( keyCodec: IStreamCodec, valueCodec: IStreamCodec,