diff --git a/idea/testData/completion/basic/common/ExtensionForProperty.kt b/idea/testData/completion/basic/common/ExtensionForProperty.kt index 2cc6f43a8ad..5f04657be34 100644 --- a/idea/testData/completion/basic/common/ExtensionForProperty.kt +++ b/idea/testData/completion/basic/common/ExtensionForProperty.kt @@ -5,7 +5,7 @@ class Test { // INVOCATION_COUNT: 1 // EXIST: String~(jet) // EXIST: IllegalStateException -// EXIST_JAVA_ONLY: StringBuilder +// EXIST: StringBuilder // EXIST_JAVA_ONLY: StringBuffer // ABSENT: HTMLStyleElement // ABSENT: Statement@Statement~(java.sql) diff --git a/idea/testData/completion/basic/common/ExtensionInsideFunction.kt b/idea/testData/completion/basic/common/ExtensionInsideFunction.kt index 61f36bf7114..9fee7a1d3c2 100644 --- a/idea/testData/completion/basic/common/ExtensionInsideFunction.kt +++ b/idea/testData/completion/basic/common/ExtensionInsideFunction.kt @@ -17,6 +17,6 @@ class StrMore { // EXIST: StrSome // EXIST: StrMore // EXIST: StrInFun -// EXIST_JAVA_ONLY: StringBuilder +// EXIST: StringBuilder // EXIST_JAVA_ONLY: StringBuffer // ABSENT: StrAbsent \ No newline at end of file diff --git a/idea/testData/completion/basic/common/InParametersTypes.kt b/idea/testData/completion/basic/common/InParametersTypes.kt index 103ad8e798c..8303fe7da07 100644 --- a/idea/testData/completion/basic/common/InParametersTypes.kt +++ b/idea/testData/completion/basic/common/InParametersTypes.kt @@ -8,7 +8,7 @@ class SomeClass { // EXIST: SomeClass, SomeInternal // EXIST: String~(jet) // EXIST: IllegalStateException -// EXIST_JAVA_ONLY: StringBuilder +// EXIST: StringBuilder // EXIST_JAVA_ONLY: StringBuffer // ABSENT: HTMLStyleElement // ABSENT: Statement@Statement~(java.sql) \ No newline at end of file diff --git a/js/js.libraries/src/core/javalang.kt b/js/js.libraries/src/core/javalang.kt index 44ebefb712a..6ebcda3acb1 100644 --- a/js/js.libraries/src/core/javalang.kt +++ b/js/js.libraries/src/core/javalang.kt @@ -39,7 +39,17 @@ public trait Comparable { library public trait Appendable { - public open fun append(csq: CharSequence?): Appendable? - public open fun append(csq: CharSequence?, start: Int, end: Int): Appendable? - public open fun append(c: Char): Appendable? + public open fun append(csq: CharSequence?): Appendable + //public open fun append(csq: CharSequence?, start: Int, end: Int): Appendable + public open fun append(c: Char): Appendable +} + +library +public class StringBuilder() : Appendable { + override fun append(c: Char): StringBuilder = js.noImpl + override fun append(csq: CharSequence?): StringBuilder = js.noImpl + //TODO + //override fun append(csq: CharSequence?, start: Int, end: Int): StringBuilder = js.noImpl + public fun append(obj: Any?): StringBuilder = js.noImpl + public fun toString(): String = js.noImpl } diff --git a/js/js.libraries/src/core/javautil.kt b/js/js.libraries/src/core/javautil.kt index e6f87ebe9c7..166b72411b8 100644 --- a/js/js.libraries/src/core/javautil.kt +++ b/js/js.libraries/src/core/javautil.kt @@ -103,15 +103,6 @@ public open class HashMap(capacity: Int = 0) : MutableMap { public override fun entrySet(): MutableSet> = js.noImpl } -library -public class StringBuilder() : Appendable { - override fun append(c: Char): Appendable? = js.noImpl - override fun append(csq: CharSequence?): Appendable? = js.noImpl - override fun append(csq: CharSequence?, start: Int, end: Int): Appendable? = js.noImpl - public fun append(obj: Any?): StringBuilder = js.noImpl - public fun toString(): String = js.noImpl -} - library public class NoSuchElementException() : Exception() { } diff --git a/js/js.translator/testFiles/standardClasses/cases/stringBuilder.kt b/js/js.translator/testFiles/standardClasses/cases/stringBuilder.kt index 6fa8db32f82..8c138a1e1d0 100644 --- a/js/js.translator/testFiles/standardClasses/cases/stringBuilder.kt +++ b/js/js.translator/testFiles/standardClasses/cases/stringBuilder.kt @@ -1,12 +1,11 @@ package foo -import java.util.StringBuilder fun box(): String { val s = StringBuilder() s.append("a") - s.append("b")?.append("c") - s.append("d")!!.append("e") + s.append("b").append("c") + s.append('d').append("e") if (s.toString() != "abcde") return s.toString() return "OK"