Add CharSequence.subSequence

This is done primarily for JVM interoperability, otherwise it's impossible to
inherit from CharSequence there. On JS subSequence at the moment just invokes
substring.

 #KT-5956 Fixed
This commit is contained in:
Alexander Udalov
2014-11-27 16:02:41 +03:00
parent 4d95bcfc7e
commit 8dae1b62dd
14 changed files with 64 additions and 21 deletions
@@ -0,0 +1,15 @@
// KT-5956 java.lang.AbstractMethodError: test.Thing.subSequence(II)Ljava/lang/CharSequence
class Thing(val delegate: CharSequence) : CharSequence {
override fun charAt(index: Int): Char {
throw UnsupportedOperationException()
}
override fun length(): Int = 0
override fun subSequence(start: Int, end: Int) = delegate.subSequence(start, end)
}
fun box(): String {
val txt = Thing("hello there")
val s = txt.subSequence(0, 1)
return if ("$s" == "h") "OK" else "Fail: $s"
}