[JVM] Forbid non-JvmInline value classes again
This commit is contained in:
committed by
Space
parent
7595f798e1
commit
df1de3a7d3
+30
-24
@@ -3,11 +3,14 @@
|
||||
// WORKS_WHEN_VALUE_CLASS
|
||||
// LANGUAGE: +ValueClasses
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class F1(val x: Int)
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class F2(val x: UInt)
|
||||
|
||||
value class F3(val x: String)
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class F3(val x: F1, val y: F2)
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class F4(val x: Int)
|
||||
@@ -18,9 +21,8 @@ value class F5(val x: UInt)
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class F6(val x: String)
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class A(
|
||||
val f1: F1,
|
||||
val f2: F2,
|
||||
val f3: F3,
|
||||
val f4: F4,
|
||||
val f5: F5,
|
||||
@@ -30,6 +32,7 @@ value class A(
|
||||
val f9: String,
|
||||
)
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class B(val a1: A, val a2: A) {
|
||||
override fun toString(): String {
|
||||
return "OverridenBToString(a1 = $a1, a2 = $a2)"
|
||||
@@ -39,40 +42,43 @@ value class B(val a1: A, val a2: A) {
|
||||
fun box(): String {
|
||||
val f1 = F1(1)
|
||||
val f2 = F2(UInt.MAX_VALUE)
|
||||
val f3 = F3("234")
|
||||
val f3 = F3(f1, f2)
|
||||
val f4 = F4(5)
|
||||
val f5 = F5(UInt.MAX_VALUE.dec())
|
||||
val f6 = F6("678")
|
||||
val a1 = A(f1, f2, f3, f4, f5, f6, 9, UInt.MAX_VALUE - 2U, "0")
|
||||
val a1 = A(f3, f4, f5, f6, 9, UInt.MAX_VALUE - 2U, "0")
|
||||
val a2 = a1
|
||||
val b = B(a1, a2)
|
||||
|
||||
assert(f1.x == 1)
|
||||
assert(f2.x == UInt.MAX_VALUE)
|
||||
assert(f3.x == "234")
|
||||
assert(f3.x == f1)
|
||||
assert(f3.x.x == 1)
|
||||
assert(f3.y == f2)
|
||||
assert(f3.y.x == UInt.MAX_VALUE)
|
||||
assert(f4.x == 5)
|
||||
assert(f5.x == UInt.MAX_VALUE - 1U)
|
||||
assert(f6.x == "678")
|
||||
|
||||
assert(f1 == a1.f1)
|
||||
assert(f1.hashCode() == a1.f1.hashCode())
|
||||
assert(f1.toString() == a1.f1.toString())
|
||||
assert(f1 == a2.f1)
|
||||
assert(f1.hashCode() == a2.f1.hashCode())
|
||||
assert(f1.toString() == a2.f1.toString())
|
||||
assert(a1.f1 == a2.f1)
|
||||
assert(a1.f1.hashCode() == a2.f1.hashCode())
|
||||
assert(a1.f1.toString() == a2.f1.toString())
|
||||
assert(f1 == a1.f3.x)
|
||||
assert(f1.hashCode() == a1.f3.x.hashCode())
|
||||
assert(f1.toString() == a1.f3.x.toString())
|
||||
assert(f1 == a2.f3.x)
|
||||
assert(f1.hashCode() == a2.f3.x.hashCode())
|
||||
assert(f1.toString() == a2.f3.x.toString())
|
||||
assert(a1.f3.x == a2.f3.x)
|
||||
assert(a1.f3.x.hashCode() == a2.f3.x.hashCode())
|
||||
assert(a1.f3.x.toString() == a2.f3.x.toString())
|
||||
|
||||
assert(f2 == a1.f2)
|
||||
assert(f2.hashCode() == a1.f2.hashCode())
|
||||
assert(f2.toString() == a1.f2.toString())
|
||||
assert(f2 == a2.f2)
|
||||
assert(f2.hashCode() == a2.f2.hashCode())
|
||||
assert(f2.toString() == a2.f2.toString())
|
||||
assert(a1.f2 == a2.f2)
|
||||
assert(a1.f2.hashCode() == a2.f2.hashCode())
|
||||
assert(a1.f2.toString() == a2.f2.toString())
|
||||
assert(f2 == a1.f3.y)
|
||||
assert(f2.hashCode() == a1.f3.y.hashCode())
|
||||
assert(f2.toString() == a1.f3.y.toString())
|
||||
assert(f2 == a2.f3.y)
|
||||
assert(f2.hashCode() == a2.f3.y.hashCode())
|
||||
assert(f2.toString() == a2.f3.y.toString())
|
||||
assert(a1.f3.y == a2.f3.y)
|
||||
assert(a1.f3.y.hashCode() == a2.f3.y.hashCode())
|
||||
assert(a1.f3.y.toString() == a2.f3.y.toString())
|
||||
|
||||
assert(f3 == a1.f3)
|
||||
assert(f3.hashCode() == a1.f3.hashCode())
|
||||
|
||||
+14
-9
@@ -8,12 +8,14 @@
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class A1(val x: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>A1<!>)
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class B1(val x: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>B1<!>, val y: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>B1<!>)
|
||||
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class A2(val x: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>B2<!>)
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class B2(val x: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>A2<!>, val y: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>A2<!>)
|
||||
|
||||
|
||||
@@ -24,26 +26,32 @@ OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class B3(val x: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>A3<!>)
|
||||
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class A4(val x: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>B4<!>, val y: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>B4<!>)
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class B4(val x: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>A4<!>, val y: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>A4<!>)
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class C4(val x: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>D4?<!>, val y: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>D4?<!>)
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class D4(val x: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>D4?<!>, val y: <!VALUE_CLASS_CANNOT_BE_RECURSIVE!>C4?<!>)
|
||||
|
||||
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class A5<T : A5<T>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>, val y: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>)
|
||||
value class A5<T : A5<T>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>)
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class B5<T : B5<T>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>, val y: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>)
|
||||
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class A6<T : B6<<!UPPER_BOUND_VIOLATED!>T<!>>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>, val y: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>)
|
||||
|
||||
value class B6<T : A6<<!UPPER_BOUND_VIOLATED!>T<!>>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>, val y: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>)
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class B6<T : A6<<!UPPER_BOUND_VIOLATED!>T<!>>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>)
|
||||
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
@@ -53,11 +61,8 @@ OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class B7<T : A7<<!UPPER_BOUND_VIOLATED!>T<!>>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>, val y: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>)
|
||||
|
||||
|
||||
value class A8<T : B8<<!UPPER_BOUND_VIOLATED!>T<!>>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>, val y: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>)
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class A8<T : B8<<!UPPER_BOUND_VIOLATED!>T<!>>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T?<!>, val y: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T?<!>)
|
||||
|
||||
value class B8<T : A8<<!UPPER_BOUND_VIOLATED!>T<!>>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>, val y: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>)
|
||||
|
||||
|
||||
value class A9<T : B9<<!UPPER_BOUND_VIOLATED!>T<!>>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T?<!>, val y: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T?<!>)
|
||||
|
||||
value class B9<T : A9<<!UPPER_BOUND_VIOLATED!>T<!>>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T?<!>, val y: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T?<!>)
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class B8<T : A8<<!UPPER_BOUND_VIOLATED!>T<!>>>(val x: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T?<!>, val y: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T?<!>)
|
||||
|
||||
+22
-43
@@ -1,6 +1,6 @@
|
||||
package
|
||||
|
||||
public final value class A1 {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class A1 {
|
||||
public constructor A1(/*0*/ x: A1)
|
||||
public final val x: A1
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -8,7 +8,7 @@ public final value class A1 {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class A2 {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class A2 {
|
||||
public constructor A2(/*0*/ x: B2)
|
||||
public final val x: B2
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -16,7 +16,7 @@ public final value class A2 {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class A3 {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class A3 {
|
||||
public constructor A3(/*0*/ x: B3)
|
||||
public final val x: B3
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -24,7 +24,7 @@ public final value class A3 {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class A4 {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class A4 {
|
||||
public constructor A4(/*0*/ x: B4, /*1*/ y: B4)
|
||||
public final val x: B4
|
||||
public final val y: B4
|
||||
@@ -33,16 +33,15 @@ public final value class A4 {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class A5</*0*/ T : A5<T>> {
|
||||
public constructor A5</*0*/ T : A5<T>>(/*0*/ x: T, /*1*/ y: T)
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class A5</*0*/ T : A5<T>> {
|
||||
public constructor A5</*0*/ T : A5<T>>(/*0*/ x: T)
|
||||
public final val x: T
|
||||
public final val y: T
|
||||
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
|
||||
}
|
||||
|
||||
public final value class A6</*0*/ T : B6<T>> {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class A6</*0*/ T : B6<T>> {
|
||||
public constructor A6</*0*/ T : B6<T>>(/*0*/ x: T, /*1*/ y: T)
|
||||
public final val x: T
|
||||
public final val y: T
|
||||
@@ -51,7 +50,7 @@ public final value class A6</*0*/ T : B6<T>> {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class A7</*0*/ T : B7<T>> {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class A7</*0*/ T : B7<T>> {
|
||||
public constructor A7</*0*/ T : B7<T>>(/*0*/ x: T, /*1*/ y: T)
|
||||
public final val x: T
|
||||
public final val y: T
|
||||
@@ -60,17 +59,8 @@ public final value class A7</*0*/ T : B7<T>> {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class A8</*0*/ T : B8<T>> {
|
||||
public constructor A8</*0*/ T : B8<T>>(/*0*/ x: T, /*1*/ y: T)
|
||||
public final val x: T
|
||||
public final val y: T
|
||||
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
|
||||
}
|
||||
|
||||
public final value class A9</*0*/ T : B9<T>> {
|
||||
public constructor A9</*0*/ T : B9<T>>(/*0*/ x: T?, /*1*/ y: T?)
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class A8</*0*/ T : B8<T>> {
|
||||
public constructor A8</*0*/ T : B8<T>>(/*0*/ x: T?, /*1*/ y: T?)
|
||||
public final val x: T?
|
||||
public final val y: T?
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -78,7 +68,7 @@ public final value class A9</*0*/ T : B9<T>> {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class B1 {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class B1 {
|
||||
public constructor B1(/*0*/ x: B1, /*1*/ y: B1)
|
||||
public final val x: B1
|
||||
public final val y: B1
|
||||
@@ -87,7 +77,7 @@ public final value class B1 {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class B2 {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class B2 {
|
||||
public constructor B2(/*0*/ x: A2, /*1*/ y: A2)
|
||||
public final val x: A2
|
||||
public final val y: A2
|
||||
@@ -96,7 +86,7 @@ public final value class B2 {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class B3 {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class B3 {
|
||||
public constructor B3(/*0*/ x: A3)
|
||||
public final val x: A3
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -104,7 +94,7 @@ public final value class B3 {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class B4 {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class B4 {
|
||||
public constructor B4(/*0*/ x: A4, /*1*/ y: A4)
|
||||
public final val x: A4
|
||||
public final val y: A4
|
||||
@@ -113,7 +103,7 @@ public final value class B4 {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class B5</*0*/ T : B5<T>> {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class B5</*0*/ T : B5<T>> {
|
||||
public constructor B5</*0*/ T : B5<T>>(/*0*/ x: T, /*1*/ y: T)
|
||||
public final val x: T
|
||||
public final val y: T
|
||||
@@ -122,16 +112,15 @@ public final value class B5</*0*/ T : B5<T>> {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class B6</*0*/ T : A6<T>> {
|
||||
public constructor B6</*0*/ T : A6<T>>(/*0*/ x: T, /*1*/ y: T)
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class B6</*0*/ T : A6<T>> {
|
||||
public constructor B6</*0*/ T : A6<T>>(/*0*/ x: T)
|
||||
public final val x: T
|
||||
public final val y: T
|
||||
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
|
||||
}
|
||||
|
||||
public final value class B7</*0*/ T : A7<T>> {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class B7</*0*/ T : A7<T>> {
|
||||
public constructor B7</*0*/ T : A7<T>>(/*0*/ x: T, /*1*/ y: T)
|
||||
public final val x: T
|
||||
public final val y: T
|
||||
@@ -140,17 +129,8 @@ public final value class B7</*0*/ T : A7<T>> {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class B8</*0*/ T : A8<T>> {
|
||||
public constructor B8</*0*/ T : A8<T>>(/*0*/ x: T, /*1*/ y: T)
|
||||
public final val x: T
|
||||
public final val y: T
|
||||
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
|
||||
}
|
||||
|
||||
public final value class B9</*0*/ T : A9<T>> {
|
||||
public constructor B9</*0*/ T : A9<T>>(/*0*/ x: T?, /*1*/ y: T?)
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class B8</*0*/ T : A8<T>> {
|
||||
public constructor B8</*0*/ T : A8<T>>(/*0*/ x: T?, /*1*/ y: T?)
|
||||
public final val x: T?
|
||||
public final val y: T?
|
||||
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
@@ -158,7 +138,7 @@ public final value class B9</*0*/ T : A9<T>> {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class C4 {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class C4 {
|
||||
public constructor C4(/*0*/ x: D4?, /*1*/ y: D4?)
|
||||
public final val x: D4?
|
||||
public final val y: D4?
|
||||
@@ -167,7 +147,7 @@ public final value class C4 {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class D4 {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class D4 {
|
||||
public constructor D4(/*0*/ x: D4?, /*1*/ y: C4?)
|
||||
public final val x: D4?
|
||||
public final val y: C4?
|
||||
@@ -175,4 +155,3 @@ public final value class D4 {
|
||||
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
|
||||
Vendored
+1
@@ -4,6 +4,7 @@
|
||||
// WORKS_WHEN_VALUE_CLASS
|
||||
// LANGUAGE: +ValueClasses
|
||||
|
||||
OPTIONAL_JVM_INLINE_ANNOTATION
|
||||
value class Empty<T><!VALUE_CLASS_EMPTY_CONSTRUCTOR!>()<!>
|
||||
|
||||
|
||||
|
||||
compiler/testData/diagnostics/tests/valueClasses/valueClassWithForbiddenUnderlyingTypeMultiField.txt
Vendored
+11
-11
@@ -1,6 +1,6 @@
|
||||
package
|
||||
|
||||
public final value class Bar {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class Bar {
|
||||
public constructor Bar(/*0*/ u: kotlin.Unit, /*1*/ y: kotlin.Unit)
|
||||
public final val u: kotlin.Unit
|
||||
public final val y: kotlin.Unit
|
||||
@@ -9,7 +9,7 @@ public final value class Bar {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class BarNullable {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class BarNullable {
|
||||
public constructor BarNullable(/*0*/ u: kotlin.Unit?, /*1*/ y: kotlin.Unit?)
|
||||
public final val u: kotlin.Unit?
|
||||
public final val y: kotlin.Unit?
|
||||
@@ -18,7 +18,7 @@ public final value class BarNullable {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class Baz {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class Baz {
|
||||
public constructor Baz(/*0*/ u: kotlin.Nothing, /*1*/ y: kotlin.Nothing)
|
||||
public final val u: kotlin.Nothing
|
||||
public final val y: kotlin.Nothing
|
||||
@@ -27,7 +27,7 @@ public final value class Baz {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class BazNullable {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class BazNullable {
|
||||
public constructor BazNullable(/*0*/ u: kotlin.Nothing?, /*1*/ y: kotlin.Nothing?)
|
||||
public final val u: kotlin.Nothing?
|
||||
public final val y: kotlin.Nothing?
|
||||
@@ -36,14 +36,14 @@ public final value class BazNullable {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class Empty</*0*/ T> {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class Empty</*0*/ T> {
|
||||
public constructor Empty</*0*/ T>()
|
||||
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
|
||||
}
|
||||
|
||||
public final value class Foo</*0*/ T> {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class Foo</*0*/ T> {
|
||||
public constructor Foo</*0*/ T>(/*0*/ x: T, /*1*/ y: T)
|
||||
public final val x: T
|
||||
public final val y: T
|
||||
@@ -52,7 +52,7 @@ public final value class Foo</*0*/ T> {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class FooGenericArray</*0*/ T> {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class FooGenericArray</*0*/ T> {
|
||||
public constructor FooGenericArray</*0*/ T>(/*0*/ x: kotlin.Array<T>, /*1*/ y: kotlin.Array<T>)
|
||||
public final val x: kotlin.Array<T>
|
||||
public final val y: kotlin.Array<T>
|
||||
@@ -61,7 +61,7 @@ public final value class FooGenericArray</*0*/ T> {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class FooGenericArray2</*0*/ T> {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class FooGenericArray2</*0*/ T> {
|
||||
public constructor FooGenericArray2</*0*/ T>(/*0*/ x: kotlin.Array<kotlin.Array<T>>, /*1*/ y: kotlin.Array<kotlin.Array<T>>)
|
||||
public final val x: kotlin.Array<kotlin.Array<T>>
|
||||
public final val y: kotlin.Array<kotlin.Array<T>>
|
||||
@@ -70,7 +70,7 @@ public final value class FooGenericArray2</*0*/ T> {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class FooNullable</*0*/ T> {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class FooNullable</*0*/ T> {
|
||||
public constructor FooNullable</*0*/ T>(/*0*/ x: T?, /*1*/ y: T?)
|
||||
public final val x: T?
|
||||
public final val y: T?
|
||||
@@ -79,7 +79,7 @@ public final value class FooNullable</*0*/ T> {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class FooStarProjectedArray {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class FooStarProjectedArray {
|
||||
public constructor FooStarProjectedArray(/*0*/ x: kotlin.Array<*>, /*1*/ y: kotlin.Array<*>)
|
||||
public final val x: kotlin.Array<*>
|
||||
public final val y: kotlin.Array<*>
|
||||
@@ -88,7 +88,7 @@ public final value class FooStarProjectedArray {
|
||||
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
public final value class FooStarProjectedArray2 {
|
||||
@kotlin.Suppress(names = {"OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE"}) @kotlin.jvm.JvmInline public final value class FooStarProjectedArray2 {
|
||||
public constructor FooStarProjectedArray2(/*0*/ x: kotlin.Array<kotlin.Array<*>>, /*1*/ y: kotlin.Array<kotlin.Array<*>>)
|
||||
public final val x: kotlin.Array<kotlin.Array<*>>
|
||||
public final val y: kotlin.Array<kotlin.Array<*>>
|
||||
|
||||
Reference in New Issue
Block a user