[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
@@ -19,7 +19,7 @@ FILE: invokeWithReceiverAndArgument.kt
}
public final inner class LeafBuilderConfigurationContext<T : R|AbstractFirTreeBuilder|> : R|AbstractBuilderConfigurator.BuilderConfigurationContext| {
public final inner class LeafBuilderConfigurationContext<Outer(T) : R|AbstractFirTreeBuilder|> : R|AbstractBuilderConfigurator.BuilderConfigurationContext| {
public AbstractBuilderConfigurator<T>.constructor(): R|AbstractBuilderConfigurator.LeafBuilderConfigurationContext<T>| {
super<R|AbstractBuilderConfigurator.BuilderConfigurationContext|>()
}
@@ -43,7 +43,7 @@ FILE: invokeWithReceiverAndArgument.kt
super<R|kotlin/Any|>()
}
public final inner class Inner<E> : R|kotlin/Any| {
public final inner class Inner<Outer(E)> : R|kotlin/Any| {
public Outer<E>.constructor(): R|Outer.Inner<E>| {
super<R|kotlin/Any|>()
}
@@ -67,12 +67,12 @@ FILE: conflictingProjection.kt
super<R|kotlin/Any|>()
}
public final inner class Intermediate<K, T> : R|kotlin/Any| {
public final inner class Intermediate<K, Outer(T)> : R|kotlin/Any| {
public Outer<T>.constructor<K>(): R|Outer.Intermediate<K, T>| {
super<R|kotlin/Any|>()
}
public final inner class Inner<G, K, T> : R|kotlin/Any| {
public final inner class Inner<G, Outer(K), Outer(T)> : R|kotlin/Any| {
public Outer.Intermediate<K, T>.constructor<G>(): R|Outer.Intermediate.Inner<G, K, T>| {
super<R|kotlin/Any|>()
}
@@ -114,12 +114,12 @@ FILE: conflictingProjection.kt
super<R|kotlin/Any|>()
}
public final inner class OutIntermediate<out K, in T> : R|kotlin/Any| {
public final inner class OutIntermediate<out K, in Outer(T)> : R|kotlin/Any| {
public InOuter<T>.constructor<out K>(): R|InOuter.OutIntermediate<K, T>| {
super<R|kotlin/Any|>()
}
public final inner class InInner<in G, out K, in T> : R|kotlin/Any| {
public final inner class InInner<in G, out Outer(K), in Outer(T)> : R|kotlin/Any| {
public InOuter.OutIntermediate<K, T>.constructor<in G>(): R|InOuter.OutIntermediate.InInner<G, K, T>| {
super<R|kotlin/Any|>()
}
@@ -161,12 +161,12 @@ FILE: conflictingProjection.kt
super<R|kotlin/Any|>()
}
public final inner class TwoParametersIntermediate<out K, K1, T, in T1> : R|kotlin/Any| {
public final inner class TwoParametersIntermediate<out K, K1, Outer(T), in Outer(T1)> : R|kotlin/Any| {
public TwoParametersOuter<T, T1>.constructor<out K, K1>(): R|TwoParametersOuter.TwoParametersIntermediate<K, K1, T, T1>| {
super<R|kotlin/Any|>()
}
public final inner class InInner<in G, G1, out K, K1, T, in T1> : R|kotlin/Any| {
public final inner class InInner<in G, G1, out Outer(K), Outer(K1), Outer(T), in Outer(T1)> : R|kotlin/Any| {
public TwoParametersOuter.TwoParametersIntermediate<K, K1, T, T1>.constructor<in G, G1>(): R|TwoParametersOuter.TwoParametersIntermediate.InInner<G, G1, K, K1, T, T1>| {
super<R|kotlin/Any|>()
}
@@ -44,7 +44,7 @@ FILE: RedundantVisibilityModifierChecker.kt
public final fun <T1, T2> foo2(): R|kotlin/Unit| {
}
internal final inner class B<T, T2, T1, T2 : R|T1|> : R|kotlin/Any| {
internal final inner class B<T, T2, Outer(T1), Outer(T2) : R|T1|> : R|kotlin/Any| {
public Foo2<T1, T2>.constructor<T, T2>(): R|Foo2.B<T, T2, T1, T2>| {
super<R|kotlin/Any|>()
}
@@ -6,7 +6,7 @@ FILE: complexTypes.kt
super<R|kotlin/Any|>()
}
public final inner class D<R, in P, T, out S> : R|kotlin/Any| {
public final inner class D<R, in P, Outer(T), out Outer(S)> : R|kotlin/Any| {
public a/b/C<T, S>.constructor<R, in P>(): R|a/b/C.D<R, P, T, S>| {
super<R|kotlin/Any|>()
}
@@ -4,7 +4,7 @@ FILE: innerTypeFromSuperClassInBody.kt
super<R|kotlin/Any|>()
}
public final inner class Inner<X : R|kotlin/CharSequence|> : R|kotlin/Any| {
public final inner class Inner<Outer(X) : R|kotlin/CharSequence|> : R|kotlin/Any| {
public A<X>.constructor(): R|A.Inner<X>| {
super<R|kotlin/Any|>()
}
@@ -4,7 +4,7 @@ FILE: innerTypes.kt
super<R|kotlin/Any|>()
}
public final inner class Inner<K, T> : R|kotlin/Any| {
public final inner class Inner<K, Outer(T)> : R|kotlin/Any| {
public Outer<T>.constructor<K>(): R|Outer.Inner<K, T>| {
super<R|kotlin/Any|>()
}
@@ -6,7 +6,7 @@ FILE: incorrectReferenceOnInnerClassMember.kt
super<R|kotlin/Any|>()
}
public final inner class Inner<T> : R|kotlin/Any| {
public final inner class Inner<Outer(T)> : R|kotlin/Any| {
public foo/Outer<T>.constructor(): R|foo/Outer.Inner<T>| {
super<R|kotlin/Any|>()
}
@@ -4,7 +4,7 @@ FILE: throwableSubclass.kt
super<R|kotlin/Exception|>()
}
public final inner class Test2<S, T, B> : R|kotlin/Throwable| {
public final inner class Test2<S, Outer(T), Outer(B)> : R|kotlin/Throwable| {
public Test1<T, B>.constructor<S>(): R|Test1.Test2<S, T, B>| {
super<R|kotlin/Throwable|>()
}
@@ -31,7 +31,7 @@ FILE: throwableSubclass.kt
super<R|kotlin/Any|>()
}
public final inner class Test6<T, B> : R|kotlin/Exception| {
public final inner class Test6<Outer(T), Outer(B)> : R|kotlin/Exception| {
public Test5<T, B>.constructor(): R|Test5.Test6<T, B>| {
super<R|kotlin/Exception|>()
}
@@ -39,7 +39,7 @@ FILE: throwableSubclass.kt
}
public final fun foo(): R|kotlin/Unit| {
local final class Test7<T, B> : R|kotlin/Throwable| {
local final class Test7<Outer(T), Outer(B)> : R|kotlin/Throwable| {
public constructor(): R|Test5.Test7<T, B>| {
super<R|kotlin/Throwable|>()
}
@@ -50,7 +50,7 @@ FILE: throwableSubclass.kt
}
public final fun <Z> topLevelFun(): R|kotlin/Unit| {
local final class Test8<Z> : R|kotlin/Error| {
local final class Test8<Outer(Z)> : R|kotlin/Error| {
public constructor(): R|Test8<Z>| {
super<R|kotlin/Error|>()
}
@@ -4,12 +4,12 @@ FILE: capturedParametersOfInnerClasses.kt
super<R|kotlin/Any|>()
}
public final inner class B<K1, K2, T1, T2> : R|kotlin/Any| {
public final inner class B<K1, K2, Outer(T1), Outer(T2)> : R|kotlin/Any| {
public A<T1, T2>.constructor<K1, K2>(): R|A.B<K1, K2, T1, T2>| {
super<R|kotlin/Any|>()
}
public final inner class C<U1, U2, K1, K2, T1, T2> : R|kotlin/Any| {
public final inner class C<U1, U2, Outer(K1), Outer(K2), Outer(T1), Outer(T2)> : R|kotlin/Any| {
public A.B<K1, K2, T1, T2>.constructor<U1, U2>(): R|A.B.C<U1, U2, K1, K2, T1, T2>| {
super<R|kotlin/Any|>()
}