From 51bf68ce2736a994564237ca24c1db083db5a8c5 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 13 Oct 2015 14:02:29 +0300 Subject: [PATCH] Update compiler tests to use KProperty instead of PropertyMetadata --- .../properties/DelegatedProperty.instructions | 14 +++++++------- .../properties/DelegatedProperty.kt | 6 ++++-- .../properties/DelegatedProperty.values | 10 +++++----- ...accessTopLevelDelegatedPropertyInClinit.kt | 4 +++- .../capturePropertyInClosure.kt | 8 +++++--- .../delegatedProperty/castGetReturnType.kt | 4 +++- .../box/delegatedProperty/castSetParameter.kt | 6 ++++-- .../box/delegatedProperty/defaultArgs.kt | 4 +++- .../delegatedProperty/delegateAsInnerClass.kt | 6 ++++-- .../delegateByOtherProperty.kt | 6 ++++-- .../delegateByTopLevelFun.kt | 6 ++++-- .../delegateByTopLevelProperty.kt | 6 ++++-- .../delegateForExtProperty.kt | 4 +++- .../delegateForExtPropertyInClass.kt | 6 ++++-- .../box/delegatedProperty/genericDelegate.kt | 6 ++++-- .../delegatedProperty/getAsExtensionFun.kt | 4 +++- .../getAsExtensionFunInClass.kt | 4 +++- .../box/delegatedProperty/inClassVal.kt | 4 +++- .../box/delegatedProperty/inClassVar.kt | 7 ++++--- .../codegen/box/delegatedProperty/inTrait.kt | 4 +++- .../delegatedProperty/inferredPropertyType.kt | 6 ++++-- .../codegen/box/delegatedProperty/kt4138.kt | 8 +++++--- .../box/delegatedProperty/privateVar.kt | 8 +++++--- .../propertyMetadataShouldBeCached.kt | 19 ++++++++++--------- .../delegatedProperty/setAsExtensionFun.kt | 6 ++++-- .../setAsExtensionFunInClass.kt | 6 ++++-- .../box/delegatedProperty/topLevelVal.kt | 4 +++- .../box/delegatedProperty/topLevelVar.kt | 6 ++++-- .../delegatedProperty/twoPropByOneDelegete.kt | 4 +++- .../box/delegatedProperty/valInInnerClass.kt | 4 +++- .../box/delegatedProperty/varInInnerClass.kt | 6 ++++-- .../codegen/box/delegatedProperty/vararg.kt | 4 +++- .../codegen/box/fieldRename/delegates.kt | 6 ++++-- .../testData/codegen/box/properties/kt4383.kt | 4 +++- .../primitiveOverrideDelegateAccessor.kt | 6 ++++-- .../codegen/box/typeMapping/kt3863.kt | 8 +++++--- .../codegen/box/typeMapping/kt3976.kt | 6 ++++-- .../annotations/delegatedPropertySetter.kt | 6 ++++-- .../callableReference/property/delegated.kt | 4 +++- .../property/delegatedMutable.kt | 6 ++++-- .../property/genericProperty.kt | 3 ++- .../boxWithStdlib/reified/DIExample.kt | 3 ++- .../privateClassPropertyAccessors.kt | 6 ++++-- .../classMembers/DelegatedProperty.kt | 4 +++- .../packageMembers/DelegatedProperty.kt | 4 +++- .../compiledKotlin/prop/VarWithDelegated.kt | 8 +++++--- .../compiledKotlin/prop/VarWithDelegated.txt | 4 ++-- .../visibility/privateSet.kt | 6 ++++-- .../class/delegatedProtectedVar.kt | 6 ++++-- .../classObject/class/delegatedPublicVal.kt | 4 +++- .../rename/delegatedAndDelegated.kt | 8 +++++--- .../rename/delegatedAndProperty.kt | 6 ++++-- .../trait/delegatedProtectedVar.kt | 8 +++++--- .../classObject/trait/delegatedPublicVal.kt | 6 ++++-- .../property/cases/delegated.kt | 4 +++- .../property/cases/delegatedMutable.kt | 6 ++++-- .../cases/delegateByExtensionProperty.kt | 8 +++++--- .../cases/delegateByTopLevelFun.kt | 6 ++++-- .../cases/delegateByTopLevelProperty.kt | 6 ++++-- .../cases/delegateWithPropertyAccess.kt | 6 ++++-- .../cases/getAsExtensionFun.kt | 4 +++- .../cases/propertyMetadata.kt | 6 ++++-- .../cases/setAsExtensionFun.kt | 6 ++++-- .../testData/delegateProperty/cases/simple.kt | 6 ++++-- .../delegateProperty/cases/topLevelVal.kt | 4 +++- .../delegateProperty/cases/topLevelVar.kt | 6 ++++-- .../delegateProperty/cases/withGenerics.kt | 6 ++++-- .../delegationExtensionPropertyDelegated.kt | 8 +++++--- 68 files changed, 265 insertions(+), 139 deletions(-) diff --git a/compiler/testData/cfg/declarations/properties/DelegatedProperty.instructions b/compiler/testData/cfg/declarations/properties/DelegatedProperty.instructions index e34e33a765f..e2748bdd5c4 100644 --- a/compiler/testData/cfg/declarations/properties/DelegatedProperty.instructions +++ b/compiler/testData/cfg/declarations/properties/DelegatedProperty.instructions @@ -1,6 +1,6 @@ == Delegate == class Delegate { - fun getValue(_this: Nothing?, p: PropertyMetadata): Int = 0 + fun getValue(_this: Nothing?, p: KProperty<*>): Int = 0 } --------------------- L0: @@ -13,24 +13,24 @@ sink: PREV:[, ] ===================== == getValue == -fun getValue(_this: Nothing?, p: PropertyMetadata): Int = 0 +fun getValue(_this: Nothing?, p: KProperty<*>): Int = 0 --------------------- L0: 1 v(_this: Nothing?) magic[FAKE_INITIALIZER](_this: Nothing?) -> w(_this|) - v(p: PropertyMetadata) - magic[FAKE_INITIALIZER](p: PropertyMetadata) -> + v(p: KProperty<*>) + magic[FAKE_INITIALIZER](p: KProperty<*>) -> w(p|) r(0) -> ret(*|) L1 L1: - NEXT:[] + NEXT:[] error: - PREV:[] + PREV:[] sink: - PREV:[, ] + PREV:[, ] ===================== == a == val a = Delegate() diff --git a/compiler/testData/cfg/declarations/properties/DelegatedProperty.kt b/compiler/testData/cfg/declarations/properties/DelegatedProperty.kt index 4976c20b35b..cec585d2a5e 100644 --- a/compiler/testData/cfg/declarations/properties/DelegatedProperty.kt +++ b/compiler/testData/cfg/declarations/properties/DelegatedProperty.kt @@ -1,7 +1,9 @@ +import kotlin.reflect.KProperty + class Delegate { - fun getValue(_this: Nothing?, p: PropertyMetadata): Int = 0 + fun getValue(_this: Nothing?, p: KProperty<*>): Int = 0 } val a = Delegate() -val b by a \ No newline at end of file +val b by a diff --git a/compiler/testData/cfg/declarations/properties/DelegatedProperty.values b/compiler/testData/cfg/declarations/properties/DelegatedProperty.values index 5dc0cc807d6..52a4952622b 100644 --- a/compiler/testData/cfg/declarations/properties/DelegatedProperty.values +++ b/compiler/testData/cfg/declarations/properties/DelegatedProperty.values @@ -1,15 +1,15 @@ == Delegate == class Delegate { - fun getValue(_this: Nothing?, p: PropertyMetadata): Int = 0 + fun getValue(_this: Nothing?, p: KProperty<*>): Int = 0 } --------------------- ===================== == getValue == -fun getValue(_this: Nothing?, p: PropertyMetadata): Int = 0 +fun getValue(_this: Nothing?, p: KProperty<*>): Int = 0 --------------------- - : {<: Nothing?} NEW: magic[FAKE_INITIALIZER](_this: Nothing?) -> - : {<: PropertyMetadata} NEW: magic[FAKE_INITIALIZER](p: PropertyMetadata) -> -0 : Int NEW: r(0) -> + : {<: Nothing?} NEW: magic[FAKE_INITIALIZER](_this: Nothing?) -> + : {<: KProperty<*>} NEW: magic[FAKE_INITIALIZER](p: KProperty<*>) -> +0 : Int NEW: r(0) -> ===================== == a == val a = Delegate() diff --git a/compiler/testData/codegen/box/delegatedProperty/accessTopLevelDelegatedPropertyInClinit.kt b/compiler/testData/codegen/box/delegatedProperty/accessTopLevelDelegatedPropertyInClinit.kt index e41350a0c34..60f3eb0b05f 100644 --- a/compiler/testData/codegen/box/delegatedProperty/accessTopLevelDelegatedPropertyInClinit.kt +++ b/compiler/testData/codegen/box/delegatedProperty/accessTopLevelDelegatedPropertyInClinit.kt @@ -1,7 +1,9 @@ +import kotlin.reflect.KProperty + // KT-5612 class Delegate { - public fun getValue(thisRef: Any?, prop: PropertyMetadata): String { + public fun getValue(thisRef: Any?, prop: KProperty<*>): String { return "OK" } } diff --git a/compiler/testData/codegen/box/delegatedProperty/capturePropertyInClosure.kt b/compiler/testData/codegen/box/delegatedProperty/capturePropertyInClosure.kt index dbbab1e0e3f..ff7b8bf939e 100644 --- a/compiler/testData/codegen/box/delegatedProperty/capturePropertyInClosure.kt +++ b/compiler/testData/codegen/box/delegatedProperty/capturePropertyInClosure.kt @@ -1,7 +1,9 @@ +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i } + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } class B { @@ -18,4 +20,4 @@ class B { fun box(): String { B().test() return "OK" -} \ No newline at end of file +} diff --git a/compiler/testData/codegen/box/delegatedProperty/castGetReturnType.kt b/compiler/testData/codegen/box/delegatedProperty/castGetReturnType.kt index 538a63749bb..c1e78edb560 100644 --- a/compiler/testData/codegen/box/delegatedProperty/castGetReturnType.kt +++ b/compiler/testData/codegen/box/delegatedProperty/castGetReturnType.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class Delegate { - fun getValue(t: Any?, p: PropertyMetadata): Int = 1 + fun getValue(t: Any?, p: KProperty<*>): Int = 1 } class AImpl { diff --git a/compiler/testData/codegen/box/delegatedProperty/castSetParameter.kt b/compiler/testData/codegen/box/delegatedProperty/castSetParameter.kt index 022e8ec4159..93d271bd903 100644 --- a/compiler/testData/codegen/box/delegatedProperty/castSetParameter.kt +++ b/compiler/testData/codegen/box/delegatedProperty/castSetParameter.kt @@ -1,10 +1,12 @@ +import kotlin.reflect.KProperty + class Delegate { var inner = Derived() - fun getValue(t: Any?, p: PropertyMetadata): Derived { + fun getValue(t: Any?, p: KProperty<*>): Derived { inner = Derived(inner.a + "-get") return inner } - fun setValue(t: Any?, p: PropertyMetadata, i: Base) { inner = Derived(inner.a + "-" + i.a + "-set") } + fun setValue(t: Any?, p: KProperty<*>, i: Base) { inner = Derived(inner.a + "-" + i.a + "-set") } } class A { diff --git a/compiler/testData/codegen/box/delegatedProperty/defaultArgs.kt b/compiler/testData/codegen/box/delegatedProperty/defaultArgs.kt index ddde67bdd92..dd06f6bbe9a 100644 --- a/compiler/testData/codegen/box/delegatedProperty/defaultArgs.kt +++ b/compiler/testData/codegen/box/delegatedProperty/defaultArgs.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class Delegate { - fun getValue(t: Any?, p: PropertyMetadata, s: String = ""): Int = 1 + fun getValue(t: Any?, p: KProperty<*>, s: String = ""): Int = 1 } val prop: Int by Delegate() diff --git a/compiler/testData/codegen/box/delegatedProperty/delegateAsInnerClass.kt b/compiler/testData/codegen/box/delegatedProperty/delegateAsInnerClass.kt index b7d9b13be59..20e0e2ac60e 100644 --- a/compiler/testData/codegen/box/delegatedProperty/delegateAsInnerClass.kt +++ b/compiler/testData/codegen/box/delegatedProperty/delegateAsInnerClass.kt @@ -1,10 +1,12 @@ +import kotlin.reflect.KProperty + class A { var prop: Int by Delegate() class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i } + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } } diff --git a/compiler/testData/codegen/box/delegatedProperty/delegateByOtherProperty.kt b/compiler/testData/codegen/box/delegatedProperty/delegateByOtherProperty.kt index 8dcfdaad66f..c974b3957fa 100644 --- a/compiler/testData/codegen/box/delegatedProperty/delegateByOtherProperty.kt +++ b/compiler/testData/codegen/box/delegatedProperty/delegateByOtherProperty.kt @@ -1,7 +1,9 @@ +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i } + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } class A { diff --git a/compiler/testData/codegen/box/delegatedProperty/delegateByTopLevelFun.kt b/compiler/testData/codegen/box/delegatedProperty/delegateByTopLevelFun.kt index a6640b22522..b113719bf59 100644 --- a/compiler/testData/codegen/box/delegatedProperty/delegateByTopLevelFun.kt +++ b/compiler/testData/codegen/box/delegatedProperty/delegateByTopLevelFun.kt @@ -1,7 +1,9 @@ +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i } + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } fun foo() = Delegate() diff --git a/compiler/testData/codegen/box/delegatedProperty/delegateByTopLevelProperty.kt b/compiler/testData/codegen/box/delegatedProperty/delegateByTopLevelProperty.kt index f44b1d4efc2..bd498bbe028 100644 --- a/compiler/testData/codegen/box/delegatedProperty/delegateByTopLevelProperty.kt +++ b/compiler/testData/codegen/box/delegatedProperty/delegateByTopLevelProperty.kt @@ -1,7 +1,9 @@ +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i } + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } val p = Delegate() diff --git a/compiler/testData/codegen/box/delegatedProperty/delegateForExtProperty.kt b/compiler/testData/codegen/box/delegatedProperty/delegateForExtProperty.kt index 41add8830e3..80265c007d1 100644 --- a/compiler/testData/codegen/box/delegatedProperty/delegateForExtProperty.kt +++ b/compiler/testData/codegen/box/delegatedProperty/delegateForExtProperty.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class Delegate { - fun getValue(t: A, p: PropertyMetadata): Int = 1 + fun getValue(t: A, p: KProperty<*>): Int = 1 } val A.prop: Int by Delegate() diff --git a/compiler/testData/codegen/box/delegatedProperty/delegateForExtPropertyInClass.kt b/compiler/testData/codegen/box/delegatedProperty/delegateForExtPropertyInClass.kt index f07fa201b3f..0ef38849d9d 100644 --- a/compiler/testData/codegen/box/delegatedProperty/delegateForExtPropertyInClass.kt +++ b/compiler/testData/codegen/box/delegatedProperty/delegateForExtPropertyInClass.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class Delegate { - fun getValue(t: F.A, p: PropertyMetadata): Int = 1 + fun getValue(t: F.A, p: KProperty<*>): Int = 1 } class F { @@ -15,4 +17,4 @@ class F { fun box(): String { return if(F().foo() == 1) "OK" else "fail" -} \ No newline at end of file +} diff --git a/compiler/testData/codegen/box/delegatedProperty/genericDelegate.kt b/compiler/testData/codegen/box/delegatedProperty/genericDelegate.kt index 871486f5303..50955394f65 100644 --- a/compiler/testData/codegen/box/delegatedProperty/genericDelegate.kt +++ b/compiler/testData/codegen/box/delegatedProperty/genericDelegate.kt @@ -1,6 +1,8 @@ +import kotlin.reflect.KProperty + class Delegate(var inner: T) { - fun getValue(t: Any?, p: PropertyMetadata): T = inner - fun setValue(t: Any?, p: PropertyMetadata, i: T) { inner = i } + fun getValue(t: Any?, p: KProperty<*>): T = inner + fun setValue(t: Any?, p: KProperty<*>, i: T) { inner = i } } class A { diff --git a/compiler/testData/codegen/box/delegatedProperty/getAsExtensionFun.kt b/compiler/testData/codegen/box/delegatedProperty/getAsExtensionFun.kt index 473aa27d088..08d2ac986c8 100644 --- a/compiler/testData/codegen/box/delegatedProperty/getAsExtensionFun.kt +++ b/compiler/testData/codegen/box/delegatedProperty/getAsExtensionFun.kt @@ -1,7 +1,9 @@ +import kotlin.reflect.KProperty + class Delegate { } -fun Delegate.getValue(t: Any?, p: PropertyMetadata): Int = 1 +fun Delegate.getValue(t: Any?, p: KProperty<*>): Int = 1 class A { val prop: Int by Delegate() diff --git a/compiler/testData/codegen/box/delegatedProperty/getAsExtensionFunInClass.kt b/compiler/testData/codegen/box/delegatedProperty/getAsExtensionFunInClass.kt index 018999efe91..2d714cede7d 100644 --- a/compiler/testData/codegen/box/delegatedProperty/getAsExtensionFunInClass.kt +++ b/compiler/testData/codegen/box/delegatedProperty/getAsExtensionFunInClass.kt @@ -1,8 +1,10 @@ +import kotlin.reflect.KProperty + class Delegate { } class A { - fun Delegate.getValue(t: Any?, p: PropertyMetadata): Int = 1 + fun Delegate.getValue(t: Any?, p: KProperty<*>): Int = 1 val prop: Int by Delegate() } diff --git a/compiler/testData/codegen/box/delegatedProperty/inClassVal.kt b/compiler/testData/codegen/box/delegatedProperty/inClassVal.kt index a5c9c8d22fc..44d732f474f 100644 --- a/compiler/testData/codegen/box/delegatedProperty/inClassVal.kt +++ b/compiler/testData/codegen/box/delegatedProperty/inClassVal.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class Delegate { - fun getValue(t: Any?, p: PropertyMetadata): Int = 1 + fun getValue(t: Any?, p: KProperty<*>): Int = 1 } class A { diff --git a/compiler/testData/codegen/box/delegatedProperty/inClassVar.kt b/compiler/testData/codegen/box/delegatedProperty/inClassVar.kt index 9df93c6e278..48010fd7329 100644 --- a/compiler/testData/codegen/box/delegatedProperty/inClassVar.kt +++ b/compiler/testData/codegen/box/delegatedProperty/inClassVar.kt @@ -1,7 +1,9 @@ +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i } + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } class A { @@ -15,4 +17,3 @@ fun box(): String { if (c.prop != 2) return "fail set" return "OK" } - diff --git a/compiler/testData/codegen/box/delegatedProperty/inTrait.kt b/compiler/testData/codegen/box/delegatedProperty/inTrait.kt index 10b0915b1c1..58787c02eff 100644 --- a/compiler/testData/codegen/box/delegatedProperty/inTrait.kt +++ b/compiler/testData/codegen/box/delegatedProperty/inTrait.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class Delegate { - fun getValue(t: Any?, p: PropertyMetadata): Int = 1 + fun getValue(t: Any?, p: KProperty<*>): Int = 1 } interface A { diff --git a/compiler/testData/codegen/box/delegatedProperty/inferredPropertyType.kt b/compiler/testData/codegen/box/delegatedProperty/inferredPropertyType.kt index 1f0cf6e0498..b8842733341 100644 --- a/compiler/testData/codegen/box/delegatedProperty/inferredPropertyType.kt +++ b/compiler/testData/codegen/box/delegatedProperty/inferredPropertyType.kt @@ -1,6 +1,8 @@ +import kotlin.reflect.KProperty + class Delegate(var inner: T) { - fun getValue(t: Any?, p: PropertyMetadata): T = inner - fun setValue(t: Any?, p: PropertyMetadata, i: T) { inner = i } + fun getValue(t: Any?, p: KProperty<*>): T = inner + fun setValue(t: Any?, p: KProperty<*>, i: T) { inner = i } } class A { diff --git a/compiler/testData/codegen/box/delegatedProperty/kt4138.kt b/compiler/testData/codegen/box/delegatedProperty/kt4138.kt index 5cf5739fa77..ff13ac6ea22 100644 --- a/compiler/testData/codegen/box/delegatedProperty/kt4138.kt +++ b/compiler/testData/codegen/box/delegatedProperty/kt4138.kt @@ -1,6 +1,8 @@ +import kotlin.reflect.KProperty + class Delegate(var inner: T) { - fun getValue(t: Any?, p: PropertyMetadata): T = inner - fun setValue(t: Any?, p: PropertyMetadata, i: T) { inner = i } + fun getValue(t: Any?, p: KProperty<*>): T = inner + fun setValue(t: Any?, p: KProperty<*>, i: T) { inner = i } } @@ -32,4 +34,4 @@ fun box() : String { if (FooTrait.B.f != 12) return "fail 6" return "OK" -} \ No newline at end of file +} diff --git a/compiler/testData/codegen/box/delegatedProperty/privateVar.kt b/compiler/testData/codegen/box/delegatedProperty/privateVar.kt index 4fcdeab90e1..e9be079ae79 100644 --- a/compiler/testData/codegen/box/delegatedProperty/privateVar.kt +++ b/compiler/testData/codegen/box/delegatedProperty/privateVar.kt @@ -1,7 +1,9 @@ +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i } + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } class A { @@ -17,4 +19,4 @@ class A { fun box(): String { return A().test() -} \ No newline at end of file +} diff --git a/compiler/testData/codegen/box/delegatedProperty/propertyMetadataShouldBeCached.kt b/compiler/testData/codegen/box/delegatedProperty/propertyMetadataShouldBeCached.kt index 0d23fb5beec..478761c7b37 100644 --- a/compiler/testData/codegen/box/delegatedProperty/propertyMetadataShouldBeCached.kt +++ b/compiler/testData/codegen/box/delegatedProperty/propertyMetadataShouldBeCached.kt @@ -1,4 +1,5 @@ import java.util.IdentityHashMap +import kotlin.reflect.KProperty class A { var foo: Int by IntHandler @@ -12,23 +13,23 @@ val baz: String by StringHandler -val metadatas = IdentityHashMap() +val metadatas = IdentityHashMap, Unit>() -fun record(p: PropertyMetadata) = metadatas.put(p, Unit) +fun record(p: KProperty<*>) = metadatas.put(p, Unit) object IntHandler { - fun getValue(t: Any?, p: PropertyMetadata): Int { record(p); return 42 } - fun setValue(t: Any?, p: PropertyMetadata, value: Int) { record(p) } + fun getValue(t: Any?, p: KProperty<*>): Int { record(p); return 42 } + fun setValue(t: Any?, p: KProperty<*>, value: Int) { record(p) } } object AnyHandler { - fun getValue(t: Any?, p: PropertyMetadata): Any? { record(p); return 3.14 } - fun setValue(t: Any?, p: PropertyMetadata, value: Any?) { record(p) } + fun getValue(t: Any?, p: KProperty<*>): Any? { record(p); return 3.14 } + fun setValue(t: Any?, p: KProperty<*>, value: Any?) { record(p) } } object StringHandler { - fun getValue(t: Any?, p: PropertyMetadata): String { record(p); return p.name } - fun setValue(t: Any?, p: PropertyMetadata, value: String) { record(p) } + fun getValue(t: Any?, p: KProperty<*>): String { record(p); return p.name } + fun setValue(t: Any?, p: KProperty<*>, value: String) { record(p) } } fun box(): String { @@ -40,7 +41,7 @@ fun box(): String { baz + A.bar if (metadatas.keys.size != 3) - return "Fail: only three instances of PropertyMetadata should have been created\n${metadatas.keys}" + return "Fail: only three instances of KProperty should have been created\n${metadatas.keySet()}" return "OK" } diff --git a/compiler/testData/codegen/box/delegatedProperty/setAsExtensionFun.kt b/compiler/testData/codegen/box/delegatedProperty/setAsExtensionFun.kt index 206769601b8..33d0bbbe168 100644 --- a/compiler/testData/codegen/box/delegatedProperty/setAsExtensionFun.kt +++ b/compiler/testData/codegen/box/delegatedProperty/setAsExtensionFun.kt @@ -1,9 +1,11 @@ +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner + fun getValue(t: Any?, p: KProperty<*>): Int = inner } -fun Delegate.setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i } +fun Delegate.setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } class A { var prop: Int by Delegate() diff --git a/compiler/testData/codegen/box/delegatedProperty/setAsExtensionFunInClass.kt b/compiler/testData/codegen/box/delegatedProperty/setAsExtensionFunInClass.kt index 172c051c433..2dee3b1b6ff 100644 --- a/compiler/testData/codegen/box/delegatedProperty/setAsExtensionFunInClass.kt +++ b/compiler/testData/codegen/box/delegatedProperty/setAsExtensionFunInClass.kt @@ -1,10 +1,12 @@ +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner + fun getValue(t: Any?, p: KProperty<*>): Int = inner } class A { - fun Delegate.setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i } + fun Delegate.setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } var prop: Int by Delegate() } diff --git a/compiler/testData/codegen/box/delegatedProperty/topLevelVal.kt b/compiler/testData/codegen/box/delegatedProperty/topLevelVal.kt index 0971759657f..ee0535cb774 100644 --- a/compiler/testData/codegen/box/delegatedProperty/topLevelVal.kt +++ b/compiler/testData/codegen/box/delegatedProperty/topLevelVal.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class Delegate { - fun getValue(t: Any?, p: PropertyMetadata): Int = 1 + fun getValue(t: Any?, p: KProperty<*>): Int = 1 } val prop: Int by Delegate() diff --git a/compiler/testData/codegen/box/delegatedProperty/topLevelVar.kt b/compiler/testData/codegen/box/delegatedProperty/topLevelVar.kt index 0cf4b420aa0..e4bbea617a1 100644 --- a/compiler/testData/codegen/box/delegatedProperty/topLevelVar.kt +++ b/compiler/testData/codegen/box/delegatedProperty/topLevelVar.kt @@ -1,7 +1,9 @@ +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i } + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } var prop: Int by Delegate() diff --git a/compiler/testData/codegen/box/delegatedProperty/twoPropByOneDelegete.kt b/compiler/testData/codegen/box/delegatedProperty/twoPropByOneDelegete.kt index 9c05a46dadc..f130f96d06b 100644 --- a/compiler/testData/codegen/box/delegatedProperty/twoPropByOneDelegete.kt +++ b/compiler/testData/codegen/box/delegatedProperty/twoPropByOneDelegete.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class Delegate(val f: (T) -> Int) { - fun getValue(t: T, p: PropertyMetadata): Int = f(t) + fun getValue(t: T, p: KProperty<*>): Int = f(t) } val p = Delegate { t -> t.foo() } diff --git a/compiler/testData/codegen/box/delegatedProperty/valInInnerClass.kt b/compiler/testData/codegen/box/delegatedProperty/valInInnerClass.kt index 7ac3af2a8c8..305e9b65062 100644 --- a/compiler/testData/codegen/box/delegatedProperty/valInInnerClass.kt +++ b/compiler/testData/codegen/box/delegatedProperty/valInInnerClass.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class Delegate { - fun getValue(t: Any?, p: PropertyMetadata): Int = 1 + fun getValue(t: Any?, p: KProperty<*>): Int = 1 } class A { diff --git a/compiler/testData/codegen/box/delegatedProperty/varInInnerClass.kt b/compiler/testData/codegen/box/delegatedProperty/varInInnerClass.kt index 1f341e82267..d08f50dbdd9 100644 --- a/compiler/testData/codegen/box/delegatedProperty/varInInnerClass.kt +++ b/compiler/testData/codegen/box/delegatedProperty/varInInnerClass.kt @@ -1,7 +1,9 @@ +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { inner = i } + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } class A { diff --git a/compiler/testData/codegen/box/delegatedProperty/vararg.kt b/compiler/testData/codegen/box/delegatedProperty/vararg.kt index 9ff39c61431..70a5e39bc0c 100644 --- a/compiler/testData/codegen/box/delegatedProperty/vararg.kt +++ b/compiler/testData/codegen/box/delegatedProperty/vararg.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class Delegate { - fun getValue(t: Any?, vararg p: PropertyMetadata): Int = 1 + fun getValue(t: Any?, vararg p: KProperty<*>): Int = 1 } val prop: Int by Delegate() diff --git a/compiler/testData/codegen/box/fieldRename/delegates.kt b/compiler/testData/codegen/box/fieldRename/delegates.kt index 22c2a06b911..04b12640c14 100644 --- a/compiler/testData/codegen/box/fieldRename/delegates.kt +++ b/compiler/testData/codegen/box/fieldRename/delegates.kt @@ -1,14 +1,16 @@ +import kotlin.reflect.KProperty + public open class TestDelegate(private val initializer: () -> T) { private var value: T? = null - public open fun getValue(thisRef: Any?, desc: PropertyMetadata): T { + public open fun getValue(thisRef: Any?, desc: KProperty<*>): T { if (value == null) { value = initializer() } return value!! } - public open fun setValue(thisRef: Any?, desc: PropertyMetadata, svalue : T) { + public open fun setValue(thisRef: Any?, desc: KProperty<*>, svalue : T) { value = svalue } } diff --git a/compiler/testData/codegen/box/properties/kt4383.kt b/compiler/testData/codegen/box/properties/kt4383.kt index 62a11761550..79ed9194fb2 100644 --- a/compiler/testData/codegen/box/properties/kt4383.kt +++ b/compiler/testData/codegen/box/properties/kt4383.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class D { - fun getValue(a: Any, p: PropertyMetadata) { } + fun getValue(a: Any, p: KProperty<*>) { } } object P { diff --git a/compiler/testData/codegen/box/properties/primitiveOverrideDelegateAccessor.kt b/compiler/testData/codegen/box/properties/primitiveOverrideDelegateAccessor.kt index 400fbaaf0ab..4918ea7a8e5 100644 --- a/compiler/testData/codegen/box/properties/primitiveOverrideDelegateAccessor.kt +++ b/compiler/testData/codegen/box/properties/primitiveOverrideDelegateAccessor.kt @@ -1,6 +1,8 @@ +import kotlin.reflect.KProperty + class Holder(var value: Int) { - fun getValue(that: Any?, desc: PropertyMetadata) = value - fun setValue(that: Any?, desc: PropertyMetadata, newValue: Int) { value = newValue } + fun getValue(that: Any?, desc: KProperty<*>) = value + fun setValue(that: Any?, desc: KProperty<*>, newValue: Int) { value = newValue } } interface R> { diff --git a/compiler/testData/codegen/box/typeMapping/kt3863.kt b/compiler/testData/codegen/box/typeMapping/kt3863.kt index b0fd8df3668..a54da7eedb7 100644 --- a/compiler/testData/codegen/box/typeMapping/kt3863.kt +++ b/compiler/testData/codegen/box/typeMapping/kt3863.kt @@ -1,8 +1,10 @@ -// java.lang.VerifyError: (class: NotImplemented, method: get signature: (Ljava/lang/Object;Ljet/PropertyMetadata;)Ljava/lang/Object;) Unable to pop operand off an empty stack +import kotlin.reflect.KProperty + +// java.lang.VerifyError: (class: NotImplemented, method: get signature: (Ljava/lang/Object;Lkotlin/reflect/KProperty;)Ljava/lang/Object;) Unable to pop operand off an empty stack class NotImplemented(){ - fun getValue(thisRef: Any?, prop: PropertyMetadata): T = notImplemented() - fun setValue(thisRef: Any?, prop: PropertyMetadata, value: T) = notImplemented() + fun getValue(thisRef: Any?, prop: KProperty<*>): T = notImplemented() + fun setValue(thisRef: Any?, prop: KProperty<*>, value: T) = notImplemented() } fun notImplemented() : Nothing = notImplemented() diff --git a/compiler/testData/codegen/box/typeMapping/kt3976.kt b/compiler/testData/codegen/box/typeMapping/kt3976.kt index 93efed7f36b..4ef9e8c07d7 100644 --- a/compiler/testData/codegen/box/typeMapping/kt3976.kt +++ b/compiler/testData/codegen/box/typeMapping/kt3976.kt @@ -1,12 +1,14 @@ +import kotlin.reflect.KProperty + // java.lang.ClassNotFoundException: kotlin.Nothing var currentAccountId: Int? by SessionAccessor() class SessionAccessor { - fun getValue(o : Nothing?, desc: PropertyMetadata): T { + fun getValue(o : Nothing?, desc: KProperty<*>): T { return null as T } - fun setValue(o : Nothing?, desc: PropertyMetadata, value: T) { + fun setValue(o : Nothing?, desc: KProperty<*>, value: T) { } } diff --git a/compiler/testData/codegen/boxWithStdlib/annotations/delegatedPropertySetter.kt b/compiler/testData/codegen/boxWithStdlib/annotations/delegatedPropertySetter.kt index 04bdc21495d..a953dde912f 100644 --- a/compiler/testData/codegen/boxWithStdlib/annotations/delegatedPropertySetter.kt +++ b/compiler/testData/codegen/boxWithStdlib/annotations/delegatedPropertySetter.kt @@ -1,3 +1,5 @@ +import kotlin.reflect.KProperty + @Retention(AnnotationRetention.RUNTIME) annotation class First @@ -7,11 +9,11 @@ class MyClass() { } class Delegate { - fun getValue(t: Any?, p: PropertyMetadata): String { + fun getValue(t: Any?, p: KProperty<*>): String { return "OK" } - fun setValue(t: Any?, p: PropertyMetadata, i: String) {} + fun setValue(t: Any?, p: KProperty<*>, i: String) {} } fun box(): String { diff --git a/compiler/testData/codegen/boxWithStdlib/callableReference/property/delegated.kt b/compiler/testData/codegen/boxWithStdlib/callableReference/property/delegated.kt index 56fac3e782b..7fda779ddc0 100644 --- a/compiler/testData/codegen/boxWithStdlib/callableReference/property/delegated.kt +++ b/compiler/testData/codegen/boxWithStdlib/callableReference/property/delegated.kt @@ -1,3 +1,5 @@ +import kotlin.reflect.KProperty + val four: Int by NumberDecrypter class A { @@ -5,7 +7,7 @@ class A { } object NumberDecrypter { - fun getValue(instance: Any?, data: PropertyMetadata) = when (data.name) { + fun getValue(instance: Any?, data: KProperty<*>) = when (data.name) { "four" -> 4 "two" -> 2 else -> throw AssertionError() diff --git a/compiler/testData/codegen/boxWithStdlib/callableReference/property/delegatedMutable.kt b/compiler/testData/codegen/boxWithStdlib/callableReference/property/delegatedMutable.kt index d0570e84810..056b5bbd698 100644 --- a/compiler/testData/codegen/boxWithStdlib/callableReference/property/delegatedMutable.kt +++ b/compiler/testData/codegen/boxWithStdlib/callableReference/property/delegatedMutable.kt @@ -1,13 +1,15 @@ +import kotlin.reflect.KProperty + var result: String by Delegate object Delegate { var value = "lol" - fun getValue(instance: Any?, data: PropertyMetadata): String { + fun getValue(instance: Any?, data: KProperty<*>): String { return value } - fun setValue(instance: Any?, data: PropertyMetadata, newValue: String) { + fun setValue(instance: Any?, data: KProperty<*>, newValue: String) { value = newValue } } diff --git a/compiler/testData/codegen/boxWithStdlib/callableReference/property/genericProperty.kt b/compiler/testData/codegen/boxWithStdlib/callableReference/property/genericProperty.kt index 435ae56e151..7c33ab4dfdf 100644 --- a/compiler/testData/codegen/boxWithStdlib/callableReference/property/genericProperty.kt +++ b/compiler/testData/codegen/boxWithStdlib/callableReference/property/genericProperty.kt @@ -1,6 +1,7 @@ //For KT-6020 import kotlin.reflect.KProperty1 import kotlin.reflect.KMutableProperty1 +import kotlin.reflect.KProperty class Value(var value: T = null as T, var text: String? = null) @@ -9,7 +10,7 @@ val Value.additionalText by DVal(Value::text) //works val Value.additionalValue by DVal(Value::value) //not work class DVal>(val kmember: P) { - fun getValue(t: T, p: PropertyMetadata): R { + fun getValue(t: T, p: KProperty<*>): R { return kmember.get(t) } } diff --git a/compiler/testData/codegen/boxWithStdlib/reified/DIExample.kt b/compiler/testData/codegen/boxWithStdlib/reified/DIExample.kt index 186bb9daea5..2e3848078af 100644 --- a/compiler/testData/codegen/boxWithStdlib/reified/DIExample.kt +++ b/compiler/testData/codegen/boxWithStdlib/reified/DIExample.kt @@ -1,4 +1,5 @@ import kotlin.test.assertEquals +import kotlin.reflect.KProperty class Project { fun getInstance(cls: Class): T = @@ -9,7 +10,7 @@ class Project { } } -inline fun Project.getValue(t: Any?, p: PropertyMetadata): T = getInstance(javaClass()) +inline fun Project.getValue(t: Any?, p: KProperty<*>): T = getInstance(javaClass()) val project = Project() val x1: Int by project diff --git a/compiler/testData/codegen/properties/privateClassPropertyAccessors.kt b/compiler/testData/codegen/properties/privateClassPropertyAccessors.kt index 04a648f59bc..73d4613a022 100644 --- a/compiler/testData/codegen/properties/privateClassPropertyAccessors.kt +++ b/compiler/testData/codegen/properties/privateClassPropertyAccessors.kt @@ -1,3 +1,5 @@ +import kotlin.reflect.KProperty + class C { // All these properties should have corresponding accessors private val valWithGet: String @@ -25,7 +27,7 @@ class C { object Delegate { - fun getValue(x: C, p: PropertyMetadata) = throw AssertionError() + fun getValue(x: C, p: KProperty<*>) = throw AssertionError() - fun setValue(x: C, p: PropertyMetadata, value: Int) = throw AssertionError() + fun setValue(x: C, p: KProperty<*>, value: Int) = throw AssertionError() } diff --git a/compiler/testData/loadJava/compiledKotlin/annotations/classMembers/DelegatedProperty.kt b/compiler/testData/loadJava/compiledKotlin/annotations/classMembers/DelegatedProperty.kt index 6aa2858964b..27d124fb4f3 100644 --- a/compiler/testData/loadJava/compiledKotlin/annotations/classMembers/DelegatedProperty.kt +++ b/compiler/testData/loadJava/compiledKotlin/annotations/classMembers/DelegatedProperty.kt @@ -1,9 +1,11 @@ package test +import kotlin.reflect.KProperty + annotation class Anno class Class { @Anno val x: Int by object { - fun getValue(thiz: Class, data: PropertyMetadata) = null!! + fun getValue(thiz: Class, data: KProperty<*>) = null!! } } diff --git a/compiler/testData/loadJava/compiledKotlin/annotations/packageMembers/DelegatedProperty.kt b/compiler/testData/loadJava/compiledKotlin/annotations/packageMembers/DelegatedProperty.kt index a5a05d6e10c..32944f1998e 100644 --- a/compiler/testData/loadJava/compiledKotlin/annotations/packageMembers/DelegatedProperty.kt +++ b/compiler/testData/loadJava/compiledKotlin/annotations/packageMembers/DelegatedProperty.kt @@ -1,7 +1,9 @@ package test +import kotlin.reflect.KProperty + annotation class Anno @Anno val x: Int by object { - fun getValue(thiz: Any?, data: PropertyMetadata) = null!! + fun getValue(thiz: Any?, data: KProperty<*>) = null!! } diff --git a/compiler/testData/loadJava/compiledKotlin/prop/VarWithDelegated.kt b/compiler/testData/loadJava/compiledKotlin/prop/VarWithDelegated.kt index b97e4deda45..83754b6bf3a 100644 --- a/compiler/testData/loadJava/compiledKotlin/prop/VarWithDelegated.kt +++ b/compiler/testData/loadJava/compiledKotlin/prop/VarWithDelegated.kt @@ -1,11 +1,13 @@ //ALLOW_AST_ACCESS package test +import kotlin.reflect.KProperty + class A { var a by MyProperty() } class MyProperty { - fun getValue(t: T, p: PropertyMetadata): Int = 42 - fun setValue(t: T, p: PropertyMetadata, i: Int) {} -} \ No newline at end of file + fun getValue(t: T, p: KProperty<*>): Int = 42 + fun setValue(t: T, p: KProperty<*>, i: Int) {} +} diff --git a/compiler/testData/loadJava/compiledKotlin/prop/VarWithDelegated.txt b/compiler/testData/loadJava/compiledKotlin/prop/VarWithDelegated.txt index 9eb6e5a03b4..1bd8ea99ba2 100644 --- a/compiler/testData/loadJava/compiledKotlin/prop/VarWithDelegated.txt +++ b/compiler/testData/loadJava/compiledKotlin/prop/VarWithDelegated.txt @@ -9,6 +9,6 @@ public final class A { public final class MyProperty { /*primary*/ public constructor MyProperty() - public final fun getValue(/*0*/ t: T, /*1*/ p: kotlin.PropertyMetadata): kotlin.Int - public final fun setValue(/*0*/ t: T, /*1*/ p: kotlin.PropertyMetadata, /*2*/ i: kotlin.Int): kotlin.Unit + public final fun getValue(/*0*/ t: T, /*1*/ p: kotlin.reflect.KProperty<*>): kotlin.Int + public final fun setValue(/*0*/ t: T, /*1*/ p: kotlin.reflect.KProperty<*>, /*2*/ i: kotlin.Int): kotlin.Unit } diff --git a/compiler/testData/writeFlags/delegatedProperty/visibility/privateSet.kt b/compiler/testData/writeFlags/delegatedProperty/visibility/privateSet.kt index 4551f608bca..6350d255283 100644 --- a/compiler/testData/writeFlags/delegatedProperty/visibility/privateSet.kt +++ b/compiler/testData/writeFlags/delegatedProperty/visibility/privateSet.kt @@ -1,14 +1,16 @@ +import kotlin.reflect.KProperty + class MyClass() { public var x: Int by Delegate() private set } class Delegate { - fun getValue(t: Any?, p: PropertyMetadata): Int { + fun getValue(t: Any?, p: KProperty<*>): Int { return 1 } - fun setValue(t: Any?, p: PropertyMetadata, i: Int) {} + fun setValue(t: Any?, p: KProperty<*>, i: Int) {} } // TESTED_OBJECT_KIND: function diff --git a/compiler/testData/writeFlags/property/classObject/class/delegatedProtectedVar.kt b/compiler/testData/writeFlags/property/classObject/class/delegatedProtectedVar.kt index b2e393fe2ba..6906c801d8e 100644 --- a/compiler/testData/writeFlags/property/classObject/class/delegatedProtectedVar.kt +++ b/compiler/testData/writeFlags/property/classObject/class/delegatedProtectedVar.kt @@ -1,9 +1,11 @@ +import kotlin.reflect.KProperty + class TestDelegate() { - fun getValue(thisRef: Any?, desc: PropertyMetadata): Int { + fun getValue(thisRef: Any?, desc: KProperty<*>): Int { return 10 } - public open fun setValue(thisRef: Any?, desc: PropertyMetadata, svalue : Int) { + public open fun setValue(thisRef: Any?, desc: KProperty<*>, svalue : Int) { } } diff --git a/compiler/testData/writeFlags/property/classObject/class/delegatedPublicVal.kt b/compiler/testData/writeFlags/property/classObject/class/delegatedPublicVal.kt index 481edb3aba6..512953964c2 100644 --- a/compiler/testData/writeFlags/property/classObject/class/delegatedPublicVal.kt +++ b/compiler/testData/writeFlags/property/classObject/class/delegatedPublicVal.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class TestDelegate() { - fun getValue(thisRef: Any?, desc: PropertyMetadata): Int { + fun getValue(thisRef: Any?, desc: KProperty<*>): Int { return 10 } } diff --git a/compiler/testData/writeFlags/property/classObject/rename/delegatedAndDelegated.kt b/compiler/testData/writeFlags/property/classObject/rename/delegatedAndDelegated.kt index a00a3819737..a56d0554142 100644 --- a/compiler/testData/writeFlags/property/classObject/rename/delegatedAndDelegated.kt +++ b/compiler/testData/writeFlags/property/classObject/rename/delegatedAndDelegated.kt @@ -1,14 +1,16 @@ +import kotlin.reflect.KProperty + public open class TestDelegate(private val initializer: () -> T) { private var value: T? = null - public open fun getValue(thisRef: Any?, desc: PropertyMetadata): T { + public open fun getValue(thisRef: Any?, desc: KProperty<*>): T { if (value == null) { value = initializer() } return value!! } - public open fun setValue(thisRef: Any?, desc: PropertyMetadata, svalue : T) { + public open fun setValue(thisRef: Any?, desc: KProperty<*>, svalue : T) { value = svalue } } @@ -28,4 +30,4 @@ class Test { // TESTED_OBJECT_KIND: property // TESTED_OBJECTS: Test, prop$delegate -// FLAGS: ACC_STATIC, ACC_PRIVATE, ACC_FINAL \ No newline at end of file +// FLAGS: ACC_STATIC, ACC_PRIVATE, ACC_FINAL diff --git a/compiler/testData/writeFlags/property/classObject/rename/delegatedAndProperty.kt b/compiler/testData/writeFlags/property/classObject/rename/delegatedAndProperty.kt index b66f52720a1..13afc8e400e 100644 --- a/compiler/testData/writeFlags/property/classObject/rename/delegatedAndProperty.kt +++ b/compiler/testData/writeFlags/property/classObject/rename/delegatedAndProperty.kt @@ -1,14 +1,16 @@ +import kotlin.reflect.KProperty + public open class TestDelegate(private val initializer: () -> T) { private var value: T? = null - public open fun getValue(thisRef: Any?, desc: PropertyMetadata): T { + public open fun getValue(thisRef: Any?, desc: KProperty<*>): T { if (value == null) { value = initializer() } return value!! } - public open fun setValue(thisRef: Any?, desc: PropertyMetadata, svalue : T) { + public open fun setValue(thisRef: Any?, desc: KProperty<*>, svalue : T) { value = svalue } } diff --git a/compiler/testData/writeFlags/property/classObject/trait/delegatedProtectedVar.kt b/compiler/testData/writeFlags/property/classObject/trait/delegatedProtectedVar.kt index 29be2974284..d1630d55cc9 100644 --- a/compiler/testData/writeFlags/property/classObject/trait/delegatedProtectedVar.kt +++ b/compiler/testData/writeFlags/property/classObject/trait/delegatedProtectedVar.kt @@ -1,9 +1,11 @@ +import kotlin.reflect.KProperty + class TestDelegate() { - fun getValue(thisRef: Any?, desc: PropertyMetadata): Int { + fun getValue(thisRef: Any?, desc: KProperty<*>): Int { return 10 } - public open fun setValue(thisRef: Any?, desc: PropertyMetadata, svalue : Int) { + public open fun setValue(thisRef: Any?, desc: KProperty<*>, svalue : Int) { } } @@ -28,4 +30,4 @@ interface Test { // TESTED_OBJECT_KIND: property // TESTED_OBJECTS: Test, prop$delegate -// ABSENT: TRUE \ No newline at end of file +// ABSENT: TRUE diff --git a/compiler/testData/writeFlags/property/classObject/trait/delegatedPublicVal.kt b/compiler/testData/writeFlags/property/classObject/trait/delegatedPublicVal.kt index 5e19c0bbb9f..6f75cd8fcc0 100644 --- a/compiler/testData/writeFlags/property/classObject/trait/delegatedPublicVal.kt +++ b/compiler/testData/writeFlags/property/classObject/trait/delegatedPublicVal.kt @@ -1,5 +1,7 @@ +import kotlin.reflect.KProperty + class TestDelegate() { - fun getValue(thisRef: Any?, desc: PropertyMetadata): Int { + fun getValue(thisRef: Any?, desc: KProperty<*>): Int { return 10 } } @@ -24,4 +26,4 @@ interface Test { // TESTED_OBJECT_KIND: property // TESTED_OBJECTS: Test, prop$delegate -// ABSENT: TRUE \ No newline at end of file +// ABSENT: TRUE diff --git a/js/js.translator/testData/callableReference/property/cases/delegated.kt b/js/js.translator/testData/callableReference/property/cases/delegated.kt index 022a1df7878..322c8658a9f 100644 --- a/js/js.translator/testData/callableReference/property/cases/delegated.kt +++ b/js/js.translator/testData/callableReference/property/cases/delegated.kt @@ -1,8 +1,10 @@ // This test was adapted from compiler/testData/codegen/boxWithStdlib/callableReference/property/. package foo +import kotlin.reflect.KProperty + object NumberDecrypter { - fun getValue(instance: Any?, data: PropertyMetadata) = when (data.name) { + fun getValue(instance: Any?, data: KProperty<*>) = when (data.name) { "four" -> 4 "two" -> 2 else -> throw Exception() diff --git a/js/js.translator/testData/callableReference/property/cases/delegatedMutable.kt b/js/js.translator/testData/callableReference/property/cases/delegatedMutable.kt index 2377b2f49ba..a717d474f7e 100644 --- a/js/js.translator/testData/callableReference/property/cases/delegatedMutable.kt +++ b/js/js.translator/testData/callableReference/property/cases/delegatedMutable.kt @@ -1,14 +1,16 @@ // This test was adapted from compiler/testData/codegen/boxWithStdlib/callableReference/property/. package foo +import kotlin.reflect.KProperty + object Delegate { var value = "lol" - fun getValue(instance: Any?, data: PropertyMetadata): String { + fun getValue(instance: Any?, data: KProperty<*>): String { return value } - fun setValue(instance: Any?, data: PropertyMetadata, newValue: String) { + fun setValue(instance: Any?, data: KProperty<*>, newValue: String) { value = newValue } } diff --git a/js/js.translator/testData/delegateProperty/cases/delegateByExtensionProperty.kt b/js/js.translator/testData/delegateProperty/cases/delegateByExtensionProperty.kt index 2617739320c..02ae478e30a 100644 --- a/js/js.translator/testData/delegateProperty/cases/delegateByExtensionProperty.kt +++ b/js/js.translator/testData/delegateProperty/cases/delegateByExtensionProperty.kt @@ -1,5 +1,7 @@ package foo +import kotlin.reflect.KProperty + class State(var realValue: Int) fun format(event: String, property: String, value: Int): String @@ -8,12 +10,12 @@ fun format(event: String, property: String, value: Int): String object LoggerDelegate { var log = "" - fun getValue(state: State, desc: PropertyMetadata): Int { + fun getValue(state: State, desc: KProperty<*>): Int { log += format("get", desc.name, state.realValue) return state.realValue } - fun setValue(state: State, desc: PropertyMetadata, value: Int) { + fun setValue(state: State, desc: KProperty<*>, value: Int) { log += format("set", desc.name, value) state.realValue = value } @@ -36,4 +38,4 @@ fun box(): String { assertEquals(expectedLog, LoggerDelegate.log) return "OK" -} \ No newline at end of file +} diff --git a/js/js.translator/testData/delegateProperty/cases/delegateByTopLevelFun.kt b/js/js.translator/testData/delegateProperty/cases/delegateByTopLevelFun.kt index c1b0ae7abd9..cdf4a00e766 100644 --- a/js/js.translator/testData/delegateProperty/cases/delegateByTopLevelFun.kt +++ b/js/js.translator/testData/delegateProperty/cases/delegateByTopLevelFun.kt @@ -1,9 +1,11 @@ package foo +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } diff --git a/js/js.translator/testData/delegateProperty/cases/delegateByTopLevelProperty.kt b/js/js.translator/testData/delegateProperty/cases/delegateByTopLevelProperty.kt index 1b1ab624dc2..16ded5256f0 100644 --- a/js/js.translator/testData/delegateProperty/cases/delegateByTopLevelProperty.kt +++ b/js/js.translator/testData/delegateProperty/cases/delegateByTopLevelProperty.kt @@ -1,9 +1,11 @@ package foo +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } diff --git a/js/js.translator/testData/delegateProperty/cases/delegateWithPropertyAccess.kt b/js/js.translator/testData/delegateProperty/cases/delegateWithPropertyAccess.kt index 1b1ab624dc2..16ded5256f0 100644 --- a/js/js.translator/testData/delegateProperty/cases/delegateWithPropertyAccess.kt +++ b/js/js.translator/testData/delegateProperty/cases/delegateWithPropertyAccess.kt @@ -1,9 +1,11 @@ package foo +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } diff --git a/js/js.translator/testData/delegateProperty/cases/getAsExtensionFun.kt b/js/js.translator/testData/delegateProperty/cases/getAsExtensionFun.kt index efadd927492..1a087c0ad36 100644 --- a/js/js.translator/testData/delegateProperty/cases/getAsExtensionFun.kt +++ b/js/js.translator/testData/delegateProperty/cases/getAsExtensionFun.kt @@ -1,9 +1,11 @@ package foo +import kotlin.reflect.KProperty + class Delegate { } -fun Delegate.getValue(t: Any?, p: PropertyMetadata): Int = 1 +fun Delegate.getValue(t: Any?, p: KProperty<*>): Int = 1 class A { val prop: Int by Delegate() diff --git a/js/js.translator/testData/delegateProperty/cases/propertyMetadata.kt b/js/js.translator/testData/delegateProperty/cases/propertyMetadata.kt index a8ad362ea62..3e5b3e1f6d7 100644 --- a/js/js.translator/testData/delegateProperty/cases/propertyMetadata.kt +++ b/js/js.translator/testData/delegateProperty/cases/propertyMetadata.kt @@ -1,14 +1,16 @@ package foo +import kotlin.reflect.KProperty + interface WithName { var name: String } class GetPropertyName() { - fun getValue(withName: WithName, property: PropertyMetadata): String { + fun getValue(withName: WithName, property: KProperty<*>): String { return withName.name + ":" + property.name; } - fun setValue(withName: WithName, property: PropertyMetadata, value: String) { + fun setValue(withName: WithName, property: KProperty<*>, value: String) { withName.name = value + ":" + property.name } } diff --git a/js/js.translator/testData/delegateProperty/cases/setAsExtensionFun.kt b/js/js.translator/testData/delegateProperty/cases/setAsExtensionFun.kt index 5d4009c9959..9185cb272a7 100644 --- a/js/js.translator/testData/delegateProperty/cases/setAsExtensionFun.kt +++ b/js/js.translator/testData/delegateProperty/cases/setAsExtensionFun.kt @@ -1,11 +1,13 @@ package foo +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner + fun getValue(t: Any?, p: KProperty<*>): Int = inner } -fun Delegate.setValue(t: Any?, p: PropertyMetadata, i: Int) { +fun Delegate.setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } diff --git a/js/js.translator/testData/delegateProperty/cases/simple.kt b/js/js.translator/testData/delegateProperty/cases/simple.kt index b17646253dc..a1b20662e84 100644 --- a/js/js.translator/testData/delegateProperty/cases/simple.kt +++ b/js/js.translator/testData/delegateProperty/cases/simple.kt @@ -1,14 +1,16 @@ package foo +import kotlin.reflect.KProperty + interface WithNumber { var number: Int } class IncNumber(val inc: Int) { - fun getValue(withNumber: WithNumber, property: PropertyMetadata): Int { + fun getValue(withNumber: WithNumber, property: KProperty<*>): Int { return withNumber.number + inc; } - fun setValue(withNumber: WithNumber, property: PropertyMetadata, value: Int) { + fun setValue(withNumber: WithNumber, property: KProperty<*>, value: Int) { withNumber.number = value; } } diff --git a/js/js.translator/testData/delegateProperty/cases/topLevelVal.kt b/js/js.translator/testData/delegateProperty/cases/topLevelVal.kt index aab1c8b213d..b9eea14798f 100644 --- a/js/js.translator/testData/delegateProperty/cases/topLevelVal.kt +++ b/js/js.translator/testData/delegateProperty/cases/topLevelVal.kt @@ -1,7 +1,9 @@ package foo +import kotlin.reflect.KProperty + class Delegate { - fun getValue(t: Any?, p: PropertyMetadata): Int = 1 + fun getValue(t: Any?, p: KProperty<*>): Int = 1 } val prop: Int by Delegate() diff --git a/js/js.translator/testData/delegateProperty/cases/topLevelVar.kt b/js/js.translator/testData/delegateProperty/cases/topLevelVar.kt index 8b5af1611a6..f84c8ce0d96 100644 --- a/js/js.translator/testData/delegateProperty/cases/topLevelVar.kt +++ b/js/js.translator/testData/delegateProperty/cases/topLevelVar.kt @@ -1,9 +1,11 @@ package foo +import kotlin.reflect.KProperty + class Delegate { var inner = 1 - fun getValue(t: Any?, p: PropertyMetadata): Int = inner - fun setValue(t: Any?, p: PropertyMetadata, i: Int) { + fun getValue(t: Any?, p: KProperty<*>): Int = inner + fun setValue(t: Any?, p: KProperty<*>, i: Int) { inner = i } } diff --git a/js/js.translator/testData/delegateProperty/cases/withGenerics.kt b/js/js.translator/testData/delegateProperty/cases/withGenerics.kt index 4aec5485bc0..2b092cf3796 100644 --- a/js/js.translator/testData/delegateProperty/cases/withGenerics.kt +++ b/js/js.translator/testData/delegateProperty/cases/withGenerics.kt @@ -1,18 +1,20 @@ package foo +import kotlin.reflect.KProperty + interface Getter { fun get(): T } class Delegate(val getter: Getter) { var t: T? = null - fun getValue(obj: Any, property: PropertyMetadata): T { + fun getValue(obj: Any, property: KProperty<*>): T { if (t != null) { return t!! } return getter.get() } - fun setValue(obj: Any, property: PropertyMetadata, value: T) { + fun setValue(obj: Any, property: KProperty<*>, value: T) { t = value } } diff --git a/js/js.translator/testData/delegation/cases/delegationExtensionPropertyDelegated.kt b/js/js.translator/testData/delegation/cases/delegationExtensionPropertyDelegated.kt index b5710319340..a91e1a93ef3 100644 --- a/js/js.translator/testData/delegation/cases/delegationExtensionPropertyDelegated.kt +++ b/js/js.translator/testData/delegation/cases/delegationExtensionPropertyDelegated.kt @@ -1,5 +1,7 @@ package foo +import kotlin.reflect.KProperty + class State(var value: Int) interface Base { @@ -7,9 +9,9 @@ interface Base { } class Delegate(val multiplier: Int) { - fun getValue(state: State, desc: PropertyMetadata): Int = multiplier * state.value + fun getValue(state: State, desc: KProperty<*>): Int = multiplier * state.value - fun setValue(state: State, desc: PropertyMetadata, value: Int) { + fun setValue(state: State, desc: KProperty<*>, value: Int) { state.value = value / multiplier } @@ -37,4 +39,4 @@ fun box(): String { assertEquals(10, d.getValueMultiplied(state)) return "OK" -} \ No newline at end of file +}