From 3ea29e42b9906cf2845718a94ed1549d684ec28b Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Fri, 14 Oct 2022 15:44:43 +0200 Subject: [PATCH] [Analysis API] consider KtClassInitializerSymbol to be KtDeclarationSymbol --- .../symbols/psiBased/KtFe10PsiClassInitializerSymbol.kt | 6 ++++++ .../analysis/api/fir/symbols/KtFirClassInitializerSymbol.kt | 6 ++++++ .../kotlin/analysis/api/symbols/KtClassInitializerSymbol.kt | 2 +- .../testData/symbols/symbolByPsi/classInitializer.txt | 2 ++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiClassInitializerSymbol.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiClassInitializerSymbol.kt index 2736f860540..c38f995b46e 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiClassInitializerSymbol.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/psiBased/KtFe10PsiClassInitializerSymbol.kt @@ -5,16 +5,19 @@ package org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased +import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession import org.jetbrains.kotlin.analysis.api.descriptors.symbols.base.KtFe10Symbol import org.jetbrains.kotlin.analysis.api.descriptors.symbols.pointers.KtFe10NeverRestoringSymbolPointer +import org.jetbrains.kotlin.analysis.api.impl.base.annotations.KtEmptyAnnotationsList import org.jetbrains.kotlin.analysis.api.symbols.KtClassInitializerSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtSymbolOrigin import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion +import org.jetbrains.kotlin.analysis.api.symbols.KtTypeParameterSymbol import org.jetbrains.kotlin.psi.KtClassInitializer class KtFe10PsiClassInitializerSymbol( @@ -36,4 +39,7 @@ class KtFe10PsiClassInitializerSymbol( override fun createPointer(): KtSymbolPointer = withValidityAssertion { return KtPsiBasedSymbolPointer.createForSymbolFromSource(this) ?: KtFe10NeverRestoringSymbolPointer() } + + override val typeParameters: List get() = withValidityAssertion { emptyList() } + override val annotationsList: KtAnnotationsList get() = withValidityAssertion { KtEmptyAnnotationsList(token) } } \ No newline at end of file diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirClassInitializerSymbol.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirClassInitializerSymbol.kt index a1f57e5f1d2..8f5a1dea56d 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirClassInitializerSymbol.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirClassInitializerSymbol.kt @@ -6,12 +6,15 @@ package org.jetbrains.kotlin.analysis.api.fir.symbols import com.intellij.psi.PsiElement +import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationsList import org.jetbrains.kotlin.analysis.api.fir.findPsi import org.jetbrains.kotlin.analysis.api.fir.utils.cached +import org.jetbrains.kotlin.analysis.api.impl.base.annotations.KtEmptyAnnotationsList import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion import org.jetbrains.kotlin.analysis.api.symbols.KtClassInitializerSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol +import org.jetbrains.kotlin.analysis.api.symbols.KtTypeParameterSymbol import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer @@ -31,4 +34,7 @@ internal class KtFirClassInitializerSymbol( } override val symbolKind: KtSymbolKind get() = withValidityAssertion { KtSymbolKind.CLASS_MEMBER } + + override val typeParameters: List get() = withValidityAssertion { emptyList() } + override val annotationsList: KtAnnotationsList get() = withValidityAssertion { KtEmptyAnnotationsList(token) } } \ No newline at end of file diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtClassInitializerSymbol.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtClassInitializerSymbol.kt index 98d622655fb..af74c6697b2 100644 --- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtClassInitializerSymbol.kt +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/KtClassInitializerSymbol.kt @@ -7,4 +7,4 @@ package org.jetbrains.kotlin.analysis.api.symbols import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithKind -public abstract class KtClassInitializerSymbol : KtSymbol, KtSymbolWithKind \ No newline at end of file +public abstract class KtClassInitializerSymbol : KtDeclarationSymbol, KtSymbolWithKind \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/classInitializer.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/classInitializer.txt index df088df5edd..5295ad1ca55 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/classInitializer.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/classInitializer.txt @@ -50,8 +50,10 @@ KtKotlinPropertySymbol: setterDeprecationStatus: null KtClassInitializerSymbol: + annotationsList: [] origin: SOURCE symbolKind: CLASS_MEMBER + typeParameters: [] getContainingModule: KtSourceModule "Sources of main" deprecationStatus: null