Handle implicit receivers more accurately in if-then to safe access
#KT-26599 Fixed
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
||||
// HIGHLIGHT: INFORMATION
|
||||
// WITH_RUNTIME
|
||||
|
||||
class Test {
|
||||
fun doAThing(param1: String) {
|
||||
|
||||
}
|
||||
|
||||
fun doAThingIfPresent(param1: String?) {
|
||||
<caret>if (param1 != null) {
|
||||
doAThing(param1)
|
||||
}
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
// HIGHLIGHT: INFORMATION
|
||||
// WITH_RUNTIME
|
||||
|
||||
class Test {
|
||||
fun doAThing(param1: String) {
|
||||
|
||||
}
|
||||
|
||||
fun doAThingIfPresent(param1: String?) {
|
||||
param1?.let { doAThing(it) }
|
||||
}
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
// HIGHLIGHT: INFORMATION
|
||||
// WITH_RUNTIME
|
||||
|
||||
class Test {
|
||||
fun doAThing(param1: String) {
|
||||
|
||||
}
|
||||
|
||||
fun doAThingIfPresent(param1: String?) {
|
||||
<caret>if (param1 is String) {
|
||||
doAThing(param1)
|
||||
}
|
||||
}
|
||||
}
|
||||
Vendored
+12
@@ -0,0 +1,12 @@
|
||||
// HIGHLIGHT: INFORMATION
|
||||
// WITH_RUNTIME
|
||||
|
||||
class Test {
|
||||
fun doAThing(param1: String) {
|
||||
|
||||
}
|
||||
|
||||
fun doAThingIfPresent(param1: String?) {
|
||||
(param1 as? String)?.let { doAThing(it) }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user