[AA] integrate KtReceiverParameterSymbol to KtCallableSymbol
^KT-54417
This commit is contained in:
committed by
Space Team
parent
b333a214ca
commit
2741052db3
+7
-5
@@ -9,7 +9,9 @@ import org.jetbrains.kotlin.analysis.api.components.KtSignatureSubstitutor
|
||||
import org.jetbrains.kotlin.analysis.api.signatures.KtCallableSignature
|
||||
import org.jetbrains.kotlin.analysis.api.signatures.KtFunctionLikeSignature
|
||||
import org.jetbrains.kotlin.analysis.api.signatures.KtVariableLikeSignature
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.*
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionLikeSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtVariableLikeSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.types.KtSubstitutor
|
||||
import org.jetbrains.kotlin.analysis.utils.errors.unexpectedElementError
|
||||
|
||||
@@ -45,7 +47,7 @@ abstract class AbstractKtSignatureSubstitutorImpl : KtSignatureSubstitutor() {
|
||||
return KtFunctionLikeSignature(
|
||||
symbol,
|
||||
substitutor.substitute(symbol.returnType),
|
||||
symbol.receiverType?.let { substitutor.substitute(it) },
|
||||
symbol.receiver?.type?.let { substitutor.substitute(it) },
|
||||
symbol.valueParameters.map { substitute(it, substitutor) }
|
||||
)
|
||||
}
|
||||
@@ -55,7 +57,7 @@ abstract class AbstractKtSignatureSubstitutorImpl : KtSignatureSubstitutor() {
|
||||
return KtVariableLikeSignature(
|
||||
symbol,
|
||||
substitutor.substitute(symbol.returnType),
|
||||
symbol.receiverType?.let { substitutor.substitute(it) },
|
||||
symbol.receiver?.type?.let { substitutor.substitute(it) },
|
||||
)
|
||||
}
|
||||
|
||||
@@ -68,10 +70,10 @@ abstract class AbstractKtSignatureSubstitutorImpl : KtSignatureSubstitutor() {
|
||||
}
|
||||
|
||||
override fun <S : KtFunctionLikeSymbol> asSignature(symbol: S): KtFunctionLikeSignature<S> {
|
||||
return KtFunctionLikeSignature(symbol, symbol.returnType, symbol.receiverType, symbol.valueParameters.map { asSignature(it) })
|
||||
return KtFunctionLikeSignature(symbol, symbol.returnType, symbol.receiver?.type, symbol.valueParameters.map { asSignature(it) })
|
||||
}
|
||||
|
||||
override fun <S : KtVariableLikeSymbol> asSignature(symbol: S): KtVariableLikeSignature<S> {
|
||||
return KtVariableLikeSignature(symbol, symbol.returnType, symbol.receiverType)
|
||||
return KtVariableLikeSignature(symbol, symbol.returnType, symbol.receiver?.type)
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -102,7 +102,7 @@ abstract class AbstractAnalysisApiSignatureContractsTest : AbstractAnalysisApiSi
|
||||
substitutor: KtSubstitutor,
|
||||
testServices: TestServices
|
||||
) {
|
||||
testServices.assertions.assertEquals(symbol.receiverType?.let(substitutor::substitute), signature.receiverType)
|
||||
testServices.assertions.assertEquals(symbol.receiver?.type?.let(substitutor::substitute), signature.receiverType)
|
||||
testServices.assertions.assertEquals(symbol.returnType.let(substitutor::substitute), signature.returnType)
|
||||
|
||||
testServices.assertions.assertEquals(symbol.valueParameters.size, signature.valueParameters.size)
|
||||
@@ -118,7 +118,7 @@ abstract class AbstractAnalysisApiSignatureContractsTest : AbstractAnalysisApiSi
|
||||
substitutor: KtSubstitutor,
|
||||
testServices: TestServices
|
||||
) {
|
||||
testServices.assertions.assertEquals(symbol.receiverType?.let(substitutor::substitute), signature.receiverType)
|
||||
testServices.assertions.assertEquals(symbol.receiver?.type?.let(substitutor::substitute), signature.receiverType)
|
||||
testServices.assertions.assertEquals(symbol.returnType.let(substitutor::substitute), signature.returnType)
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -47,8 +47,8 @@ internal fun KtAnalysisSession.stringRepresentation(any: Any): String = with(any
|
||||
}
|
||||
)
|
||||
append("(")
|
||||
(this@with as? KtFunctionSymbol)?.receiverType?.let { receiver ->
|
||||
append("<extension receiver>: ${receiver.render()}")
|
||||
(this@with as? KtFunctionSymbol)?.receiver?.let { receiver ->
|
||||
append("<extension receiver>: ${receiver.type.render()}")
|
||||
if (valueParameters.isNotEmpty()) append(", ")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user