FIR: Rename FirResolvedCallableReference -> FirResolvedNamedReference

^KT-32725 In Progress
This commit is contained in:
Denis Zharkov
2019-10-23 14:51:05 +03:00
parent 5e322a2dd9
commit 1564e72b59
35 changed files with 139 additions and 122 deletions
@@ -965,7 +965,7 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
simpleName(reference.name)
}
}
is FirResolvedCallableReference -> {
is FirResolvedNamedReference -> {
resolved {
symbolRef(reference.resolvedSymbol) {
simpleName(reference.name)
@@ -1478,4 +1478,4 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
}
}
}
}
@@ -6,9 +6,10 @@
package org.jetbrains.kotlin.fir.backend
import com.intellij.psi.PsiCompiledElement
import org.jetbrains.kotlin.fir.*
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.references.FirReference
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.references.FirThisReference
import org.jetbrains.kotlin.fir.resolve.toSymbol
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
@@ -19,7 +20,10 @@ import org.jetbrains.kotlin.ir.symbols.*
import org.jetbrains.kotlin.ir.types.IrErrorType
import org.jetbrains.kotlin.ir.types.IrType
import org.jetbrains.kotlin.ir.types.IrTypeArgument
import org.jetbrains.kotlin.ir.types.impl.*
import org.jetbrains.kotlin.ir.types.impl.IrErrorTypeImpl
import org.jetbrains.kotlin.ir.types.impl.IrSimpleTypeImpl
import org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl
import org.jetbrains.kotlin.ir.types.impl.makeTypeProjection
import org.jetbrains.kotlin.psi.psiUtil.endOffset
import org.jetbrains.kotlin.psi.psiUtil.startOffsetSkippingComments
import org.jetbrains.kotlin.types.Variance
@@ -105,7 +109,7 @@ fun FirClassifierSymbol<*>.toIrSymbol(session: FirSession, declarationStorage: F
fun FirReference.toSymbol(declarationStorage: Fir2IrDeclarationStorage): IrSymbol? {
return when (this) {
is FirResolvedCallableReference -> resolvedSymbol.toSymbol(declarationStorage)
is FirResolvedNamedReference -> resolvedSymbol.toSymbol(declarationStorage)
is FirThisReference -> {
when (val boundSymbol = boundSymbol?.toSymbol(declarationStorage)) {
is IrClassSymbol -> boundSymbol.owner.thisReceiver?.symbol
@@ -7,7 +7,8 @@ package org.jetbrains.kotlin.fir.backend
import org.jetbrains.kotlin.backend.common.descriptors.WrappedValueParameterDescriptor
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.fir.*
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertySetter
@@ -17,13 +18,18 @@ import org.jetbrains.kotlin.fir.expressions.impl.FirElseIfTrueCondition
import org.jetbrains.kotlin.fir.expressions.impl.FirNoReceiverExpression
import org.jetbrains.kotlin.fir.expressions.impl.FirUnitExpression
import org.jetbrains.kotlin.fir.references.FirReference
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.impl.FirPropertyFromParameterCallableReference
import org.jetbrains.kotlin.fir.resolve.*
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.references.impl.FirPropertyFromParameterResolvedNamedReference
import org.jetbrains.kotlin.fir.render
import org.jetbrains.kotlin.fir.resolve.ScopeSession
import org.jetbrains.kotlin.fir.resolve.buildUseSiteMemberScope
import org.jetbrains.kotlin.fir.resolve.calls.SyntheticPropertySymbol
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
import org.jetbrains.kotlin.fir.resolve.toSymbol
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
import org.jetbrains.kotlin.fir.scopes.impl.FirClassSubstitutionScope
import org.jetbrains.kotlin.fir.symbols.impl.*
import org.jetbrains.kotlin.fir.typeContext
import org.jetbrains.kotlin.fir.types.*
import org.jetbrains.kotlin.fir.visitors.FirDefaultVisitor
import org.jetbrains.kotlin.ir.IrElement
@@ -660,8 +666,8 @@ class Fir2IrVisitor(
private fun FirReference.statementOrigin(): IrStatementOrigin? {
return when (this) {
is FirPropertyFromParameterCallableReference -> IrStatementOrigin.INITIALIZE_PROPERTY_FROM_PARAMETER
is FirResolvedCallableReference -> when (resolvedSymbol) {
is FirPropertyFromParameterResolvedNamedReference -> IrStatementOrigin.INITIALIZE_PROPERTY_FROM_PARAMETER
is FirResolvedNamedReference -> when (resolvedSymbol) {
is FirAccessorSymbol, is SyntheticPropertySymbol -> IrStatementOrigin.GET_PROPERTY
else -> null
}
@@ -1277,4 +1283,4 @@ class Fir2IrVisitor(
}
}
}
}
}
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.java.declarations.FirJavaValueParameter
import org.jetbrains.kotlin.fir.java.enhancement.readOnlyToMutable
import org.jetbrains.kotlin.fir.java.types.FirJavaTypeRef
import org.jetbrains.kotlin.fir.references.impl.FirErrorNamedReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedCallableReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedNamedReferenceImpl
import org.jetbrains.kotlin.fir.resolve.constructClassType
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
import org.jetbrains.kotlin.fir.resolve.getClassDeclaredCallableSymbols
@@ -253,7 +253,7 @@ private fun JavaAnnotationArgument.toFirExpression(
classId, entryName
).firstOrNull()
callableSymbol?.let {
FirResolvedCallableReferenceImpl(null, entryName, it)
FirResolvedNamedReferenceImpl(null, entryName, it)
}
} else {
null
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.java.JavaSymbolProvider
import org.jetbrains.kotlin.fir.java.createConstant
import org.jetbrains.kotlin.fir.java.topLevelName
import org.jetbrains.kotlin.fir.references.impl.FirErrorNamedReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedCallableReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedNamedReferenceImpl
import org.jetbrains.kotlin.fir.resolve.*
import org.jetbrains.kotlin.fir.scopes.FirScope
import org.jetbrains.kotlin.fir.scopes.impl.declaredMemberScope
@@ -214,12 +214,12 @@ class KotlinDeserializedJvmSymbolsProvider(
this.calleeReference = when {
entryClassSymbol != null && (entryClassSymbol as? FirClassSymbol)?.fir is FirEnumEntry -> {
FirResolvedCallableReferenceImpl(
FirResolvedNamedReferenceImpl(
null, name, entryClassSymbol
)
}
entryCallableSymbol != null -> {
FirResolvedCallableReferenceImpl(
FirResolvedNamedReferenceImpl(
null, name, entryCallableSymbol
)
}
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.java.declarations.FirJavaField
import org.jetbrains.kotlin.fir.java.toConeProjection
import org.jetbrains.kotlin.fir.java.toNotNullConeKotlinType
import org.jetbrains.kotlin.fir.java.types.FirJavaTypeRef
import org.jetbrains.kotlin.fir.references.impl.FirResolvedCallableReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedNamedReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference
import org.jetbrains.kotlin.fir.resolve.constructType
import org.jetbrains.kotlin.fir.resolve.toSymbol
@@ -261,7 +261,7 @@ internal fun ConeKotlinType.lexicalCastFrom(session: FirSession, value: String):
}
if (firStaticProperty != null) {
FirQualifiedAccessExpressionImpl(null).apply {
calleeReference = FirResolvedCallableReferenceImpl(
calleeReference = FirResolvedNamedReferenceImpl(
null, name, firStaticProperty.symbol as FirCallableSymbol<*>
)
}
@@ -8,10 +8,13 @@ package org.jetbrains.kotlin.fir.lightTree.fir
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
import org.jetbrains.kotlin.fir.declarations.impl.*
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertySetter
import org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl
import org.jetbrains.kotlin.fir.expressions.impl.FirQualifiedAccessExpressionImpl
import org.jetbrains.kotlin.fir.lightTree.fir.modifier.Modifier
import org.jetbrains.kotlin.fir.references.impl.FirPropertyFromParameterCallableReference
import org.jetbrains.kotlin.fir.references.impl.FirPropertyFromParameterResolvedNamedReference
import org.jetbrains.kotlin.fir.symbols.CallableId
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef
@@ -50,7 +53,7 @@ class ValueParameter(
null,
name,
FirQualifiedAccessExpressionImpl(null).apply {
calleeReference = FirPropertyFromParameterCallableReference(
calleeReference = FirPropertyFromParameterResolvedNamedReference(
null, name, this@ValueParameter.firValueParameter.symbol
)
},
@@ -65,4 +68,4 @@ class ValueParameter(
setter = if (this.isVar) FirDefaultPropertySetter(null, session, type, modifiers.getVisibility()) else null
}
}
}
}
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.expressions.impl.*
import org.jetbrains.kotlin.fir.impl.FirAbstractAnnotatedElement
import org.jetbrains.kotlin.fir.references.impl.FirDelegateFieldReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirExplicitThisReference
import org.jetbrains.kotlin.fir.references.impl.FirResolvedCallableReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedNamedReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference
import org.jetbrains.kotlin.fir.symbols.CallableId
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyAccessorSymbol
@@ -251,7 +251,7 @@ fun generateAccessExpression(psi: PsiElement?, name: Name): FirQualifiedAccessEx
fun generateResolvedAccessExpression(psi: PsiElement?, variable: FirVariable<*>): FirQualifiedAccessExpression =
FirQualifiedAccessExpressionImpl(psi).apply {
calleeReference = FirResolvedCallableReferenceImpl(psi, variable.name, variable.symbol)
calleeReference = FirResolvedNamedReferenceImpl(psi, variable.name, variable.symbol)
}
internal fun generateDestructuringBlock(
@@ -326,7 +326,7 @@ fun FirModifiableVariable<*>.generateAccessorsByDelegate(session: FirSession, me
else FirConstExpressionImpl(null, IrConstKind.Null, null)
fun propertyRef() = FirCallableReferenceAccessImpl(null).apply {
calleeReference = FirResolvedCallableReferenceImpl(null, variable.name, variable.symbol)
calleeReference = FirResolvedNamedReferenceImpl(null, variable.name, variable.symbol)
typeRef = FirImplicitKPropertyTypeRef(null, ConeStarProjection)
}
@@ -385,7 +385,7 @@ fun FirModifiableVariable<*>.generateAccessorsByDelegate(session: FirSession, me
arguments += thisRef()
arguments += propertyRef()
arguments += FirQualifiedAccessExpressionImpl(null).apply {
calleeReference = FirResolvedCallableReferenceImpl(psi, DELEGATED_SETTER_PARAM, parameter.symbol)
calleeReference = FirResolvedNamedReferenceImpl(psi, DELEGATED_SETTER_PARAM, parameter.symbol)
}
}
)
@@ -12,10 +12,13 @@ import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.declarations.FirConstructor
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.addDeclaration
import org.jetbrains.kotlin.fir.declarations.impl.*
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
import org.jetbrains.kotlin.fir.declarations.impl.FirModifiableRegularClass
import org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl
import org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl
import org.jetbrains.kotlin.fir.expressions.impl.*
import org.jetbrains.kotlin.fir.references.impl.FirImplicitThisReference
import org.jetbrains.kotlin.fir.references.impl.FirResolvedCallableReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedNamedReferenceImpl
import org.jetbrains.kotlin.fir.symbols.CallableId
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
@@ -60,7 +63,7 @@ fun List<Pair<KtParameter?, FirProperty>>.generateComponentFunctions(
dispatchReceiver = FirThisReceiverExpressionImpl(null, FirImplicitThisReference(firClass.symbol)).apply {
typeRef = firPrimaryConstructor.returnTypeRef
}
calleeReference = FirResolvedCallableReferenceImpl(
calleeReference = FirResolvedNamedReferenceImpl(
ktParameter,
parameterName, firProperty.symbol
)
@@ -113,7 +116,7 @@ fun List<Pair<KtParameter?, FirProperty>>.generateCopyFunction(
dispatchReceiver = FirThisReceiverExpressionImpl(null, FirImplicitThisReference(firClass.symbol)).apply {
typeRef = firPrimaryConstructor.returnTypeRef
}
calleeReference = FirResolvedCallableReferenceImpl(ktParameter, name, firProperty.symbol)
calleeReference = FirResolvedNamedReferenceImpl(ktParameter, name, firProperty.symbol)
},
isCrossinline = false, isNoinline = false, isVararg = false
)
@@ -122,4 +125,4 @@ fun List<Pair<KtParameter?, FirProperty>>.generateCopyFunction(
body = FirEmptyExpressionBlock()
}
)
}
}
@@ -264,7 +264,7 @@ class RawFirBuilder(session: FirSession, val stubMode: Boolean) : BaseFirBuilder
null,
nameAsSafeName,
FirQualifiedAccessExpressionImpl(this).apply {
calleeReference = FirPropertyFromParameterCallableReference(
calleeReference = FirPropertyFromParameterResolvedNamedReference(
this@toFirProperty, nameAsSafeName, firParameter.symbol
)
},
@@ -1335,4 +1335,4 @@ class RawFirBuilder(session: FirSession, val stubMode: Boolean) : BaseFirBuilder
return FirExpressionStub(expression)
}
}
}
}
@@ -11,10 +11,10 @@ import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.expressions.impl.FirExpressionStub
import org.jetbrains.kotlin.fir.expressions.impl.FirResolvedQualifierImpl
import org.jetbrains.kotlin.fir.references.FirNamedReference
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.references.impl.FirBackingFieldReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirErrorNamedReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedCallableReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedNamedReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference
import org.jetbrains.kotlin.fir.resolve.*
import org.jetbrains.kotlin.fir.resolve.calls.*
@@ -191,7 +191,7 @@ class FirCallResolver(
}
val referencedSymbol = when (nameReference) {
is FirResolvedCallableReference -> nameReference.resolvedSymbol
is FirResolvedNamedReference -> nameReference.resolvedSymbol
is FirNamedReferenceWithCandidate -> nameReference.candidateSymbol
else -> null
}
@@ -367,7 +367,7 @@ class FirCallResolver(
coneSymbol !is FirPropertySymbol ||
(coneSymbol.phasedFir(session) as FirMemberDeclaration).typeParameters.isEmpty()
) ->
FirResolvedCallableReferenceImpl(psi, name, coneSymbol)
FirResolvedNamedReferenceImpl(psi, name, coneSymbol)
else -> FirNamedReferenceWithCandidate(psi, name, candidate)
}
}
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
import org.jetbrains.kotlin.fir.expressions.FirExpression
import org.jetbrains.kotlin.fir.expressions.impl.*
import org.jetbrains.kotlin.fir.references.impl.FirErrorNamedReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedCallableReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedNamedReferenceImpl
import org.jetbrains.kotlin.fir.resolve.constructType
import org.jetbrains.kotlin.fir.resolve.toSymbol
import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
@@ -133,7 +133,7 @@ abstract class AbstractAnnotationDeserializer(
val entryLookupTag = ConeClassLikeLookupTagImpl(entryClassId)
val entrySymbol = entryLookupTag.toSymbol(this@AbstractAnnotationDeserializer.session)
this.calleeReference = entrySymbol?.let {
FirResolvedCallableReferenceImpl(null, entryName, it)
FirResolvedNamedReferenceImpl(null, entryName, it)
} ?: FirErrorNamedReferenceImpl(
null,
errorReason = "Strange deserialized enum value: $classId.$entryName"
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccess
import org.jetbrains.kotlin.fir.expressions.FirResolvable
import org.jetbrains.kotlin.fir.expressions.FirResolvedQualifier
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.references.FirThisReference
import org.jetbrains.kotlin.fir.render
import org.jetbrains.kotlin.fir.resolve.calls.FirNamedReferenceWithCandidate
@@ -290,7 +290,7 @@ fun <T : FirResolvable> BodyResolveComponents.typeFromCallee(access: T): FirReso
is FirNamedReferenceWithCandidate -> {
typeFromSymbol(newCallee.candidateSymbol, makeNullable)
}
is FirResolvedCallableReference -> {
is FirResolvedNamedReference -> {
typeFromSymbol(newCallee.resolvedSymbol, makeNullable)
}
is FirThisReference -> {
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.declarations.FirFunction
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.expressions.impl.FirThisReceiverExpressionImpl
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.references.impl.FirExplicitThisReference
import org.jetbrains.kotlin.fir.resolve.BodyResolveComponents
import org.jetbrains.kotlin.fir.resolve.ImplicitReceiverStackImpl
@@ -486,12 +486,12 @@ class FirDataFlowAnalyzer(components: FirAbstractBodyResolveTransformer.BodyReso
if (it is FirExplicitThisReference) {
it.boundSymbol
} else {
(it as? FirResolvedCallableReference)?.resolvedSymbol
(it as? FirResolvedNamedReference)?.resolvedSymbol
}
}
private fun FirFunctionCall.isBooleanNot(): Boolean {
val symbol = calleeReference.safeAs<FirResolvedCallableReference>()?.resolvedSymbol as? FirNamedFunctionSymbol ?: return false
val symbol = calleeReference.safeAs<FirResolvedNamedReference>()?.resolvedSymbol as? FirNamedFunctionSymbol ?: return false
return symbol.callableId == KOTLIN_BOOLEAN_NOT
}
@@ -762,4 +762,4 @@ class FirDataFlowAnalyzer(components: FirAbstractBodyResolveTransformer.BodyReso
receiverStack.mapNotNull { variableStorage[it.boundSymbol] }.forEach { processUpdatedReceiverVariable(flow, it) }
}
}
}
}
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.copy
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.references.impl.FirResolvedCallableReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedNamedReferenceImpl
import org.jetbrains.kotlin.fir.references.impl.FirResolvedRealCallableReferenceImpl
import org.jetbrains.kotlin.fir.resolve.calls.Candidate
import org.jetbrains.kotlin.fir.resolve.calls.FirNamedReferenceWithCandidate
@@ -52,7 +52,7 @@ class FirCallCompletionResultsWriterTransformer(
return qualifiedAccessExpression.transformCalleeReference(
StoreCalleeReference,
FirResolvedCallableReferenceImpl(
FirResolvedNamedReferenceImpl(
calleeReference.psi,
calleeReference.name,
calleeReference.candidateSymbol
@@ -96,7 +96,7 @@ class FirCallCompletionResultsWriterTransformer(
?: return variableAssignment.compose()
return variableAssignment.transformCalleeReference(
StoreCalleeReference,
FirResolvedCallableReferenceImpl(
FirResolvedNamedReferenceImpl(
calleeReference.psi,
calleeReference.name,
calleeReference.candidateSymbol
@@ -148,7 +148,7 @@ class FirCallCompletionResultsWriterTransformer(
return functionCall.copy(
resultType = resultType,
typeArguments = typeArguments,
calleeReference = FirResolvedCallableReferenceImpl(
calleeReference = FirResolvedNamedReferenceImpl(
calleeReference.psi,
calleeReference.name,
calleeReference.candidateSymbol
@@ -214,7 +214,7 @@ class FirCallCompletionResultsWriterTransformer(
return whenExpression.copy(
resultType = resultType,
calleeReference = FirResolvedCallableReferenceImpl(
calleeReference = FirResolvedNamedReferenceImpl(
calleeReference.psi,
calleeReference.name,
calleeReference.candidateSymbol
@@ -240,7 +240,7 @@ class FirCallCompletionResultsWriterTransformer(
return tryExpression.copy(
resultType = resultType,
calleeReference = FirResolvedCallableReferenceImpl(
calleeReference = FirResolvedNamedReferenceImpl(
calleeReference.psi,
calleeReference.name,
calleeReference.candidateSymbol
@@ -11,7 +11,7 @@ import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.expressions.FirWrappedArgumentExpression
import org.jetbrains.kotlin.fir.references.FirNamedReference
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.types.FirImplicitTypeRef
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.visitors.CompositeTransformResult
@@ -76,21 +76,21 @@ internal object StoreNameReference : FirDefaultTransformer<FirNamedReference>()
}
}
internal object StoreCalleeReference : FirTransformer<FirResolvedCallableReference>() {
override fun <E : FirElement> transformElement(element: E, data: FirResolvedCallableReference): CompositeTransformResult<E> {
internal object StoreCalleeReference : FirTransformer<FirResolvedNamedReference>() {
override fun <E : FirElement> transformElement(element: E, data: FirResolvedNamedReference): CompositeTransformResult<E> {
return element.compose()
}
override fun transformNamedReference(
namedReference: FirNamedReference,
data: FirResolvedCallableReference
data: FirResolvedNamedReference
): CompositeTransformResult<FirNamedReference> {
return data.compose()
}
override fun transformResolvedCallableReference(
resolvedCallableReference: FirResolvedCallableReference,
data: FirResolvedCallableReference
override fun transformResolvedNamedReference(
resolvedNamedReference: FirResolvedNamedReference,
data: FirResolvedNamedReference
): CompositeTransformResult<FirNamedReference> {
return data.compose()
}
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.fir.FirTargetElement
import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.expressions.impl.FirElseIfTrueCondition
import org.jetbrains.kotlin.fir.expressions.impl.FirEmptyExpressionBlock
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.resolve.transformers.FirSyntheticCallGenerator
import org.jetbrains.kotlin.fir.resolve.transformers.FirWhenExhaustivenessTransformer
import org.jetbrains.kotlin.fir.resolvedTypeFromPrototype
@@ -47,7 +47,7 @@ class FirControlFlowStatementsResolveTransformer(transformer: FirBodyResolveTran
// ------------------------------- When expressions -------------------------------
override fun transformWhenExpression(whenExpression: FirWhenExpression, data: Any?): CompositeTransformResult<FirStatement> {
if (whenExpression.calleeReference is FirResolvedCallableReference && whenExpression.resultType !is FirImplicitTypeRef) {
if (whenExpression.calleeReference is FirResolvedNamedReference && whenExpression.resultType !is FirImplicitTypeRef) {
return whenExpression.compose()
}
dataFlowAnalyzer.enterWhenExpression(whenExpression)
@@ -121,7 +121,7 @@ class FirControlFlowStatementsResolveTransformer(transformer: FirBodyResolveTran
// ------------------------------- Try/catch expressions -------------------------------
override fun transformTryExpression(tryExpression: FirTryExpression, data: Any?): CompositeTransformResult<FirStatement> {
if (tryExpression.calleeReference is FirResolvedCallableReference && tryExpression.resultType !is FirImplicitTypeRef) {
if (tryExpression.calleeReference is FirResolvedNamedReference && tryExpression.resultType !is FirImplicitTypeRef) {
return tryExpression.compose()
}
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.fir.*
import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.expressions.impl.FirExpressionWithSmartcastImpl
import org.jetbrains.kotlin.fir.references.FirDelegateFieldReference
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.references.FirSuperReference
import org.jetbrains.kotlin.fir.references.impl.FirExplicitThisReference
import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference
@@ -87,7 +87,7 @@ class FirExpressionsResolveTransformer(transformer: FirBodyResolveTransformer) :
qualifiedAccessExpression.resultType = delegateFieldSymbol.delegate.typeRef
qualifiedAccessExpression
}
is FirResolvedCallableReference -> {
is FirResolvedNamedReference -> {
if (qualifiedAccessExpression.typeRef !is FirResolvedTypeRef) {
storeTypeFromCallee(qualifiedAccessExpression)
}
@@ -126,7 +126,7 @@ class FirExpressionsResolveTransformer(transformer: FirBodyResolveTransformer) :
override fun transformFunctionCall(functionCall: FirFunctionCall, data: Any?): CompositeTransformResult<FirStatement> {
dataFlowAnalyzer.enterFunctionCall(functionCall)
if (functionCall.calleeReference is FirResolvedCallableReference && functionCall.resultType is FirImplicitTypeRef) {
if (functionCall.calleeReference is FirResolvedNamedReference && functionCall.resultType is FirImplicitTypeRef) {
storeTypeFromCallee(functionCall)
}
if (functionCall.calleeReference !is FirSimpleNamedReference) return functionCall.compose()
@@ -807,22 +807,22 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
print("|")
}
override fun visitResolvedCallableReference(resolvedCallableReference: FirResolvedCallableReference) {
override fun visitResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference) {
print("R|")
val isFakeOverride = (resolvedCallableReference.resolvedSymbol as? FirNamedFunctionSymbol)?.isFakeOverride == true
val isFakeOverride = (resolvedNamedReference.resolvedSymbol as? FirNamedFunctionSymbol)?.isFakeOverride == true
if (isFakeOverride) {
print("FakeOverride<")
}
val symbol = resolvedCallableReference.resolvedSymbol
val symbol = resolvedNamedReference.resolvedSymbol
print(symbol.render())
if (resolvedCallableReference is FirResolvedRealCallableReference) {
if (resolvedCallableReference.inferredTypeArguments.isNotEmpty()) {
if (resolvedNamedReference is FirResolvedRealCallableReference) {
if (resolvedNamedReference.inferredTypeArguments.isNotEmpty()) {
print("<")
resolvedCallableReference.inferredTypeArguments.renderTypesSeparated()
resolvedNamedReference.inferredTypeArguments.renderTypesSeparated()
print(">")
}
@@ -845,7 +845,7 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
}
override fun visitResolvedRealCallableReference(resolvedRealCallableReference: FirResolvedRealCallableReference) {
visitResolvedCallableReference(resolvedRealCallableReference)
visitResolvedRealCallableReference(resolvedRealCallableReference)
}
override fun visitThisReference(thisReference: FirThisReference) {
@@ -9,7 +9,7 @@ import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.expressions.impl.FirConstExpressionImpl
import org.jetbrains.kotlin.fir.expressions.impl.FirErrorExpressionImpl
import org.jetbrains.kotlin.fir.expressions.impl.FirErrorLoop
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
import org.jetbrains.kotlin.fir.types.ConeClassErrorType
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
@@ -28,8 +28,8 @@ fun <T> FirConstExpressionImpl(psi: PsiElement?, kind: IrConstKind<T>, value: T?
inline val FirTypeOperatorCall.argument: FirExpression get() = arguments.first()
fun FirExpression.toResolvedCallableReference(): FirResolvedCallableReference? {
return (this as? FirQualifiedAccess)?.calleeReference as? FirResolvedCallableReference
fun FirExpression.toResolvedCallableReference(): FirResolvedNamedReference? {
return (this as? FirQualifiedAccess)?.calleeReference as? FirResolvedNamedReference
}
fun FirExpression.toResolvedCallableSymbol(): FirCallableSymbol<*>? {
@@ -38,4 +38,4 @@ fun FirExpression.toResolvedCallableSymbol(): FirCallableSymbol<*>? {
fun FirErrorLoop(psi: PsiElement?, reason: String): FirErrorLoop = FirErrorLoop(psi).apply {
condition = FirErrorExpressionImpl(psi, reason)
}
}
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
abstract class FirBackingFieldReference : FirResolvedCallableReference() {
abstract class FirBackingFieldReference : FirResolvedNamedReference() {
abstract override val psi: PsiElement?
abstract override val name: Name
abstract override val candidateSymbol: AbstractFirBasedSymbol<*>?
@@ -16,7 +16,7 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
abstract class FirDelegateFieldReference : FirResolvedCallableReference() {
abstract class FirDelegateFieldReference : FirResolvedNamedReference() {
abstract override val psi: PsiElement?
abstract override val name: Name
abstract override val candidateSymbol: AbstractFirBasedSymbol<*>?
@@ -15,11 +15,11 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
abstract class FirResolvedCallableReference : FirNamedReference() {
abstract class FirResolvedNamedReference : FirNamedReference() {
abstract override val psi: PsiElement?
abstract override val name: Name
abstract override val candidateSymbol: AbstractFirBasedSymbol<*>?
abstract val resolvedSymbol: AbstractFirBasedSymbol<*>
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitResolvedCallableReference(this, data)
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitResolvedNamedReference(this, data)
}
@@ -8,15 +8,15 @@ package org.jetbrains.kotlin.fir.references
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.visitors.FirVisitor
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.fir.visitors.*
/*
* This file was generated automatically
* DO NOT MODIFY IT MANUALLY
*/
abstract class FirResolvedRealCallableReference : FirResolvedCallableReference() {
abstract class FirResolvedRealCallableReference : FirResolvedNamedReference() {
abstract override val psi: PsiElement?
abstract override val name: Name
abstract override val candidateSymbol: AbstractFirBasedSymbol<*>?
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.fir.visitors.*
@@ -16,16 +16,16 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
class FirPropertyFromParameterCallableReference(
class FirPropertyFromParameterResolvedNamedReference(
override val psi: PsiElement?,
override val name: Name,
override val resolvedSymbol: AbstractFirBasedSymbol<*>
) : FirResolvedCallableReference() {
) : FirResolvedNamedReference() {
override val candidateSymbol: AbstractFirBasedSymbol<*>? get() = null
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirPropertyFromParameterCallableReference {
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirPropertyFromParameterResolvedNamedReference {
return this
}
}
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.fir.references.impl
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.fir.visitors.*
@@ -16,16 +16,16 @@ import org.jetbrains.kotlin.fir.visitors.*
* DO NOT MODIFY IT MANUALLY
*/
class FirResolvedCallableReferenceImpl(
class FirResolvedNamedReferenceImpl(
override val psi: PsiElement?,
override val name: Name,
override val resolvedSymbol: AbstractFirBasedSymbol<*>
) : FirResolvedCallableReference() {
) : FirResolvedNamedReference() {
override val candidateSymbol: AbstractFirBasedSymbol<*>? get() = null
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirResolvedCallableReferenceImpl {
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirResolvedNamedReferenceImpl {
return this
}
}
@@ -9,9 +9,8 @@ import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.references.FirResolvedRealCallableReference
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.fir.types.ConeKotlinType
import org.jetbrains.kotlin.fir.visitors.FirTransformer
import org.jetbrains.kotlin.fir.visitors.FirVisitor
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.fir.visitors.*
/*
* This file was generated automatically
@@ -100,7 +100,7 @@ import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.references.FirSuperReference
import org.jetbrains.kotlin.fir.references.FirThisReference
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.references.FirDelegateFieldReference
import org.jetbrains.kotlin.fir.references.FirBackingFieldReference
import org.jetbrains.kotlin.fir.references.FirResolvedRealCallableReference
@@ -500,8 +500,8 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
return transformElement(controlFlowGraphReference, data)
}
open fun transformResolvedCallableReference(resolvedCallableReference: FirResolvedCallableReference, data: D): CompositeTransformResult<FirReference> {
return transformElement(resolvedCallableReference, data)
open fun transformResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference, data: D): CompositeTransformResult<FirReference> {
return transformElement(resolvedNamedReference, data)
}
open fun transformDelegateFieldReference(delegateFieldReference: FirDelegateFieldReference, data: D): CompositeTransformResult<FirReference> {
@@ -932,8 +932,8 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
return transformControlFlowGraphReference(controlFlowGraphReference, data)
}
final override fun visitResolvedCallableReference(resolvedCallableReference: FirResolvedCallableReference, data: D): CompositeTransformResult<FirReference> {
return transformResolvedCallableReference(resolvedCallableReference, data)
final override fun visitResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference, data: D): CompositeTransformResult<FirReference> {
return transformResolvedNamedReference(resolvedNamedReference, data)
}
final override fun visitDelegateFieldReference(delegateFieldReference: FirDelegateFieldReference, data: D): CompositeTransformResult<FirReference> {
@@ -100,7 +100,7 @@ import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.references.FirSuperReference
import org.jetbrains.kotlin.fir.references.FirThisReference
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.references.FirDelegateFieldReference
import org.jetbrains.kotlin.fir.references.FirBackingFieldReference
import org.jetbrains.kotlin.fir.references.FirResolvedRealCallableReference
@@ -310,7 +310,7 @@ abstract class FirVisitor<out R, in D> {
open fun visitControlFlowGraphReference(controlFlowGraphReference: FirControlFlowGraphReference, data: D): R = visitElement(controlFlowGraphReference, data)
open fun visitResolvedCallableReference(resolvedCallableReference: FirResolvedCallableReference, data: D): R = visitElement(resolvedCallableReference, data)
open fun visitResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference, data: D): R = visitElement(resolvedNamedReference, data)
open fun visitDelegateFieldReference(delegateFieldReference: FirDelegateFieldReference, data: D): R = visitElement(delegateFieldReference, data)
@@ -100,7 +100,7 @@ import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.references.FirSuperReference
import org.jetbrains.kotlin.fir.references.FirThisReference
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.references.FirDelegateFieldReference
import org.jetbrains.kotlin.fir.references.FirBackingFieldReference
import org.jetbrains.kotlin.fir.references.FirResolvedRealCallableReference
@@ -498,8 +498,8 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitElement(controlFlowGraphReference)
}
open fun visitResolvedCallableReference(resolvedCallableReference: FirResolvedCallableReference) {
visitElement(resolvedCallableReference)
open fun visitResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference) {
visitElement(resolvedNamedReference)
}
open fun visitDelegateFieldReference(delegateFieldReference: FirDelegateFieldReference) {
@@ -930,8 +930,8 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
visitControlFlowGraphReference(controlFlowGraphReference)
}
final override fun visitResolvedCallableReference(resolvedCallableReference: FirResolvedCallableReference, data: Nothing?) {
visitResolvedCallableReference(resolvedCallableReference)
final override fun visitResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference, data: Nothing?) {
visitResolvedNamedReference(resolvedNamedReference)
}
final override fun visitDelegateFieldReference(delegateFieldReference: FirDelegateFieldReference, data: Nothing?) {
@@ -117,11 +117,11 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
val thisReference = element("ThisReference", Reference, reference)
val controlFlowGraphReference = element("ControlFlowGraphReference", Reference, reference)
val resolvedCallableReference = element("ResolvedCallableReference", Reference, namedReference)
val delegateFieldReference = element("DelegateFieldReference", Reference, resolvedCallableReference)
val backingFieldReference = element("BackingFieldReference", Reference, resolvedCallableReference)
val resolvedNamedReference = element("ResolvedNamedReference", Reference, namedReference)
val delegateFieldReference = element("DelegateFieldReference", Reference, resolvedNamedReference)
val backingFieldReference = element("BackingFieldReference", Reference, resolvedNamedReference)
val resolvedRealCallableReference = element("ResolvedRealCallableReference", Reference, resolvedCallableReference)
val resolvedRealCallableReference = element("ResolvedRealCallableReference", Reference, resolvedNamedReference)
val resolvedTypeRef = element("ResolvedTypeRef", TypeRef, typeRef)
val errorTypeRef = element("ErrorTypeRef", TypeRef, resolvedTypeRef)
@@ -7,7 +7,8 @@ package org.jetbrains.kotlin.fir.tree.generator
import org.jetbrains.kotlin.fir.tree.generator.context.AbstractFirTreeImplementationConfigurator
import org.jetbrains.kotlin.fir.tree.generator.model.Implementation
import org.jetbrains.kotlin.fir.tree.generator.model.Implementation.Kind.*
import org.jetbrains.kotlin.fir.tree.generator.model.Implementation.Kind.Object
import org.jetbrains.kotlin.fir.tree.generator.model.Implementation.Kind.OpenClass
object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator() {
private lateinit var abstractAnnotatedElement: Implementation
@@ -425,11 +426,11 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
}
}
impl(resolvedCallableReference) {
impl(resolvedNamedReference) {
defaultNull("candidateSymbol", withGetter = true)
}
impl(resolvedCallableReference, "FirPropertyFromParameterCallableReference") {
impl(resolvedNamedReference, "FirPropertyFromParameterResolvedNamedReference") {
defaultNull("candidateSymbol", withGetter = true)
}
@@ -448,7 +448,7 @@ object NodeConfigurator : AbstractFieldConfigurator() {
+field("candidateSymbol", abstractFirBasedSymbolType, "*", nullable = true)
}
resolvedCallableReference.configure {
resolvedNamedReference.configure {
+field("resolvedSymbol", abstractFirBasedSymbolType, "*")
}
@@ -9,11 +9,11 @@ import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.KtNodeTypes
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirLabel
import org.jetbrains.kotlin.fir.references.FirNamedReference
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
import org.jetbrains.kotlin.fir.references.FirNamedReference
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.resolve.directExpansionType
import org.jetbrains.kotlin.fir.resolve.firSymbolProvider
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.firUnsafe
@@ -198,7 +198,7 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
override fun visitReferenceExpression(expression: KtReferenceExpression) {
if (expression is KtOperationReferenceExpression) return
expression.firstOfTypeWithLocalReplace<FirResolvedCallableReference> { this.name.asString() }
expression.firstOfTypeWithLocalReplace<FirResolvedNamedReference> { this.name.asString() }
?: expression.firstOfTypeWithRender<FirResolvedQualifier>()
?: expression.firstOfTypeWithRender<FirElement>() //fallback for errors
super.visitReferenceExpression(expression)
@@ -363,8 +363,8 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
visitElement(namedReference, data)
}
override fun visitResolvedCallableReference(resolvedCallableReference: FirResolvedCallableReference, data: StringBuilder) {
val symbol = resolvedCallableReference.resolvedSymbol
override fun visitResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference, data: StringBuilder) {
val symbol = resolvedNamedReference.resolvedSymbol
data.append(renderSymbol(symbol))
}
@@ -399,7 +399,7 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
override fun visitFunctionCall(functionCall: FirFunctionCall, data: StringBuilder) {
when (val callee = functionCall.calleeReference) {
is FirResolvedCallableReference -> {
is FirResolvedNamedReference -> {
if (callee.resolvedSymbol is FirConstructorSymbol) {
data.append(renderSymbol(callee.resolvedSymbol))
visitArguments(functionCall.arguments, data)
@@ -551,4 +551,4 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
return data.toString()
}
}
}
}
@@ -6,9 +6,10 @@
package org.jetbrains.kotlin.idea.fir
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.fir.*
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.references.*
import org.jetbrains.kotlin.fir.render
import org.jetbrains.kotlin.fir.resolve.FirProvider
import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDesignatedBodyResolveTransformer
import org.jetbrains.kotlin.fir.resolve.transformers.runResolve
@@ -176,7 +177,7 @@ fun KtElement.getOrBuildFir(
override fun visitNamedReference(namedReference: FirNamedReference) {}
override fun visitResolvedCallableReference(resolvedCallableReference: FirResolvedCallableReference) {}
override fun visitResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference) {}
override fun visitDelegateFieldReference(delegateFieldReference: FirDelegateFieldReference) {}