From 1222d18b3dee7b4dfea46655b36234140c723b5c Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Tue, 22 Nov 2022 14:34:13 +0100 Subject: [PATCH] [AA Fe10] fix StackOverflowError from KtFe10PsiClassInitializerSymbol ^KT-54826 --- .../descriptorBased/base/Kt1DescUtils.kt | 2 + .../classInitializer.descriptors.txt | 85 ------------------- 2 files changed, 2 insertions(+), 85 deletions(-) delete mode 100644 analysis/analysis-api/testData/symbols/symbolByPsi/classInitializer.descriptors.txt diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt index b7ecf464509..229355d21c5 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/symbols/descriptorBased/base/Kt1DescUtils.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.Fe10AnalysisContext import org.jetbrains.kotlin.analysis.api.descriptors.symbols.KtFe10FileSymbol import org.jetbrains.kotlin.analysis.api.descriptors.symbols.KtFe10PackageSymbol import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.* +import org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased.KtFe10PsiClassInitializerSymbol import org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased.KtFe10PsiDefaultPropertyGetterSymbol import org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased.KtFe10PsiDefaultPropertySetterSymbol import org.jetbrains.kotlin.analysis.api.descriptors.symbols.psiBased.KtFe10PsiDefaultSetterParameterSymbol @@ -137,6 +138,7 @@ internal fun KtSymbol.getDescriptor(): DeclarationDescriptor? { is KtFe10FileSymbol -> null is KtFe10DescDefaultPropertySetterSymbol.DefaultKtValueParameterSymbol -> descriptor is KtFe10PsiDefaultPropertySetterSymbol.DefaultKtValueParameterSymbol -> descriptor + is KtFe10PsiClassInitializerSymbol -> null else -> unexpectedElementError("KtSymbol", this) } } diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/classInitializer.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/classInitializer.descriptors.txt deleted file mode 100644 index 2d11fe03829..00000000000 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/classInitializer.descriptors.txt +++ /dev/null @@ -1,85 +0,0 @@ -KtKotlinPropertySymbol: - annotationsList: [] - callableIdIfNonLocal: /A.i - contextReceivers: [] - getter: KtPropertyGetterSymbol: - annotationsList: [] - callableIdIfNonLocal: null - contextReceivers: [] - hasBody: false - hasStableParameterNames: true - isDefault: true - isExtension: false - isInline: false - isOverride: false - modality: FINAL - origin: SOURCE - receiverParameter: null - returnType: kotlin/Int - symbolKind: ACCESSOR - typeParameters: [] - valueParameters: [] - visibility: Public - getDispatchReceiver(): A - getContainingModule: KtSourceModule "Sources of main" - deprecationStatus: null - hasBackingField: true - hasGetter: true - hasSetter: false - initializer: null - isConst: false - isDelegatedProperty: false - isExtension: false - isFromPrimaryConstructor: false - isLateInit: false - isOverride: false - isStatic: false - isVal: true - modality: FINAL - name: i - origin: SOURCE - receiverParameter: null - returnType: kotlin/Int - setter: null - symbolKind: CLASS_MEMBER - typeParameters: [] - visibility: Public - getDispatchReceiver(): A - getContainingModule: KtSourceModule "Sources of main" - deprecationStatus: null - getterDeprecationStatus: null - javaGetterName: getI - javaSetterName: null - setterDeprecationStatus: null - -KtClassInitializerSymbol: - annotationsList: [] - origin: SOURCE - symbolKind: CLASS_MEMBER - typeParameters: [] - getContainingModule: Could not render due to java.lang.StackOverflowError - - deprecationStatus: null - -KtNamedClassOrObjectSymbol: - annotationsList: [] - classIdIfNonLocal: A - classKind: CLASS - companionObject: null - contextReceivers: [] - isData: false - isExternal: false - isFun: false - isInline: false - isInner: false - modality: FINAL - name: A - origin: SOURCE - superTypes: [ - kotlin/Any - ] - symbolKind: TOP_LEVEL - typeParameters: [] - visibility: Public - getContainingModule: KtSourceModule "Sources of main" - deprecationStatus: null \ No newline at end of file