Add test for completion with runtime type cast

This commit is contained in:
Natalia Ukhorskaya
2014-12-02 14:01:58 +03:00
parent 0c74016ab7
commit b056fd7e2e
23 changed files with 272 additions and 2 deletions
@@ -0,0 +1,21 @@
fun main(args: Array<String>) {
val b: Base<String> = Derived()
<caret>val a = 1
}
open class Base<T> {
fun funInBase(t: T): T { return t }
open fun funWithOverride(t: T): T { return t }
open fun funWithoutOverride(t: T): T { return t }
}
class Derived: Base<String>() {
override fun funWithOverride(t: String): String { return "a" }
}
// INVOCATION_COUNT: 1
// EXIST: funInBase, funWithOverride, funWithoutOverride
// NUMBER: 3
// RUNTIME_TYPE: Derived
@@ -0,0 +1,25 @@
fun main(args: Array<String>) {
val b: A = C()
<caret>val a = 1
}
open class A {
fun funA() {}
private fun funAp() {}
}
open class B: A() {
fun funB() {}
private fun funBp() {}
}
class C: B() {
fun funC() {}
private fun funCp() {}
}
// INVOCATION_COUNT: 2
// EXIST: funA, funAp, funB, funBp, funC, funCp
// NUMBER: 6
// RUNTIME_TYPE: C
@@ -0,0 +1,20 @@
fun main(args: Array<String>) {
val b: Base = Derived()
<caret>val a = 1
}
open class Base {
}
class Derived: Base() {
}
fun Derived.funExtDerived() { }
fun Base.funExtBase() { }
// INVOCATION_COUNT: 1
// EXIST: funExtBase, funExtDerived
// NUMBER: 2
// RUNTIME_TYPE: Derived
@@ -0,0 +1,24 @@
fun main(args: Array<String>) {
val b: Base = Derived()
<caret>val a = 1
}
open class Base {
fun funInBase() {}
open fun funWithOverride() { }
open fun funWithoutOverride() { }
}
class Derived: Base() {
fun funInDerived() { }
override fun funWithOverride() { }
}
// INVOCATION_COUNT: 1
// EXIST: funInBase, funWithOverride, funWithoutOverride, funInDerived
// NUMBER: 4
// RUNTIME_TYPE: Derived
@@ -0,0 +1 @@
b.fun<caret>