K2: render additionally *s for static references

This commit allows to distinguish static VS non-static things
inside FIR_DUMP, e.g. static synthetic Enum.entries with
enum entry Enum.entries
This commit is contained in:
Mikhail Glukhikh
2023-06-14 15:49:04 +02:00
committed by Space Team
parent 70899d492d
commit 978d52d05b
63 changed files with 171 additions and 125 deletions
@@ -1,6 +1,6 @@
FILE: useSite.kt
public final fun foo(): R|kotlin/Unit| {
Q|InspectionProfileImpl|.R|/InspectionProfileImpl.INIT_INSPECTIONS| = Boolean(true)
Q|InspectionProfileImpl|.R|/InspectionProfileImpl.INIT_INSPECTIONS*s| = Boolean(true)
}
FILE: NewInspectionProfile.kt
public abstract class NewInspectionProfile : R|kotlin/Any| {
@@ -12,8 +12,8 @@ FILE: x.kt
public final fun g(x: R|kotlin/Long?|): R|kotlin/Unit| {
}
public final fun main(): R|kotlin/Unit| {
Q|J|.R|/J.f|(Int(123))
Q|J|.R|/J.f|(Long(123123123123))
Q|J|.R|/J.f*s|(Int(123))
Q|J|.R|/J.f*s|(Long(123123123123))
R|/f|(Int(123))
R|/f|(Long(123123123123))
R|/g|(Int(123))
@@ -4,7 +4,7 @@ FILE: main.kt
public final fun takeOutA(array: R|kotlin/Array<out A>|): R|kotlin/Unit| {
}
public final fun test(array: R|kotlin/Array<B>|): R|kotlin/Unit| {
Q|A|.R|/A.take|(R|<local>/array|)
Q|A|.R|/A.take*s|(R|<local>/array|)
R|/takeA<Inapplicable(INAPPLICABLE): /takeA>#|(R|<local>/array|)
R|/takeOutA|(R|<local>/array|)
}
@@ -1,4 +1,4 @@
FILE: main.kt
public final fun test(list: R|kotlin/collections/List<kotlin/String>|, string: R|kotlin/String|): R|kotlin/Unit| {
Q|Matchers|.R|/Matchers.assertThat|<R|ft<kotlin/collections/List<kotlin/String>, kotlin/collections/List<kotlin/String>?>|>(R|<local>/list|, Q|Matchers|.R|/Matchers.hasItem|<R|kotlin/String!|>(R|<local>/string|))
Q|Matchers|.R|/Matchers.assertThat*s|<R|ft<kotlin/collections/List<kotlin/String>, kotlin/collections/List<kotlin/String>?>|>(R|<local>/list|, Q|Matchers|.R|/Matchers.hasItem*s|<R|kotlin/String!|>(R|<local>/string|))
}
@@ -66,5 +66,5 @@ FILE: const.kt
private get(): R|kotlin/Int|
private final const val PATCH_MASK: R|kotlin/Int| = Int(1).R|kotlin/Int.shl|(R|/PATCH_BITS|).R|kotlin/Int.minus|(Int(1))
private get(): R|kotlin/Int|
private final const val stringFromJava: R|kotlin/String| = Q|Constants|.R|/Constants.FIRST|.R|kotlin/String.plus|(String(+)).R|kotlin/String.plus|(Q|Constants|.R|/Constants.SECOND|)
private final const val stringFromJava: R|kotlin/String| = Q|Constants|.R|/Constants.FIRST*s|.R|kotlin/String.plus|(String(+)).R|kotlin/String.plus|(Q|Constants|.R|/Constants.SECOND*s|)
private get(): R|kotlin/String|
@@ -18,7 +18,7 @@ FILE: main.kt
}
public final fun test_1(): R|kotlin/Unit| {
lval e: R|E!| = Q|Utils|.R|/Utils.getEnum|()
lval e: R|E!| = Q|Utils|.R|/Utils.getEnum*s|()
lval s: R|kotlin/String| = when (R|<local>/e|) {
==($subj$, Null(null)) -> {
^test_1 Unit
@@ -37,7 +37,7 @@ FILE: main.kt
R|<local>/s|.R|kotlin/String.length|
}
public final fun test_2(): R|kotlin/Unit| {
lval e: R|E!| = Q|Utils|.R|/Utils.getEnum|()
lval e: R|E!| = Q|Utils|.R|/Utils.getEnum*s|()
lval s: R|kotlin/String| = when (R|<local>/e|) {
==($subj$, Q|E|.R|/E.A|) -> {
String()
@@ -28,7 +28,7 @@ FILE: Test.kt
public final fun test(): R|kotlin/Unit| {
lval bbd: R|BB.D| = Q|BB.D|
lval aac: R|AA.C| = Q|AA.C|
Q|JavaClass|.R|/JavaClass.bar|()
Q|JavaClass|.R|/JavaClass.bar*s|()
lval errC: <ERROR TYPE REF: Unresolved name: C> = Q|BB|.<Unresolved name: C>#
lval errBarViaBB: <ERROR TYPE REF: Unresolved name: bar> = Q|BB|.<Unresolved name: bar>#()
lval errBarViaAA: <ERROR TYPE REF: Unresolved name: bar> = Q|AA|.<Unresolved name: bar>#()
@@ -22,7 +22,7 @@ FILE: enumValues.kt
}
public final fun foo(): R|kotlin/Unit| {
lval values: R|kotlin/Array<MyEnum>| = Q|MyEnum|.R|/MyEnum.values|()
lval values: R|kotlin/Array<MyEnum>| = Q|MyEnum|.R|/MyEnum.values*s|()
{
lval <iterator>: R|kotlin/collections/Iterator<MyEnum>| = R|<local>/values|.R|SubstitutionOverride<kotlin/Array.iterator: R|kotlin/collections/Iterator<MyEnum>|>|()
while(R|<local>/<iterator>|.R|SubstitutionOverride<kotlin/collections/Iterator.hasNext: R|kotlin/Boolean|>|()) {
@@ -35,6 +35,6 @@ FILE: enumValues.kt
}
lval first: R|MyEnum| = Q|MyEnum|.R|/MyEnum.valueOf|(String(FIRST))
lval last: R|MyEnum| = Q|MyEnum|.R|/MyEnum.valueOf|(String(LAST))
lval first: R|MyEnum| = Q|MyEnum|.R|/MyEnum.valueOf*s|(String(FIRST))
lval last: R|MyEnum| = Q|MyEnum|.R|/MyEnum.valueOf*s|(String(LAST))
}
@@ -1,5 +1,5 @@
FILE: test.kt
public final fun test(): R|kotlin/Unit| {
lval staticReference: R|kotlin/reflect/KMutableProperty0<kotlin/String!>| = Q|JavaClass|::R|/JavaClass.staticField|
lval staticReference: R|kotlin/reflect/KMutableProperty0<kotlin/String!>| = Q|JavaClass|::R|/JavaClass.staticField*s|
lval nonStaticReference: R|kotlin/reflect/KMutableProperty1<JavaClass, kotlin/String!>| = Q|JavaClass|::R|/JavaClass.nonStaticField|
}
@@ -68,7 +68,7 @@ FILE: qualifierPriority.kt
public final static enum entry H: R|G|
public final fun foo(): R|kotlin/Unit| {
R|/G.values|()
R|/G.values*s|()
}
public final companion object Companion : R|kotlin/Any| {
@@ -97,5 +97,5 @@ FILE: qualifierPriority.kt
}
public final val gh: R|G| = Q|G|.R|/G.H|
public get(): R|G|
public final val gv: R|kotlin/Array<G>| = Q|G|.R|/G.values|()
public final val gv: R|kotlin/Array<G>| = Q|G|.R|/G.values*s|()
public get(): R|kotlin/Array<G>|
@@ -1,6 +1,6 @@
FILE: flexibleTypeBug.kt
public final fun foo(): R|kotlin/Unit| {
lvar list1: R|ft<kotlin/collections/MutableList<kotlin/String!>, kotlin/collections/List<kotlin/String!>?>| = Q|java/util/Collections|.R|java/util/Collections.emptyList|<R|kotlin/String|>()
lvar list1: R|ft<kotlin/collections/MutableList<kotlin/String!>, kotlin/collections/List<kotlin/String!>?>| = Q|java/util/Collections|.R|java/util/Collections.emptyList*s|<R|kotlin/String|>()
lval list2: R|kotlin/collections/List<kotlin/String>| = R|kotlin/collections/listOf|<R|kotlin/String|>(String(b))
R|<local>/list1| = R|<local>/list1|.R|kotlin/collections/plus|<R|kotlin/String!|>(R|<local>/list2|)
}
@@ -1,7 +1,7 @@
FILE: javaCollector.kt
public final fun foo(): R|kotlin/Unit| {
R|kotlin/collections/listOf|<R|kotlin/String|>(String()).R|SubstitutionOverride<kotlin/collections/List.stream: R|@EnhancedNullability java/util/stream/Stream<@EnhancedNullability kotlin/String>|>|().R|SubstitutionOverride<java/util/stream/Stream.collect: R|ft<R & Any, R?>|>|<R|ft<kotlin/collections/MutableMap<@EnhancedNullability kotlin/String!, kotlin/Int!>, kotlin/collections/Map<@EnhancedNullability kotlin/String!, kotlin/Int!>?>|, R|ft<CapturedType(*), CapturedType(*)?>|>(Q|java/util/stream/Collectors|.R|java/util/stream/Collectors.groupingBy|<R|@EnhancedNullability kotlin/String!|, R|@EnhancedNullability kotlin/String!|, R|ft<CapturedType(*), CapturedType(*)?>|, R|kotlin/Int!|>(groupingBy@fun <anonymous>(it: R|@EnhancedNullability kotlin/String!|): R|@EnhancedNullability kotlin/String!| <inline=NoInline> {
R|kotlin/collections/listOf|<R|kotlin/String|>(String()).R|SubstitutionOverride<kotlin/collections/List.stream: R|@EnhancedNullability java/util/stream/Stream<@EnhancedNullability kotlin/String>|>|().R|SubstitutionOverride<java/util/stream/Stream.collect: R|ft<R & Any, R?>|>|<R|ft<kotlin/collections/MutableMap<@EnhancedNullability kotlin/String!, kotlin/Int!>, kotlin/collections/Map<@EnhancedNullability kotlin/String!, kotlin/Int!>?>|, R|ft<CapturedType(*), CapturedType(*)?>|>(Q|java/util/stream/Collectors|.R|java/util/stream/Collectors.groupingBy*s|<R|@EnhancedNullability kotlin/String!|, R|@EnhancedNullability kotlin/String!|, R|ft<CapturedType(*), CapturedType(*)?>|, R|kotlin/Int!|>(groupingBy@fun <anonymous>(it: R|@EnhancedNullability kotlin/String!|): R|@EnhancedNullability kotlin/String!| <inline=NoInline> {
^ R|<local>/it|
}
, Q|java/util/stream/Collectors|.R|java/util/stream/Collectors.collectingAndThen|<R|kotlin/String!|, R|ft<CapturedType(*), CapturedType(*)?>|, R|kotlin/Long!|, R|kotlin/Int!|>(Q|java/util/stream/Collectors|.R|java/util/stream/Collectors.counting|<R|kotlin/String|>(), Q|kotlin/Long|::R|kotlin/Long.toInt|)))
, Q|java/util/stream/Collectors|.R|java/util/stream/Collectors.collectingAndThen*s|<R|kotlin/String!|, R|ft<CapturedType(*), CapturedType(*)?>|, R|kotlin/Long!|, R|kotlin/Int!|>(Q|java/util/stream/Collectors|.R|java/util/stream/Collectors.counting*s|<R|kotlin/String|>(), Q|kotlin/Long|::R|kotlin/Long.toInt|)))
}
@@ -1,6 +1,6 @@
FILE: main.kt
public final fun main(): R|kotlin/Unit| {
lval a: R|ft<Java<*, kotlin/String!>, Java<*, kotlin/String!>?>| = Q|Java|.R|/Java.factory|<R|kotlin/String!|>(String())
lval a: R|ft<Java<*, kotlin/String!>, Java<*, kotlin/String!>?>| = Q|Java|.R|/Java.factory*s|<R|kotlin/String!|>(String())
lval b: R|ft<Java<*, kotlin/String!>, Java<*, kotlin/String!>?>| = R|<local>/a|.R|SubstitutionOverride</Java.produceSelf: R|ft<CapturedType(*) & Any, CapturedType(*)?>|>|()
R|<local>/b|.R|SubstitutionOverride</Java.consumeElement: R|kotlin/Unit|>|(String(testing))
}
@@ -1,4 +1,4 @@
FILE: main.kt
public final fun main(): R|kotlin/Unit| {
lval b: R|B!| = Q|B|.R|/B.VALUE|
lval b: R|B!| = Q|B|.R|/B.VALUE*s|
}
@@ -8,7 +8,7 @@ FILE: DerivedEnum.kt
public final fun foo(): R|kotlin/Unit| {
R|/bar|(R|/DerivedEnum.x|)
R|/baz|(<Unresolved name: y>#)
R|/baz|(Q|BaseJava|.R|/BaseJava.y|)
R|/baz|(Q|BaseJava|.R|/BaseJava.y*s|)
}
public final static fun values(): R|kotlin/Array<DerivedEnum>| {
@@ -1,6 +1,6 @@
FILE: main.kt
public final fun main(): R|kotlin/Unit| {
Q|W|.R|/W.E|().R|kotlin/String.length|
Q|W|.R|/W.E*s|().R|kotlin/String.length|
Q|W.E|.<Unresolved name: length>#
Q|W.E|.R|/W.E.w|
Q|W.E|.R|/W.E.w*s|
}
@@ -1,6 +1,6 @@
FILE: main.kt
public final fun foo(): R|kotlin/Unit| {
Q|RawType|.R|/RawType.bar|(<L> = bar@fun <anonymous>(it: R|kotlin/CharSequence!|): R|kotlin/Boolean| <inline=NoInline> {
Q|RawType|.R|/RawType.bar*s|(<L> = bar@fun <anonymous>(it: R|kotlin/CharSequence!|): R|kotlin/Boolean| <inline=NoInline> {
^ CMP(>, R|<local>/it|.R|kotlin/CharSequence.length|.R|kotlin/Int.compareTo|(Int(0)))
}
)
@@ -1,22 +1,22 @@
FILE: main.kt
public final fun main(): R|kotlin/Unit| {
Q|JavaUsage|.R|/JavaUsage.foo1|(<L> = foo1@fun <anonymous>(x: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
Q|JavaUsage|.R|/JavaUsage.foo1*s|(<L> = foo1@fun <anonymous>(x: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
^ R|<local>/x|.R|kotlin/Int.toInt|().R|kotlin/Int.toString|()
}
)
Q|JavaUsage|.R|/JavaUsage.foo2|(<L> = foo2@fun <anonymous>(x: R|kotlin/Number!|): R|kotlin/CharSequence!| <inline=NoInline> {
Q|JavaUsage|.R|/JavaUsage.foo2*s|(<L> = foo2@fun <anonymous>(x: R|kotlin/Number!|): R|kotlin/CharSequence!| <inline=NoInline> {
^ R|<local>/x|.R|kotlin/Number.toInt|().R|kotlin/Int.toString|()
}
)
Q|JavaUsage|.R|/JavaUsage.foo2<Inapplicable(INAPPLICABLE): /JavaUsage.foo2>#|(<L> = foo2@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/CharSequence!| <inline=Unknown> {
Q|JavaUsage|.R|/JavaUsage.foo2*s<Inapplicable(INAPPLICABLE): /JavaUsage.foo2>#|(<L> = foo2@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/CharSequence!| <inline=Unknown> {
^ R|<local>/x|.R|kotlin/Int.toString|()
}
)
Q|JavaUsage|.R|/JavaUsage.foo3|<R|kotlin/Int!|, R|kotlin/String!|>(foo3@fun <anonymous>(x: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
Q|JavaUsage|.R|/JavaUsage.foo3*s|<R|kotlin/Int!|, R|kotlin/String!|>(foo3@fun <anonymous>(x: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
^ R|<local>/x|.R|kotlin/Int.plus|(Int(1)).R|kotlin/Int.toString|()
}
, Int(1))
Q|JavaUsage|.R|/JavaUsage.foo3|<R|kotlin/Int!|, R|kotlin/String!|>(foo3@fun <anonymous>(x: R|kotlin/Number|): R|kotlin/String!| <inline=NoInline> {
Q|JavaUsage|.R|/JavaUsage.foo3*s|<R|kotlin/Int!|, R|kotlin/String!|>(foo3@fun <anonymous>(x: R|kotlin/Number|): R|kotlin/String!| <inline=NoInline> {
^ R|<local>/x|.R|kotlin/Number.toInt|().R|kotlin/Int.toString|()
}
, Int(2))
@@ -2,11 +2,11 @@ FILE: main.kt
public final fun foo(m: R|MyRunnable|): R|kotlin/Unit| {
}
public final fun main(): R|kotlin/Unit| {
Q|JavaUsage|.R|/JavaUsage.foo<Inapplicable(INAPPLICABLE): /JavaUsage.foo>#|(<L> = foo@fun <anonymous>(x: R|kotlin/Nothing|): R|kotlin/Boolean| <inline=Unknown> {
Q|JavaUsage|.R|/JavaUsage.foo*s<Inapplicable(INAPPLICABLE): /JavaUsage.foo>#|(<L> = foo@fun <anonymous>(x: R|kotlin/Nothing|): R|kotlin/Boolean| <inline=Unknown> {
^ CMP(>, R|<local>/x|.<Unresolved name: compareTo>#(Int(1)))
}
)
Q|JavaUsage|.R|/JavaUsage.foo<Inapplicable(INAPPLICABLE): /JavaUsage.foo>#|(foo@fun <anonymous>(): R|kotlin/Boolean| <inline=Unknown> {
Q|JavaUsage|.R|/JavaUsage.foo*s<Inapplicable(INAPPLICABLE): /JavaUsage.foo>#|(foo@fun <anonymous>(): R|kotlin/Boolean| <inline=Unknown> {
^ CMP(>, <Unresolved name: it>#.<Unresolved name: compareTo>#(Int(1)))
}
)
@@ -14,5 +14,5 @@ FILE: main.kt
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
}
Q|JavaUsage|.R|/JavaUsage.foo<Inapplicable(INAPPLICABLE): /JavaUsage.foo>#|(R|<local>/x|)
Q|JavaUsage|.R|/JavaUsage.foo*s<Inapplicable(INAPPLICABLE): /JavaUsage.foo>#|(R|<local>/x|)
}
@@ -1,6 +1,6 @@
FILE: main.kt
public final fun main(): R|kotlin/Unit| {
Q|JavaClass|.R|/JavaClass.foo|(<L> = foo@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
Q|JavaClass|.R|/JavaClass.foo*s|(<L> = foo@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline> {
String()
}
)
@@ -2,11 +2,11 @@ FILE: main.kt
public final fun foo(m: R|MyRunnable|): R|kotlin/Unit| {
}
public final fun main(): R|kotlin/Unit| {
Q|JavaUsage|.R|/JavaUsage.foo|(<L> = foo@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
Q|JavaUsage|.R|/JavaUsage.foo*s|(<L> = foo@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
}
)
Q|JavaUsage|.R|/JavaUsage.foo|(foo@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
Q|JavaUsage|.R|/JavaUsage.foo*s|(foo@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
^ CMP(>, R|<local>/it|.R|kotlin/Int.compareTo|(Int(1)))
}
)
@@ -14,5 +14,5 @@ FILE: main.kt
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
}
Q|JavaUsage|.R|/JavaUsage.foo|(R|<local>/x|)
Q|JavaUsage|.R|/JavaUsage.foo*s|(R|<local>/x|)
}
@@ -2,11 +2,11 @@ FILE: main.kt
public final fun foo(m: R|MyRunnable|): R|kotlin/Unit| {
}
public final fun main(): R|kotlin/Unit| {
Q|JavaUsage|.R|/JavaUsage.foo|(<L> = foo@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean!| <inline=NoInline> {
Q|JavaUsage|.R|/JavaUsage.foo*s|(<L> = foo@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean!| <inline=NoInline> {
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
}
)
Q|JavaUsage|.R|/JavaUsage.foo|(foo@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Boolean!| <inline=NoInline> {
Q|JavaUsage|.R|/JavaUsage.foo*s|(foo@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Boolean!| <inline=NoInline> {
^ CMP(>, R|<local>/it|.R|kotlin/Int.compareTo|(Int(1)))
}
)
@@ -14,5 +14,5 @@ FILE: main.kt
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
}
Q|JavaUsage|.R|/JavaUsage.foo|(R|<local>/x|)
Q|JavaUsage|.R|/JavaUsage.foo*s|(R|<local>/x|)
}
@@ -5,7 +5,7 @@ FILE: main.kt
}
public final fun main(): R|kotlin/Unit| {
Q|OverridingUtil|.R|/OverridingUtil.createWithEqualityAxioms|(<L> = l1@fun <anonymous>(c1: R|TypeConstructor!|, c2: R|TypeConstructor!|): R|kotlin/Boolean| <inline=NoInline> {
Q|OverridingUtil|.R|/OverridingUtil.createWithEqualityAxioms*s|(<L> = l1@fun <anonymous>(c1: R|TypeConstructor!|, c2: R|TypeConstructor!|): R|kotlin/Boolean| <inline=NoInline> {
when () {
==(R|<local>/c1|.R|/TypeConstructor.x|, R|<local>/c2|.R|/TypeConstructor.x|) -> {
^@l1 Boolean(true)
@@ -2,11 +2,11 @@ FILE: main.kt
public final fun foo(m: R|MyRunnable|): R|kotlin/Unit| {
}
public final fun main(): R|kotlin/Unit| {
Q|JavaUsage|.R|/JavaUsage.foo|(<L> = foo@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
Q|JavaUsage|.R|/JavaUsage.foo*s|(<L> = foo@fun <anonymous>(x: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
}
)
Q|JavaUsage|.R|/JavaUsage.foo|(foo@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
Q|JavaUsage|.R|/JavaUsage.foo*s|(foo@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Boolean| <inline=NoInline> {
^ CMP(>, R|<local>/it|.R|kotlin/Int.compareTo|(Int(1)))
}
)
@@ -14,5 +14,5 @@ FILE: main.kt
^ CMP(>, R|<local>/x|.R|kotlin/Int.compareTo|(Int(1)))
}
Q|JavaUsage|.R|/JavaUsage.foo|(R|<local>/x|)
Q|JavaUsage|.R|/JavaUsage.foo*s|(R|<local>/x|)
}
@@ -16,7 +16,7 @@ FILE: Main.kt
R|/takeStrings|(R|<local>/list|)
}
public final fun testFromJava(): R|kotlin/Unit| {
lval values: R|ft<kotlin/Array<kotlin/String!>, kotlin/Array<out kotlin/String!>?>| = Q|Utils|.R|/Utils.getStrings|()
lval values: R|ft<kotlin/Array<kotlin/String!>, kotlin/Array<out kotlin/String!>?>| = Q|Utils|.R|/Utils.getStrings*s|()
lval list: R|kotlin/collections/List<kotlin/String!>| = R|/myListOf|<R|kotlin/String!|>(vararg(*R|<local>/values|))
R|/takeStrings|(R|<local>/list|)
}
@@ -1,5 +1,5 @@
FILE: main.kt
public final fun main(): R|kotlin/Unit| {
Q|Keys|.R|/Keys.getData|<R|ft<kotlin/Array<kotlin/String!>, kotlin/Array<out kotlin/String!>?>|>(Q|Keys|.R|/Keys.X|).R|SubstitutionOverride<kotlin/Array.get: R|kotlin/String!|>|(Int(0)).R|kotlin/String.length|
Q|Keys|.R|/Keys.getData|<R|kotlin/String!|>(Q|Keys|.R|/Keys.Y|).R|kotlin/String.length|
Q|Keys|.R|/Keys.getData*s|<R|ft<kotlin/Array<kotlin/String!>, kotlin/Array<out kotlin/String!>?>|>(Q|Keys|.R|/Keys.X*s|).R|SubstitutionOverride<kotlin/Array.get: R|kotlin/String!|>|(Int(0)).R|kotlin/String.length|
Q|Keys|.R|/Keys.getData*s|<R|kotlin/String!|>(Q|Keys|.R|/Keys.Y*s|).R|kotlin/String.length|
}
@@ -1,5 +1,5 @@
FILE: main.kt
public final fun main(x: R|kotlin/collections/MutableCollection<kotlin/collections/Set<kotlin/String>>|): R|kotlin/Unit| {
lval y: R|ft<kotlin/collections/MutableList<kotlin/String!>, kotlin/collections/List<kotlin/String!>?>| = Q|ContainerUtil|.R|/ContainerUtil.flatten|<R|kotlin/String!|>(R|<local>/x|)
lval y: R|ft<kotlin/collections/MutableList<kotlin/String!>, kotlin/collections/List<kotlin/String!>?>| = Q|ContainerUtil|.R|/ContainerUtil.flatten*s|<R|kotlin/String!|>(R|<local>/x|)
R|<local>/y|.R|SubstitutionOverride<kotlin/collections/MutableList.get: R|kotlin/String!|>|(Int(0)).R|kotlin/String.length|
}
@@ -2,5 +2,5 @@ FILE: test.kt
package test
public final fun test(): R|kotlin/Unit| {
Q|first/Some|.R|first/Some.foo|()
Q|first/Some|.R|first/Some.foo*s|()
}
@@ -8,7 +8,7 @@ FILE: main.kt
public final fun foo3(x: R|(kotlin/String) -> kotlin/Int|): R|kotlin/Unit| {
}
public final fun main(): R|kotlin/Unit| {
R|/foo1|(Q|JavaClass|::R|/JavaClass.bar|)
R|/foo1|(Q|JavaClass|::R|/JavaClass.bar*s|)
R|/foo2|(Q|JavaClass|::R|/JavaClass.bar|)
<Ambiguity: foo3, [/foo3, /foo3]>#(Q|JavaClass|::R|/JavaClass.bar|)
<Ambiguity: foo3, [/foo3, /foo3]>#(Q|JavaClass|::R|/JavaClass.bar*s|)
}
@@ -1,6 +1,6 @@
FILE: referenceToJavaStdlib.kt
public final fun detectDirsWithTestsMapFileOnly(file: R|java/io/File|): R|kotlin/collections/List<kotlin/String>| {
Q|java/nio/file/Files|.R|java/nio/file/Files.walk|(R|<local>/file|.R|java/io/File.toPath|()).R|SubstitutionOverride<java/util/stream/Stream.filter: R|ft<java/util/stream/Stream<java/nio/file/Path!>, java/util/stream/Stream<java/nio/file/Path!>?>|>|(Q|java/nio/file/Files|::R|java/nio/file/Files.isRegularFile|)
Q|java/nio/file/Files|.R|java/nio/file/Files.walk*s|(R|<local>/file|.R|java/io/File.toPath|()).R|SubstitutionOverride<java/util/stream/Stream.filter: R|ft<java/util/stream/Stream<java/nio/file/Path!>, java/util/stream/Stream<java/nio/file/Path!>?>|>|(Q|java/nio/file/Files|::R|java/nio/file/Files.isRegularFile*s|)
}
public abstract interface A : R|kotlin/Any| {
}
@@ -1,5 +1,5 @@
FILE: enumValuesDeserialized.kt
public final fun test(): R|kotlin/Unit| {
lval values: R|kotlin/Array<kotlin/annotation/AnnotationTarget>| = Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.values|()
lval entry: R|kotlin/annotation/AnnotationTarget| = Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.valueOf|(String(CLASS))
lval values: R|kotlin/Array<kotlin/annotation/AnnotationTarget>| = Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.values*s|()
lval entry: R|kotlin/annotation/AnnotationTarget| = Q|kotlin/annotation/AnnotationTarget|.R|kotlin/annotation/AnnotationTarget.valueOf*s|(String(CLASS))
}
@@ -13,7 +13,7 @@ FILE: hashTableWithForEach.kt
public get(): R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>| {
when () {
R|/DEBUG| -> {
^ Q|java/util/Collections|.R|java/util/Collections.unmodifiableSet|<R|ft<kotlin/collections/MutableMap.MutableEntry<K, V>, kotlin/collections/MutableMap.MutableEntry<K, V>?>|>(R|kotlin/collections/mutableSetOf|<R|kotlin/collections/MutableMap.MutableEntry<K, V>|>().R|kotlin/apply|<R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>|>(<L> = apply@fun R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>|.<anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
^ Q|java/util/Collections|.R|java/util/Collections.unmodifiableSet*s|<R|ft<kotlin/collections/MutableMap.MutableEntry<K, V>, kotlin/collections/MutableMap.MutableEntry<K, V>?>|>(R|kotlin/collections/mutableSetOf|<R|kotlin/collections/MutableMap.MutableEntry<K, V>|>().R|kotlin/apply|<R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>|>(<L> = apply@fun R|kotlin/collections/MutableSet<kotlin/collections/MutableMap.MutableEntry<K, V>>|.<anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
this@R|/SomeHashTable|.R|/SomeHashTable.forEach|(<L> = forEach@fun <anonymous>(key: R|@EnhancedNullability K|, value: R|@EnhancedNullability V|): R|kotlin/Unit| <inline=NoInline> {
this@R|special/anonymous|.R|SubstitutionOverride<kotlin/collections/MutableSet.add: R|kotlin/Boolean|>|(R|/SomeHashTable.Entry.Entry|<R|K|, R|V|>(R|<local>/key|, R|<local>/value|))
}
@@ -7,7 +7,7 @@ FILE: use.kt
}
public abstract interface PersistentStateComponent<T> : R|kotlin/Any| {
}
public final fun <T> deserializeAndLoadState(component: R|PersistentStateComponent<T>|, clazz: R|java/lang/Class<T>| = Q|ComponentSerializationUtil|.R|/ComponentSerializationUtil.getStateClass|<R|ft<T & Any, T?>|>(<getClass>(R|<local>/component|).R|kotlin/jvm/java|<R|CapturedType(out PersistentStateComponent<T>)|>)): R|kotlin/Unit| {
public final fun <T> deserializeAndLoadState(component: R|PersistentStateComponent<T>|, clazz: R|java/lang/Class<T>| = Q|ComponentSerializationUtil|.R|/ComponentSerializationUtil.getStateClass*s|<R|ft<T & Any, T?>|>(<getClass>(R|<local>/component|).R|kotlin/jvm/java|<R|CapturedType(out PersistentStateComponent<T>)|>)): R|kotlin/Unit| {
}
public final fun use(beforeRunTask: R|BeforeRunTask<*>|): R|kotlin/Unit| {
when () {
@@ -2,7 +2,7 @@ FILE: test.kt
public abstract interface StringSet : R|kotlin/collections/MutableSet<kotlin/String>| {
}
public final fun foo(arg: R|kotlin/Boolean|): R|kotlin/Unit| {
lval x: R|ft<Raw type java/util/ArrayList<kotlin/Any!>, @EnhancedNullability java/util/ArrayList<*>>| = Q|Producer|.R|/Producer.foo|()
lval x: R|ft<Raw type java/util/ArrayList<kotlin/Any!>, @EnhancedNullability java/util/ArrayList<*>>| = Q|Producer|.R|/Producer.foo*s|()
when () {
(R|<local>/x| is R|kotlin/collections/Set<*>|) -> {
lval y: R|ft<Raw type java/util/ArrayList<kotlin/Any!>, @EnhancedNullability java/util/ArrayList<*>>| = R|<local>/x|
@@ -1,4 +1,4 @@
FILE: FlexiblePrimitiveOverloading.kt
public final fun foo(): R|kotlin/Unit| {
Q|java/lang/Integer|.R|java/lang/Integer.getInteger|(String(text), Int(239))
Q|java/lang/Integer|.R|java/lang/Integer.getInteger*s|(String(text), Int(239))
}
@@ -1,14 +1,14 @@
FILE: main.kt
public final fun main(): R|kotlin/Unit| {
Q|JavaClass|.R|/JavaClass.foo1|(<L> = foo1@fun <anonymous>(): R|kotlin/Int!| <inline=NoInline> {
Q|JavaClass|.R|/JavaClass.foo1*s|(<L> = foo1@fun <anonymous>(): R|kotlin/Int!| <inline=NoInline> {
^ Int(123)
}
)
Q|JavaClass|.R|/JavaClass.foo2|(<L> = foo2@fun <anonymous>(it: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
Q|JavaClass|.R|/JavaClass.foo2*s|(<L> = foo2@fun <anonymous>(it: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
^ R|<local>/it|.R|kotlin/Int.plus|(Int(2)).R|kotlin/Int.toString|()
}
)
Q|JavaClass|.R|/JavaClass.foo2|(foo2@fun <anonymous>(it: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
Q|JavaClass|.R|/JavaClass.foo2*s|(foo2@fun <anonymous>(it: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
^ R|<local>/it|.R|kotlin/Int.plus|(Int(3)).R|kotlin/Int.toString|()
}
)
@@ -16,8 +16,8 @@ FILE: main.kt
^ R|<local>/x|.R|kotlin/Int.toString|()
}
Q|JavaClass|.R|/JavaClass.foo2|(R|<local>/y|)
Q|JavaClass|.R|/JavaClass.foo3|<R|kotlin/Int!|>(foo3@fun <anonymous>(it: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
Q|JavaClass|.R|/JavaClass.foo2*s|(R|<local>/y|)
Q|JavaClass|.R|/JavaClass.foo3*s|<R|kotlin/Int!|>(foo3@fun <anonymous>(it: R|kotlin/Int!|): R|kotlin/String!| <inline=NoInline> {
^ R|<local>/it|.R|kotlin/Int.plus|(Int(4)).R|kotlin/Int.toString|()
}
, Int(5))
@@ -6,18 +6,18 @@ FILE: k.kt
super<R|kotlin/Any|>()
}
public final val p1: R|kotlin/Int| = Q|j/JavaPackageLocal|.R|j/JavaPackageLocal.javaPPackage<HIDDEN: j/JavaPackageLocal.javaPPackage is invisible>#|
public final val p1: R|kotlin/Int| = Q|j/JavaPackageLocal|.R|j/JavaPackageLocal.javaPPackage*s<HIDDEN: j/JavaPackageLocal.javaPPackage is invisible>#|
public get(): R|kotlin/Int|
public final val p2: R|kotlin/Int| = Q|j/JavaProtected|.R|j/JavaProtected.javaPProtectedStatic<HIDDEN: j/JavaProtected.javaPProtectedStatic is invisible>#|
public final val p2: R|kotlin/Int| = Q|j/JavaProtected|.R|j/JavaProtected.javaPProtectedStatic*s<HIDDEN: j/JavaProtected.javaPProtectedStatic is invisible>#|
public get(): R|kotlin/Int|
public final val p3: R|kotlin/Int| = R|j/JavaProtected.JavaProtected|().R|j/JavaProtected.javaPProtectedPackage<HIDDEN: j/JavaProtected.javaPProtectedPackage is invisible>#|
public get(): R|kotlin/Int|
public final fun test(): R|kotlin/Unit| {
Q|j/JavaProtected|.R|j/JavaProtected.javaMProtectedStatic<HIDDEN: j/JavaProtected.javaMProtectedStatic is invisible>#|()
Q|j/JavaPackageLocal|.R|j/JavaPackageLocal.javaMPackage<HIDDEN: j/JavaPackageLocal.javaMPackage is invisible>#|()
Q|j/JavaProtected|.R|j/JavaProtected.javaMProtectedStatic*s<HIDDEN: j/JavaProtected.javaMProtectedStatic is invisible>#|()
Q|j/JavaPackageLocal|.R|j/JavaPackageLocal.javaMPackage*s<HIDDEN: j/JavaPackageLocal.javaMPackage is invisible>#|()
}
}
@@ -26,18 +26,18 @@ FILE: k.kt
super<R|j/JavaProtected|>()
}
public final val p1: R|kotlin/Int| = Q|j/JavaPackageLocal|.R|j/JavaPackageLocal.javaPPackage<HIDDEN: j/JavaPackageLocal.javaPPackage is invisible>#|
public final val p1: R|kotlin/Int| = Q|j/JavaPackageLocal|.R|j/JavaPackageLocal.javaPPackage*s<HIDDEN: j/JavaPackageLocal.javaPPackage is invisible>#|
public get(): R|kotlin/Int|
public final val p2: R|kotlin/Int| = Q|j/JavaProtected|.R|j/JavaProtected.javaPProtectedStatic|
public final val p2: R|kotlin/Int| = Q|j/JavaProtected|.R|j/JavaProtected.javaPProtectedStatic*s|
public get(): R|kotlin/Int|
public final val p3: R|kotlin/Int| = this@R|k/B|.R|j/JavaProtected.javaPProtectedPackage|
public get(): R|kotlin/Int|
public final fun test(): R|kotlin/Unit| {
Q|j/JavaProtected|.R|j/JavaProtected.javaMProtectedStatic|()
Q|j/JavaPackageLocal|.R|j/JavaPackageLocal.javaMPackage<HIDDEN: j/JavaPackageLocal.javaMPackage is invisible>#|()
Q|j/JavaProtected|.R|j/JavaProtected.javaMProtectedStatic*s|()
Q|j/JavaPackageLocal|.R|j/JavaPackageLocal.javaMPackage*s<HIDDEN: j/JavaPackageLocal.javaMPackage is invisible>#|()
}
}
@@ -49,19 +49,19 @@ FILE: j.kt
super<R|kotlin/Any|>()
}
public final val p1: R|kotlin/Int| = Q|j/JavaPackageLocal|.R|j/JavaPackageLocal.javaPPackage|
public final val p1: R|kotlin/Int| = Q|j/JavaPackageLocal|.R|j/JavaPackageLocal.javaPPackage*s|
public get(): R|kotlin/Int|
public final val p2: R|kotlin/Int| = Q|j/JavaProtected|.R|j/JavaProtected.javaPProtectedStatic|
public final val p2: R|kotlin/Int| = Q|j/JavaProtected|.R|j/JavaProtected.javaPProtectedStatic*s|
public get(): R|kotlin/Int|
public final val p3: R|kotlin/Int| = R|j/JavaProtected.JavaProtected|().R|j/JavaProtected.javaPProtectedPackage|
public get(): R|kotlin/Int|
public final fun test(): R|kotlin/Unit| {
Q|j/JavaProtected|.R|j/JavaProtected.javaMProtectedStatic|()
Q|j/JavaProtected|.R|j/JavaProtected.javaMProtectedStatic|()
Q|j/JavaPackageLocal|.R|j/JavaPackageLocal.javaMPackage|()
Q|j/JavaProtected|.R|j/JavaProtected.javaMProtectedStatic*s|()
Q|j/JavaProtected|.R|j/JavaProtected.javaMProtectedStatic*s|()
Q|j/JavaPackageLocal|.R|j/JavaPackageLocal.javaMPackage*s|()
}
}
@@ -7,6 +7,6 @@ FILE: K1.kt
}
FILE: K2.kt
public final fun main(): R|kotlin/Unit| {
Q|JavaClass|.R|/JavaClass.baz|(R|/KotlinClass.KotlinClass|())
Q|JavaClass|.R|/JavaClass.baz<Inapplicable(INAPPLICABLE): /JavaClass.baz>#|(String())
Q|JavaClass|.R|/JavaClass.baz*s|(R|/KotlinClass.KotlinClass|())
Q|JavaClass|.R|/JavaClass.baz*s<Inapplicable(INAPPLICABLE): /JavaClass.baz>#|(String())
}
@@ -7,8 +7,8 @@ FILE: K1.kt
}
FILE: K2.kt
public final fun main(): R|kotlin/Unit| {
Q|JavaClass|.R|/JavaClass.baz|(R|/KotlinClass.KotlinClass|<R|kotlin/Int!|>())
Q|JavaClass|.R|/JavaClass.baz|(R|/KotlinClass.KotlinClass|<R|kotlin/Int|>())
Q|JavaClass|.R|/JavaClass.baz<Inapplicable(INAPPLICABLE): /JavaClass.baz>#|(R|/KotlinClass.KotlinClass|<R|kotlin/String|>())
Q|JavaClass|.R|/JavaClass.baz<Inapplicable(INAPPLICABLE): /JavaClass.baz>#|(String())
Q|JavaClass|.R|/JavaClass.baz*s|(R|/KotlinClass.KotlinClass|<R|kotlin/Int!|>())
Q|JavaClass|.R|/JavaClass.baz*s|(R|/KotlinClass.KotlinClass|<R|kotlin/Int|>())
Q|JavaClass|.R|/JavaClass.baz*s<Inapplicable(INAPPLICABLE): /JavaClass.baz>#|(R|/KotlinClass.KotlinClass|<R|kotlin/String|>())
Q|JavaClass|.R|/JavaClass.baz*s<Inapplicable(INAPPLICABLE): /JavaClass.baz>#|(String())
}
@@ -1,6 +1,6 @@
FILE: test.kt
public final fun test(): R|kotlin/Unit| {
lval logger: R|Logger!| = Q|Logger|.R|/Logger.getInstance|(String(test))
lval logger: R|Logger!| = Q|Logger|.R|/Logger.getInstance*s|(String(test))
}
public final class MyTest : R|kotlin/Any| {
public constructor(): R|MyTest| {
@@ -10,7 +10,7 @@ FILE: test.kt
private final val klass: R|java/lang/Class<out MyTest>| = <getClass>(this@R|/MyTest|).R|kotlin/jvm/java|<R|CapturedType(out MyTest)|>
private get(): R|java/lang/Class<out MyTest>|
private final val logger: R|Logger!| = Q|Logger|.R|/Logger.getInstance|(this@R|/MyTest|.R|/MyTest.klass|)
private final val logger: R|Logger!| = Q|Logger|.R|/Logger.getInstance*s|(this@R|/MyTest|.R|/MyTest.klass|)
private get(): R|Logger!|
}
@@ -6,5 +6,5 @@ FILE: test.kt
}
public final fun test(list: R|kotlin/collections/ArrayList<Some>|): R|kotlin/Unit| {
Q|JavaClass|.R|/JavaClass.foo|(R|<local>/list|)
Q|JavaClass|.R|/JavaClass.foo*s|(R|<local>/list|)
}
@@ -1,5 +1,5 @@
FILE: main.kt
public final fun test(): R|kotlin/Unit| {
lval project: R|kotlin/String| = Q|PlatformDataKeys|.R|/CommonDataKeys.PROJECT|
lval project: R|kotlin/String| = Q|PlatformDataKeys|.R|/CommonDataKeys.PROJECT*s|
lval member: R|kotlin/String!| = R|/PlatformDataKeys.PlatformDataKeys|().R|/CommonDataKeys.MEMBER|
}
@@ -13,7 +13,7 @@ FILE: User.kt
protected abstract fun createSettings(): R|T|
public final fun foo(): R|kotlin/Unit| {
this@R|/User|.R|/User.settings| = Q|StaticOwner|.R|/StaticOwner.newInstance|<R|T!|>(this@R|/User|.R|/User.settings|.R|kotlin/jvm/javaClass|<R|T!|>)
this@R|/User|.R|/User.settings| = Q|StaticOwner|.R|/StaticOwner.newInstance*s|<R|T!|>(this@R|/User|.R|/User.settings|.R|kotlin/jvm/javaClass|<R|T!|>)
}
}
@@ -1,4 +1,4 @@
FILE: main.kt
public final fun bar(bindingContext: R|BindingContext|): R|kotlin/Unit| {
R|<local>/bindingContext|.R|/BindingContext.get|<R|kotlin/String!|, R|kotlin/Double!|>(Q|Slices|.R|/Slices.X|, R|<local>/bindingContext|.R|/BindingContext.get|<R|kotlin/Int!|, R|kotlin/String!|>(Q|Slices|.R|/Slices.Y|, Int(1)))
R|<local>/bindingContext|.R|/BindingContext.get|<R|kotlin/String!|, R|kotlin/Double!|>(Q|Slices|.R|/Slices.X*s|, R|<local>/bindingContext|.R|/BindingContext.get|<R|kotlin/Int!|, R|kotlin/String!|>(Q|Slices|.R|/Slices.Y*s|, Int(1)))
}
@@ -4,5 +4,5 @@ FILE: main.kt
public final typealias ImmutableLinkedHashSet<E> = R|imm/LinkedHashSet<E>|
private final typealias ImmutableMultimap<K, V> = R|ImmutableMap<K, ImmutableSet<V>>|
private final fun <K, V> R|ImmutableMultimap<K, V>|.put(key: R|K|, value: R|V|): R|kotlin/Unit| {
this@R|/put|.R|SubstitutionOverride<imm/Map.get: R|ft<imm/Option<ft<ImmutableSet<V>, ImmutableSet<V>?>>, imm/Option<ft<ImmutableSet<V>, ImmutableSet<V>?>>?>|>|(R|<local>/key|).R|SubstitutionOverride<imm/Option.getOrElse: R|ft<ImmutableSet<V>, ImmutableSet<V>?>|>|(Q|ImmutableLinkedHashSet|.R|imm/LinkedHashSet.empty|<R|V|>())
this@R|/put|.R|SubstitutionOverride<imm/Map.get: R|ft<imm/Option<ft<ImmutableSet<V>, ImmutableSet<V>?>>, imm/Option<ft<ImmutableSet<V>, ImmutableSet<V>?>>?>|>|(R|<local>/key|).R|SubstitutionOverride<imm/Option.getOrElse: R|ft<ImmutableSet<V>, ImmutableSet<V>?>|>|(Q|ImmutableLinkedHashSet|.R|imm/LinkedHashSet.empty*s|<R|V|>())
}
@@ -1,5 +1,5 @@
FILE: main.kt
public final fun foo(): R|kotlin/Unit| {
Q|JavaEnum|.R|/JavaEnum.values|()
Q|JavaEnum|.R|/JavaEnum.valueOf|(String())
Q|JavaEnum|.R|/JavaEnum.values*s|()
Q|JavaEnum|.R|/JavaEnum.valueOf*s|(String())
}
@@ -1,4 +1,4 @@
FILE: test.kt
public final fun main(): R|kotlin/Unit| {
Q|Sample|.R|/Sample.foo<Inapplicable(INAPPLICABLE): /Sample.foo>#|(String(123))
Q|Sample|.R|/Sample.foo*s<Inapplicable(INAPPLICABLE): /Sample.foo>#|(String(123))
}
@@ -2,8 +2,8 @@ FILE: test.kt
public final fun foo(): R|kotlin/Unit| {
lval externalsMap: R|kotlin/collections/MutableMap<java/io/File, kotlin/String?>| = R|kotlin/collections/mutableMapOf|<R|java/io/File|, R|kotlin/String?|>()
local final fun test(file: R|java/io/File|): R|kotlin/Unit| {
lval base: R|java/io/File!| = Q|your/ContainerUtil|.R|your/ContainerUtil.find|<R|java/io/File!|>(R|<local>/externalsMap|.R|SubstitutionOverride<kotlin/collections/MutableMap.keys: R|kotlin/collections/MutableSet<java/io/File>|>|, <L> = find@fun <anonymous>(it: R|java/io/File!|): R|kotlin/Boolean| <inline=NoInline> {
^ Q|my/FileUtil|.R|my/FileUtil.isAncestor|(R|<local>/it|, R|<local>/file|, Boolean(false))
lval base: R|java/io/File!| = Q|your/ContainerUtil|.R|your/ContainerUtil.find*s|<R|java/io/File!|>(R|<local>/externalsMap|.R|SubstitutionOverride<kotlin/collections/MutableMap.keys: R|kotlin/collections/MutableSet<java/io/File>|>|, <L> = find@fun <anonymous>(it: R|java/io/File!|): R|kotlin/Boolean| <inline=NoInline> {
^ Q|my/FileUtil|.R|my/FileUtil.isAncestor*s|(R|<local>/it|, R|<local>/file|, Boolean(false))
}
)
}
@@ -11,11 +11,11 @@ FILE: test.kt
^baz String(12)
}
public final fun qux(): R|@R|SomeAnn|(value = Int(1)) @R|SomeAnn|(value = Int(2)) kotlin/String!| {
^qux Q|Some|.R|/Some.foo|().R|SubstitutionOverride<kotlin/collections/MutableList.get: R|@R|SomeAnn|(value = Int(1)) @R|SomeAnn|(value = Int(2)) kotlin/String!|>|(Int(0))
^qux Q|Some|.R|/Some.foo*s|().R|SubstitutionOverride<kotlin/collections/MutableList.get: R|@R|SomeAnn|(value = Int(1)) @R|SomeAnn|(value = Int(2)) kotlin/String!|>|(Int(0))
}
public final fun test(): R|kotlin/Unit| {
R|/foo|<R|@R|SomeAnn|(value = Int(1)) @R|SomeAnn|(value = Int(2)) kotlin/String!|>(foo@fun <anonymous>(): R|@R|SomeAnn|(value = Int(1)) @R|SomeAnn|(value = Int(2)) kotlin/String!| <inline=NoInline> {
^ Q|Some|.R|/Some.foo|().R|SubstitutionOverride<kotlin/collections/MutableList.get: R|@R|SomeAnn|(value = Int(1)) @R|SomeAnn|(value = Int(2)) kotlin/String!|>|(Int(0))
^ Q|Some|.R|/Some.foo*s|().R|SubstitutionOverride<kotlin/collections/MutableList.get: R|@R|SomeAnn|(value = Int(1)) @R|SomeAnn|(value = Int(2)) kotlin/String!|>|(Int(0))
}
)
R|/foo|<R|@R|Ann|() @R|Ann|() kotlin/String|>(foo@fun <anonymous>(): R|@R|Ann|() @R|Ann|() kotlin/String| <inline=NoInline> {