FIR IDE: Add resolving KtParameter in FirLazyDeclarationResolver
This commit is contained in:
committed by
Ilya Kirillov
parent
345a0d3f89
commit
0d59656532
+3
@@ -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.executeWithoutPCE
|
||||||
import org.jetbrains.kotlin.idea.fir.low.level.api.util.findSourceNonLocalFirDeclaration
|
import org.jetbrains.kotlin.idea.fir.low.level.api.util.findSourceNonLocalFirDeclaration
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
|
import org.jetbrains.kotlin.psi.psiUtil.getParentOfType
|
||||||
|
|
||||||
internal class FirLazyDeclarationResolver(
|
internal class FirLazyDeclarationResolver(
|
||||||
private val firFileBuilder: FirFileBuilder
|
private val firFileBuilder: FirFileBuilder
|
||||||
@@ -43,6 +44,8 @@ internal class FirLazyDeclarationResolver(
|
|||||||
val ktContainingProperty = when (val ktDeclaration = declaration.ktDeclaration) {
|
val ktContainingProperty = when (val ktDeclaration = declaration.ktDeclaration) {
|
||||||
is KtPropertyAccessor -> ktDeclaration.property
|
is KtPropertyAccessor -> ktDeclaration.property
|
||||||
is KtProperty -> ktDeclaration
|
is KtProperty -> ktDeclaration
|
||||||
|
is KtParameter -> ktDeclaration.getNonLocalContainingOrThisDeclaration()
|
||||||
|
?: error("Cannot find containing declaration for KtParameter")
|
||||||
else -> error("Invalid source of property accessor ${ktDeclaration::class}")
|
else -> error("Invalid source of property accessor ${ktDeclaration::class}")
|
||||||
}
|
}
|
||||||
val containingProperty = ktContainingProperty
|
val containingProperty = ktContainingProperty
|
||||||
|
|||||||
Reference in New Issue
Block a user