[Analysis API] Render annotations of type parameters
This commit is contained in:
committed by
Space Team
parent
0c2e3d2d48
commit
1a10e0fdb6
+6
@@ -190,6 +190,12 @@ public class Fe10IdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated ext
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeParameter.kt")
|
||||
public void testTypeParameter() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/typeParameter.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("valueParameter.kt")
|
||||
public void testValueParameter() throws Exception {
|
||||
|
||||
+6
@@ -190,6 +190,12 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeParameter.kt")
|
||||
public void testTypeParameter() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/typeParameter.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("valueParameter.kt")
|
||||
public void testValueParameter() throws Exception {
|
||||
|
||||
+6
@@ -190,6 +190,12 @@ public class FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerat
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("typeParameter.kt")
|
||||
public void testTypeParameter() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/typeParameter.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("valueParameter.kt")
|
||||
public void testValueParameter() throws Exception {
|
||||
|
||||
+2
@@ -37,6 +37,7 @@ public interface KtTypeParametersRenderer {
|
||||
.ifEmpty { return }
|
||||
printer.printCollection(typeParameters, prefix = "<", postfix = ">") { typeParameter ->
|
||||
codeStyle.getSeparatorBetweenAnnotationAndOwner(typeParameter).separated(
|
||||
{ annotationRenderer.renderAnnotations(typeParameter, printer) },
|
||||
{ modifiersRenderer.renderDeclarationModifiers(typeParameter, printer) },
|
||||
{ nameRenderer.renderName(typeParameter, printer) },
|
||||
)
|
||||
@@ -56,6 +57,7 @@ public interface KtTypeParametersRenderer {
|
||||
.ifEmpty { return }
|
||||
printer.printCollection(typeParameters, prefix = "<", postfix = ">") { typeParameter ->
|
||||
codeStyle.getSeparatorBetweenAnnotationAndOwner(typeParameter).separated(
|
||||
{ annotationRenderer.renderAnnotations(typeParameter, printer) },
|
||||
{ modifiersRenderer.renderDeclarationModifiers(typeParameter, printer) },
|
||||
{ nameRenderer.renderName(typeParameter, printer) },
|
||||
)
|
||||
|
||||
+2
@@ -26,6 +26,7 @@ public interface KtSingleTypeParameterSymbolRenderer {
|
||||
context(KtAnalysisSession, KtDeclarationRenderer)
|
||||
override fun renderSymbol(symbol: KtTypeParameterSymbol, printer: PrettyPrinter): Unit = printer {
|
||||
" ".separated(
|
||||
{ annotationRenderer.renderAnnotations(symbol, printer) },
|
||||
{ modifiersRenderer.renderDeclarationModifiers(symbol, printer) },
|
||||
{ nameRenderer.renderName(symbol, printer) },
|
||||
)
|
||||
@@ -36,6 +37,7 @@ public interface KtSingleTypeParameterSymbolRenderer {
|
||||
context(KtAnalysisSession, KtDeclarationRenderer)
|
||||
override fun renderSymbol(symbol: KtTypeParameterSymbol, printer: PrettyPrinter): Unit = printer {
|
||||
" ".separated(
|
||||
{ annotationRenderer.renderAnnotations(symbol, printer) },
|
||||
{ modifiersRenderer.renderDeclarationModifiers(symbol, printer) },
|
||||
{ nameRenderer.renderName(symbol, printer) },
|
||||
{
|
||||
|
||||
+3
-1
@@ -1,4 +1,6 @@
|
||||
interface List<out T : Any> {
|
||||
@Target(AnnotationTarget.TYPE_PARAMETER) annotation class A
|
||||
|
||||
interface List<@A out T : Any> {
|
||||
operator fun get(index: Int): T
|
||||
|
||||
infix fun concat(other: List<T>): List<T>
|
||||
|
||||
+4
-1
@@ -1,4 +1,7 @@
|
||||
interface List<out T : Any> {
|
||||
@Target(allowedTargets = [kotlin.annotation.AnnotationTarget.TYPE_PARAMETER])
|
||||
annotation class A
|
||||
|
||||
interface List<@A out T : Any> {
|
||||
infix fun concat(other: List<T>): List<T>
|
||||
|
||||
operator fun get(index: Int): T
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
// DO_NOT_CHECK_NON_PSI_SYMBOL_RESTORE_K1
|
||||
|
||||
@Target(AnnotationTarget.TYPE_PARAMETER) annotation class A
|
||||
|
||||
fun <@A T> <caret>T.test() {}
|
||||
+1
@@ -0,0 +1 @@
|
||||
@A T
|
||||
@@ -0,0 +1,13 @@
|
||||
KtTypeParameterSymbol:
|
||||
annotationsList: [
|
||||
A()
|
||||
psi: KtAnnotationEntry
|
||||
]
|
||||
isReified: false
|
||||
name: T
|
||||
origin: SOURCE
|
||||
typeParameters: []
|
||||
upperBounds: []
|
||||
variance: INVARIANT
|
||||
getContainingModule: KtSourceModule "Sources of main"
|
||||
deprecationStatus: null
|
||||
Reference in New Issue
Block a user