[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");
|
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
|
@Test
|
||||||
@TestMetadata("valueParameter.kt")
|
@TestMetadata("valueParameter.kt")
|
||||||
public void testValueParameter() throws Exception {
|
public void testValueParameter() throws Exception {
|
||||||
|
|||||||
+6
@@ -190,6 +190,12 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte
|
|||||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.kt");
|
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
|
@Test
|
||||||
@TestMetadata("valueParameter.kt")
|
@TestMetadata("valueParameter.kt")
|
||||||
public void testValueParameter() throws Exception {
|
public void testValueParameter() throws Exception {
|
||||||
|
|||||||
+6
@@ -190,6 +190,12 @@ public class FirStandaloneNormalAnalysisSourceModuleSymbolByReferenceTestGenerat
|
|||||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/typeAnnotationOnBackingField.kt");
|
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
|
@Test
|
||||||
@TestMetadata("valueParameter.kt")
|
@TestMetadata("valueParameter.kt")
|
||||||
public void testValueParameter() throws Exception {
|
public void testValueParameter() throws Exception {
|
||||||
|
|||||||
+2
@@ -37,6 +37,7 @@ public interface KtTypeParametersRenderer {
|
|||||||
.ifEmpty { return }
|
.ifEmpty { return }
|
||||||
printer.printCollection(typeParameters, prefix = "<", postfix = ">") { typeParameter ->
|
printer.printCollection(typeParameters, prefix = "<", postfix = ">") { typeParameter ->
|
||||||
codeStyle.getSeparatorBetweenAnnotationAndOwner(typeParameter).separated(
|
codeStyle.getSeparatorBetweenAnnotationAndOwner(typeParameter).separated(
|
||||||
|
{ annotationRenderer.renderAnnotations(typeParameter, printer) },
|
||||||
{ modifiersRenderer.renderDeclarationModifiers(typeParameter, printer) },
|
{ modifiersRenderer.renderDeclarationModifiers(typeParameter, printer) },
|
||||||
{ nameRenderer.renderName(typeParameter, printer) },
|
{ nameRenderer.renderName(typeParameter, printer) },
|
||||||
)
|
)
|
||||||
@@ -56,6 +57,7 @@ public interface KtTypeParametersRenderer {
|
|||||||
.ifEmpty { return }
|
.ifEmpty { return }
|
||||||
printer.printCollection(typeParameters, prefix = "<", postfix = ">") { typeParameter ->
|
printer.printCollection(typeParameters, prefix = "<", postfix = ">") { typeParameter ->
|
||||||
codeStyle.getSeparatorBetweenAnnotationAndOwner(typeParameter).separated(
|
codeStyle.getSeparatorBetweenAnnotationAndOwner(typeParameter).separated(
|
||||||
|
{ annotationRenderer.renderAnnotations(typeParameter, printer) },
|
||||||
{ modifiersRenderer.renderDeclarationModifiers(typeParameter, printer) },
|
{ modifiersRenderer.renderDeclarationModifiers(typeParameter, printer) },
|
||||||
{ nameRenderer.renderName(typeParameter, printer) },
|
{ nameRenderer.renderName(typeParameter, printer) },
|
||||||
)
|
)
|
||||||
|
|||||||
+2
@@ -26,6 +26,7 @@ public interface KtSingleTypeParameterSymbolRenderer {
|
|||||||
context(KtAnalysisSession, KtDeclarationRenderer)
|
context(KtAnalysisSession, KtDeclarationRenderer)
|
||||||
override fun renderSymbol(symbol: KtTypeParameterSymbol, printer: PrettyPrinter): Unit = printer {
|
override fun renderSymbol(symbol: KtTypeParameterSymbol, printer: PrettyPrinter): Unit = printer {
|
||||||
" ".separated(
|
" ".separated(
|
||||||
|
{ annotationRenderer.renderAnnotations(symbol, printer) },
|
||||||
{ modifiersRenderer.renderDeclarationModifiers(symbol, printer) },
|
{ modifiersRenderer.renderDeclarationModifiers(symbol, printer) },
|
||||||
{ nameRenderer.renderName(symbol, printer) },
|
{ nameRenderer.renderName(symbol, printer) },
|
||||||
)
|
)
|
||||||
@@ -36,6 +37,7 @@ public interface KtSingleTypeParameterSymbolRenderer {
|
|||||||
context(KtAnalysisSession, KtDeclarationRenderer)
|
context(KtAnalysisSession, KtDeclarationRenderer)
|
||||||
override fun renderSymbol(symbol: KtTypeParameterSymbol, printer: PrettyPrinter): Unit = printer {
|
override fun renderSymbol(symbol: KtTypeParameterSymbol, printer: PrettyPrinter): Unit = printer {
|
||||||
" ".separated(
|
" ".separated(
|
||||||
|
{ annotationRenderer.renderAnnotations(symbol, printer) },
|
||||||
{ modifiersRenderer.renderDeclarationModifiers(symbol, printer) },
|
{ modifiersRenderer.renderDeclarationModifiers(symbol, printer) },
|
||||||
{ nameRenderer.renderName(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
|
operator fun get(index: Int): T
|
||||||
|
|
||||||
infix fun concat(other: List<T>): List<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>
|
infix fun concat(other: List<T>): List<T>
|
||||||
|
|
||||||
operator fun get(index: Int): 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