KTIJ-26024 [Analysis API] Refactor FirTowerDataContextAllElementsCollector
This commit is contained in:
committed by
Space Team
parent
96697b5a77
commit
d7d2c1f260
+12
-5
@@ -50,11 +50,7 @@ internal class FirTowerDataContextAllElementsCollector : FirTowerDataContextColl
|
||||
var current: PsiElement? = ktElement
|
||||
while (current != null) {
|
||||
if (current is KtElement) {
|
||||
elementsToContext[current]?.let { return it }
|
||||
}
|
||||
if (current is KtDeclaration) {
|
||||
val originalDeclaration = current.originalDeclaration
|
||||
originalDeclaration?.let { elementsToContext[it] }?.let { return it }
|
||||
getContextForElement(current)?.let { return it }
|
||||
}
|
||||
if (current is KtFile) {
|
||||
break
|
||||
@@ -63,6 +59,17 @@ internal class FirTowerDataContextAllElementsCollector : FirTowerDataContextColl
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
private fun getContextForElement(element: KtElement): FirTowerDataContext? {
|
||||
elementsToContext[element]?.let { return it }
|
||||
|
||||
if (element is KtDeclaration) {
|
||||
val originalDeclaration = element.originalDeclaration
|
||||
originalDeclaration?.let { elementsToContext[it] }?.let { return it }
|
||||
}
|
||||
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
private tailrec fun PsiElement.closestBlockLevelOrInitializerExpression(): KtExpression? =
|
||||
|
||||
Reference in New Issue
Block a user