JS: fix behaviour of char-returning functions with multiple inheritance
See KT-19772
This commit is contained in:
@@ -6,7 +6,8 @@ class CC(val s: CharSequence) : CharSequence by s, MyCharSequence {}
|
||||
interface MyCharSequence {
|
||||
val length: Int
|
||||
|
||||
operator fun get(index: Int): Char
|
||||
// TODO: uncomment when it's possible to implement bridges for get/charCodeAt
|
||||
//operator fun get(index: Int): Char
|
||||
|
||||
fun subSequence(startIndex: Int, endIndex: Int): CharSequence
|
||||
}
|
||||
@@ -25,17 +26,17 @@ fun box(): String {
|
||||
val cc: CharSequence = CC(kotlin)
|
||||
if (cc.length != 6) return "Fail 3: ${cc.length}"
|
||||
if (cc.subSequence(0, 3) != kot) return "Fail 4"
|
||||
if (cc[2] != 't') return "Fail 5: ${cc[2]}"
|
||||
//if (cc[2] != 't') return "Fail 5: ${cc[2]}"
|
||||
|
||||
val mcc: MyCharSequence = CC(kotlin)
|
||||
if (mcc.length != 6) return "Fail 6: ${mcc.length}"
|
||||
if (mcc.subSequence(0, 3) != kot) return "Fail 7"
|
||||
if (mcc[2] != 't') return "Fail 8: ${mcc[2]}"
|
||||
//if (mcc[2] != 't') return "Fail 8: ${mcc[2]}"
|
||||
|
||||
val ccc = CC(cc)
|
||||
if (ccc.length != 6) return "Fail 6: ${ccc.length}"
|
||||
if (ccc.subSequence(0, 3) != kot) return "Fail 7"
|
||||
if (ccc[2] != 't') return "Fail 8: ${ccc[2]}"
|
||||
//if (ccc[2] != 't') return "Fail 8: ${ccc[2]}"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user