[FIR] Rename FirArrayOfCall to FirArrayLiteral
This commit is contained in:
committed by
Space Team
parent
f4e4c5e724
commit
2eba7da5eb
+10
-10
@@ -29,8 +29,6 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFir
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.resolveToFirSymbolOfTypeSafe
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.resolver.AllCandidatesResolver
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.errorWithFirSpecificEntries
|
||||
import org.jetbrains.kotlin.fir.utils.exceptions.withFirEntry
|
||||
import org.jetbrains.kotlin.utils.exceptions.rethrowExceptionWithDetails
|
||||
import org.jetbrains.kotlin.analysis.utils.errors.withPsiEntry
|
||||
import org.jetbrains.kotlin.analysis.utils.printer.parentOfType
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
@@ -59,6 +57,7 @@ import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
||||
import org.jetbrains.kotlin.fir.symbols.SymbolInternals
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.utils.exceptions.withFirEntry
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
@@ -72,6 +71,7 @@ import org.jetbrains.kotlin.util.OperatorNameConventions.EQUALS
|
||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment
|
||||
import org.jetbrains.kotlin.utils.exceptions.rethrowExceptionWithDetails
|
||||
|
||||
internal class KtFirCallResolver(
|
||||
override val analysisSession: KtFirAnalysisSession,
|
||||
@@ -245,7 +245,7 @@ internal class KtFirCallResolver(
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
is FirArrayOfCall -> toKtCallInfo()
|
||||
is FirArrayLiteral -> toKtCallInfo()
|
||||
is FirComparisonExpression -> compareToCall.toKtCallInfo(
|
||||
psi,
|
||||
resolveCalleeExpressionOfFunctionCall,
|
||||
@@ -872,7 +872,7 @@ internal class KtFirCallResolver(
|
||||
return result
|
||||
}
|
||||
|
||||
private fun FirArrayOfCall.toTypeArgumentsMapping(
|
||||
private fun FirArrayLiteral.toTypeArgumentsMapping(
|
||||
partiallyAppliedSymbol: KtPartiallyAppliedSymbol<*, *>
|
||||
): Map<KtTypeParameterSymbol, KtType> {
|
||||
val elementType = typeRef.coneTypeSafe<ConeClassLikeType>()?.arrayElementType()?.asKtType() ?: return emptyMap()
|
||||
@@ -929,7 +929,7 @@ internal class KtFirCallResolver(
|
||||
resolveCalleeExpressionOfFunctionCall,
|
||||
resolveFragmentOfCall
|
||||
)
|
||||
is FirArrayOfCall, is FirEqualityOperatorCall -> {
|
||||
is FirArrayLiteral, is FirEqualityOperatorCall -> {
|
||||
toKtCallInfo(psi, resolveCalleeExpressionOfFunctionCall, resolveFragmentOfCall).toKtCallCandidateInfos()
|
||||
}
|
||||
is FirComparisonExpression -> compareToCall.toKtCallInfo(
|
||||
@@ -1107,7 +1107,7 @@ internal class KtFirCallResolver(
|
||||
}
|
||||
}
|
||||
|
||||
private fun FirArrayOfCall.toKtCallInfo(): KtCallInfo? {
|
||||
private fun FirArrayLiteral.toKtCallInfo(): KtCallInfo? {
|
||||
val arrayOfSymbol = with(analysisSession) {
|
||||
val type = typeRef.coneTypeSafe<ConeClassLikeType>()
|
||||
?: return run {
|
||||
@@ -1150,7 +1150,7 @@ internal class KtFirCallResolver(
|
||||
)
|
||||
}
|
||||
|
||||
private fun FirArrayOfCall.createSubstitutorFromTypeArguments(arrayOfSymbol: KtFirFunctionSymbol): KtSubstitutor {
|
||||
private fun FirArrayLiteral.createSubstitutorFromTypeArguments(arrayOfSymbol: KtFirFunctionSymbol): KtSubstitutor {
|
||||
val firSymbol = arrayOfSymbol.firSymbol
|
||||
// No type parameter means this is an arrayOf call of primitives, in which case there is no type arguments
|
||||
val typeParameter = firSymbol.fir.typeParameters.singleOrNull() ?: return KtSubstitutor.Empty(token)
|
||||
@@ -1239,12 +1239,12 @@ internal class KtFirCallResolver(
|
||||
return ktArgumentMapping
|
||||
}
|
||||
|
||||
private fun FirArrayOfCall.createArgumentMapping(
|
||||
arrayOfCallSymbol: KtFirFunctionSymbol,
|
||||
private fun FirArrayLiteral.createArgumentMapping(
|
||||
arrayOfSymbol: KtFirFunctionSymbol,
|
||||
substitutor: KtSubstitutor,
|
||||
): LinkedHashMap<KtExpression, KtVariableLikeSignature<KtValueParameterSymbol>> {
|
||||
val ktArgumentMapping = LinkedHashMap<KtExpression, KtVariableLikeSignature<KtValueParameterSymbol>>()
|
||||
val parameterSymbol = arrayOfCallSymbol.valueParameters.single()
|
||||
val parameterSymbol = arrayOfSymbol.valueParameters.single()
|
||||
|
||||
for (firExpression in argumentList.arguments) {
|
||||
mapArgumentExpressionToParameter(
|
||||
|
||||
+1
-1
@@ -115,7 +115,7 @@ internal object FirAnnotationValueConverter {
|
||||
KtArrayAnnotationValue(annotationValues, representativePsi ?: sourcePsi)
|
||||
}
|
||||
|
||||
is FirArrayOfCall -> {
|
||||
is FirArrayLiteral -> {
|
||||
// Desugared collection literals.
|
||||
KtArrayAnnotationValue(argumentList.arguments.convertVarargsExpression(session).first, sourcePsi)
|
||||
}
|
||||
|
||||
+1
-1
@@ -227,7 +227,7 @@ internal object FirReferenceResolveHelper {
|
||||
is FirResolvedImport -> getSymbolsByResolvedImport(expression, symbolBuilder, fir, session)
|
||||
is FirPackageDirective -> getSymbolsForPackageDirective(expression, symbolBuilder)
|
||||
is FirFile -> getSymbolsByFirFile(symbolBuilder, fir)
|
||||
is FirArrayOfCall -> {
|
||||
is FirArrayLiteral -> {
|
||||
// We can't yet find PsiElement for arrayOf, intArrayOf, etc.
|
||||
emptyList()
|
||||
}
|
||||
|
||||
+2
-2
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.analysis.api.fir.symbols.KtFirArrayOfSymbolProvider.
|
||||
import org.jetbrains.kotlin.analysis.api.fir.symbols.KtFirArrayOfSymbolProvider.arrayTypeToArrayOfCall
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirSafe
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArrayOfCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirArrayLiteral
|
||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||
import org.jetbrains.kotlin.fir.types.coneTypeSafe
|
||||
|
||||
@@ -23,7 +23,7 @@ class KtFirCollectionLiteralReference(
|
||||
) : KtCollectionLiteralReference(expression), KtFirReference {
|
||||
override fun KtAnalysisSession.resolveToSymbols(): Collection<KtSymbol> {
|
||||
check(this is KtFirAnalysisSession)
|
||||
val fir = element.getOrBuildFirSafe<FirArrayOfCall>(firResolveSession) ?: return emptyList()
|
||||
val fir = element.getOrBuildFirSafe<FirArrayLiteral>(firResolveSession) ?: return emptyList()
|
||||
val type = fir.typeRef.coneTypeSafe<ConeClassLikeType>() ?: return listOfNotNull(arrayOfSymbol(arrayOf))
|
||||
val call = arrayTypeToArrayOfCall[type.lookupTag.classId] ?: arrayOf
|
||||
return listOfNotNull(arrayOfSymbol(call))
|
||||
|
||||
+1
-1
@@ -120,7 +120,7 @@ class StubBasedAnnotationDeserializer(
|
||||
)
|
||||
}
|
||||
is ArrayValue -> {
|
||||
buildArrayOfCall {
|
||||
buildArrayLiteral {
|
||||
source = KtRealPsiSourceElement(sourceElement)
|
||||
typeRef = buildResolvedTypeRef {
|
||||
// Not quite precise, yet doesn't require annotation resolution
|
||||
|
||||
Reference in New Issue
Block a user