From b0af2581ae32112eac5f735eaaaccd510d4cbab6 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 7 Sep 2016 12:09:32 +0300 Subject: [PATCH] Drop unused get/set implementations from PropertyReference runtime classes They are overridden in all subclasses anyway: either in the corresponding (Mutable)PropertyReferenceNImpl class, or in the anonymous class for a reference, generated by the compiler. --- .../jvm/internal/MutablePropertyReference0.java | 12 +----------- .../jvm/internal/MutablePropertyReference1.java | 12 +----------- .../jvm/internal/MutablePropertyReference2.java | 12 +----------- .../src/kotlin/jvm/internal/PropertyReference0.java | 7 +------ .../src/kotlin/jvm/internal/PropertyReference1.java | 7 +------ .../src/kotlin/jvm/internal/PropertyReference2.java | 7 +------ 6 files changed, 6 insertions(+), 51 deletions(-) diff --git a/core/runtime.jvm/src/kotlin/jvm/internal/MutablePropertyReference0.java b/core/runtime.jvm/src/kotlin/jvm/internal/MutablePropertyReference0.java index 8024437d83e..51f6b5bdffd 100644 --- a/core/runtime.jvm/src/kotlin/jvm/internal/MutablePropertyReference0.java +++ b/core/runtime.jvm/src/kotlin/jvm/internal/MutablePropertyReference0.java @@ -20,22 +20,12 @@ import kotlin.reflect.KCallable; import kotlin.reflect.KMutableProperty0; import kotlin.reflect.KProperty0; -public class MutablePropertyReference0 extends MutablePropertyReference implements KMutableProperty0 { +public abstract class MutablePropertyReference0 extends MutablePropertyReference implements KMutableProperty0 { @Override protected KCallable computeReflected() { return Reflection.mutableProperty0(this); } - @Override - public Object get() { - return ((KMutableProperty0) getReflected()).get(); - } - - @Override - public void set(Object value) { - ((KMutableProperty0) getReflected()).set(value); - } - @Override public Object invoke() { return get(); diff --git a/core/runtime.jvm/src/kotlin/jvm/internal/MutablePropertyReference1.java b/core/runtime.jvm/src/kotlin/jvm/internal/MutablePropertyReference1.java index 53240f9d944..876a1f2addf 100644 --- a/core/runtime.jvm/src/kotlin/jvm/internal/MutablePropertyReference1.java +++ b/core/runtime.jvm/src/kotlin/jvm/internal/MutablePropertyReference1.java @@ -20,22 +20,12 @@ import kotlin.reflect.KCallable; import kotlin.reflect.KMutableProperty1; import kotlin.reflect.KProperty1; -public class MutablePropertyReference1 extends MutablePropertyReference implements KMutableProperty1 { +public abstract class MutablePropertyReference1 extends MutablePropertyReference implements KMutableProperty1 { @Override protected KCallable computeReflected() { return Reflection.mutableProperty1(this); } - @Override - public Object get(Object receiver) { - return ((KMutableProperty1) getReflected()).get(receiver); - } - - @Override - public void set(Object receiver, Object value) { - ((KMutableProperty1) getReflected()).set(receiver, value); - } - @Override public Object invoke(Object receiver) { return get(receiver); diff --git a/core/runtime.jvm/src/kotlin/jvm/internal/MutablePropertyReference2.java b/core/runtime.jvm/src/kotlin/jvm/internal/MutablePropertyReference2.java index 4faf79af25b..84fe9fe7a31 100644 --- a/core/runtime.jvm/src/kotlin/jvm/internal/MutablePropertyReference2.java +++ b/core/runtime.jvm/src/kotlin/jvm/internal/MutablePropertyReference2.java @@ -20,22 +20,12 @@ import kotlin.reflect.KCallable; import kotlin.reflect.KMutableProperty2; import kotlin.reflect.KProperty2; -public class MutablePropertyReference2 extends MutablePropertyReference implements KMutableProperty2 { +public abstract class MutablePropertyReference2 extends MutablePropertyReference implements KMutableProperty2 { @Override protected KCallable computeReflected() { return Reflection.mutableProperty2(this); } - @Override - public Object get(Object receiver1, Object receiver2) { - return ((KMutableProperty2) getReflected()).get(receiver1, receiver2); - } - - @Override - public void set(Object receiver1, Object receiver2, Object value) { - ((KMutableProperty2) getReflected()).set(receiver1, receiver2, value); - } - @Override public Object invoke(Object receiver1, Object receiver2) { return get(receiver1, receiver2); diff --git a/core/runtime.jvm/src/kotlin/jvm/internal/PropertyReference0.java b/core/runtime.jvm/src/kotlin/jvm/internal/PropertyReference0.java index 56f3b4c5f84..66c35048edd 100644 --- a/core/runtime.jvm/src/kotlin/jvm/internal/PropertyReference0.java +++ b/core/runtime.jvm/src/kotlin/jvm/internal/PropertyReference0.java @@ -19,17 +19,12 @@ package kotlin.jvm.internal; import kotlin.reflect.KCallable; import kotlin.reflect.KProperty0; -public class PropertyReference0 extends PropertyReference implements KProperty0 { +public abstract class PropertyReference0 extends PropertyReference implements KProperty0 { @Override protected KCallable computeReflected() { return Reflection.property0(this); } - @Override - public Object get() { - return ((KProperty0) getReflected()).get(); - } - @Override public Object invoke() { return get(); diff --git a/core/runtime.jvm/src/kotlin/jvm/internal/PropertyReference1.java b/core/runtime.jvm/src/kotlin/jvm/internal/PropertyReference1.java index ebdc8c6e03e..8e7aeb597b0 100644 --- a/core/runtime.jvm/src/kotlin/jvm/internal/PropertyReference1.java +++ b/core/runtime.jvm/src/kotlin/jvm/internal/PropertyReference1.java @@ -19,17 +19,12 @@ package kotlin.jvm.internal; import kotlin.reflect.KCallable; import kotlin.reflect.KProperty1; -public class PropertyReference1 extends PropertyReference implements KProperty1 { +public abstract class PropertyReference1 extends PropertyReference implements KProperty1 { @Override protected KCallable computeReflected() { return Reflection.property1(this); } - @Override - public Object get(Object receiver) { - return ((KProperty1) getReflected()).get(receiver); - } - @Override public Object invoke(Object receiver) { return get(receiver); diff --git a/core/runtime.jvm/src/kotlin/jvm/internal/PropertyReference2.java b/core/runtime.jvm/src/kotlin/jvm/internal/PropertyReference2.java index 8fad86a3fc2..a2845cc19b0 100644 --- a/core/runtime.jvm/src/kotlin/jvm/internal/PropertyReference2.java +++ b/core/runtime.jvm/src/kotlin/jvm/internal/PropertyReference2.java @@ -19,17 +19,12 @@ package kotlin.jvm.internal; import kotlin.reflect.KCallable; import kotlin.reflect.KProperty2; -public class PropertyReference2 extends PropertyReference implements KProperty2 { +public abstract class PropertyReference2 extends PropertyReference implements KProperty2 { @Override protected KCallable computeReflected() { return Reflection.property2(this); } - @Override - public Object get(Object receiver1, Object receiver2) { - return ((KProperty2) getReflected()).get(receiver1, receiver2); - } - @Override public Object invoke(Object receiver1, Object receiver2) { return get(receiver1, receiver2);