[FIR] Report the use of inline on primary constructor parameters

^KT-59664 Fixed
This commit is contained in:
Nikolay Lunyak
2023-08-22 15:09:29 +03:00
committed by Space Team
parent 6c4f6907ea
commit 77feb86a85
21 changed files with 262 additions and 9 deletions
@@ -0,0 +1,23 @@
// ISSUE: KT-59664
// LANGUAGE: -ProhibitInlineModifierOnPrimaryConstructorParameters
// WITH_STDLIB
enum class Foo(<!INLINE_PROPERTY_WITH_BACKING_FIELD_DEPRECATION_WARNING!>open inline /* no effect */ val bar: String<!>) {
A("super") {
override val bar: String
get() = super.bar + " overridden"
};
}
enum class Bar() {
A {
override val bar: String
get() = super.bar + " overridden"
};
open <!DECLARATION_CANT_BE_INLINED!>inline<!> val bar: String get() = "puper"
}
fun main() {
println(Foo.A.bar)
}
@@ -0,0 +1,23 @@
// ISSUE: KT-59664
// LANGUAGE: -ProhibitInlineModifierOnPrimaryConstructorParameters
// WITH_STDLIB
enum class Foo(open inline /* no effect */ val bar: String) {
A("super") {
override val bar: String
get() = super.bar + " overridden"
};
}
enum class Bar() {
A {
override val bar: String
get() = super.bar + " overridden"
};
open <!DECLARATION_CANT_BE_INLINED_WARNING!>inline<!> val bar: String get() = "puper"
}
fun main() {
println(Foo.A.bar)
}
@@ -0,0 +1,23 @@
// ISSUE: KT-59664
// LANGUAGE: +ProhibitInlineModifierOnPrimaryConstructorParameters
// WITH_STDLIB
enum class Foo(<!INLINE_PROPERTY_WITH_BACKING_FIELD_DEPRECATION_ERROR!>open inline /* no effect */ val bar: String<!>) {
A("super") {
override val bar: String
get() = super.bar + " overridden"
};
}
enum class Bar() {
A {
override val bar: String
get() = super.bar + " overridden"
};
open <!DECLARATION_CANT_BE_INLINED!>inline<!> val bar: String get() = "puper"
}
fun main() {
println(Foo.A.bar)
}
@@ -0,0 +1,23 @@
// ISSUE: KT-59664
// LANGUAGE: +ProhibitInlineModifierOnPrimaryConstructorParameters
// WITH_STDLIB
enum class Foo(open inline /* no effect */ val bar: String) {
A("super") {
override val bar: String
get() = super.bar + " overridden"
};
}
enum class Bar() {
A {
override val bar: String
get() = super.bar + " overridden"
};
open <!DECLARATION_CANT_BE_INLINED_WARNING!>inline<!> val bar: String get() = "puper"
}
fun main() {
println(Foo.A.bar)
}