FIR IDE: Add resolving KtParameter in FirLazyDeclarationResolver

This commit is contained in:
Igor Yakovlev
2020-11-06 01:17:54 +03:00
committed by Ilya Kirillov
parent 345a0d3f89
commit 0d59656532
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.util.checkCanceled
import org.jetbrains.kotlin.idea.fir.low.level.api.util.executeWithoutPCE
import org.jetbrains.kotlin.idea.fir.low.level.api.util.findSourceNonLocalFirDeclaration
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
internal class FirLazyDeclarationResolver(
private val firFileBuilder: FirFileBuilder
@@ -43,6 +44,8 @@ internal class FirLazyDeclarationResolver(
val ktContainingProperty = when (val ktDeclaration = declaration.ktDeclaration) {
is KtPropertyAccessor -> ktDeclaration.property
is KtProperty -> ktDeclaration
is KtParameter -> ktDeclaration.getNonLocalContainingOrThisDeclaration()
?: error("Cannot find containing declaration for KtParameter")
else -> error("Invalid source of property accessor ${ktDeclaration::class}")
}
val containingProperty = ktContainingProperty