Render captured type parameters in verbose mode

This commit is contained in:
Denis Zharkov
2015-11-11 19:52:22 +03:00
parent 6ae653e5a1
commit e920ce709b
42 changed files with 84 additions and 72 deletions
@@ -10,11 +10,11 @@ public/*package*/ open class InnerClassOfGeneric {
public final class Outer</*0*/ T> {
public constructor Outer</*0*/ T>()
public final inner class Inner {
public final inner class Inner /*captured type parameters: /*0*/ T*/ {
public constructor Inner(/*0*/ kotlin.List<T>)
}
public final inner class InnerSimple {
public final inner class InnerSimple /*captured type parameters: /*0*/ T*/ {
public constructor InnerSimple()
}
}
@@ -7,7 +7,7 @@ public final class MyIterable</*0*/ T> : kotlin.Iterable<T> {
public open override /*1*/ fun iterator(): kotlin.Iterator<T>
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class MyIterator : kotlin.Iterator<T> {
public final inner class MyIterator /*captured type parameters: /*0*/ T*/ : kotlin.Iterator<T> {
public constructor MyIterator()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ fun hasNext(): kotlin.Boolean
@@ -21,7 +21,7 @@ public final class A</*0*/ T> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner</*0*/ I> {
public final inner class Inner</*0*/ I> /*captured type parameters: /*1*/ T*/ {
public constructor Inner</*0*/ 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
@@ -9,34 +9,34 @@ public final class Outer</*0*/ E> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner</*0*/ F, /*1*/ G> {
public final inner class Inner</*0*/ F, /*1*/ G> /*captured type parameters: /*2*/ E*/ {
public constructor Inner</*0*/ F, /*1*/ G>()
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 inner class Inner2 : Outer<E>.Inner<F, G>.Inner2Base {
public final inner class Inner2 /*captured type parameters: /*0*/ F, /*1*/ G, /*2*/ E*/ : Outer<E>.Inner<F, G>.Inner2Base {
public constructor Inner2()
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 abstract inner class Inner2Base {
public abstract inner class Inner2Base /*captured type parameters: /*0*/ F, /*1*/ G, /*2*/ E*/ {
public constructor Inner2Base()
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 inner class Inner3</*0*/ H> : Outer<E>.Inner<F, G>.Inner3Base<H> {
public final inner class Inner3</*0*/ H> /*captured type parameters: /*1*/ F, /*2*/ G, /*3*/ E*/ : Outer<E>.Inner<F, G>.Inner3Base<H> {
public constructor Inner3</*0*/ H>()
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 abstract inner class Inner3Base</*0*/ B> {
public abstract inner class Inner3Base</*0*/ B> /*captured type parameters: /*1*/ F, /*2*/ G, /*3*/ E*/ {
public constructor Inner3Base</*0*/ 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
@@ -8,7 +8,7 @@ public final class Outer</*0*/ E : kotlin.Any> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner</*0*/ F, /*1*/ G> {
public final inner class Inner</*0*/ F, /*1*/ G> /*captured type parameters: /*2*/ E : kotlin.Any*/ {
public constructor Inner</*0*/ F, /*1*/ G>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -15,7 +15,7 @@ public final class Outer</*0*/ E> {
public final fun set(/*0*/ inner: Outer<E>.Inner<out E>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner</*0*/ F> {
public final inner class Inner</*0*/ F> /*captured type parameters: /*1*/ E*/ {
public constructor Inner</*0*/ F>()
public final fun baz(): Outer<E>.Inner<kotlin.String>
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -8,7 +8,7 @@ public final class Outer</*0*/ E> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner</*0*/ H> : Outer<E>.InnerBase<H> {
public final inner class Inner</*0*/ H> /*captured type parameters: /*1*/ E*/ : Outer<E>.InnerBase<H> {
public constructor Inner</*0*/ H>()
public final val prop: E
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -16,7 +16,7 @@ public final class Outer</*0*/ E> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public open inner class InnerBase</*0*/ F> {
public open inner class InnerBase</*0*/ F> /*captured type parameters: /*1*/ E*/ {
public constructor InnerBase</*0*/ F>()
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 final class Outer</*0*/ out E, /*1*/ in F> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner {
public final inner class Inner /*captured type parameters: /*0*/ out E, /*1*/ in F*/ {
public constructor Inner()
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 A</*0*/ T> : java.util.AbstractCollection<T> {
public open override /*1*/ /*fake_override*/ fun </*0*/ T : kotlin.Any!> toArray(/*0*/ p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>!
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class MyIt : kotlin.MutableIterator<T> {
public final inner class MyIt /*captured type parameters: /*0*/ T*/ : kotlin.MutableIterator<T> {
public constructor MyIt()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ fun hasNext(): kotlin.Boolean
@@ -10,7 +10,7 @@ public open class Outer</*0*/ E : kotlin.Any!> {
public/*package*/ open fun set(/*0*/ x: Outer<kotlin.String!>.Inner<E!>!): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class Inner</*0*/ F : kotlin.Any!> {
public open inner class Inner</*0*/ F : kotlin.Any!> /*captured type parameters: /*1*/ E : kotlin.Any!*/ {
public constructor Inner</*0*/ F : kotlin.Any!>()
public/*package*/ open fun bar(): F!
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -8,7 +8,7 @@ public open class A</*0*/ X> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class B : T<X> {
public final inner class B /*captured type parameters: /*0*/ X*/ : T<X> {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun f(): X
@@ -9,7 +9,7 @@ public final class Outer</*0*/ T> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner</*0*/ R> {
public final inner class Inner</*0*/ R> /*captured type parameters: /*1*/ T*/ {
public constructor Inner</*0*/ R>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(/*0*/ t: T, /*1*/ r: R): kotlin.Unit
@@ -9,7 +9,7 @@ public final class Outer</*0*/ E> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner</*0*/ E> {
public final inner class Inner</*0*/ E> /*captured type parameters: /*1*/ E*/ {
public constructor Inner</*0*/ E>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(): E
@@ -8,7 +8,7 @@ public final class Outer</*0*/ T> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner {
public final inner class Inner /*captured type parameters: /*0*/ T*/ {
public constructor Inner()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -51,20 +51,20 @@ package test {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner</*0*/ F, /*1*/ G> {
public final inner class Inner</*0*/ F, /*1*/ G> /*captured type parameters: /*2*/ E*/ {
public constructor Inner</*0*/ F, /*1*/ G>()
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 inner class Inner2 {
public final inner class Inner2 /*captured type parameters: /*0*/ F, /*1*/ G, /*2*/ E*/ {
public constructor Inner2()
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 inner class Inner3</*0*/ H> {
public final inner class Inner3</*0*/ H> /*captured type parameters: /*1*/ F, /*2*/ G, /*3*/ E*/ {
public constructor Inner3</*0*/ H>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -78,7 +78,7 @@ package test {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner4</*0*/ K> {
public final inner class Inner4</*0*/ K> /*captured type parameters: /*1*/ I*/ {
public constructor Inner4</*0*/ K>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -98,7 +98,7 @@ package test {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner5</*0*/ L> {
public final inner class Inner5</*0*/ L> /*captured type parameters: /*1*/ J*/ {
public constructor Inner5</*0*/ L>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
@@ -13,7 +13,7 @@ public final class Outer</*0*/ E> {
public final fun set(/*0*/ inner: Outer<E>.Inner): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner {
public final inner class Inner /*captured type parameters: /*0*/ E*/ {
public constructor Inner()
public final fun baz(): Outer<E>.Inner
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -13,7 +13,7 @@ public final class Outer</*0*/ in E> {
public final fun set(/*0*/ inner: Outer<E>.Inner): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner {
public final inner class Inner /*captured type parameters: /*0*/ in E*/ {
public constructor Inner()
public final fun baz(): Outer<E>.Inner
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -13,7 +13,7 @@ public final class Outer</*0*/ out E> {
public final fun set(/*0*/ inner: Outer<E>.Inner): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner {
public final inner class Inner /*captured type parameters: /*0*/ out E*/ {
public constructor Inner()
public final fun baz(): Outer<E>.Inner
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -13,7 +13,7 @@ public final class Outer</*0*/ E> {
public final fun set(/*0*/ inner: Outer<E>.Inner): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner {
public final inner class Inner /*captured type parameters: /*0*/ E*/ {
public constructor Inner()
public final fun baz(): Outer<E>.Inner
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -12,7 +12,7 @@ public final class Outer</*0*/ E> {
public final fun setInner(/*0*/ inner: Outer<E>.Inner<kotlin.Int>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner</*0*/ F> {
public final inner class Inner</*0*/ F> /*captured type parameters: /*1*/ E*/ {
public constructor Inner</*0*/ F>()
public final fun act(): kotlin.Unit
public final fun bar(/*0*/ e: E, /*1*/ f: F): kotlin.Unit
+2 -2
View File
@@ -7,14 +7,14 @@ public abstract class A</*0*/ T> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public abstract inner class B</*0*/ S> : A<A<T>.B<S>> {
public abstract inner class B</*0*/ S> /*captured type parameters: /*1*/ T*/ : A<A<T>.B<S>> {
public constructor B</*0*/ S>()
public abstract override /*1*/ /*fake_override*/ fun Foo(/*0*/ x: A<T>.B<S>): kotlin.Unit
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 inner class C</*0*/ U> : A<T>.B<A<T>.B<S>.C<U>> {
public final inner class C</*0*/ U> /*captured type parameters: /*1*/ S, /*2*/ T*/ : A<T>.B<A<T>.B<S>.C<U>> {
public constructor C</*0*/ U>()
public open override /*1*/ fun Foo(/*0*/ x: A<T>.B<A<T>.B<S>.C<U>>): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -24,7 +24,7 @@ public final class Outer</*0*/ T> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final fun useOuterParam(/*0*/ t: T): kotlin.Unit
public final inner class Inner</*0*/ I> {
public final inner class Inner</*0*/ I> /*captured type parameters: /*1*/ T*/ {
public constructor Inner</*0*/ I>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun </*0*/ R> genericFun(/*0*/ r: R): Outer<T>
@@ -6,7 +6,7 @@ public final class Outer</*0*/ T> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class Inner {
public final inner class Inner /*captured type parameters: /*0*/ T*/ {
public constructor Inner()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(/*0*/ t: T): T
@@ -10,7 +10,7 @@ public/*package*/ open class A</*0*/ T : kotlin.Any!> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class Inner</*0*/ E : kotlin.Any!> {
public open inner class Inner</*0*/ E : kotlin.Any!> /*captured type parameters: /*1*/ T : kotlin.Any!*/ {
public/*package*/ constructor Inner</*0*/ E : kotlin.Any!>(/*0*/ x0: E!, /*1*/ x: T!, /*2*/ y: kotlin.(Mutable)List<T!>!)
public/*package*/ open fun bar(): A<kotlin.(Mutable)Map<E!, T!>!>!
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@@ -8,7 +8,7 @@ public/*package*/ open class A</*0*/ T : kotlin.Any!> {
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public open inner class Inner</*0*/ E : kotlin.Any!> {
public open inner class Inner</*0*/ E : kotlin.Any!> /*captured type parameters: /*1*/ T : kotlin.Any!*/ {
public constructor Inner</*0*/ E : kotlin.Any!>()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public/*package*/ open fun foo(): kotlin.(Mutable)List<T!>!
@@ -20,7 +20,7 @@ public final class A</*0*/ T> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final inner class I {
public final inner class I /*captured type parameters: /*0*/ T*/ {
public constructor 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
@@ -69,7 +69,7 @@ public final class B</*0*/ T> {
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final inner class I {
public final inner class I /*captured type parameters: /*0*/ T*/ {
public constructor 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
+1 -1
View File
@@ -11,7 +11,7 @@ package example {
public final fun test(): kotlin.Unit
public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String
public final inner class B : example.T {
public final inner class B /*captured type parameters: /*0*/ E*/ : example.T {
public constructor B()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun foo(): kotlin.Unit
@@ -3,7 +3,7 @@ package test
public open class InnerClassReferencesOuterTP</*0*/ P : kotlin.Any!> {
public constructor InnerClassReferencesOuterTP</*0*/ P : kotlin.Any!>()
public open inner class Inner</*0*/ Q : P!> {
public open inner class Inner</*0*/ Q : P!> /*captured type parameters: /*1*/ P : kotlin.Any!*/ {
public constructor Inner</*0*/ Q : P!>()
}
}
@@ -3,11 +3,11 @@ package test
public open class InnerClassesInGeneric</*0*/ P : kotlin.Any!, /*1*/ Q : kotlin.Any!> {
public constructor InnerClassesInGeneric</*0*/ P : kotlin.Any!, /*1*/ Q : kotlin.Any!>()
public open inner class Inner {
public open inner class Inner /*captured type parameters: /*0*/ P : kotlin.Any!, /*1*/ Q : kotlin.Any!*/ {
public constructor Inner()
}
public open inner class Inner2 : test.InnerClassesInGeneric<kotlin.Any!, kotlin.Any!>.Inner {
public open inner class Inner2 /*captured type parameters: /*0*/ P : kotlin.Any!, /*1*/ Q : kotlin.Any!*/ : test.InnerClassesInGeneric<kotlin.Any!, kotlin.Any!>.Inner {
public constructor Inner2()
public open operator fun iterator(): kotlin.(Mutable)Iterator<P!>!
}
@@ -3,11 +3,11 @@ package test
public open class InnerClassesInGeneric</*0*/ P : kotlin.Any!, /*1*/ Q : kotlin.Any!> {
public constructor InnerClassesInGeneric</*0*/ P : kotlin.Any!, /*1*/ Q : kotlin.Any!>()
public open inner class Inner {
public open inner class Inner /*captured type parameters: /*0*/ P : kotlin.Any!, /*1*/ Q : kotlin.Any!*/ {
public constructor Inner()
}
public open inner class Inner2 : test.InnerClassesInGeneric<P!, Q!>.Inner {
public open inner class Inner2 /*captured type parameters: /*0*/ P : kotlin.Any!, /*1*/ Q : kotlin.Any!*/ : test.InnerClassesInGeneric<P!, Q!>.Inner {
public constructor Inner2()
public open operator fun iterator(): kotlin.(Mutable)Iterator<P!>!
}
@@ -6,7 +6,7 @@ public open class InnerOfGeneric {
public abstract inner class A</*0*/ K : kotlin.Any!> {
public constructor A</*0*/ K : kotlin.Any!>()
public abstract inner class Inner : test.InnerOfGeneric.S<K!> {
public abstract inner class Inner /*captured type parameters: /*0*/ K : kotlin.Any!*/ : test.InnerOfGeneric.S<K!> {
public constructor Inner()
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.(Mutable)Iterator<K!>!
}
@@ -15,7 +15,7 @@ public open class InnerOfGeneric {
public open inner class B</*0*/ L : kotlin.Any!> : test.InnerOfGeneric.A<L!> {
public constructor B</*0*/ L : kotlin.Any!>()
public open inner class SubInner : test.InnerOfGeneric.A<kotlin.Any!>.Inner {
public open inner class SubInner /*captured type parameters: /*0*/ L : kotlin.Any!*/ : test.InnerOfGeneric.A<kotlin.Any!>.Inner {
public constructor SubInner()
public open override /*1*/ fun iterator(): kotlin.(Mutable)Iterator<L!>!
}
+2 -2
View File
@@ -6,7 +6,7 @@ public open class InnerOfGeneric {
public abstract inner class A</*0*/ K : kotlin.Any!> {
public constructor A</*0*/ K : kotlin.Any!>()
public abstract inner class Inner : test.InnerOfGeneric.S<K!> {
public abstract inner class Inner /*captured type parameters: /*0*/ K : kotlin.Any!*/ : test.InnerOfGeneric.S<K!> {
public constructor Inner()
public open override /*1*/ /*fake_override*/ fun iterator(): kotlin.(Mutable)Iterator<K!>!
}
@@ -15,7 +15,7 @@ public open class InnerOfGeneric {
public open inner class B</*0*/ L : kotlin.Any!> : test.InnerOfGeneric.A<L!> {
public constructor B</*0*/ L : kotlin.Any!>()
public open inner class SubInner : test.InnerOfGeneric.A<L!>.Inner {
public open inner class SubInner /*captured type parameters: /*0*/ L : kotlin.Any!*/ : test.InnerOfGeneric.A<L!>.Inner {
public constructor SubInner()
public open override /*1*/ fun iterator(): kotlin.(Mutable)Iterator<L!>!
}
@@ -3,7 +3,7 @@ package test
public final class MethodReferencesOuterClassTP</*0*/ P : kotlin.Any!> {
public constructor MethodReferencesOuterClassTP</*0*/ P : kotlin.Any!>()
public final inner class Inner {
public final inner class Inner /*captured type parameters: /*0*/ P : kotlin.Any!*/ {
public constructor Inner()
public final fun </*0*/ Q : P!> f(): kotlin.Unit
}
@@ -3,7 +3,7 @@ package test
public open class TypeParameterOfOuterClass</*0*/ T : kotlin.Any!> {
public constructor TypeParameterOfOuterClass</*0*/ T : kotlin.Any!>()
public open inner class Inner {
public open inner class Inner /*captured type parameters: /*0*/ T : kotlin.Any!*/ {
public constructor Inner()
public open fun foo(/*0*/ p0: java.util.Comparator<T!>!): kotlin.Unit
}
@@ -5,7 +5,7 @@ public interface ReturnInnerSubclassOfSupersInner {
public open class Sub</*0*/ B : kotlin.Any!> : test.ReturnInnerSubclassOfSupersInner.Super<B!> {
public constructor Sub</*0*/ B : kotlin.Any!>()
public/*package*/ open inner class Inner : test.ReturnInnerSubclassOfSupersInner.Super<kotlin.Any!>.Inner {
public/*package*/ open inner class Inner /*captured type parameters: /*0*/ B : kotlin.Any!*/ : test.ReturnInnerSubclassOfSupersInner.Super<kotlin.Any!>.Inner {
public/*package*/ constructor Inner()
public/*package*/ open override /*1*/ fun get(): test.ReturnInnerSubclassOfSupersInner.Sub<B!>!
}
@@ -14,7 +14,7 @@ public interface ReturnInnerSubclassOfSupersInner {
public open class Super</*0*/ A : kotlin.Any!> {
public constructor Super</*0*/ A : kotlin.Any!>()
public/*package*/ open inner class Inner {
public/*package*/ open inner class Inner /*captured type parameters: /*0*/ A : kotlin.Any!*/ {
public/*package*/ constructor Inner()
public/*package*/ open fun get(): test.ReturnInnerSubclassOfSupersInner.Super<A!>!
}
@@ -5,7 +5,7 @@ public interface ReturnInnerSubclassOfSupersInner {
public open class Sub</*0*/ B : kotlin.Any!> : test.ReturnInnerSubclassOfSupersInner.Super<B!> {
public constructor Sub</*0*/ B : kotlin.Any!>()
public/*package*/ open inner class Inner : test.ReturnInnerSubclassOfSupersInner.Super<B!>.Inner {
public/*package*/ open inner class Inner /*captured type parameters: /*0*/ B : kotlin.Any!*/ : test.ReturnInnerSubclassOfSupersInner.Super<B!>.Inner {
public/*package*/ constructor Inner()
public/*package*/ open override /*1*/ fun get(): test.ReturnInnerSubclassOfSupersInner.Sub<B!>!
}
@@ -14,7 +14,7 @@ public interface ReturnInnerSubclassOfSupersInner {
public open class Super</*0*/ A : kotlin.Any!> {
public constructor Super</*0*/ A : kotlin.Any!>()
public/*package*/ open inner class Inner {
public/*package*/ open inner class Inner /*captured type parameters: /*0*/ A : kotlin.Any!*/ {
public/*package*/ constructor Inner()
public/*package*/ open fun get(): test.ReturnInnerSubclassOfSupersInner.Super<A!>!
}
@@ -4,16 +4,16 @@ public final class Outer</*0*/ E, /*1*/ F> {
/*primary*/ public constructor Outer</*0*/ E, /*1*/ F>()
public final fun bar(/*0*/ x: test.Outer<kotlin.String, kotlin.Double>.Inner2, /*1*/ y: test.Outer<E, F>.Inner2): kotlin.Unit
public final inner class Inner</*0*/ G, /*1*/ H> {
public final inner class Inner</*0*/ G, /*1*/ H> /*captured type parameters: /*2*/ E, /*3*/ F*/ {
/*primary*/ public constructor Inner</*0*/ G, /*1*/ H>()
public final inner class Inner3</*0*/ I> {
public final inner class Inner3</*0*/ I> /*captured type parameters: /*1*/ G, /*2*/ H, /*3*/ E, /*4*/ F*/ {
/*primary*/ public constructor Inner3</*0*/ I>()
public final fun foo(/*0*/ x: test.Outer<kotlin.String, F>.Inner<G, kotlin.Int>, /*1*/ y: test.Outer<E, F>.Inner<E, kotlin.Double>, /*2*/ z: test.Outer<kotlin.String, F>.Inner<G, kotlin.Int>.Inner3<kotlin.Double>, /*3*/ w: test.Outer<E, F>.Inner<G, H>.Inner3<*>): kotlin.Unit
}
}
public final inner class Inner2 {
public final inner class Inner2 /*captured type parameters: /*0*/ E, /*1*/ F*/ {
/*primary*/ public constructor Inner2()
}
}
@@ -3,13 +3,13 @@ package test
public final class A</*0*/ TA> {
/*primary*/ public constructor A</*0*/ TA>()
public final inner class B</*0*/ TB> {
public final inner class B</*0*/ TB> /*captured type parameters: /*1*/ TA*/ {
/*primary*/ public constructor B</*0*/ TB>()
public final inner class C</*0*/ TC> {
public final inner class C</*0*/ TC> /*captured type parameters: /*1*/ TB, /*2*/ TA*/ {
/*primary*/ public constructor C</*0*/ TC>()
public final inner class D</*0*/ TD> {
public final inner class D</*0*/ TD> /*captured type parameters: /*1*/ TC, /*2*/ TB, /*3*/ TA*/ {
/*primary*/ public constructor D</*0*/ TD>()
public final fun bar(/*0*/ ta: TA, /*1*/ tb: TB, /*2*/ tc: TC, /*3*/ td: TD): test.A<TA>.B<TB>.C<TC>.D<TD>
public final fun </*0*/ P1, /*1*/ P2, /*2*/ P3, /*3*/ P4> foo(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4): kotlin.Nothing
@@ -3,7 +3,7 @@ package test
public final class InnerClassReferencesOuterTP</*0*/ P> {
/*primary*/ public constructor InnerClassReferencesOuterTP</*0*/ P>()
public final inner class Inner</*0*/ Q : P> {
public final inner class Inner</*0*/ Q : P> /*captured type parameters: /*1*/ P*/ {
/*primary*/ public constructor Inner</*0*/ Q : P>()
}
}
@@ -3,7 +3,7 @@ package test
public final class MembersReferenceOuterTP</*0*/ P> {
/*primary*/ public constructor MembersReferenceOuterTP</*0*/ P>()
public final inner class Inner {
public final inner class Inner /*captured type parameters: /*0*/ P*/ {
/*primary*/ public constructor Inner()
public final val v: P
public final fun <get-v>(): P
@@ -5,7 +5,7 @@ public interface ReturnInnerSubclassOfSupersInner {
public open class Sub</*0*/ B : kotlin.Any!> : test.ReturnInnerSubclassOfSupersInner.Super<B!> {
public constructor Sub</*0*/ B : kotlin.Any!>()
public/*package*/ open inner class Inner : test.ReturnInnerSubclassOfSupersInner.Super<B!>.Inner {
public/*package*/ open inner class Inner /*captured type parameters: /*0*/ B : kotlin.Any!*/ : test.ReturnInnerSubclassOfSupersInner.Super<B!>.Inner {
public/*package*/ constructor Inner()
public/*package*/ open override /*1*/ fun get(): test.ReturnInnerSubclassOfSupersInner.Sub<B!>!
}
@@ -14,7 +14,7 @@ public interface ReturnInnerSubclassOfSupersInner {
public open class Super</*0*/ A : kotlin.Any!> {
public constructor Super</*0*/ A : kotlin.Any!>()
public/*package*/ open inner class Inner {
public/*package*/ open inner class Inner /*captured type parameters: /*0*/ A : kotlin.Any!*/ {
public/*package*/ constructor Inner()
public/*package*/ open fun get(): test.ReturnInnerSubclassOfSupersInner.Super<A!>!
}
@@ -574,14 +574,7 @@ internal class DescriptorRendererImpl(
if (!typeParameters.isEmpty()) {
builder.append(lt())
val iterator = typeParameters.iterator()
while (iterator.hasNext()) {
val typeParameterDescriptor = iterator.next()
renderTypeParameter(typeParameterDescriptor, builder, false)
if (iterator.hasNext()) {
builder.append(", ")
}
}
renderTypeParameterList(builder, typeParameters)
builder.append(gt())
if (withSpace) {
builder.append(" ")
@@ -589,6 +582,17 @@ internal class DescriptorRendererImpl(
}
}
private fun renderTypeParameterList(builder: StringBuilder, typeParameters: List<TypeParameterDescriptor>) {
val iterator = typeParameters.iterator()
while (iterator.hasNext()) {
val typeParameterDescriptor = iterator.next()
renderTypeParameter(typeParameterDescriptor, builder, false)
if (iterator.hasNext()) {
builder.append(", ")
}
}
}
/* FUNCTIONS */
private fun renderFunction(function: FunctionDescriptor, builder: StringBuilder) {
if (!startFromName) {
@@ -825,6 +829,14 @@ internal class DescriptorRendererImpl(
val typeParameters = klass.declaredTypeParameters
renderTypeParameters(typeParameters, builder, false)
if (verbose && klass.isInner && klass.typeConstructor.parameters.size > typeParameters.size) {
builder.append(" /*captured type parameters: ")
val constructorTypeParameters = klass.typeConstructor.parameters
renderTypeParameterList(
builder, constructorTypeParameters.subList(typeParameters.size, constructorTypeParameters.size))
builder.append("*/")
}
if (!klass.kind.isSingleton && classWithPrimaryConstructor) {
val primaryConstructor = klass.unsubstitutedPrimaryConstructor
if (primaryConstructor != null) {