FIR: Fix rendered fir and DFA graph test data after safe-calls refactoring
^KT-38444 In Progress
This commit is contained in:
@@ -27,10 +27,10 @@ FILE: lambdaInLambda.kt
|
|||||||
R|/buildString|(<L> = buildString@fun R|StringBuilder|.<anonymous>(): R|kotlin/Unit| {
|
R|/buildString|(<L> = buildString@fun R|StringBuilder|.<anonymous>(): R|kotlin/Unit| {
|
||||||
this@R|special/anonymous|.R|/insert|<R|StringBuilder|, R|KDocTemplate|>(R|/KDocTemplate.KDocTemplate|(), <L> = insert@fun R|KDocTemplate|.<anonymous>(): R|kotlin/Unit| {
|
this@R|special/anonymous|.R|/insert|<R|StringBuilder|, R|KDocTemplate|>(R|/KDocTemplate.KDocTemplate|(), <L> = insert@fun R|KDocTemplate|.<anonymous>(): R|kotlin/Unit| {
|
||||||
this@R|special/anonymous|.R|/KDocTemplate.definition|(<L> = definition@fun R|StringBuilder|.<anonymous>(): R|kotlin/Unit| {
|
this@R|special/anonymous|.R|/KDocTemplate.definition|(<L> = definition@fun R|StringBuilder|.<anonymous>(): R|kotlin/Unit| {
|
||||||
^ R|<local>/ordinal|?.R|kotlin/let|<R|kotlin/Int|, R|kotlin/Unit|>(<L> = let@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
|
R|<local>/ordinal|?.{ $subj$.R|kotlin/let|<R|kotlin/Int|, R|kotlin/Unit|>(<L> = let@fun <anonymous>(it: R|kotlin/Int|): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
|
||||||
^@let Unit
|
^@let Unit
|
||||||
}
|
}
|
||||||
)
|
) }
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ FILE: main.kt
|
|||||||
}
|
}
|
||||||
public final fun test(): R|kotlin/Unit| {
|
public final fun test(): R|kotlin/Unit| {
|
||||||
lval processor: R|AdapterProcessor<ft<PsiMethod, PsiMethod?>!, ft<PsiClass, PsiClass?>!>| = R|/AdapterProcessor.AdapterProcessor|<R|ft<PsiMethod, PsiMethod?>!|, R|ft<PsiClass, PsiClass?>!|>(R|/Function|<R|ft<PsiMethod, PsiMethod?>!|, R|PsiClass?|>(<L> = Function@fun <anonymous>(method: R|PsiMethod?|): R|PsiClass?| {
|
lval processor: R|AdapterProcessor<ft<PsiMethod, PsiMethod?>!, ft<PsiClass, PsiClass?>!>| = R|/AdapterProcessor.AdapterProcessor|<R|ft<PsiMethod, PsiMethod?>!|, R|ft<PsiClass, PsiClass?>!|>(R|/Function|<R|ft<PsiMethod, PsiMethod?>!|, R|PsiClass?|>(<L> = Function@fun <anonymous>(method: R|PsiMethod?|): R|PsiClass?| {
|
||||||
^ R|<local>/method|?.R|/PsiMethod.containingClass|
|
^ R|<local>/method|?.{ $subj$.R|/PsiMethod.containingClass| }
|
||||||
}
|
}
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ FILE: bareTypes.kt
|
|||||||
public abstract interface MutableString : R|MutableA<kotlin/String>| {
|
public abstract interface MutableString : R|MutableA<kotlin/String>| {
|
||||||
}
|
}
|
||||||
public final fun test(a: R|A<kotlin/String>|): R|kotlin/Unit| {
|
public final fun test(a: R|A<kotlin/String>|): R|kotlin/Unit| {
|
||||||
(R|<local>/a| as? R|MutableA<kotlin/String>|)?.R|FakeOverride</MutableA.add: R|kotlin/Unit|>|(String())
|
(R|<local>/a| as? R|MutableA<kotlin/String>|)?.{ $subj$.R|FakeOverride</MutableA.add: R|kotlin/Unit|>|(String()) }
|
||||||
(R|<local>/a| as R|MutableA<kotlin/String>|).R|FakeOverride</MutableA.add: R|kotlin/Unit|>|(String())
|
(R|<local>/a| as R|MutableA<kotlin/String>|).R|FakeOverride</MutableA.add: R|kotlin/Unit|>|(String())
|
||||||
}
|
}
|
||||||
public final fun test2(a: R|A<kotlin/String>|): R|kotlin/Unit| {
|
public final fun test2(a: R|A<kotlin/String>|): R|kotlin/Unit| {
|
||||||
|
|||||||
+1
-1
@@ -62,7 +62,7 @@ digraph initBlockAndInPlaceLambda_kt {
|
|||||||
}
|
}
|
||||||
26 [label="Call arguments union" style="filled" fillcolor=yellow];
|
26 [label="Call arguments union" style="filled" fillcolor=yellow];
|
||||||
24 [label="Postponed exit from lambda"];
|
24 [label="Postponed exit from lambda"];
|
||||||
25 [label="Function call: R|<local>/a|.R|/A.b|?.R|kotlin/let|<R|B|, R|C|>(...)"];
|
25 [label="Function call: $subj$.R|kotlin/let|<R|B|, R|C|>(...)"];
|
||||||
22 [label="Exit safe call"];
|
22 [label="Exit safe call"];
|
||||||
27 [label="Variable declaration: lval c: R|C?|"];
|
27 [label="Variable declaration: lval c: R|C?|"];
|
||||||
28 [label="Exit block"];
|
28 [label="Exit block"];
|
||||||
|
|||||||
+2
-2
@@ -12,10 +12,10 @@ FILE: initBlockAndInPlaceLambda.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
lval c: R|C?| = R|<local>/a|.R|/A.b|?.R|kotlin/let|<R|B|, R|C|>(<L> = let@fun <anonymous>(it: R|B|): R|C| <kind=EXACTLY_ONCE> {
|
lval c: R|C?| = R|<local>/a|.R|/A.b|?.{ $subj$.R|kotlin/let|<R|B|, R|C|>(<L> = let@fun <anonymous>(it: R|B|): R|C| <kind=EXACTLY_ONCE> {
|
||||||
^ R|/C.C|(R|<local>/a|, R|<local>/it|)
|
^ R|/C.C|(R|<local>/a|, R|<local>/it|)
|
||||||
}
|
}
|
||||||
)
|
) }
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,10 +62,10 @@ digraph safeCalls_kt {
|
|||||||
16 [label="Enter function test_1" style="filled" fillcolor=red];
|
16 [label="Enter function test_1" style="filled" fillcolor=red];
|
||||||
18 [label="Access variable R|<local>/x|"];
|
18 [label="Access variable R|<local>/x|"];
|
||||||
19 [label="Enter safe call"];
|
19 [label="Enter safe call"];
|
||||||
21 [label="Function call: R|<local>/x|?.R|/A.foo|()"];
|
21 [label="Function call: $subj$.R|/A.foo|()"];
|
||||||
20 [label="Exit safe call"];
|
20 [label="Exit safe call"];
|
||||||
22 [label="Enter safe call"];
|
22 [label="Enter safe call"];
|
||||||
24 [label="Function call: R|<local>/x|?.R|/A.foo|()?.R|/A.bar|()"];
|
24 [label="Function call: $subj$.R|/A.bar|()"];
|
||||||
23 [label="Exit safe call"];
|
23 [label="Exit safe call"];
|
||||||
17 [label="Exit function test_1" style="filled" fillcolor=red];
|
17 [label="Exit function test_1" style="filled" fillcolor=red];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ FILE: safeCalls.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun test_1(x: R|A?|): R|kotlin/Unit| {
|
public final fun test_1(x: R|A?|): R|kotlin/Unit| {
|
||||||
R|<local>/x|?.R|/A.foo|()?.R|/A.bar|()
|
R|<local>/x|?.{ $subj$.R|/A.foo|() }?.{ $subj$.R|/A.bar|() }
|
||||||
}
|
}
|
||||||
public final fun test_2(x: R|B?|): R|kotlin/Unit| {
|
public final fun test_2(x: R|B?|): R|kotlin/Unit| {
|
||||||
R|<local>/x|?.R|/B.foo|?.R|/B.bar|
|
R|<local>/x|?.{ $subj$.R|/B.foo| }?.{ $subj$.R|/B.bar| }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,12 +6,12 @@ FILE: companionObjectCall.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun case1(a: R|A?|): R|kotlin/Unit| {
|
public final fun case1(a: R|A?|): R|kotlin/Unit| {
|
||||||
lval test: R|kotlin/String?| = R|<local>/a|?.R|kotlin/let|<R|A|, R|kotlin/String|>(<L> = let@fun <anonymous>(it: R|A|): R|kotlin/String| <kind=EXACTLY_ONCE> {
|
lval test: R|kotlin/String?| = R|<local>/a|?.{ $subj$.R|kotlin/let|<R|A|, R|kotlin/String|>(<L> = let@fun <anonymous>(it: R|A|): R|kotlin/String| <kind=EXACTLY_ONCE> {
|
||||||
Q|Case1|.R|/Case1.Companion.invoke|(R|<local>/it|)
|
Q|Case1|.R|/Case1.Companion.invoke|(R|<local>/it|)
|
||||||
Q|Case1|.R|/Case1.Companion.invoke|(R|<local>/it|)
|
Q|Case1|.R|/Case1.Companion.invoke|(R|<local>/it|)
|
||||||
^ Q|Case1|.R|/Case1.Companion.invoke|(R|/A.A|())
|
^ Q|Case1|.R|/Case1.Companion.invoke|(R|/A.A|())
|
||||||
}
|
}
|
||||||
)
|
) }
|
||||||
Q|Case1|.R|/Case1.Companion.invoke|(R|/A.A|())
|
Q|Case1|.R|/Case1.Companion.invoke|(R|/A.A|())
|
||||||
Q|Case1|.R|/Case1.Companion.invoke|(a = R|/A.A|())
|
Q|Case1|.R|/Case1.Companion.invoke|(a = R|/A.A|())
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@ FILE: test.kt
|
|||||||
R|<local>/resolvedCall|.R|/ResolvedCall.resultingDescriptor|.R|/name|
|
R|<local>/resolvedCall|.R|/ResolvedCall.resultingDescriptor|.R|/name|
|
||||||
lval resolvedDescriptor: R|D?| = R|<local>/resolvedCall|.R|/ResolvedCall.candidateDescriptor|
|
lval resolvedDescriptor: R|D?| = R|<local>/resolvedCall|.R|/ResolvedCall.candidateDescriptor|
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/resolvedDescriptor|?.R|/correct|(), Boolean(true)) -> {
|
!=(R|<local>/resolvedDescriptor|?.{ $subj$.R|/correct|() }, Boolean(true)) -> {
|
||||||
^test Unit
|
^test Unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
FILE: extensionSafeCall.kt
|
FILE: extensionSafeCall.kt
|
||||||
public final fun bar(doIt: R|kotlin/Int.() -> kotlin/Int|): R|kotlin/Unit| {
|
public final fun bar(doIt: R|kotlin/Int.() -> kotlin/Int|): R|kotlin/Unit| {
|
||||||
lval i: R|kotlin/Int?| = Int(1)
|
lval i: R|kotlin/Int?| = Int(1)
|
||||||
R|<local>/i|?.<Inapplicable(INAPPLICABLE): [kotlin/Function1.invoke]>#()
|
R|<local>/i|?.{ R|<local>/doIt|.R|FakeOverride<kotlin/Function1.invoke: R|kotlin/Int|>|($subj$) }
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-9
@@ -16,7 +16,7 @@ FILE: test.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun test1(x: R|AnotherClass?|): R|kotlin/Unit| {
|
public final fun test1(x: R|AnotherClass?|): R|kotlin/Unit| {
|
||||||
lval bar: R|kotlin/CharSequence| = when (lval <elvis>: R|kotlin/CharSequence?| = R|<local>/x|?.R|/AnotherClass.bar|) {
|
lval bar: R|kotlin/CharSequence| = when (lval <elvis>: R|kotlin/CharSequence?| = R|<local>/x|?.{ $subj$.R|/AnotherClass.bar| }) {
|
||||||
==($subj$, Null(null)) -> {
|
==($subj$, Null(null)) -> {
|
||||||
^test1 Unit
|
^test1 Unit
|
||||||
}
|
}
|
||||||
@@ -28,7 +28,7 @@ FILE: test.kt
|
|||||||
R|<local>/x|.R|/AnotherClass.bar|
|
R|<local>/x|.R|/AnotherClass.bar|
|
||||||
}
|
}
|
||||||
public final fun test2(x: R|SomeClass?|): R|kotlin/Unit| {
|
public final fun test2(x: R|SomeClass?|): R|kotlin/Unit| {
|
||||||
lval bar: R|kotlin/CharSequence| = when (lval <elvis>: R|kotlin/CharSequence?| = R|<local>/x|?.R|/SomeClass.bar|) {
|
lval bar: R|kotlin/CharSequence| = when (lval <elvis>: R|kotlin/CharSequence?| = R|<local>/x|?.{ $subj$.R|/SomeClass.bar| }) {
|
||||||
==($subj$, Null(null)) -> {
|
==($subj$, Null(null)) -> {
|
||||||
^test2 Unit
|
^test2 Unit
|
||||||
}
|
}
|
||||||
@@ -40,7 +40,7 @@ FILE: test.kt
|
|||||||
R|<local>/x|.R|/SomeClass.bar|
|
R|<local>/x|.R|/SomeClass.bar|
|
||||||
}
|
}
|
||||||
public final fun test3(x: R|AnotherClass?|): R|kotlin/Unit| {
|
public final fun test3(x: R|AnotherClass?|): R|kotlin/Unit| {
|
||||||
lval bar: R|kotlin/CharSequence?| = R|<local>/x|?.R|/AnotherClass.bar|
|
lval bar: R|kotlin/CharSequence?| = R|<local>/x|?.{ $subj$.R|/AnotherClass.bar| }
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/bar|, Null(null)) -> {
|
!=(R|<local>/bar|, Null(null)) -> {
|
||||||
R|<local>/x|.R|/AnotherClass.bar|.R|kotlin/CharSequence.length|
|
R|<local>/x|.R|/AnotherClass.bar|.R|kotlin/CharSequence.length|
|
||||||
@@ -49,7 +49,7 @@ FILE: test.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun test4(x: R|SomeClass?|): R|kotlin/Unit| {
|
public final fun test4(x: R|SomeClass?|): R|kotlin/Unit| {
|
||||||
lval bar: R|kotlin/CharSequence?| = R|<local>/x|?.R|/SomeClass.bar|
|
lval bar: R|kotlin/CharSequence?| = R|<local>/x|?.{ $subj$.R|/SomeClass.bar| }
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/bar|, Null(null)) -> {
|
!=(R|<local>/bar|, Null(null)) -> {
|
||||||
R|<local>/x|.R|/SomeClass.bar|.<Inapplicable(WRONG_RECEIVER): [kotlin/CharSequence.length]>#
|
R|<local>/x|.R|/SomeClass.bar|.<Inapplicable(WRONG_RECEIVER): [kotlin/CharSequence.length]>#
|
||||||
@@ -58,7 +58,7 @@ FILE: test.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun test5(x: R|AnotherClass?|): R|kotlin/Unit| {
|
public final fun test5(x: R|AnotherClass?|): R|kotlin/Unit| {
|
||||||
lval bar: R|kotlin/String| = when (lval <elvis>: R|kotlin/String?| = (R|<local>/x|?.R|/AnotherClass.bar| as? R|kotlin/String|)) {
|
lval bar: R|kotlin/String| = when (lval <elvis>: R|kotlin/String?| = (R|<local>/x|?.{ $subj$.R|/AnotherClass.bar| } as? R|kotlin/String|)) {
|
||||||
==($subj$, Null(null)) -> {
|
==($subj$, Null(null)) -> {
|
||||||
^test5 Unit
|
^test5 Unit
|
||||||
}
|
}
|
||||||
@@ -70,7 +70,7 @@ FILE: test.kt
|
|||||||
R|<local>/x|.R|/AnotherClass.foo|
|
R|<local>/x|.R|/AnotherClass.foo|
|
||||||
}
|
}
|
||||||
public final fun test6(x: R|SomeClass?|): R|kotlin/Unit| {
|
public final fun test6(x: R|SomeClass?|): R|kotlin/Unit| {
|
||||||
lval bar: R|kotlin/String| = when (lval <elvis>: R|kotlin/String?| = (R|<local>/x|?.R|/SomeClass.bar| as? R|kotlin/String|)) {
|
lval bar: R|kotlin/String| = when (lval <elvis>: R|kotlin/String?| = (R|<local>/x|?.{ $subj$.R|/SomeClass.bar| } as? R|kotlin/String|)) {
|
||||||
==($subj$, Null(null)) -> {
|
==($subj$, Null(null)) -> {
|
||||||
^test6 Unit
|
^test6 Unit
|
||||||
}
|
}
|
||||||
@@ -82,7 +82,7 @@ FILE: test.kt
|
|||||||
R|<local>/x|.R|/SomeClass.foo|
|
R|<local>/x|.R|/SomeClass.foo|
|
||||||
}
|
}
|
||||||
public final fun test7(x: R|AnotherClass?|): R|kotlin/Unit| {
|
public final fun test7(x: R|AnotherClass?|): R|kotlin/Unit| {
|
||||||
lval baz: R|kotlin/Boolean| = when (lval <elvis>: R|kotlin/Boolean?| = (R|<local>/x|?.R|/AnotherClass.baz|() as? R|kotlin/Boolean|)) {
|
lval baz: R|kotlin/Boolean| = when (lval <elvis>: R|kotlin/Boolean?| = (R|<local>/x|?.{ $subj$.R|/AnotherClass.baz|() } as? R|kotlin/Boolean|)) {
|
||||||
==($subj$, Null(null)) -> {
|
==($subj$, Null(null)) -> {
|
||||||
^test7 Unit
|
^test7 Unit
|
||||||
}
|
}
|
||||||
@@ -94,7 +94,7 @@ FILE: test.kt
|
|||||||
R|<local>/x|.R|/AnotherClass.foo|
|
R|<local>/x|.R|/AnotherClass.foo|
|
||||||
}
|
}
|
||||||
public final fun test8(x: R|AnotherClass?|): R|kotlin/Unit| {
|
public final fun test8(x: R|AnotherClass?|): R|kotlin/Unit| {
|
||||||
lval bar: R|kotlin/CharSequence| = when (lval <elvis>: R|kotlin/CharSequence?| = R|<local>/x|?.R|/AnotherClass.bar|) {
|
lval bar: R|kotlin/CharSequence| = when (lval <elvis>: R|kotlin/CharSequence?| = R|<local>/x|?.{ $subj$.R|/AnotherClass.bar| }) {
|
||||||
==($subj$, Null(null)) -> {
|
==($subj$, Null(null)) -> {
|
||||||
^test8 Unit
|
^test8 Unit
|
||||||
}
|
}
|
||||||
@@ -106,7 +106,7 @@ FILE: test.kt
|
|||||||
R|<local>/x|.R|/AnotherClass.foo|
|
R|<local>/x|.R|/AnotherClass.foo|
|
||||||
}
|
}
|
||||||
public final fun test9(x: R|AnotherClass?|): R|kotlin/Unit| {
|
public final fun test9(x: R|AnotherClass?|): R|kotlin/Unit| {
|
||||||
lval baz: R|kotlin/Any| = when (lval <elvis>: R|kotlin/Any?| = R|<local>/x|?.R|/AnotherClass.baz|()) {
|
lval baz: R|kotlin/Any| = when (lval <elvis>: R|kotlin/Any?| = R|<local>/x|?.{ $subj$.R|/AnotherClass.baz|() }) {
|
||||||
==($subj$, Null(null)) -> {
|
==($subj$, Null(null)) -> {
|
||||||
^test9 Unit
|
^test9 Unit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,21 +13,21 @@ FILE: lambdaArgInScopeFunction.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun case1(kotlinClass: R|KotlinClass?|): R|kotlin/Unit| {
|
public final fun case1(kotlinClass: R|KotlinClass?|): R|kotlin/Unit| {
|
||||||
lval value: R|KotlinClass?| = R|<local>/kotlinClass|?.R|kotlin/let|<R|KotlinClass|, R|KotlinClass|>(<L> = let@fun <anonymous>(it: R|KotlinClass|): R|KotlinClass| <kind=EXACTLY_ONCE> {
|
lval value: R|KotlinClass?| = R|<local>/kotlinClass|?.{ $subj$.R|kotlin/let|<R|KotlinClass|, R|KotlinClass|>(<L> = let@fun <anonymous>(it: R|KotlinClass|): R|KotlinClass| <kind=EXACTLY_ONCE> {
|
||||||
^ R|<local>/it|
|
^ R|<local>/it|
|
||||||
}
|
}
|
||||||
)
|
) }
|
||||||
R|<local>/value|.R|tests/_checkType/checkType|<R|KotlinClass?|>(<L> = checkType@fun R|tests/_checkType/Inv<KotlinClass?>|.<anonymous>(): R|kotlin/Unit| {
|
R|<local>/value|.R|tests/_checkType/checkType|<R|KotlinClass?|>(<L> = checkType@fun R|tests/_checkType/Inv<KotlinClass?>|.<anonymous>(): R|kotlin/Unit| {
|
||||||
this@R|special/anonymous|.R|tests/_checkType/_|<R|KotlinClass?|>()
|
this@R|special/anonymous|.R|tests/_checkType/_|<R|KotlinClass?|>()
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
lval lambda: R|() -> KotlinClass| = R|<local>/kotlinClass|?.R|kotlin/let|<R|KotlinClass|, R|() -> KotlinClass|>(<L> = let@fun <anonymous>(it: R|KotlinClass|): R|() -> KotlinClass| <kind=EXACTLY_ONCE> {
|
lval lambda: R|() -> KotlinClass| = R|<local>/kotlinClass|?.{ $subj$.R|kotlin/let|<R|KotlinClass|, R|() -> KotlinClass|>(<L> = let@fun <anonymous>(it: R|KotlinClass|): R|() -> KotlinClass| <kind=EXACTLY_ONCE> {
|
||||||
^ let@fun <anonymous>(): R|KotlinClass| {
|
^ let@fun <anonymous>(): R|KotlinClass| {
|
||||||
^ R|<local>/it|
|
^ R|<local>/it|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
)
|
) }
|
||||||
R|<local>/lambda|.R|tests/_checkType/checkType|<R|() -> KotlinClass|>(<L> = checkType@fun R|tests/_checkType/Inv<kotlin/Function0<KotlinClass>?>|.<anonymous>(): R|kotlin/Unit| {
|
R|<local>/lambda|.R|tests/_checkType/checkType|<R|() -> KotlinClass|>(<L> = checkType@fun R|tests/_checkType/Inv<kotlin/Function0<KotlinClass>?>|.<anonymous>(): R|kotlin/Unit| {
|
||||||
^ <Inapplicable(WRONG_RECEIVER): [tests/_checkType/_]>#<R|(kotlin/Unit) -> KotlinClass?|>()
|
^ <Inapplicable(WRONG_RECEIVER): [tests/_checkType/_]>#<R|(kotlin/Unit) -> KotlinClass?|>()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,6 @@ FILE: safeCallInvoke.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun main(b: R|B?|): R|kotlin/Unit| {
|
public final fun main(b: R|B?|): R|kotlin/Unit| {
|
||||||
R|<local>/b|?.R|/B.bar|?.R|FakeOverride<kotlin/Function0.invoke: R|kotlin/Unit|>|()
|
R|<local>/b|?.{ $subj$.R|/B.bar|.R|FakeOverride<kotlin/Function0.invoke: R|kotlin/Unit|>|() }
|
||||||
R|<local>/b|?.R|/B.foo|?.R|/A.invoke|()
|
R|<local>/b|?.{ $subj$.R|/B.foo|.R|/A.invoke|() }
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+2
-2
@@ -92,8 +92,8 @@ FILE: boundSmartcasts.kt
|
|||||||
R|<local>/d1|.R|/D.any|.R|/baz|()
|
R|<local>/d1|.R|/D.any|.R|/baz|()
|
||||||
}
|
}
|
||||||
public final fun test_7(d1: R|D|, d2: R|D|): R|kotlin/Unit| {
|
public final fun test_7(d1: R|D|, d2: R|D|): R|kotlin/Unit| {
|
||||||
lval a: R|kotlin/Any?| = R|<local>/d1|?.R|/D.any|
|
lval a: R|kotlin/Any?| = R|<local>/d1|?.{ $subj$.R|/D.any| }
|
||||||
lval b: R|kotlin/Any?| = R|<local>/d2|?.R|/D.any|
|
lval b: R|kotlin/Any?| = R|<local>/d2|?.{ $subj$.R|/D.any| }
|
||||||
(R|<local>/a| as R|A|)
|
(R|<local>/a| as R|A|)
|
||||||
R|<local>/a|.R|/A.foo|()
|
R|<local>/a|.R|/A.foo|()
|
||||||
(R|<local>/b| as R|B|)
|
(R|<local>/b| as R|B|)
|
||||||
|
|||||||
Vendored
+2
-2
@@ -76,7 +76,7 @@ digraph functionCallBound_kt {
|
|||||||
25 [label="Access variable R|<local>/base|"];
|
25 [label="Access variable R|<local>/base|"];
|
||||||
26 [label="Type operator: (R|<local>/base| as? R|Sub|)"];
|
26 [label="Type operator: (R|<local>/base| as? R|Sub|)"];
|
||||||
27 [label="Enter safe call"];
|
27 [label="Enter safe call"];
|
||||||
29 [label="Function call: (R|<local>/base| as? R|Sub|)?.R|/isOk|()"];
|
29 [label="Function call: $subj$.R|/isOk|()"];
|
||||||
28 [label="Exit safe call"];
|
28 [label="Exit safe call"];
|
||||||
30 [label="Const: Boolean(true)"];
|
30 [label="Const: Boolean(true)"];
|
||||||
31 [label="Operator =="];
|
31 [label="Operator =="];
|
||||||
@@ -107,7 +107,7 @@ digraph functionCallBound_kt {
|
|||||||
23 [label="Exit when"];
|
23 [label="Exit when"];
|
||||||
}
|
}
|
||||||
46 [label="Jump: ^check when () {
|
46 [label="Jump: ^check when () {
|
||||||
==((R|<local>/base| as? R|Sub|)?.R|/isOk|(), Boolean(true)) -> {
|
==((R|<local>/base| as? R|Sub|)?.{ $subj$.R|/isOk|() }, Boolean(true)) -> {
|
||||||
R|<local>/base|.R|/Sub.data|
|
R|<local>/base|.R|/Sub.data|
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
|
|||||||
Vendored
+1
-1
@@ -19,7 +19,7 @@ FILE: functionCallBound.kt
|
|||||||
}
|
}
|
||||||
public final fun check(base: R|Base|): R|Base| {
|
public final fun check(base: R|Base|): R|Base| {
|
||||||
^check when () {
|
^check when () {
|
||||||
==((R|<local>/base| as? R|Sub|)?.R|/isOk|(), Boolean(true)) -> {
|
==((R|<local>/base| as? R|Sub|)?.{ $subj$.R|/isOk|() }, Boolean(true)) -> {
|
||||||
R|<local>/base|.R|/Sub.data|
|
R|<local>/base|.R|/Sub.data|
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ FILE: elvis.kt
|
|||||||
}
|
}
|
||||||
public final fun test_1(x: R|A?|): R|kotlin/Unit| {
|
public final fun test_1(x: R|A?|): R|kotlin/Unit| {
|
||||||
when () {
|
when () {
|
||||||
when (lval <elvis>: R|kotlin/Boolean?| = R|<local>/x|?.R|/A.b|) {
|
when (lval <elvis>: R|kotlin/Boolean?| = R|<local>/x|?.{ $subj$.R|/A.b| }) {
|
||||||
==($subj$, Null(null)) -> {
|
==($subj$, Null(null)) -> {
|
||||||
^test_1 Unit
|
^test_1 Unit
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -74,7 +74,7 @@ FILE: returns.kt
|
|||||||
}
|
}
|
||||||
public final fun test_4(a: R|kotlin/Any?|): R|kotlin/Unit| {
|
public final fun test_4(a: R|kotlin/Any?|): R|kotlin/Unit| {
|
||||||
lval s: R|kotlin/String?| = (R|<local>/a| as? R|kotlin/String|)
|
lval s: R|kotlin/String?| = (R|<local>/a| as? R|kotlin/String|)
|
||||||
lval length: R|kotlin/Int| = when (lval <elvis>: R|kotlin/Int?| = R|<local>/s|?.R|/ext|) {
|
lval length: R|kotlin/Int| = when (lval <elvis>: R|kotlin/Int?| = R|<local>/s|?.{ $subj$.R|/ext| }) {
|
||||||
==($subj$, Null(null)) -> {
|
==($subj$, Null(null)) -> {
|
||||||
^test_4 Unit
|
^test_4 Unit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -440,7 +440,7 @@ digraph nullability_kt {
|
|||||||
150 [label="Enter when branch condition "];
|
150 [label="Enter when branch condition "];
|
||||||
151 [label="Access variable R|<local>/x|"];
|
151 [label="Access variable R|<local>/x|"];
|
||||||
152 [label="Enter safe call"];
|
152 [label="Enter safe call"];
|
||||||
154 [label="Function call: R|<local>/x|?.R|/A.getA|()"];
|
154 [label="Function call: $subj$.R|/A.getA|()"];
|
||||||
153 [label="Exit safe call"];
|
153 [label="Exit safe call"];
|
||||||
155 [label="Const: Null(null)"];
|
155 [label="Const: Null(null)"];
|
||||||
156 [label="Operator =="];
|
156 [label="Operator =="];
|
||||||
@@ -501,7 +501,7 @@ digraph nullability_kt {
|
|||||||
178 [label="Access variable R|/MyData.s|"];
|
178 [label="Access variable R|/MyData.s|"];
|
||||||
177 [label="Exit safe call"];
|
177 [label="Exit safe call"];
|
||||||
179 [label="Enter safe call"];
|
179 [label="Enter safe call"];
|
||||||
181 [label="Function call: R|<local>/q|?.R|/Q.data|?.R|/MyData.s|?.R|kotlin/Int.inc|()"];
|
181 [label="Function call: $subj$.R|kotlin/Int.inc|()"];
|
||||||
180 [label="Exit safe call"];
|
180 [label="Exit safe call"];
|
||||||
182 [label="Const: Null(null)"];
|
182 [label="Const: Null(null)"];
|
||||||
183 [label="Operator !="];
|
183 [label="Operator !="];
|
||||||
@@ -574,7 +574,7 @@ digraph nullability_kt {
|
|||||||
209 [label="Access variable R|/MyData.s|"];
|
209 [label="Access variable R|/MyData.s|"];
|
||||||
208 [label="Exit safe call"];
|
208 [label="Exit safe call"];
|
||||||
210 [label="Enter safe call"];
|
210 [label="Enter safe call"];
|
||||||
212 [label="Function call: R|<local>/q|?.R|/Q.data|?.R|/MyData.s|?.R|kotlin/Int.inc|()"];
|
212 [label="Function call: $subj$.R|kotlin/Int.inc|()"];
|
||||||
211 [label="Exit safe call"];
|
211 [label="Exit safe call"];
|
||||||
213 [label="Variable declaration: lval <elvis>: R|kotlin/Int?|"];
|
213 [label="Variable declaration: lval <elvis>: R|kotlin/Int?|"];
|
||||||
subgraph cluster_55 {
|
subgraph cluster_55 {
|
||||||
@@ -672,13 +672,13 @@ digraph nullability_kt {
|
|||||||
244 [label="Enter when branch condition "];
|
244 [label="Enter when branch condition "];
|
||||||
245 [label="Access variable R|<local>/q|"];
|
245 [label="Access variable R|<local>/q|"];
|
||||||
246 [label="Enter safe call"];
|
246 [label="Enter safe call"];
|
||||||
248 [label="Function call: R|<local>/q|?.R|/Q.fdata|()"];
|
248 [label="Function call: $subj$.R|/Q.fdata|()"];
|
||||||
247 [label="Exit safe call"];
|
247 [label="Exit safe call"];
|
||||||
249 [label="Enter safe call"];
|
249 [label="Enter safe call"];
|
||||||
251 [label="Function call: R|<local>/q|?.R|/Q.fdata|()?.R|/MyData.fs|()"];
|
251 [label="Function call: $subj$.R|/MyData.fs|()"];
|
||||||
250 [label="Exit safe call"];
|
250 [label="Exit safe call"];
|
||||||
252 [label="Enter safe call"];
|
252 [label="Enter safe call"];
|
||||||
254 [label="Function call: R|<local>/q|?.R|/Q.fdata|()?.R|/MyData.fs|()?.R|kotlin/Int.inc|()"];
|
254 [label="Function call: $subj$.R|kotlin/Int.inc|()"];
|
||||||
253 [label="Exit safe call"];
|
253 [label="Exit safe call"];
|
||||||
255 [label="Const: Null(null)"];
|
255 [label="Const: Null(null)"];
|
||||||
256 [label="Operator !="];
|
256 [label="Operator !="];
|
||||||
@@ -1140,7 +1140,7 @@ digraph nullability_kt {
|
|||||||
431 [label="Access variable R|/MyData.s|"];
|
431 [label="Access variable R|/MyData.s|"];
|
||||||
430 [label="Exit safe call"];
|
430 [label="Exit safe call"];
|
||||||
432 [label="Enter safe call"];
|
432 [label="Enter safe call"];
|
||||||
434 [label="Function call: R|<local>/q|?.R|/QImpl.data|?.R|/MyData.s|?.R|kotlin/Int.inc|()"];
|
434 [label="Function call: $subj$.R|kotlin/Int.inc|()"];
|
||||||
433 [label="Exit safe call"];
|
433 [label="Exit safe call"];
|
||||||
435 [label="Const: Null(null)"];
|
435 [label="Const: Null(null)"];
|
||||||
436 [label="Operator !="];
|
436 [label="Operator !="];
|
||||||
@@ -1283,7 +1283,7 @@ digraph nullability_kt {
|
|||||||
492 [label="Access variable R|/MyData.s|"];
|
492 [label="Access variable R|/MyData.s|"];
|
||||||
491 [label="Exit safe call"];
|
491 [label="Exit safe call"];
|
||||||
493 [label="Enter safe call"];
|
493 [label="Enter safe call"];
|
||||||
495 [label="Function call: R|<local>/q|?.R|/QImplWithCustomGetter.data|?.R|/MyData.s|?.R|kotlin/Int.inc|()"];
|
495 [label="Function call: $subj$.R|kotlin/Int.inc|()"];
|
||||||
494 [label="Exit safe call"];
|
494 [label="Exit safe call"];
|
||||||
496 [label="Const: Null(null)"];
|
496 [label="Const: Null(null)"];
|
||||||
497 [label="Operator !="];
|
497 [label="Operator !="];
|
||||||
@@ -1359,7 +1359,7 @@ digraph nullability_kt {
|
|||||||
524 [label="Access variable R|/MyData.s|"];
|
524 [label="Access variable R|/MyData.s|"];
|
||||||
523 [label="Exit safe call"];
|
523 [label="Exit safe call"];
|
||||||
525 [label="Enter safe call"];
|
525 [label="Enter safe call"];
|
||||||
527 [label="Function call: R|<local>/q|?.R|/QImplMutable.data|?.R|/MyData.s|?.R|kotlin/Int.inc|()"];
|
527 [label="Function call: $subj$.R|kotlin/Int.inc|()"];
|
||||||
526 [label="Exit safe call"];
|
526 [label="Exit safe call"];
|
||||||
528 [label="Const: Null(null)"];
|
528 [label="Const: Null(null)"];
|
||||||
529 [label="Operator !="];
|
529 [label="Operator !="];
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ FILE: nullability.kt
|
|||||||
}
|
}
|
||||||
public final fun test_4(x: R|A?|): R|kotlin/Unit| {
|
public final fun test_4(x: R|A?|): R|kotlin/Unit| {
|
||||||
when () {
|
when () {
|
||||||
==(R|<local>/x|?.R|/A.getA|(), Null(null)) -> {
|
==(R|<local>/x|?.{ $subj$.R|/A.getA|() }, Null(null)) -> {
|
||||||
^test_4 Unit
|
^test_4 Unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -108,7 +108,7 @@ FILE: nullability.kt
|
|||||||
}
|
}
|
||||||
public final fun test_5(q: R|Q?|): R|kotlin/Unit| {
|
public final fun test_5(q: R|Q?|): R|kotlin/Unit| {
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/q|?.R|/Q.data|?.R|/MyData.s|?.R|kotlin/Int.inc|(), Null(null)) -> {
|
!=(R|<local>/q|?.{ $subj$.R|/Q.data| }?.{ $subj$.R|/MyData.s| }?.{ $subj$.R|kotlin/Int.inc|() }, Null(null)) -> {
|
||||||
R|<local>/q|.R|/Q.data|
|
R|<local>/q|.R|/Q.data|
|
||||||
R|<local>/q|.R|/Q.data|.<Inapplicable(WRONG_RECEIVER): [/MyData.s]>#
|
R|<local>/q|.R|/Q.data|.<Inapplicable(WRONG_RECEIVER): [/MyData.s]>#
|
||||||
R|<local>/q|.R|/Q.data|.<Inapplicable(WRONG_RECEIVER): [/MyData.s]>#.<Unresolved name: inc>#()
|
R|<local>/q|.R|/Q.data|.<Inapplicable(WRONG_RECEIVER): [/MyData.s]>#.<Unresolved name: inc>#()
|
||||||
@@ -117,7 +117,7 @@ FILE: nullability.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun test_6(q: R|Q?|): R|kotlin/Unit| {
|
public final fun test_6(q: R|Q?|): R|kotlin/Unit| {
|
||||||
when (lval <elvis>: R|kotlin/Int?| = R|<local>/q|?.R|/Q.data|?.R|/MyData.s|?.R|kotlin/Int.inc|()) {
|
when (lval <elvis>: R|kotlin/Int?| = R|<local>/q|?.{ $subj$.R|/Q.data| }?.{ $subj$.R|/MyData.s| }?.{ $subj$.R|kotlin/Int.inc|() }) {
|
||||||
==($subj$, Null(null)) -> {
|
==($subj$, Null(null)) -> {
|
||||||
^test_6 Unit
|
^test_6 Unit
|
||||||
}
|
}
|
||||||
@@ -132,7 +132,7 @@ FILE: nullability.kt
|
|||||||
}
|
}
|
||||||
public final fun test_7(q: R|Q?|): R|kotlin/Unit| {
|
public final fun test_7(q: R|Q?|): R|kotlin/Unit| {
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/q|?.R|/Q.fdata|()?.R|/MyData.fs|()?.R|kotlin/Int.inc|(), Null(null)) -> {
|
!=(R|<local>/q|?.{ $subj$.R|/Q.fdata|() }?.{ $subj$.R|/MyData.fs|() }?.{ $subj$.R|kotlin/Int.inc|() }, Null(null)) -> {
|
||||||
R|<local>/q|.R|/Q.fdata|()
|
R|<local>/q|.R|/Q.fdata|()
|
||||||
R|<local>/q|.R|/Q.fdata|().<Inapplicable(WRONG_RECEIVER): [/MyData.fs]>#()
|
R|<local>/q|.R|/Q.fdata|().<Inapplicable(WRONG_RECEIVER): [/MyData.fs]>#()
|
||||||
R|<local>/q|.R|/Q.fdata|().<Inapplicable(WRONG_RECEIVER): [/MyData.fs]>#().<Unresolved name: inc>#()
|
R|<local>/q|.R|/Q.fdata|().<Inapplicable(WRONG_RECEIVER): [/MyData.fs]>#().<Unresolved name: inc>#()
|
||||||
@@ -210,7 +210,7 @@ FILE: nullability.kt
|
|||||||
}
|
}
|
||||||
public final fun test_11(q: R|QImpl?|, q2: R|QImpl|): R|kotlin/Unit| {
|
public final fun test_11(q: R|QImpl?|, q2: R|QImpl|): R|kotlin/Unit| {
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/q|?.R|/QImpl.data|?.R|/MyData.s|?.R|kotlin/Int.inc|(), Null(null)) -> {
|
!=(R|<local>/q|?.{ $subj$.R|/QImpl.data| }?.{ $subj$.R|/MyData.s| }?.{ $subj$.R|kotlin/Int.inc|() }, Null(null)) -> {
|
||||||
R|<local>/q|.R|/QImpl.data|
|
R|<local>/q|.R|/QImpl.data|
|
||||||
R|<local>/q|.R|/QImpl.data|.R|/MyData.s|
|
R|<local>/q|.R|/QImpl.data|.R|/MyData.s|
|
||||||
R|<local>/q|.R|/QImpl.data|.R|/MyData.s|.R|kotlin/Int.inc|()
|
R|<local>/q|.R|/QImpl.data|.R|/MyData.s|.R|kotlin/Int.inc|()
|
||||||
@@ -230,7 +230,7 @@ FILE: nullability.kt
|
|||||||
}
|
}
|
||||||
public final fun test_12(q: R|QImplWithCustomGetter?|): R|kotlin/Unit| {
|
public final fun test_12(q: R|QImplWithCustomGetter?|): R|kotlin/Unit| {
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/q|?.R|/QImplWithCustomGetter.data|?.R|/MyData.s|?.R|kotlin/Int.inc|(), Null(null)) -> {
|
!=(R|<local>/q|?.{ $subj$.R|/QImplWithCustomGetter.data| }?.{ $subj$.R|/MyData.s| }?.{ $subj$.R|kotlin/Int.inc|() }, Null(null)) -> {
|
||||||
R|<local>/q|.R|/QImplWithCustomGetter.data|
|
R|<local>/q|.R|/QImplWithCustomGetter.data|
|
||||||
R|<local>/q|.R|/QImplWithCustomGetter.data|.<Inapplicable(WRONG_RECEIVER): [/MyData.s]>#
|
R|<local>/q|.R|/QImplWithCustomGetter.data|.<Inapplicable(WRONG_RECEIVER): [/MyData.s]>#
|
||||||
R|<local>/q|.R|/QImplWithCustomGetter.data|.<Inapplicable(WRONG_RECEIVER): [/MyData.s]>#.<Unresolved name: inc>#()
|
R|<local>/q|.R|/QImplWithCustomGetter.data|.<Inapplicable(WRONG_RECEIVER): [/MyData.s]>#.<Unresolved name: inc>#()
|
||||||
@@ -240,7 +240,7 @@ FILE: nullability.kt
|
|||||||
}
|
}
|
||||||
public final fun test_13(q: R|QImplMutable?|): R|kotlin/Unit| {
|
public final fun test_13(q: R|QImplMutable?|): R|kotlin/Unit| {
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/q|?.R|/QImplMutable.data|?.R|/MyData.s|?.R|kotlin/Int.inc|(), Null(null)) -> {
|
!=(R|<local>/q|?.{ $subj$.R|/QImplMutable.data| }?.{ $subj$.R|/MyData.s| }?.{ $subj$.R|kotlin/Int.inc|() }, Null(null)) -> {
|
||||||
R|<local>/q|.R|/QImplMutable.data|
|
R|<local>/q|.R|/QImplMutable.data|
|
||||||
R|<local>/q|.R|/QImplMutable.data|.<Inapplicable(WRONG_RECEIVER): [/MyData.s]>#
|
R|<local>/q|.R|/QImplMutable.data|.<Inapplicable(WRONG_RECEIVER): [/MyData.s]>#
|
||||||
R|<local>/q|.R|/QImplMutable.data|.<Inapplicable(WRONG_RECEIVER): [/MyData.s]>#.<Unresolved name: inc>#()
|
R|<local>/q|.R|/QImplMutable.data|.<Inapplicable(WRONG_RECEIVER): [/MyData.s]>#.<Unresolved name: inc>#()
|
||||||
|
|||||||
+2
-2
@@ -114,7 +114,7 @@ digraph assignSafeCall_kt {
|
|||||||
38 [label="Enter function test_2" style="filled" fillcolor=red];
|
38 [label="Enter function test_2" style="filled" fillcolor=red];
|
||||||
40 [label="Access variable R|<local>/a|"];
|
40 [label="Access variable R|<local>/a|"];
|
||||||
41 [label="Enter safe call"];
|
41 [label="Enter safe call"];
|
||||||
43 [label="Function call: R|<local>/a|?.R|/A.foo|()"];
|
43 [label="Function call: $subj$.R|/A.foo|()"];
|
||||||
42 [label="Exit safe call"];
|
42 [label="Exit safe call"];
|
||||||
44 [label="Variable declaration: lval x: R|kotlin/Int?|"];
|
44 [label="Variable declaration: lval x: R|kotlin/Int?|"];
|
||||||
subgraph cluster_11 {
|
subgraph cluster_11 {
|
||||||
@@ -333,7 +333,7 @@ digraph assignSafeCall_kt {
|
|||||||
119 [label="Enter function test_2" style="filled" fillcolor=red];
|
119 [label="Enter function test_2" style="filled" fillcolor=red];
|
||||||
121 [label="Access variable R|<local>/a|"];
|
121 [label="Access variable R|<local>/a|"];
|
||||||
122 [label="Enter safe call"];
|
122 [label="Enter safe call"];
|
||||||
124 [label="Function call: R|<local>/a|?.R|/B.foo|()"];
|
124 [label="Function call: $subj$.R|/B.foo|()"];
|
||||||
123 [label="Exit safe call"];
|
123 [label="Exit safe call"];
|
||||||
125 [label="Variable declaration: lval x: R|kotlin/Int?|"];
|
125 [label="Variable declaration: lval x: R|kotlin/Int?|"];
|
||||||
subgraph cluster_30 {
|
subgraph cluster_30 {
|
||||||
|
|||||||
+4
-4
@@ -16,7 +16,7 @@ FILE: assignSafeCall.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun test_1(a: R|A?|): R|kotlin/Unit| {
|
public final fun test_1(a: R|A?|): R|kotlin/Unit| {
|
||||||
lval x: R|kotlin/Int?| = R|<local>/a|?.R|/A.x|
|
lval x: R|kotlin/Int?| = R|<local>/a|?.{ $subj$.R|/A.x| }
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/x|, Null(null)) -> {
|
!=(R|<local>/x|, Null(null)) -> {
|
||||||
R|<local>/a|.R|/A.bar|()
|
R|<local>/a|.R|/A.bar|()
|
||||||
@@ -25,7 +25,7 @@ FILE: assignSafeCall.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun test_2(a: R|A?|): R|kotlin/Unit| {
|
public final fun test_2(a: R|A?|): R|kotlin/Unit| {
|
||||||
lval x: R|kotlin/Int?| = R|<local>/a|?.R|/A.foo|()
|
lval x: R|kotlin/Int?| = R|<local>/a|?.{ $subj$.R|/A.foo|() }
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/x|, Null(null)) -> {
|
!=(R|<local>/x|, Null(null)) -> {
|
||||||
R|<local>/a|.R|/A.bar|()
|
R|<local>/a|.R|/A.bar|()
|
||||||
@@ -56,7 +56,7 @@ FILE: assignSafeCall.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun test_1(a: R|B?|): R|kotlin/Unit| {
|
public final fun test_1(a: R|B?|): R|kotlin/Unit| {
|
||||||
lval x: R|kotlin/Int?| = R|<local>/a|?.R|/B.x|
|
lval x: R|kotlin/Int?| = R|<local>/a|?.{ $subj$.R|/B.x| }
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/x|, Null(null)) -> {
|
!=(R|<local>/x|, Null(null)) -> {
|
||||||
R|<local>/a|.R|/B.bar|()
|
R|<local>/a|.R|/B.bar|()
|
||||||
@@ -65,7 +65,7 @@ FILE: assignSafeCall.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun test_2(a: R|B?|): R|kotlin/Unit| {
|
public final fun test_2(a: R|B?|): R|kotlin/Unit| {
|
||||||
lval x: R|kotlin/Int?| = R|<local>/a|?.R|/B.foo|()
|
lval x: R|kotlin/Int?| = R|<local>/a|?.{ $subj$.R|/B.foo|() }
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/x|, Null(null)) -> {
|
!=(R|<local>/x|, Null(null)) -> {
|
||||||
R|<local>/a|.R|/B.bar|()
|
R|<local>/a|.R|/B.bar|()
|
||||||
|
|||||||
Vendored
+4
-4
@@ -28,7 +28,7 @@ digraph safeCallAndEqualityToBool_kt {
|
|||||||
9 [label="Enter when branch condition "];
|
9 [label="Enter when branch condition "];
|
||||||
10 [label="Access variable R|<local>/s|"];
|
10 [label="Access variable R|<local>/s|"];
|
||||||
11 [label="Enter safe call"];
|
11 [label="Enter safe call"];
|
||||||
13 [label="Function call: R|<local>/s|?.R|/check|()"];
|
13 [label="Function call: $subj$.R|/check|()"];
|
||||||
12 [label="Exit safe call"];
|
12 [label="Exit safe call"];
|
||||||
14 [label="Const: Boolean(true)"];
|
14 [label="Const: Boolean(true)"];
|
||||||
15 [label="Operator =="];
|
15 [label="Operator =="];
|
||||||
@@ -98,7 +98,7 @@ digraph safeCallAndEqualityToBool_kt {
|
|||||||
35 [label="Enter when branch condition "];
|
35 [label="Enter when branch condition "];
|
||||||
36 [label="Access variable R|<local>/s|"];
|
36 [label="Access variable R|<local>/s|"];
|
||||||
37 [label="Enter safe call"];
|
37 [label="Enter safe call"];
|
||||||
39 [label="Function call: R|<local>/s|?.R|/check|()"];
|
39 [label="Function call: $subj$.R|/check|()"];
|
||||||
38 [label="Exit safe call"];
|
38 [label="Exit safe call"];
|
||||||
40 [label="Const: Boolean(false)"];
|
40 [label="Const: Boolean(false)"];
|
||||||
41 [label="Operator =="];
|
41 [label="Operator =="];
|
||||||
@@ -168,7 +168,7 @@ digraph safeCallAndEqualityToBool_kt {
|
|||||||
61 [label="Enter when branch condition "];
|
61 [label="Enter when branch condition "];
|
||||||
62 [label="Access variable R|<local>/s|"];
|
62 [label="Access variable R|<local>/s|"];
|
||||||
63 [label="Enter safe call"];
|
63 [label="Enter safe call"];
|
||||||
65 [label="Function call: R|<local>/s|?.R|/check|()"];
|
65 [label="Function call: $subj$.R|/check|()"];
|
||||||
64 [label="Exit safe call"];
|
64 [label="Exit safe call"];
|
||||||
66 [label="Const: Boolean(true)"];
|
66 [label="Const: Boolean(true)"];
|
||||||
67 [label="Operator !="];
|
67 [label="Operator !="];
|
||||||
@@ -238,7 +238,7 @@ digraph safeCallAndEqualityToBool_kt {
|
|||||||
87 [label="Enter when branch condition "];
|
87 [label="Enter when branch condition "];
|
||||||
88 [label="Access variable R|<local>/s|"];
|
88 [label="Access variable R|<local>/s|"];
|
||||||
89 [label="Enter safe call"];
|
89 [label="Enter safe call"];
|
||||||
91 [label="Function call: R|<local>/s|?.R|/check|()"];
|
91 [label="Function call: $subj$.R|/check|()"];
|
||||||
90 [label="Exit safe call"];
|
90 [label="Exit safe call"];
|
||||||
92 [label="Const: Boolean(false)"];
|
92 [label="Const: Boolean(false)"];
|
||||||
93 [label="Operator !="];
|
93 [label="Operator !="];
|
||||||
|
|||||||
Vendored
+4
-4
@@ -4,7 +4,7 @@ FILE: safeCallAndEqualityToBool.kt
|
|||||||
}
|
}
|
||||||
public final fun test_1(s: R|kotlin/String?|): R|kotlin/Unit| {
|
public final fun test_1(s: R|kotlin/String?|): R|kotlin/Unit| {
|
||||||
when () {
|
when () {
|
||||||
==(R|<local>/s|?.R|/check|(), Boolean(true)) -> {
|
==(R|<local>/s|?.{ $subj$.R|/check|() }, Boolean(true)) -> {
|
||||||
R|<local>/s|.R|kotlin/String.length|
|
R|<local>/s|.R|kotlin/String.length|
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
@@ -15,7 +15,7 @@ FILE: safeCallAndEqualityToBool.kt
|
|||||||
}
|
}
|
||||||
public final fun test_2(s: R|kotlin/String?|): R|kotlin/Unit| {
|
public final fun test_2(s: R|kotlin/String?|): R|kotlin/Unit| {
|
||||||
when () {
|
when () {
|
||||||
==(R|<local>/s|?.R|/check|(), Boolean(false)) -> {
|
==(R|<local>/s|?.{ $subj$.R|/check|() }, Boolean(false)) -> {
|
||||||
R|<local>/s|.R|kotlin/String.length|
|
R|<local>/s|.R|kotlin/String.length|
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
@@ -26,7 +26,7 @@ FILE: safeCallAndEqualityToBool.kt
|
|||||||
}
|
}
|
||||||
public final fun test_3(s: R|kotlin/String?|): R|kotlin/Unit| {
|
public final fun test_3(s: R|kotlin/String?|): R|kotlin/Unit| {
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/s|?.R|/check|(), Boolean(true)) -> {
|
!=(R|<local>/s|?.{ $subj$.R|/check|() }, Boolean(true)) -> {
|
||||||
R|<local>/s|.<Inapplicable(WRONG_RECEIVER): [kotlin/String.length]>#
|
R|<local>/s|.<Inapplicable(WRONG_RECEIVER): [kotlin/String.length]>#
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
@@ -37,7 +37,7 @@ FILE: safeCallAndEqualityToBool.kt
|
|||||||
}
|
}
|
||||||
public final fun test_4(s: R|kotlin/String?|): R|kotlin/Unit| {
|
public final fun test_4(s: R|kotlin/String?|): R|kotlin/Unit| {
|
||||||
when () {
|
when () {
|
||||||
!=(R|<local>/s|?.R|/check|(), Boolean(false)) -> {
|
!=(R|<local>/s|?.{ $subj$.R|/check|() }, Boolean(false)) -> {
|
||||||
R|<local>/s|.<Inapplicable(WRONG_RECEIVER): [kotlin/String.length]>#
|
R|<local>/s|.<Inapplicable(WRONG_RECEIVER): [kotlin/String.length]>#
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
|
|||||||
+36
-34
@@ -33,7 +33,7 @@ digraph safeCalls_kt {
|
|||||||
13 [label="Access variable R|kotlin/String.length|"];
|
13 [label="Access variable R|kotlin/String.length|"];
|
||||||
14 [label="Const: Int(1)"];
|
14 [label="Const: Int(1)"];
|
||||||
15 [label="Operator =="];
|
15 [label="Operator =="];
|
||||||
16 [label="Function call: R|<local>/x|?.R|/foo|(...)"];
|
16 [label="Function call: $subj$.R|/foo|(...)"];
|
||||||
11 [label="Exit safe call"];
|
11 [label="Exit safe call"];
|
||||||
17 [label="Access variable R|<local>/x|"];
|
17 [label="Access variable R|<local>/x|"];
|
||||||
18 [label="Access variable <Inapplicable(WRONG_RECEIVER): [kotlin/String.length]>#"];
|
18 [label="Access variable <Inapplicable(WRONG_RECEIVER): [kotlin/String.length]>#"];
|
||||||
@@ -86,7 +86,7 @@ digraph safeCalls_kt {
|
|||||||
30 [label="Type operator: (R|<local>/x| as? R|A|)"];
|
30 [label="Type operator: (R|<local>/x| as? R|A|)"];
|
||||||
31 [label="Enter safe call"];
|
31 [label="Enter safe call"];
|
||||||
33 [label="Access variable R|<local>/x|"];
|
33 [label="Access variable R|<local>/x|"];
|
||||||
34 [label="Function call: (R|<local>/x| as? R|A|)?.R|/A.bar|(...)"];
|
34 [label="Function call: $subj$.R|/A.bar|(...)"];
|
||||||
32 [label="Exit safe call"];
|
32 [label="Exit safe call"];
|
||||||
28 [label="Exit function test_2" style="filled" fillcolor=red];
|
28 [label="Exit function test_2" style="filled" fillcolor=red];
|
||||||
}
|
}
|
||||||
@@ -105,12 +105,12 @@ digraph safeCalls_kt {
|
|||||||
38 [label="Type operator: (R|<local>/x| as? R|A|)"];
|
38 [label="Type operator: (R|<local>/x| as? R|A|)"];
|
||||||
39 [label="Enter safe call"];
|
39 [label="Enter safe call"];
|
||||||
41 [label="Access variable R|<local>/x|"];
|
41 [label="Access variable R|<local>/x|"];
|
||||||
42 [label="Function call: (R|<local>/x| as? R|A|)?.R|/A.bar|(...)"];
|
42 [label="Function call: $subj$.R|/A.bar|(...)"];
|
||||||
40 [label="Exit safe call"];
|
40 [label="Exit safe call"];
|
||||||
43 [label="Enter safe call"];
|
43 [label="Enter safe call"];
|
||||||
45 [label="Access variable R|<local>/x|"];
|
45 [label="Access variable R|<local>/x|"];
|
||||||
46 [label="Function call: R|<local>/x|.R|/A.bool|()"];
|
46 [label="Function call: R|<local>/x|.R|/A.bool|()"];
|
||||||
47 [label="Function call: (R|<local>/x| as? R|A|)?.R|/A.bar|(...)?.R|/foo|(...)"];
|
47 [label="Function call: $subj$.R|/foo|(...)"];
|
||||||
44 [label="Exit safe call"];
|
44 [label="Exit safe call"];
|
||||||
48 [label="Enter safe call"];
|
48 [label="Enter safe call"];
|
||||||
50 [label="Postponed enter to lambda"];
|
50 [label="Postponed enter to lambda"];
|
||||||
@@ -122,7 +122,7 @@ digraph safeCalls_kt {
|
|||||||
56 [label="Exit function anonymousFunction" style="filled" fillcolor=red];
|
56 [label="Exit function anonymousFunction" style="filled" fillcolor=red];
|
||||||
}
|
}
|
||||||
51 [label="Postponed exit from lambda"];
|
51 [label="Postponed exit from lambda"];
|
||||||
52 [label="Function call: (R|<local>/x| as? R|A|)?.R|/A.bar|(...)?.R|/foo|(...)?.R|/let|(...)"];
|
52 [label="Function call: $subj$.R|/let|(...)"];
|
||||||
49 [label="Exit safe call"];
|
49 [label="Exit safe call"];
|
||||||
53 [label="Access variable R|<local>/x|"];
|
53 [label="Access variable R|<local>/x|"];
|
||||||
54 [label="Function call: R|<local>/x|.<Unresolved name: bool>#()"];
|
54 [label="Function call: R|<local>/x|.<Unresolved name: bool>#()"];
|
||||||
@@ -157,10 +157,10 @@ digraph safeCalls_kt {
|
|||||||
59 [label="Enter function test_4" style="filled" fillcolor=red];
|
59 [label="Enter function test_4" style="filled" fillcolor=red];
|
||||||
61 [label="Access variable R|<local>/x|"];
|
61 [label="Access variable R|<local>/x|"];
|
||||||
62 [label="Enter safe call"];
|
62 [label="Enter safe call"];
|
||||||
64 [label="Function call: R|<local>/x|?.R|/A.id|()"];
|
64 [label="Function call: $subj$.R|/A.id|()"];
|
||||||
63 [label="Exit safe call"];
|
63 [label="Exit safe call"];
|
||||||
65 [label="Enter safe call"];
|
65 [label="Enter safe call"];
|
||||||
67 [label="Function call: R|<local>/x|?.R|/A.id|()?.R|/A.bool|()"];
|
67 [label="Function call: $subj$.R|/A.bool|()"];
|
||||||
66 [label="Exit safe call"];
|
66 [label="Exit safe call"];
|
||||||
68 [label="Access variable R|<local>/x|"];
|
68 [label="Access variable R|<local>/x|"];
|
||||||
69 [label="Function call: R|<local>/x|.<Inapplicable(WRONG_RECEIVER): [/A.id]>#()"];
|
69 [label="Function call: R|<local>/x|.<Inapplicable(WRONG_RECEIVER): [/A.id]>#()"];
|
||||||
@@ -192,45 +192,47 @@ digraph safeCalls_kt {
|
|||||||
77 [label="Postponed enter to lambda"];
|
77 [label="Postponed enter to lambda"];
|
||||||
subgraph cluster_13 {
|
subgraph cluster_13 {
|
||||||
color=blue
|
color=blue
|
||||||
88 [label="Enter function anonymousFunction" style="filled" fillcolor=red];
|
89 [label="Enter function anonymousFunction" style="filled" fillcolor=red];
|
||||||
90 [label="Jump: ^test_5 Unit"];
|
91 [label="Jump: ^test_5 Unit"];
|
||||||
91 [label="Stub" style="filled" fillcolor=gray];
|
92 [label="Stub" style="filled" fillcolor=gray];
|
||||||
89 [label="Exit function anonymousFunction" style="filled" fillcolor=red style="filled" fillcolor=gray];
|
90 [label="Exit function anonymousFunction" style="filled" fillcolor=red style="filled" fillcolor=gray];
|
||||||
}
|
}
|
||||||
80 [label="Call arguments union" style="filled" fillcolor=gray];
|
80 [label="Call arguments union" style="filled" fillcolor=gray];
|
||||||
78 [label="Postponed exit from lambda"];
|
78 [label="Postponed exit from lambda"];
|
||||||
79 [label="Function call: R|<local>/x|?.R|kotlin/let|<R|A|, R|kotlin/Nothing|>(...)" style="filled" fillcolor=gray];
|
79 [label="Function call: $subj$.R|kotlin/let|<R|A|, R|kotlin/Nothing|>(...)" style="filled" fillcolor=gray];
|
||||||
|
81 [label="Stub" style="filled" fillcolor=gray];
|
||||||
76 [label="Exit safe call"];
|
76 [label="Exit safe call"];
|
||||||
81 [label="Enter safe call"];
|
82 [label="Enter safe call"];
|
||||||
83 [label="Access variable R|<local>/x|"];
|
84 [label="Access variable R|<local>/x|"];
|
||||||
84 [label="Function call: R|<local>/x|.R|/A.bool|()"];
|
85 [label="Function call: R|<local>/x|.R|/A.bool|()"];
|
||||||
85 [label="Function call: R|<local>/x|?.R|kotlin/let|<R|A|, R|kotlin/Nothing|>(...)?.R|/boo|(...)"];
|
86 [label="Function call: $subj$.R|/boo|(...)"];
|
||||||
82 [label="Exit safe call"];
|
83 [label="Exit safe call"];
|
||||||
86 [label="Access variable R|<local>/x|"];
|
87 [label="Access variable R|<local>/x|"];
|
||||||
87 [label="Function call: R|<local>/x|.<Inapplicable(WRONG_RECEIVER): [/A.id]>#()"];
|
88 [label="Function call: R|<local>/x|.<Inapplicable(WRONG_RECEIVER): [/A.id]>#()"];
|
||||||
73 [label="Exit function test_5" style="filled" fillcolor=red];
|
73 [label="Exit function test_5" style="filled" fillcolor=red];
|
||||||
}
|
}
|
||||||
72 -> {74};
|
72 -> {74};
|
||||||
74 -> {75 76};
|
74 -> {75 76};
|
||||||
75 -> {77};
|
75 -> {77};
|
||||||
76 -> {81 82};
|
76 -> {82 83};
|
||||||
77 -> {88};
|
77 -> {89};
|
||||||
77 -> {78} [color=red];
|
77 -> {78} [color=red];
|
||||||
78 -> {79} [color=green];
|
78 -> {79} [color=green];
|
||||||
79 -> {76} [style=dotted];
|
79 -> {73 81} [style=dotted];
|
||||||
80 -> {79} [style=dotted];
|
80 -> {79} [style=dotted];
|
||||||
81 -> {83};
|
81 -> {76} [style=dotted];
|
||||||
82 -> {86};
|
82 -> {84};
|
||||||
83 -> {84};
|
83 -> {87};
|
||||||
84 -> {85};
|
84 -> {85};
|
||||||
85 -> {82};
|
85 -> {86};
|
||||||
86 -> {87};
|
86 -> {83};
|
||||||
87 -> {73};
|
87 -> {88};
|
||||||
88 -> {90};
|
88 -> {73} [style=dotted];
|
||||||
89 -> {80} [style=dotted];
|
89 -> {91};
|
||||||
89 -> {78} [color=green];
|
90 -> {80} [style=dotted];
|
||||||
90 -> {73};
|
90 -> {78} [color=green];
|
||||||
90 -> {91} [style=dotted];
|
91 -> {73};
|
||||||
91 -> {89} [style=dotted];
|
91 -> {92} [style=dotted];
|
||||||
|
92 -> {90} [style=dotted];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-7
@@ -5,7 +5,7 @@ FILE: safeCalls.kt
|
|||||||
public final fun R|kotlin/String|.let(block: R|() -> kotlin/Unit|): R|kotlin/Unit| {
|
public final fun R|kotlin/String|.let(block: R|() -> kotlin/Unit|): R|kotlin/Unit| {
|
||||||
}
|
}
|
||||||
public final fun test(x: R|kotlin/String?|): R|kotlin/Unit| {
|
public final fun test(x: R|kotlin/String?|): R|kotlin/Unit| {
|
||||||
R|<local>/x|?.R|/foo|(==(R|<local>/x|.R|kotlin/String.length|, Int(1)))
|
R|<local>/x|?.{ $subj$.R|/foo|(==(R|<local>/x|.R|kotlin/String.length|, Int(1))) }
|
||||||
R|<local>/x|.<Inapplicable(WRONG_RECEIVER): [kotlin/String.length]>#
|
R|<local>/x|.<Inapplicable(WRONG_RECEIVER): [kotlin/String.length]>#
|
||||||
}
|
}
|
||||||
public abstract interface A : R|kotlin/Any| {
|
public abstract interface A : R|kotlin/Any| {
|
||||||
@@ -17,24 +17,24 @@ FILE: safeCalls.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun test_2(x: R|kotlin/Any|): R|kotlin/Unit| {
|
public final fun test_2(x: R|kotlin/Any|): R|kotlin/Unit| {
|
||||||
(R|<local>/x| as? R|A|)?.R|/A.bar|(R|<local>/x|)
|
(R|<local>/x| as? R|A|)?.{ $subj$.R|/A.bar|(R|<local>/x|) }
|
||||||
}
|
}
|
||||||
public final fun test_3(x: R|kotlin/Any|): R|kotlin/Unit| {
|
public final fun test_3(x: R|kotlin/Any|): R|kotlin/Unit| {
|
||||||
(R|<local>/x| as? R|A|)?.R|/A.bar|(R|<local>/x|)?.R|/foo|(R|<local>/x|.R|/A.bool|())?.R|/let|(<L> = let@fun <anonymous>(): R|kotlin/Unit| {
|
(R|<local>/x| as? R|A|)?.{ $subj$.R|/A.bar|(R|<local>/x|) }?.{ $subj$.R|/foo|(R|<local>/x|.R|/A.bool|()) }?.{ $subj$.R|/let|(<L> = let@fun <anonymous>(): R|kotlin/Unit| {
|
||||||
^ R|<local>/x|.R|/A.bool|()
|
^ R|<local>/x|.R|/A.bool|()
|
||||||
}
|
}
|
||||||
)
|
) }
|
||||||
R|<local>/x|.<Unresolved name: bool>#()
|
R|<local>/x|.<Unresolved name: bool>#()
|
||||||
}
|
}
|
||||||
public final fun test_4(x: R|A?|): R|kotlin/Unit| {
|
public final fun test_4(x: R|A?|): R|kotlin/Unit| {
|
||||||
R|<local>/x|?.R|/A.id|()?.R|/A.bool|()
|
R|<local>/x|?.{ $subj$.R|/A.id|() }?.{ $subj$.R|/A.bool|() }
|
||||||
R|<local>/x|.<Inapplicable(WRONG_RECEIVER): [/A.id]>#()
|
R|<local>/x|.<Inapplicable(WRONG_RECEIVER): [/A.id]>#()
|
||||||
}
|
}
|
||||||
public final fun R|kotlin/Any?|.boo(b: R|kotlin/Boolean|): R|kotlin/Unit|
|
public final fun R|kotlin/Any?|.boo(b: R|kotlin/Boolean|): R|kotlin/Unit|
|
||||||
public final fun test_5(x: R|A?|): R|kotlin/Unit| {
|
public final fun test_5(x: R|A?|): R|kotlin/Unit| {
|
||||||
R|<local>/x|?.R|kotlin/let|<R|A|, R|kotlin/Nothing|>(<L> = let@fun <anonymous>(it: R|A|): R|kotlin/Nothing| <kind=EXACTLY_ONCE> {
|
R|<local>/x|?.{ $subj$.R|kotlin/let|<R|A|, R|kotlin/Nothing|>(<L> = let@fun <anonymous>(it: R|A|): R|kotlin/Nothing| <kind=EXACTLY_ONCE> {
|
||||||
^test_5 Unit
|
^test_5 Unit
|
||||||
}
|
}
|
||||||
)?.R|/boo|(R|<local>/x|.R|/A.bool|())
|
) }?.{ $subj$.R|/boo|(R|<local>/x|.R|/A.bool|()) }
|
||||||
R|<local>/x|.<Inapplicable(WRONG_RECEIVER): [/A.id]>#()
|
R|<local>/x|.<Inapplicable(WRONG_RECEIVER): [/A.id]>#()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -209,7 +209,7 @@ digraph smartcastToNothing_kt {
|
|||||||
}
|
}
|
||||||
91 [label="Call arguments union" style="filled" fillcolor=yellow];
|
91 [label="Call arguments union" style="filled" fillcolor=yellow];
|
||||||
89 [label="Postponed exit from lambda"];
|
89 [label="Postponed exit from lambda"];
|
||||||
90 [label="Function call: R|<local>/s|?.R|kotlin/let|<R|A|, R|kotlin/Int|>(...)"];
|
90 [label="Function call: $subj$.R|kotlin/let|<R|A|, R|kotlin/Int|>(...)"];
|
||||||
87 [label="Exit safe call"];
|
87 [label="Exit safe call"];
|
||||||
48 [label="Exit function test_0" style="filled" fillcolor=red];
|
48 [label="Exit function test_0" style="filled" fillcolor=red];
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -42,8 +42,8 @@ FILE: smartcastToNothing.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
R|<local>/s|?.R|kotlin/let|<R|A|, R|kotlin/Int|>(<L> = let@fun <anonymous>(it: R|A|): R|kotlin/Int| <kind=EXACTLY_ONCE> {
|
R|<local>/s|?.{ $subj$.R|kotlin/let|<R|A|, R|kotlin/Int|>(<L> = let@fun <anonymous>(it: R|A|): R|kotlin/Int| <kind=EXACTLY_ONCE> {
|
||||||
^ R|<local>/it|.R|/A.a|
|
^ R|<local>/it|.R|/A.a|
|
||||||
}
|
}
|
||||||
)
|
) }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ FILE: whenAsReceiver.kt
|
|||||||
Null(null)
|
Null(null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?.R|/also|<R|kotlin/Int|, R|kotlin/Int|>(<L> = also@fun <anonymous>(): R|kotlin/Int| {
|
?.{ $subj$.R|/also|<R|kotlin/Int|, R|kotlin/Int|>(<L> = also@fun <anonymous>(): R|kotlin/Int| {
|
||||||
^ Int(1)
|
^ Int(1)
|
||||||
}
|
}
|
||||||
)
|
) }
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ FILE: concurrentMapOfAliases.kt
|
|||||||
private get(): R|java/util/concurrent/ConcurrentHashMap<ft<kotlin/String, kotlin/String?>!, ft<kotlin/CharSequence, kotlin/CharSequence?>!>|
|
private get(): R|java/util/concurrent/ConcurrentHashMap<ft<kotlin/String, kotlin/String?>!, ft<kotlin/CharSequence, kotlin/CharSequence?>!>|
|
||||||
|
|
||||||
private final fun bar(): R|kotlin/Unit| {
|
private final fun bar(): R|kotlin/Unit| {
|
||||||
(this@R|/A|, this@R|/A|.R|/A.foo|.R|FakeOverride<java/util/concurrent/ConcurrentHashMap.get: R|kotlin/CharSequence?|>|(String(dd)))?.R|/A.baz|()
|
this@R|/A|.R|/A.foo|.R|FakeOverride<java/util/concurrent/ConcurrentHashMap.get: R|kotlin/CharSequence?|>|(String(dd))?.{ (this@R|/A|, $subj$).R|/A.baz|() }
|
||||||
}
|
}
|
||||||
|
|
||||||
private final fun R|MyAlias|.baz(): R|kotlin/Unit| {
|
private final fun R|MyAlias|.baz(): R|kotlin/Unit| {
|
||||||
|
|||||||
Reference in New Issue
Block a user