[FIR-IDE] Add DestructuringDeclarationEntry to SymbolProvider
This commit is contained in:
committed by
Ilya Kirillov
parent
b6371a5b9a
commit
3af0e57406
+12
-4
@@ -122,14 +122,14 @@ internal class KtFirSymbolProvider(
|
||||
// A KtClassOrObject may also map to an FirEnumEntry. Hence, we need to return null in this case.
|
||||
if (psi is KtEnumEntry) return null
|
||||
return firSymbolBuilder.classifierBuilder.buildNamedClassOrObjectSymbol(
|
||||
psi.resolveToFirSymbolOfType<FirRegularClassSymbol>(firResolveSession)
|
||||
)
|
||||
psi.resolveToFirSymbolOfType<FirRegularClassSymbol>(firResolveSession))
|
||||
|
||||
}
|
||||
|
||||
override fun getPropertyAccessorSymbol(psi: KtPropertyAccessor): KtPropertyAccessorSymbol {
|
||||
return firSymbolBuilder.callableBuilder.buildPropertyAccessorSymbol(
|
||||
psi.resolveToFirSymbolOfType<FirPropertyAccessorSymbol>(firResolveSession)
|
||||
)
|
||||
psi.resolveToFirSymbolOfType<FirPropertyAccessorSymbol>(firResolveSession))
|
||||
|
||||
}
|
||||
|
||||
override fun getClassInitializerSymbol(psi: KtClassInitializer): KtClassInitializerSymbol {
|
||||
@@ -149,4 +149,12 @@ internal class KtFirSymbolProvider(
|
||||
}
|
||||
|
||||
override val ROOT_PACKAGE_SYMBOL: KtPackageSymbol = KtFirPackageSymbol(FqName.ROOT, firResolveSession.project, token)
|
||||
|
||||
override fun getDestructuringDeclarationEntrySymbol(psi: KtDestructuringDeclarationEntry): KtLocalVariableSymbol {
|
||||
return firSymbolBuilder.variableLikeBuilder.buildLocalVariableSymbol(
|
||||
psi.resolveToFirSymbolOfType<FirPropertySymbol>(
|
||||
firResolveSession
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
+6
@@ -112,6 +112,12 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByPsiTestGenerated extends Ab
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/deprecated.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("destructuringDeclaration.kt")
|
||||
public void testDestructuringDeclaration() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("dynamic.kt")
|
||||
public void testDynamic() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user