Use more specific error for secondary constructor bodies in inline classes
- Also, this error allows IDE to provide quick-fix that changes language version in a project that simplifies the adoption - There is no point in changing K2 part as there this feature will be enabled by default ^KT-56224 Fixed
This commit is contained in:
committed by
Space Team
parent
f3e022e4ca
commit
c586d7a03a
Vendored
+9
@@ -0,0 +1,9 @@
|
||||
// !LANGUAGE: -ValueClassesSecondaryConstructorWithBody
|
||||
// WITH_STDLIB
|
||||
|
||||
@JvmInline
|
||||
value class Foo(val x: String) {
|
||||
constructor(i: Int) : this(i.toString()) <!SECONDARY_CONSTRUCTOR_WITH_BODY_INSIDE_VALUE_CLASS!>{
|
||||
println(i)
|
||||
}<!>
|
||||
}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
// !LANGUAGE: -ValueClassesSecondaryConstructorWithBody
|
||||
// WITH_STDLIB
|
||||
|
||||
@JvmInline
|
||||
value class Foo(val x: String) {
|
||||
constructor(i: Int) : this(i.toString()) <!UNSUPPORTED_FEATURE!>{<!>
|
||||
println(i)
|
||||
}
|
||||
}
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
package
|
||||
|
||||
@kotlin.jvm.JvmInline public final value class Foo {
|
||||
public constructor Foo(/*0*/ i: kotlin.Int)
|
||||
public constructor Foo(/*0*/ x: kotlin.String)
|
||||
public final val x: kotlin.String
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user