提交 abca7744 编写于 作者: A Alexey Andreev

Support `external` modifier on classes in descriptor renderer. Regenerate test data.

上级 85733b47
package
public final class A {
public external final class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.js.nativeGetter public final fun foo(/*0*/ a: kotlin.Double): kotlin.String?
......@@ -20,7 +20,7 @@ public final class A {
}
}
public final class B {
public external final class B {
public constructor B()
@kotlin.js.nativeGetter public final val foo: kotlin.Int = 0
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
......@@ -50,7 +50,7 @@ public final class B {
}
}
public final class C {
public external final class C {
public constructor C()
@kotlin.js.nativeGetter public final fun bar(/*0*/ a: kotlin.String): kotlin.Int
@kotlin.js.nativeGetter public final fun baz(/*0*/ a: kotlin.String = ...): kotlin.Int?
......
package
public final class A {
public external final class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
......
package
public final class A {
public external final class A {
public constructor A()
@kotlin.js.nativeInvoke public final val foo: kotlin.Int = 0
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
......
package
public final class A {
public external final class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
......
package
public final class A {
public external final class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.js.nativeSetter public final fun foo(/*0*/ a: kotlin.Int, /*1*/ v: kotlin.String): kotlin.Unit
......@@ -24,7 +24,7 @@ public final class A {
}
}
public final class B {
public external final class B {
public constructor B()
@kotlin.js.nativeSetter public final val foo: kotlin.Int = 0
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
......@@ -54,7 +54,7 @@ public final class B {
}
}
public final class C {
public external final class C {
public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.js.nativeSetter public final fun foo(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String = ...): kotlin.String
......
package
public final class A {
public external final class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
......
......@@ -22,7 +22,7 @@ public final class TopLevel {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final class A {
public external final class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
......@@ -37,7 +37,7 @@ public final class TopLevel {
}
}
public final class TopLevelNative {
public external final class TopLevelNative {
public constructor TopLevelNative()
public final val x: kotlin.String = "a"
public external final val y: kotlin.String
......@@ -49,7 +49,7 @@ public final class TopLevelNative {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final class A {
public external final class A {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
......
......@@ -8,7 +8,7 @@ public external fun foo(): kotlin.Unit
public external fun kotlin.String.bar(): kotlin.Int
public external fun kotlin.String.foo(): kotlin.Int
public final class C {
public external final class C {
public constructor C()
public final val baz: kotlin.Int
public final val boo: kotlin.Int
......@@ -30,7 +30,7 @@ public final class C {
}
}
public object O {
public external object O {
private constructor O()
public final val baz: kotlin.Int
public final val boo: kotlin.Int
......@@ -41,7 +41,7 @@ public object O {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface T {
public external interface T {
public abstract val baz: kotlin.Int
public open fun bar(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
......
......@@ -3,7 +3,7 @@ package
@kotlin.js.nativeGetter public fun kotlin.String.bar(/*0*/ n: kotlin.Int): kotlin.Int?
@kotlin.js.nativeGetter public fun kotlin.String.foo(/*0*/ n: kotlin.Int): kotlin.Int?
public interface T {
public external interface T {
@kotlin.js.nativeGetter public open fun bar(/*0*/ d: kotlin.Double): kotlin.String?
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.js.nativeGetter public abstract fun foo(/*0*/ d: kotlin.Double): kotlin.String?
......
......@@ -3,7 +3,7 @@ package
@kotlin.js.nativeInvoke public fun kotlin.String.bar(): kotlin.Int
@kotlin.js.nativeInvoke public fun kotlin.String.foo(): kotlin.Int
public object O {
public external object O {
private constructor O()
@kotlin.js.nativeInvoke public final fun bar(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
......
......@@ -3,7 +3,7 @@ package
@kotlin.js.nativeSetter public fun kotlin.String.bar(/*0*/ n: kotlin.Int, /*1*/ v: kotlin.Any): kotlin.Unit
@kotlin.js.nativeSetter public fun kotlin.String.foo(/*0*/ n: kotlin.Int, /*1*/ v: kotlin.Any): kotlin.Unit
public final class C {
public external final class C {
public constructor C()
@kotlin.js.nativeSetter public final fun bar(/*0*/ d: kotlin.Double, /*1*/ v: kotlin.Any): kotlin.Any
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
......
......@@ -2,7 +2,7 @@ package
public fun box(/*0*/ a: kotlin.Any, /*1*/ b: kotlin.Any): kotlin.Pair<I, I?>
public interface I {
public external interface I {
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
......
......@@ -2,7 +2,7 @@ package
public fun box(/*0*/ a: kotlin.Any, /*1*/ b: kotlin.Any): kotlin.Boolean
public interface I {
public external interface I {
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
......
......@@ -4,14 +4,14 @@ public fun bar(): kotlin.Unit
public inline fun </*0*/ reified T> foo(/*0*/ x: T): kotlin.Unit
public operator inline fun </*0*/ reified T> C.plus(/*0*/ other: T): C
public final class C : I {
public external final class C : I {
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
}
public interface I {
public external interface I {
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
......
......@@ -2,13 +2,13 @@ package
public fun box(/*0*/ a: kotlin.Any): kotlin.Int
public interface I {
public external interface I {
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 interface J {
public external interface J {
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
......
......@@ -3,7 +3,7 @@ package
public external fun foo(/*0*/ a: kotlin.String): kotlin.Int
public external fun kotlin.Int.foo(/*0*/ a: kotlin.String): kotlin.Int
public final class Bar {
public external final class Bar {
public constructor Bar(/*0*/ b: kotlin.Int, /*1*/ c: kotlin.Char)
public final fun baz(/*0*/ d: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
......@@ -11,7 +11,7 @@ public final class Bar {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public object Obj {
public external object Obj {
private constructor Obj()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
......
......@@ -2,7 +2,7 @@ package
@kotlin.js.nativeGetter public fun kotlin.Int.foo(/*0*/ a: kotlin.String): kotlin.Int?
public final class Bar {
public external final class Bar {
public constructor Bar(/*0*/ b: kotlin.Int, /*1*/ c: kotlin.Char)
@kotlin.js.nativeGetter public final fun baz(/*0*/ d: kotlin.Int): kotlin.Any?
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
......@@ -10,7 +10,7 @@ public final class Bar {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public object Obj {
public external object Obj {
private constructor Obj()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
......
......@@ -2,7 +2,7 @@ package
@kotlin.js.nativeInvoke public fun kotlin.Int.foo(/*0*/ a: kotlin.String): kotlin.Int
public final class Bar {
public external final class Bar {
public constructor Bar(/*0*/ b: kotlin.Int, /*1*/ c: kotlin.Char)
@kotlin.js.nativeInvoke public final fun baz(/*0*/ d: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
......@@ -10,7 +10,7 @@ public final class Bar {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public object Obj {
public external object Obj {
private constructor Obj()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
......
......@@ -2,7 +2,7 @@ package
@kotlin.js.nativeSetter public fun kotlin.Int.foo(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Int): kotlin.Int
public final class Bar {
public external final class Bar {
public constructor Bar(/*0*/ b: kotlin.Int, /*1*/ c: kotlin.Char)
@kotlin.js.nativeSetter public final fun baz(/*0*/ d: kotlin.Int, /*1*/ v: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
......@@ -10,7 +10,7 @@ public final class Bar {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public object Obj {
public external object Obj {
private constructor Obj()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
......
......@@ -3,7 +3,7 @@ package
public val x: kotlin.Int
public val B.x: kotlin.Int
public final annotation class A : kotlin.Annotation {
public external final annotation class A : kotlin.Annotation {
public constructor A()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
......
......@@ -903,6 +903,7 @@ internal class DescriptorRendererImpl(
if (!isEnumEntry) {
renderVisibility(klass.visibility, builder)
}
renderExternal(klass, builder)
if (!(klass.kind == ClassKind.INTERFACE && klass.modality == Modality.ABSTRACT ||
klass.kind.isSingleton && klass.modality == Modality.FINAL)) {
renderModality(klass.modality, builder)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册