[FIR] Add companion scope before static scope
Static scope is checked first during resolution (scopes are in reverse order). This fixes a difference between how K1 and K2 resolve annotations. #KT-63249 Fixed
This commit is contained in:
committed by
Space Team
parent
2c74a2356a
commit
44b3c66ad7
@@ -0,0 +1,74 @@
|
||||
// FIR_DUMP
|
||||
|
||||
class CompanionOnly {
|
||||
@<!UNRESOLVED_REFERENCE!>Ann<!>
|
||||
companion object {
|
||||
annotation class Ann
|
||||
|
||||
@Ann
|
||||
object Foo
|
||||
}
|
||||
}
|
||||
|
||||
class Test {
|
||||
annotation class Ann
|
||||
|
||||
@Ann
|
||||
companion object {
|
||||
annotation class Ann
|
||||
|
||||
@Ann
|
||||
object Foo
|
||||
}
|
||||
}
|
||||
|
||||
open class Super {
|
||||
annotation class Ann
|
||||
}
|
||||
|
||||
class TestWithSuperAndOwn : Super() {
|
||||
annotation class Ann
|
||||
|
||||
@Ann
|
||||
companion object {
|
||||
annotation class Ann
|
||||
|
||||
@Ann
|
||||
object Foo
|
||||
}
|
||||
}
|
||||
|
||||
class TestWithSuperOnly : Super() {
|
||||
@Ann // Change in resolution from K1 to K2, see KT-64299
|
||||
companion object {
|
||||
annotation class Ann
|
||||
|
||||
@Ann
|
||||
object Foo
|
||||
}
|
||||
}
|
||||
|
||||
open class SuperWithCompanion {
|
||||
companion object {
|
||||
annotation class Ann
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class TestWithSuperWithCompanionOnly : SuperWithCompanion() {
|
||||
@<!UNRESOLVED_REFERENCE!>Ann<!>
|
||||
companion object {
|
||||
annotation class Ann
|
||||
|
||||
@Ann
|
||||
object Foo
|
||||
}
|
||||
}
|
||||
|
||||
class TestWithSuperWithCompanionOnly2 : SuperWithCompanion() {
|
||||
@<!UNRESOLVED_REFERENCE!>Ann<!>
|
||||
companion object {
|
||||
@<!UNRESOLVED_REFERENCE!>Ann<!>
|
||||
object Foo
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user