org.jetbrains.kotlin.fir.resolve.dfa.Flow.kt Maven / Gradle / Ivy
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.fir.resolve.dfa
abstract class Flow {
abstract fun getTypeStatement(variable: RealVariable): TypeStatement?
abstract fun getImplications(variable: DataFlowVariable): Collection
abstract fun getVariablesInTypeStatements(): Collection
abstract fun removeOperations(variable: DataFlowVariable): Collection
abstract val directAliasMap: Map
abstract val backwardsAliasMap: Map>
abstract val assignmentIndex: Map
}
fun Flow.unwrapVariable(variable: RealVariable): RealVariable {
return directAliasMap[variable]?.variable ?: variable
}