[FIR2IR] Set type arguments on annotation calls

#KT-58553 Fixed
This commit is contained in:
Kirill Rakhman
2023-05-23 15:49:00 +02:00
committed by Space Team
parent 8091aebbc7
commit 9ca9fc9c68
4 changed files with 29 additions and 22 deletions
@@ -219,11 +219,11 @@ FILE fqName:ann fileName:/genericAnnotationClasses.kt
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
CLASS CLASS name:CC modality:FINAL visibility:public superTypes:[kotlin.Any]
annotations:
Test1(x = '42')
Test2(x = '38')
Test3(x = Test1<ann.I<ann.C<kotlin.String>>>(x = '39'))
Test1<ann.ARG>(x = '42')
Test2<kotlin.String, kotlin.String>(x = '38')
Test3<kotlin.String, ann.C<kotlin.String>>(x = Test1<ann.I<ann.C<kotlin.String>>>(x = '39'))
Test4(x = [Test3<IrErrorType(null), IrErrorType(null)>(x = Test1<IrErrorType(null)>(x = '40')), Test3<IrErrorType(null), IrErrorType(null)>(x = Test1<IrErrorType(null)>(x = '50')), Test3<IrErrorType(null), IrErrorType(null)>(x = Test1<IrErrorType(null)>(x = '60'))])
Test5(xs = [Test3<ann.ARG, ann.C<ann.ARG>>(x = Test1<ann.I<ann.C<ann.ARG>>>(x = '70')), Test3<ann.ARG, ann.C<ann.ARG>>(x = Test1<ann.I<ann.C<ann.ARG>>>(x = '80'))])
Test5<ann.ARG>(xs = [Test3<ann.ARG, ann.C<ann.ARG>>(x = Test1<ann.I<ann.C<ann.ARG>>>(x = '70')), Test3<ann.ARG, ann.C<ann.ARG>>(x = Test1<ann.I<ann.C<ann.ARG>>>(x = '80'))])
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:ann.CC
CONSTRUCTOR visibility:public <> () returnType:ann.CC [primary]
BLOCK_BODY
@@ -87,11 +87,11 @@ open annotation class Test5<T : Any?> : Annotation {
}
@Test1(x = 42)
@Test2(x = 38)
@Test3(x = Test1<I<C<String>>>(x = 39))
@Test1<ARG>(x = 42)
@Test2<String, String>(x = 38)
@Test3<String, C<String>>(x = Test1<I<C<String>>>(x = 39))
@Test4(x = [Test3<ErrorType, ErrorType>(x = Test1<ErrorType>(x = 40)), Test3<ErrorType, ErrorType>(x = Test1<ErrorType>(x = 50)), Test3<ErrorType, ErrorType>(x = Test1<ErrorType>(x = 60))])
@Test5(xs = [Test3<ARG, C<ARG>>(x = Test1<I<C<ARG>>>(x = 70)), Test3<ARG, C<ARG>>(x = Test1<I<C<ARG>>>(x = 80))])
@Test5<ARG>(xs = [Test3<ARG, C<ARG>>(x = Test1<I<C<ARG>>>(x = 70)), Test3<ARG, C<ARG>>(x = Test1<I<C<ARG>>>(x = 80))])
class CC {
constructor() /* primary */ {
super/*Any*/()