[FIR] CustomAnnotationTypeAttribute: support type aliases

^KTIJ-23547
^KTIJ-24141
This commit is contained in:
Dmitrii Gridin
2023-01-17 15:39:09 +01:00
committed by Space Team
parent 0e2967e520
commit 73cdaf5c3c
11 changed files with 116 additions and 12 deletions
@@ -0,0 +1 @@
fun foo(): @Anno3 @Anno2 @Anno1 BaseInterface
@@ -0,0 +1,33 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: /foo
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isBuiltinFunctionInvoke: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: false
isSuspend: false
modality: FINAL
name: foo
origin: SOURCE
receiverParameter: null
returnType: [
Anno3()
psi: KtAnnotationEntry
Anno2()
psi: KtAnnotationEntry
Anno1()
psi: KtAnnotationEntry
] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias
symbolKind: TOP_LEVEL
typeParameters: []
valueParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -0,0 +1,17 @@
// DO_NOT_CHECK_NON_PSI_SYMBOL_RESTORE_K1
// PRETTY_RENDERER_OPTION: FULLY_EXPANDED_TYPES
@Target(AnnotationTarget.TYPE)
annotation class Anno1
@Target(AnnotationTarget.TYPE)
annotation class Anno2
@Target(AnnotationTarget.TYPE)
annotation class Anno3
interface BaseInterface
typealias FirstTypeAlias = @Anno1 BaseInterface
typealias SecondTypeAlias = @Anno2 FirstTypeAlias
fun f<caret>oo(): @Anno3 SecondTypeAlias {
}
@@ -0,0 +1 @@
fun foo(): @Anno1 @Anno2 @Anno3 BaseInterface
@@ -0,0 +1,33 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: /foo
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isBuiltinFunctionInvoke: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: false
isSuspend: false
modality: FINAL
name: foo
origin: SOURCE
receiverParameter: null
returnType: [
Anno1()
psi: KtAnnotationEntry
Anno2()
psi: KtAnnotationEntry
Anno3()
psi: KtAnnotationEntry
] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseInterface
symbolKind: TOP_LEVEL
typeParameters: []
valueParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null