[FIR] Render outer type parameters differently

This commit is contained in:
Nikolay Lunyak
2023-07-27 11:51:48 +03:00
committed by Space Team
parent e4246e8f51
commit c2ad475153
37 changed files with 118 additions and 109 deletions
@@ -1,7 +1,7 @@
public open class InnerClassReferencesOuterTP<P : R|kotlin/Any!|> : R|kotlin/Any| {
public constructor<P : R|kotlin/Any!|>(): R|test/InnerClassReferencesOuterTP<P>|
public open inner class Inner<Q : R|ft<P & Any, P?>|, P : R|kotlin/Any!|> : R|kotlin/Any| {
public open inner class Inner<Q : R|ft<P & Any, P?>|, Outer(P) : R|kotlin/Any!|> : R|kotlin/Any| {
public test/InnerClassReferencesOuterTP<P>.constructor<Q : R|ft<P & Any, P?>|>(): R|test/InnerClassReferencesOuterTP.Inner<Q, P>|
}
@@ -6,7 +6,7 @@ public open class InnerClassTypeMultipleGeneric : R|kotlin/Any| {
public open inner class BaseOuter<H1 : R|kotlin/Any!|, H2 : R|kotlin/Any!|> : R|kotlin/Any| {
public test/InnerClassTypeMultipleGeneric.constructor<H1 : R|kotlin/Any!|, H2 : R|kotlin/Any!|>(): R|test/InnerClassTypeMultipleGeneric.BaseOuter<H1, H2>|
public abstract inner class BaseInner<H3 : R|kotlin/Any!|, H4 : R|kotlin/Any!|, H1 : R|kotlin/Any!|, H2 : R|kotlin/Any!|> : R|kotlin/Any| {
public abstract inner class BaseInner<H3 : R|kotlin/Any!|, H4 : R|kotlin/Any!|, Outer(H1) : R|kotlin/Any!|, Outer(H2) : R|kotlin/Any!|> : R|kotlin/Any| {
public test/InnerClassTypeMultipleGeneric.BaseOuter<H1, H2>.constructor<H3 : R|kotlin/Any!|, H4 : R|kotlin/Any!|>(): R|test/InnerClassTypeMultipleGeneric.BaseOuter.BaseInner<H3, H4, H1, H2>|
}
@@ -16,7 +16,7 @@ public open class InnerClassTypeMultipleGeneric : R|kotlin/Any| {
public test/InnerClassTypeMultipleGeneric.constructor<E1 : R|kotlin/Any!|, E2 : R|kotlin/Any!|>(): R|test/InnerClassTypeMultipleGeneric.Outer<E1, E2>|
public open inner class Inner<E3 : R|kotlin/Any!|, E1 : R|kotlin/Any!|, E2 : R|kotlin/Any!|> : R|test/InnerClassTypeMultipleGeneric.BaseOuter.BaseInner<kotlin/Double!, kotlin/String!, ft<E2 & Any, E2?>, ft<E3 & Any, E3?>>| {
public open inner class Inner<E3 : R|kotlin/Any!|, Outer(E1) : R|kotlin/Any!|, Outer(E2) : R|kotlin/Any!|> : R|test/InnerClassTypeMultipleGeneric.BaseOuter.BaseInner<kotlin/Double!, kotlin/String!, ft<E2 & Any, E2?>, ft<E3 & Any, E3?>>| {
public test/InnerClassTypeMultipleGeneric.Outer<E1, E2>.constructor<E3 : R|kotlin/Any!|>(): R|test/InnerClassTypeMultipleGeneric.Outer.Inner<E3, E1, E2>|
}
@@ -1,11 +1,11 @@
public open class InnerClassesInGeneric<P : R|kotlin/Any!|, Q : R|kotlin/Any!|> : R|kotlin/Any| {
public constructor<P : R|kotlin/Any!|, Q : R|kotlin/Any!|>(): R|test/InnerClassesInGeneric<P, Q>|
public open inner class Inner<P : R|kotlin/Any!|, Q : R|kotlin/Any!|> : R|kotlin/Any| {
public open inner class Inner<Outer(P) : R|kotlin/Any!|, Outer(Q) : R|kotlin/Any!|> : R|kotlin/Any| {
public test/InnerClassesInGeneric<P, Q>.constructor(): R|test/InnerClassesInGeneric.Inner<P, Q>|
}
public open inner class Inner2<P : R|kotlin/Any!|, Q : R|kotlin/Any!|> : R|test/InnerClassesInGeneric.Inner<ft<P & Any, P?>, ft<Q & Any, Q?>>| {
public open inner class Inner2<Outer(P) : R|kotlin/Any!|, Outer(Q) : R|kotlin/Any!|> : R|test/InnerClassesInGeneric.Inner<ft<P & Any, P?>, ft<Q & Any, Q?>>| {
public open operator fun iterator(): R|ft<kotlin/collections/MutableIterator<ft<P & Any, P?>>, kotlin/collections/Iterator<ft<P & Any, P?>>?>|
public test/InnerClassesInGeneric<P, Q>.constructor(): R|test/InnerClassesInGeneric.Inner2<P, Q>|
@@ -4,7 +4,7 @@ public open class InnerOfGeneric : R|kotlin/Any| {
public abstract inner class A<K : R|kotlin/Any!|> : R|kotlin/Any| {
public test/InnerOfGeneric.constructor<K : R|kotlin/Any!|>(): R|test/InnerOfGeneric.A<K>|
public abstract inner class Inner<K : R|kotlin/Any!|> : R|test/InnerOfGeneric.S<ft<K & Any, K?>>| {
public abstract inner class Inner<Outer(K) : R|kotlin/Any!|> : R|test/InnerOfGeneric.S<ft<K & Any, K?>>| {
public test/InnerOfGeneric.A<K>.constructor(): R|test/InnerOfGeneric.A.Inner<K>|
}
@@ -12,7 +12,7 @@ public open class InnerOfGeneric : R|kotlin/Any| {
public open inner class B<L : R|kotlin/Any!|> : R|test/InnerOfGeneric.A<ft<L & Any, L?>>| {
public test/InnerOfGeneric.constructor<L : R|kotlin/Any!|>(): R|test/InnerOfGeneric.B<L>|
public open inner class SubInner<L : R|kotlin/Any!|> : R|test/InnerOfGeneric.A.Inner<ft<L & Any, L?>>| {
public open inner class SubInner<Outer(L) : R|kotlin/Any!|> : R|test/InnerOfGeneric.A.Inner<ft<L & Any, L?>>| {
@R|java/lang/Override|() public open operator fun iterator(): R|ft<kotlin/collections/MutableIterator<ft<L & Any, L?>>, kotlin/collections/Iterator<ft<L & Any, L?>>?>|
public test/InnerOfGeneric.B<L>.constructor(): R|test/InnerOfGeneric.B.SubInner<L>|
@@ -1,7 +1,7 @@
public final class MethodReferencesOuterClassTP<P : R|kotlin/Any!|> : R|kotlin/Any| {
public constructor<P : R|kotlin/Any!|>(): R|test/MethodReferencesOuterClassTP<P>|
public final inner class Inner<P : R|kotlin/Any!|> : R|kotlin/Any| {
public final inner class Inner<Outer(P) : R|kotlin/Any!|> : R|kotlin/Any| {
public final fun <Q : R|ft<P & Any, P?>|> f(): R|kotlin/Unit|
public test/MethodReferencesOuterClassTP<P>.constructor(): R|test/MethodReferencesOuterClassTP.Inner<P>|
@@ -1,7 +1,7 @@
public open class TypeParameterOfOuterClass<T : R|kotlin/Any!|> : R|kotlin/Any| {
public constructor<T : R|kotlin/Any!|>(): R|test/TypeParameterOfOuterClass<T>|
public open inner class Inner<T : R|kotlin/Any!|> : R|kotlin/Any| {
public open inner class Inner<Outer(T) : R|kotlin/Any!|> : R|kotlin/Any| {
public open fun foo(comparator: R|ft<java/util/Comparator<ft<T & Any, T?>>, java/util/Comparator<ft<T & Any, T?>>?>|): R|kotlin/Unit|
public test/TypeParameterOfOuterClass<T>.constructor(): R|test/TypeParameterOfOuterClass.Inner<T>|
@@ -2,7 +2,7 @@ public abstract interface ReturnInnerSubclassOfSupersInner : R|kotlin/Any| {
public open class Sub<B : R|kotlin/Any!|> : R|test/ReturnInnerSubclassOfSupersInner.Super<ft<B & Any, B?>>| {
public constructor<B : R|kotlin/Any!|>(): R|test/ReturnInnerSubclassOfSupersInner.Sub<B>|
public/*package*/ open inner class Inner<B : R|kotlin/Any!|> : R|test/ReturnInnerSubclassOfSupersInner.Super.Inner<ft<B & Any, B?>>| {
public/*package*/ open inner class Inner<Outer(B) : R|kotlin/Any!|> : R|test/ReturnInnerSubclassOfSupersInner.Super.Inner<ft<B & Any, B?>>| {
public/*package*/ open fun get(): R|ft<test/ReturnInnerSubclassOfSupersInner.Sub<ft<B & Any, B?>>, test/ReturnInnerSubclassOfSupersInner.Sub<ft<B & Any, B?>>?>|
public/*package*/ test/ReturnInnerSubclassOfSupersInner.Sub<B>.constructor(): R|test/ReturnInnerSubclassOfSupersInner.Sub.Inner<B>|
@@ -12,7 +12,7 @@ public abstract interface ReturnInnerSubclassOfSupersInner : R|kotlin/Any| {
public open class Super<A : R|kotlin/Any!|> : R|kotlin/Any| {
public constructor<A : R|kotlin/Any!|>(): R|test/ReturnInnerSubclassOfSupersInner.Super<A>|
public/*package*/ open inner class Inner<A : R|kotlin/Any!|> : R|kotlin/Any| {
public/*package*/ open inner class Inner<Outer(A) : R|kotlin/Any!|> : R|kotlin/Any| {
public/*package*/ open fun get(): R|ft<test/ReturnInnerSubclassOfSupersInner.Super<ft<A & Any, A?>>, test/ReturnInnerSubclassOfSupersInner.Super<ft<A & Any, A?>>?>|
public/*package*/ test/ReturnInnerSubclassOfSupersInner.Super<A>.constructor(): R|test/ReturnInnerSubclassOfSupersInner.Super.Inner<A>|