[FIR] Implement WRONG_MODIFIER_CONTAINING_DECLARATION, DEPRECATED_MODIFIER_CONTAINING_DECLARATION

This commit is contained in:
Ivan Kochurkin
2021-08-04 22:24:51 +03:00
committed by TeamCityServer
parent cd6384eb20
commit 2c1c24c042
52 changed files with 167 additions and 223 deletions
@@ -1,12 +0,0 @@
annotation class My(
public val x: Int,
protected val y: Int,
internal val z: Int,
private val w: Int
)
open class Your {
open val x: Int = 0
}
annotation class His(override val x: Int): <!SUPERTYPES_FOR_ANNOTATION_CLASS!>Your()<!>
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
annotation class My(
public val x: Int,
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> val y: Int,
@@ -1,7 +0,0 @@
interface My {
internal val x: Int
internal val xxx: Int
get() = 0
internal fun foo(): Int
internal fun bar() = 42
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
interface My {
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>internal<!> val x: Int
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>internal<!> val xxx: Int
@@ -2,11 +2,11 @@
fun f(vararg x: Int) {}
val inVal: (vararg x: Int)->Unit = {}
val inVal: (<!WRONG_MODIFIER_CONTAINING_DECLARATION!>vararg<!> x: Int)->Unit = {}
fun inParam(fn: (vararg x: Int)->Unit) {}
fun inParam(fn: (<!WRONG_MODIFIER_CONTAINING_DECLARATION!>vararg<!> x: Int)->Unit) {}
fun inParamNested(fn1: (fn2: (vararg n: Int)->Unit)->Unit) {}
fun inParamNested(fn1: (fn2: (<!WRONG_MODIFIER_CONTAINING_DECLARATION!>vararg<!> n: Int)->Unit)->Unit) {}
fun inReturn(): (vararg x: Int)->Unit = {}
@@ -16,7 +16,7 @@ class A : (vararg Int)->Unit {
}
val prop: (vararg x: Int)->Unit
get(): (vararg x: Int)->Unit = {}
get(): (<!WRONG_MODIFIER_CONTAINING_DECLARATION, WRONG_MODIFIER_CONTAINING_DECLARATION!>vararg<!> x: Int)->Unit = {}
}
val allProhibited: (<!REDUNDANT_MODIFIER, WRONG_MODIFIER_TARGET!>abstract<!>
@@ -44,7 +44,7 @@ val allProhibited: (<!REDUNDANT_MODIFIER, WRONG_MODIFIER_TARGET!>abstract<!>
<!WRONG_MODIFIER_TARGET!>reified<!>
<!INCOMPATIBLE_MODIFIERS!>sealed<!>
<!WRONG_MODIFIER_TARGET!>tailrec<!>
vararg
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>vararg<!>
x: Int)->Unit = {}
@@ -1,12 +0,0 @@
interface My {
<!PRIVATE_PROPERTY_IN_INTERFACE!>private<!> val x: Int
<!INCOMPATIBLE_MODIFIERS!>private<!> <!INCOMPATIBLE_MODIFIERS!>abstract<!> val xx: Int
private val xxx: Int
get() = 0
final val y: Int
final val yy: Int
get() = 1
<!PRIVATE_FUNCTION_WITH_NO_BODY!>private<!> fun foo(): Int
// ok
private fun bar() = 42
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
interface My {
<!PRIVATE_PROPERTY_IN_INTERFACE!>private<!> val x: Int
<!INCOMPATIBLE_MODIFIERS!>private<!> <!INCOMPATIBLE_MODIFIERS!>abstract<!> val xx: Int
@@ -1,21 +0,0 @@
class My(protected val x: Int) {
class Her(protected val x: Int)
inner class Its(protected val x: Int)
}
object Your {
protected fun foo() = 3
}
annotation class His(protected val x: Int)
enum class Our(protected val x: Int) {
FIRST(42) {
protected fun foo() = 13
}
}
interface Their {
protected fun foo() = 7
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
class My(protected val x: Int) {
class Her(protected val x: Int)