[FIR] Set positioning strategy for UNRESOLVED_REFERENCE_WRONG_RECEIVER

This commit is contained in:
Kirill Rakhman
2023-11-07 15:24:41 +01:00
committed by Space Team
parent 789f886d3c
commit 6d2ab92d91
6 changed files with 5 additions and 30 deletions
@@ -168,7 +168,7 @@ object DIAGNOSTICS_LIST : DiagnosticList("FirErrors") {
parameter<ApiVersion>("currentVersion")
}
val UNRESOLVED_REFERENCE_WRONG_RECEIVER by error<PsiElement> {
val UNRESOLVED_REFERENCE_WRONG_RECEIVER by error<PsiElement>(PositioningStrategy.REFERENCE_BY_QUALIFIED) {
parameter<Collection<Symbol>>("candidates")
}
val UNRESOLVED_IMPORT by error<PsiElement>(PositioningStrategy.IMPORT_LAST_NAME) {
@@ -172,7 +172,7 @@ object FirErrors {
val TYPEALIAS_EXPANSION_DEPRECATION_ERROR by error3<PsiElement, FirBasedSymbol<*>, FirBasedSymbol<*>, String>(SourceElementPositioningStrategies.REFERENCED_NAME_BY_QUALIFIED)
val TYPEALIAS_EXPANSION_DEPRECATION by warning3<PsiElement, FirBasedSymbol<*>, FirBasedSymbol<*>, String>(SourceElementPositioningStrategies.REFERENCED_NAME_BY_QUALIFIED)
val API_NOT_AVAILABLE by error2<PsiElement, ApiVersion, ApiVersion>(SourceElementPositioningStrategies.SELECTOR_BY_QUALIFIED)
val UNRESOLVED_REFERENCE_WRONG_RECEIVER by error1<PsiElement, Collection<FirBasedSymbol<*>>>()
val UNRESOLVED_REFERENCE_WRONG_RECEIVER by error1<PsiElement, Collection<FirBasedSymbol<*>>>(SourceElementPositioningStrategies.REFERENCE_BY_QUALIFIED)
val UNRESOLVED_IMPORT by error1<PsiElement, String>(SourceElementPositioningStrategies.IMPORT_LAST_NAME)
val DUPLICATE_PARAMETER_NAME_IN_FUNCTION_TYPE by error0<KtTypeReference>()
val MISSING_DEPENDENCY_CLASS by error1<PsiElement, ConeKotlinType>(SourceElementPositioningStrategies.REFERENCED_NAME_BY_QUALIFIED)
@@ -1,26 +0,0 @@
// !DIAGNOSTICS: -UNUSED_EXPRESSION
import Obj.ext
import A.Companion.ext2
object Obj {
val String.ext: String get() = this
}
class A {
companion object {
val String.ext2: String get() = this
}
}
fun test() {
String::<!EXTENSION_IN_CLASS_REFERENCE_NOT_ALLOWED!>ext<!>
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>Obj::ext<!>
String::<!EXTENSION_IN_CLASS_REFERENCE_NOT_ALLOWED!>ext2<!>
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>A.Companion::ext2<!>
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>A::ext2<!>
A::<!UNRESOLVED_REFERENCE!>foo<!>
A::<!UNRESOLVED_REFERENCE!>bar<!>
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_EXPRESSION
import Obj.ext
@@ -29,7 +29,7 @@ fun test() {
oldAndNew %= 1
val onlyOld = OnlyOld()
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>onlyOld %= 1<!>
onlyOld <!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>%=<!> 1
val onlyNew = OnlyNew()
onlyNew %= 1
@@ -5,5 +5,5 @@ fun String.invoke(i: Int) {}
fun foo(i: Int) {
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>i<!>(1)
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>1(1)<!>
<!UNRESOLVED_REFERENCE_WRONG_RECEIVER!>1<!>(1)
}