Make crossinline and noinline incompatible
This commit is contained in:
@@ -146,6 +146,8 @@ object ModifierCheckerCore {
|
|||||||
// private is compatible with open / abstract only for classes
|
// private is compatible with open / abstract only for classes
|
||||||
result += compatibilityForClassesRegister(PRIVATE_KEYWORD, OPEN_KEYWORD)
|
result += compatibilityForClassesRegister(PRIVATE_KEYWORD, OPEN_KEYWORD)
|
||||||
result += compatibilityForClassesRegister(PRIVATE_KEYWORD, ABSTRACT_KEYWORD)
|
result += compatibilityForClassesRegister(PRIVATE_KEYWORD, ABSTRACT_KEYWORD)
|
||||||
|
|
||||||
|
result += incompatibilityRegister(CROSSINLINE_KEYWORD, NOINLINE_KEYWORD)
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,3 +8,4 @@ fun gav(<!ILLEGAL_INLINE_PARAMETER_MODIFIER!>noinline<!> x: (Int) -> Unit, <!ILL
|
|||||||
|
|
||||||
inline fun correct(noinline x: (Int) -> Unit, crossinline y: (String) -> Int) {}
|
inline fun correct(noinline x: (Int) -> Unit, crossinline y: (String) -> Int) {}
|
||||||
|
|
||||||
|
<!NOTHING_TO_INLINE!>inline<!> fun incompatible(<!INCOMPATIBLE_MODIFIERS!>noinline<!> <!INCOMPATIBLE_MODIFIERS!>crossinline<!> x: () -> String) {}
|
||||||
|
|||||||
@@ -4,3 +4,4 @@ public inline fun bar(/*0*/ y: kotlin.Int, /*1*/ crossinline x: kotlin.String):
|
|||||||
public inline fun correct(/*0*/ noinline x: (kotlin.Int) -> kotlin.Unit, /*1*/ crossinline y: (kotlin.String) -> kotlin.Int): kotlin.Unit
|
public inline fun correct(/*0*/ noinline x: (kotlin.Int) -> kotlin.Unit, /*1*/ crossinline y: (kotlin.String) -> kotlin.Int): kotlin.Unit
|
||||||
public inline fun foo(/*0*/ noinline x: kotlin.Int): kotlin.Unit
|
public inline fun foo(/*0*/ noinline x: kotlin.Int): kotlin.Unit
|
||||||
public fun gav(/*0*/ noinline x: (kotlin.Int) -> kotlin.Unit, /*1*/ crossinline y: (kotlin.String) -> kotlin.Int): kotlin.Unit
|
public fun gav(/*0*/ noinline x: (kotlin.Int) -> kotlin.Unit, /*1*/ crossinline y: (kotlin.String) -> kotlin.Int): kotlin.Unit
|
||||||
|
public inline fun incompatible(/*0*/ crossinline noinline x: () -> kotlin.String): kotlin.Unit
|
||||||
|
|||||||
Reference in New Issue
Block a user