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

Support `external` modifier in descriptor renderer. Update test data.

上级 7e37d5d6
......@@ -12,9 +12,9 @@ public object O {
public final class TopLevel {
public constructor TopLevel()
public final val x: kotlin.String = "a"
public final val y: kotlin.String
public external final val y: kotlin.String
public final val O.u: kotlin.String
public final val O.v: kotlin.String
public external final val O.v: kotlin.String
public final external fun bar(): kotlin.Int
@kotlin.js.native public final fun baz(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
......@@ -40,9 +40,9 @@ public final class TopLevel {
public final class TopLevelNative {
public constructor TopLevelNative()
public final val x: kotlin.String = "a"
public final val y: kotlin.String
public external final val y: kotlin.String
public final val O.u: kotlin.String
public final val O.v: kotlin.String
public external final val O.v: kotlin.String
public final external fun bar(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Int
......
package
public val baz: kotlin.Int
public val boo: kotlin.Int
public val kotlin.Int.baz: kotlin.Int
public external val baz: kotlin.Int
public external val boo: kotlin.Int
public external val kotlin.Int.baz: kotlin.Int
public external fun bar(): kotlin.Unit
public external fun foo(): kotlin.Unit
public external fun kotlin.String.bar(): kotlin.Int
......
package
public val foo: kotlin.Int = 23
public external val foo: kotlin.Int = 23
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
......@@ -11,12 +11,12 @@ public final class A {
public final class B {
public constructor B()
public final val foo: kotlin.Int = 23
public external final val foo: kotlin.Int = 23
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 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
......
......@@ -515,6 +515,12 @@ internal class DescriptorRendererImpl(
}
}
private fun renderExternal(memberDescriptor: MemberDescriptor, builder: StringBuilder) {
if (memberDescriptor.isExternal) {
builder.append("external ")
}
}
private fun renderLateInit(propertyDescriptor: PropertyDescriptor, builder: StringBuilder) {
if (propertyDescriptor.isLateInit) {
builder.append("lateinit ")
......@@ -528,9 +534,7 @@ internal class DescriptorRendererImpl(
if (functionDescriptor.isInfix && (functionDescriptor.overriddenDescriptors.none { it.isInfix } || alwaysRenderModifiers)) {
builder.append("infix ")
}
if (functionDescriptor.isExternal) {
builder.append("external ")
}
renderExternal(functionDescriptor, builder)
if (functionDescriptor.isInline) {
builder.append("inline ")
}
......@@ -839,6 +843,7 @@ internal class DescriptorRendererImpl(
builder.append("const ")
}
renderExternal(property, builder)
renderModalityForCallable(property, builder)
renderOverride(property, builder)
renderLateInit(property, builder)
......@@ -984,9 +989,7 @@ internal class DescriptorRendererImpl(
}
private fun renderAccessorModifiers(descriptor: PropertyAccessorDescriptor, builder: StringBuilder) {
if (descriptor.isExternal) {
builder.append("external ")
}
renderExternal(descriptor, builder)
}
/* STUPID DISPATCH-ONLY VISITOR */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册