FIR: make rendering of type parameters similar to original Kotlin

This commit is contained in:
Mikhail Glukhikh
2019-04-09 15:32:59 +03:00
parent 0c334163ab
commit 568e831651
178 changed files with 278 additions and 269 deletions
@@ -1,10 +1,10 @@
FILE: complexTypes.kt
<T, out S> public? final? class C : kotlin/Any {
public? final? class C<T, out S> : kotlin/Any {
public? constructor<T, out S>(): R|a/b/C<T, S>| {
super<kotlin/Any>()
}
<R, in P> public? final? inner class D : kotlin/Any {
public? final? inner class D<R, in P> : kotlin/Any {
public? constructor<R, in P>(): R|a/b/C.D<R, P>| {
super<kotlin/Any>()
}
@@ -1,5 +1,5 @@
FILE: derivedClass.kt
<T> public? open class Base : kotlin/Any {
public? open class Base<T> : kotlin/Any {
public? constructor<T>(x: T): R|Base<T>| {
super<kotlin/Any>()
}
@@ -8,12 +8,12 @@ FILE: derivedClass.kt
public? get(): T
}
<T : Any> public? final? class Derived : Base<T> {
public? final? class Derived<T : Any> : Base<T> {
public? constructor<T : Any>(x: T): R|Derived<T>| {
super<Base<T>>(x#)
}
}
<T : Any> public? final? fun create(x: T): Derived<T> {
public? final? fun <T : Any> create(x: T): Derived<T> {
^create Derived#(x#)
}
@@ -1,9 +1,9 @@
FILE: functionTypes.kt
<T> public? final? fun simpleRun(f: ( (T) -> Unit )): Unit {
public? final? fun <T> simpleRun(f: ( (T) -> Unit )): Unit {
^simpleRun f#()
}
<T, R> public? final? fun List<T>.simpleMap(f: ( (T) -> R )): R {
public? final? fun <T, R> List<T>.simpleMap(f: ( (T) -> R )): R {
}
<T> public? final? fun simpleWith(t: T, f: ( T.() -> Unit )): Unit {
public? final? fun <T> simpleWith(t: T, f: ( T.() -> Unit )): Unit {
^simpleWith t#.f#()
}
@@ -1,7 +1,7 @@
FILE: genericFunctions.kt
public? final? interface Any : kotlin/Any {
}
<reified T : Any> public? final? inline fun Any.safeAs(): T? {
public? final? inline fun <reified T : Any> Any.safeAs(): T? {
^safeAs (this# as? T)
}
public? abstract class Summator : kotlin/Any {
@@ -9,6 +9,6 @@ FILE: genericFunctions.kt
super<kotlin/Any>()
}
<T> public? abstract fun plus(first: T, second: T): T
public? abstract fun <T> plus(first: T, second: T): T
}
@@ -0,0 +1,3 @@
fun <T> genericFoo(): T = TODO()
val <T> T.generic: T get() = genericFoo()
@@ -0,0 +1,8 @@
FILE: genericProperty.kt
public? final? fun <T> genericFoo(): T {
^genericFoo TODO#()
}
public? final? val <T> T.generic: T
public? get(): T {
^ genericFoo#()
}
@@ -5,9 +5,9 @@ FILE: typeAliasWithGeneric.kt
}
}
<S, T : A> public? final? interface B : kotlin/Any {
public? final? interface B<S, T : A> : kotlin/Any {
}
<T> public? final typealias C = B<T, A>
public? final typealias C<T> = B<T, A>
public? final? class D : C<A> {
public? constructor(): R|D| {
super<kotlin/Any>()
@@ -1,7 +1,7 @@
FILE: typeParameterVsNested.kt
public? final? interface Some : kotlin/Any {
}
<T : Some> public? abstract class My : kotlin/Any {
public? abstract class My<T : Some> : kotlin/Any {
public? constructor<T : Some>(): R|test/My<T>| {
super<kotlin/Any>()
}
@@ -1,5 +1,5 @@
FILE: typeParameters.kt
<out T : Any> public? final? interface List : kotlin/Any {
public? final? interface List<out T : Any> : kotlin/Any {
public? final? operator fun get(index: Int): T
public? final? infix fun concat(other: List<T>): List<T>
@@ -7,7 +7,7 @@ FILE: typeParameters.kt
}
public? final typealias StringList = List<out String>
public? final typealias AnyList = List<*>
<out T : Any> public? abstract class AbstractList : List<T> {
public? abstract class AbstractList<out T : Any> : List<T> {
public? constructor<out T : Any>(): R|AbstractList<T>| {
super<kotlin/Any>()
}
@@ -3,7 +3,7 @@ FILE: where.kt
}
public? final? interface B : kotlin/Any {
}
<T : A, B> public? final? class C : kotlin/Any {
public? final? class C<T : A, B> : kotlin/Any {
public? constructor<T : A, B>(): R|C<T>| {
super<kotlin/Any>()
}
@@ -1,5 +1,5 @@
FILE: genericCalls.kt
<T> public? final? fun nullableValue(): T? {
public? final? fun <T> nullableValue(): T? {
^nullableValue Null(null)
}
public? final? fun test(): kotlin/Unit {
@@ -81,6 +81,11 @@ public class RawFirBuilderTestCaseGenerated extends AbstractRawFirBuilderTestCas
runTest("compiler/fir/psi2fir/testData/rawBuilder/declarations/genericFunctions.kt");
}
@TestMetadata("genericProperty.kt")
public void testGenericProperty() throws Exception {
runTest("compiler/fir/psi2fir/testData/rawBuilder/declarations/genericProperty.kt");
}
@TestMetadata("nestedClass.kt")
public void testNestedClass() throws Exception {
runTest("compiler/fir/psi2fir/testData/rawBuilder/declarations/nestedClass.kt");
+16 -16
View File
@@ -25,7 +25,7 @@ public abstract class CharIterator : R|kotlin/collections/Iterator<kotlin/Char>|
}
<E> public abstract interface Collection : R|kotlin/collections/Iterable<E>| {
public abstract interface Collection<E> : R|kotlin/collections/Iterable<E>| {
public abstract operator fun contains(element: R|E|): R|kotlin/Boolean|
public abstract fun containsAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
@@ -63,19 +63,19 @@ public abstract class IntIterator : R|kotlin/collections/Iterator<kotlin/Int>| {
}
<T> public abstract interface Iterable : R|kotlin/Any| {
public abstract interface Iterable<T> : R|kotlin/Any| {
public abstract operator fun iterator(): R|kotlin/collections/Iterator<T>|
}
<T> public abstract interface Iterator : R|kotlin/Any| {
public abstract interface Iterator<T> : R|kotlin/Any| {
public abstract operator fun hasNext(): R|kotlin/Boolean|
public abstract operator fun next(): R|T|
}
<E> public abstract interface List : R|kotlin/collections/Collection<E>| {
public abstract interface List<E> : R|kotlin/collections/Collection<E>| {
public abstract operator fun contains(element: R|E|): R|kotlin/Boolean|
public abstract fun containsAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
@@ -98,7 +98,7 @@ public abstract class IntIterator : R|kotlin/collections/Iterator<kotlin/Int>| {
}
<T> public abstract interface ListIterator : R|kotlin/collections/Iterator<T>| {
public abstract interface ListIterator<T> : R|kotlin/collections/Iterator<T>| {
public abstract operator fun hasNext(): R|kotlin/Boolean|
public abstract fun hasPrevious(): R|kotlin/Boolean|
@@ -122,7 +122,7 @@ public abstract class LongIterator : R|kotlin/collections/Iterator<kotlin/Long>|
}
<K, V> public abstract interface Map : R|kotlin/Any| {
public abstract interface Map<K, V> : R|kotlin/Any| {
public abstract fun containsKey(key: R|K|): R|kotlin/Boolean|
public abstract fun containsValue(value: R|V|): R|kotlin/Boolean|
@@ -133,12 +133,12 @@ public abstract class LongIterator : R|kotlin/collections/Iterator<kotlin/Long>|
public abstract fun isEmpty(): R|kotlin/Boolean|
<K, V> public abstract interface Entry : R|kotlin/Any| {
public abstract interface Entry<K, V> : R|kotlin/Any| {
}
}
<E> public abstract interface MutableCollection : R|kotlin/collections/Collection<E>|, R|kotlin/collections/MutableIterable<E>| {
public abstract interface MutableCollection<E> : R|kotlin/collections/Collection<E>|, R|kotlin/collections/MutableIterable<E>| {
public abstract fun add(element: R|E|): R|kotlin/Boolean|
public abstract fun addAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
@@ -155,17 +155,17 @@ public abstract class LongIterator : R|kotlin/collections/Iterator<kotlin/Long>|
}
<T> public abstract interface MutableIterable : R|kotlin/collections/Iterable<T>| {
public abstract interface MutableIterable<T> : R|kotlin/collections/Iterable<T>| {
public abstract operator fun iterator(): R|kotlin/collections/MutableIterator<T>|
}
<T> public abstract interface MutableIterator : R|kotlin/collections/Iterator<T>| {
public abstract interface MutableIterator<T> : R|kotlin/collections/Iterator<T>| {
public abstract fun remove(): R|kotlin/Unit|
}
<E> public abstract interface MutableList : R|kotlin/collections/List<E>|, R|kotlin/collections/MutableCollection<E>| {
public abstract interface MutableList<E> : R|kotlin/collections/List<E>|, R|kotlin/collections/MutableCollection<E>| {
public abstract fun add(element: R|E|): R|kotlin/Boolean|
public abstract fun add(index: R|kotlin/Int|, element: R|E|): R|kotlin/Unit|
@@ -194,7 +194,7 @@ public abstract class LongIterator : R|kotlin/collections/Iterator<kotlin/Long>|
}
<T> public abstract interface MutableListIterator : R|kotlin/collections/ListIterator<T>|, R|kotlin/collections/MutableIterator<T>| {
public abstract interface MutableListIterator<T> : R|kotlin/collections/ListIterator<T>|, R|kotlin/collections/MutableIterator<T>| {
public abstract fun add(element: R|T|): R|kotlin/Unit|
public abstract operator fun hasNext(): R|kotlin/Boolean|
@@ -207,7 +207,7 @@ public abstract class LongIterator : R|kotlin/collections/Iterator<kotlin/Long>|
}
<K, V> public abstract interface MutableMap : R|kotlin/collections/Map<K, V>| {
public abstract interface MutableMap<K, V> : R|kotlin/collections/Map<K, V>| {
public abstract fun clear(): R|kotlin/Unit|
public abstract fun put(key: R|K|, value: R|V|): R|V|
@@ -218,14 +218,14 @@ public abstract class LongIterator : R|kotlin/collections/Iterator<kotlin/Long>|
public open fun remove(key: R|K|, value: R|V|): R|kotlin/Boolean|
<K, V> public abstract interface MutableEntry : R|kotlin/collections/Map.Entry<K, V>| {
public abstract interface MutableEntry<K, V> : R|kotlin/collections/Map.Entry<K, V>| {
public abstract fun setValue(newValue: R|V|): R|V|
}
}
<E> public abstract interface MutableSet : R|kotlin/collections/Set<E>|, R|kotlin/collections/MutableCollection<E>| {
public abstract interface MutableSet<E> : R|kotlin/collections/Set<E>|, R|kotlin/collections/MutableCollection<E>| {
public abstract fun add(element: R|E|): R|kotlin/Boolean|
public abstract fun addAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
@@ -242,7 +242,7 @@ public abstract class LongIterator : R|kotlin/collections/Iterator<kotlin/Long>|
}
<E> public abstract interface Set : R|kotlin/collections/Collection<E>| {
public abstract interface Set<E> : R|kotlin/collections/Collection<E>| {
public abstract operator fun contains(element: R|E|): R|kotlin/Boolean|
public abstract fun containsAll(elements: R|kotlin/collections/Collection<E>|): R|kotlin/Boolean|
+1 -1
View File
@@ -49,7 +49,7 @@ public final class CharRange : R|kotlin/ranges/CharProgression|, R|kotlin/ranges
}
<T> public abstract interface ClosedRange : R|kotlin/Any| {
public abstract interface ClosedRange<T> : R|kotlin/Any| {
public open operator fun contains(value: R|T|): R|kotlin/Boolean|
public open fun isEmpty(): R|kotlin/Boolean|
+9 -9
View File
@@ -1,6 +1,6 @@
<T> public final inline fun arrayOf(vararg elements: R|kotlin/Array<out T>|): R|kotlin/Array<T>|
public final inline fun <T> arrayOf(vararg elements: R|kotlin/Array<out T>|): R|kotlin/Array<T>|
<T> public final fun arrayOfNulls(size: R|kotlin/Int|): R|kotlin/Array<T>|
public final fun <T> arrayOfNulls(size: R|kotlin/Int|): R|kotlin/Array<T>|
public final fun booleanArrayOf(vararg elements: R|kotlin/BooleanArray|): R|kotlin/BooleanArray|
@@ -10,11 +10,11 @@ public final fun charArrayOf(vararg elements: R|kotlin/CharArray|): R|kotlin/Cha
public final fun doubleArrayOf(vararg elements: R|kotlin/DoubleArray|): R|kotlin/DoubleArray|
<T> public final inline fun emptyArray(): R|kotlin/Array<T>|
public final inline fun <T> emptyArray(): R|kotlin/Array<T>|
<T> public final inline fun enumValueOf(name: R|kotlin/String|): R|T|
public final inline fun <T> enumValueOf(name: R|kotlin/String|): R|T|
<T> public final inline fun enumValues(): R|kotlin/Array<T>|
public final inline fun <T> enumValues(): R|kotlin/Array<T>|
public final fun floatArrayOf(vararg elements: R|kotlin/FloatArray|): R|kotlin/FloatArray|
@@ -42,7 +42,7 @@ public open class Any {
}
<T> public final class Array : R|kotlin/Any| {
public final class Array<T> : R|kotlin/Any| {
public final operator fun get(index: R|kotlin/Int|): R|T|
public final operator fun iterator(): R|kotlin/collections/Iterator<T>|
@@ -286,7 +286,7 @@ public abstract interface Cloneable : R|kotlin/Any| {
}
<T> public abstract interface Comparable : R|kotlin/Any| {
public abstract interface Comparable<T> : R|kotlin/Any| {
public abstract operator fun compareTo(other: R|T|): R|kotlin/Int|
}
@@ -435,7 +435,7 @@ public final annotation class DslMarker : R|kotlin/Annotation| {
}
<E> public abstract class Enum : R|kotlin/Comparable<E>| {
public abstract class Enum<E> : R|kotlin/Comparable<E>| {
protected final fun clone(): R|kotlin/Any|
public final operator fun compareTo(other: R|E|): R|kotlin/Int|
@@ -589,7 +589,7 @@ public final class FloatArray : R|kotlin/Any| {
}
<R> public abstract interface Function : R|kotlin/Any| {
public abstract interface Function<R> : R|kotlin/Any| {
}
public final class Int : R|kotlin/Number|, R|kotlin/Comparable<kotlin/Int>| {
@@ -4,7 +4,7 @@ public open class A : R|java/lang/Object| {
public open operator fun bar(@R|kotlin/annotations/jvm/internal/DefaultNull|() x: R|kotlin/Int| = Null(null)): R|kotlin/Unit|
}
<T> public open class B : R|java/lang/Object| {
public open class B<T> : R|java/lang/Object| {
public open operator fun foo(@R|kotlin/annotations/jvm/internal/DefaultNull|() t: R|ft<T, T?>|! = Null(null)): R|kotlin/Unit|
}
@@ -16,15 +16,15 @@ public final annotation class Ann : R|kotlin/Annotation| {
}
<T> public final class Generic : R|kotlin/Any| {
public final class Generic<T> : R|kotlin/Any| {
public constructor(): R|test/Generic<T>|
}
<A, B> public final class InnerGeneric : R|kotlin/Any| {
public final class InnerGeneric<A, B> : R|kotlin/Any| {
public constructor(): R|test/InnerGeneric<A, B>|
<C, D> public final inner class Inner : R|kotlin/Any| {
public final inner class Inner<C, D> : R|kotlin/Any| {
public constructor(): R|test/InnerGeneric.Inner<C, D>|
}
@@ -6,7 +6,7 @@ public final annotation class A : R|kotlin/Annotation| {
}
public final class TypeParameterAnnotation : R|kotlin/Any| {
<T> public final fun foo(x: R|T|): R|kotlin/Unit|
public final fun <T> foo(x: R|T|): R|kotlin/Unit|
public constructor(): R|test/TypeParameterAnnotation|
@@ -3,7 +3,7 @@ public final annotation class A : R|kotlin/Annotation| {
}
<T> public abstract interface Foo : R|java/io/Serializable| {
<E, F> public abstract fun bar(): R|kotlin/Unit|
public abstract interface Foo<T> : R|java/io/Serializable| {
public abstract fun <E, F> bar(): R|kotlin/Unit|
}
@@ -4,7 +4,7 @@ public final annotation class A : R|kotlin/Annotation| {
}
public final class SimpleTypeParameterAnnotation : R|kotlin/Any| {
<T> public final fun foo(x: R|T|): R|kotlin/Unit|
public final fun <T> foo(x: R|T|): R|kotlin/Unit|
public constructor(): R|test/SimpleTypeParameterAnnotation|
@@ -4,7 +4,7 @@ public final annotation class A : R|kotlin/Annotation| {
}
public final class SimpleTypeParameterAnnotation : R|kotlin/Any| {
<T> public final fun foo(x: R|T|): R|kotlin/Unit|
public final fun <T> foo(x: R|T|): R|kotlin/Unit|
public constructor(): R|test/SimpleTypeParameterAnnotation|
@@ -1,4 +1,4 @@
<T> public final class Wine : R|kotlin/Any| {
public final class Wine<T> : R|kotlin/Any| {
public constructor(): R|test/Wine<T>|
}
@@ -1,4 +1,4 @@
<test> public final class ConstructorTypeParamClassObjectConflict : R|kotlin/Any| {
public final class ConstructorTypeParamClassObjectConflict<test> : R|kotlin/Any| {
public constructor(): R|test/ConstructorTypeParamClassObjectConflict<test>|
public final companion object Companion : R|kotlin/Any| {
@@ -8,7 +8,7 @@
}
<test> public final class ConstructorTypeParamClassObjectTypeConflict : R|kotlin/Any| {
public final class ConstructorTypeParamClassObjectTypeConflict<test> : R|kotlin/Any| {
public constructor(): R|test/ConstructorTypeParamClassObjectTypeConflict<test>|
public final companion object Companion : R|kotlin/Any| {
@@ -1,4 +1,4 @@
<T> public final class Juice : R|kotlin/Any| {
public final class Juice<T> : R|kotlin/Any| {
public constructor(): R|test/Juice<T>|
}
@@ -1,4 +1,4 @@
<T> public final class Beer : R|kotlin/Any| {
public final class Beer<T> : R|kotlin/Any| {
public constructor(): R|test/Beer<T>|
}
@@ -1,4 +1,4 @@
<A, B> public final class ClassParamReferencesParam : R|kotlin/Any| {
public final class ClassParamReferencesParam<A, B> : R|kotlin/Any| {
public constructor(): R|test/ClassParamReferencesParam<A, B>|
}
@@ -1,4 +1,4 @@
<A, B> public final class ClassParamReferencesParam : R|kotlin/Any| {
public final class ClassParamReferencesParam<A, B> : R|kotlin/Any| {
public constructor(): R|test/ClassParamReferencesParam<A, B>|
}
@@ -1,7 +1,7 @@
<A> public final class ClassParamReferencesSelf : R|kotlin/Any| {
public final class ClassParamReferencesSelf<A> : R|kotlin/Any| {
public constructor(): R|test/ClassParamReferencesSelf<A>|
}
<P> public abstract interface TraitWithP : R|kotlin/Any| {
public abstract interface TraitWithP<P> : R|kotlin/Any| {
}
@@ -1,4 +1,4 @@
<A> public final class Clock : R|kotlin/Any| {
public final class Clock<A> : R|kotlin/Any| {
public constructor(): R|test/Clock<A>|
}
@@ -1,4 +1,4 @@
<A> public final class Clock : R|kotlin/Any| {
public final class Clock<A> : R|kotlin/Any| {
public constructor(): R|test/Clock<A>|
}
@@ -1,4 +1,4 @@
<A> public final class Clock : R|kotlin/Any| {
public final class Clock<A> : R|kotlin/Any| {
public constructor(): R|test/Clock<A>|
}
@@ -1,4 +1,4 @@
<P, Q> public final class ClassTwoParams : R|kotlin/Any| {
public final class ClassTwoParams<P, Q> : R|kotlin/Any| {
public constructor(): R|test/ClassTwoParams<P, Q>|
}
@@ -1,4 +1,4 @@
<P, Q> public final class ClassTwoParams : R|kotlin/Any| {
public final class ClassTwoParams<P, Q> : R|kotlin/Any| {
public constructor(): R|test/ClassTwoParams<P, Q>|
}
@@ -1,4 +1,4 @@
<P> public abstract class Aaa : R|kotlin/Any| {
public abstract class Aaa<P> : R|kotlin/Any| {
public constructor(): R|test/Aaa<P>|
}
@@ -1,4 +1,4 @@
<T> public abstract interface A : R|kotlin/Any| {
public abstract interface A<T> : R|kotlin/Any| {
public abstract fun bar(): R|T|
public open fun foo(): R|T|
@@ -1,4 +1,4 @@
<P> public abstract interface Aaa : R|kotlin/Any| {
public abstract interface Aaa<P> : R|kotlin/Any| {
}
public final class Bbb : R|test/Aaa<java/util/Random>| {
@@ -1,7 +1,7 @@
public final class Outer : R|kotlin/Any| {
public constructor(): R|test/Outer|
<T> public final inner class Inner : R|kotlin/Any| {
public final inner class Inner<T> : R|kotlin/Any| {
public constructor(): R|test/Outer.Inner<T>|
}
@@ -1,12 +1,12 @@
<E, F> public final class Outer : R|kotlin/Any| {
public final class Outer<E, F> : R|kotlin/Any| {
public final fun bar(x: R|test/Outer.Inner2<kotlin/String, kotlin/Double>|, y: R|test/Outer.Inner2<E, F>|): R|kotlin/Unit|
public constructor(): R|test/Outer<E, F>|
<G, H> public final inner class Inner : R|kotlin/Any| {
public final inner class Inner<G, H> : R|kotlin/Any| {
public constructor(): R|test/Outer.Inner<G, H>|
<I> public final inner class Inner3 : R|kotlin/Any| {
public final inner class Inner3<I> : R|kotlin/Any| {
public final fun foo(x: R|test/Outer.Inner<G, kotlin/Int, kotlin/String, F>|, y: R|test/Outer.Inner<E, kotlin/Double, E, F>|, z: R|test/Outer.Inner.Inner3<kotlin/Double, G, kotlin/Int, kotlin/String, F>|, w: R|test/Outer.Inner.Inner3<*, G, H, E, F>|): R|kotlin/Unit|
public constructor(): R|test/Outer.Inner.Inner3<I>|
@@ -1,7 +1,7 @@
public final class Outer : R|kotlin/Any| {
public constructor(): R|test/Outer|
<T> public final class Nested : R|kotlin/Any| {
public final class Nested<T> : R|kotlin/Any| {
public constructor(): R|test/Outer.Nested<T>|
}
@@ -1,4 +1,4 @@
<R, T> public abstract interface Rec : R|kotlin/Any| {
public abstract interface Rec<R, T> : R|kotlin/Any| {
public abstract fun t(): R|T|
}
@@ -1,4 +1,4 @@
<P> public open class JavaBeanVarOfGenericType : R|kotlin/Any| {
public open class JavaBeanVarOfGenericType<P> : R|kotlin/Any| {
public open fun getCharacters(): R|java/util/ArrayList<P>|?
public open fun setCharacters(p0: R|java/util/ArrayList<P>|?): R|kotlin/Unit|
@@ -1,4 +1,4 @@
<T> public final class ClassParamUsedInFun : R|kotlin/Any| {
public final class ClassParamUsedInFun<T> : R|kotlin/Any| {
public final fun f(t: R|T|): R|kotlin/Int|
public constructor(): R|test/ClassParamUsedInFun<T>|
@@ -1,4 +1,4 @@
<T> public final class ClassParamUsedInFun : R|kotlin/Any| {
public final class ClassParamUsedInFun<T> : R|kotlin/Any| {
public final fun f(t: R|T|): R|kotlin/Int|
public constructor(): R|test/ClassParamUsedInFun<T>|
@@ -1,4 +1,4 @@
<T> public open class Base : R|kotlin/Any| {
public open class Base<T> : R|kotlin/Any| {
public final fun foo(): R|T|
public constructor(): R|test/Base<T>|
@@ -1,4 +1,4 @@
<P> public abstract interface Bbb : R|kotlin/Any| {
public abstract interface Bbb<P> : R|kotlin/Any| {
}
public final class ClassObjectExtendsTraitWithTP : R|kotlin/Any| {
@@ -1,4 +1,4 @@
<P, Q> public final class ClassWithConstructorAndTypeParameter : R|kotlin/Any| {
public final class ClassWithConstructorAndTypeParameter<P, Q> : R|kotlin/Any| {
public constructor(): R|test/ClassWithConstructorAndTypeParameter<P, Q>|
}
@@ -1,4 +1,4 @@
<P, Q> public final class ClassWithConstructorAndTypeParameter : R|kotlin/Any| {
public final class ClassWithConstructorAndTypeParameter<P, Q> : R|kotlin/Any| {
public constructor(q: R|kotlin/Int|): R|test/ClassWithConstructorAndTypeParameter<P, Q>|
}
@@ -1,4 +1,4 @@
<P, Q> public final class ClassWithConstructorAndTypeParameter : R|kotlin/Any| {
public final class ClassWithConstructorAndTypeParameter<P, Q> : R|kotlin/Any| {
public constructor(q: R|Q|): R|test/ClassWithConstructorAndTypeParameter<P, Q>|
}
@@ -1,4 +1,4 @@
<P> public final class ClassWithConstructorAndTypeParameter : R|kotlin/Any| {
public final class ClassWithConstructorAndTypeParameter<P> : R|kotlin/Any| {
public constructor(): R|test/ClassWithConstructorAndTypeParameter<P>|
}
@@ -1,4 +1,4 @@
<P, Q> public final class OneTypeParameterErased : R|kotlin/Any| {
public final class OneTypeParameterErased<P, Q> : R|kotlin/Any| {
public constructor(q: R|Q|): R|test/OneTypeParameterErased<P, Q>|
}
@@ -1,4 +1,4 @@
<P> public final class ClassWithTypeP : R|kotlin/Any| {
public final class ClassWithTypeP<P> : R|kotlin/Any| {
public constructor(): R|test/ClassWithTypeP<P>|
}
@@ -1,4 +1,4 @@
<P> public abstract class ClassWithTypePExtendsIterableP : R|kotlin/collections/MutableIterable<P>| {
public abstract class ClassWithTypePExtendsIterableP<P> : R|kotlin/collections/MutableIterable<P>| {
public constructor(): R|test/ClassWithTypePExtendsIterableP<P>|
}
@@ -1,4 +1,4 @@
<P, Q> public final class ClassWithTypePP : R|kotlin/Any| {
public final class ClassWithTypePP<P, Q> : R|kotlin/Any| {
public constructor(): R|test/ClassWithTypePP<P, Q>|
}
@@ -1,4 +1,4 @@
<R, P> public open class ClassWithTypePRefNext : R|kotlin/Any| {
public open class ClassWithTypePRefNext<R, P> : R|kotlin/Any| {
public constructor(): R|test/ClassWithTypePRefNext<R, P>|
}
@@ -1,4 +1,4 @@
<P> public final class ClassWithTypePRefSelf : R|kotlin/Any| {
public final class ClassWithTypePRefSelf<P> : R|kotlin/Any| {
public constructor(): R|test/ClassWithTypePRefSelf<P>|
}
@@ -1,4 +1,4 @@
<P> public final class ClassWithTypePRefSelfAndClass : R|kotlin/Any| {
public final class ClassWithTypePRefSelfAndClass<P> : R|kotlin/Any| {
public constructor(): R|test/ClassWithTypePRefSelfAndClass<P>|
}
@@ -1 +1 @@
<T> public final fun foo(t: R|T|): R|T|
public final fun <T> foo(t: R|T|): R|T|
@@ -4,14 +4,14 @@ public final class InheritMethodsDifferentReturnTypesGeneric : R|kotlin/Any| {
public abstract interface Sub : R|test/InheritMethodsDifferentReturnTypesGeneric.Super1<kotlin/String, kotlin/CharSequence>|, R|test/InheritMethodsDifferentReturnTypesGeneric.Super2<kotlin/CharSequence, kotlin/String>| {
}
<F, B> public abstract interface Super1 : R|kotlin/Any| {
public abstract interface Super1<F, B> : R|kotlin/Any| {
public abstract fun bar(): R|B|
public abstract fun foo(): R|F|
}
<FF, BB> public abstract interface Super2 : R|kotlin/Any| {
public abstract interface Super2<FF, BB> : R|kotlin/Any| {
public abstract fun bar(): R|BB|
public abstract fun foo(): R|FF|
@@ -1,5 +1,5 @@
public open class MethodTypePOneUpperBound : R|kotlin/Any| {
<T> public open fun bar(): R|kotlin/Unit|
public open fun <T> bar(): R|kotlin/Unit|
public constructor(): R|test/MethodTypePOneUpperBound|
@@ -1,5 +1,5 @@
public open class MethodTypePTwoUpperBounds : R|kotlin/Any| {
<T> public open fun foo(): R|kotlin/Unit|
public open fun <T> foo(): R|kotlin/Unit|
public constructor(): R|test/MethodTypePTwoUpperBounds|
@@ -1,5 +1,5 @@
public final class MethodWithTypeP : R|kotlin/Any| {
<P> public final fun f(): R|kotlin/Unit|
public final fun <P> f(): R|kotlin/Unit|
public constructor(): R|test/MethodWithTypeP|
@@ -1,5 +1,5 @@
public final class MethodWithTypePP : R|kotlin/Any| {
<P, Q> public final fun f(): R|kotlin/Unit|
public final fun <P, Q> f(): R|kotlin/Unit|
public constructor(): R|test/MethodWithTypePP|
@@ -1,5 +1,5 @@
<P> public open class MethodWithTypePRefClassP : R|kotlin/Any| {
<Q> public final fun f(): R|kotlin/Unit|
public open class MethodWithTypePRefClassP<P> : R|kotlin/Any| {
public final fun <Q> f(): R|kotlin/Unit|
public constructor(): R|test/MethodWithTypePRefClassP<P>|
@@ -1,5 +1,5 @@
public final class MethosWithPRefTP : R|kotlin/Any| {
<P> public final fun f(p0: R|P|): R|kotlin/Unit|
public final fun <P> f(p0: R|P|): R|kotlin/Unit|
public constructor(): R|test/MethosWithPRefTP|
@@ -3,7 +3,7 @@ public final class UnboundWildcard : R|kotlin/Any| {
public constructor(): R|test/UnboundWildcard|
<T> public abstract interface MyClass : R|kotlin/Any| {
public abstract interface MyClass<T> : R|kotlin/Any| {
}
}
@@ -1,5 +1,5 @@
public open class AllBoundsInWhen : R|kotlin/Any| {
<T> public open fun foo(): R|kotlin/Unit|
public open fun <T> foo(): R|kotlin/Unit|
public constructor(): R|test/AllBoundsInWhen|
@@ -1,4 +1,4 @@
<T> public open class ConstructorWithNewTypeParams : R|kotlin/Any| {
public open class ConstructorWithNewTypeParams<T> : R|kotlin/Any| {
public constructor(first: R|kotlin/Any|): R|test/ConstructorWithNewTypeParams<T>|
}
@@ -1,4 +1,4 @@
<T> public open class ConstructorWithParentTypeParams : R|kotlin/Any| {
public open class ConstructorWithParentTypeParams<T> : R|kotlin/Any| {
public constructor(first: R|T|): R|test/ConstructorWithParentTypeParams<T>|
}
@@ -1,5 +1,5 @@
public open class MethodWithMappedClasses : R|kotlin/Any| {
<T> public open fun copy(dest: R|kotlin/collections/MutableList<in T>|, src: R|kotlin/collections/List<T>|): R|kotlin/Unit|
public open fun <T> copy(dest: R|kotlin/collections/MutableList<in T>|, src: R|kotlin/collections/List<T>|): R|kotlin/Unit|
public constructor(): R|test/MethodWithMappedClasses|
@@ -1,5 +1,5 @@
public open class MethodWithTypeParameters : R|kotlin/Any| {
<A, B> public open fun foo(a: R|A|, b: R|kotlin/collections/List<B>|, c: R|kotlin/collections/MutableList<in kotlin/String>|): R|kotlin/Unit|
public open fun <A, B> foo(a: R|A|, b: R|kotlin/collections/List<B>|, c: R|kotlin/collections/MutableList<in kotlin/String>|): R|kotlin/Unit|
public constructor(): R|test/MethodWithTypeParameters|
@@ -1,4 +1,4 @@
<T> public open class PropertyArrayTypes : R|kotlin/Any| {
public open class PropertyArrayTypes<T> : R|kotlin/Any| {
public constructor(): R|test/PropertyArrayTypes<T>|
}
@@ -1,4 +1,4 @@
<T> public open class PropertyComplexTypes : R|kotlin/Any| {
public open class PropertyComplexTypes<T> : R|kotlin/Any| {
public constructor(): R|test/PropertyComplexTypes<T>|
}
@@ -3,7 +3,7 @@ public final class StarProjection : R|kotlin/Any| {
public constructor(): R|test/StarProjection|
<T> public abstract interface MyClass : R|kotlin/Any| {
public abstract interface MyClass<T> : R|kotlin/Any| {
}
}
@@ -1,5 +1,5 @@
public open class ExtraUpperBound : R|kotlin/Any| {
<A> public open fun foo(): R|kotlin/String|?
public open fun <A> foo(): R|kotlin/String|?
public constructor(): R|test/ExtraUpperBound|
@@ -1,5 +1,5 @@
public open class MissingUpperBound : R|kotlin/Any| {
<A> public open fun foo(): R|kotlin/String|?
public open fun <A> foo(): R|kotlin/String|?
public constructor(): R|test/MissingUpperBound|
@@ -1,5 +1,5 @@
public open class WrongTypeParameterBoundStructure1 : R|kotlin/Any| {
<A, B> public open fun foo(p0: R|A|, p1: R|kotlin/collections/List<B>|?): R|kotlin/Unit|
public open fun <A, B> foo(p0: R|A|, p1: R|kotlin/collections/List<B>|?): R|kotlin/Unit|
public constructor(): R|test/WrongTypeParameterBoundStructure1|
@@ -1,5 +1,5 @@
public open class WrongTypeParameterBoundStructure2 : R|kotlin/Any| {
<A, B> public open fun foo(p0: R|A|, p1: R|kotlin/collections/List<B>|?): R|kotlin/Unit|
public open fun <A, B> foo(p0: R|A|, p1: R|kotlin/collections/List<B>|?): R|kotlin/Unit|
public constructor(): R|test/WrongTypeParameterBoundStructure2|
@@ -1,5 +1,5 @@
public open class WrongTypeParametersCount : R|kotlin/Any| {
<A, B> public open fun foo(p0: R|A|, p1: R|kotlin/collections/List<B>|?): R|kotlin/Unit|
public open fun <A, B> foo(p0: R|A|, p1: R|kotlin/collections/List<B>|?): R|kotlin/Unit|
public constructor(): R|test/WrongTypeParametersCount|
@@ -1,5 +1,5 @@
public abstract interface DeeplySubstitutedClassParameter : R|kotlin/Any| {
<E> public abstract interface Middle : R|test/DeeplySubstitutedClassParameter.Super<E>| {
public abstract interface Middle<E> : R|test/DeeplySubstitutedClassParameter.Super<E>| {
public abstract fun foo(t: R|E|): R|kotlin/Unit|
}
@@ -9,7 +9,7 @@ public abstract interface DeeplySubstitutedClassParameter : R|kotlin/Any| {
}
<T> public abstract interface Super : R|kotlin/Any| {
public abstract interface Super<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(t: R|T|): R|kotlin/Unit|
@@ -1,5 +1,5 @@
public abstract interface DeeplySubstitutedClassParameter2 : R|kotlin/Any| {
<E> public abstract interface Middle : R|test/DeeplySubstitutedClassParameter2.Super<E>| {
public abstract interface Middle<E> : R|test/DeeplySubstitutedClassParameter2.Super<E>| {
}
public abstract interface Sub : R|test/DeeplySubstitutedClassParameter2.Middle<kotlin/String>| {
@@ -7,7 +7,7 @@ public abstract interface DeeplySubstitutedClassParameter2 : R|kotlin/Any| {
}
<T> public abstract interface Super : R|kotlin/Any| {
public abstract interface Super<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(t: R|T|): R|kotlin/Unit|
@@ -11,7 +11,7 @@ public abstract interface Kt3302 : R|kotlin/Any| {
}
<K, V> public abstract interface LinkedHashMap : R|kotlin/Any| {
public abstract interface LinkedHashMap<K, V> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun put(key: R|K|, value: R|V|): R|V|
@@ -1,10 +1,10 @@
public abstract interface OverrideWithErasedParameter : R|kotlin/Any| {
<T> public abstract interface Sub : R|test/OverrideWithErasedParameter.Super<T>| {
public abstract interface Sub<T> : R|test/OverrideWithErasedParameter.Super<T>| {
public abstract fun foo(p0: R|T|): R|kotlin/Unit|
}
<T> public abstract interface Super : R|kotlin/Any| {
public abstract interface Super<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(p0: R|T|): R|kotlin/Unit|
@@ -1,5 +1,5 @@
public abstract interface SubclassFromGenericAndNot : R|kotlin/Any| {
<T> public abstract interface Generic : R|kotlin/Any| {
public abstract interface Generic<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(key: R|T|): R|kotlin/Unit|
@@ -4,7 +4,7 @@ public abstract interface SubstitutedClassParameter : R|kotlin/Any| {
}
<T> public abstract interface Super : R|kotlin/Any| {
public abstract interface Super<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(t: R|T|): R|kotlin/Unit|
@@ -4,14 +4,14 @@ public abstract interface SubstitutedClassParameters : R|kotlin/Any| {
}
<T> public abstract interface Super1 : R|kotlin/Any| {
public abstract interface Super1<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(t: R|T|): R|kotlin/Unit|
}
<E> public abstract interface Super2 : R|kotlin/Any| {
public abstract interface Super2<E> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(t: R|E|): R|kotlin/Unit|
@@ -1,5 +1,5 @@
public abstract interface DeeplySubstitutedClassParameter : R|kotlin/Any| {
<E> public abstract interface Middle : R|test/DeeplySubstitutedClassParameter.Super<E>| {
public abstract interface Middle<E> : R|test/DeeplySubstitutedClassParameter.Super<E>| {
public abstract fun foo(): R|E|
}
@@ -9,7 +9,7 @@ public abstract interface DeeplySubstitutedClassParameter : R|kotlin/Any| {
}
<T> public abstract interface Super : R|kotlin/Any| {
public abstract interface Super<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(): R|T|
@@ -1,5 +1,5 @@
public abstract interface DeeplySubstitutedClassParameter2 : R|kotlin/Any| {
<E> public abstract interface Middle : R|test/DeeplySubstitutedClassParameter2.Super<E>| {
public abstract interface Middle<E> : R|test/DeeplySubstitutedClassParameter2.Super<E>| {
}
public abstract interface Sub : R|test/DeeplySubstitutedClassParameter2.Middle<kotlin/String>| {
@@ -7,7 +7,7 @@ public abstract interface DeeplySubstitutedClassParameter2 : R|kotlin/Any| {
}
<T> public abstract interface Super : R|kotlin/Any| {
public abstract interface Super<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(): R|T|
@@ -11,7 +11,7 @@ public abstract interface HalfSubstitutedTypeParameters : R|kotlin/Any| {
}
<X, E> public abstract interface TrickyList : R|kotlin/collections/MutableList<E>| {
public abstract interface TrickyList<X, E> : R|kotlin/collections/MutableList<E>| {
}
}
@@ -1,5 +1,5 @@
public abstract interface SubclassFromGenericAndNot : R|kotlin/Any| {
<T> public abstract interface Generic : R|kotlin/Any| {
public abstract interface Generic<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(): R|T|
@@ -1,4 +1,4 @@
<E> public abstract interface SubclassOfCollection : R|kotlin/collections/MutableCollection<E>| {
public abstract interface SubclassOfCollection<E> : R|kotlin/collections/MutableCollection<E>| {
public abstract operator fun iterator(): R|kotlin/collections/MutableIterator<E>|
}
@@ -1,4 +1,4 @@
<K, V> public abstract interface SubclassOfMapEntry : R|kotlin/collections/MutableMap.MutableEntry<K, V>| {
public abstract interface SubclassOfMapEntry<K, V> : R|kotlin/collections/MutableMap.MutableEntry<K, V>| {
public abstract fun setValue(value: R|V|): R|V|
}
@@ -4,7 +4,7 @@ public abstract interface SubstitutedClassParameter : R|kotlin/Any| {
}
<T> public abstract interface Super : R|kotlin/Any| {
public abstract interface Super<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(): R|T|
@@ -4,14 +4,14 @@ public abstract interface SubstitutedClassParameters : R|kotlin/Any| {
}
<T> public abstract interface Super1 : R|kotlin/Any| {
public abstract interface Super1<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(): R|T|
}
<E> public abstract interface Super2 : R|kotlin/Any| {
public abstract interface Super2<E> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(): R|E|
@@ -1,10 +1,10 @@
public abstract interface TypeParamOfClass : R|kotlin/Any| {
<T> public abstract interface Sub : R|test/TypeParamOfClass.Super<T>| {
public abstract interface Sub<T> : R|test/TypeParamOfClass.Super<T>| {
public abstract fun foo(): R|T|
}
<T> public abstract interface Super : R|kotlin/Any| {
public abstract interface Super<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(): R|T|
@@ -4,7 +4,7 @@ public abstract interface TypeParamOfClassSubstituted : R|kotlin/Any| {
}
<T> public abstract interface Super : R|kotlin/Any| {
public abstract interface Super<T> : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
public abstract fun foo(): R|T|
@@ -1,13 +1,13 @@
public abstract interface TypeParamOfFun : R|kotlin/Any| {
public abstract interface Sub : R|test/TypeParamOfFun.Super| {
<E> public abstract fun foo(): R|E|
public abstract fun <E> foo(): R|E|
}
public abstract interface Super : R|kotlin/Any| {
public abstract fun dummy(): R|kotlin/Unit|
<T> public abstract fun foo(): R|T|
public abstract fun <T> foo(): R|T|
}
@@ -1,11 +1,11 @@
public abstract interface InheritMutability : R|kotlin/Any| {
public abstract interface Sub : R|test/InheritMutability.Super| {
<B> public abstract fun foo(a: R|B|): R|kotlin/Unit|
public abstract fun <B> foo(a: R|B|): R|kotlin/Unit|
}
public abstract interface Super : R|kotlin/Any| {
<A> public abstract fun foo(a: R|A|): R|kotlin/Unit|
public abstract fun <A> foo(a: R|A|): R|kotlin/Unit|
}
@@ -1,11 +1,11 @@
public abstract interface InheritNullability : R|kotlin/Any| {
public abstract interface Sub : R|test/InheritNullability.Super| {
<B> public abstract fun foo(a: R|B|): R|kotlin/Unit|
public abstract fun <B> foo(a: R|B|): R|kotlin/Unit|
}
public abstract interface Super : R|kotlin/Any| {
<A> public abstract fun foo(a: R|A|): R|kotlin/Unit|
public abstract fun <A> foo(a: R|A|): R|kotlin/Unit|
}
@@ -1,11 +1,11 @@
public abstract interface InheritReadOnliness : R|kotlin/Any| {
public abstract interface Sub : R|test/InheritReadOnliness.Super| {
<B> public abstract fun foo(a: R|B|): R|kotlin/Unit|
public abstract fun <B> foo(a: R|B|): R|kotlin/Unit|
}
public abstract interface Super : R|kotlin/Any| {
<A> public abstract fun foo(a: R|A|): R|kotlin/Unit|
public abstract fun <A> foo(a: R|A|): R|kotlin/Unit|
}
@@ -1,11 +1,11 @@
public abstract interface TwoBounds : R|kotlin/Any| {
public abstract interface Sub : R|test/TwoBounds.Super| {
<B> public abstract fun foo(a: R|B|): R|kotlin/Unit|
public abstract fun <B> foo(a: R|B|): R|kotlin/Unit|
}
public abstract interface Super : R|kotlin/Any| {
<A> public abstract fun foo(a: R|A|): R|kotlin/Unit|
public abstract fun <A> foo(a: R|A|): R|kotlin/Unit|
}

Some files were not shown because too many files have changed in this diff Show More