[FIR] Fix cfg crash with multiple postponed arguments
This commit is contained in:
+20
@@ -0,0 +1,20 @@
|
||||
FILE: complexPostponedCfg.kt
|
||||
public abstract interface FirBase : R|kotlin/Any| {
|
||||
}
|
||||
public abstract interface FirFunctionCall : R|FirBase| {
|
||||
}
|
||||
public final fun foo(statements: R|kotlin/collections/List<FirBase>|, arguments: R|kotlin/collections/List<FirBase>|, explicitReceiver: R|FirBase|): R|kotlin/collections/List<FirFunctionCall>| {
|
||||
lval firstCalls: R|kotlin/Nothing| = R|kotlin/with|<R|FirFunctionCall|, R|kotlin/Nothing|>((R|<local>/statements|.R|kotlin/collections/last|<R|FirBase|>() as R|FirFunctionCall|), <L> = setCall@fun R|FirFunctionCall|.<anonymous>(): R|kotlin/Nothing| <kind=EXACTLY_ONCE> {
|
||||
^ R|kotlin/collections/buildList|<R|kotlin/Any?|>(<L> = buildList@fun R|kotlin/collections/MutableList<kotlin/Any?>|.<anonymous>(): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
|
||||
this@R|special/anonymous|.R|FakeOverride<kotlin/collections/MutableList.add: R|kotlin/Boolean|>|(this@R|special/anonymous|)
|
||||
^ R|kotlin/with|<R|FirFunctionCall|, R|kotlin/Boolean|>((R|<local>/arguments|.R|kotlin/collections/last|<R|FirBase|>() as R|FirFunctionCall|), <L> = plusCall@fun R|FirFunctionCall|.<anonymous>(): R|kotlin/Boolean| <kind=EXACTLY_ONCE> {
|
||||
this@R|special/anonymous|.R|FakeOverride<kotlin/collections/MutableList.add: R|kotlin/Boolean|>|(this@R|special/anonymous|)
|
||||
^ this@R|special/anonymous|.R|FakeOverride<kotlin/collections/MutableList.add: R|kotlin/Boolean|>|((R|<local>/explicitReceiver| as R|FirFunctionCall|))
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
^foo R|<local>/firstCalls|
|
||||
}
|
||||
Reference in New Issue
Block a user