Fix incorrect assertion in FIR DFA
This commit is contained in:
+1
-2
@@ -561,8 +561,7 @@ class FirDataFlowAnalyzer(private val components: FirAbstractBodyResolveTransfor
|
||||
* x.length
|
||||
* }
|
||||
*/
|
||||
variableStorage[initializer]?.let { initializerVariable ->
|
||||
assert(initializerVariable.isSynthetic())
|
||||
variableStorage[initializer]?.takeIf { it.isSynthetic() }?.let { initializerVariable ->
|
||||
val realVariable = getOrCreateRealVariable(variable)
|
||||
requireNotNull(realVariable)
|
||||
logicSystem.changeVariableForConditionFlow(node.flow, initializerVariable, realVariable)
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
FILE: anonymousInDelegate.kt
|
||||
public abstract interface Foo : R|kotlin/Any| {
|
||||
public abstract fun bar(): R|kotlin/Int|
|
||||
|
||||
}
|
||||
public final val x: R|kotlin/Int|by R|kotlin/lazy|<R|kotlin/Int|>(<L> = lazy@fun <anonymous>(): R|kotlin/Int| {
|
||||
lval foo: R|anonymous| = object : R|Foo| {
|
||||
private constructor(): R|kotlin/Any| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final override fun bar(): R|kotlin/Int| {
|
||||
^bar Int(42)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
R|<local>/foo|.R|/bar|()
|
||||
}
|
||||
)
|
||||
public get(): R|kotlin/Int| {
|
||||
^ D|/x|.R|kotlin/getValue|<R|kotlin/Int|>(Null(null), ::R|/x|)
|
||||
}
|
||||
Reference in New Issue
Block a user