[LL FIR] LLFirResolveTargetWithDedicatedElement: implement common toStringForTarget
^KT-61296
This commit is contained in:
committed by
Space Team
parent
3432e8d1f9
commit
fd25531268
-2
@@ -30,6 +30,4 @@ class LLFirClassWithAllCallablesResolveTarget(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun toStringForTarget(): String = target.name.asString()
|
||||
}
|
||||
|
||||
+1
-3
@@ -26,6 +26,4 @@ class LLFirClassWithAllMembersResolveTarget(
|
||||
inline fun forEachMember(action: (FirDeclaration) -> Unit) {
|
||||
target.declarations.forEach(action)
|
||||
}
|
||||
|
||||
override fun toStringForTarget(): String = target.name.asString()
|
||||
}
|
||||
}
|
||||
|
||||
+15
-1
@@ -7,6 +7,10 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
||||
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
|
||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirClassLikeDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
@@ -23,7 +27,17 @@ sealed class LLFirResolveTargetWithDedicatedElement<T : FirElementWithResolveSta
|
||||
) : LLFirResolveTarget(
|
||||
firFile = firFile,
|
||||
path = pathWithScript(firFile, classPath, target),
|
||||
)
|
||||
) {
|
||||
override fun toStringForTarget(): String = when (target) {
|
||||
is FirConstructor -> "constructor"
|
||||
is FirClassLikeDeclaration -> target.symbol.name.asString()
|
||||
is FirCallableDeclaration -> target.symbol.name.asString()
|
||||
is FirAnonymousInitializer -> ("<init-block>")
|
||||
is FirFileAnnotationsContainer -> "<file annotations>"
|
||||
is FirScript -> target.name.asString()
|
||||
else -> "???"
|
||||
}
|
||||
}
|
||||
|
||||
private fun pathWithScript(firFile: FirFile, path: List<FirRegularClass>, target: FirElementWithResolveState): List<FirDeclaration> {
|
||||
if (target is FirFile || target is FirFileAnnotationsContainer || target is FirScript) return path
|
||||
|
||||
+1
-12
@@ -6,7 +6,6 @@
|
||||
package org.jetbrains.kotlin.analysis.low.level.api.fir.api.targets
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElementWithResolveState
|
||||
import org.jetbrains.kotlin.fir.FirFileAnnotationsContainer
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
|
||||
/**
|
||||
@@ -20,14 +19,4 @@ class LLFirSingleResolveTarget(
|
||||
override fun forEachTarget(action: (FirElementWithResolveState) -> Unit) {
|
||||
action(target)
|
||||
}
|
||||
|
||||
override fun toStringForTarget(): String = when (target) {
|
||||
is FirConstructor -> "constructor"
|
||||
is FirClassLikeDeclaration -> target.symbol.name.asString()
|
||||
is FirCallableDeclaration -> target.symbol.name.asString()
|
||||
is FirAnonymousInitializer -> ("<init-block>")
|
||||
is FirFileAnnotationsContainer -> "<file annotations>"
|
||||
is FirScript -> target.name.asString()
|
||||
else -> "???"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user