blob: 2708fab0e04d93a30aae5ec193b3bd9d2392d090 [file]
// WITH_STDLIB
import kotlin.test.*
// CHECK_CALLED_IN_SCOPE: function=substring scope=getStringSubSequence
// CHECK_NOT_CALLED_IN_SCOPE: function=charSequenceSubSequence scope=getStringSubSequence
fun getStringSubSequence(s: String, start: Int, end: Int): CharSequence = s.subSequence(start, end)
// CHECK_CALLED_IN_SCOPE: function=charSequenceSubSequence scope=getCharSequenceSubSequence
// CHECK_NOT_CALLED_IN_SCOPE: function=substring scope=getCharSequenceSubSequence
fun getCharSequenceSubSequence(s: CharSequence, start: Int, end: Int): CharSequence = s.subSequence(start, end)
private class MyCharSequence(val s: String) : CharSequence by s
fun box(): String {
assertEquals("el", getStringSubSequence("Hello world", 1, 3))
assertEquals("el", getCharSequenceSubSequence("Hello world", 1, 3))
assertEquals("el", getCharSequenceSubSequence(MyCharSequence("Hello world"), 1, 3))
return "OK"
}