[FIR] Add SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC

This commit is contained in:
Ivan Kochurkin
2021-09-06 21:39:11 +03:00
committed by teamcityserver
parent 55990f65cb
commit dd46c36b24
13 changed files with 115 additions and 22 deletions
@@ -3,7 +3,7 @@ open class VeryBase {
}
open class Base {
protected fun foo() {
protected fun foo() {
bar() // Ok
baz() // Ok
}
@@ -25,14 +25,14 @@ open class Base {
baz() // Ok
}
}
companion object : VeryBase() {
var prop = 42
protected set
protected fun bar() {}
@JvmStatic protected fun gav() {}
@JvmStatic protected fun gav() {}
class Nested {
fun fromNested() {
@@ -47,27 +47,27 @@ class Derived : Base() {
fun test() {
foo() // Ok
gav() // Ok
bar()
baz()
prop = 0
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>bar<!>()
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>baz<!>()
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>prop<!> = 0
}
inner class DerivedInner {
fun fromDerivedInner() {
foo() // Ok
gav() // Ok
bar()
baz()
prop = 0
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>bar<!>()
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>baz<!>()
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>prop<!> = 0
}
}
companion object {
fun test2() {
gav() // Ok
bar()
baz()
prop = 0
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>bar<!>()
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>baz<!>()
<!SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC!>prop<!> = 0
}
}
}
@@ -3,7 +3,7 @@ open class VeryBase {
}
open class Base {
protected fun foo() {
protected fun foo() {
bar() // Ok
baz() // Ok
}
@@ -25,14 +25,14 @@ open class Base {
baz() // Ok
}
}
companion object : VeryBase() {
var prop = 42
protected set
protected fun bar() {}
@JvmStatic protected fun gav() {}
@JvmStatic protected fun gav() {}
class Nested {
fun fromNested() {