Prohibit inline modifier on property, getter or setter
This commit is contained in:
@@ -77,7 +77,7 @@ public object ModifierCheckerCore {
|
||||
COMPANION_KEYWORD to EnumSet.of(OBJECT),
|
||||
LATEINIT_KEYWORD to EnumSet.of(MEMBER_PROPERTY),
|
||||
DATA_KEYWORD to EnumSet.of(CLASS_ONLY, INNER_CLASS, LOCAL_CLASS),
|
||||
INLINE_KEYWORD to EnumSet.of(FUNCTION, PROPERTY_GETTER, PROPERTY_SETTER, PROPERTY),
|
||||
INLINE_KEYWORD to EnumSet.of(FUNCTION),
|
||||
NOINLINE_KEYWORD to EnumSet.of(VALUE_PARAMETER),
|
||||
TAILREC_KEYWORD to EnumSet.of(FUNCTION),
|
||||
EXTERNAL_KEYWORD to EnumSet.of(FUNCTION, PROPERTY_GETTER, PROPERTY_SETTER),
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
import java.io.*
|
||||
|
||||
inline val InputStream.buffered : BufferedInputStream
|
||||
<!WRONG_MODIFIER_TARGET!>inline<!> val InputStream.buffered : BufferedInputStream
|
||||
get() = if(this is BufferedInputStream) <!DEBUG_INFO_SMARTCAST!>this<!> else BufferedInputStream(this)
|
||||
|
||||
inline val Reader.buffered : BufferedReader
|
||||
<!WRONG_MODIFIER_TARGET!>inline<!> val Reader.buffered : BufferedReader
|
||||
get() = if(this is BufferedReader) <!DEBUG_INFO_SMARTCAST!>this<!> else BufferedReader(this)
|
||||
|
||||
|
||||
|
||||
@@ -15,9 +15,12 @@ abstract class A() {
|
||||
class FinalClass() {
|
||||
<!NON_FINAL_MEMBER_IN_FINAL_CLASS!>open<!> fun foo() {}
|
||||
val i: Int = 1
|
||||
<!WRONG_MODIFIER_TARGET!>open<!> get(): Int = field
|
||||
<!WRONG_MODIFIER_TARGET!>open<!> <!WRONG_MODIFIER_TARGET!>inline<!> get(): Int = field
|
||||
var j: Int = 1
|
||||
<!WRONG_MODIFIER_TARGET!>open<!> set(v: Int) {}
|
||||
<!WRONG_MODIFIER_TARGET!>open<!> <!WRONG_MODIFIER_TARGET!>inline<!> set(v: Int) {}
|
||||
|
||||
<!WRONG_MODIFIER_TARGET!>inline<!> val f: ()->Unit
|
||||
get() = {}
|
||||
}
|
||||
|
||||
<!INCOMPATIBLE_MODIFIERS!>private<!> <!INCOMPATIBLE_MODIFIERS!>public<!> class C
|
||||
|
||||
@@ -29,6 +29,7 @@ package illegal_modifiers {
|
||||
|
||||
public final class FinalClass {
|
||||
public constructor FinalClass()
|
||||
public final val f: () -> kotlin.Unit
|
||||
public final val i: kotlin.Int = 1
|
||||
public final var j: kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
|
||||
@@ -19,7 +19,7 @@ inline public fun myArrayList<T>(vararg values: T): ArrayList<T> {
|
||||
return c
|
||||
}
|
||||
|
||||
inline public val <T> ArrayList<T>.myHead: T
|
||||
public val <T> ArrayList<T>.myHead: T
|
||||
get() {
|
||||
return get(0)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user