44b3c66ad7
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
74 lines
1.1 KiB
Kotlin
Vendored
74 lines
1.1 KiB
Kotlin
Vendored
// FIR_DUMP
|
|
|
|
class CompanionOnly {
|
|
@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() {
|
|
@Ann
|
|
companion object {
|
|
annotation class Ann
|
|
|
|
@Ann
|
|
object Foo
|
|
}
|
|
}
|
|
|
|
class TestWithSuperWithCompanionOnly2 : SuperWithCompanion() {
|
|
@<!UNRESOLVED_REFERENCE!>Ann<!>
|
|
companion object {
|
|
@<!UNRESOLVED_REFERENCE!>Ann<!>
|
|
object Foo
|
|
}
|
|
} |