[AA] replace KtCallableReceiverTypeRenderer with KtCallableReceiverRenderer
^KT-54417
This commit is contained in:
committed by
Space Team
parent
032026278c
commit
b672949820
+4
-4
@@ -49,7 +49,7 @@ public class KtDeclarationRenderer private constructor(
|
||||
public val accessorBodyRenderer: KtPropertyAccessorBodyRenderer,
|
||||
|
||||
public val returnTypeRenderer: KtCallableReturnTypeRenderer,
|
||||
public val receiverTyperRenderer: KtCallableReceiverTypeRenderer,
|
||||
public val callableReceiverRenderer: KtCallableReceiverRenderer,
|
||||
|
||||
public val valueParametersRenderer: KtCallableParameterRenderer,
|
||||
public val typeParametersRenderer: KtTypeParametersRenderer,
|
||||
@@ -131,7 +131,7 @@ public class KtDeclarationRenderer private constructor(
|
||||
this.accessorBodyRenderer = renderer.accessorBodyRenderer
|
||||
|
||||
this.returnTypeRenderer = renderer.returnTypeRenderer
|
||||
this.receiverTyperRenderer = renderer.receiverTyperRenderer
|
||||
this.callableReceiverRenderer = renderer.callableReceiverRenderer
|
||||
|
||||
this.valueParametersRenderer = renderer.valueParametersRenderer
|
||||
this.typeParametersRenderer = renderer.typeParametersRenderer
|
||||
@@ -196,7 +196,7 @@ public class KtDeclarationRenderer private constructor(
|
||||
public lateinit var accessorBodyRenderer: KtPropertyAccessorBodyRenderer
|
||||
|
||||
public lateinit var returnTypeRenderer: KtCallableReturnTypeRenderer
|
||||
public lateinit var receiverTyperRenderer: KtCallableReceiverTypeRenderer
|
||||
public lateinit var callableReceiverRenderer: KtCallableReceiverRenderer
|
||||
|
||||
public lateinit var valueParametersRenderer: KtCallableParameterRenderer
|
||||
public lateinit var typeParametersRenderer: KtTypeParametersRenderer
|
||||
@@ -250,7 +250,7 @@ public class KtDeclarationRenderer private constructor(
|
||||
accessorBodyRenderer,
|
||||
|
||||
returnTypeRenderer,
|
||||
receiverTyperRenderer,
|
||||
callableReceiverRenderer,
|
||||
|
||||
valueParametersRenderer,
|
||||
typeParametersRenderer,
|
||||
|
||||
+1
-1
@@ -73,7 +73,7 @@ public object KtDeclarationRendererForSource {
|
||||
singleTypeParameterRenderer = KtSingleTypeParameterSymbolRenderer.WITHOUT_BOUNDS
|
||||
propertyAccessorsRenderer = KtPropertyAccessorsRenderer.NO_DEFAULT
|
||||
|
||||
receiverTyperRenderer = KtCallableReceiverTypeRenderer.WITH_IN_APPROXIMATION
|
||||
callableReceiverRenderer = KtCallableReceiverRenderer.AS_TYPE_WITH_IN_APPROXIMATION
|
||||
returnTypeRenderer = KtCallableReturnTypeRenderer.WITH_OUT_APPROXIMATION
|
||||
|
||||
typeRenderer = KtTypeRendererForSource.WITH_QUALIFIED_NAMES
|
||||
|
||||
+7
-8
@@ -7,20 +7,19 @@ package org.jetbrains.kotlin.analysis.api.renderer.declarations.renderers.callab
|
||||
|
||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
||||
import org.jetbrains.kotlin.analysis.api.renderer.declarations.KtDeclarationRenderer
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.receiverType
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtReceiverParameterSymbol
|
||||
import org.jetbrains.kotlin.analysis.utils.printer.PrettyPrinter
|
||||
import org.jetbrains.kotlin.types.Variance
|
||||
|
||||
public interface KtCallableReceiverTypeRenderer {
|
||||
public interface KtCallableReceiverRenderer {
|
||||
context(KtAnalysisSession, KtDeclarationRenderer)
|
||||
public fun renderReceiverType(symbol: KtCallableSymbol, printer: PrettyPrinter)
|
||||
public fun renderReceiver(symbol: KtReceiverParameterSymbol, printer: PrettyPrinter)
|
||||
|
||||
public object WITH_IN_APPROXIMATION : KtCallableReceiverTypeRenderer {
|
||||
public object AS_TYPE_WITH_IN_APPROXIMATION : KtCallableReceiverRenderer {
|
||||
context(KtAnalysisSession, KtDeclarationRenderer)
|
||||
override fun renderReceiverType(symbol: KtCallableSymbol, printer: PrettyPrinter) {
|
||||
val receiverType = symbol.receiverType?.let { declarationTypeApproximator.approximateType(it, Variance.IN_VARIANCE) } ?: return
|
||||
override fun renderReceiver(symbol: KtReceiverParameterSymbol, printer: PrettyPrinter) {
|
||||
val receiverType = declarationTypeApproximator.approximateType(symbol.type, Variance.IN_VARIANCE)
|
||||
typeRenderer.renderType(receiverType, printer)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+5
-1
@@ -27,7 +27,11 @@ public interface KtCallableSignatureRender {
|
||||
},
|
||||
{ typeParametersRenderer.renderTypeParameters(symbol, printer) },
|
||||
{
|
||||
withSuffix(".") { receiverTyperRenderer.renderReceiverType(symbol, printer) }
|
||||
val receiverSymbol = symbol.receiverParameter
|
||||
if (receiverSymbol != null) {
|
||||
withSuffix(".") { callableReceiverRenderer.renderReceiver(receiverSymbol, printer) }
|
||||
}
|
||||
|
||||
if (symbol is KtNamedSymbol) {
|
||||
nameRenderer.renderName(symbol, printer)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user