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,5 +1,5 @@
// PARAM_TYPES: kotlin.String
// PARAM_DESCRIPTOR: value-parameter val p: kotlin.Any defined in foo
// PARAM_DESCRIPTOR: value-parameter p: kotlin.Any defined in foo
fun foo(p: Any) {
if (p is String) {
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.String
// PARAM_DESCRIPTOR: value-parameter val p: kotlin.Any defined in foo
// PARAM_DESCRIPTOR: value-parameter p: kotlin.Any defined in foo
fun foo(p: Any) {
if (p is String) {
@@ -1,6 +1,6 @@
// SUGGESTED_NAMES: i, getX
// PARAM_TYPES: kotlin.Any
// PARAM_DESCRIPTOR: value-parameter val o: kotlin.Any defined in foo
// PARAM_DESCRIPTOR: value-parameter o: kotlin.Any defined in foo
open class A {
val a = 1
@@ -1,6 +1,6 @@
// SUGGESTED_NAMES: i, getX
// PARAM_TYPES: kotlin.Any
// PARAM_DESCRIPTOR: value-parameter val o: kotlin.Any defined in foo
// PARAM_DESCRIPTOR: value-parameter o: kotlin.Any defined in foo
open class A {
val a = 1
@@ -1,5 +1,5 @@
// PARAM_TYPES: A
// PARAM_DESCRIPTOR: value-parameter val o: kotlin.Any defined in foo
// PARAM_DESCRIPTOR: value-parameter o: kotlin.Any defined in foo
open class A {
val a = 1
@@ -1,5 +1,5 @@
// PARAM_TYPES: A
// PARAM_DESCRIPTOR: value-parameter val o: kotlin.Any defined in foo
// PARAM_DESCRIPTOR: value-parameter o: kotlin.Any defined in foo
open class A {
val a = 1
@@ -1,7 +1,7 @@
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, java.io.Serializable, Any
// PARAM_TYPES: X<kotlin.Any>
// PARAM_DESCRIPTOR: value-parameter val s: kotlin.String? defined in foo
// PARAM_DESCRIPTOR: value-parameter val x: X<kotlin.Any> defined in foo
// PARAM_DESCRIPTOR: value-parameter s: kotlin.String? defined in foo
// PARAM_DESCRIPTOR: value-parameter x: X<kotlin.Any> defined in foo
class X<T> {
fun add(t: T) {
@@ -1,7 +1,7 @@
// PARAM_TYPES: kotlin.String, Comparable<String>, CharSequence, java.io.Serializable, Any
// PARAM_TYPES: X<kotlin.Any>
// PARAM_DESCRIPTOR: value-parameter val s: kotlin.String? defined in foo
// PARAM_DESCRIPTOR: value-parameter val x: X<kotlin.Any> defined in foo
// PARAM_DESCRIPTOR: value-parameter s: kotlin.String? defined in foo
// PARAM_DESCRIPTOR: value-parameter x: X<kotlin.Any> defined in foo
class X<T> {
fun add(t: T) {
@@ -1,7 +1,7 @@
// PARAM_TYPES: kotlin.String?, kotlin.Comparable<String>?, kotlin.CharSequence?, java.io.Serializable?, kotlin.Any?
// PARAM_TYPES: X<kotlin.Any?>
// PARAM_DESCRIPTOR: value-parameter val s: kotlin.String? defined in foo
// PARAM_DESCRIPTOR: value-parameter val x: X<kotlin.Any?> defined in foo
// PARAM_DESCRIPTOR: value-parameter s: kotlin.String? defined in foo
// PARAM_DESCRIPTOR: value-parameter x: X<kotlin.Any?> defined in foo
class X<T> {
fun add(t: T) {
@@ -1,7 +1,7 @@
// PARAM_TYPES: kotlin.String?, kotlin.Comparable<String>?, kotlin.CharSequence?, java.io.Serializable?, kotlin.Any?
// PARAM_TYPES: X<kotlin.Any?>
// PARAM_DESCRIPTOR: value-parameter val s: kotlin.String? defined in foo
// PARAM_DESCRIPTOR: value-parameter val x: X<kotlin.Any?> defined in foo
// PARAM_DESCRIPTOR: value-parameter s: kotlin.String? defined in foo
// PARAM_DESCRIPTOR: value-parameter x: X<kotlin.Any?> defined in foo
class X<T> {
fun add(t: T) {
@@ -1,5 +1,5 @@
//PARAM_TYPES: C, AImpl, A
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
//PARAM_DESCRIPTOR: value-parameter c: C defined in foo
interface A {
fun doA()
}
@@ -1,5 +1,5 @@
//PARAM_TYPES: C, AImpl, A
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
//PARAM_DESCRIPTOR: value-parameter c: C defined in foo
interface A {
fun doA()
}
@@ -1,5 +1,5 @@
//PARAM_TYPES: C, B
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
//PARAM_DESCRIPTOR: value-parameter c: C defined in foo
interface A {
fun doA()
}
@@ -1,5 +1,5 @@
//PARAM_TYPES: C, B
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
//PARAM_DESCRIPTOR: value-parameter c: C defined in foo
interface A {
fun doA()
}
@@ -1,5 +1,5 @@
//PARAM_TYPES: C
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
//PARAM_DESCRIPTOR: value-parameter c: C defined in foo
interface A {
fun doA()
}
@@ -1,5 +1,5 @@
//PARAM_TYPES: C
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
//PARAM_DESCRIPTOR: value-parameter c: C defined in foo
interface A {
fun doA()
}
@@ -1,5 +1,5 @@
//PARAM_TYPES: C
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
//PARAM_DESCRIPTOR: value-parameter c: C defined in foo
interface A {
fun doA()
}
@@ -1,5 +1,5 @@
//PARAM_TYPES: C
//PARAM_DESCRIPTOR: value-parameter val c: C defined in foo
//PARAM_DESCRIPTOR: value-parameter c: C defined in foo
interface A {
fun doA()
}
@@ -1,6 +1,6 @@
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun baz(m: kotlin.Int): Int defined in foo.bar
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
// PARAM_TYPES: (kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int
@@ -1,6 +1,6 @@
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun baz(m: kotlin.Int): Int defined in foo.bar
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
// PARAM_TYPES: (kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int
@@ -1,6 +1,6 @@
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
// PARAM_TYPES: kotlin.Int.(kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int
fun foo(n: Int): Int {
@@ -1,6 +1,6 @@
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
// PARAM_TYPES: kotlin.Int.(kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int
fun foo(n: Int): Int {
@@ -1,7 +1,7 @@
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar1(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar2(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
// PARAM_TYPES: kotlin.Int.(kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int.(kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int
@@ -1,7 +1,7 @@
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar1(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar2(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
// PARAM_TYPES: kotlin.Int.(kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int.(kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int
@@ -1,6 +1,6 @@
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
// PARAM_TYPES: kotlin.Int.(kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int
fun foo(n: Int): Int {
@@ -1,6 +1,6 @@
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun kotlin.Int.bar(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
// PARAM_TYPES: kotlin.Int.(kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int
fun foo(n: Int): Int {
@@ -1,6 +1,6 @@
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun bar(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
// PARAM_TYPES: (kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int
fun foo(n: Int): Int {
@@ -1,6 +1,6 @@
// OPTIONS: true, false, false, false, true, false
// PARAM_DESCRIPTOR: local final fun bar(m: kotlin.Int): Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter n: kotlin.Int defined in foo
// PARAM_TYPES: (kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int
fun foo(n: Int): Int {
@@ -1,5 +1,5 @@
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.String defined in foo
// PARAM_DESCRIPTOR: value-parameter val invoke: kotlin.String.() -> kotlin.Unit defined in foo
// PARAM_DESCRIPTOR: value-parameter a: kotlin.String defined in foo
// PARAM_DESCRIPTOR: value-parameter invoke: kotlin.String.() -> kotlin.Unit defined in foo
// PARAM_TYPES: kotlin.String
// PARAM_TYPES: kotlin.String.() -> kotlin.Unit
@@ -1,5 +1,5 @@
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.String defined in foo
// PARAM_DESCRIPTOR: value-parameter val invoke: kotlin.String.() -> kotlin.Unit defined in foo
// PARAM_DESCRIPTOR: value-parameter a: kotlin.String defined in foo
// PARAM_DESCRIPTOR: value-parameter invoke: kotlin.String.() -> kotlin.Unit defined in foo
// PARAM_TYPES: kotlin.String
// PARAM_TYPES: kotlin.String.() -> kotlin.Unit
@@ -1,4 +1,4 @@
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.String defined in foo
// PARAM_DESCRIPTOR: value-parameter a: kotlin.String defined in foo
// PARAM_TYPES: kotlin.String
fun String.invoke() {
@@ -1,4 +1,4 @@
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.String defined in foo
// PARAM_DESCRIPTOR: value-parameter a: kotlin.String defined in foo
// PARAM_TYPES: kotlin.String
fun String.invoke() {
@@ -1,5 +1,5 @@
// PARAM_DESCRIPTOR: public fun (kotlin.String.() -> kotlin.Unit).foo(a: kotlin.String): kotlin.Unit defined in root package
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.String defined in foo
// PARAM_DESCRIPTOR: value-parameter a: kotlin.String defined in foo
// PARAM_TYPES: kotlin.String.() -> kotlin.Unit
// PARAM_TYPES: kotlin.String
@@ -1,5 +1,5 @@
// PARAM_DESCRIPTOR: public fun (kotlin.String.() -> kotlin.Unit).foo(a: kotlin.String): kotlin.Unit defined in root package
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.String defined in foo
// PARAM_DESCRIPTOR: value-parameter a: kotlin.String defined in foo
// PARAM_TYPES: kotlin.String.() -> kotlin.Unit
// PARAM_TYPES: kotlin.String
@@ -1,5 +1,5 @@
// PARAM_DESCRIPTOR: public fun (kotlin.String.() -> kotlin.Unit).foo(a: kotlin.String): kotlin.Unit defined in root package
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.String defined in foo
// PARAM_DESCRIPTOR: value-parameter a: kotlin.String defined in foo
// PARAM_TYPES: kotlin.String.() -> kotlin.Unit
// PARAM_TYPES: kotlin.String
@@ -1,5 +1,5 @@
// PARAM_DESCRIPTOR: public fun (kotlin.String.() -> kotlin.Unit).foo(a: kotlin.String): kotlin.Unit defined in root package
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.String defined in foo
// PARAM_DESCRIPTOR: value-parameter a: kotlin.String defined in foo
// PARAM_TYPES: kotlin.String.() -> kotlin.Unit
// PARAM_TYPES: kotlin.String
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val it: kotlin.Int defined in foo.<anonymous>.<anonymous>
// PARAM_DESCRIPTOR: value-parameter it: kotlin.Int defined in foo.<anonymous>.<anonymous>
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val it: kotlin.Int defined in foo.<anonymous>.<anonymous>
// PARAM_DESCRIPTOR: value-parameter it: kotlin.Int defined in foo.<anonymous>.<anonymous>
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.Array<kotlin.Int>
// PARAM_DESCRIPTOR: value-parameter val t: kotlin.Array<kotlin.Int> defined in foo
// PARAM_DESCRIPTOR: value-parameter t: kotlin.Array<kotlin.Int> defined in foo
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.Array<kotlin.Int>
// PARAM_DESCRIPTOR: value-parameter val t: kotlin.Array<kotlin.Int> defined in foo
// PARAM_DESCRIPTOR: value-parameter t: kotlin.Array<kotlin.Int> defined in foo
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.Array<kotlin.Int>
// PARAM_DESCRIPTOR: value-parameter val it: kotlin.Array<kotlin.Int> defined in foo.<anonymous>
// PARAM_DESCRIPTOR: value-parameter it: kotlin.Array<kotlin.Int> defined in foo.<anonymous>
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.Array<kotlin.Int>
// PARAM_DESCRIPTOR: value-parameter val it: kotlin.Array<kotlin.Int> defined in foo.<anonymous>
// PARAM_DESCRIPTOR: value-parameter it: kotlin.Array<kotlin.Int> defined in foo.<anonymous>
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val it: kotlin.Int defined in foo.<anonymous>
// PARAM_DESCRIPTOR: value-parameter it: kotlin.Int defined in foo.<anonymous>
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val it: kotlin.Int defined in foo.<anonymous>
// PARAM_DESCRIPTOR: value-parameter it: kotlin.Int defined in foo.<anonymous>
fun <T> Array<T>.check(f: (T) -> Boolean): Boolean = false
// SIBLING:
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.String.() -> T
// PARAM_DESCRIPTOR: value-parameter val f: kotlin.String.() -> T defined in test
// PARAM_DESCRIPTOR: value-parameter f: kotlin.String.() -> T defined in test
fun <T> test(f: String.() -> T): T {
<selection>while (true) {
val answer = "Hey!".f()
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.String.() -> T
// PARAM_DESCRIPTOR: value-parameter val f: kotlin.String.() -> T defined in test
// PARAM_DESCRIPTOR: value-parameter f: kotlin.String.() -> T defined in test
fun <T> test(f: String.() -> T): T {
return t(f)
}
@@ -1,9 +1,9 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val c: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter b: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter c: kotlin.Int defined in foo
// SIBLING:
fun foo(a: Int, b: Int, c: Int): Int {
return <selection>(a + b*a - c) + b*c</selection>
@@ -1,9 +1,9 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val b: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val c: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter b: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter c: kotlin.Int defined in foo
// SIBLING:
fun foo(a: Int, b: Int, c: Int): Int {
return i(a, b, c)
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
// SIBLING:
fun foo(a: Int, b: Int): Int {
<selection>if (a > 0) return a + b</selection>
@@ -1,5 +1,5 @@
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter a: kotlin.Int defined in foo
// SIBLING:
fun foo(a: Int, b: Int): Int {
if (b(a)) return a + b
@@ -2,10 +2,10 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: A defined in foo
// PARAM_DESCRIPTOR: value-parameter a: A defined in foo
// PARAM_DESCRIPTOR: val t: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: val u: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val x: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter x: kotlin.Int defined in foo
// SIBLING:
public class A() {
fun bar(a: Int, b: Int): Int {
@@ -2,10 +2,10 @@
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_TYPES: kotlin.Int
// PARAM_DESCRIPTOR: value-parameter val a: A defined in foo
// PARAM_DESCRIPTOR: value-parameter a: A defined in foo
// PARAM_DESCRIPTOR: val t: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: val u: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter val x: kotlin.Int defined in foo
// PARAM_DESCRIPTOR: value-parameter x: kotlin.Int defined in foo
// SIBLING:
public class A() {
fun bar(a: Int, b: Int): Int {