FIR checker: fix positioning of CONFLICTING_IMPORT
FE1.0 puts it on the alias when applicable.
This commit is contained in:
committed by
Mikhail Glukhikh
parent
4ad5f01324
commit
52b247937e
+1
-1
@@ -1322,7 +1322,7 @@ object DIAGNOSTICS_LIST : DiagnosticList("FirErrors") {
|
|||||||
parameter<Name>("name")
|
parameter<Name>("name")
|
||||||
}
|
}
|
||||||
|
|
||||||
val CONFLICTING_IMPORT by error<KtImportDirective>(PositioningStrategy.IMPORT_LAST_NAME) {
|
val CONFLICTING_IMPORT by error<KtImportDirective>(PositioningStrategy.IMPORT_ALIAS) {
|
||||||
parameter<Name>("name")
|
parameter<Name>("name")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
@@ -108,6 +108,7 @@ enum class PositioningStrategy(private val strategy: String? = null) {
|
|||||||
ENUM_MODIFIER,
|
ENUM_MODIFIER,
|
||||||
FIELD_KEYWORD,
|
FIELD_KEYWORD,
|
||||||
TAILREC_MODIFIER,
|
TAILREC_MODIFIER,
|
||||||
|
IMPORT_ALIAS,
|
||||||
PROPERTY_DELEGATE,
|
PROPERTY_DELEGATE,
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|||||||
+1
-1
@@ -684,7 +684,7 @@ object FirErrors {
|
|||||||
val CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON by error1<KtImportDirective, Name>(SourceElementPositioningStrategies.IMPORT_LAST_NAME)
|
val CANNOT_ALL_UNDER_IMPORT_FROM_SINGLETON by error1<KtImportDirective, Name>(SourceElementPositioningStrategies.IMPORT_LAST_NAME)
|
||||||
val PACKAGE_CANNOT_BE_IMPORTED by error0<KtImportDirective>(SourceElementPositioningStrategies.IMPORT_LAST_NAME)
|
val PACKAGE_CANNOT_BE_IMPORTED by error0<KtImportDirective>(SourceElementPositioningStrategies.IMPORT_LAST_NAME)
|
||||||
val CANNOT_BE_IMPORTED by error1<KtImportDirective, Name>(SourceElementPositioningStrategies.IMPORT_LAST_NAME)
|
val CANNOT_BE_IMPORTED by error1<KtImportDirective, Name>(SourceElementPositioningStrategies.IMPORT_LAST_NAME)
|
||||||
val CONFLICTING_IMPORT by error1<KtImportDirective, Name>(SourceElementPositioningStrategies.IMPORT_LAST_NAME)
|
val CONFLICTING_IMPORT by error1<KtImportDirective, Name>(SourceElementPositioningStrategies.IMPORT_ALIAS)
|
||||||
val OPERATOR_RENAMED_ON_IMPORT by error0<KtImportDirective>(SourceElementPositioningStrategies.IMPORT_LAST_NAME)
|
val OPERATOR_RENAMED_ON_IMPORT by error0<KtImportDirective>(SourceElementPositioningStrategies.IMPORT_LAST_NAME)
|
||||||
|
|
||||||
// Suspend errors
|
// Suspend errors
|
||||||
|
|||||||
+17
@@ -879,6 +879,23 @@ object LightTreePositioningStrategies {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val IMPORT_ALIAS: LightTreePositioningStrategy = object : LightTreePositioningStrategy() {
|
||||||
|
override fun mark(
|
||||||
|
node: LighterASTNode,
|
||||||
|
startOffset: Int,
|
||||||
|
endOffset: Int,
|
||||||
|
tree: FlyweightCapableTreeStructure<LighterASTNode>
|
||||||
|
): List<TextRange> {
|
||||||
|
tree.findChildByType(node, KtNodeTypes.IMPORT_ALIAS)?.let {
|
||||||
|
tree.findChildByType(it, KtTokens.IDENTIFIER)?.let {
|
||||||
|
return markElement(it, startOffset, endOffset, tree, node)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return IMPORT_LAST_NAME.mark(node, startOffset, endOffset, tree)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
val SPREAD_OPERATOR: LightTreePositioningStrategy = object : LightTreePositioningStrategy() {
|
val SPREAD_OPERATOR: LightTreePositioningStrategy = object : LightTreePositioningStrategy() {
|
||||||
override fun mark(
|
override fun mark(
|
||||||
node: LighterASTNode,
|
node: LighterASTNode,
|
||||||
|
|||||||
+5
@@ -330,6 +330,11 @@ object SourceElementPositioningStrategies {
|
|||||||
PositioningStrategies.TAILREC_MODIFIER
|
PositioningStrategies.TAILREC_MODIFIER
|
||||||
)
|
)
|
||||||
|
|
||||||
|
val IMPORT_ALIAS = SourceElementPositioningStrategy(
|
||||||
|
LightTreePositioningStrategies.IMPORT_ALIAS,
|
||||||
|
PositioningStrategies.IMPORT_ALIAS
|
||||||
|
)
|
||||||
|
|
||||||
val PROPERTY_DELEGATE = SourceElementPositioningStrategy(
|
val PROPERTY_DELEGATE = SourceElementPositioningStrategy(
|
||||||
LightTreePositioningStrategies.PROPERTY_DELEGATE,
|
LightTreePositioningStrategies.PROPERTY_DELEGATE,
|
||||||
PositioningStrategies.PROPERTY_DELEGATE
|
PositioningStrategies.PROPERTY_DELEGATE
|
||||||
|
|||||||
@@ -46,4 +46,8 @@ import a.B
|
|||||||
|
|
||||||
// FILE: 6.kt
|
// FILE: 6.kt
|
||||||
import a.<!CONFLICTING_IMPORT!>B<!>
|
import a.<!CONFLICTING_IMPORT!>B<!>
|
||||||
import b.<!CONFLICTING_IMPORT!>B<!>
|
import b.<!CONFLICTING_IMPORT!>B<!>
|
||||||
|
|
||||||
|
// FILE: 7.kt
|
||||||
|
import a.B as <!CONFLICTING_IMPORT!>Foo<!>
|
||||||
|
import b.B as <!CONFLICTING_IMPORT!>Foo<!>
|
||||||
|
|||||||
Reference in New Issue
Block a user