Narrow down the range for compatibility warning to callee expression
This commit is contained in:
+3
-1
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.diagnostics.reportDiagnosticOnce
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.isNull
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.calls.callUtil.getCalleeExpressionIfAny
|
||||
import org.jetbrains.kotlin.resolve.calls.callUtil.getResolvedCall
|
||||
import org.jetbrains.kotlin.resolve.calls.callUtil.reportTrailingLambdaErrorOr
|
||||
import org.jetbrains.kotlin.resolve.calls.context.BasicCallResolutionContext
|
||||
@@ -81,9 +82,10 @@ class DiagnosticReporterByTrackingStrategy(
|
||||
trace.report(CANDIDATE_CHOSEN_USING_OVERLOAD_RESOLUTION_BY_LAMBDA_ANNOTATION.on(psiKotlinCall.psiCall.callElement))
|
||||
}
|
||||
CompatibilityWarning::class.java -> {
|
||||
val callElement = psiKotlinCall.psiCall.callElement
|
||||
trace.report(
|
||||
COMPATIBILITY_WARNING.on(
|
||||
psiKotlinCall.psiCall.callElement,
|
||||
callElement.getCalleeExpressionIfAny() ?: callElement,
|
||||
(diagnostic as CompatibilityWarning).candidate
|
||||
)
|
||||
)
|
||||
|
||||
Vendored
+2
-2
@@ -18,7 +18,7 @@ object Test1 {
|
||||
fun foo(r: Runnable) {}
|
||||
|
||||
fun test(f: () -> Unit) {
|
||||
<!COMPATIBILITY_WARNING, DEBUG_INFO_CALL("fqName: Test1.foo; typeCall: function")!>foo(f)<!>
|
||||
<!DEBUG_INFO_CALL("fqName: Test1.foo; typeCall: function")!><!COMPATIBILITY_WARNING!>foo<!>(f)<!>
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -65,7 +65,7 @@ object Test5 {
|
||||
fun foo(r: Runnable) {}
|
||||
|
||||
fun test() {
|
||||
<!COMPATIBILITY_WARNING, DEBUG_INFO_CALL("fqName: Test5.foo; typeCall: function")!>foo { }<!>
|
||||
<!DEBUG_INFO_CALL("fqName: Test5.foo; typeCall: function")!><!COMPATIBILITY_WARNING!>foo<!> { }<!>
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+1
-1
@@ -12,7 +12,7 @@ object Test1 {
|
||||
fun call(r: SuspendRunnable) {}
|
||||
|
||||
fun bar(f: () -> Unit) {
|
||||
<!COMPATIBILITY_WARNING, DEBUG_INFO_CALL("fqName: Test1.call; typeCall: function")!>call(f)<!>
|
||||
<!DEBUG_INFO_CALL("fqName: Test1.call; typeCall: function")!><!COMPATIBILITY_WARNING!>call<!>(f)<!>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ object Test1 {
|
||||
fun foo(f: suspend () -> Unit) {}
|
||||
|
||||
fun test(g: () -> Unit) {
|
||||
<!COMPATIBILITY_WARNING, DEBUG_INFO_CALL("fqName: Test1.foo; typeCall: function")!>foo(g)<!>
|
||||
<!DEBUG_INFO_CALL("fqName: Test1.foo; typeCall: function")!><!COMPATIBILITY_WARNING!>foo<!>(g)<!>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user