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