[FIR IDE] Fixed annotation application completion

This commit is contained in:
Igor Yakovlev
2021-05-10 19:20:54 +02:00
committed by TeamCityServer
parent 3275165619
commit dedcaf1eab
@@ -45,12 +45,6 @@ object LowLevelFirApiFacadeForResolveOnAir {
ktDeclaration.canBeEnclosingDeclaration()
}
private fun <T : KtElement> locateDeclarationInFileByOffset(offsetElement: T, file: KtFile): T? {
val elementOffset = offsetElement.textOffset
val elementAtOffset = file.findElementAt(elementOffset) ?: return null
return PsiTreeUtil.getParentOfType(elementAtOffset, offsetElement::class.java, false)?.takeIf { it.textOffset == elementOffset }
}
private fun recordOriginalDeclaration(targetDeclaration: KtNamedDeclaration, originalDeclaration: KtNamedDeclaration) {
require(!targetDeclaration.isPhysical)
require(originalDeclaration.containingKtFile !== targetDeclaration.containingKtFile)
@@ -151,7 +145,7 @@ object LowLevelFirApiFacadeForResolveOnAir {
)
val sameDeclarationInOriginalFile = locateDeclarationInFileByOffset(dependencyNonLocalDeclaration, originalKtFile)
val sameDeclarationInOriginalFile = PsiTreeUtil.findSameElementInCopy(dependencyNonLocalDeclaration, originalKtFile)
?: error("Cannot find original function matching to ${dependencyNonLocalDeclaration.getElementTextInContext()} in $originalKtFile")
recordOriginalDeclaration(