[AA] KtCallableReceiverRenderer: add annotations renderer
^KT-54417
This commit is contained in:
committed by
Space Team
parent
5ab07c2c00
commit
a0f4c674f5
+4
-1
@@ -35,8 +35,9 @@ public interface KtAnnotationUseSiteTargetRenderer {
|
|||||||
public object WITH_NON_DEFAULT_USE_SITE : KtAnnotationUseSiteTargetRenderer {
|
public object WITH_NON_DEFAULT_USE_SITE : KtAnnotationUseSiteTargetRenderer {
|
||||||
context(KtAnalysisSession, KtAnnotationRenderer)
|
context(KtAnalysisSession, KtAnnotationRenderer)
|
||||||
override fun renderUseSiteTarget(annotation: KtAnnotationApplication, owner: KtAnnotated, printer: PrettyPrinter) {
|
override fun renderUseSiteTarget(annotation: KtAnnotationApplication, owner: KtAnnotated, printer: PrettyPrinter) {
|
||||||
if (owner !is KtCallableSymbol) return
|
|
||||||
val print = when (owner) {
|
val print = when (owner) {
|
||||||
|
is KtReceiverParameterSymbol -> true
|
||||||
|
!is KtCallableSymbol -> return
|
||||||
is KtAnonymousFunctionSymbol -> true
|
is KtAnonymousFunctionSymbol -> true
|
||||||
is KtConstructorSymbol -> true
|
is KtConstructorSymbol -> true
|
||||||
is KtFunctionSymbol -> true
|
is KtFunctionSymbol -> true
|
||||||
@@ -52,7 +53,9 @@ public interface KtAnnotationUseSiteTargetRenderer {
|
|||||||
is KtLocalVariableSymbol -> true
|
is KtLocalVariableSymbol -> true
|
||||||
is KtKotlinPropertySymbol -> annotation.useSiteTarget != AnnotationUseSiteTarget.PROPERTY
|
is KtKotlinPropertySymbol -> annotation.useSiteTarget != AnnotationUseSiteTarget.PROPERTY
|
||||||
is KtSyntheticJavaPropertySymbol -> annotation.useSiteTarget != AnnotationUseSiteTarget.PROPERTY
|
is KtSyntheticJavaPropertySymbol -> annotation.useSiteTarget != AnnotationUseSiteTarget.PROPERTY
|
||||||
|
else -> return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (print) {
|
if (print) {
|
||||||
WITH_USES_SITE.renderUseSiteTarget(annotation, owner, printer)
|
WITH_USES_SITE.renderUseSiteTarget(annotation, owner, printer)
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-3
@@ -17,9 +17,16 @@ public interface KtCallableReceiverRenderer {
|
|||||||
|
|
||||||
public object AS_TYPE_WITH_IN_APPROXIMATION : KtCallableReceiverRenderer {
|
public object AS_TYPE_WITH_IN_APPROXIMATION : KtCallableReceiverRenderer {
|
||||||
context(KtAnalysisSession, KtDeclarationRenderer)
|
context(KtAnalysisSession, KtDeclarationRenderer)
|
||||||
override fun renderReceiver(symbol: KtReceiverParameterSymbol, printer: PrettyPrinter) {
|
override fun renderReceiver(symbol: KtReceiverParameterSymbol, printer: PrettyPrinter): Unit = printer {
|
||||||
val receiverType = declarationTypeApproximator.approximateType(symbol.type, Variance.IN_VARIANCE)
|
" ".separated(
|
||||||
typeRenderer.renderType(receiverType, printer)
|
{
|
||||||
|
annotationRenderer.renderAnnotations(symbol, printer)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
val receiverType = declarationTypeApproximator.approximateType(symbol.type, Variance.IN_VARIANCE)
|
||||||
|
typeRenderer.renderType(receiverType, printer)
|
||||||
|
},
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
fun @ReceiverTypeAnnotation kotlin.Int.foo()
|
fun @receiver:ReceiverAnnotation @ReceiverTypeAnnotation kotlin.Int.foo()
|
||||||
Vendored
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
val @ReceiverTypeAnnotation kotlin.Long.prop: kotlin.Boolean
|
val @receiver:ReceiverAnnotation @ReceiverTypeAnnotation kotlin.Long.prop: kotlin.Boolean
|
||||||
get()
|
get()
|
||||||
+1
-1
@@ -1 +1 @@
|
|||||||
fun @ReceiverTypeAnnotation kotlin.Int.foo()
|
fun @receiver:ReceiverAnnotation @ReceiverTypeAnnotation kotlin.Int.foo()
|
||||||
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
val @ReceiverTypeAnnotation kotlin.Long.prop: kotlin.Boolean
|
val @receiver:ReceiverAnnotation @ReceiverTypeAnnotation kotlin.Long.prop: kotlin.Boolean
|
||||||
get()
|
get()
|
||||||
Reference in New Issue
Block a user