[AA FIR] fix nested type annotations lazy resolve
^KT-56046
This commit is contained in:
committed by
Space Team
parent
3b99a5bf34
commit
d13ad454da
+4
-2
@@ -17,6 +17,8 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.hasAnnotation
|
||||
import org.jetbrains.kotlin.fir.declarations.toAnnotationClassId
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||
import org.jetbrains.kotlin.fir.symbols.resolvedAnnotationsWithArguments
|
||||
import org.jetbrains.kotlin.fir.symbols.resolvedAnnotationsWithClassIds
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.custom
|
||||
import org.jetbrains.kotlin.fir.types.customAnnotations
|
||||
@@ -82,8 +84,8 @@ private fun ConeKotlinType.customAnnotationsWithLazyResolve(phase: FirResolvePha
|
||||
|
||||
for (containerSymbol in custom.containerSymbols) {
|
||||
when (phase) {
|
||||
FirResolvePhase.TYPES -> containerSymbol.resolvedAnnotationsWithClassIds
|
||||
FirResolvePhase.ANNOTATIONS_ARGUMENTS_MAPPING -> containerSymbol.resolvedAnnotationsWithArguments
|
||||
FirResolvePhase.TYPES -> annotations.resolvedAnnotationsWithClassIds(containerSymbol)
|
||||
FirResolvePhase.ANNOTATIONS_ARGUMENTS_MAPPING -> annotations.resolvedAnnotationsWithArguments(containerSymbol)
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
+12
@@ -76,6 +76,18 @@ public class FirIdeNormalAnalysisSourceModuleSingleSymbolByPsiGenerated extends
|
||||
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/getterWithReceiverAndAnnotations.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nestedTypeAnnotationWithTypeAlias.kt")
|
||||
public void testNestedTypeAnnotationWithTypeAlias() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/nestedTypeAnnotationWithTypeAlias.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nestedTypeAnnotationWithTypeAliasAsAnnotation.kt")
|
||||
public void testNestedTypeAnnotationWithTypeAliasAsAnnotation() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/singleSymbolByPsi/nestedTypeAnnotationWithTypeAliasAsAnnotation.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("propertyWithAnnotations.kt")
|
||||
public void testPropertyWithAnnotations() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user