[JS IR] Fix replacing super.toString() call with a runtime function call
#KT-52553 Fixed
This commit is contained in:
+13
-1
@@ -7,6 +7,17 @@ class A {
|
||||
|
||||
class B
|
||||
|
||||
// KT-52553
|
||||
interface Parser
|
||||
abstract class AbstractNamedParser(val name: String): Parser {
|
||||
override fun toString(): String = "$name ${super<Parser>.toString()}"
|
||||
}
|
||||
abstract class PredicateTokenParser(name: String): Parser, AbstractNamedParser(name) {
|
||||
}
|
||||
data class TokenEqualityParser(val expected: Int): PredicateTokenParser("$expected") {
|
||||
override fun toString(): String = super.toString()
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(A().toString(), "42")
|
||||
assertEquals(B().toString(), "[object Object]")
|
||||
@@ -16,5 +27,6 @@ fun box(): String {
|
||||
assertEquals("123".toString(), "123")
|
||||
assertEquals((123 as Any).toString(), "123")
|
||||
assertEquals(null.toString(), "null")
|
||||
assertEquals(TokenEqualityParser(2).toString(), "2 [object Object]")
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user