Improve rendering of modifiers in DescriptorRenderer

* Use bold font to render all modifiers
* Render 'external' according to the style guide, right after modality
This commit is contained in:
Alexander Udalov
2017-07-20 19:26:16 +03:00
parent f01e0ef335
commit 472959aca1
37 changed files with 102 additions and 163 deletions
@@ -15,7 +15,7 @@ package foo {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
@kotlin.js.JsNonModule public external open class B { @kotlin.js.JsNonModule public open external class B {
public constructor B() public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Int public final fun foo(): kotlin.Int
@@ -5,7 +5,7 @@ package foo {
@kotlin.js.JsNonModule public external val baz: kotlin.Int @kotlin.js.JsNonModule public external val baz: kotlin.Int
@kotlin.js.JsModule(import = "foo") public external fun foo(): kotlin.Int @kotlin.js.JsModule(import = "foo") public external fun foo(): kotlin.Int
@kotlin.js.JsModule(import = "A") public external final class A { @kotlin.js.JsModule(import = "A") public final external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -13,7 +13,7 @@ package foo {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
@kotlin.js.JsModule(import = "B") public external open class B { @kotlin.js.JsModule(import = "B") public open external class B {
public constructor B() public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Int public final fun foo(): kotlin.Int
@@ -37,7 +37,7 @@ package bar {
public inline fun </*0*/ reified T> boo(/*0*/ x: T): kotlin.Unit public inline fun </*0*/ reified T> boo(/*0*/ x: T): kotlin.Unit
public fun box(): kotlin.Unit public fun box(): kotlin.Unit
public external final class DerivedB : foo.B { public final external class DerivedB : foo.B {
public constructor DerivedB() public constructor DerivedB()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final override /*1*/ /*fake_override*/ fun foo(): kotlin.Int public final override /*1*/ /*fake_override*/ fun foo(): kotlin.Int
@@ -4,7 +4,7 @@ package bar {
public inline fun </*0*/ reified T> boo(/*0*/ x: T): kotlin.Unit public inline fun </*0*/ reified T> boo(/*0*/ x: T): kotlin.Unit
public fun box(): kotlin.Unit public fun box(): kotlin.Unit
public external final class DerivedB : foo.B { public final external class DerivedB : foo.B {
public constructor DerivedB() public constructor DerivedB()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final override /*1*/ /*fake_override*/ fun foo(): kotlin.Int public final override /*1*/ /*fake_override*/ fun foo(): kotlin.Int
@@ -25,7 +25,7 @@ package foo {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
@kotlin.js.JsNonModule public external open class B { @kotlin.js.JsNonModule public open external class B {
public constructor B() public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): kotlin.Int public final fun foo(): kotlin.Int
@@ -1,6 +1,6 @@
package package
public external open class A { public open external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun f(/*0*/ x: kotlin.Int): kotlin.Unit public open fun f(/*0*/ x: kotlin.Int): kotlin.Unit
@@ -1,6 +1,6 @@
package package
public external final class A { public final external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -10,7 +10,7 @@ public external fun f(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.String = ...): kotlin
public external fun foo(): kotlin.Int public external fun foo(): kotlin.Int
public external fun g(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.String = ...): kotlin.Unit public external fun g(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.String = ...): kotlin.Unit
public external final class C { public final external class C {
public constructor C() public constructor C()
public final fun bar(): kotlin.Int public final fun bar(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -1,6 +1,6 @@
package package
public external open class Base { public open external class Base {
public constructor Base(/*0*/ x: kotlin.Int) public constructor Base(/*0*/ x: kotlin.Int)
public constructor Base(/*0*/ x: kotlin.String) public constructor Base(/*0*/ x: kotlin.String)
public constructor Base(/*0*/ x: kotlin.String, /*1*/ y: kotlin.String) public constructor Base(/*0*/ x: kotlin.String, /*1*/ y: kotlin.String)
@@ -9,7 +9,7 @@ public external open class Base {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external open class Derived1 : Base { public open external class Derived1 : Base {
public constructor Derived1() public constructor Derived1()
public constructor Derived1(/*0*/ x: kotlin.Byte) public constructor Derived1(/*0*/ x: kotlin.Byte)
public constructor Derived1(/*0*/ x: kotlin.String) public constructor Derived1(/*0*/ x: kotlin.String)
@@ -19,7 +19,7 @@ public external open class Derived1 : Base {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external open class Derived2 : Base { public open external class Derived2 : Base {
public constructor Derived2() public constructor Derived2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean 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 hashCode(): kotlin.Int
@@ -2,7 +2,7 @@ package
public external val topLevelProp: kotlin.String public external val topLevelProp: kotlin.String
public external final class A : I { public final external class A : I {
public constructor A() public constructor A()
public final var mutableProp: kotlin.String public final var mutableProp: kotlin.String
public final val prop: kotlin.String public final val prop: kotlin.String
@@ -1,6 +1,6 @@
package package
public external final enum class E : kotlin.Enum<E> { public final external enum class E : kotlin.Enum<E> {
enum entry X enum entry X
enum entry Y enum entry Y
@@ -8,14 +8,14 @@ public external fun bar(/*0*/ vararg f: kotlin.Int.() -> kotlin.Int /*kotlin.Arr
public external fun baz(): kotlin.Int.() -> kotlin.Int public external fun baz(): kotlin.Int.() -> kotlin.Int
public external fun foo(/*0*/ f: kotlin.Int.() -> kotlin.Int): kotlin.Unit public external fun foo(/*0*/ f: kotlin.Int.() -> kotlin.Int): kotlin.Unit
public external final class A { public final external class A {
public constructor A(/*0*/ f: kotlin.Int.() -> kotlin.Int) public constructor A(/*0*/ f: kotlin.Int.() -> kotlin.Int)
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean 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 hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external final data class B { public final external data class B {
public constructor B(/*0*/ a: kotlin.Int.() -> kotlin.Int, /*1*/ b: kotlin.Int.() -> kotlin.Int) public constructor B(/*0*/ a: kotlin.Int.() -> kotlin.Int, /*1*/ b: kotlin.Int.() -> kotlin.Int)
public final val a: kotlin.Int.() -> kotlin.Int public final val a: kotlin.Int.() -> kotlin.Int
public final var b: kotlin.Int.() -> kotlin.Int public final var b: kotlin.Int.() -> kotlin.Int
@@ -7,28 +7,28 @@ public open class A {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external open class B { public open external class B {
public constructor B() public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean 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 hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external final class C : A { public final external class C : A {
public constructor C() public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean 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 hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external final class D : B, I { public final external class D : B, I {
public constructor D() public constructor D()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external final enum class E : kotlin.Enum<E> { public final external enum class E : kotlin.Enum<E> {
enum entry X enum entry X
private constructor E() private constructor E()
@@ -45,7 +45,7 @@ public external final enum class E : kotlin.Enum<E> {
public final /*synthesized*/ fun values(): kotlin.Array<E> public final /*synthesized*/ fun values(): kotlin.Array<E>
} }
public external final enum class F : kotlin.Enum<F>, I { public final external enum class F : kotlin.Enum<F>, I {
enum entry X enum entry X
private constructor F() private constructor F()
@@ -4,7 +4,7 @@ public external val bar: kotlin.Int
public external val baz: kotlin.Int public external val baz: kotlin.Int
public external inline fun foo(): kotlin.Unit public external inline fun foo(): kotlin.Unit
public external final class A { public final external class A {
public constructor A() public constructor A()
public final val bar: kotlin.Int public final val bar: kotlin.Int
public final val baz: kotlin.Int public final val baz: kotlin.Int
@@ -4,7 +4,7 @@ public inline fun A.foo(/*0*/ x: kotlin.Int): kotlin.String
public operator inline fun A.get(/*0*/ x: kotlin.Int): kotlin.String public operator inline fun A.get(/*0*/ x: kotlin.Int): kotlin.String
public operator inline fun A.B.get(/*0*/ x: kotlin.Int): kotlin.String public operator inline fun A.B.get(/*0*/ x: kotlin.Int): kotlin.String
public external final class A { public final external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,6 +1,6 @@
package package
public external final class C { public final external class C {
public constructor C() public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean 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 hashCode(): kotlin.Int
@@ -14,7 +14,7 @@ public external final class C {
} }
} }
public external final enum class E : kotlin.Enum<E> { public final external enum class E : kotlin.Enum<E> {
enum entry X enum entry X
private constructor E() private constructor E()
@@ -1,6 +1,6 @@
package package
public external final class A { public final external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.js.nativeGetter public final fun foo(/*0*/ a: kotlin.Double): kotlin.String? @kotlin.js.nativeGetter public final fun foo(/*0*/ a: kotlin.Double): kotlin.String?
@@ -20,7 +20,7 @@ public external final class A {
} }
} }
public external final class B { public final external class B {
public constructor B() public constructor B()
@kotlin.js.nativeGetter public final val foo: kotlin.Int @kotlin.js.nativeGetter public final val foo: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -50,7 +50,7 @@ public external final class B {
} }
} }
public external final class C { public final external class C {
public constructor C() public constructor C()
@kotlin.js.nativeGetter public final fun bar(/*0*/ a: kotlin.String): kotlin.Int @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? @kotlin.js.nativeGetter public final fun baz(/*0*/ a: kotlin.String = ...): kotlin.Int?
@@ -1,6 +1,6 @@
package package
public external final class A { public final external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,6 +1,6 @@
package package
public external final class A { public final external class A {
public constructor A() public constructor A()
@kotlin.js.nativeInvoke public final val foo: kotlin.Int @kotlin.js.nativeInvoke public final val foo: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -1,6 +1,6 @@
package package
public external final class A { public final external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -1,6 +1,6 @@
package package
public external final class A { public final external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.js.nativeSetter public final fun foo(/*0*/ a: kotlin.Int, /*1*/ v: kotlin.String): kotlin.Unit @kotlin.js.nativeSetter public final fun foo(/*0*/ a: kotlin.Int, /*1*/ v: kotlin.String): kotlin.Unit
@@ -24,7 +24,7 @@ public external final class A {
} }
} }
public external final class B { public final external class B {
public constructor B() public constructor B()
@kotlin.js.nativeSetter public final val foo: kotlin.Int @kotlin.js.nativeSetter public final val foo: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -54,7 +54,7 @@ public external final class B {
} }
} }
public external final class C { public final external class C {
public constructor C() public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean 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 @kotlin.js.nativeSetter public final fun foo(/*0*/ a: kotlin.Number, /*1*/ v: kotlin.String = ...): kotlin.String
@@ -1,6 +1,6 @@
package package
public external final class A { public final external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -20,7 +20,7 @@ public final class TopLevel {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public external final class A { public final external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -35,7 +35,7 @@ public final class TopLevel {
} }
} }
public external final class TopLevelNative { public final external class TopLevelNative {
public constructor TopLevelNative() public constructor TopLevelNative()
public final val x: kotlin.String public final val x: kotlin.String
public external final val y: kotlin.String public external final val y: kotlin.String
@@ -45,7 +45,7 @@ public external final class TopLevelNative {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public external final class A { public final external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -5,7 +5,7 @@ public external val boo: kotlin.Int
public external fun bar(): kotlin.Unit public external fun bar(): kotlin.Unit
public external fun foo(): kotlin.Unit public external fun foo(): kotlin.Unit
public external final class C { public final external class C {
public constructor C() public constructor C()
public final val baz: kotlin.Int public final val baz: kotlin.Int
public final val boo: kotlin.Int public final val boo: kotlin.Int
@@ -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.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 @kotlin.js.nativeSetter public fun kotlin.String.foo(/*0*/ n: kotlin.Int, /*1*/ v: kotlin.Any): kotlin.Unit
public external final class C { public final external class C {
public constructor C() public constructor C()
@kotlin.js.nativeSetter public final fun bar(/*0*/ d: kotlin.Double, /*1*/ v: kotlin.Any): kotlin.Any @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 public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -1,6 +1,6 @@
package package
public external open class A { public open external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun f(/*0*/ x: kotlin.Int = ...): kotlin.Unit public open fun f(/*0*/ x: kotlin.Int = ...): kotlin.Unit
@@ -24,7 +24,7 @@ public final class BB : A {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external final class C : A { public final external class C : A {
public constructor C() public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ fun f(/*0*/ x: kotlin.Int = ...): kotlin.Unit public open override /*1*/ fun f(/*0*/ x: kotlin.Int = ...): kotlin.Unit
@@ -32,7 +32,7 @@ public external final class C : A {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external open class D { public open external class D {
public constructor D() public constructor D()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open fun f(/*0*/ x: kotlin.Int): kotlin.Unit public open fun f(/*0*/ x: kotlin.Int): kotlin.Unit
@@ -56,7 +56,7 @@ public final class F : D, I {
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external final class G : D, I { public final external class G : D, I {
public constructor G() public constructor G()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*2*/ fun f(/*0*/ x: kotlin.Int = ...): kotlin.Unit public open override /*2*/ fun f(/*0*/ x: kotlin.Int = ...): kotlin.Unit
@@ -100,7 +100,7 @@ public open class X {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external open class XE { public open external class XE {
public constructor XE() public constructor XE()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun f(/*0*/ x: kotlin.Int): kotlin.Unit public final fun f(/*0*/ x: kotlin.Int): kotlin.Unit
@@ -116,7 +116,7 @@ public final class Y : X, I {
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external final class YE : XE, I { public final external class YE : XE, I {
public constructor YE() public constructor YE()
public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final override /*2*/ /*fake_override*/ fun f(/*0*/ x: kotlin.Int = ...): kotlin.Unit public final override /*2*/ /*fake_override*/ fun f(/*0*/ x: kotlin.Int = ...): kotlin.Unit
@@ -1,6 +1,6 @@
package package
public external final class C { public final external class C {
public constructor C() public constructor C()
private final val b: kotlin.String private final val b: kotlin.String
private final var c: kotlin.Float private final var c: kotlin.Float
@@ -23,7 +23,7 @@ public external object O {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external final class Outer { public final external class Outer {
public constructor Outer() public constructor Outer()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean 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 hashCode(): kotlin.Int
@@ -1,6 +1,6 @@
package package
public external final class C { public final external class C {
public constructor C(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.String) public constructor C(/*0*/ x: kotlin.Int, /*1*/ y: kotlin.String)
public final val y: kotlin.String public final val y: kotlin.String
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -4,7 +4,7 @@ public fun bar(): kotlin.Unit
public inline fun </*0*/ reified T> foo(/*0*/ x: T): 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 operator inline fun </*0*/ reified T> C.plus(/*0*/ other: T): C
public external final class C : I { public final external class C : I {
public constructor C() public constructor C()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean 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 hashCode(): kotlin.Int
@@ -2,7 +2,7 @@ package
public external fun foo(/*0*/ a: kotlin.String): kotlin.Int public external fun foo(/*0*/ a: kotlin.String): kotlin.Int
public external final class Bar { public final external class Bar {
public constructor Bar(/*0*/ b: kotlin.Int, /*1*/ c: kotlin.Char) public constructor Bar(/*0*/ b: kotlin.Int, /*1*/ c: kotlin.Char)
public final fun baz(/*0*/ d: kotlin.Int): kotlin.Unit public final fun baz(/*0*/ d: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -2,7 +2,7 @@ package
@kotlin.js.nativeGetter public fun kotlin.Int.foo(/*0*/ a: kotlin.String): kotlin.Int? @kotlin.js.nativeGetter public fun kotlin.Int.foo(/*0*/ a: kotlin.String): kotlin.Int?
public external final class Bar { public final external class Bar {
public constructor Bar(/*0*/ b: kotlin.Int, /*1*/ c: kotlin.Char) public constructor Bar(/*0*/ b: kotlin.Int, /*1*/ c: kotlin.Char)
@kotlin.js.nativeGetter public final fun baz(/*0*/ d: kotlin.Int): kotlin.Any? @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 public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -2,7 +2,7 @@ package
@kotlin.js.nativeInvoke public fun kotlin.Int.foo(/*0*/ a: kotlin.String): kotlin.Int @kotlin.js.nativeInvoke public fun kotlin.Int.foo(/*0*/ a: kotlin.String): kotlin.Int
public external final class Bar { public final external class Bar {
public constructor Bar(/*0*/ b: kotlin.Int, /*1*/ c: kotlin.Char) public constructor Bar(/*0*/ b: kotlin.Int, /*1*/ c: kotlin.Char)
@kotlin.js.nativeInvoke public final fun baz(/*0*/ d: kotlin.Int): kotlin.Unit @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 public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -2,7 +2,7 @@ package
@kotlin.js.nativeSetter public fun kotlin.Int.foo(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Int): kotlin.Int @kotlin.js.nativeSetter public fun kotlin.Int.foo(/*0*/ a: kotlin.String, /*1*/ v: kotlin.Int): kotlin.Int
public external final class Bar { public final external class Bar {
public constructor Bar(/*0*/ b: kotlin.Int, /*1*/ c: kotlin.Char) 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 @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 public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -3,7 +3,7 @@ package
public val x: kotlin.Int public val x: kotlin.Int
public val B.x: kotlin.Int public val B.x: kotlin.Int
public external final annotation class A : kotlin.Annotation { public final external annotation class A : kotlin.Annotation {
public constructor A(/*0*/ x: kotlin.Int) public constructor A(/*0*/ x: kotlin.Int)
public final val x: kotlin.Int public final val x: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -26,7 +26,7 @@ public final class C {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external final class D { public final external class D {
public constructor D() public constructor D()
public final val a: kotlin.Int public final val a: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -34,7 +34,7 @@ public external final class D {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
public external final data class E { public final external data class E {
public constructor E(/*0*/ x: kotlin.Int) public constructor E(/*0*/ x: kotlin.Int)
public final val x: kotlin.Int public final val x: kotlin.Int
public final operator /*synthesized*/ fun component1(): kotlin.Int public final operator /*synthesized*/ fun component1(): kotlin.Int
@@ -1,6 +1,6 @@
package package
@X public external final class A { @X public final external class A {
public constructor A() public constructor A()
@X public final val p: kotlin.Int @X public final val p: kotlin.Int
public final val r: kotlin.Int public final val r: kotlin.Int
@@ -10,7 +10,7 @@ package
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
} }
@Y public external final class B { @Y public final external class B {
public constructor B() public constructor B()
@Y public final val p: kotlin.Int @Y public final val p: kotlin.Int
public final val r: kotlin.Int public final val r: kotlin.Int
@@ -2,7 +2,7 @@ package
public external val foo: kotlin.Int = 23 public external val foo: kotlin.Int = 23
public external final class A { public final external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -16,7 +16,7 @@ public final class B {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public external final class A { public final external class A {
public constructor 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 equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -59,14 +59,14 @@ internal class DescriptorRendererImpl(
private fun renderKeyword(keyword: String): String { private fun renderKeyword(keyword: String): String {
when (textFormat) { when (textFormat) {
RenderingFormat.PLAIN -> return keyword RenderingFormat.PLAIN -> return keyword
RenderingFormat.HTML -> return "<b>" + keyword + "</b>" RenderingFormat.HTML -> return "<b>$keyword</b>"
} }
} }
private fun renderError(keyword: String): String { private fun renderError(keyword: String): String {
when (textFormat) { when (textFormat) {
RenderingFormat.PLAIN -> return keyword RenderingFormat.PLAIN -> return keyword
RenderingFormat.HTML -> return "<font color=red><b>" + keyword + "</b></font>" RenderingFormat.HTML -> return "<font color=red><b>$keyword</b></font>"
} }
} }
@@ -213,7 +213,7 @@ internal class DescriptorRendererImpl(
val kotlinCollectionsPrefix = classifierNamePolicy.renderClassifier(builtIns.collection, this).substringBefore("Collection") val kotlinCollectionsPrefix = classifierNamePolicy.renderClassifier(builtIns.collection, this).substringBefore("Collection")
val mutablePrefix = "Mutable" val mutablePrefix = "Mutable"
// java.util.List<Foo> -> (Mutable)List<Foo!>! // java.util.List<Foo> -> (Mutable)List<Foo!>!
val simpleCollection = replacePrefixes(lowerRendered, kotlinCollectionsPrefix + mutablePrefix, upperRendered, kotlinCollectionsPrefix, kotlinCollectionsPrefix + "(" + mutablePrefix + ")") val simpleCollection = replacePrefixes(lowerRendered, kotlinCollectionsPrefix + mutablePrefix, upperRendered, kotlinCollectionsPrefix, "$kotlinCollectionsPrefix($mutablePrefix)")
if (simpleCollection != null) return simpleCollection if (simpleCollection != null) return simpleCollection
// java.util.Map.Entry<Foo, Bar> -> (Mutable)Map.(Mutable)Entry<Foo!, Bar!>! // java.util.Map.Entry<Foo, Bar> -> (Mutable)Map.(Mutable)Entry<Foo!, Bar!>!
val mutableEntry = replacePrefixes(lowerRendered, kotlinCollectionsPrefix + "MutableMap.MutableEntry", upperRendered, kotlinCollectionsPrefix + "Map.Entry", kotlinCollectionsPrefix + "(Mutable)Map.(Mutable)Entry") val mutableEntry = replacePrefixes(lowerRendered, kotlinCollectionsPrefix + "MutableMap.MutableEntry", upperRendered, kotlinCollectionsPrefix + "Map.Entry", kotlinCollectionsPrefix + "(Mutable)Map.(Mutable)Entry")
@@ -324,9 +324,7 @@ internal class DescriptorRendererImpl(
if (needParenthesis) append("(") if (needParenthesis) append("(")
if (type.isSuspendFunctionType) { renderModifier(this, type.isSuspendFunctionType, "suspend")
append("suspend ") // anything special about modifier?
}
if (receiverType != null) { if (receiverType != null) {
val surroundReceiver = shouldRenderAsPrettyFunctionType(receiverType) && !receiverType.isMarkedNullable || val surroundReceiver = shouldRenderAsPrettyFunctionType(receiverType) && !receiverType.isMarkedNullable ||
@@ -463,40 +461,13 @@ internal class DescriptorRendererImpl(
} }
private fun renderModality(modality: Modality, builder: StringBuilder) { private fun renderModality(modality: Modality, builder: StringBuilder) {
if (DescriptorRendererModifier.MODALITY !in modifiers) return renderModifier(builder, DescriptorRendererModifier.MODALITY in modifiers, modality.name.toLowerCase())
val keyword = modality.name.toLowerCase()
builder.append(renderKeyword(keyword)).append(" ")
}
private fun renderHeader(isHeader: Boolean, builder: StringBuilder) {
if (DescriptorRendererModifier.HEADER !in modifiers) return
if (isHeader) {
builder.append(renderKeyword("header")).append(" ")
}
}
private fun renderImpl(isImpl: Boolean, builder: StringBuilder) {
if (DescriptorRendererModifier.IMPL !in modifiers) return
if (isImpl) {
builder.append(renderKeyword("impl")).append(" ")
}
}
private fun renderInner(isInner: Boolean, builder: StringBuilder) {
if (DescriptorRendererModifier.INNER !in modifiers) return
if (isInner) {
builder.append(renderKeyword("inner")).append(" ")
}
}
private fun renderData(isData: Boolean, builder: StringBuilder) {
if (DescriptorRendererModifier.DATA !in modifiers || !isData) return
builder.append(renderKeyword("data")).append(" ")
} }
private fun renderModalityForCallable(callable: CallableMemberDescriptor, builder: StringBuilder) { private fun renderModalityForCallable(callable: CallableMemberDescriptor, builder: StringBuilder) {
if (!DescriptorUtils.isTopLevelDeclaration(callable) || callable.modality != Modality.FINAL) { if (!DescriptorUtils.isTopLevelDeclaration(callable) || callable.modality != Modality.FINAL) {
if (overridesSomething(callable) && overrideRenderingPolicy == OverrideRenderingPolicy.RENDER_OVERRIDE && callable.modality == Modality.OPEN) { if (overrideRenderingPolicy == OverrideRenderingPolicy.RENDER_OVERRIDE && callable.modality == Modality.OPEN &&
overridesSomething(callable)) {
return return
} }
renderModality(callable.modality, builder) renderModality(callable.modality, builder)
@@ -507,7 +478,7 @@ internal class DescriptorRendererImpl(
if (DescriptorRendererModifier.OVERRIDE !in modifiers) return if (DescriptorRendererModifier.OVERRIDE !in modifiers) return
if (overridesSomething(callableMember)) { if (overridesSomething(callableMember)) {
if (overrideRenderingPolicy != OverrideRenderingPolicy.RENDER_OPEN) { if (overrideRenderingPolicy != OverrideRenderingPolicy.RENDER_OPEN) {
builder.append("override ") renderModifier(builder, true, "override")
if (verbose) { if (verbose) {
builder.append("/*").append(callableMember.overriddenDescriptors.size).append("*/ ") builder.append("/*").append(callableMember.overriddenDescriptors.size).append("*/ ")
} }
@@ -522,45 +493,31 @@ internal class DescriptorRendererImpl(
} }
} }
private fun renderCallableModifiers(descriptor: CallableMemberDescriptor, builder: StringBuilder) { private fun renderModifier(builder: StringBuilder, value: Boolean, modifier: String) {
renderExternal(descriptor, builder) if (value) {
if (descriptor.isHeader) { builder.append(renderKeyword(modifier))
builder.append("header ") builder.append(" ")
}
if (descriptor.isImpl) {
builder.append("impl ")
} }
} }
private fun renderExternal(memberDescriptor: MemberDescriptor, builder: StringBuilder) { private fun renderMemberModifiers(descriptor: MemberDescriptor, builder: StringBuilder) {
if (memberDescriptor.isExternal) { renderModifier(builder, descriptor.isExternal, "external")
builder.append("external ") renderModifier(builder, DescriptorRendererModifier.HEADER in modifiers && descriptor.isHeader, "header")
} renderModifier(builder, DescriptorRendererModifier.IMPL in modifiers && descriptor.isImpl, "impl")
}
private fun renderLateInit(propertyDescriptor: PropertyDescriptor, builder: StringBuilder) {
if (propertyDescriptor.isLateInit) {
builder.append("lateinit ")
}
} }
private fun renderAdditionalModifiers(functionDescriptor: FunctionDescriptor, builder: StringBuilder) { private fun renderAdditionalModifiers(functionDescriptor: FunctionDescriptor, builder: StringBuilder) {
if (functionDescriptor.isOperator && (functionDescriptor.overriddenDescriptors.none { it.isOperator } || alwaysRenderModifiers)) { val isOperator =
builder.append("operator ") functionDescriptor.isOperator && (functionDescriptor.overriddenDescriptors.none { it.isOperator } || alwaysRenderModifiers)
} val isInfix =
if (functionDescriptor.isInfix && (functionDescriptor.overriddenDescriptors.none { it.isInfix } || alwaysRenderModifiers)) { functionDescriptor.isInfix && (functionDescriptor.overriddenDescriptors.none { it.isInfix } || alwaysRenderModifiers)
builder.append("infix ")
} renderModifier(builder, isOperator, "operator")
renderCallableModifiers(functionDescriptor, builder) renderModifier(builder, isInfix, "infix")
if (functionDescriptor.isInline) { renderMemberModifiers(functionDescriptor, builder)
builder.append("inline ") renderModifier(builder, functionDescriptor.isInline, "inline")
} renderModifier(builder, functionDescriptor.isTailrec, "tailrec")
if (functionDescriptor.isTailrec) { renderModifier(builder, functionDescriptor.isSuspend, "suspend")
builder.append("tailrec ")
}
if (functionDescriptor.isSuspend) {
builder.append("suspend ")
}
} }
override fun render(declarationDescriptor: DeclarationDescriptor): String { override fun render(declarationDescriptor: DeclarationDescriptor): String {
@@ -584,13 +541,9 @@ internal class DescriptorRendererImpl(
builder.append("/*").append(typeParameter.index).append("*/ ") builder.append("/*").append(typeParameter.index).append("*/ ")
} }
if (typeParameter.isReified) { renderModifier(builder, typeParameter.isReified, "reified")
builder.append(renderKeyword("reified")).append(" ")
}
val variance = typeParameter.variance.label val variance = typeParameter.variance.label
if (!variance.isEmpty()) { renderModifier(builder, variance.isNotEmpty(), variance)
builder.append(renderKeyword(variance)).append(" ")
}
builder.renderAnnotations(typeParameter) builder.renderAnnotations(typeParameter)
@@ -793,14 +746,8 @@ internal class DescriptorRendererImpl(
} }
builder.renderAnnotations(valueParameter) builder.renderAnnotations(valueParameter)
renderModifier(builder, valueParameter.isCrossinline, "crossinline")
if (valueParameter.isCrossinline) { renderModifier(builder, valueParameter.isNoinline, "noinline")
builder.append("crossinline ")
}
if (valueParameter.isNoinline) {
builder.append("noinline ")
}
renderVariable(valueParameter, includeName, builder, topLevel) renderVariable(valueParameter, includeName, builder, topLevel)
@@ -822,9 +769,7 @@ internal class DescriptorRendererImpl(
val varargElementType = (variable as? ValueParameterDescriptor)?.varargElementType val varargElementType = (variable as? ValueParameterDescriptor)?.varargElementType
val typeToRender = varargElementType ?: realType val typeToRender = varargElementType ?: realType
if (varargElementType != null) { renderModifier(builder, varargElementType != null, "vararg")
builder.append(renderKeyword("vararg")).append(" ")
}
if (topLevel && !startFromName) { if (topLevel && !startFromName) {
renderValVarPrefix(variable, builder) renderValVarPrefix(variable, builder)
} }
@@ -848,15 +793,11 @@ internal class DescriptorRendererImpl(
if (!startFromDeclarationKeyword) { if (!startFromDeclarationKeyword) {
builder.renderAnnotations(property) builder.renderAnnotations(property)
renderVisibility(property.visibility, builder) renderVisibility(property.visibility, builder)
renderModifier(builder, property.isConst, "const")
if (property.isConst) { renderMemberModifiers(property, builder)
builder.append("const ")
}
renderCallableModifiers(property, builder)
renderModalityForCallable(property, builder) renderModalityForCallable(property, builder)
renderOverride(property, builder) renderOverride(property, builder)
renderLateInit(property, builder) renderModifier(builder, property.isLateInit, "lateinit")
renderMemberKind(property, builder) renderMemberKind(property, builder)
} }
renderValVarPrefix(property, builder) renderValVarPrefix(property, builder)
@@ -914,15 +855,13 @@ internal class DescriptorRendererImpl(
if (!isEnumEntry) { if (!isEnumEntry) {
renderVisibility(klass.visibility, builder) renderVisibility(klass.visibility, builder)
} }
renderExternal(klass, builder)
if (!(klass.kind == ClassKind.INTERFACE && klass.modality == Modality.ABSTRACT || if (!(klass.kind == ClassKind.INTERFACE && klass.modality == Modality.ABSTRACT ||
klass.kind.isSingleton && klass.modality == Modality.FINAL)) { klass.kind.isSingleton && klass.modality == Modality.FINAL)) {
renderModality(klass.modality, builder) renderModality(klass.modality, builder)
} }
renderHeader(klass.isHeader, builder) renderMemberModifiers(klass, builder)
renderImpl(klass.isImpl, builder) renderModifier(builder, DescriptorRendererModifier.INNER in modifiers && klass.isInner, "inner")
renderInner(klass.isInner, builder) renderModifier(builder, DescriptorRendererModifier.DATA in modifiers && klass.isData, "data")
renderData(klass.isData, builder)
renderClassKindPrefix(klass, builder) renderClassKindPrefix(klass, builder)
} }
@@ -946,7 +885,7 @@ internal class DescriptorRendererImpl(
builder.append(" ") builder.append(" ")
builder.renderAnnotations(primaryConstructor) builder.renderAnnotations(primaryConstructor)
renderVisibility(primaryConstructor.visibility, builder) renderVisibility(primaryConstructor.visibility, builder)
builder.append("constructor") builder.append(renderKeyword("constructor"))
renderValueParameters(primaryConstructor.valueParameters, primaryConstructor.hasSynthesizedParameterNames(), builder) renderValueParameters(primaryConstructor.valueParameters, primaryConstructor.hasSynthesizedParameterNames(), builder)
} }
} }
@@ -1000,7 +939,7 @@ internal class DescriptorRendererImpl(
} }
private fun renderAccessorModifiers(descriptor: PropertyAccessorDescriptor, builder: StringBuilder) { private fun renderAccessorModifiers(descriptor: PropertyAccessorDescriptor, builder: StringBuilder) {
renderCallableModifiers(descriptor, builder) renderMemberModifiers(descriptor, builder)
} }
/* STUPID DISPATCH-ONLY VISITOR */ /* STUPID DISPATCH-ONLY VISITOR */
+1 -1
View File
@@ -2,4 +2,4 @@ fun test() {
listOf(1, 2, 4).<caret>filter { it > 0 } listOf(1, 2, 4).<caret>filter { it > 0 }
} }
//INFO: <pre><b>public</b> inline <b>fun</b> &lt;T&gt; <a href="psi_element://kotlin.collections.Iterable">Iterable</a>&lt;<a href="psi_element://kotlin.collections.filter.T">T</a>&gt;.filter(predicate: (<a href="psi_element://kotlin.collections.filter.T">T</a>) &rarr; Boolean): <a href="psi_element://kotlin.collections.List">List</a>&lt;<a href="psi_element://kotlin.collections.filter.T">T</a>&gt; <i>defined in</i> kotlin.collections <i>in file</i> CollectionsKt.class</pre><p>Returns a list containing only elements matching the given <a href="psi_element://predicate">predicate</a>.</p> //INFO: <pre><b>public</b> <b>inline</b> <b>fun</b> &lt;T&gt; <a href="psi_element://kotlin.collections.Iterable">Iterable</a>&lt;<a href="psi_element://kotlin.collections.filter.T">T</a>&gt;.filter(predicate: (<a href="psi_element://kotlin.collections.filter.T">T</a>) &rarr; Boolean): <a href="psi_element://kotlin.collections.List">List</a>&lt;<a href="psi_element://kotlin.collections.filter.T">T</a>&gt; <i>defined in</i> kotlin.collections <i>in file</i> CollectionsKt.class</pre><p>Returns a list containing only elements matching the given <a href="psi_element://predicate">predicate</a>.</p>