Drop Cloneable in JS, synthesize it at compile-time on JVM

Use the same approach that is used for creating function type classes
(Function{0,1,...}) + add Cloneable to supertypes of Array and primitive arrays

 #KT-5537 Fixed
This commit is contained in:
Alexander Udalov
2016-10-13 11:53:18 +03:00
parent 0f4b10d37d
commit 035d6156a7
24 changed files with 376 additions and 173 deletions
@@ -1,4 +1,4 @@
// PARAM_TYPES: kotlin.Array<T>, kotlin.Cloneable, java.io.Serializable, kotlin.Any
// PARAM_TYPES: kotlin.Array<T>, kotlin.Any, kotlin.Cloneable, java.io.Serializable
// PARAM_DESCRIPTOR: public fun <T> kotlin.Array<T>.test(): kotlin.Unit defined in root package
// SIBLING:
fun <T> Array<T>.test() {
@@ -7,4 +7,4 @@ fun <T> Array<T>.test() {
private fun <T> Array<T>.__dummyTestFun__() {
this.isEmpty()
}
}