Load additional JDK functions into built-ins member scope

#KT-5990 Fixed
 #KT-7127 Fixed
 #KT-10370 Fixed
This commit is contained in:
Denis Zharkov
2016-04-06 16:35:50 +03:00
parent 137847e0c9
commit 5bc5722051
63 changed files with 3395 additions and 147 deletions
@@ -0,0 +1,13 @@
package foo
fun mainJdk8(x: List<String>, j6List: Jdk6List<String>) {
x.stream().filter { it.length > 0 }
j6List.size
// TODO: stream should be available
j6List.stream()
buildList().stream()
myFile().toPath()
}
@@ -0,0 +1,54 @@
package foo
import java.io.File
class Jdk6List<F> : List<F> {
override val size: Int
get() = null!!
override fun contains(element: F): Boolean {
null!!
}
override fun containsAll(elements: Collection<F>): Boolean {
null!!
}
override fun get(index: Int): F {
null!!
}
override fun indexOf(element: F): Int {
null!!
}
override fun isEmpty(): Boolean {
null!!
}
override fun iterator(): Iterator<F> {
null!!
}
override fun lastIndexOf(element: F): Int {
null!!
}
override fun listIterator(): ListIterator<F> {
null!!
}
override fun listIterator(index: Int): ListIterator<F> {
null!!
}
override fun subList(fromIndex: Int, toIndex: Int): List<F> {
null!!
}
}
fun buildList(): List<String> = null!!
fun myFile(): File = null!!
fun mainJdk6(x: List<String>) {
x.<error descr="[UNRESOLVED_REFERENCE] Unresolved reference: stream">stream</error>().filter { <error descr="[UNRESOLVED_REFERENCE] Unresolved reference: it">it</error>.length > 0 }
}