FIR general refactoring: get rid of ConeSymbols
This commit is contained in:
+11
-16
@@ -20,13 +20,8 @@ import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.directExpansionType
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.firSafeNullable
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.firUnsafe
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeClassLikeSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.ConeSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirResolvedTypeRefImpl
|
||||
import org.jetbrains.kotlin.fir.visitors.FirVisitor
|
||||
@@ -372,7 +367,7 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
|
||||
}
|
||||
|
||||
override fun visitResolvedCallableReference(resolvedCallableReference: FirResolvedCallableReference, data: StringBuilder) {
|
||||
val symbol = resolvedCallableReference.coneSymbol
|
||||
val symbol = resolvedCallableReference.resolvedSymbol
|
||||
data.append(renderSymbol(symbol))
|
||||
}
|
||||
|
||||
@@ -408,17 +403,17 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
|
||||
override fun visitFunctionCall(functionCall: FirFunctionCall, data: StringBuilder) {
|
||||
when (val callee = functionCall.calleeReference) {
|
||||
is FirResolvedCallableReference -> {
|
||||
if (callee.coneSymbol is FirConstructorSymbol) {
|
||||
data.append(renderSymbol(callee.coneSymbol))
|
||||
if (callee.resolvedSymbol is FirConstructorSymbol) {
|
||||
data.append(renderSymbol(callee.resolvedSymbol))
|
||||
visitArguments(functionCall.arguments, data)
|
||||
} else {
|
||||
data.append("fun ")
|
||||
val firFunction = callee.coneSymbol.firSafeNullable<FirAbstractMemberDeclaration>()
|
||||
val firFunction = callee.resolvedSymbol.firSafeNullable<FirAbstractMemberDeclaration>()
|
||||
firFunction?.let { renderListInTriangles(it.typeParameters, data, true) }
|
||||
|
||||
data.append(renderSymbol(callee.coneSymbol))
|
||||
data.append(renderSymbol(callee.resolvedSymbol))
|
||||
renderListInTriangles(functionCall.typeArguments, data)
|
||||
visitValueParameters(callee.coneSymbol.firUnsafe<FirFunction<*>>().valueParameters, data)
|
||||
visitValueParameters(callee.resolvedSymbol.firUnsafe<FirFunction<*>>().valueParameters, data)
|
||||
data.append(": ")
|
||||
functionCall.typeRef.accept(this, data)
|
||||
}
|
||||
@@ -496,15 +491,15 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun renderSymbol(symbol: ConeSymbol?): String {
|
||||
private fun renderSymbol(symbol: AbstractFirBasedSymbol<*>?): String {
|
||||
val data = StringBuilder()
|
||||
var id = when (symbol) {
|
||||
is ConeCallableSymbol -> {
|
||||
is FirCallableSymbol<*> -> {
|
||||
val callableId = symbol.callableId
|
||||
val idWithPackage = callableId.toString().replace("." + callableId.callableName.asString(), "")
|
||||
removeCurrentFilePackage(idWithPackage)
|
||||
}
|
||||
is ConeClassLikeSymbol -> symbol.classId.getWithoutCurrentPackage()
|
||||
is FirClassLikeSymbol<*> -> symbol.classId.getWithoutCurrentPackage()
|
||||
else -> ""
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user