diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/Serializable.kt b/compiler/testData/diagnostics/testsWithJsStdLib/Serializable.kt deleted file mode 100644 index 7707b997718..00000000000 --- a/compiler/testData/diagnostics/testsWithJsStdLib/Serializable.kt +++ /dev/null @@ -1,55 +0,0 @@ -fun use(s: java.io.Serializable) { - -} - -fun useList(s: List) { - -} - -fun testPrimitives(b: Byte, ss: Short, i: Int, l: Long, d: Double, s: String, f: Float, bool: Boolean) { - use(b) - use(ss) - use(i) - use(l) - use(s) - use(f) - use(d) - use(bool) -} - -class N -class S: java.io.Serializable - -fun testArrays(ia: IntArray, ai: Array, an: Array, a: Array) { - use(ia) - use(ai) - use(an) - use(a) -} - -fun testLiterals() { - use(1) - use(1.0) - use(11111111111111) - use("Asdsd") - use(true) -} - -fun testNotSerializable(l: List) { - use(l) - use(N()) -} - -enum class C { - E, E2 -} - -fun testEnums(a: Enum<*>) { - use(C.E) - use(C.E2) - use(a) -} - -fun testLists(a: List) { - useList(a) -} \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithJsStdLib/Serializable.txt b/compiler/testData/diagnostics/testsWithJsStdLib/Serializable.txt deleted file mode 100644 index 81eea40318c..00000000000 --- a/compiler/testData/diagnostics/testsWithJsStdLib/Serializable.txt +++ /dev/null @@ -1,43 +0,0 @@ -package - -public fun testArrays(/*0*/ ia: kotlin.IntArray, /*1*/ ai: kotlin.Array, /*2*/ an: kotlin.Array, /*3*/ a: kotlin.Array): kotlin.Unit -public fun testEnums(/*0*/ a: kotlin.Enum<*>): kotlin.Unit -public fun testLists(/*0*/ a: kotlin.collections.List): kotlin.Unit -public fun testLiterals(): kotlin.Unit -public fun testNotSerializable(/*0*/ l: kotlin.collections.List): kotlin.Unit -public fun testPrimitives(/*0*/ b: kotlin.Byte, /*1*/ ss: kotlin.Short, /*2*/ i: kotlin.Int, /*3*/ l: kotlin.Long, /*4*/ d: kotlin.Double, /*5*/ s: kotlin.String, /*6*/ f: kotlin.Float, /*7*/ bool: kotlin.Boolean): kotlin.Unit -public fun use(/*0*/ s: java.io.Serializable): kotlin.Unit -public fun useList(/*0*/ s: kotlin.collections.List): kotlin.Unit - -public final enum class C : kotlin.Enum { - enum entry E - - enum entry E2 - - private constructor C() - public final override /*1*/ /*fake_override*/ val name: kotlin.String - public final override /*1*/ /*fake_override*/ val ordinal: kotlin.Int - protected final override /*1*/ /*fake_override*/ fun clone(): kotlin.Any - public final override /*1*/ /*fake_override*/ fun compareTo(/*0*/ other: C): kotlin.Int - public final override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public final override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - - // Static members - public final /*synthesized*/ fun valueOf(/*0*/ value: kotlin.String): C - public final /*synthesized*/ fun values(): kotlin.Array -} - -public final class N { - public constructor N() - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String -} - -public final class S : java.io.Serializable { - public constructor S() - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String -} diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithJsStdLibGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithJsStdLibGenerated.java index 4722f754a7c..4d9a0ebba94 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithJsStdLibGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithJsStdLibGenerated.java @@ -35,12 +35,6 @@ public class DiagnosticsTestWithJsStdLibGenerated extends AbstractDiagnosticsTes KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/testsWithJsStdLib"), Pattern.compile("^(.+)\\.kt$"), true); } - @TestMetadata("Serializable.kt") - public void testSerializable() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithJsStdLib/Serializable.kt"); - doTest(fileName); - } - @TestMetadata("compiler/testData/diagnostics/testsWithJsStdLib/dynamicTypes") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/js/js.libraries/src/core/javaio.kt b/js/js.libraries/src/core/javaio.kt deleted file mode 100644 index d4cf53ac236..00000000000 --- a/js/js.libraries/src/core/javaio.kt +++ /dev/null @@ -1,8 +0,0 @@ -package java.io - -@library -public interface Closeable { - public fun close(): Unit -} - -internal interface Serializable \ No newline at end of file diff --git a/js/js.libraries/src/core/kotlin.kt b/js/js.libraries/src/core/kotlin.kt index 58f591d5d70..e2ce3b94040 100644 --- a/js/js.libraries/src/core/kotlin.kt +++ b/js/js.libraries/src/core/kotlin.kt @@ -101,4 +101,7 @@ internal inline fun Array.copyToArrayOfAny(isVarargs: Boolean): Array // no need to copy vararg array in JS this else - this.copyOf() \ No newline at end of file + this.copyOf() + +// temporary for shared code, until we have an annotation like JvmSerializable +internal interface Serializable \ No newline at end of file diff --git a/js/js.libraries/src/dom/DomEvents.kt b/js/js.libraries/src/dom/DomEvents.kt index 7288da0c17d..ca59a90cf20 100644 --- a/js/js.libraries/src/dom/DomEvents.kt +++ b/js/js.libraries/src/dom/DomEvents.kt @@ -1,6 +1,5 @@ package kotlin.dom -import java.io.Closeable import org.w3c.dom.* import org.w3c.dom.events.* @@ -26,6 +25,10 @@ public fun mouseEventHandler(handler: (MouseEvent) -> Unit): EventListener { } } +public interface Closeable { + public open fun close(): Unit +} + /** * Registers a handler on the named event */ diff --git a/js/js.translator/testData/kotlin_lib.js b/js/js.translator/testData/kotlin_lib.js index daae1656b63..44467c21b74 100644 --- a/js/js.translator/testData/kotlin_lib.js +++ b/js/js.translator/testData/kotlin_lib.js @@ -340,10 +340,6 @@ append: throwAbstractFunctionInvocationError("Appendable#append") }); - Kotlin.Closeable = Kotlin.createTraitNow(null, null, { - close: throwAbstractFunctionInvocationError("Closeable#close") - }); - Kotlin.safeParseInt = function (str) { var r = parseInt(str, 10); return isNaN(r) ? null : r; diff --git a/libraries/stdlib/src/kotlin/collections/Collections.kt b/libraries/stdlib/src/kotlin/collections/Collections.kt index 7ba67dd4939..a7517e0e18d 100644 --- a/libraries/stdlib/src/kotlin/collections/Collections.kt +++ b/libraries/stdlib/src/kotlin/collections/Collections.kt @@ -19,7 +19,6 @@ package kotlin.collections -import java.io.Serializable import java.util.* import kotlin.comparisons.compareValues diff --git a/libraries/stdlib/src/kotlin/collections/Maps.kt b/libraries/stdlib/src/kotlin/collections/Maps.kt index 00d4f1a1b3c..cce4f70512d 100644 --- a/libraries/stdlib/src/kotlin/collections/Maps.kt +++ b/libraries/stdlib/src/kotlin/collections/Maps.kt @@ -3,7 +3,6 @@ package kotlin.collections -import java.io.Serializable import java.util.* private object EmptyMap : Map, Serializable { diff --git a/libraries/stdlib/src/kotlin/collections/Sets.kt b/libraries/stdlib/src/kotlin/collections/Sets.kt index 4eeb5f5c61c..7152d4ef57a 100644 --- a/libraries/stdlib/src/kotlin/collections/Sets.kt +++ b/libraries/stdlib/src/kotlin/collections/Sets.kt @@ -3,7 +3,6 @@ package kotlin.collections -import java.io.Serializable import java.util.* diff --git a/libraries/stdlib/src/kotlin/io/Serializable.kt b/libraries/stdlib/src/kotlin/io/Serializable.kt new file mode 100644 index 00000000000..bfae0469d6e --- /dev/null +++ b/libraries/stdlib/src/kotlin/io/Serializable.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2010-2016 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:JvmVersion +package kotlin.io + +// to use in shared code without imports +internal typealias Serializable = java.io.Serializable \ No newline at end of file diff --git a/libraries/stdlib/src/kotlin/util/Lazy.kt b/libraries/stdlib/src/kotlin/util/Lazy.kt index 31d05537d90..b199c2cb0c9 100644 --- a/libraries/stdlib/src/kotlin/util/Lazy.kt +++ b/libraries/stdlib/src/kotlin/util/Lazy.kt @@ -2,7 +2,6 @@ package kotlin -import java.io.Serializable import kotlin.reflect.KProperty /** diff --git a/libraries/stdlib/src/kotlin/util/Tuples.kt b/libraries/stdlib/src/kotlin/util/Tuples.kt index 4336830a1f7..6e78a87c9cc 100644 --- a/libraries/stdlib/src/kotlin/util/Tuples.kt +++ b/libraries/stdlib/src/kotlin/util/Tuples.kt @@ -1,7 +1,6 @@ @file:kotlin.jvm.JvmName("TuplesKt") package kotlin -import java.io.Serializable /** * Represents a generic pair of two values.