FIR IDE: Mark FirTowerDataContextCollector as ThreadSafeMutableState

Also, use HashMap instead of LinkedHashMap
in `FirTowerDataContextCollector`
This commit is contained in:
Roman Golyshev
2020-12-24 15:16:00 +03:00
committed by Space
parent 11564d7950
commit 445edf8e28
@@ -5,14 +5,16 @@
package org.jetbrains.kotlin.idea.fir.low.level.api.element.builder package org.jetbrains.kotlin.idea.fir.low.level.api.element.builder
import org.jetbrains.kotlin.fir.ThreadSafeMutableState
import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.expressions.FirStatement import org.jetbrains.kotlin.fir.expressions.FirStatement
import org.jetbrains.kotlin.fir.psi import org.jetbrains.kotlin.fir.psi
import org.jetbrains.kotlin.fir.resolve.FirTowerDataContext import org.jetbrains.kotlin.fir.resolve.FirTowerDataContext
import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.psi.KtElement
@ThreadSafeMutableState
class FirTowerDataContextCollector { class FirTowerDataContextCollector {
private val state: MutableMap<KtElement, FirTowerDataContext> = mutableMapOf() private val state: MutableMap<KtElement, FirTowerDataContext> = hashMapOf()
fun addStatementContext(statement: FirStatement, context: FirTowerDataContext) { fun addStatementContext(statement: FirStatement, context: FirTowerDataContext) {
(statement.psi as? KtElement)?.let { state[it] = context } (statement.psi as? KtElement)?.let { state[it] = context }