KT-11018 Ctrl + Mouse Hover shows a var as val
#KT-11018 Fixed
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String?
|
||||
Resolve target: value-parameter p: kotlin.String?
|
||||
----------------------------------------------
|
||||
open class C(p: Int) {
|
||||
open fun f(){}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String?
|
||||
Resolve target: value-parameter p: kotlin.String?
|
||||
----------------------------------------------
|
||||
open class C(p: Int) {
|
||||
open fun f(){}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.Any smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: Any, p1: Any?) {
|
||||
x(e.f as String)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.Any smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: Any, p1: Any?) {
|
||||
/* STATEMENT DELETED: x(e.f as String) */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String? smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.String? smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: String?, p1: Any?) {
|
||||
x(e.f!!)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String? smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.String? smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: String?, p1: Any?) {
|
||||
/* STATEMENT DELETED: x(e.f!!) */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Boolean? smart-cast to kotlin.Boolean
|
||||
Resolve target: value-parameter p: kotlin.Boolean? smart-cast to kotlin.Boolean
|
||||
----------------------------------------------
|
||||
fun foo(p: Boolean?, p1: Any?) {
|
||||
if (p!!) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any? smart-cast to kotlin.Any
|
||||
Resolve target: value-parameter p: kotlin.Any? smart-cast to kotlin.Any
|
||||
----------------------------------------------
|
||||
fun foo(p: Any?) {
|
||||
do {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p1: kotlin.Any?
|
||||
Resolve target: value-parameter p1: kotlin.Any?
|
||||
----------------------------------------------
|
||||
fun foo(p1: Any?, p2: Any) {
|
||||
/* STATEMENT DELETED: print(p1 ?: p2) */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any? smart-cast to kotlin.Any
|
||||
Resolve target: value-parameter p: kotlin.Any? smart-cast to kotlin.Any
|
||||
----------------------------------------------
|
||||
fun foo(p: Any?) {
|
||||
print(p ?: return)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any? smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.Any? smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun x(s: String): Collection<String>{}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p1: kotlin.Any? smart-cast to kotlin.Any
|
||||
Resolve target: value-parameter p1: kotlin.Any? smart-cast to kotlin.Any
|
||||
----------------------------------------------
|
||||
fun foo(p: Any?, p1: Any?, p2: Any?) {
|
||||
if (x()) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val o: kotlin.Any? smart-cast to kotlin.Any
|
||||
Resolve target: value-parameter o: kotlin.Any? smart-cast to kotlin.Any
|
||||
----------------------------------------------
|
||||
fun foo(o: Any?, p: Int) {
|
||||
if (p > 0) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any?
|
||||
Resolve target: value-parameter p: kotlin.Any?
|
||||
----------------------------------------------
|
||||
fun foo(p: Any?) {
|
||||
/* STATEMENT DELETED: if (x(p == null)) { print("returned true") return } */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val o: kotlin.String? smart-cast to kotlin.String
|
||||
Resolve target: value-parameter o: kotlin.String? smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(o: String?, o1: String) {
|
||||
if (o != o1) return
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any?
|
||||
Resolve target: value-parameter p: kotlin.Any?
|
||||
----------------------------------------------
|
||||
fun foo(p: Any?) {
|
||||
/* STATEMENT DELETED: if (p is String) return */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any? smart-cast to kotlin.Any
|
||||
Resolve target: value-parameter p: kotlin.Any? smart-cast to kotlin.Any
|
||||
----------------------------------------------
|
||||
fun foo(p: Any?) {
|
||||
if (!(p != null)) return
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.Any smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: Any) {
|
||||
if (p !is String) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.Any smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: Any) {
|
||||
if (p !is String) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any
|
||||
Resolve target: value-parameter p: kotlin.Any
|
||||
----------------------------------------------
|
||||
val error = "error"
|
||||
fun foo(p: Any) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.Any smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun myError(): Nothing = throw Exception()
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.Any smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
import kotlin.Nothing as MyNothing
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.Any smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
val prop: Nothing
|
||||
get() = throw Exception()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any? smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.Any? smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: Any?) {
|
||||
if (p !is String) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.Any smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: Any) {
|
||||
if (p !is String) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any? smart-cast to kotlin.Any
|
||||
Resolve target: value-parameter p: kotlin.Any? smart-cast to kotlin.Any
|
||||
----------------------------------------------
|
||||
fun foo(p: Any?) {
|
||||
if (p != null) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String? smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.String? smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: String?, x: Boolean, y: Boolean, z: Boolean, t: Boolean) {
|
||||
if (p == null) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p1: kotlin.Any?
|
||||
Resolve target: value-parameter p1: kotlin.Any?
|
||||
----------------------------------------------
|
||||
fun foo(p1: Any?, p2: Any?) {
|
||||
/* STATEMENT DELETED: if (p1 == null && p2 == null) { print("2 null's") return } */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any?
|
||||
Resolve target: value-parameter p: kotlin.Any?
|
||||
----------------------------------------------
|
||||
fun foo(p: Any?) {
|
||||
/* STATEMENT DELETED: if (p == null) { print("null") } else { return } */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p1: kotlin.Any? smart-cast to kotlin.Any
|
||||
Resolve target: value-parameter p1: kotlin.Any? smart-cast to kotlin.Any
|
||||
----------------------------------------------
|
||||
fun foo(p1: Any?, p2: Any?) {
|
||||
if (p1 == null || p2 == null) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any?
|
||||
Resolve target: value-parameter p: kotlin.Any?
|
||||
----------------------------------------------
|
||||
fun foo(p: Any?) {
|
||||
/* STATEMENT DELETED: if (p == null) { print("null") } */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any? smart-cast to kotlin.Any
|
||||
Resolve target: value-parameter p: kotlin.Any? smart-cast to kotlin.Any
|
||||
----------------------------------------------
|
||||
fun foo(p: Any?) {
|
||||
if (p == null) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val c: kotlin.collections.Collection<kotlin.String>
|
||||
Resolve target: value-parameter c: kotlin.collections.Collection<kotlin.String>
|
||||
----------------------------------------------
|
||||
fun foo(c: Collection<String>): Collection<String> {
|
||||
return <caret>c.filter {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String? smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.String? smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: String?) {
|
||||
val lambda = { () -> throw Exception() }
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String? smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.String? smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: String?, errorHandler: () -> Nothing) {
|
||||
if (p == null) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String?
|
||||
Resolve target: value-parameter p: kotlin.String?
|
||||
----------------------------------------------
|
||||
fun foo(p: String?) {
|
||||
class LocalClass {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String?
|
||||
Resolve target: value-parameter p: kotlin.String?
|
||||
----------------------------------------------
|
||||
fun foo(p: String?) {
|
||||
/* STATEMENT DELETED: class LocalClass { fun f(): String? { if (p == null) return null print(p.size) return "" } } */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String?
|
||||
Resolve target: value-parameter p: kotlin.String?
|
||||
----------------------------------------------
|
||||
fun foo(p: String?) {
|
||||
fun local(): String? {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String?
|
||||
Resolve target: value-parameter p: kotlin.String?
|
||||
----------------------------------------------
|
||||
fun foo(p: String?) {
|
||||
/* STATEMENT DELETED: fun local(): String? { if (p == null) return null print(p.size) return "" } */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String? smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.String? smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: String?, p1: Any?) {
|
||||
if (p1 == null) return
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String? smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.String? smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: String?, p1: Any?) {
|
||||
/* STATEMENT DELETED: if (p1 == null) return */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val b: kotlin.String?
|
||||
Resolve target: value-parameter b: kotlin.String?
|
||||
----------------------------------------------
|
||||
data class TestData(val first: Int, val second: String?)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.String? smart-cast to kotlin.String
|
||||
Resolve target: value-parameter p: kotlin.String? smart-cast to kotlin.String
|
||||
----------------------------------------------
|
||||
fun foo(p: String?): () -> String {
|
||||
if (p == null) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Int
|
||||
Resolve target: value-parameter p: kotlin.Int
|
||||
----------------------------------------------
|
||||
fun foo(p: Int) {
|
||||
/* STATEMENT DELETED: x() */
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val s: kotlin.String?
|
||||
Resolve target: value-parameter s: kotlin.String?
|
||||
----------------------------------------------
|
||||
fun foo(s: String?, b1: Boolean, b2: Boolean) {
|
||||
x(
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val x: kotlin.Any?
|
||||
Resolve target: value-parameter x: kotlin.Any?
|
||||
----------------------------------------------
|
||||
fun foo(x: Any?, p: Int) {
|
||||
if (p > 0) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val x: kotlin.Any?
|
||||
Resolve target: value-parameter x: kotlin.Any?
|
||||
----------------------------------------------
|
||||
fun foo(x: Any?) {
|
||||
if (x == null) {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any? smart-cast to kotlin.Any
|
||||
Resolve target: value-parameter p: kotlin.Any? smart-cast to kotlin.Any
|
||||
----------------------------------------------
|
||||
fun x(s: Any): Boolean{}
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any? smart-cast to kotlin.Any
|
||||
Resolve target: value-parameter p: kotlin.Any? smart-cast to kotlin.Any
|
||||
----------------------------------------------
|
||||
fun x(): Boolean{}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Resolve target: value-parameter val p: kotlin.Any?
|
||||
Resolve target: value-parameter p: kotlin.Any?
|
||||
----------------------------------------------
|
||||
// this test will fail if control flow analysis will start to produce smart-casts after "while(2 * 2 == 4)"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user