K1: report warning for inline virtual member in enum #KT-53148 Fixed

Related to KT-34372
This commit is contained in:
Mikhail Glukhikh
2022-07-12 11:34:42 +02:00
committed by Space
parent f509a756fd
commit 475e40b3e4
10 changed files with 75 additions and 2 deletions
@@ -0,0 +1,12 @@
enum class Some {
A {
<!OVERRIDE_BY_INLINE!>override fun foo(s: () -> String): String<!> {
return s() + s()
}
};
//SHOULD BE ERROR REPORTED
open <!DECLARATION_CANT_BE_INLINED!>inline<!> fun foo(s: () -> String): String {
return s()
}
}
@@ -0,0 +1,12 @@
enum class Some {
A {
override fun foo(s: () -> String): String {
return s() + s()
}
};
//SHOULD BE ERROR REPORTED
open <!DECLARATION_CANT_BE_INLINED_WARNING!>inline<!> fun foo(s: () -> String): String {
return s()
}
}
@@ -0,0 +1,21 @@
package
public final enum class Some : kotlin.Enum<Some> {
enum entry A
private constructor Some()
@kotlin.internal.IntrinsicConstEvaluation public final override /*1*/ /*fake_override*/ val name: kotlin.String
public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int
protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any
public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: Some): kotlin.Int
public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
protected/*protected and package*/ final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun finalize(): kotlin.Unit
public open inline fun foo(/*0*/ s: () -> kotlin.String): kotlin.String
public final override /*1*/ /*fake_override*/ /*isHiddenForResolutionEverywhereBesideSupercalls*/ fun getDeclaringClass(): java.lang.Class<Some!>!
public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
// Static members
public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): Some
public final /*synthesized*/ fun values(): kotlin.Array<Some>
}