diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated.java index f59d94e40f2..fed01d8502d 100644 --- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated.java +++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated.java @@ -106,6 +106,72 @@ public class Fe10IdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated extends runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/setterWithAnnotations.kt"); } + @Test + @TestMetadata("typeAnnotationsOnFunctionParameterType.kt") + public void testTypeAnnotationsOnFunctionParameterType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnFunctionReceiverType.kt") + public void testTypeAnnotationsOnFunctionReceiverType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertyGetterReturnType.kt") + public void testTypeAnnotationsOnPropertyGetterReturnType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertyReceiverType.kt") + public void testTypeAnnotationsOnPropertyReceiverType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertyReturnType.kt") + public void testTypeAnnotationsOnPropertyReturnType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertySetterParameterType.kt") + public void testTypeAnnotationsOnPropertySetterParameterType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.kt") + public void testTypeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnSuperClassCall.kt") + public void testTypeAnnotationsOnSuperClassCall() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnSuperClassCallOnAnonymousObject.kt") + public void testTypeAnnotationsOnSuperClassCallOnAnonymousObject() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnSuperInterface.kt") + public void testTypeAnnotationsOnSuperInterface() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnSuperInterfaceOnAnonymousObject.kt") + public void testTypeAnnotationsOnSuperInterfaceOnAnonymousObject() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.kt"); + } + @Test @TestMetadata("typeAnnotationsWithTypeAlias.kt") public void testTypeAnnotationsWithTypeAlias() throws Exception { diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java index f3ba80092af..b2f5c881664 100644 --- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java +++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/symbols/Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java @@ -124,6 +124,12 @@ public class Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated ext runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaField.kt"); } + @Test + @TestMetadata("javaFieldWithTypeAnnotation.kt") + public void testJavaFieldWithTypeAnnotation() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.kt"); + } + @Test @TestMetadata("javaMethod.kt") public void testJavaMethod() throws Exception { @@ -178,6 +184,12 @@ public class Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated ext runTest("analysis/analysis-api/testData/symbols/symbolByReference/setterValueParameter.kt"); } + @Test + @TestMetadata("typeAnnotationOnBackingField.kt") + public void testTypeAnnotationOnBackingField() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.kt"); + } + @Test @TestMetadata("valueParameter.kt") public void testValueParameter() throws Exception { diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated.java index 4793495cb41..3710ca6415b 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated.java @@ -106,6 +106,72 @@ public class FirIdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated extends runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/setterWithAnnotations.kt"); } + @Test + @TestMetadata("typeAnnotationsOnFunctionParameterType.kt") + public void testTypeAnnotationsOnFunctionParameterType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnFunctionReceiverType.kt") + public void testTypeAnnotationsOnFunctionReceiverType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertyGetterReturnType.kt") + public void testTypeAnnotationsOnPropertyGetterReturnType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertyReceiverType.kt") + public void testTypeAnnotationsOnPropertyReceiverType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertyReturnType.kt") + public void testTypeAnnotationsOnPropertyReturnType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertySetterParameterType.kt") + public void testTypeAnnotationsOnPropertySetterParameterType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.kt") + public void testTypeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnSuperClassCall.kt") + public void testTypeAnnotationsOnSuperClassCall() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnSuperClassCallOnAnonymousObject.kt") + public void testTypeAnnotationsOnSuperClassCallOnAnonymousObject() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnSuperInterface.kt") + public void testTypeAnnotationsOnSuperInterface() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnSuperInterfaceOnAnonymousObject.kt") + public void testTypeAnnotationsOnSuperInterfaceOnAnonymousObject() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.kt"); + } + @Test @TestMetadata("typeAnnotationsWithTypeAlias.kt") public void testTypeAnnotationsWithTypeAlias() throws Exception { diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java index dfd9fbca8e3..3cabe49a8bd 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/symbols/FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java @@ -124,6 +124,12 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaField.kt"); } + @Test + @TestMetadata("javaFieldWithTypeAnnotation.kt") + public void testJavaFieldWithTypeAnnotation() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.kt"); + } + @Test @TestMetadata("javaMethod.kt") public void testJavaMethod() throws Exception { @@ -178,6 +184,12 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte runTest("analysis/analysis-api/testData/symbols/symbolByReference/setterValueParameter.kt"); } + @Test + @TestMetadata("typeAnnotationOnBackingField.kt") + public void testTypeAnnotationOnBackingField() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.kt"); + } + @Test @TestMetadata("valueParameter.kt") public void testValueParameter() throws Exception { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSingleSymbolByPsiGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSingleSymbolByPsiGenerated.java index f4a2f61e47b..ba83941b646 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSingleSymbolByPsiGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSingleSymbolByPsiGenerated.java @@ -106,6 +106,72 @@ public class FirStandaloneNormalAnalysisSourceModuleSingleSymbolByPsiGenerated e runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/setterWithAnnotations.kt"); } + @Test + @TestMetadata("typeAnnotationsOnFunctionParameterType.kt") + public void testTypeAnnotationsOnFunctionParameterType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnFunctionReceiverType.kt") + public void testTypeAnnotationsOnFunctionReceiverType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertyGetterReturnType.kt") + public void testTypeAnnotationsOnPropertyGetterReturnType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertyReceiverType.kt") + public void testTypeAnnotationsOnPropertyReceiverType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertyReturnType.kt") + public void testTypeAnnotationsOnPropertyReturnType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertySetterParameterType.kt") + public void testTypeAnnotationsOnPropertySetterParameterType() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.kt") + public void testTypeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnSuperClassCall.kt") + public void testTypeAnnotationsOnSuperClassCall() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnSuperClassCallOnAnonymousObject.kt") + public void testTypeAnnotationsOnSuperClassCallOnAnonymousObject() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnSuperInterface.kt") + public void testTypeAnnotationsOnSuperInterface() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.kt"); + } + + @Test + @TestMetadata("typeAnnotationsOnSuperInterfaceOnAnonymousObject.kt") + public void testTypeAnnotationsOnSuperInterfaceOnAnonymousObject() throws Exception { + runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.kt"); + } + @Test @TestMetadata("typeAnnotationsWithTypeAlias.kt") public void testTypeAnnotationsWithTypeAlias() throws Exception { diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java index 5efc66138fa..290fadba8c5 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/symbols/FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerated.java @@ -124,6 +124,12 @@ public class FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerat runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaField.kt"); } + @Test + @TestMetadata("javaFieldWithTypeAnnotation.kt") + public void testJavaFieldWithTypeAnnotation() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.kt"); + } + @Test @TestMetadata("javaMethod.kt") public void testJavaMethod() throws Exception { @@ -178,6 +184,12 @@ public class FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerat runTest("analysis/analysis-api/testData/symbols/symbolByReference/setterValueParameter.kt"); } + @Test + @TestMetadata("typeAnnotationOnBackingField.kt") + public void testTypeAnnotationOnBackingField() throws Exception { + runTest("analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.kt"); + } + @Test @TestMetadata("valueParameter.kt") public void testValueParameter() throws Exception { diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.descriptors.pretty.txt new file mode 100644 index 00000000000..59ae7296ae0 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.descriptors.pretty.txt @@ -0,0 +1 @@ +fun foo(para: @Anno3 @Anno2 @Anno1 BaseInterface) diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.descriptors.txt new file mode 100644 index 00000000000..4943768fe41 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.descriptors.txt @@ -0,0 +1,53 @@ +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: kotlin/Unit + symbolKind: TOP_LEVEL + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: para + origin: SOURCE + receiverParameter: null + returnType: [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + ] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.kt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.kt new file mode 100644 index 00000000000..f63afaa570f --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.kt @@ -0,0 +1,18 @@ +// 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 foo(para: @Anno3 SecondTypeAlias) { + +} diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.pretty.txt new file mode 100644 index 00000000000..eeb5c262c2b --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.pretty.txt @@ -0,0 +1 @@ +fun foo(para: @Anno1 @Anno2 @Anno3 BaseInterface) \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.txt new file mode 100644 index 00000000000..f60be7e4336 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionParameterType.txt @@ -0,0 +1,53 @@ +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: kotlin/Unit + symbolKind: TOP_LEVEL + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: para + origin: SOURCE + receiverParameter: null + returnType: [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseInterface + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + ] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.descriptors.pretty.txt new file mode 100644 index 00000000000..b3fd058becb --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.descriptors.pretty.txt @@ -0,0 +1 @@ +fun @Anno3 @Anno2 @Anno1 BaseInterface.foo() diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.descriptors.txt new file mode 100644 index 00000000000..c0ef4ea599b --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.descriptors.txt @@ -0,0 +1,39 @@ +KtFunctionSymbol: + annotationsList: [] + callableIdIfNonLocal: /foo + contextReceivers: [] + contractEffects: [] + hasStableParameterNames: true + isBuiltinFunctionInvoke: false + isExtension: true + isExternal: false + isInfix: false + isInline: false + isOperator: false + isOverride: false + isStatic: false + isSuspend: false + modality: FINAL + name: foo + origin: SOURCE + receiverParameter: KtReceiverParameterSymbol: + annotationsList: [] + origin: SOURCE + owningCallableSymbol: KtFunctionSymbol(/foo) + type: [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + returnType: kotlin/Unit + symbolKind: TOP_LEVEL + typeParameters: [] + valueParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.kt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.kt new file mode 100644 index 00000000000..2d72e3de9dc --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.kt @@ -0,0 +1,18 @@ +// 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 @Anno3 SecondTypeAlias.foo() { + +} diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.pretty.txt new file mode 100644 index 00000000000..ae4291a360a --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.pretty.txt @@ -0,0 +1 @@ +fun @Anno1 @Anno2 @Anno3 BaseInterface.foo() \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.txt new file mode 100644 index 00000000000..7180687a3d5 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnFunctionReceiverType.txt @@ -0,0 +1,39 @@ +KtFunctionSymbol: + annotationsList: [] + callableIdIfNonLocal: /foo + contextReceivers: [] + contractEffects: [] + hasStableParameterNames: true + isBuiltinFunctionInvoke: false + isExtension: true + isExternal: false + isInfix: false + isInline: false + isOperator: false + isOverride: false + isStatic: false + isSuspend: false + modality: FINAL + name: foo + origin: SOURCE + receiverParameter: KtReceiverParameterSymbol: + annotationsList: [] + origin: SOURCE + owningCallableSymbol: KtFunctionSymbol(/foo) + type: [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseInterface + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + returnType: kotlin/Unit + symbolKind: TOP_LEVEL + typeParameters: [] + valueParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.descriptors.txt new file mode 100644 index 00000000000..3b74bac6dca --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.descriptors.txt @@ -0,0 +1,27 @@ +KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: true + hasStableParameterNames: true + isDefault: false + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverParameter: null + returnType: [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.kt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.kt new file mode 100644 index 00000000000..fea7d8c3c38 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.kt @@ -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 + +val foo: @Anno3 SecondTypeAlias + get() {} diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.pretty.txt new file mode 100644 index 00000000000..fe0c5a175ff --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.pretty.txt @@ -0,0 +1 @@ +get() diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.txt new file mode 100644 index 00000000000..09c5bcef405 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyGetterReturnType.txt @@ -0,0 +1,27 @@ +KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: true + hasStableParameterNames: true + isDefault: false + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverParameter: null + returnType: [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseInterface + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.descriptors.pretty.txt new file mode 100644 index 00000000000..9cbd7e02c49 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.descriptors.pretty.txt @@ -0,0 +1 @@ +val @Anno3 @Anno2 @Anno1 BaseInterface.foo: kotlin.Int \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.descriptors.txt new file mode 100644 index 00000000000..c90efdcee6f --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.descriptors.txt @@ -0,0 +1,77 @@ +KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /foo + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverParameter: KtReceiverParameterSymbol: + annotationsList: [] + origin: SOURCE + owningCallableSymbol: KtKotlinPropertySymbol(/foo) + type: [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: true + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: foo + origin: SOURCE + receiverParameter: KtReceiverParameterSymbol: + annotationsList: [] + origin: SOURCE + owningCallableSymbol: KtKotlinPropertySymbol(/foo) + type: [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + returnType: kotlin/Int + setter: null + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getFoo + javaSetterName: null + setterDeprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.kt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.kt new file mode 100644 index 00000000000..37bce28ce61 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.kt @@ -0,0 +1,16 @@ +// 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 + +val @Anno3 SecondTypeAlias.foo: Int diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.pretty.txt new file mode 100644 index 00000000000..6cf8062835e --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.pretty.txt @@ -0,0 +1 @@ +val @Anno1 @Anno2 @Anno3 BaseInterface.foo: kotlin.Int \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.txt new file mode 100644 index 00000000000..543c9e142e5 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReceiverType.txt @@ -0,0 +1,77 @@ +KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /foo + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverParameter: KtReceiverParameterSymbol: + annotationsList: [] + origin: SOURCE + owningCallableSymbol: KtKotlinPropertySymbol(/foo) + type: [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseInterface + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: true + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: foo + origin: SOURCE + receiverParameter: KtReceiverParameterSymbol: + annotationsList: [] + origin: SOURCE + owningCallableSymbol: KtKotlinPropertySymbol(/foo) + type: [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseInterface + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + returnType: kotlin/Int + setter: null + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getFoo + javaSetterName: null + setterDeprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.descriptors.pretty.txt new file mode 100644 index 00000000000..ebfa389bfc7 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.descriptors.pretty.txt @@ -0,0 +1 @@ +val foo: @Anno3 @Anno2 @Anno1 BaseInterface \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.descriptors.txt new file mode 100644 index 00000000000..a3f1ca43cd8 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.descriptors.txt @@ -0,0 +1,65 @@ +KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /foo + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverParameter: null + returnType: [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + 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 + setter: null + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getFoo + javaSetterName: null + setterDeprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.kt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.kt new file mode 100644 index 00000000000..3c487145c71 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.kt @@ -0,0 +1,16 @@ +// 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 + +val foo: @Anno3 SecondTypeAlias diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.pretty.txt new file mode 100644 index 00000000000..ebb67e55f94 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.pretty.txt @@ -0,0 +1 @@ +val foo: @Anno1 @Anno2 @Anno3 BaseInterface \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.txt new file mode 100644 index 00000000000..6a0715308ae --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertyReturnType.txt @@ -0,0 +1,65 @@ +KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /foo + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverParameter: null + returnType: [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseInterface + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + 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 + setter: null + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getFoo + javaSetterName: null + setterDeprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.descriptors.pretty.txt new file mode 100644 index 00000000000..e093432c23f --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.descriptors.pretty.txt @@ -0,0 +1 @@ +set(value: @Anno3 @Anno2 @Anno1 BaseInterface) diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.descriptors.txt new file mode 100644 index 00000000000..694088b6701 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.descriptors.txt @@ -0,0 +1,73 @@ +KtPropertySetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: true + hasStableParameterNames: true + isDefault: false + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + parameter: KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverParameter: null + returnType: [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + receiverParameter: null + returnType: kotlin/Unit + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverParameter: null + returnType: [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + ] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.kt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.kt new file mode 100644 index 00000000000..d6ff5334017 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.kt @@ -0,0 +1,19 @@ +// 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 + +var foo: @Anno3 SecondTypeAlias = TODO() + set(value) { + field = value + } diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.pretty.txt new file mode 100644 index 00000000000..9f2cdc010b4 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.pretty.txt @@ -0,0 +1 @@ +set(value: @Anno1 @Anno2 @Anno3 BaseInterface) \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.txt new file mode 100644 index 00000000000..cb3495396e8 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterType.txt @@ -0,0 +1,73 @@ +KtPropertySetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: true + hasStableParameterNames: true + isDefault: false + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + parameter: KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverParameter: null + returnType: [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseInterface + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + receiverParameter: null + returnType: kotlin/Unit + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverParameter: null + returnType: [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseInterface + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + ] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.descriptors.pretty.txt new file mode 100644 index 00000000000..9f6ecb529fe --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.descriptors.pretty.txt @@ -0,0 +1 @@ +set(value: @Anno4 @Anno2 @Anno1 BaseInterface) \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.descriptors.txt new file mode 100644 index 00000000000..0fa13fc7c25 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.descriptors.txt @@ -0,0 +1,73 @@ +KtPropertySetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: true + hasStableParameterNames: true + isDefault: false + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + parameter: KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverParameter: null + returnType: [ + Anno4() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno4|() @R|Anno2|() @R|Anno1|() @R|Anno4|() SecondTypeAlias + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + receiverParameter: null + returnType: kotlin/Unit + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverParameter: null + returnType: [ + Anno4() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno4|() @R|Anno2|() @R|Anno1|() @R|Anno4|() SecondTypeAlias + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + ] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.kt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.kt new file mode 100644 index 00000000000..175f15a4347 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.kt @@ -0,0 +1,21 @@ +// 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 +@Target(AnnotationTarget.TYPE) +annotation class Anno4 + +interface BaseInterface + +typealias FirstTypeAlias = @Anno1 BaseInterface +typealias SecondTypeAlias = @Anno2 FirstTypeAlias + +var foo: @Anno3 SecondTypeAlias = TODO() + set(value: @Anno4 SecondTypeAlias) { + field = value + } diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.pretty.txt new file mode 100644 index 00000000000..4b94e6282c8 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.pretty.txt @@ -0,0 +1 @@ +set(value: @Anno1 @Anno2 @Anno4 BaseInterface) \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.txt new file mode 100644 index 00000000000..42d7efc866f --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnPropertySetterParameterTypeWithAnotherAnnotation.txt @@ -0,0 +1,73 @@ +KtPropertySetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: true + hasStableParameterNames: true + isDefault: false + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + parameter: KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverParameter: null + returnType: [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno4() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno4|() BaseInterface + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + receiverParameter: null + returnType: kotlin/Unit + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: value + origin: SOURCE + receiverParameter: null + returnType: [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno4() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno4|() BaseInterface + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + ] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.descriptors.pretty.txt new file mode 100644 index 00000000000..3ebf32ecf10 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.descriptors.pretty.txt @@ -0,0 +1 @@ +class Foo : @Anno3 @Anno2 @Anno1 BaseClass() \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.descriptors.txt new file mode 100644 index 00000000000..08c05817dea --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.descriptors.txt @@ -0,0 +1,29 @@ +KtNamedClassOrObjectSymbol: + annotationsList: [] + classIdIfNonLocal: Foo + classKind: CLASS + companionObject: null + contextReceivers: [] + isData: false + isExternal: false + isFun: false + isInline: false + isInner: false + modality: FINAL + name: Foo + origin: SOURCE + superTypes: [ + [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + ] + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.kt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.kt new file mode 100644 index 00000000000..03e9966c33e --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.kt @@ -0,0 +1,16 @@ +// 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 + +open class BaseClass + +typealias FirstTypeAlias = @Anno1 BaseClass +typealias SecondTypeAlias = @Anno2 FirstTypeAlias + +class Foo : @Anno3 SecondTypeAlias() diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.pretty.txt new file mode 100644 index 00000000000..8c4c1b2bb8c --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.pretty.txt @@ -0,0 +1 @@ +class Foo : @Anno1 @Anno2 @Anno3 BaseClass() \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.txt new file mode 100644 index 00000000000..64afa7ecc04 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCall.txt @@ -0,0 +1,29 @@ +KtNamedClassOrObjectSymbol: + annotationsList: [] + classIdIfNonLocal: Foo + classKind: CLASS + companionObject: null + contextReceivers: [] + isData: false + isExternal: false + isFun: false + isInline: false + isInner: false + modality: FINAL + name: Foo + origin: SOURCE + superTypes: [ + [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseClass + ] + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.descriptors.pretty.txt new file mode 100644 index 00000000000..8e23d2acb2a --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.descriptors.pretty.txt @@ -0,0 +1 @@ +object : @Anno3 @Anno2 @Anno1 BaseClass() diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.descriptors.txt new file mode 100644 index 00000000000..d921d09208e --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.descriptors.txt @@ -0,0 +1,20 @@ +KtAnonymousObjectSymbol: + annotationsList: [] + classIdIfNonLocal: null + classKind: ANONYMOUS_OBJECT + name: null + origin: SOURCE + superTypes: [ + [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + ] + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.kt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.kt new file mode 100644 index 00000000000..d4e9cf6b410 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.kt @@ -0,0 +1,16 @@ +// DO_NOT_CHECK_NON_PSI_SYMBOL_RESTORE +// PRETTY_RENDERER_OPTION: FULLY_EXPANDED_TYPES + +@Target(AnnotationTarget.TYPE) +annotation class Anno1 +@Target(AnnotationTarget.TYPE) +annotation class Anno2 +@Target(AnnotationTarget.TYPE) +annotation class Anno3 + +open class BaseClass + +typealias FirstTypeAlias = @Anno1 BaseClass +typealias SecondTypeAlias = @Anno2 FirstTypeAlias + +val obj = object : @Anno3 SecondTypeAlias() diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.pretty.txt new file mode 100644 index 00000000000..2bec2a1fca0 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.pretty.txt @@ -0,0 +1 @@ +object : @Anno1 @Anno2 @Anno3 BaseClass() \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.txt new file mode 100644 index 00000000000..a5d5f9e8383 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperClassCallOnAnonymousObject.txt @@ -0,0 +1,20 @@ +KtAnonymousObjectSymbol: + annotationsList: [] + classIdIfNonLocal: null + classKind: ANONYMOUS_OBJECT + name: null + origin: SOURCE + superTypes: [ + [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseClass + ] + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.descriptors.pretty.txt new file mode 100644 index 00000000000..e53316c68a9 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.descriptors.pretty.txt @@ -0,0 +1 @@ +class Foo : @Anno3 @Anno2 @Anno1 BaseInterface \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.descriptors.txt new file mode 100644 index 00000000000..2c0195803d8 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.descriptors.txt @@ -0,0 +1,30 @@ +KtNamedClassOrObjectSymbol: + annotationsList: [] + classIdIfNonLocal: Foo + classKind: CLASS + companionObject: null + contextReceivers: [] + isData: false + isExternal: false + isFun: false + isInline: false + isInner: false + modality: FINAL + name: Foo + origin: SOURCE + superTypes: [ + kotlin/Any + [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + ] + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.kt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.kt new file mode 100644 index 00000000000..88b22eca681 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.kt @@ -0,0 +1,16 @@ +// 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 + +class Foo : @Anno3 SecondTypeAlias diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.pretty.txt new file mode 100644 index 00000000000..4ce55f2143a --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.pretty.txt @@ -0,0 +1 @@ +class Foo : @Anno1 @Anno2 @Anno3 BaseInterface \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.txt new file mode 100644 index 00000000000..30a591d680c --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterface.txt @@ -0,0 +1,29 @@ +KtNamedClassOrObjectSymbol: + annotationsList: [] + classIdIfNonLocal: Foo + classKind: CLASS + companionObject: null + contextReceivers: [] + isData: false + isExternal: false + isFun: false + isInline: false + isInner: false + modality: FINAL + name: Foo + origin: SOURCE + superTypes: [ + [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseInterface + ] + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.descriptors.pretty.txt new file mode 100644 index 00000000000..c4940b110da --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.descriptors.pretty.txt @@ -0,0 +1 @@ +object : @Anno3 @Anno2 @Anno1 BaseInterface diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.descriptors.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.descriptors.txt new file mode 100644 index 00000000000..d921d09208e --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.descriptors.txt @@ -0,0 +1,20 @@ +KtAnonymousObjectSymbol: + annotationsList: [] + classIdIfNonLocal: null + classKind: ANONYMOUS_OBJECT + name: null + origin: SOURCE + superTypes: [ + [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + ] + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.kt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.kt new file mode 100644 index 00000000000..e2275d01650 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.kt @@ -0,0 +1,18 @@ +// DO_NOT_CHECK_NON_PSI_SYMBOL_RESTORE +// 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 + +val obj = object : @Anno3 SecondTypeAlias { + +} diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.pretty.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.pretty.txt new file mode 100644 index 00000000000..1f36760a043 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.pretty.txt @@ -0,0 +1 @@ +object : @Anno1 @Anno2 @Anno3 BaseInterface \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.txt new file mode 100644 index 00000000000..920038873be --- /dev/null +++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/typeAnnotationsOnSuperInterfaceOnAnonymousObject.txt @@ -0,0 +1,20 @@ +KtAnonymousObjectSymbol: + annotationsList: [] + classIdIfNonLocal: null + classKind: ANONYMOUS_OBJECT + name: null + origin: SOURCE + superTypes: [ + [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseInterface + ] + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.descriptors.pretty.txt new file mode 100644 index 00000000000..aec5453ef53 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.descriptors.pretty.txt @@ -0,0 +1,2 @@ +@Anno1 +var field: @Anno1 kotlin.String! \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.descriptors.txt new file mode 100644 index 00000000000..1fa761a2c9c --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.descriptors.txt @@ -0,0 +1,24 @@ +KtJavaFieldSymbol: + annotationsList: [ + Anno1() + psi: null + ] + callableIdIfNonLocal: /JavaClass.field + contextReceivers: [] + isExtension: false + isStatic: false + isVal: false + modality: FINAL + name: field + origin: JAVA + receiverParameter: null + returnType: [ + Anno1() + psi: null + ] @R|Anno1|() @R|Anno1|() kotlin/String! + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): JavaClass + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.kt b/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.kt new file mode 100644 index 00000000000..c9e1bec1f85 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.kt @@ -0,0 +1,14 @@ +// DO_NOT_CHECK_SYMBOL_RESTORE_K1 +// FILE: main.kt +@Target(AnnotationTarget.TYPE) +annotation class Anno1 + +fun some() { + val jClass = JavaClass() + jClass.field; +} + +// FILE: JavaClass.java +public class JavaClass { + public @Anno1 String field = 1; +} diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.pretty.txt new file mode 100644 index 00000000000..0defbdb64a2 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.pretty.txt @@ -0,0 +1,2 @@ +@Anno1 +open var field: kotlin.String! \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.txt b/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.txt new file mode 100644 index 00000000000..7cd97cff00c --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/javaFieldWithTypeAnnotation.txt @@ -0,0 +1,21 @@ +KtJavaFieldSymbol: + annotationsList: [ + Anno1() + psi: null + ] + callableIdIfNonLocal: /JavaClass.field + contextReceivers: [] + isExtension: false + isStatic: false + isVal: false + modality: OPEN + name: field + origin: JAVA + receiverParameter: null + returnType: kotlin/String! + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): JavaClass + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.descriptors.txt new file mode 100644 index 00000000000..5536da9a3c4 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.descriptors.txt @@ -0,0 +1,21 @@ +KtBackingFieldSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + isExtension: false + name: field + origin: PROPERTY_BACKING_FIELD + owningProperty: KtKotlinPropertySymbol(/foo) + receiverParameter: null + returnType: [ + Anno3() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno1() + psi: KtAnnotationEntry + ] @R|Anno3|() @R|Anno2|() @R|Anno1|() @R|Anno3|() SecondTypeAlias + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.kt b/analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.kt new file mode 100644 index 00000000000..4b6221663e3 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.kt @@ -0,0 +1,21 @@ +// 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 +@Target(AnnotationTarget.TYPE) +annotation class Anno3 + +interface BaseInterface + +typealias FirstTypeAlias = @Anno1 BaseInterface +typealias SecondTypeAlias = @Anno2 FirstTypeAlias + +val foo: @Anno3 SecondTypeAlias = TODO() + get() { + return field + } \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.pretty.txt new file mode 100644 index 00000000000..dd686ca6103 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.pretty.txt @@ -0,0 +1 @@ +field diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.txt b/analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.txt new file mode 100644 index 00000000000..1c3cb90a73c --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.txt @@ -0,0 +1,21 @@ +KtBackingFieldSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + isExtension: false + name: field + origin: PROPERTY_BACKING_FIELD + owningProperty: KtKotlinPropertySymbol(/foo) + receiverParameter: null + returnType: [ + Anno1() + psi: KtAnnotationEntry + Anno2() + psi: KtAnnotationEntry + Anno3() + psi: KtAnnotationEntry + ] @R|Anno1|() @R|Anno2|() @R|Anno3|() BaseInterface + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt index df19d58ff66..1af99100cc5 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirTypeResolveTransformer.kt @@ -118,7 +118,7 @@ open class FirTypeResolveTransformer( } override fun transformTypeAlias(typeAlias: FirTypeAlias, data: Any?): FirTypeAlias = whileAnalysing(session, typeAlias) { - return withScopeCleanup { + withScopeCleanup { typeAlias.addTypeParametersScope() transformDeclaration(typeAlias, data) } as FirTypeAlias @@ -128,7 +128,7 @@ open class FirTypeResolveTransformer( enumEntry.transformReturnTypeRef(this, data) enumEntry.transformTypeParameters(this, data) enumEntry.transformAnnotations(this, data) - return enumEntry + enumEntry } override fun transformReceiverParameter(receiverParameter: FirReceiverParameter, data: Any?): FirReceiverParameter { @@ -136,29 +136,32 @@ open class FirTypeResolveTransformer( } override fun transformProperty(property: FirProperty, data: Any?): FirProperty = whileAnalysing(session, property) { - return withScopeCleanup { - property.addTypeParametersScope() - property.transformTypeParameters(this, data) - .transformReturnTypeRef(this, data) - .transformReceiverParameter(this, data) - .transformContextReceivers(this, data) - .transformGetter(this, data) - .transformSetter(this, data) - .transformBackingField(this, data) - .transformAnnotations(this, data) - if (property.isFromVararg == true) { - property.transformTypeToArrayType() - property.backingField?.transformTypeToArrayType() - setAccessorTypesByPropertyType(property) + withScopeCleanup { + withDeclaration(property) { + property.addTypeParametersScope() + property.transformTypeParameters(this, data) + .transformReturnTypeRef(this, data) + .transformReceiverParameter(this, data) + .transformContextReceivers(this, data) + .transformGetter(this, data) + .transformSetter(this, data) + .transformBackingField(this, data) + .transformAnnotations(this, data) + + if (property.isFromVararg == true) { + property.transformTypeToArrayType() + property.backingField?.transformTypeToArrayType() + setAccessorTypesByPropertyType(property) + } + + if (property.returnTypeRef is FirResolvedTypeRef && property.delegate != null) { + setAccessorTypesByPropertyType(property) + } + + unboundCyclesInTypeParametersSupertypes(property) + + property } - - if (property.returnTypeRef is FirResolvedTypeRef && property.delegate != null) { - setAccessorTypesByPropertyType(property) - } - - unboundCyclesInTypeParametersSupertypes(property) - - property } } @@ -168,7 +171,7 @@ open class FirTypeResolveTransformer( } override fun transformField(field: FirField, data: Any?): FirField = whileAnalysing(session, field) { - return withScopeCleanup { + withScopeCleanup { field.transformReturnTypeRef(this, data).transformAnnotations(this, data) field } @@ -176,12 +179,14 @@ open class FirTypeResolveTransformer( override fun transformSimpleFunction( simpleFunction: FirSimpleFunction, - data: Any? + data: Any?, ): FirSimpleFunction = whileAnalysing(session, simpleFunction) { - return withScopeCleanup { - simpleFunction.addTypeParametersScope() - transformDeclaration(simpleFunction, data).also { - unboundCyclesInTypeParametersSupertypes(it as FirTypeParametersOwner) + withScopeCleanup { + withDeclaration(simpleFunction) { + simpleFunction.addTypeParametersScope() + transformDeclaration(simpleFunction, data).also { + unboundCyclesInTypeParametersSupertypes(it as FirTypeParametersOwner) + } } } as FirSimpleFunction } @@ -219,10 +224,6 @@ open class FirTypeResolveTransformer( return implicitTypeRef } - override fun transformDeclaration(declaration: FirDeclaration, data: Any?): FirDeclaration = withDeclaration(declaration) { - transformElement(declaration, data) - } - override fun transformTypeRef(typeRef: FirTypeRef, data: Any?): FirResolvedTypeRef { return typeResolverTransformer.withFile(currentFile) { typeRef.transform( @@ -232,11 +233,16 @@ open class FirTypeResolveTransformer( } } - override fun transformValueParameter(valueParameter: FirValueParameter, data: Any?): FirStatement = whileAnalysing(session, valueParameter) { - valueParameter.transformReturnTypeRef(this, data) - valueParameter.transformAnnotations(this, data) - valueParameter.transformVarargTypeToArrayType() - return valueParameter + override fun transformValueParameter( + valueParameter: FirValueParameter, + data: Any?, + ): FirStatement = whileAnalysing(session, valueParameter) { + withDeclaration(valueParameter) { + valueParameter.transformReturnTypeRef(this, data) + valueParameter.transformAnnotations(this, data) + valueParameter.transformVarargTypeToArrayType() + valueParameter + } } override fun transformBlock(block: FirBlock, data: Any?): FirStatement {