[FIR] Deprecate using typealias as callable qualifier in import
^KT-64350 Fixed
This commit is contained in:
committed by
Space Team
parent
802366064d
commit
3994e3f63a
+13
@@ -1048,6 +1048,19 @@ object LightTreePositioningStrategies {
|
||||
}
|
||||
}
|
||||
|
||||
val IMPORT_LAST_BUT_ONE_NAME: LightTreePositioningStrategy = object : LightTreePositioningStrategy() {
|
||||
override fun mark(
|
||||
node: LighterASTNode,
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
tree: FlyweightCapableTreeStructure<LighterASTNode>
|
||||
): List<TextRange> {
|
||||
val references = tree.collectDescendantsOfType(node, KtNodeTypes.REFERENCE_EXPRESSION)
|
||||
val nodeToMark = references.elementAtOrNull(references.size - 2) ?: node
|
||||
return markElement(nodeToMark, startOffset, endOffset, tree, node)
|
||||
}
|
||||
}
|
||||
|
||||
val IMPORT_ALIAS: LightTreePositioningStrategy = object : LightTreePositioningStrategy() {
|
||||
override fun mark(
|
||||
node: LighterASTNode,
|
||||
|
||||
+16
@@ -17,6 +17,8 @@ import org.jetbrains.kotlin.lexer.KtTokens.MODALITY_MODIFIERS
|
||||
import org.jetbrains.kotlin.lexer.KtTokens.VISIBILITY_MODIFIERS
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.*
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.UnsafeCastFunction
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
import org.jetbrains.kotlin.utils.sure
|
||||
|
||||
object PositioningStrategies {
|
||||
@@ -1013,6 +1015,20 @@ object PositioningStrategies {
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(UnsafeCastFunction::class)
|
||||
val IMPORT_LAST_BUT_ONE_NAME: PositioningStrategy<KtImportDirective> = object : PositioningStrategy<KtImportDirective>() {
|
||||
override fun mark(element: KtImportDirective): List<TextRange> {
|
||||
element.importedReference
|
||||
?.safeAs<KtDotQualifiedExpression>()
|
||||
?.receiverExpression
|
||||
?.safeAs<KtDotQualifiedExpression>()
|
||||
?.selectorExpression
|
||||
?.let { return markElement(it) }
|
||||
|
||||
return super.mark(element)
|
||||
}
|
||||
}
|
||||
|
||||
val LABEL: PositioningStrategy<KtElement> = object : PositioningStrategy<KtElement>() {
|
||||
override fun mark(element: KtElement): List<TextRange> {
|
||||
return super.mark((element as? KtExpressionWithLabel)?.labelQualifier ?: element)
|
||||
|
||||
+5
@@ -286,6 +286,11 @@ object SourceElementPositioningStrategies {
|
||||
PositioningStrategies.IMPORT_LAST_NAME
|
||||
)
|
||||
|
||||
val IMPORT_LAST_BUT_ONE_NAME = SourceElementPositioningStrategy(
|
||||
LightTreePositioningStrategies.IMPORT_LAST_BUT_ONE_NAME,
|
||||
PositioningStrategies.IMPORT_LAST_BUT_ONE_NAME,
|
||||
)
|
||||
|
||||
val SPREAD_OPERATOR = SourceElementPositioningStrategy(
|
||||
LightTreePositioningStrategies.SPREAD_OPERATOR,
|
||||
PositioningStrategies.SPREAD_OPERATOR
|
||||
|
||||
Reference in New Issue
Block a user