[FIR] Fix case with lazy resolve in expect-actual annotation checker
Unresolved annotation arguments were treated as absent arguments, which lead to false-positive reports. Add assert and test for that and fix. MR: KT-MR-12245 ^KT-60671 Fixed
This commit is contained in:
committed by
Space Team
parent
4c75fb108f
commit
0fd700de21
+19
@@ -0,0 +1,19 @@
|
||||
// This test is for the case when expect annotation is FirAnnotationCall and actual annotation is not FirAnnotationCall
|
||||
// MODULE: common
|
||||
// TARGET_PLATFORM: Common
|
||||
expect annotation class Ann(val p: Int)
|
||||
|
||||
@Ann(p = 1)
|
||||
expect class Foo
|
||||
|
||||
// MODULE: main()()(common)
|
||||
// TARGET_PLATFORM: JVM
|
||||
// FILE: Foo.kt
|
||||
actual annotation class Ann actual constructor(actual val p: Int)
|
||||
|
||||
<!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT!>actual typealias <!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT!>Foo<!> = FooImpl<!>
|
||||
|
||||
// FILE: FooImpl.java
|
||||
@Ann(p = 2)
|
||||
public class FooImpl {
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// This test is for the case when expect annotation is FirAnnotationCall and actual annotation is not FirAnnotationCall
|
||||
// MODULE: common
|
||||
// TARGET_PLATFORM: Common
|
||||
expect annotation class Ann(val p: Int)
|
||||
|
||||
@Ann(p = 1)
|
||||
expect class Foo
|
||||
|
||||
// MODULE: main()()(common)
|
||||
// TARGET_PLATFORM: JVM
|
||||
// FILE: Foo.kt
|
||||
actual annotation class Ann actual constructor(actual val p: Int)
|
||||
|
||||
actual typealias <!ACTUAL_ANNOTATIONS_NOT_MATCH_EXPECT!>Foo<!> = FooImpl
|
||||
|
||||
// FILE: FooImpl.java
|
||||
@Ann(p = 2)
|
||||
public class FooImpl {
|
||||
}
|
||||
Reference in New Issue
Block a user