Created module idea-test-framework and moved classes needed for idea tests there

Moved tests for completion and their test data into module idea-completion
This commit is contained in:
Valentin Kipyatkov
2015-04-13 18:11:53 +03:00
parent 63825c45dd
commit bb808b5620
1303 changed files with 1741 additions and 1733 deletions
@@ -0,0 +1,6 @@
fun foo(p1: Boolean, p2: String) {
if (!<caret>)
}
// EXIST: p1
// ABSENT: p2
@@ -0,0 +1,10 @@
fun foo(){}
class C{}
val v: Any = <caret>
// ABSENT: ::foo
// ABSENT: ::C
// ABSENT: ::Runnable
// ABSENT: C
@@ -0,0 +1,27 @@
class C {
var property1 = "abc" // has backing field but accessors are default - no sense to show in completion
var property2: String // no backing field
get() = "abc"
set(value){}
var property3 = "abc" // has backing field and accessor
get() = $property3 + 1
var property4 = 1
get() = $property4 + 1
var property5: String? = null
get() = $property3 + 1
fun foo(): String {
return <caret>
}
}
// ABSENT: $property1
// ABSENT: $property2
// EXIST: $property3
// ABSENT: $property4
// EXIST: { itemText: "!! $property5" }
// EXIST: { itemText: "?: $property5" }
@@ -0,0 +1,8 @@
fun foo(s: String){ }
fun bar(p1: String, p2: Int) {
foo(<caret>1 + 2)
}
// EXIST: p1
// ABSENT: p2
@@ -0,0 +1,10 @@
val v1: Int = 10
val v2: String = ""
fun foo(i: Int){}
var call: A = foo(<caret>3 + 2)
set(value) { }
// EXIST: v1
// ABSENT: v2
@@ -0,0 +1,8 @@
fun foo(s: String){ }
fun bar(p1: String, p2: Int) {
foo(<caret>x + 2)
}
// EXIST: p1
// ABSENT: p2
@@ -0,0 +1,5 @@
fun foo(): Boolean = <caret>
// EXIST: { itemText: "true", attributes: "bold" }
// EXIST: { itemText: "false", attributes: "bold" }
// ABSENT: Boolean
@@ -0,0 +1,20 @@
trait Foo{
public fun foo() : Foo
public fun s() : String
public val prop : String
}
val foo = Foo()
fun f(p1: Foo, p2: String) {
var a : String
a = p1.foo().<caret>
}
// ABSENT: foo
// EXIST: s
// EXIST: prop
// ABSENT: foo
// ABSENT: p1
// ABSENT: p2
// ABSENT: a
@@ -0,0 +1,23 @@
package sample
class K {
companion object {
val foo: K = K()
fun bar(): K = K()
val x: String = ""
var kk: K? = null
private val privateVal: K = K()
}
}
fun foo(){
val k : K = <caret>
}
// EXIST: { lookupString:"foo", itemText:"K.foo", tailText:" (sample)", typeText:"K", attributes:"" }
// EXIST: { lookupString:"bar", itemText:"K.bar", tailText:"() (sample)", typeText:"K", attributes:"" }
// ABSENT: { itemText: "K.x" }
// ABSENT: { itemText:"K.kk" }
// EXIST: { lookupString:"kk", itemText:"!! K.kk", tailText:" (sample)", typeText:"K?", attributes:"" }
// EXIST: { lookupString:"kk", itemText:"?: K.kk", tailText:" (sample)", typeText:"K?", attributes:"" }
// ABSENT: { itemText: "K.privateVal" }
@@ -0,0 +1,19 @@
package sample
class K {
companion object {
val foo: K = K()
fun bar(): K = K()
val x: String = ""
var kk: K? = null
}
}
fun foo(){
val k : K? = <caret>
}
// EXIST: { lookupString:"foo", itemText:"K.foo", tailText:" (sample)", typeText:"K" }
// EXIST: { lookupString:"bar", itemText:"K.bar", tailText:"() (sample)", typeText:"K" }
// ABSENT: { itemText: "K.x" }
// EXIST: { lookupString:"kk", itemText:"K.kk", tailText:" (sample)", typeText:"K?" }
@@ -0,0 +1,15 @@
package sample
class Kool {
companion object {
val foo: Kool = Kool()
fun bar(): Kool = Kool()
}
}
fun foo(){
val k : Kool = K<caret>
}
// EXIST: foo
// EXIST: bar
@@ -0,0 +1,29 @@
open class Foo
class Bar : Foo()
val foo = Foo()
val bar = Bar()
val o : Any = ""
fun f(p1 : Foo, p2 : Bar, p3 : String, p4 : Foo?) {
var a : Foo
a = <caret>
}
fun f1() : Foo{}
fun f2() : Bar{}
fun f3() : String{}
// EXIST: foo
// EXIST: bar
// ABSENT: o
// EXIST: p1
// EXIST: p2
// ABSENT: p3
// ABSENT: { lookupString:"p4", itemText:"p4" }
// EXIST: { lookupString:"p4", itemText:"!! p4" }
// EXIST: { lookupString:"p4", itemText:"?: p4" }
// EXIST: f1
// EXIST: f2
// ABSENT: f3
// EXIST: { lookupString:"Foo", itemText:"Foo", tailText: "() (<root>)" }
@@ -0,0 +1,13 @@
package sample
enum class Foo {
X
Y
}
fun foo(){
val f : Foo = <caret>
}
// EXIST: { lookupString:"X", itemText:"Foo.X", tailText:" (sample)", typeText:"Foo" }
// EXIST: { lookupString:"Y", itemText:"Foo.Y", tailText:" (sample)", typeText:"Foo" }
@@ -0,0 +1,16 @@
enum class E {
A
B
}
fun f(e1: E, e2: E?, x: Any) {
if (e1 == <caret>
}
// EXIST: { lookupString:"A", itemText:"E.A", typeText:"E" }
// EXIST: { lookupString:"B", itemText:"E.B", typeText:"E" }
// EXIST: { itemText:"e2" }
// ABSENT: { itemText:"!! e2" }
// ABSENT: e1
// ABSENT: x
// ABSENT: null
@@ -0,0 +1,12 @@
fun foo(list: List<String>){}
fun foo(list: List<String>, i: Int){}
fun foo(list: List<Int>, b: Boolean){}
fun foo(list: List<Int>, c: Char){}
fun f(){
foo(empty<caret>)
}
// EXIST: { lookupString: "emptyList", typeText: "List<String>" }
// EXIST: { lookupString: "emptyList", typeText: "List<Int>" }
// NUMBER: 2
@@ -0,0 +1,6 @@
fun bar(b: Boolean, c: Char){
if (<caret>
}
// EXIST: b
// ABSENT: c
@@ -0,0 +1,11 @@
fun String.extFunForString(): Int = 0
fun Any.extFunForAny(): Int = 0
class C {
fun foo(): Int {
return "".<caret>
}
}
// EXIST: { itemText: "extFunForString", attributes: "bold" }
// EXIST: { itemText: "extFunForAny", attributes: "" }
@@ -0,0 +1,22 @@
trait T {
fun fromTrait() = ""
}
abstract class Base : T {
fun fromBase() = ""
}
class Derived : Base() {
override fun fromTrait() = ""
val fromDerived: String = ""
}
fun foo(d: Derived): String {
return d.<caret>
}
// EXIST: { itemText: "fromTrait", attributes: "bold" }
// EXIST: { itemText: "fromDerived", attributes: "bold" }
// EXIST: { itemText: "fromBase", attributes: "" }
// EXIST: { itemText: "toString", attributes: "" }
@@ -0,0 +1,12 @@
class C {
fun foo(): String = ""
fun bar(): String = ""
fun zoo(): Any = ""
}
val c = C()
fun f() = c.<caret>foo()
// EXIST: foo
// EXIST: bar
// ABSENT: zoo
@@ -0,0 +1,6 @@
fun foo(p1: String, p2: Int) {
val v = <caret>"a"
}
// EXIST: p1
// ABSENT: p2
@@ -0,0 +1,6 @@
class A(s: String) {
val v = s.<caret>length()
}
// EXIST: size
// ABSENT: substring
@@ -0,0 +1,9 @@
class C {
companion object {
fun foo(): C {
return <caret>
}
}
}
// ABSENT: this@C
@@ -0,0 +1,9 @@
class Outer {
class Nested {
fun foo(): Outer {
return <caret>
}
}
}
// ABSENT: this@Outer
@@ -0,0 +1,5 @@
class Foo protected()
var a : Foo = <caret>
// ABSENT: Foo
@@ -0,0 +1,16 @@
class A {
public val publicVal: Int = 1
protected val protectedVal: Int = 2
private val privateVal: Int = 3
public fun publicFun(): Int = 4
private fun privateFun() = 5
}
val p: Int = A().p<caret>
// EXIST: publicVal
// ABSENT: protectedVal
// ABSENT: privateVal
// EXIST: publicFun
// ABSENT: privateFun
@@ -0,0 +1,6 @@
fun foo(list: List<String>, i: Int) {
list[<caret>]
}
// EXIST: i
// ABSENT: list
@@ -0,0 +1,18 @@
class X {
fun foo(i: Int) = ""
fun bar() = ""
val prop: String = ""
}
fun X.ext1(s: String) = ""
fun X.ext2() = ""
fun X.extProp: String get() = ""
val s: String = X() <caret>
// EXIST: foo
// ABSENT: bar
// ABSENT: prop
// EXIST: ext1
// ABSENT: ext2
// ABSENT: extProp
@@ -0,0 +1,19 @@
open class Foo
class Bar : Foo()
val xfoo = Foo()
val xbar = Bar()
val xo : Any = ""
fun f(xp1 : Foo, xp2 : Bar, xp3 : String, p4 : Foo) {
var a : Foo
a = x<caret>y
}
// EXIST: xfoo
// EXIST: xbar
// ABSENT: xo
// EXIST: xp1
// EXIST: xp2
// ABSENT: xp3
// ABSENT: p4
@@ -0,0 +1,5 @@
fun f(p: (String) -> Unit, s: String) {
p(<caret>)
}
// EXIST: s
@@ -0,0 +1,8 @@
import java.lang.annotation.ElementType
fun foo(){
val e : ElementType = <caret>
}
// EXIST: { lookupString:"TYPE", itemText:"ElementType.TYPE", tailText:" (java.lang.annotation)", typeText:"ElementType" }
// EXIST: { lookupString:"FIELD", itemText:"ElementType.FIELD", tailText:" (java.lang.annotation)", typeText:"ElementType" }
@@ -0,0 +1,8 @@
import java.lang.annotation.ElementType
fun foo(){
val e : ElementType = ElementType.<caret>
}
// EXIST: { lookupString:"TYPE", itemText:"TYPE", tailText:" (java.lang.annotation.ElementType)" }
// EXIST: { lookupString:"FIELD", itemText:"FIELD", tailText:" (java.lang.annotation.ElementType)" }
@@ -0,0 +1,8 @@
import java.lang.annotation.ElementType
fun foo(){
var e : ElementType? = <caret>
}
// EXIST: { lookupString:"TYPE", itemText:"ElementType.TYPE", tailText:" (java.lang.annotation)", typeText:"ElementType" }
// EXIST: { lookupString:"FIELD", itemText:"ElementType.FIELD", tailText:" (java.lang.annotation)", typeText:"ElementType" }
@@ -0,0 +1,6 @@
fun foo(){
var l : java.util.Locale = <caret>
}
// EXIST: { lookupString:"ENGLISH", itemText:"Locale.ENGLISH", tailText:" (java.util)", typeText:"Locale!", attributes:"" }
// EXIST: { lookupString:"FRENCH", itemText:"Locale.FRENCH", tailText:" (java.util)", typeText:"Locale!", attributes:"" }
@@ -0,0 +1,6 @@
fun foo(){
var l : java.util.Locale? = <caret>
}
// EXIST: { lookupString:"ENGLISH", itemText:"Locale.ENGLISH", tailText:" (java.util)", typeText:"Locale!" }
// EXIST: { lookupString:"FRENCH", itemText:"Locale.FRENCH", tailText:" (java.util)", typeText:"Locale!" }
@@ -0,0 +1,7 @@
fun foo(){
val l : java.util.Calendar = <caret>
}
// EXIST: { lookupString:"getInstance", itemText:"Calendar.getInstance", tailText:"() (java.util)", typeText:"Calendar!", attributes:"" }
// EXIST: { lookupString:"getInstance", itemText:"Calendar.getInstance", tailText:"(TimeZone!) (java.util)", typeText:"Calendar!", attributes:"" }
// EXIST: { lookupString:"getInstance", itemText:"Calendar.getInstance", tailText:"(TimeZone!, Locale!) (java.util)", typeText:"Calendar!", attributes:"" }
@@ -0,0 +1,13 @@
val s = ""
fun f(p1: Any, p2: String) {
foo(<caret>)
}
fun foo(p1: String, p2: Any) : String{
}
// ABSENT: p1
// EXIST: p2
// EXIST: s
// EXIST: foo
@@ -0,0 +1,13 @@
class X {
companion object {
fun String.f(): X = X()
fun g(): X = X()
}
}
fun foo(): X {
return <caret>
}
// ABSENT: f
// EXIST: { lookupString:"g", itemText:"X.g", tailText:"() (<root>)" }
@@ -0,0 +1,11 @@
fun fail() : Nothing{
throw RuntimeException()
}
fun f(p : String) {
var a : String = <caret>
}
// EXIST: p
// ABSENT: fail
// ABSENT: error
@@ -0,0 +1,15 @@
fun f(p1: Any, p2: String, p3: Int) {
C().foo(<caret>)
}
class C {
public fun foo(p1: String, p2: Any) {
}
private fun foo(p1: Int) {
}
}
// ABSENT: p1
// EXIST: p2
// ABSENT: p3
@@ -0,0 +1,7 @@
fun f(p : String) {
var a : String
a = <caret>
}
// EXIST: p
// ABSENT: a
@@ -0,0 +1,14 @@
enum class E {
A
B
}
fun f(e1: E, e2: E?, x: Any) {
if (e1 != <caret>
}
// EXIST: { lookupString:"A", itemText:"E.A" }
// EXIST: { lookupString:"B", itemText:"E.B" }
// EXIST: e2
// ABSENT: e1
// ABSENT: x
@@ -0,0 +1,7 @@
class Foo(val prop : String)
fun f(foo1 : Foo, foo2 : Foo) {
foo1.prop = foo2.<caret>
}
// EXIST: prop
@@ -0,0 +1,7 @@
fun foo(p: String?) {}
fun bar() {
foo(<caret>)
}
// EXIST: { itemText: "null", attributes: "bold" }
@@ -0,0 +1,10 @@
trait I
object O : I
fun foo(): I = <caret>
// EXIST: { lookupString: "O", itemText: "O", tailText: " (<root>)" }
// EXIST: foo
// EXIST: object
// NUMBER: 3
@@ -0,0 +1,17 @@
package p
trait T {
object Null : T { }
object Other {}
}
fun foo(): T {
return <caret>
}
// EXIST: { lookupString:"Null", itemText:"Null", tailText:" (p.T)" }
// EXIST: foo
// EXIST: object
// ABSENT: Other
// NUMBER: 3
@@ -0,0 +1,9 @@
import java.io.File
fun f(p1: Any, p2: String, p3: File) {
File(<caret>)
}
// ABSENT: p1
// EXIST: p2
// EXIST: p3
@@ -0,0 +1,18 @@
val s = ""
val i = 123
fun f(p1: Any, p2: String, p3: Int) {
foo(<caret>123) // this call is resolved to Foo(Int) but types from all signatures should participate
}
fun foo(p1: String, p2: Any) {
}
fun foo(p1: Int) {
}
// ABSENT: p1
// EXIST: p2
// EXIST: p3
// EXIST: s
// EXIST: i
@@ -0,0 +1,23 @@
val s = ""
val i = 123
fun f(p1: Any, p2: String, p3: Int, p4: Char) {
foo(<caret>abc)
}
fun foo(p1: String, p2: Any) {
}
fun foo(p1: Int) {
}
// add this signature so that call above is not resolved
fun foo(p1: Char) {
}
// ABSENT: p1
// EXIST: p2
// EXIST: p3
// EXIST: p4
// EXIST: s
// EXIST: i
@@ -0,0 +1,13 @@
fun f(p1: Any, p2: String, p3: Int) {
foo("abc", <caret>)
}
fun foo(p1: String, p2: String) {
}
fun foo(p1: Int, p2: Int) {
}
// ABSENT: p1
// EXIST: p2
// ABSENT: p3
@@ -0,0 +1,7 @@
fun foo(p1: String, p2: String = "") { }
fun bar(s: String) {
foo("", <caret>)
}
// EXIST: s
@@ -0,0 +1,24 @@
val s = ""
val i = 123
fun f(p1: Any, p2: String, p3: Int, p4: Char) {
C().foo(<caret>abc)
}
class C {
fun foo(p1: String, p2: Any) {
}
fun foo(p1: Int) {
}
fun foo(p1: Char) {
}
}
// ABSENT: p1
// EXIST: p2
// EXIST: p3
// EXIST: p4
// EXIST: s
// EXIST: i
@@ -0,0 +1,24 @@
val s = ""
val i = 123
fun f(c: C?, p1: Any, p2: String, p3: Int, p4: Char) {
c?.foo(<caret>abc)
}
class C {
fun foo(p1: String, p2: Any) {
}
fun foo(p1: Int) {
}
fun foo(p1: Char) {
}
}
// ABSENT: p1
// EXIST: p2
// EXIST: p3
// EXIST: p4
// EXIST: s
// EXIST: i
@@ -0,0 +1,3 @@
var a : Runnable = <caret>
// EXIST: {"lookupString":"Runnable", "itemText":"Runnable", "tailText":"(function: () -> Unit) (java.lang)", "typeText":"Runnable"}
@@ -0,0 +1,16 @@
fun nothingFoo() = throw Exception()
fun<T> genericFoo1(t: T): T = t
fun<T: Any> genericFoo2(t: T): T? = t
fun<T: Runnable> genericFoo3(t: T): T = t
fun foo(): Runnable {
return <caret>
}
// ABSENT: nothingFoo
// ABSENT: genericFoo1
// ABSENT: genericFoo2
// EXIST: { itemText: "genericFoo3", tailText: "(t: Runnable) (<root>)", typeText: "Runnable" }
@@ -0,0 +1,5 @@
val x: XXX
val v: String = <caret>
// ABSENT: x
@@ -0,0 +1,5 @@
val x: String
val v: XXX = <caret>
// ABSENT: x
@@ -0,0 +1,13 @@
fun String.foo(c: Char){}
class C {
fun foo(i: Int){}
fun bar(foo: (String) -> Unit, p1: String, p2: Int, p3: Char) {
foo(<caret>)
}
}
// EXIST: p1
// EXIST: p2
// ABSENT: p3
@@ -0,0 +1,13 @@
fun String.foo(c: Char){}
class C {
fun foo(i: Int){}
fun bar(foo: String.(String) -> Unit, p1: String, p2: Int, p3: Char) {
foo(<caret>)
}
}
// ABSENT: p1
// EXIST: p2
// ABSENT: p3
@@ -0,0 +1,13 @@
fun String.foo(c: Char){}
class C {
fun foo(i: Int){}
fun bar(foo: String.(String) -> Unit, p1: String, p2: Int, p3: Char) {
"".foo(<caret>)
}
}
// EXIST: p1
// ABSENT: p2
// EXIST: p3
@@ -0,0 +1,10 @@
val foo = ""
fun f(p1: Any, p2: String) {
var a : String = <caret>
}
// ABSENT: p1
// EXIST: p2
// EXIST: foo
// ABSENT: a
@@ -0,0 +1,19 @@
open class Foo
class Bar : Foo()
val xfoo = Foo()
val xbar = Bar()
val xo : Any = ""
fun f(xp1 : Foo, xp2 : Bar, xp3 : String, p4 : Foo) {
var a : Foo
a = x<caret>
}
// EXIST: xfoo
// EXIST: xbar
// ABSENT: xo
// EXIST: xp1
// EXIST: xp2
// ABSENT: xp3
// ABSENT: p4
@@ -0,0 +1,23 @@
trait Foo{
fun foo1() : String
fun foo2() : Object
val prop : String
}
val foo = Foo()
fun f(p1: Foo, p2: String) {
var a : String
a = p1.<caret>
}
fun Foo.ext() : String{}
// EXIST: foo1
// ABSENT: foo2
// EXIST: prop
// EXIST: ext
// ABSENT: foo
// ABSENT: p1
// ABSENT: p2
// ABSENT: a
@@ -0,0 +1,11 @@
class C {
fun foo(s: String){}
}
fun foo(i: Int) {
val s = ""
C().foo(<caret>)
}
// ABSENT: i
// EXIST: s
@@ -0,0 +1,9 @@
package aaaa
fun <T> foo(s: String, t: T) {}
fun test(s: String) {
foo<Int, String>(<caret>)
}
// EXIST: s
@@ -0,0 +1,12 @@
fun String.foo(a: Int){}
class C {
fun foo(s: String){}
fun bar(p1: String, p2: Int) {
"".foo(<caret>)
}
}
// ABSENT: p1
// EXIST: p2
@@ -0,0 +1,11 @@
fun foo(s: String?){}
fun foo(i: Int){}
fun bar(o: Any) {
foo(o as <caret>)
}
// NUMBER: 2
// EXIST: String
// EXIST: Int
@@ -0,0 +1,11 @@
fun foo(s: List<String>){}
fun foo(i: Map<String, Int>){}
fun bar(o: Any) {
foo(o as <caret>)
}
// NUMBER: 2
// EXIST: { lookupString:"List", itemText:"List<String>" }
// EXIST: { lookupString:"Map", itemText:"Map<String, Int>" }
@@ -0,0 +1,12 @@
fun foo(l: List<String>){}
fun foo(l: List<String>, p: Int){}
fun foo(s: String?){}
fun bar(o: Any) {
foo(o as <caret>)
}
// NUMBER: 2
// EXIST: { lookupString:"List", itemText:"List<String>" }
// EXIST: { lookupString:"String", itemText:"String" }
@@ -0,0 +1,6 @@
trait Foo
var a : Foo = <caret>
// ABSENT: Foo
// EXIST: { lookupString:"object", itemText:"object: Foo{...}" }
@@ -0,0 +1,6 @@
abstract class Foo
var a : Foo = <caret>
// ABSENT: Foo
// EXIST: { lookupString:"object", itemText:"object: Foo(){...}" }
@@ -0,0 +1,4 @@
var a : Appendable = <caret>
// ABSENT: Appendable
// EXIST: { lookupString:"object", itemText:"object: Appendable{...}" }
@@ -0,0 +1,5 @@
trait Foo
var a : Foo = o<caret>
// EXIST: { lookupString:"object", itemText:"object: Foo{...}" }
@@ -0,0 +1,5 @@
import java.util.ArrayList
var a : ArrayList<String> = <caret>
// EXIST: { lookupString: "ArrayList", itemText: "ArrayList<String>", tailText: "(...) (java.util)" }
@@ -0,0 +1,7 @@
class Foo<T>
fun foo(p : Any){
var a : Foo<String> = <caret>
}
// EXIST: { lookupString:"Foo", itemText:"Foo<String>", tailText:"() (<root>)" }
@@ -0,0 +1,18 @@
trait T
class C {
inner class Inner1(s: String) : T
inner class Inner2 : T
inner class Inner3
class Nested: T
}
fun foo(c: C): T {
return c.<caret>
}
// EXIST: { lookupString: "Inner1", itemText: "Inner1", tailText: "(s: String)", typeText: "C.Inner1" }
// EXIST: { lookupString: "Inner2", itemText: "Inner2", tailText: "()", typeText: "C.Inner2" }
// ABSENT: Inner3
// ABSENT: Nested
// NUMBER: 2
@@ -0,0 +1,5 @@
import java.util.Date
var a : Date = <caret>
// EXIST: { lookupString:"Date", itemText:"Date", tailText:"(...) (java.util)" }
@@ -0,0 +1,7 @@
class Foo
fun foo(p : Any){
var a : Foo = p.<caret>
}
// ABSENT: Foo
@@ -0,0 +1,11 @@
class C {
inner class Inner
}
fun foo() : C.Inner {
return <caret>
}
// ABSENT: Inner
// EXIST: foo
// NUMBER: 1
@@ -0,0 +1,7 @@
class Foo
fun foo(p : Any){
var a : Foo? = <caret>
}
// EXIST: { lookupString:"Foo", itemText:"Foo", tailText: "() (<root>)" }
@@ -0,0 +1,6 @@
abstract class Foo private()
var a : Foo = <caret>
// ABSENT: Foo
// ABSENT: object
@@ -0,0 +1,6 @@
abstract class Foo protected()
var a : Foo = <caret>
// ABSENT: Foo
// EXIST: { lookupString:"object", itemText:"object: Foo(){...}" }
@@ -0,0 +1,5 @@
class Foo
var a : Foo = <caret>
// EXIST: { lookupString:"Foo", itemText:"Foo", tailText: "() (<root>)" }
@@ -0,0 +1,5 @@
class Foo(val p1: String, val p2: Any?)
var a : Foo = <caret>
// EXIST: { lookupString:"Foo", itemText:"Foo", tailText:"(p1: String, p2: Any?) (<root>)" }
@@ -0,0 +1,9 @@
fun foo(p: String) {
for (i in p.<caret>)
}
fun String.extFun(): Collection<Int>{}
// EXIST: toString
// EXIST: substring
// EXIST: extFun
@@ -0,0 +1,14 @@
trait X
trait Y
fun X.iterator(): Y
fun Y.next(): Int
fun Y.hasNext(): Boolean
fun foo(x: X, y: Y) {
for (i in <caret>)
}
// EXIST: x
// ABSENT: y
@@ -0,0 +1,9 @@
fun<T> xxx1(): T {}
fun<T : Collection<String>> xxx2(): T {}
fun foo() {
for (i in <caret>)
}
// ABSENT: xxx1
// EXIST: xxx2
@@ -0,0 +1,12 @@
fun foo(p: String?) {
for (i in <caret>)
}
fun f(): Collection<Int>? {}
// ABSENT: { lookupString:"p", itemText: "p" }
// EXIST: { lookupString:"p", itemText: "!! p", typeText:"String?" }
// EXIST: { lookupString:"p", itemText: "?: p", typeText:"String?" }
// ABSENT: { lookupString:"f", itemText: "f" }
// EXIST: { lookupString:"f", itemText: "!! f", typeText:"Collection<Int>?" }
// EXIST: { lookupString:"f", itemText: "?: f", typeText:"Collection<Int>?" }
@@ -0,0 +1,16 @@
fun foo(p1: String, p2: Int, p3: Collection<Int>) {
for (i in <caret>)
}
fun f1(): String{}
fun f2(): Int{}
fun f3(): Iterable<Char>{}
// EXIST: p1
// ABSENT: p2
// EXIST: p3
// EXIST: f1
// ABSENT: f2
// EXIST: f3
// EXIST: { lookupString:"listOf", itemText: "listOf", tailText: "(vararg values: T) (kotlin)", typeText:"List<T>" }
@@ -0,0 +1,8 @@
fun foo(p1: Any, p2: Any) {
if (p1 is String) {
for (i in <caret>)
}
}
// EXIST: p1
// ABSENT: p2
@@ -0,0 +1,13 @@
trait X
trait Y: X
trait Z
fun foo(p1: Collection<X>, p2: Collection<Y>, p3: Collection<Z>, p4: Collection<X?>) {
for (i: X in <caret>)
}
// EXIST: p1
// EXIST: p2
// ABSENT: p3
// ABSENT: p4
// EXIST: { lookupString:"listOf", itemText: "listOf", tailText: "(vararg values: T) (kotlin)", typeText:"List<T>" }
@@ -0,0 +1,8 @@
fun foo(p: () -> Unit){}
fun bar() {
foo(<caret>)
}
// EXIST: "{...}"
// ABSENT: "{ () -> ... }"
@@ -0,0 +1,8 @@
fun foo(p: (String) -> Unit){}
fun bar() {
foo(<caret>)
}
// EXIST: "{...}"
// EXIST: "{ String -> ... }"
@@ -0,0 +1,8 @@
fun foo(p: (String, Int) -> Unit){}
fun bar() {
foo(<caret>)
}
// ABSENT: "{...}"
// EXIST: "{ String, Int -> ... }"
@@ -0,0 +1,10 @@
fun foo(p: (String) -> Unit){}
fun foo(p: (Int) -> Unit){}
fun bar() {
foo(<caret>)
}
// ABSENT: "{...}"
// EXIST: "{ String -> ... }"
// EXIST: "{ Int -> ... }"
@@ -0,0 +1,8 @@
fun foo(p: String.(Int) -> Unit){}
fun bar() {
foo(<caret>)
}
// EXIST: "{...}"
// EXIST: "{ Int -> ... }"
@@ -0,0 +1,14 @@
fun foo(p: () -> Unit){}
fun bar() {
foo(<caret>)
}
fun f1(){}
fun f2(i: Int){}
// EXIST: { lookupString:"::f1", itemText:"::f1", tailText:null, typeText:null }
// ABSENT: ::f2
// ABSENT: ::Unit
// ABSENT: ::Nothing
// ABSENT: { lookupString:"object" }
@@ -0,0 +1,19 @@
class C {
fun foo(s: String): Boolean = true
fun bar() {
listOf("a").filter(<caret>)
}
companion object {
fun staticFoo(s: String): Boolean = true
}
}
fun C.extensionFoo(s: String): Boolean = true
fun globalFoo(s: String): Boolean = true
// ABSENT: ::foo
// ABSENT: ::staticFoo
// ABSENT: ::extensionFoo
// EXIST: ::globalFoo
@@ -0,0 +1,19 @@
import kotlin.platform.platformName
class C(i: Int){
class Nested
inner class Inner
fun bar() {
foo(<caret>)
}
}
platformName("foo1")
fun foo(p: () -> C.Nested){}
platformName("foo2")
fun foo(p: () -> C.Inner){}
// EXIST: ::Nested
// ABSENT: ::Inner
@@ -0,0 +1,13 @@
class C {
fun foo(p: C.() -> Unit){}
fun bar() {
foo(<caret>)
}
fun f1(){}
fun C.f2(){}
}
// EXIST: ::f1
// ABSENT: ::f2
@@ -0,0 +1,10 @@
fun foo(p: () -> Unit){}
fun bar() {
foo(<caret>)
}
fun f(){}
fun f(i: Int){}
// ABSENT: ::f

Some files were not shown because too many files have changed in this diff Show More