Add kotlin.external annotation and deprecate kotlin.jvm.native

This commit is contained in:
Denis Zharkov
2015-09-04 14:21:29 +03:00
parent 26f9bd7b63
commit 5471a1d18a
29 changed files with 93 additions and 79 deletions
@@ -1,11 +1,11 @@
import kotlin.jvm.*
abstract class C {
<!NATIVE_DECLARATION_CANNOT_BE_ABSTRACT!>abstract<!> native fun foo()
<!EXTERNAL_DECLARATION_CANNOT_BE_ABSTRACT!>abstract<!> external fun foo()
}
fun test() {
abstract class Local {
<!NATIVE_DECLARATION_CANNOT_BE_ABSTRACT!>abstract<!> native fun foo()
<!EXTERNAL_DECLARATION_CANNOT_BE_ABSTRACT!>abstract<!> external fun foo()
}
}
@@ -5,7 +5,7 @@ internal fun test(): kotlin.Unit
internal abstract class C {
public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
kotlin.jvm.native() internal abstract fun foo(): kotlin.Unit
kotlin.external() internal abstract fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,25 +1,25 @@
import kotlin.jvm.*
<!NATIVE_DECLARATION_CANNOT_HAVE_BODY!>native fun foo()<!> {}
<!EXTERNAL_DECLARATION_CANNOT_HAVE_BODY!>external fun foo()<!> {}
class C {
<!NATIVE_DECLARATION_CANNOT_HAVE_BODY!>native fun foo()<!> {}
<!EXTERNAL_DECLARATION_CANNOT_HAVE_BODY!>external fun foo()<!> {}
companion object {
<!NATIVE_DECLARATION_CANNOT_HAVE_BODY!>native fun foo()<!> {}
<!EXTERNAL_DECLARATION_CANNOT_HAVE_BODY!>external fun foo()<!> {}
}
}
object O {
<!NATIVE_DECLARATION_CANNOT_HAVE_BODY!>native fun foo()<!> {}
<!EXTERNAL_DECLARATION_CANNOT_HAVE_BODY!>external fun foo()<!> {}
}
fun test() {
class Local {
<!NATIVE_DECLARATION_CANNOT_HAVE_BODY!>native fun foo()<!> {}
<!EXTERNAL_DECLARATION_CANNOT_HAVE_BODY!>external fun foo()<!> {}
}
object {
<!NATIVE_DECLARATION_CANNOT_HAVE_BODY!>native fun foo()<!> {}
<!EXTERNAL_DECLARATION_CANNOT_HAVE_BODY!>external fun foo()<!> {}
}
}
@@ -1,19 +1,19 @@
package
kotlin.jvm.native() internal fun foo(): kotlin.Unit
kotlin.external() internal fun foo(): kotlin.Unit
internal fun test(): kotlin.Unit
internal final class C {
public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
kotlin.jvm.native() internal final fun foo(): kotlin.Unit
kotlin.external() internal final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public companion object Companion {
private constructor Companion()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
kotlin.jvm.native() internal final fun foo(): kotlin.Unit
kotlin.external() internal final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -22,7 +22,7 @@ internal final class C {
internal object O {
private constructor O()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
kotlin.jvm.native() internal final fun foo(): kotlin.Unit
kotlin.external() internal final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,10 +1,10 @@
class A {
<!WRONG_ANNOTATION_TARGET!>native<!> constructor() {}
<!WRONG_ANNOTATION_TARGET!>external<!> constructor() {}
inner class B {
<!WRONG_ANNOTATION_TARGET!>native<!> constructor() {}
<!WRONG_ANNOTATION_TARGET!>external<!> constructor() {}
}
<!WRONG_ANNOTATION_TARGET!>native<!> constructor(<!UNUSED_PARAMETER!>x<!>: Int)
<!WRONG_ANNOTATION_TARGET!>external<!> constructor(<!UNUSED_PARAMETER!>x<!>: Int)
}
class C <!WRONG_ANNOTATION_TARGET!>native<!> constructor()
class C <!WRONG_ANNOTATION_TARGET!>external<!> constructor()
@@ -1,14 +1,14 @@
package
internal final class A {
kotlin.jvm.native() public constructor A()
kotlin.jvm.native() public constructor A(/*0*/ x: kotlin.Int)
kotlin.external() public constructor A()
kotlin.external() public constructor A(/*0*/ x: kotlin.Int)
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
internal final inner class B {
kotlin.jvm.native() public constructor B()
kotlin.external() public constructor B()
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
@@ -16,7 +16,7 @@ internal final class A {
}
internal final class C {
kotlin.jvm.native() public constructor C()
kotlin.external() public constructor C()
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
@@ -1,11 +1,11 @@
import kotlin.jvm.*
abstract class C {
<!NATIVE_DECLARATION_CANNOT_BE_INLINED, NOTHING_TO_INLINE!>inline native fun foo()<!>
<!EXTERNAL_DECLARATION_CANNOT_BE_INLINED, NOTHING_TO_INLINE!>inline external fun foo()<!>
}
fun test() {
abstract class Local {
<!NATIVE_DECLARATION_CANNOT_BE_INLINED, NOTHING_TO_INLINE!>inline native fun foo()<!>
<!EXTERNAL_DECLARATION_CANNOT_BE_INLINED, NOTHING_TO_INLINE!>inline external fun foo()<!>
}
}
@@ -5,7 +5,7 @@ internal fun test(): kotlin.Unit
internal abstract class C {
public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
kotlin.inline() kotlin.jvm.native() internal final fun foo(): kotlin.Unit
kotlin.inline() kotlin.external() internal final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,25 +1,25 @@
import kotlin.jvm.*
native fun foo()
external fun foo()
class C {
native fun foo()
external fun foo()
companion object {
native fun foo()
external fun foo()
}
}
object O {
native fun foo()
external fun foo()
}
fun test() {
class Local {
native fun foo()
external fun foo()
}
object {
native fun foo()
external fun foo()
}
}
@@ -1,19 +1,19 @@
package
kotlin.jvm.native() internal fun foo(): kotlin.Unit
kotlin.external() internal fun foo(): kotlin.Unit
internal fun test(): kotlin.Unit
internal final class C {
public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
kotlin.jvm.native() internal final fun foo(): kotlin.Unit
kotlin.external() internal final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public companion object Companion {
private constructor Companion()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
kotlin.jvm.native() internal final fun foo(): kotlin.Unit
kotlin.external() internal final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -22,7 +22,7 @@ internal final class C {
internal object O {
private constructor O()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
kotlin.jvm.native() internal final fun foo(): kotlin.Unit
kotlin.external() internal final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -5,5 +5,5 @@ interface Base {
}
class Derived : Base {
override native fun foo()
override external fun foo()
}
@@ -10,7 +10,7 @@ internal interface Base {
internal final class Derived : Base {
public constructor Derived()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
kotlin.jvm.native() internal open override /*1*/ fun foo(): kotlin.Unit
kotlin.external() internal open override /*1*/ fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,4 +1,4 @@
import kotlin.jvm.*
native fun <<!REIFIED_TYPE_PARAMETER_NO_INLINE!>reified<!> T> foo()
<!NATIVE_DECLARATION_CANNOT_BE_INLINED!>inline native fun <reified T> bar()<!>
external fun <<!REIFIED_TYPE_PARAMETER_NO_INLINE!>reified<!> T> foo()
<!EXTERNAL_DECLARATION_CANNOT_BE_INLINED!>inline external fun <reified T> bar()<!>
@@ -1,4 +1,4 @@
package
kotlin.inline() kotlin.jvm.native() internal fun </*0*/ reified T> bar(): kotlin.Unit
kotlin.jvm.native() internal fun </*0*/ reified T> foo(): kotlin.Unit
kotlin.inline() kotlin.external() internal fun </*0*/ reified T> bar(): kotlin.Unit
kotlin.external() internal fun </*0*/ reified T> foo(): kotlin.Unit
@@ -1,11 +1,11 @@
import kotlin.jvm.*
interface Tr {
<!NATIVE_DECLARATION_IN_TRAIT!>native fun foo()<!>
<!NATIVE_DECLARATION_IN_TRAIT, NATIVE_DECLARATION_CANNOT_HAVE_BODY!>native fun bar()<!> {}
<!EXTERNAL_DECLARATION_IN_TRAIT!>external fun foo()<!>
<!EXTERNAL_DECLARATION_IN_TRAIT, EXTERNAL_DECLARATION_CANNOT_HAVE_BODY!>external fun bar()<!> {}
companion object {
native fun foo()
<!NATIVE_DECLARATION_CANNOT_HAVE_BODY!>native fun bar()<!> {}
external fun foo()
<!EXTERNAL_DECLARATION_CANNOT_HAVE_BODY!>external fun bar()<!> {}
}
}
@@ -1,17 +1,17 @@
package
internal interface Tr {
kotlin.jvm.native() internal open fun bar(): kotlin.Unit
kotlin.external() internal open fun bar(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
kotlin.jvm.native() internal abstract fun foo(): kotlin.Unit
kotlin.external() internal abstract fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public companion object Companion {
private constructor Companion()
kotlin.jvm.native() internal final fun bar(): kotlin.Unit
kotlin.external() internal final fun bar(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
kotlin.jvm.native() internal final fun foo(): kotlin.Unit
kotlin.external() internal final fun foo(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}