[FIR] Update testdata after introducing FirResolvedErrorReference

This commit is contained in:
Dmitriy Novozhilov
2022-12-09 12:59:13 +02:00
committed by Space Team
parent dde64c10ea
commit b174bb8844
139 changed files with 454 additions and 508 deletions
@@ -17,7 +17,7 @@ FILE: accessToMemberAfterReceiverReassignment.kt
!=(R|<local>/y|?.{ $subj$.R|/My.x| }, Null(null)) -> {
R|<local>/y|.R|/My.x|.R|/My.x|
R|<local>/y| = R|/My.My|(Null(null))
R|<local>/y|.R|/My.x|.<Inapplicable(UNSAFE_CALL): /My.x>#
R|<local>/y|.R|/My.x|.R|/My.x<Inapplicable(UNSAFE_CALL): /My.x>#|
}
}
@@ -28,7 +28,7 @@ FILE: accessToMemberAfterReceiverReassignment.kt
!=(R|<local>/y|?.{ $subj$.R|/My.x| }?.{ $subj$.R|/My.x| }, Null(null)) -> {
R|<local>/y|.R|/My.x|.R|/My.x|.R|/My.x|
R|<local>/y| = R|/My.My|(Null(null))
R|<local>/y|.R|/My.x|.<Inapplicable(UNSAFE_CALL): /My.x>#.<Inapplicable(UNSAFE_CALL): /My.x>#
R|<local>/y|.R|/My.x|.R|/My.x<Inapplicable(UNSAFE_CALL): /My.x>#|.R|/My.x<Inapplicable(UNSAFE_CALL): /My.x>#|
}
}
@@ -39,7 +39,7 @@ FILE: accessToMemberAfterReceiverReassignment.kt
!=(R|<local>/y|.R|/My.x|, Null(null)) -> {
R|<local>/y|.R|/My.x|.R|/My.x|
R|<local>/y| = R|/My.My|(Null(null))
R|<local>/y|.R|/My.x|.<Inapplicable(UNSAFE_CALL): /My.x>#
R|<local>/y|.R|/My.x|.R|/My.x<Inapplicable(UNSAFE_CALL): /My.x>#|
}
}
@@ -53,8 +53,8 @@ FILE: accessToMemberAfterReceiverReassignment.kt
R|<local>/y|.R|/My.x|.R|/My.x|
R|<local>/y|.R|/My.z|.R|/My.z|
R|<local>/y| = R|/My.My|(Null(null))
R|<local>/y|.R|/My.x|.<Inapplicable(UNSAFE_CALL): /My.x>#
R|<local>/y|.R|/My.z|.<Inapplicable(UNSAFE_CALL): /My.z>#
R|<local>/y|.R|/My.x|.R|/My.x<Inapplicable(UNSAFE_CALL): /My.x>#|
R|<local>/y|.R|/My.z|.R|/My.z<Inapplicable(UNSAFE_CALL): /My.z>#|
}
}
@@ -213,7 +213,7 @@ digraph bangbang_kt {
84 [label="Exit when"];
}
85 [label="Access variable R|<local>/a|"];
86 [label="Function call: R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
86 [label="Function call: R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
87 [label="Exit block"];
}
88 [label="Exit function test_3" style="filled" fillcolor=red];
@@ -347,14 +347,14 @@ digraph bangbang_kt {
color=blue
131 [label="Enter block"];
132 [label="Access variable R|<local>/a|"];
133 [label="Function call: R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
133 [label="Function call: R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
134 [label="Exit block"];
}
135 [label="Exit when branch result"];
136 [label="Exit when"];
}
137 [label="Access variable R|<local>/a|"];
138 [label="Function call: R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
138 [label="Function call: R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
139 [label="Exit block"];
}
140 [label="Exit function test_5" style="filled" fillcolor=red];
@@ -32,7 +32,7 @@ FILE: bangbang.kt
}
}
R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
public final fun test_4(a: R|A?|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
when () {
@@ -46,11 +46,11 @@ FILE: bangbang.kt
public final fun test_5(a: R|A?|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
when () {
R|<local>/b| || R|<local>/a|!!.R|/A.foo|() -> {
R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
}
R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
public final fun <X : R|A?|> test_6(x: R|X|): R|kotlin/Unit| {
R|<local>/x|!!.R|/A.foo|()
@@ -17,7 +17,7 @@ FILE: booleanElvisBoundSmartcast.kt
R|<local>/a|.R|/A.foo|()
}
else -> {
R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
}
@@ -25,7 +25,7 @@ FILE: booleanElvisBoundSmartcast.kt
public final fun test_2(a: R|A?|): R|kotlin/Unit| {
when () {
R|<local>/a|?.{ $subj$.R|/A.b| } ?: Boolean(true) -> {
R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
else -> {
R|<local>/a|.R|/A.foo|()
@@ -46,7 +46,7 @@ digraph equalsToBoolean_kt {
color=blue
17 [label="Enter block"];
18 [label="Access variable R|<local>/b|"];
19 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()" style="filled" fillcolor=yellow];
19 [label="Function call: R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()" style="filled" fillcolor=yellow];
20 [label="Exit block"];
}
21 [label="Exit when branch result"];
@@ -133,7 +133,7 @@ digraph equalsToBoolean_kt {
color=blue
52 [label="Enter block"];
53 [label="Access variable R|<local>/b|"];
54 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()" style="filled" fillcolor=yellow];
54 [label="Function call: R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()" style="filled" fillcolor=yellow];
55 [label="Exit block"];
}
56 [label="Exit when branch result"];
@@ -210,7 +210,7 @@ digraph equalsToBoolean_kt {
color=blue
80 [label="Enter block"];
81 [label="Access variable R|<local>/b|"];
82 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()" style="filled" fillcolor=yellow];
82 [label="Function call: R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()" style="filled" fillcolor=yellow];
83 [label="Exit block"];
}
84 [label="Exit when branch result"];
@@ -277,7 +277,7 @@ digraph equalsToBoolean_kt {
color=blue
101 [label="Enter block"];
102 [label="Access variable R|<local>/b|"];
103 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()" style="filled" fillcolor=yellow];
103 [label="Function call: R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()" style="filled" fillcolor=yellow];
104 [label="Exit block"];
}
105 [label="Exit when branch result"];
@@ -364,7 +364,7 @@ digraph equalsToBoolean_kt {
color=blue
136 [label="Enter block"];
137 [label="Access variable R|<local>/b|"];
138 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()" style="filled" fillcolor=yellow];
138 [label="Function call: R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()" style="filled" fillcolor=yellow];
139 [label="Exit block"];
}
140 [label="Exit when branch result"];
@@ -431,7 +431,7 @@ digraph equalsToBoolean_kt {
color=blue
157 [label="Enter block"];
158 [label="Access variable R|<local>/b|"];
159 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()" style="filled" fillcolor=yellow];
159 [label="Function call: R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()" style="filled" fillcolor=yellow];
160 [label="Exit block"];
}
161 [label="Exit when branch result"];
@@ -508,7 +508,7 @@ digraph equalsToBoolean_kt {
color=blue
185 [label="Enter block"];
186 [label="Access variable R|<local>/b|"];
187 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()" style="filled" fillcolor=yellow];
187 [label="Function call: R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()" style="filled" fillcolor=yellow];
188 [label="Exit block"];
}
189 [label="Exit when branch result"];
@@ -595,7 +595,7 @@ digraph equalsToBoolean_kt {
color=blue
220 [label="Enter block"];
221 [label="Access variable R|<local>/b|"];
222 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()" style="filled" fillcolor=yellow];
222 [label="Function call: R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()" style="filled" fillcolor=yellow];
223 [label="Exit block"];
}
224 [label="Exit when branch result"];
@@ -12,7 +12,7 @@ FILE: equalsToBoolean.kt
R|<local>/b|.R|kotlin/Boolean.not|()
}
else -> {
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()
R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()
}
}
@@ -20,7 +20,7 @@ FILE: equalsToBoolean.kt
public final fun test_2(b: R|kotlin/Boolean?|): R|kotlin/Unit| {
when () {
!=(==(R|<local>/b|, Boolean(true)), Boolean(true)) -> {
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()
R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()
}
else -> {
R|<local>/b|.R|kotlin/Boolean.not|()
@@ -31,7 +31,7 @@ FILE: equalsToBoolean.kt
public final fun test_3(b: R|kotlin/Boolean?|): R|kotlin/Unit| {
when () {
==(==(R|<local>/b|, Boolean(true)), Boolean(false)) -> {
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()
R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()
}
else -> {
R|<local>/b|.R|kotlin/Boolean.not|()
@@ -45,7 +45,7 @@ FILE: equalsToBoolean.kt
R|<local>/b|.R|kotlin/Boolean.not|()
}
else -> {
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()
R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()
}
}
@@ -53,7 +53,7 @@ FILE: equalsToBoolean.kt
public final fun test_5(b: R|kotlin/Boolean?|): R|kotlin/Unit| {
when () {
==(!=(R|<local>/b|, Boolean(true)), Boolean(true)) -> {
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()
R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()
}
else -> {
R|<local>/b|.R|kotlin/Boolean.not|()
@@ -67,7 +67,7 @@ FILE: equalsToBoolean.kt
R|<local>/b|.R|kotlin/Boolean.not|()
}
else -> {
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()
R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()
}
}
@@ -78,7 +78,7 @@ FILE: equalsToBoolean.kt
R|<local>/b|.R|kotlin/Boolean.not|()
}
else -> {
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()
R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()
}
}
@@ -86,7 +86,7 @@ FILE: equalsToBoolean.kt
public final fun test_8(b: R|kotlin/Boolean?|): R|kotlin/Unit| {
when () {
!=(!=(R|<local>/b|, Boolean(true)), Boolean(false)) -> {
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#()
R|<local>/b|.R|kotlin/Boolean.not<Inapplicable(UNSAFE_CALL): kotlin/Boolean.not>#|()
}
else -> {
R|<local>/b|.R|kotlin/Boolean.not|()
@@ -280,7 +280,7 @@ digraph jumpFromRhsOfOperator_kt {
}
108 [label="Access variable R|<local>/a|"];
109 [label="Smart cast: R|<local>/a|"];
110 [label="Function call: R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
110 [label="Function call: R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
111 [label="Exit block"];
}
112 [label="Exit function test_5" style="filled" fillcolor=red];
@@ -324,7 +324,7 @@ digraph jumpFromRhsOfOperator_kt {
}
125 [label="Access variable R|<local>/a|"];
126 [label="Smart cast: R|<local>/a|"];
127 [label="Function call: R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
127 [label="Function call: R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
128 [label="Exit block"];
}
129 [label="Exit function teat_6" style="filled" fillcolor=red];
@@ -381,7 +381,7 @@ digraph jumpFromRhsOfOperator_kt {
147 [label="Enter block"];
148 [label="Access variable R|<local>/a|"];
149 [label="Smart cast: R|<local>/a|"];
150 [label="Function call: R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
150 [label="Function call: R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
151 [label="Exit block"];
}
152 [label="Exit when branch result"];
@@ -389,7 +389,7 @@ digraph jumpFromRhsOfOperator_kt {
}
154 [label="Access variable R|<local>/a|"];
155 [label="Smart cast: R|<local>/a|"];
156 [label="Function call: R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
156 [label="Function call: R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
157 [label="Exit block"];
}
158 [label="Exit function test_7" style="filled" fillcolor=red];
@@ -458,7 +458,7 @@ digraph jumpFromRhsOfOperator_kt {
176 [label="Enter block"];
177 [label="Access variable R|<local>/a|"];
178 [label="Smart cast: R|<local>/a|"];
179 [label="Function call: R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
179 [label="Function call: R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
180 [label="Exit block"];
}
181 [label="Exit when branch result"];
@@ -466,7 +466,7 @@ digraph jumpFromRhsOfOperator_kt {
}
183 [label="Access variable R|<local>/a|"];
184 [label="Smart cast: R|<local>/a|"];
185 [label="Function call: R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
185 [label="Function call: R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
186 [label="Exit block"];
}
187 [label="Exit function test_8" style="filled" fillcolor=red];
@@ -31,27 +31,27 @@ FILE: jumpFromRhsOfOperator.kt
}
public final fun test_5(a: R|A?|): R|kotlin/Unit| {
==(R|<local>/a|, Null(null)) || throw R|java/lang/Exception.Exception|()
R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
public final fun teat_6(a: R|A?|): R|kotlin/Unit| {
!=(R|<local>/a|, Null(null)) && throw R|java/lang/Exception.Exception|()
R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
public final fun test_7(a: R|A?|): R|kotlin/Unit| {
when () {
==(R|<local>/a|, Null(null)) || throw R|java/lang/Exception.Exception|() -> {
R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
}
R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
public final fun test_8(a: R|A?|): R|kotlin/Unit| {
when () {
!=(R|<local>/a|, Null(null)) && throw R|java/lang/Exception.Exception|() -> {
R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
}
R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
@@ -613,9 +613,9 @@ digraph boundSmartcastsInBranches_kt {
230 [label="Smart cast: R|<local>/x|"];
231 [label="Access variable R|kotlin/String.length|"];
232 [label="Access variable R|<local>/y|"];
233 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
233 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
234 [label="Access variable R|<local>/z|"];
235 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
235 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
236 [label="Exit block"];
}
237 [label="Exit when branch result"];
@@ -638,12 +638,12 @@ digraph boundSmartcastsInBranches_kt {
color=blue
247 [label="Enter block"];
248 [label="Access variable R|<local>/x|"];
249 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
249 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
250 [label="Access variable R|<local>/y|"];
251 [label="Smart cast: R|<local>/y|"];
252 [label="Access variable R|kotlin/String.length|"];
253 [label="Access variable R|<local>/z|"];
254 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
254 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
255 [label="Exit block"];
}
256 [label="Exit when branch result"];
@@ -666,9 +666,9 @@ digraph boundSmartcastsInBranches_kt {
color=blue
266 [label="Enter block"];
267 [label="Access variable R|<local>/x|"];
268 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
268 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
269 [label="Access variable R|<local>/y|"];
270 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
270 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
271 [label="Access variable R|<local>/z|"];
272 [label="Smart cast: R|<local>/z|"];
273 [label="Access variable R|kotlin/String.length|"];
@@ -700,9 +700,9 @@ digraph boundSmartcastsInBranches_kt {
290 [label="Access variable R|kotlin/String.length|"];
291 [label="Access variable R|<local>/y|"];
292 [label="Smart cast: R|<local>/y|"];
293 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
293 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
294 [label="Access variable R|<local>/z|"];
295 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
295 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
296 [label="Exit block"];
}
297 [label="Exit when branch result"];
@@ -726,13 +726,13 @@ digraph boundSmartcastsInBranches_kt {
color=blue
308 [label="Enter block"];
309 [label="Access variable R|<local>/x|"];
310 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
310 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
311 [label="Access variable R|<local>/y|"];
312 [label="Smart cast: R|<local>/y|"];
313 [label="Stub" style="filled" fillcolor=gray];
314 [label="Access variable R|kotlin/String.length|" style="filled" fillcolor=gray];
315 [label="Access variable R|<local>/z|" style="filled" fillcolor=gray];
316 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#" style="filled" fillcolor=gray];
316 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|" style="filled" fillcolor=gray];
317 [label="Exit block" style="filled" fillcolor=gray];
}
318 [label="Exit when branch result" style="filled" fillcolor=gray];
@@ -755,10 +755,10 @@ digraph boundSmartcastsInBranches_kt {
color=blue
328 [label="Enter block"];
329 [label="Access variable R|<local>/x|"];
330 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
330 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
331 [label="Access variable R|<local>/y|"];
332 [label="Smart cast: R|<local>/y|"];
333 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
333 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
334 [label="Access variable R|<local>/z|"];
335 [label="Smart cast: R|<local>/z|"];
336 [label="Access variable R|kotlin/String.length|"];
@@ -1027,7 +1027,7 @@ digraph boundSmartcastsInBranches_kt {
426 [label="Access variable R|kotlin/String.length|"];
427 [label="Access variable R|<local>/y|"];
428 [label="Smart cast: R|<local>/y|"];
429 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
429 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
430 [label="Access variable R|<local>/z|"];
431 [label="Smart cast: R|<local>/z|"];
432 [label="Access variable R|kotlin/String.length|"];
@@ -1054,13 +1054,13 @@ digraph boundSmartcastsInBranches_kt {
color=blue
445 [label="Enter block"];
446 [label="Access variable R|<local>/x|"];
447 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
447 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
448 [label="Access variable R|<local>/y|"];
449 [label="Smart cast: R|<local>/y|"];
450 [label="Stub" style="filled" fillcolor=gray];
451 [label="Access variable R|kotlin/String.length|" style="filled" fillcolor=gray];
452 [label="Access variable R|<local>/z|" style="filled" fillcolor=gray];
453 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#" style="filled" fillcolor=gray];
453 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|" style="filled" fillcolor=gray];
454 [label="Exit block" style="filled" fillcolor=gray];
}
455 [label="Exit when branch result" style="filled" fillcolor=gray];
@@ -1087,7 +1087,7 @@ digraph boundSmartcastsInBranches_kt {
468 [label="Access variable R|kotlin/String.length|"];
469 [label="Access variable R|<local>/y|"];
470 [label="Smart cast: R|<local>/y|"];
471 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
471 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
472 [label="Access variable R|<local>/z|"];
473 [label="Smart cast: R|<local>/z|"];
474 [label="Access variable R|kotlin/String.length|"];
@@ -1287,7 +1287,7 @@ digraph boundSmartcastsInBranches_kt {
507 [label="Exit when"];
}
508 [label="Access variable R|<local>/b|"];
509 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
509 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
subgraph cluster_97 {
color=blue
510 [label="Enter when"];
@@ -110,23 +110,23 @@ FILE: boundSmartcastsInBranches.kt
when () {
!=(R|<local>/x|, Null(null)) -> {
R|<local>/x|.R|kotlin/String.length|
R|<local>/y|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/z|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/y|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
R|<local>/z|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
}
}
when () {
!=(R|<local>/y|, Null(null)) -> {
R|<local>/x|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/x|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
R|<local>/y|.R|kotlin/String.length|
R|<local>/z|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/z|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
}
}
when () {
!=(R|<local>/z|, Null(null)) -> {
R|<local>/x|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/y|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/x|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
R|<local>/y|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
R|<local>/z|.R|kotlin/String.length|
}
}
@@ -135,23 +135,23 @@ FILE: boundSmartcastsInBranches.kt
when () {
!=(R|<local>/x|, Null(null)) -> {
R|<local>/x|.R|kotlin/String.length|
R|<local>/y|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/z|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/y|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
R|<local>/z|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
}
}
when () {
!=(R|<local>/y|, Null(null)) -> {
R|<local>/x|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/x|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
R|<local>/y|.R|kotlin/String.length|
R|<local>/z|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/z|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
}
}
when () {
!=(R|<local>/z|, Null(null)) -> {
R|<local>/x|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/y|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/x|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
R|<local>/y|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
R|<local>/z|.R|kotlin/String.length|
}
}
@@ -189,23 +189,23 @@ FILE: boundSmartcastsInBranches.kt
when () {
!=(R|<local>/x|, Null(null)) -> {
R|<local>/x|.R|kotlin/String.length|
R|<local>/y|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/y|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
R|<local>/z|.R|kotlin/String.length|
}
}
when () {
!=(R|<local>/y|, Null(null)) -> {
R|<local>/x|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/x|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
R|<local>/y|.R|kotlin/String.length|
R|<local>/z|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/z|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
}
}
when () {
!=(R|<local>/z|, Null(null)) -> {
R|<local>/x|.R|kotlin/String.length|
R|<local>/y|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/y|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
R|<local>/z|.R|kotlin/String.length|
}
}
@@ -223,7 +223,7 @@ FILE: boundSmartcastsInBranches.kt
}
}
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/b|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
when () {
!=(R|<local>/a|, Null(null)) -> {
R|<local>/b|.R|kotlin/String.length|
@@ -140,9 +140,9 @@ digraph equalsAndIdentity_kt {
color=blue
52 [label="Enter block"];
53 [label="Access variable R|<local>/x|"];
54 [label="Function call: R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
54 [label="Function call: R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
55 [label="Access variable R|<local>/y|"];
56 [label="Function call: R|<local>/y|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
56 [label="Function call: R|<local>/y|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
57 [label="Exit block"];
}
58 [label="Exit when branch result"];
@@ -165,9 +165,9 @@ digraph equalsAndIdentity_kt {
color=blue
68 [label="Enter block"];
69 [label="Access variable R|<local>/x|"];
70 [label="Function call: R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
70 [label="Function call: R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
71 [label="Access variable R|<local>/y|"];
72 [label="Function call: R|<local>/y|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
72 [label="Function call: R|<local>/y|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
73 [label="Exit block"];
}
74 [label="Exit when branch result"];
@@ -22,15 +22,15 @@ FILE: equalsAndIdentity.kt
public final fun test_2(x: R|A?|, y: R|A?|): R|kotlin/Unit| {
when () {
==(R|<local>/x|, R|<local>/y|) -> {
R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/y|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
R|<local>/y|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
}
when () {
===(R|<local>/x|, R|<local>/y|) -> {
R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/y|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
R|<local>/y|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
}
@@ -240,7 +240,7 @@ digraph nullability_kt {
76 [label="Enter block"];
77 [label="Access variable R|<local>/x|"];
78 [label="Smart cast: R|<local>/x|"];
79 [label="Function call: R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
79 [label="Function call: R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
80 [label="Exit block"];
}
81 [label="Exit when branch result"];
@@ -257,7 +257,7 @@ digraph nullability_kt {
89 [label="Exit when"];
}
90 [label="Access variable R|<local>/x|"];
91 [label="Function call: R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
91 [label="Function call: R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
92 [label="Exit block"];
}
93 [label="Exit function test_1" style="filled" fillcolor=red];
@@ -329,14 +329,14 @@ digraph nullability_kt {
112 [label="Enter block"];
113 [label="Access variable R|<local>/x|"];
114 [label="Smart cast: R|<local>/x|"];
115 [label="Function call: R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
115 [label="Function call: R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
116 [label="Exit block"];
}
117 [label="Exit when branch result"];
118 [label="Exit when"];
}
119 [label="Access variable R|<local>/x|"];
120 [label="Function call: R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
120 [label="Function call: R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
121 [label="Exit block"];
}
122 [label="Exit function test_2" style="filled" fillcolor=red];
@@ -508,13 +508,13 @@ digraph nullability_kt {
186 [label="Smart cast: R|<local>/q|"];
187 [label="Access variable R|/Q.data|"];
188 [label="Smart cast: R|<local>/q|.R|/Q.data|"];
189 [label="Access variable <Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#"];
189 [label="Access variable R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|"];
190 [label="Access variable R|<local>/q|"];
191 [label="Smart cast: R|<local>/q|"];
192 [label="Access variable R|/Q.data|"];
193 [label="Smart cast: R|<local>/q|.R|/Q.data|"];
194 [label="Access variable <Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#"];
195 [label="Function call: R|<local>/q|.R|/Q.data|.<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#.R|kotlin/Int.inc|()" style="filled" fillcolor=yellow];
194 [label="Access variable R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|"];
195 [label="Function call: R|<local>/q|.R|/Q.data|.R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|.R|kotlin/Int.inc|()" style="filled" fillcolor=yellow];
196 [label="Exit block"];
}
197 [label="Exit when branch result"];
@@ -594,13 +594,13 @@ digraph nullability_kt {
224 [label="Smart cast: R|<local>/q|"];
225 [label="Access variable R|/Q.data|"];
226 [label="Smart cast: R|<local>/q|.R|/Q.data|"];
227 [label="Access variable <Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#"];
227 [label="Access variable R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|"];
228 [label="Access variable R|<local>/q|"];
229 [label="Smart cast: R|<local>/q|"];
230 [label="Access variable R|/Q.data|"];
231 [label="Smart cast: R|<local>/q|.R|/Q.data|"];
232 [label="Access variable <Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#"];
233 [label="Function call: R|<local>/q|.R|/Q.data|.<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#.R|kotlin/Int.inc|()" style="filled" fillcolor=yellow];
232 [label="Access variable R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|"];
233 [label="Function call: R|<local>/q|.R|/Q.data|.R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|.R|kotlin/Int.inc|()" style="filled" fillcolor=yellow];
234 [label="Exit block"];
}
235 [label="Exit function test_6" style="filled" fillcolor=red];
@@ -678,12 +678,12 @@ digraph nullability_kt {
259 [label="Access variable R|<local>/q|"];
260 [label="Smart cast: R|<local>/q|"];
261 [label="Function call: R|<local>/q|.R|/Q.fdata|()" style="filled" fillcolor=yellow];
262 [label="Function call: R|<local>/q|.R|/Q.fdata|().<Inapplicable(UNSAFE_CALL): /MyData.fs>#()" style="filled" fillcolor=yellow];
262 [label="Function call: R|<local>/q|.R|/Q.fdata|().R|/MyData.fs<Inapplicable(UNSAFE_CALL): /MyData.fs>#|()" style="filled" fillcolor=yellow];
263 [label="Access variable R|<local>/q|"];
264 [label="Smart cast: R|<local>/q|"];
265 [label="Function call: R|<local>/q|.R|/Q.fdata|()" style="filled" fillcolor=yellow];
266 [label="Function call: R|<local>/q|.R|/Q.fdata|().<Inapplicable(UNSAFE_CALL): /MyData.fs>#()" style="filled" fillcolor=yellow];
267 [label="Function call: R|<local>/q|.R|/Q.fdata|().<Inapplicable(UNSAFE_CALL): /MyData.fs>#().R|kotlin/Int.inc|()" style="filled" fillcolor=yellow];
266 [label="Function call: R|<local>/q|.R|/Q.fdata|().R|/MyData.fs<Inapplicable(UNSAFE_CALL): /MyData.fs>#|()" style="filled" fillcolor=yellow];
267 [label="Function call: R|<local>/q|.R|/Q.fdata|().R|/MyData.fs<Inapplicable(UNSAFE_CALL): /MyData.fs>#|().R|kotlin/Int.inc|()" style="filled" fillcolor=yellow];
268 [label="Exit block"];
}
269 [label="Exit when branch result"];
@@ -814,7 +814,7 @@ digraph nullability_kt {
308 [label="Exit when"];
}
309 [label="Access variable R|<local>/b|"];
310 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()" style="filled" fillcolor=yellow];
310 [label="Function call: R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()" style="filled" fillcolor=yellow];
subgraph cluster_66 {
color=blue
311 [label="Enter when"];
@@ -840,7 +840,7 @@ digraph nullability_kt {
325 [label="Exit when"];
}
326 [label="Access variable R|<local>/b|"];
327 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()" style="filled" fillcolor=yellow];
327 [label="Function call: R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()" style="filled" fillcolor=yellow];
subgraph cluster_69 {
color=blue
328 [label="Enter when"];
@@ -866,7 +866,7 @@ digraph nullability_kt {
342 [label="Exit when"];
}
343 [label="Access variable R|<local>/b|"];
344 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()" style="filled" fillcolor=yellow];
344 [label="Function call: R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()" style="filled" fillcolor=yellow];
subgraph cluster_72 {
color=blue
345 [label="Enter when"];
@@ -892,7 +892,7 @@ digraph nullability_kt {
359 [label="Exit when"];
}
360 [label="Access variable R|<local>/b|"];
361 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()" style="filled" fillcolor=yellow];
361 [label="Function call: R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()" style="filled" fillcolor=yellow];
362 [label="Exit block"];
}
363 [label="Exit function test_9" style="filled" fillcolor=red];
@@ -992,14 +992,14 @@ digraph nullability_kt {
color=blue
374 [label="Enter block"];
375 [label="Access variable R|<local>/b|"];
376 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()" style="filled" fillcolor=yellow];
376 [label="Function call: R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()" style="filled" fillcolor=yellow];
377 [label="Exit block"];
}
378 [label="Exit when branch result"];
379 [label="Exit when"];
}
380 [label="Access variable R|<local>/b|"];
381 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()" style="filled" fillcolor=yellow];
381 [label="Function call: R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()" style="filled" fillcolor=yellow];
subgraph cluster_80 {
color=blue
382 [label="Enter when"];
@@ -1017,14 +1017,14 @@ digraph nullability_kt {
color=blue
390 [label="Enter block"];
391 [label="Access variable R|<local>/b|"];
392 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()" style="filled" fillcolor=yellow];
392 [label="Function call: R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()" style="filled" fillcolor=yellow];
393 [label="Exit block"];
}
394 [label="Exit when branch result"];
395 [label="Exit when"];
}
396 [label="Access variable R|<local>/b|"];
397 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()" style="filled" fillcolor=yellow];
397 [label="Function call: R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()" style="filled" fillcolor=yellow];
subgraph cluster_83 {
color=blue
398 [label="Enter when"];
@@ -1042,14 +1042,14 @@ digraph nullability_kt {
color=blue
406 [label="Enter block"];
407 [label="Access variable R|<local>/b|"];
408 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()" style="filled" fillcolor=yellow];
408 [label="Function call: R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()" style="filled" fillcolor=yellow];
409 [label="Exit block"];
}
410 [label="Exit when branch result"];
411 [label="Exit when"];
}
412 [label="Access variable R|<local>/b|"];
413 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()" style="filled" fillcolor=yellow];
413 [label="Function call: R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()" style="filled" fillcolor=yellow];
subgraph cluster_86 {
color=blue
414 [label="Enter when"];
@@ -1067,14 +1067,14 @@ digraph nullability_kt {
color=blue
422 [label="Enter block"];
423 [label="Access variable R|<local>/b|"];
424 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()" style="filled" fillcolor=yellow];
424 [label="Function call: R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()" style="filled" fillcolor=yellow];
425 [label="Exit block"];
}
426 [label="Exit when branch result"];
427 [label="Exit when"];
}
428 [label="Access variable R|<local>/b|"];
429 [label="Function call: R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()" style="filled" fillcolor=yellow];
429 [label="Function call: R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()" style="filled" fillcolor=yellow];
430 [label="Exit block"];
}
431 [label="Exit function test_10" style="filled" fillcolor=red];
@@ -1197,11 +1197,11 @@ digraph nullability_kt {
468 [label="Access variable R|/QImpl.data|"];
469 [label="Access variable R|<local>/q2|"];
470 [label="Access variable R|/QImpl.data|"];
471 [label="Access variable <Inapplicable(UNSAFE_CALL): /MyData.s>#"];
471 [label="Access variable R|/MyData.s<Inapplicable(UNSAFE_CALL): /MyData.s>#|"];
472 [label="Access variable R|<local>/q2|"];
473 [label="Access variable R|/QImpl.data|"];
474 [label="Access variable <Inapplicable(UNSAFE_CALL): /MyData.s>#"];
475 [label="Function call: R|<local>/q2|.R|/QImpl.data|.<Inapplicable(UNSAFE_CALL): /MyData.s>#.R|kotlin/Int.inc|()" style="filled" fillcolor=yellow];
474 [label="Access variable R|/MyData.s<Inapplicable(UNSAFE_CALL): /MyData.s>#|"];
475 [label="Function call: R|<local>/q2|.R|/QImpl.data|.R|/MyData.s<Inapplicable(UNSAFE_CALL): /MyData.s>#|.R|kotlin/Int.inc|()" style="filled" fillcolor=yellow];
subgraph cluster_94 {
color=blue
476 [label="Enter when"];
@@ -1352,13 +1352,13 @@ digraph nullability_kt {
528 [label="Smart cast: R|<local>/q|"];
529 [label="Access variable R|/QImplWithCustomGetter.data|"];
530 [label="Smart cast: R|<local>/q|.R|/QImplWithCustomGetter.data|"];
531 [label="Access variable <Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#"];
531 [label="Access variable R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|"];
532 [label="Access variable R|<local>/q|"];
533 [label="Smart cast: R|<local>/q|"];
534 [label="Access variable R|/QImplWithCustomGetter.data|"];
535 [label="Smart cast: R|<local>/q|.R|/QImplWithCustomGetter.data|"];
536 [label="Access variable <Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#"];
537 [label="Function call: R|<local>/q|.R|/QImplWithCustomGetter.data|.<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#.R|kotlin/Int.inc|()" style="filled" fillcolor=yellow];
536 [label="Access variable R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|"];
537 [label="Function call: R|<local>/q|.R|/QImplWithCustomGetter.data|.R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|.R|kotlin/Int.inc|()" style="filled" fillcolor=yellow];
538 [label="Exit block"];
}
539 [label="Exit when branch result"];
@@ -1447,13 +1447,13 @@ digraph nullability_kt {
568 [label="Smart cast: R|<local>/q|"];
569 [label="Access variable R|/QImplMutable.data|"];
570 [label="Smart cast: R|<local>/q|.R|/QImplMutable.data|"];
571 [label="Access variable <Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#"];
571 [label="Access variable R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|"];
572 [label="Access variable R|<local>/q|"];
573 [label="Smart cast: R|<local>/q|"];
574 [label="Access variable R|/QImplMutable.data|"];
575 [label="Smart cast: R|<local>/q|.R|/QImplMutable.data|"];
576 [label="Access variable <Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#"];
577 [label="Function call: R|<local>/q|.R|/QImplMutable.data|.<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#.R|kotlin/Int.inc|()" style="filled" fillcolor=yellow];
576 [label="Access variable R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|"];
577 [label="Function call: R|<local>/q|.R|/QImplMutable.data|.R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|.R|kotlin/Int.inc|()" style="filled" fillcolor=yellow];
578 [label="Exit block"];
}
579 [label="Exit when branch result"];
@@ -1529,7 +1529,7 @@ digraph nullability_kt {
595 [label="Access variable R|<local>/q|"];
596 [label="Access variable R|/Q.data|"];
597 [label="Smart cast: R|<local>/q|.R|/Q.data|"];
598 [label="Access variable <Inapplicable(UNSAFE_CALL): /MyData.s>#"];
598 [label="Access variable R|/MyData.s<Inapplicable(UNSAFE_CALL): /MyData.s>#|"];
599 [label="Exit block"];
}
600 [label="Exit when branch result"];
@@ -67,23 +67,23 @@ FILE: nullability.kt
R|<local>/x|.R|/A.foo|()
}
else -> {
R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
}
R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
public final fun test_2(x: R|A?|): R|kotlin/Unit| {
when () {
==(R|<local>/x|, Null(null)) -> {
R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
else -> {
R|<local>/x|.R|/A.foo|()
}
}
R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/x|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
public final fun test_3(x: R|A?|): R|kotlin/Unit| {
R|<local>/x| ?: ^test_3 Unit
@@ -102,8 +102,8 @@ FILE: nullability.kt
when () {
!=(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|.<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#
R|<local>/q|.R|/Q.data|.<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#.R|kotlin/Int.inc|()
R|<local>/q|.R|/Q.data|.R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|
R|<local>/q|.R|/Q.data|.R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|.R|kotlin/Int.inc|()
}
}
@@ -111,15 +111,15 @@ FILE: nullability.kt
public final fun test_6(q: R|Q?|): R|kotlin/Unit| {
R|<local>/q|?.{ $subj$.R|/Q.data| }?.{ $subj$.R|/MyData.s| }?.{ $subj$.R|kotlin/Int.inc|() } ?: ^test_6 Unit
R|<local>/q|.R|/Q.data|
R|<local>/q|.R|/Q.data|.<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#
R|<local>/q|.R|/Q.data|.<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#.R|kotlin/Int.inc|()
R|<local>/q|.R|/Q.data|.R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|
R|<local>/q|.R|/Q.data|.R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|.R|kotlin/Int.inc|()
}
public final fun test_7(q: R|Q?|): R|kotlin/Unit| {
when () {
!=(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|().<Inapplicable(UNSAFE_CALL): /MyData.fs>#()
R|<local>/q|.R|/Q.fdata|().<Inapplicable(UNSAFE_CALL): /MyData.fs>#().R|kotlin/Int.inc|()
R|<local>/q|.R|/Q.fdata|().R|/MyData.fs<Inapplicable(UNSAFE_CALL): /MyData.fs>#|()
R|<local>/q|.R|/Q.fdata|().R|/MyData.fs<Inapplicable(UNSAFE_CALL): /MyData.fs>#|().R|kotlin/Int.inc|()
}
}
@@ -139,58 +139,58 @@ FILE: nullability.kt
}
}
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()
when () {
===(R|<local>/a|, R|<local>/b|) -> {
R|<local>/b|.R|kotlin/Int.inc|()
}
}
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()
when () {
==(R|<local>/b|, R|<local>/a|) -> {
R|<local>/b|.R|kotlin/Int.inc|()
}
}
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()
when () {
===(R|<local>/b|, R|<local>/a|) -> {
R|<local>/b|.R|kotlin/Int.inc|()
}
}
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()
}
public final fun test_10(a: R|kotlin/Int?|, b: R|kotlin/Int?|): R|kotlin/Unit| {
when () {
==(R|<local>/a|, R|<local>/b|) -> {
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()
}
}
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()
when () {
===(R|<local>/a|, R|<local>/b|) -> {
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()
}
}
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()
when () {
==(R|<local>/b|, R|<local>/a|) -> {
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()
}
}
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()
when () {
===(R|<local>/b|, R|<local>/a|) -> {
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()
}
}
R|<local>/b|.<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#()
R|<local>/b|.R|kotlin/Int.inc<Inapplicable(UNSAFE_CALL): kotlin/Int.inc>#|()
}
public final fun test_11(q: R|QImpl?|, q2: R|QImpl|): R|kotlin/Unit| {
when () {
@@ -199,8 +199,8 @@ FILE: nullability.kt
R|<local>/q|.R|/QImpl.data|.R|/MyData.s|
R|<local>/q|.R|/QImpl.data|.R|/MyData.s|.R|kotlin/Int.inc|()
R|<local>/q2|.R|/QImpl.data|
R|<local>/q2|.R|/QImpl.data|.<Inapplicable(UNSAFE_CALL): /MyData.s>#
R|<local>/q2|.R|/QImpl.data|.<Inapplicable(UNSAFE_CALL): /MyData.s>#.R|kotlin/Int.inc|()
R|<local>/q2|.R|/QImpl.data|.R|/MyData.s<Inapplicable(UNSAFE_CALL): /MyData.s>#|
R|<local>/q2|.R|/QImpl.data|.R|/MyData.s<Inapplicable(UNSAFE_CALL): /MyData.s>#|.R|kotlin/Int.inc|()
when () {
!=(R|<local>/q2|.R|/QImpl.data|, Null(null)) -> {
R|<local>/q2|.R|/QImpl.data|.R|/MyData.s|
@@ -216,8 +216,8 @@ FILE: nullability.kt
when () {
!=(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|.<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#
R|<local>/q|.R|/QImplWithCustomGetter.data|.<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#.R|kotlin/Int.inc|()
R|<local>/q|.R|/QImplWithCustomGetter.data|.R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|
R|<local>/q|.R|/QImplWithCustomGetter.data|.R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|.R|kotlin/Int.inc|()
}
}
@@ -226,8 +226,8 @@ FILE: nullability.kt
when () {
!=(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|.<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#
R|<local>/q|.R|/QImplMutable.data|.<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#.R|kotlin/Int.inc|()
R|<local>/q|.R|/QImplMutable.data|.R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|
R|<local>/q|.R|/QImplMutable.data|.R|/MyData.s<Inapplicable(UNSTABLE_SMARTCAST): /MyData.s>#|.R|kotlin/Int.inc|()
}
}
@@ -235,7 +235,7 @@ FILE: nullability.kt
public final fun test_14(q: R|Q|): R|kotlin/Unit| {
when () {
==(R|<local>/q|.R|/Q.data|, Null(null)) -> {
R|<local>/q|.R|/Q.data|.<Inapplicable(UNSAFE_CALL): /MyData.s>#
R|<local>/q|.R|/Q.data|.R|/MyData.s<Inapplicable(UNSAFE_CALL): /MyData.s>#|
}
}
@@ -4,7 +4,7 @@ FILE: orInWhenBranch.kt
public final fun test_1(a: R|kotlin/Any?|): R|kotlin/Unit| {
when (R|<local>/a|) {
($subj$ is R|kotlin/String|) || ($subj$ is R|kotlin/Any|) -> {
R|<local>/a|.<None of the following candidates is applicable because of receiver type mismatch: [/foo]>#()
R|<local>/a|.R|/foo<None of the following candidates is applicable because of receiver type mismatch: [/foo]>#|()
}
}
@@ -12,7 +12,7 @@ FILE: orInWhenBranch.kt
public final fun test_2(a: R|kotlin/Any?|): R|kotlin/Unit| {
when () {
(R|<local>/a| is R|kotlin/String|) || (R|<local>/a| is R|kotlin/Any|) -> {
R|<local>/a|.<None of the following candidates is applicable because of receiver type mismatch: [/foo]>#()
R|<local>/a|.R|/foo<None of the following candidates is applicable because of receiver type mismatch: [/foo]>#|()
}
}
@@ -20,7 +20,7 @@ FILE: orInWhenBranch.kt
public final fun test_3(a: R|kotlin/Any?|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
when (R|<local>/a|) {
($subj$ is R|kotlin/String|) || ==($subj$, R|<local>/b|) -> {
R|<local>/a|.<None of the following candidates is applicable because of receiver type mismatch: [/foo]>#()
R|<local>/a|.R|/foo<None of the following candidates is applicable because of receiver type mismatch: [/foo]>#|()
}
}
@@ -28,7 +28,7 @@ FILE: orInWhenBranch.kt
public final fun test_4(a: R|kotlin/Any?|, b: R|kotlin/Boolean|): R|kotlin/Unit| {
when () {
(R|<local>/a| is R|kotlin/String|) || R|<local>/b| -> {
R|<local>/a|.<None of the following candidates is applicable because of receiver type mismatch: [/foo]>#()
R|<local>/a|.R|/foo<None of the following candidates is applicable because of receiver type mismatch: [/foo]>#|()
}
}
@@ -54,7 +54,7 @@ digraph safeCallAndEqualityToBool_kt {
color=blue
21 [label="Enter block"];
22 [label="Access variable R|<local>/s|"];
23 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
23 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
24 [label="Exit block"];
}
25 [label="Exit when branch result"];
@@ -133,7 +133,7 @@ digraph safeCallAndEqualityToBool_kt {
color=blue
50 [label="Enter block"];
51 [label="Access variable R|<local>/s|"];
52 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
52 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
53 [label="Exit block"];
}
54 [label="Exit when branch result"];
@@ -222,7 +222,7 @@ digraph safeCallAndEqualityToBool_kt {
color=blue
86 [label="Enter block"];
87 [label="Access variable R|<local>/s|"];
88 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
88 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
89 [label="Exit block"];
}
90 [label="Exit when branch result"];
@@ -301,7 +301,7 @@ digraph safeCallAndEqualityToBool_kt {
color=blue
115 [label="Enter block"];
116 [label="Access variable R|<local>/s|"];
117 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
117 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
118 [label="Exit block"];
}
119 [label="Exit when branch result"];
@@ -8,7 +8,7 @@ FILE: safeCallAndEqualityToBool.kt
R|<local>/s|.R|kotlin/String.length|
}
else -> {
R|<local>/s|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/s|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
}
}
@@ -19,7 +19,7 @@ FILE: safeCallAndEqualityToBool.kt
R|<local>/s|.R|kotlin/String.length|
}
else -> {
R|<local>/s|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/s|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
}
}
@@ -27,7 +27,7 @@ FILE: safeCallAndEqualityToBool.kt
public final fun test_3(s: R|kotlin/String?|): R|kotlin/Unit| {
when () {
!=(R|<local>/s|?.{ $subj$.R|/check|() }, Boolean(true)) -> {
R|<local>/s|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/s|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
}
else -> {
R|<local>/s|.R|kotlin/String.length|
@@ -38,7 +38,7 @@ FILE: safeCallAndEqualityToBool.kt
public final fun test_4(s: R|kotlin/String?|): R|kotlin/Unit| {
when () {
!=(R|<local>/s|?.{ $subj$.R|/check|() }, Boolean(false)) -> {
R|<local>/s|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/s|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
}
else -> {
R|<local>/s|.R|kotlin/String.length|
@@ -54,7 +54,7 @@ digraph safeCalls_kt {
20 [label="Function call: $subj$.R|/foo|(...)" style="filled" fillcolor=yellow];
21 [label="Exit safe call"];
22 [label="Access variable R|<local>/x|"];
23 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
23 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
24 [label="Exit block"];
}
25 [label="Exit function test" style="filled" fillcolor=red];
@@ -218,7 +218,7 @@ digraph safeCalls_kt {
83 [label="Exit safe call"];
84 [label="Exit safe call"];
85 [label="Access variable R|<local>/x|"];
86 [label="Function call: R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.id>#()" style="filled" fillcolor=yellow];
86 [label="Function call: R|<local>/x|.R|/A.id<Inapplicable(UNSAFE_CALL): /A.id>#|()" style="filled" fillcolor=yellow];
87 [label="Exit block"];
}
88 [label="Exit function test_4" style="filled" fillcolor=red];
@@ -282,7 +282,7 @@ digraph safeCalls_kt {
106 [label="Exit safe call"];
107 [label="Exit safe call"];
108 [label="Access variable R|<local>/x|"];
109 [label="Function call: R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.id>#()" style="filled" fillcolor=yellow];
109 [label="Function call: R|<local>/x|.R|/A.id<Inapplicable(UNSAFE_CALL): /A.id>#|()" style="filled" fillcolor=yellow];
110 [label="Exit block"];
}
111 [label="Exit function test_5" style="filled" fillcolor=red];
@@ -6,7 +6,7 @@ FILE: safeCalls.kt
}
public final fun test(x: R|kotlin/String?|): R|kotlin/Unit| {
R|<local>/x|?.{ $subj$.R|/foo|(==(R|<local>/x|.R|kotlin/String.length|, Int(1))) }
R|<local>/x|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/x|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
}
public abstract interface A : R|kotlin/Any| {
public abstract fun bar(a: R|A|): R|kotlin/String|
@@ -28,7 +28,7 @@ FILE: safeCalls.kt
}
public final fun test_4(x: R|A?|): R|kotlin/Unit| {
R|<local>/x|?.{ $subj$.R|/A.id|() }?.{ $subj$.R|/A.bool|() }
R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.id>#()
R|<local>/x|.R|/A.id<Inapplicable(UNSAFE_CALL): /A.id>#|()
}
public final fun R|kotlin/Any?|.boo(b: R|kotlin/Boolean|): R|kotlin/Unit| {
}
@@ -37,5 +37,5 @@ FILE: safeCalls.kt
^test_5 Unit
}
) }?.{ $subj$.R|/boo|(R|<local>/x|.R|/A.bool|()) }
R|<local>/x|.<Inapplicable(UNSAFE_CALL): /A.id>#()
R|<local>/x|.R|/A.id<Inapplicable(UNSAFE_CALL): /A.id>#|()
}
@@ -31,7 +31,7 @@ FILE: unstableSmartCastOnSafeCallArgument.kt
when () {
!=(R|<local>/foo|.R|/Foo.bar|?.{ $subj$.R|/Bar.buz| }, Null(null)) -> {
R|/takesNullable|(R|<local>/foo|.R|/Foo.bar|?.{ $subj$.R|/Bar.buz| })
<Inapplicable(INAPPLICABLE): /takesNonNull>#(R|<local>/foo|.R|/Foo.bar|?.{ $subj$.R|/Bar.buz| })
R|/takesNonNull<Inapplicable(INAPPLICABLE): /takesNonNull>#|(R|<local>/foo|.R|/Foo.bar|?.{ $subj$.R|/Bar.buz| })
}
}
@@ -47,7 +47,7 @@ FILE: module_main_smartcastsFromEquals_differentModule.kt
public final fun testBase(x: R|Base<*>|, y: R|Base<kotlin/Int>|): R|kotlin/Unit| {
when () {
==(R|<local>/x|, R|<local>/y|) -> {
<Inapplicable(INAPPLICABLE): /takeIntBase>#(R|<local>/x|)
R|/takeIntBase<Inapplicable(INAPPLICABLE): /takeIntBase>#|(R|<local>/x|)
}
}
@@ -75,7 +75,7 @@ FILE: module_main_smartcastsFromEquals_differentModule.kt
public final fun testFinalWithOverride(x: R|FinalWithOverride<*>|, y: R|FinalWithOverride<kotlin/Int>|): R|kotlin/Unit| {
when () {
==(R|<local>/x|, R|<local>/y|) -> {
<Inapplicable(INAPPLICABLE): /takeIntFinalWithOverride>#(R|<local>/x|)
R|/takeIntFinalWithOverride<Inapplicable(INAPPLICABLE): /takeIntFinalWithOverride>#|(R|<local>/x|)
}
}
@@ -44,7 +44,7 @@ FILE: smartcastsFromEquals_sameModule.kt
public final fun testBase(x: R|Base<*>|, y: R|Base<kotlin/Int>|): R|kotlin/Unit| {
when () {
==(R|<local>/x|, R|<local>/y|) -> {
<Inapplicable(INAPPLICABLE): /takeIntBase>#(R|<local>/x|)
R|/takeIntBase<Inapplicable(INAPPLICABLE): /takeIntBase>#|(R|<local>/x|)
}
}
@@ -72,7 +72,7 @@ FILE: smartcastsFromEquals_sameModule.kt
public final fun testFinalWithOverride(x: R|FinalWithOverride<*>|, y: R|FinalWithOverride<kotlin/Int>|): R|kotlin/Unit| {
when () {
==(R|<local>/x|, R|<local>/y|) -> {
<Inapplicable(INAPPLICABLE): /takeIntFinalWithOverride>#(R|<local>/x|)
R|/takeIntFinalWithOverride<Inapplicable(INAPPLICABLE): /takeIntFinalWithOverride>#|(R|<local>/x|)
}
}
@@ -78,7 +78,7 @@ digraph delayedAssignment_kt {
33 [label="Exit when"];
}
34 [label="Access variable R|<local>/a|"];
35 [label="Function call: R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()" style="filled" fillcolor=yellow];
35 [label="Function call: R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()" style="filled" fillcolor=yellow];
36 [label="Exit block"];
}
37 [label="Exit function test" style="filled" fillcolor=red];
@@ -20,5 +20,5 @@ FILE: delayedAssignment.kt
}
}
R|<local>/a|.<Inapplicable(UNSAFE_CALL): /A.foo>#()
R|<local>/a|.R|/A.foo<Inapplicable(UNSAFE_CALL): /A.foo>#|()
}
@@ -109,7 +109,7 @@ digraph smartcastAfterReassignment_kt {
44 [label="Assignment: R|<local>/x|"];
45 [label="Access variable R|<local>/x|"];
46 [label="Smart cast: R|<local>/x|"];
47 [label="Access variable <Inapplicable(UNSAFE_CALL): kotlin/String.length>#"];
47 [label="Access variable R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|"];
48 [label="Exit block"];
}
49 [label="Exit function test_3" style="filled" fillcolor=red];
@@ -19,5 +19,5 @@ FILE: smartcastAfterReassignment.kt
R|<local>/x| = String()
R|<local>/x|.R|kotlin/String.length|
R|<local>/x| = Null(null)
R|<local>/x|.<Inapplicable(UNSAFE_CALL): kotlin/String.length>#
R|<local>/x|.R|kotlin/String.length<Inapplicable(UNSAFE_CALL): kotlin/String.length>#|
}