[AA FIR] support symbol pointers for static properties

^KT-55487
This commit is contained in:
Dmitrii Gridin
2022-12-15 14:22:02 +01:00
committed by Space Team
parent e39dc9b768
commit 643b74fa28
10 changed files with 141 additions and 5 deletions
@@ -145,9 +145,10 @@ internal class KtFirKotlinPropertySymbol(
KtSymbolKind.CLASS_MEMBER ->
KtFirMemberPropertySymbolPointer(
requireOwnerPointer(),
firSymbol.name,
FirCallableSignature.createSignature(firSymbol),
ownerPointer = requireOwnerPointer(),
name = firSymbol.name,
signature = FirCallableSignature.createSignature(firSymbol),
isStatic = firSymbol.isStatic,
)
else -> throw UnsupportedSymbolKind(this::class, kind)
@@ -17,8 +17,9 @@ import org.jetbrains.kotlin.name.Name
internal class KtFirMemberPropertySymbolPointer(
ownerPointer: KtSymbolPointer<KtSymbolWithMembers>,
private val name: Name,
private val signature: FirCallableSignature
) : KtFirMemberSymbolPointer<KtKotlinPropertySymbol>(ownerPointer) {
private val signature: FirCallableSignature,
isStatic: Boolean,
) : KtFirMemberSymbolPointer<KtKotlinPropertySymbol>(ownerPointer, isStatic) {
override fun KtFirAnalysisSession.chooseCandidateAndCreateSymbol(
candidates: FirScope,
firSession: FirSession
@@ -64,6 +64,12 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte
runTest("analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt");
}
@Test
@TestMetadata("enumEntries.kt")
public void testEnumEntries() throws Exception {
runTest("analysis/analysis-api/testData/symbols/symbolByReference/enumEntries.kt");
}
@Test
@TestMetadata("enumValueOf.kt")
public void testEnumValueOf() throws Exception {