[FIR] Implement WRONG_MODIFIER_CONTAINING_DECLARATION, DEPRECATED_MODIFIER_CONTAINING_DECLARATION
This commit is contained in:
committed by
TeamCityServer
parent
cd6384eb20
commit
2c1c24c042
-23
@@ -1,23 +0,0 @@
|
||||
// !LANGUAGE: +NestedClassesInAnnotations
|
||||
|
||||
annotation class Foo {
|
||||
class Nested
|
||||
|
||||
inner class Inner
|
||||
|
||||
enum class E { A, B }
|
||||
object O
|
||||
interface I
|
||||
annotation class Anno(val e: E)
|
||||
|
||||
companion object {
|
||||
val x = 1
|
||||
const val y = ""
|
||||
}
|
||||
|
||||
|
||||
<!ANNOTATION_CLASS_MEMBER!>constructor(s: Int) {}<!>
|
||||
<!ANNOTATION_CLASS_MEMBER!>init {}<!>
|
||||
<!ANNOTATION_CLASS_MEMBER!>fun function() {}<!>
|
||||
<!ANNOTATION_CLASS_MEMBER!>val property get() = Unit<!>
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !LANGUAGE: +NestedClassesInAnnotations
|
||||
|
||||
annotation class Foo {
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
// !DIAGNOSTICS: -DUPLICATE_CLASS_NAMES
|
||||
package Jet86
|
||||
|
||||
class A {
|
||||
companion <!REDECLARATION!>object<!> {
|
||||
val x = 1
|
||||
}
|
||||
<!MANY_COMPANION_OBJECTS!>companion<!> <!REDECLARATION!>object<!> {
|
||||
val x = 1
|
||||
}
|
||||
}
|
||||
|
||||
class AA {
|
||||
companion object {
|
||||
val x = 1
|
||||
}
|
||||
<!MANY_COMPANION_OBJECTS!>companion<!> object A {
|
||||
val x = 1
|
||||
}
|
||||
<!MANY_COMPANION_OBJECTS!>companion<!> object AA {
|
||||
val x = 1
|
||||
}
|
||||
}
|
||||
|
||||
class B() {
|
||||
val x = 12
|
||||
}
|
||||
|
||||
object b {
|
||||
companion object {
|
||||
val x = 1
|
||||
} // error
|
||||
}
|
||||
|
||||
val a = A.x
|
||||
val c = B.<!UNRESOLVED_REFERENCE!>x<!>
|
||||
val d = b.<!UNRESOLVED_REFERENCE!>x<!>
|
||||
|
||||
val s = <!NO_COMPANION_OBJECT!>System<!> // error
|
||||
fun test() {
|
||||
System.out.println()
|
||||
java.lang.System.out.println()
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
// !DIAGNOSTICS: -DUPLICATE_CLASS_NAMES
|
||||
package Jet86
|
||||
|
||||
|
||||
-9
@@ -1,9 +0,0 @@
|
||||
fun test() {
|
||||
class A {
|
||||
companion object {}
|
||||
}
|
||||
|
||||
object {
|
||||
companion object {}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
fun test() {
|
||||
class A {
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>companion<!> object {}
|
||||
|
||||
+3
-3
@@ -9,9 +9,9 @@ class A {
|
||||
}
|
||||
|
||||
object O {
|
||||
companion object A
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>companion<!> object A
|
||||
|
||||
<!MANY_COMPANION_OBJECTS!>companion<!> object B
|
||||
<!MANY_COMPANION_OBJECTS, WRONG_MODIFIER_CONTAINING_DECLARATION!>companion<!> object B
|
||||
|
||||
<!MANY_COMPANION_OBJECTS!>companion<!> object C
|
||||
<!MANY_COMPANION_OBJECTS, WRONG_MODIFIER_CONTAINING_DECLARATION!>companion<!> object C
|
||||
}
|
||||
|
||||
Vendored
-5
@@ -1,5 +0,0 @@
|
||||
interface T {
|
||||
final fun component1(): Int = 42
|
||||
}
|
||||
|
||||
<!DATA_CLASS_OVERRIDE_CONFLICT!>data<!> class A(val x: Int) : T
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
interface T {
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>final<!> fun component1(): Int = 42
|
||||
}
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<!INCOMPATIBLE_MODIFIERS!>inner<!> <!INCOMPATIBLE_MODIFIERS!>data<!> class Outer(val x: Int)
|
||||
@@ -1 +1,2 @@
|
||||
// FIR_IDENTICAL
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>inner<!> <!INCOMPATIBLE_MODIFIERS!>data<!> class Outer(val x: Int)
|
||||
@@ -1,17 +0,0 @@
|
||||
//KT-2397 Prohibit final methods in traits with no implementation
|
||||
package a
|
||||
|
||||
interface T {
|
||||
final fun foo()
|
||||
final val b : Int
|
||||
|
||||
final fun bar() {}
|
||||
final val c : Int
|
||||
get() = 42
|
||||
|
||||
final val d = <!PROPERTY_INITIALIZER_IN_INTERFACE!>1<!>
|
||||
}
|
||||
|
||||
class A {
|
||||
<!NON_ABSTRACT_FUNCTION_WITH_NO_BODY!>final fun foo()<!>
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
//KT-2397 Prohibit final methods in traits with no implementation
|
||||
package a
|
||||
|
||||
|
||||
compiler/testData/diagnostics/tests/declarationChecks/propertyInPackageHasNoInheritVisibility.fir.kt
Vendored
-10
@@ -1,10 +0,0 @@
|
||||
package d
|
||||
|
||||
<!WRONG_MODIFIER_TARGET!>override<!> val f : ()-> Int = { 12 }
|
||||
|
||||
fun test() {
|
||||
f()
|
||||
}
|
||||
|
||||
var g: Int = 1
|
||||
protected set(i: Int) {}
|
||||
Vendored
+1
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
package d
|
||||
|
||||
<!WRONG_MODIFIER_TARGET!>override<!> val f : ()-> Int = { 12 }
|
||||
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
enum class E {
|
||||
FIRST,
|
||||
|
||||
SECOND {
|
||||
companion object {
|
||||
fun foo() = 42
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
fun f() = E.SECOND.<!UNRESOLVED_REFERENCE!>foo<!>()
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
enum class E {
|
||||
FIRST,
|
||||
|
||||
|
||||
+2
-2
@@ -16,7 +16,7 @@ inline class A9(final val x: Int)
|
||||
class B1 {
|
||||
companion object {
|
||||
inline class C1(val x: Int)
|
||||
inner <!INLINE_CLASS_NOT_TOP_LEVEL!>inline<!> class C11(val x: Int)
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>inner<!> <!INLINE_CLASS_NOT_TOP_LEVEL!>inline<!> class C11(val x: Int)
|
||||
}
|
||||
|
||||
inline class C2(val x: Int)
|
||||
@@ -25,7 +25,7 @@ class B1 {
|
||||
|
||||
object B2 {
|
||||
inline class C3(val x: Int)
|
||||
inner <!INLINE_CLASS_NOT_TOP_LEVEL!>inline<!> class C31(val x: Int)
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>inner<!> <!INLINE_CLASS_NOT_TOP_LEVEL!>inline<!> class C31(val x: Int)
|
||||
}
|
||||
|
||||
fun foo() {
|
||||
|
||||
@@ -4,11 +4,11 @@ class A<T> {
|
||||
class B {
|
||||
fun test() {
|
||||
class C<W>() : P<W, <!UNRESOLVED_REFERENCE!>T<!>> {
|
||||
companion object : P<W, <!UNRESOLVED_REFERENCE!>T<!>> {
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>companion<!> object : P<W, <!UNRESOLVED_REFERENCE!>T<!>> {
|
||||
}
|
||||
|
||||
inner class D : P<W, <!UNRESOLVED_REFERENCE!>T<!>>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -2,7 +2,7 @@
|
||||
|
||||
enum class Enum {
|
||||
ENTRY_WITH_CLASS {
|
||||
inner class TestInner
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>inner<!> class TestInner
|
||||
|
||||
<!NESTED_CLASS_NOT_ALLOWED!>class TestNested<!>
|
||||
|
||||
@@ -14,6 +14,6 @@ enum class Enum {
|
||||
OTHER_ENTRY
|
||||
}
|
||||
|
||||
companion object {}
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>companion<!> object {}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -14,6 +14,6 @@ enum class Enum {
|
||||
OTHER_ENTRY
|
||||
}
|
||||
|
||||
companion object {}
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>companion<!> object {}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -14,6 +14,6 @@ enum class Enum {
|
||||
OTHER_ENTRY
|
||||
}
|
||||
|
||||
companion object {}
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>companion<!> object {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
+5
-5
@@ -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)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ open class C {
|
||||
}
|
||||
|
||||
interface T {
|
||||
protected fun foo() {}
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> fun foo() {}
|
||||
}
|
||||
|
||||
class G : C(), T {
|
||||
@@ -18,7 +18,7 @@ open class A {
|
||||
}
|
||||
|
||||
interface B {
|
||||
protected fun foo() {}
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> fun foo() {}
|
||||
}
|
||||
|
||||
interface D {
|
||||
@@ -27,4 +27,4 @@ interface D {
|
||||
|
||||
class E : A(), B, D {
|
||||
override fun foo() {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
//FILE:a.kt
|
||||
package test_visibility
|
||||
|
||||
protected class ProtectedClass
|
||||
protected interface ProtectedTrait
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> class ProtectedClass
|
||||
<!WRONG_MODIFIER_CONTAINING_DECLARATION!>protected<!> interface ProtectedTrait
|
||||
|
||||
<!WRONG_MODIFIER_TARGET!>protected<!> val protected_val : Int = 4
|
||||
<!WRONG_MODIFIER_TARGET!>protected<!> fun protected_fun() {}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
class My {
|
||||
var x: String = ""
|
||||
set(vararg value) {
|
||||
set(<!WRONG_MODIFIER_CONTAINING_DECLARATION!>vararg<!> value) {
|
||||
x = <!ASSIGNMENT_TYPE_MISMATCH!>value<!>
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
interface Test<in I, out O> {
|
||||
val internal_val: <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
public val public_val: <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
protected val protected_val: <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
<!PRIVATE_PROPERTY_IN_INTERFACE!>private<!> val private_val: I
|
||||
|
||||
var interlan_private_set: <!TYPE_VARIANCE_CONFLICT!>O<!>
|
||||
<!PRIVATE_SETTER_FOR_ABSTRACT_PROPERTY!>private<!> set
|
||||
public var public_private_set: <!TYPE_VARIANCE_CONFLICT!>O<!>
|
||||
<!PRIVATE_SETTER_FOR_ABSTRACT_PROPERTY!>private<!> set
|
||||
protected var protected_private_set: <!TYPE_VARIANCE_CONFLICT!>O<!>
|
||||
<!PRIVATE_SETTER_FOR_ABSTRACT_PROPERTY!>private<!> set
|
||||
<!PRIVATE_PROPERTY_IN_INTERFACE!>private<!> var private_private_set: O
|
||||
private set
|
||||
|
||||
fun internal_fun(i: <!TYPE_VARIANCE_CONFLICT!>O<!>) : <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
public fun public_fun(i: <!TYPE_VARIANCE_CONFLICT!>O<!>) : <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
protected fun protected_fun(i: <!TYPE_VARIANCE_CONFLICT!>O<!>) : <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
<!PRIVATE_FUNCTION_WITH_NO_BODY!>private<!> fun private_fun(i: O) : I
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
// FIR_IDENTICAL
|
||||
interface Test<in I, out O> {
|
||||
val internal_val: <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
public val public_val: <!TYPE_VARIANCE_CONFLICT!>I<!>
|
||||
|
||||
Reference in New Issue
Block a user