KT-11018 Ctrl + Mouse Hover shows a var as val

#KT-11018 Fixed
This commit is contained in:
Valentin Kipyatkov
2016-02-12 15:00:55 +03:00
parent c9f26de9f5
commit 4cd7193047
360 changed files with 447 additions and 424 deletions
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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 -1
View File
@@ -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
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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,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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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
View File
@@ -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 -1
View File
@@ -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
View File
@@ -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,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,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
View File
@@ -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
View File
@@ -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)"