[LL API] Refactoring, replace a 'Pair' with a 'ContextKey' data class
This commit is contained in:
+6
-3
@@ -78,8 +78,11 @@ private class ContextCollectorVisitor(
|
|||||||
private val filter: (PsiElement) -> FilterResponse,
|
private val filter: (PsiElement) -> FilterResponse,
|
||||||
private val interceptor: () -> FirElement?
|
private val interceptor: () -> FirElement?
|
||||||
) : FirDefaultVisitorVoid() {
|
) : FirDefaultVisitorVoid() {
|
||||||
|
private data class ContextKey(val element: PsiElement, val kind: ContextKind)
|
||||||
|
|
||||||
operator fun get(element: PsiElement, kind: ContextKind): Context? {
|
operator fun get(element: PsiElement, kind: ContextKind): Context? {
|
||||||
return result[element to kind]
|
val key = ContextKey(element, kind)
|
||||||
|
return result[key]
|
||||||
}
|
}
|
||||||
|
|
||||||
private val session: FirSession
|
private val session: FirSession
|
||||||
@@ -94,7 +97,7 @@ private class ContextCollectorVisitor(
|
|||||||
|
|
||||||
private var smartCasts: PersistentMap<FirBasedSymbol<*>, Set<ConeKotlinType>> = persistentHashMapOf()
|
private var smartCasts: PersistentMap<FirBasedSymbol<*>, Set<ConeKotlinType>> = persistentHashMapOf()
|
||||||
|
|
||||||
private val result = HashMap<Pair<PsiElement, ContextKind>, Context>()
|
private val result = HashMap<ContextKey, Context>()
|
||||||
|
|
||||||
fun processTarget(target: LLFirResolveTarget) {
|
fun processTarget(target: LLFirResolveTarget) {
|
||||||
target.firFile.accept(this)
|
target.firFile.accept(this)
|
||||||
@@ -115,7 +118,7 @@ private class ContextCollectorVisitor(
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
val key = Pair(psi, kind)
|
val key = ContextKey(psi, kind)
|
||||||
if (key in result) {
|
if (key in result) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user