Value Classes: Forbid var properties with value class receivers
This commit is contained in:
+2
-2
@@ -21,8 +21,8 @@ object VarObject {
|
||||
|
||||
inline class Z(val data: Int) {
|
||||
val testVal <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>by Val()<!>
|
||||
var testVar <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>by Var()<!>
|
||||
<!RESERVED_VAR_PROPERTY_OF_VALUE_CLASS!>var<!> testVar <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>by Var()<!>
|
||||
|
||||
val testValBySingleton <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>by ValObject<!>
|
||||
var testVarBySingleton <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>by VarObject<!>
|
||||
<!RESERVED_VAR_PROPERTY_OF_VALUE_CLASS!>var<!> testVarBySingleton <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>by VarObject<!>
|
||||
}
|
||||
Vendored
+3
-3
@@ -15,11 +15,11 @@ inline class Foo(val x: Int) : A, B {
|
||||
|
||||
<!PROPERTY_WITH_BACKING_FIELD_INSIDE_INLINE_CLASS!>val a1<!> = 0
|
||||
|
||||
var a2: Int
|
||||
<!RESERVED_VAR_PROPERTY_OF_VALUE_CLASS!>var<!> a2: Int
|
||||
get() = 1
|
||||
set(value) {}
|
||||
|
||||
<!PROPERTY_WITH_BACKING_FIELD_INSIDE_INLINE_CLASS!>var a3: Int<!> = 0
|
||||
<!PROPERTY_WITH_BACKING_FIELD_INSIDE_INLINE_CLASS!><!RESERVED_VAR_PROPERTY_OF_VALUE_CLASS!>var<!> a3: Int<!> = 0
|
||||
get() = 1
|
||||
set(value) {
|
||||
field = value
|
||||
@@ -30,5 +30,5 @@ inline class Foo(val x: Int) : A, B {
|
||||
|
||||
<!PROPERTY_WITH_BACKING_FIELD_INSIDE_INLINE_CLASS!>override val badSize: Int<!> = 0
|
||||
|
||||
<!PROPERTY_WITH_BACKING_FIELD_INSIDE_INLINE_CLASS!>lateinit var lateinitProperty: String<!>
|
||||
<!PROPERTY_WITH_BACKING_FIELD_INSIDE_INLINE_CLASS!>lateinit <!RESERVED_VAR_PROPERTY_OF_VALUE_CLASS!>var<!> lateinitProperty: String<!>
|
||||
}
|
||||
|
||||
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
inline class IC(val a: Any) {
|
||||
var member: Any
|
||||
get() = a
|
||||
set(value) {}
|
||||
}
|
||||
|
||||
var IC.extension: Any
|
||||
get() = a
|
||||
set(value) {}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
inline class IC(val a: Any) {
|
||||
<!RESERVED_VAR_PROPERTY_OF_VALUE_CLASS!>var<!> member: Any
|
||||
get() = a
|
||||
set(value) {}
|
||||
}
|
||||
|
||||
<!RESERVED_VAR_PROPERTY_OF_VALUE_CLASS!>var<!> IC.extension: Any
|
||||
get() = a
|
||||
set(value) {}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
package
|
||||
|
||||
public var IC.extension: kotlin.Any
|
||||
|
||||
public final inline class IC {
|
||||
public constructor IC(/*0*/ a: kotlin.Any)
|
||||
public final val a: kotlin.Any
|
||||
public final var member: kotlin.Any
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
+2
-2
@@ -26,8 +26,8 @@ object VarObject {
|
||||
@JvmInline
|
||||
value class Z(val data: Int) {
|
||||
val testVal <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>by Val()<!>
|
||||
var testVar <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>by Var()<!>
|
||||
<!RESERVED_VAR_PROPERTY_OF_VALUE_CLASS!>var<!> testVar <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>by Var()<!>
|
||||
|
||||
val testValBySingleton <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>by ValObject<!>
|
||||
var testVarBySingleton <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>by VarObject<!>
|
||||
<!RESERVED_VAR_PROPERTY_OF_VALUE_CLASS!>var<!> testVarBySingleton <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>by VarObject<!>
|
||||
}
|
||||
Vendored
+3
-3
@@ -20,11 +20,11 @@ value class Foo(val x: Int) : A, B {
|
||||
|
||||
<!PROPERTY_WITH_BACKING_FIELD_INSIDE_INLINE_CLASS!>val a1<!> = 0
|
||||
|
||||
var a2: Int
|
||||
<!RESERVED_VAR_PROPERTY_OF_VALUE_CLASS!>var<!> a2: Int
|
||||
get() = 1
|
||||
set(value) {}
|
||||
|
||||
<!PROPERTY_WITH_BACKING_FIELD_INSIDE_INLINE_CLASS!>var a3: Int<!> = 0
|
||||
<!PROPERTY_WITH_BACKING_FIELD_INSIDE_INLINE_CLASS!><!RESERVED_VAR_PROPERTY_OF_VALUE_CLASS!>var<!> a3: Int<!> = 0
|
||||
get() = 1
|
||||
set(value) {
|
||||
field = value
|
||||
@@ -35,5 +35,5 @@ value class Foo(val x: Int) : A, B {
|
||||
|
||||
<!PROPERTY_WITH_BACKING_FIELD_INSIDE_INLINE_CLASS!>override val badSize: Int<!> = 0
|
||||
|
||||
<!PROPERTY_WITH_BACKING_FIELD_INSIDE_INLINE_CLASS!>lateinit var lateinitProperty: String<!>
|
||||
<!PROPERTY_WITH_BACKING_FIELD_INSIDE_INLINE_CLASS!>lateinit <!RESERVED_VAR_PROPERTY_OF_VALUE_CLASS!>var<!> lateinitProperty: String<!>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user