From f7568cef5cab8ce4232b99d3462248b43b4bf15f Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Mon, 10 Oct 2022 19:44:33 +0200 Subject: [PATCH] [K2 AA] fix symbolKind for nested local classes ^KT-54311 --- .../api/fir/symbols/KtFirNamedClassOrObjectSymbol.kt | 9 ++++----- .../symbols/symbolByPsi/outerAndInnerClasses.txt | 6 +++--- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirNamedClassOrObjectSymbol.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirNamedClassOrObjectSymbol.kt index efe138908e0..5a4be216a96 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirNamedClassOrObjectSymbol.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/symbols/KtFirNamedClassOrObjectSymbol.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ @@ -14,17 +14,16 @@ import org.jetbrains.kotlin.analysis.api.fir.findPsi import org.jetbrains.kotlin.analysis.api.fir.symbols.pointers.KtFirClassOrObjectInLibrarySymbolPointer import org.jetbrains.kotlin.analysis.api.fir.utils.cached import org.jetbrains.kotlin.analysis.api.impl.base.symbols.toKtClassKind +import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeToken +import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion import org.jetbrains.kotlin.analysis.api.symbols.KtClassKind import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind import org.jetbrains.kotlin.analysis.api.symbols.pointers.CanNotCreateSymbolPointerForLocalLibraryDeclarationException 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.KtLifetimeToken import org.jetbrains.kotlin.analysis.api.types.KtType -import org.jetbrains.kotlin.analysis.api.lifetime.withValidityAssertion import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession -import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.descriptors.Visibility @@ -103,8 +102,8 @@ internal class KtFirNamedClassOrObjectSymbol( override val symbolKind: KtSymbolKind get() = withValidityAssertion { when { - firSymbol.isLocal -> KtSymbolKind.LOCAL firSymbol.classId.isNestedClass -> KtSymbolKind.CLASS_MEMBER + firSymbol.isLocal -> KtSymbolKind.LOCAL else -> KtSymbolKind.TOP_LEVEL } } diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/outerAndInnerClasses.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/outerAndInnerClasses.txt index 7c6fef1ea8c..7b037693418 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/outerAndInnerClasses.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/outerAndInnerClasses.txt @@ -143,7 +143,7 @@ KtNamedClassOrObjectSymbol: superTypes: [ kotlin/Any ] - symbolKind: LOCAL + symbolKind: CLASS_MEMBER typeParameters: [ KtTypeParameterSymbol(T5) ] @@ -181,7 +181,7 @@ KtNamedClassOrObjectSymbol: superTypes: [ kotlin/Any ] - symbolKind: LOCAL + symbolKind: CLASS_MEMBER typeParameters: [ KtTypeParameterSymbol(T6) ] @@ -206,7 +206,7 @@ KtNamedClassOrObjectSymbol: superTypes: [ kotlin/Any ] - symbolKind: LOCAL + symbolKind: CLASS_MEMBER typeParameters: [ KtTypeParameterSymbol(T4) ]