From c0d6a64a8a9913629e24cdc772140a3a10011c92 Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Mon, 8 Aug 2022 19:57:04 +0200 Subject: [PATCH] [slc] rename fir to symbol ^KT-50241 --- .../StandaloneAnalysisAPISessionBuilder.kt | 4 +- .../api/standalone/StandaloneUtils.kt | 8 +- .../AnalysisApiFirTestServiceRegistrar.kt | 9 +- .../{FirFakeFileImpl.kt => SymbolFakeFile.kt} | 6 +- ...upport.kt => SymbolKotlinAsJavaSupport.kt} | 12 +-- ...Identifier.kt => SymbolLightIdentifier.kt} | 8 +- ...MemberImpl.kt => SymbolLightMemberBase.kt} | 2 +- ...st.kt => SymbolAnnotationParameterList.kt} | 8 +- ...ionValues.kt => SymbolAnnotationValues.kt} | 14 ++-- ...on.kt => SymbolLightAbstractAnnotation.kt} | 14 ++-- ...SymbolLightAnnotationForAnnotationCall.kt} | 8 +- ...tion.kt => SymbolLightSimpleAnnotation.kt} | 8 +- ...ionsUtils.kt => symbolAnnotationsUtils.kt} | 6 +- .../caches/SymbolLightClassFacadeCache.kt | 12 +-- ...tClass.kt => SymbolBasedFakeLightClass.kt} | 6 +- ...kt => SymbolLightAnnotationClassSymbol.kt} | 8 +- ... => SymbolLightAnonymousClassForSymbol.kt} | 18 ++-- ...tClassForSymbol.kt => SymbolLightClass.kt} | 36 ++++---- ...htClassBase.kt => SymbolLightClassBase.kt} | 10 +-- ...kt => SymbolLightClassForClassOrObject.kt} | 36 ++++---- ...try.kt => SymbolLightClassForEnumEntry.kt} | 26 +++--- ...Facade.kt => SymbolLightClassForFacade.kt} | 26 +++--- ...mbolLightClassForInterfaceDefaultImpls.kt} | 12 +-- ...lineClass.kt => SymbolLightInlineClass.kt} | 7 +- ...Symbol.kt => SymbolLightInterfaceClass.kt} | 9 +- ... SymbolLightInterfaceOrAnnotationClass.kt} | 10 +-- ...ClassUtils.kt => symbolLightClassUtils.kt} | 82 +++++++++---------- ...olLightPsiJavaCodeReferenceElementBase.kt} | 2 +- ...avaCodeReferenceElementWithNoReference.kt} | 6 +- ...iJavaCodeReferenceElementWithReference.kt} | 4 +- ...=> SymbolLightClassForDecompiledFacade.kt} | 2 +- .../{FirLightField.kt => SymbolLightField.kt} | 6 +- ...try.kt => SymbolLightFieldForEnumEntry.kt} | 30 ++++--- ...Symbol.kt => SymbolLightFieldForObject.kt} | 20 ++--- ...mbol.kt => SymbolLightFieldForProperty.kt} | 20 ++--- ...Symbol.kt => SymbolLightAccessorMethod.kt} | 30 +++---- ...ForSymbol.kt => SymbolLightConstructor.kt} | 18 ++-- ...ethodForSymbol.kt => SymbolLightMethod.kt} | 28 +++---- ...ightMethod.kt => SymbolLightMethodBase.kt} | 10 +-- ...ctor.kt => SymbolLightNoArgConstructor.kt} | 22 ++--- ...orSymbol.kt => SymbolLightSimpleMethod.kt} | 19 +++-- ...ist.kt => SymbolLightClassModifierList.kt} | 4 +- ...st.kt => SymbolLightMemberModifierList.kt} | 8 +- ...fierList.kt => SymbolLightModifierList.kt} | 4 +- ...erForSymbol.kt => SymbolLightParameter.kt} | 14 ++-- ...rameter.kt => SymbolLightParameterBase.kt} | 6 +- ...ymbol.kt => SymbolLightParameterCommon.kt} | 14 ++-- ....kt => SymbolLightParameterForReceiver.kt} | 26 +++--- ...terList.kt => SymbolLightParameterList.kt} | 10 +-- ...ymbol.kt => SymbolLightSetterParameter.kt} | 14 ++-- ...ymbolLightSuspendContinuationParameter.kt} | 22 ++--- ...rameter.kt => SymbolLightTypeParameter.kt} | 13 ++- .../SymbolLightTypeParameterList.kt} | 14 ++-- .../{firLightUtils.kt => symbolLightUtils.kt} | 20 ++--- ...ctSymbolLightClassesAnnotationOwnerTest.kt | 8 +- 55 files changed, 400 insertions(+), 399 deletions(-) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/{FirFakeFileImpl.kt => SymbolFakeFile.kt} (86%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/{KotlinAsJavaFirSupport.kt => SymbolKotlinAsJavaSupport.kt} (94%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/{FirLightIdentifier.kt => SymbolLightIdentifier.kt} (84%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/{FirLightMemberImpl.kt => SymbolLightMemberBase.kt} (96%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/{FirAnnotationParameterList.kt => SymbolAnnotationParameterList.kt} (90%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/{FirAnnotationValues.kt => SymbolAnnotationValues.kt} (78%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/{FirLightAbstractAnnotation.kt => SymbolLightAbstractAnnotation.kt} (81%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/{FirLightAnnotationForAnnotationCall.kt => SymbolLightAnnotationForAnnotationCall.kt} (87%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/{FirLightSimpleAnnotation.kt => SymbolLightSimpleAnnotation.kt} (84%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/{annotationsUtils.kt => symbolAnnotationsUtils.kt} (97%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{KtFirBasedFakeLightClass.kt => SymbolBasedFakeLightClass.kt} (85%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{FirLightAnnotationClassSymbol.kt => SymbolLightAnnotationClassSymbol.kt} (85%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{FirLightAnonymousClassForSymbol.kt => SymbolLightAnonymousClassForSymbol.kt} (91%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{FirLightClassForSymbol.kt => SymbolLightClass.kt} (90%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{FirLightClassBase.kt => SymbolLightClassBase.kt} (96%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{FirLightClassForClassOrObjectSymbol.kt => SymbolLightClassForClassOrObject.kt} (86%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{FirLightClassForEnumEntry.kt => SymbolLightClassForEnumEntry.kt} (83%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{FirLightClassForFacade.kt => SymbolLightClassForFacade.kt} (91%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{FirLightClassForInterfaceDefaultImpls.kt => SymbolLightClassForInterfaceDefaultImpls.kt} (80%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{FirLightInlineClass.kt => SymbolLightInlineClass.kt} (93%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{FirLightInterfaceClassSymbol.kt => SymbolLightInterfaceClass.kt} (86%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{FirLightInterfaceOrAnnotationClassSymbol.kt => SymbolLightInterfaceOrAnnotationClass.kt} (84%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/{firLightClassUtils.kt => symbolLightClassUtils.kt} (86%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/{FirLightPsiJavaCodeReferenceElementBase.kt => SymbolLightPsiJavaCodeReferenceElementBase.kt} (91%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/{FirLightPsiJavaCodeReferenceElementWithNoReference.kt => SymbolLightPsiJavaCodeReferenceElementWithNoReference.kt} (78%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/{FirLightPsiJavaCodeReferenceElementWithReference.kt => SymbolLightPsiJavaCodeReferenceElementWithReference.kt} (69%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/decompiled/{KtLightClassForDecompiledFacade.kt => SymbolLightClassForDecompiledFacade.kt} (96%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/{FirLightField.kt => SymbolLightField.kt} (93%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/{FirLightFieldEnumEntry.kt => SymbolLightFieldForEnumEntry.kt} (74%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/{FirLightFieldForObjectSymbol.kt => SymbolLightFieldForObject.kt} (76%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/{FirLightFieldForPropertySymbol.kt => SymbolLightFieldForProperty.kt} (87%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/{FirLightAccessorMethodForSymbol.kt => SymbolLightAccessorMethod.kt} (88%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/{FirLightConstructorForSymbol.kt => SymbolLightConstructor.kt} (83%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/{FirLightMethodForSymbol.kt => SymbolLightMethod.kt} (71%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/{FirLightMethod.kt => SymbolLightMethodBase.kt} (93%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/{FirLightNoArgConstructor.kt => SymbolLightNoArgConstructor.kt} (72%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/{FirLightSimpleMethodForSymbol.kt => SymbolLightSimpleMethod.kt} (90%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/{FirLightClassModifierList.kt => SymbolLightClassModifierList.kt} (89%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/{FirLightMemberModifierList.kt => SymbolLightMemberModifierList.kt} (86%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/{FirLightModifierList.kt => SymbolLightModifierList.kt} (91%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/{FirLightParameterForSymbol.kt => SymbolLightParameter.kt} (80%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/{FirLightParameter.kt => SymbolLightParameterBase.kt} (89%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/{FirLightParameterBaseForSymbol.kt => SymbolLightParameterCommon.kt} (85%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/{FirLightParameterForReceiver.kt => SymbolLightParameterForReceiver.kt} (77%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/{FirLightParameterList.kt => SymbolLightParameterList.kt} (83%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/{FirLightSetterParameterForSymbol.kt => SymbolLightSetterParameter.kt} (80%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/{FirLightSuspendContinuationParameter.kt => SymbolLightSuspendContinuationParameter.kt} (73%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/{FirLightTypeParameter.kt => SymbolLightTypeParameter.kt} (93%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/{FirLightTypeParameterListForSymbol.kt => parameters/SymbolLightTypeParameterList.kt} (82%) rename analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/{firLightUtils.kt => symbolLightUtils.kt} (92%) diff --git a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneAnalysisAPISessionBuilder.kt b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneAnalysisAPISessionBuilder.kt index 3ab435be0fe..268771b3392 100644 --- a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneAnalysisAPISessionBuilder.kt +++ b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneAnalysisAPISessionBuilder.kt @@ -51,7 +51,7 @@ import org.jetbrains.kotlin.fir.declarations.SealedClassInheritorsProviderImpl import org.jetbrains.kotlin.idea.references.KotlinFirReferenceContributor import org.jetbrains.kotlin.idea.references.KotlinReferenceProviderContributor import org.jetbrains.kotlin.idea.references.ReadWriteAccessChecker -import org.jetbrains.kotlin.light.classes.symbol.KotlinAsJavaFirSupport +import org.jetbrains.kotlin.light.classes.symbol.SymbolKotlinAsJavaSupport import org.jetbrains.kotlin.light.classes.symbol.caches.SymbolLightClassFacadeCache import org.jetbrains.kotlin.load.kotlin.PackagePartProvider import org.jetbrains.kotlin.psi.KotlinReferenceProvidersService @@ -157,7 +157,7 @@ public class StandaloneAnalysisAPISessionBuilder( registerService(SymbolLightClassFacadeCache::class.java, SymbolLightClassFacadeCache(this)) registerService(ClsJavaStubByVirtualFileCache::class.java, ClsJavaStubByVirtualFileCache()) - registerService(KotlinAsJavaSupport::class.java, KotlinAsJavaFirSupport(this)) + registerService(KotlinAsJavaSupport::class.java, SymbolKotlinAsJavaSupport(this)) registerService(ReadWriteAccessChecker::class.java, ReadWriteAccessCheckerFirImpl()) } diff --git a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneUtils.kt b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneUtils.kt index b00c0dc79ef..636a48abe00 100644 --- a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneUtils.kt +++ b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneUtils.kt @@ -11,9 +11,9 @@ import com.intellij.openapi.project.Project import com.intellij.psi.PsiElementFinder import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals -import org.jetbrains.kotlin.analysis.api.session.KtAnalysisSessionProvider import org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSessionProvider import org.jetbrains.kotlin.analysis.api.impl.base.references.HLApiReferenceProviderService +import org.jetbrains.kotlin.analysis.api.session.KtAnalysisSessionProvider import org.jetbrains.kotlin.analysis.decompiled.light.classes.ClsJavaStubByVirtualFileCache import org.jetbrains.kotlin.analysis.low.level.api.fir.api.services.FirSealedClassInheritorsProcessorFactory import org.jetbrains.kotlin.analysis.low.level.api.fir.api.services.PackagePartProviderFactory @@ -32,7 +32,7 @@ import org.jetbrains.kotlin.fir.declarations.SealedClassInheritorsProvider import org.jetbrains.kotlin.fir.declarations.SealedClassInheritorsProviderImpl import org.jetbrains.kotlin.idea.references.KotlinFirReferenceContributor import org.jetbrains.kotlin.idea.references.KotlinReferenceProviderContributor -import org.jetbrains.kotlin.light.classes.symbol.KotlinAsJavaFirSupport +import org.jetbrains.kotlin.light.classes.symbol.SymbolKotlinAsJavaSupport import org.jetbrains.kotlin.light.classes.symbol.caches.SymbolLightClassFacadeCache import org.jetbrains.kotlin.load.kotlin.PackagePartProvider import org.jetbrains.kotlin.psi.KotlinReferenceProvidersService @@ -69,7 +69,7 @@ public fun configureApplicationEnvironment(app: MockApplication) { * * In particular, this will register: * * [KtAnalysisSessionProvider] - * * [KotlinAsJavaFirSupport] + * * [SymbolKotlinAsJavaSupport] * * [SymbolLightClassFacadeCache] for FIR light class support * * [ClsJavaStubByVirtualFileCache] * * [KotlinModificationTrackerFactory] @@ -179,7 +179,7 @@ private fun reRegisterJavaElementFinder(project: Project) { picoContainer.unregisterComponent(KotlinAsJavaSupport::class.qualifiedName) picoContainer.registerComponentInstance( KotlinAsJavaSupport::class.qualifiedName, - KotlinAsJavaFirSupport(project) + SymbolKotlinAsJavaSupport(project) ) } @Suppress("DEPRECATION") diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AnalysisApiFirTestServiceRegistrar.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AnalysisApiFirTestServiceRegistrar.kt index e7df16b32c1..ba466423b0f 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AnalysisApiFirTestServiceRegistrar.kt +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AnalysisApiFirTestServiceRegistrar.kt @@ -10,13 +10,14 @@ import com.intellij.mock.MockProject import com.intellij.psi.PsiElementFinder import com.intellij.psi.impl.PsiElementFinderImpl import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals -import org.jetbrains.kotlin.analysis.api.session.KtAnalysisSessionProvider import org.jetbrains.kotlin.analysis.api.fir.KtFirAnalysisSessionProvider import org.jetbrains.kotlin.analysis.api.fir.references.ReadWriteAccessCheckerFirImpl +import org.jetbrains.kotlin.analysis.api.session.KtAnalysisSessionProvider import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirResolveSessionService import org.jetbrains.kotlin.analysis.low.level.api.fir.api.services.FirSealedClassInheritorsProcessorFactory import org.jetbrains.kotlin.analysis.low.level.api.fir.api.services.PackagePartProviderFactory -import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.* +import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirBuiltinsSessionFactory +import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirLibrarySessionFactory import org.jetbrains.kotlin.analysis.low.level.api.fir.services.KtCompilerPluginsProviderForTests import org.jetbrains.kotlin.analysis.low.level.api.fir.services.LLFirSealedClassInheritorsProcessorFactoryForTests import org.jetbrains.kotlin.analysis.low.level.api.fir.services.PackagePartProviderTestImpl @@ -29,7 +30,7 @@ import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrarAdapter import org.jetbrains.kotlin.idea.references.KotlinFirReferenceContributor import org.jetbrains.kotlin.idea.references.KotlinReferenceProviderContributor import org.jetbrains.kotlin.idea.references.ReadWriteAccessChecker -import org.jetbrains.kotlin.light.classes.symbol.KotlinAsJavaFirSupport +import org.jetbrains.kotlin.light.classes.symbol.SymbolKotlinAsJavaSupport import org.jetbrains.kotlin.light.classes.symbol.caches.SymbolLightClassFacadeCache import org.jetbrains.kotlin.test.TestInfrastructureInternals import org.jetbrains.kotlin.test.impl.testConfiguration @@ -52,7 +53,7 @@ object AnalysisApiFirTestServiceRegistrar : AnalysisApiTestServiceRegistrar() { registerService(PackagePartProviderFactory::class.java, PackagePartProviderTestImpl(testServices)) registerService(SymbolLightClassFacadeCache::class.java) - registerService(KotlinAsJavaSupport::class.java, KotlinAsJavaFirSupport(project)) + registerService(KotlinAsJavaSupport::class.java, SymbolKotlinAsJavaSupport(project)) registerService(KtCompilerPluginsProvider::class.java, KtCompilerPluginsProviderForTests(project)) registerService(ReadWriteAccessChecker::class.java, ReadWriteAccessCheckerFirImpl()) } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/FirFakeFileImpl.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolFakeFile.kt similarity index 86% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/FirFakeFileImpl.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolFakeFile.kt index 928f27f07bb..b1e74f56ad5 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/FirFakeFileImpl.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolFakeFile.kt @@ -12,12 +12,12 @@ import com.intellij.psi.scope.PsiScopeProcessor import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.asJava.classes.getOutermostClassOrObject import org.jetbrains.kotlin.asJava.elements.FakeFileForLightClass -import org.jetbrains.kotlin.light.classes.symbol.classes.getOrCreateFirLightClass +import org.jetbrains.kotlin.light.classes.symbol.classes.getOrCreateSymbolLightClass import org.jetbrains.kotlin.psi.KtClassOrObject -class FirFakeFileImpl(private val classOrObject: KtClassOrObject, ktClass: KtLightClass) : FakeFileForLightClass( +class SymbolFakeFile(private val classOrObject: KtClassOrObject, ktClass: KtLightClass) : FakeFileForLightClass( classOrObject.containingKtFile, - { if (classOrObject.isTopLevel()) ktClass else getOrCreateFirLightClass(getOutermostClassOrObject(classOrObject))!! }, + { if (classOrObject.isTopLevel()) ktClass else getOrCreateSymbolLightClass(getOutermostClassOrObject(classOrObject))!! }, ) { override fun findReferenceAt(offset: Int) = ktFile.findReferenceAt(offset) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/KotlinAsJavaFirSupport.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolKotlinAsJavaSupport.kt similarity index 94% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/KotlinAsJavaFirSupport.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolKotlinAsJavaSupport.kt index 86a70a731a8..7ff8fc205f4 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/KotlinAsJavaFirSupport.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolKotlinAsJavaSupport.kt @@ -19,9 +19,9 @@ import org.jetbrains.kotlin.asJava.classes.KtFakeLightClass import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.fileClasses.javaFileFacadeFqName import org.jetbrains.kotlin.light.classes.symbol.caches.SymbolLightClassFacadeCache -import org.jetbrains.kotlin.light.classes.symbol.classes.KtFirBasedFakeLightClass +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolBasedFakeLightClass import org.jetbrains.kotlin.light.classes.symbol.classes.analyzeForLightClasses -import org.jetbrains.kotlin.light.classes.symbol.classes.getOrCreateFirLightClass +import org.jetbrains.kotlin.light.classes.symbol.classes.getOrCreateSymbolLightClass import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.parentOrNull @@ -30,7 +30,7 @@ import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtScript -class KotlinAsJavaFirSupport(private val project: Project) : KotlinAsJavaSupport() { +class SymbolKotlinAsJavaSupport(private val project: Project) : KotlinAsJavaSupport() { override fun findClassOrObjectDeclarationsInPackage( packageFqName: FqName, searchScope: GlobalSearchScope @@ -82,7 +82,7 @@ class KotlinAsJavaFirSupport(private val project: Project) : KotlinAsJavaSupport override fun getLightClass(classOrObject: KtClassOrObject): KtLightClass? { return when (classOrObject.getKtModule(project)) { - is KtSourceModule -> getOrCreateFirLightClass(classOrObject) + is KtSourceModule -> getOrCreateSymbolLightClass(classOrObject) is KtLibraryModule -> DecompiledLightClassesFactory.getLightClassForDecompiledClassOrObject(classOrObject, project) else -> null } @@ -101,7 +101,7 @@ class KotlinAsJavaFirSupport(private val project: Project) : KotlinAsJavaSupport error("Should not be called") override fun getKotlinInternalClasses(fqName: FqName, scope: GlobalSearchScope): Collection = - emptyList() //TODO Implement if necessary for fir + emptyList() //TODO Implement if necessary for symbol override fun getFacadeClassesInPackage(packageFqName: FqName, scope: GlobalSearchScope): Collection = project.createDeclarationProvider(scope) @@ -124,7 +124,7 @@ class KotlinAsJavaFirSupport(private val project: Project) : KotlinAsJavaSupport } override fun getFakeLightClass(classOrObject: KtClassOrObject): KtFakeLightClass = - KtFirBasedFakeLightClass(classOrObject) + SymbolBasedFakeLightClass(classOrObject) override fun createFacadeForSyntheticFile(facadeClassFqName: FqName, file: KtFile): PsiClass = TODO("Not implemented") diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/FirLightIdentifier.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolLightIdentifier.kt similarity index 84% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/FirLightIdentifier.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolLightIdentifier.kt index 65fbe1ca9b6..28c77d21ac5 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/FirLightIdentifier.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolLightIdentifier.kt @@ -15,13 +15,13 @@ import org.jetbrains.kotlin.psi.KtPropertyAccessor import org.jetbrains.kotlin.psi.KtSecondaryConstructor import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject -internal class FirLightIdentifier( +internal class SymbolLightIdentifier( lightOwner: PsiElement, - private val firSymbol: KtSymbol? -) : KtLightIdentifierBase(lightOwner, (firSymbol as? KtNamedSymbol)?.name?.identifierOrNullIfSpecial) { + private val ktSymbol: KtSymbol? +) : KtLightIdentifierBase(lightOwner, (ktSymbol as? KtNamedSymbol)?.name?.identifierOrNullIfSpecial) { override val origin: PsiElement? - get() = when (val ktDeclaration = firSymbol?.psi) { + get() = when (val ktDeclaration = ktSymbol?.psi) { is KtSecondaryConstructor -> ktDeclaration.getConstructorKeyword() is KtPrimaryConstructor -> ktDeclaration.getConstructorKeyword() ?: ktDeclaration.valueParameterList diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/FirLightMemberImpl.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolLightMemberBase.kt similarity index 96% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/FirLightMemberImpl.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolLightMemberBase.kt index d932cd93913..a22bb704bdf 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/FirLightMemberImpl.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolLightMemberBase.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.asJava.elements.KtLightElementBase import org.jetbrains.kotlin.asJava.elements.KtLightMember import org.jetbrains.kotlin.psi.KtDeclaration -internal abstract class FirLightMemberImpl( +internal abstract class SymbolLightMemberBase( override val lightMemberOrigin: LightMemberOrigin?, private val containingClass: KtLightClass, ) : KtLightElementBase(containingClass), PsiMember, KtLightMember { diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirAnnotationParameterList.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolAnnotationParameterList.kt similarity index 90% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirAnnotationParameterList.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolAnnotationParameterList.kt index 09bf9799efd..906aa443ebc 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirAnnotationParameterList.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolAnnotationParameterList.kt @@ -14,14 +14,14 @@ import org.jetbrains.kotlin.asJava.elements.KtLightElementBase import org.jetbrains.kotlin.light.classes.symbol.toAnnotationMemberValue import org.jetbrains.kotlin.psi.KtElement -internal class FirAnnotationParameterList( - parent: FirLightAbstractAnnotation, +internal class SymbolAnnotationParameterList( + parent: SymbolLightAbstractAnnotation, private val arguments: List, ) : KtLightElementBase(parent), PsiAnnotationParameterList { private val _attributes: Array by lazyPub { arguments.map { - FirNameValuePairForAnnotationArgument(it, this) + SymbolNameValuePairForAnnotationArgument(it, this) }.toTypedArray() } @@ -32,7 +32,7 @@ internal class FirAnnotationParameterList( //TODO: EQ GHC EQIV } -private class FirNameValuePairForAnnotationArgument( +private class SymbolNameValuePairForAnnotationArgument( private val constantValue: KtNamedAnnotationValue, parent: PsiElement ) : KtLightElementBase(parent), PsiNameValuePair { diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirAnnotationValues.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolAnnotationValues.kt similarity index 78% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirAnnotationValues.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolAnnotationValues.kt index fd4f4d8fcdf..9da1d6d9f02 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirAnnotationValues.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolAnnotationValues.kt @@ -9,10 +9,10 @@ import com.intellij.psi.* import org.jetbrains.kotlin.asJava.elements.KtLightElementBase import org.jetbrains.kotlin.psi.KtElement -internal class FirPsiArrayInitializerMemberValue( +internal class SymbolPsiArrayInitializerMemberValue( override val kotlinOrigin: KtElement?, private val lightParent: PsiElement, - private val arguments: (FirPsiArrayInitializerMemberValue) -> List + private val arguments: (SymbolPsiArrayInitializerMemberValue) -> List ) : KtLightElementBase(lightParent), PsiArrayInitializerMemberValue { override fun getInitializers(): Array = arguments(this).toTypedArray() @@ -23,7 +23,7 @@ internal class FirPsiArrayInitializerMemberValue( override fun getText(): String = "{" + initializers.joinToString { it.text } + "}" } -internal abstract class FirPsiAnnotationMemberValue( +internal abstract class SymbolPsiAnnotationMemberValue( override val kotlinOrigin: KtElement?, private val lightParent: PsiElement, ) : KtLightElementBase(lightParent), PsiAnnotationMemberValue { @@ -32,20 +32,20 @@ internal abstract class FirPsiAnnotationMemberValue( override fun isPhysical(): Boolean = false } -internal class FirPsiExpression( +internal class SymbolPsiExpression( override val kotlinOrigin: KtElement?, lightParent: PsiElement, private val psiExpression: PsiExpression, -) : FirPsiAnnotationMemberValue(kotlinOrigin, lightParent), PsiExpression { +) : SymbolPsiAnnotationMemberValue(kotlinOrigin, lightParent), PsiExpression { override fun getType(): PsiType? = psiExpression.type override fun getText(): String = psiExpression.text } -internal class FirPsiLiteral( +internal class SymbolPsiLiteral( override val kotlinOrigin: KtElement?, lightParent: PsiElement, private val psiLiteral: PsiLiteral, -) : FirPsiAnnotationMemberValue(kotlinOrigin, lightParent), PsiLiteral { +) : SymbolPsiAnnotationMemberValue(kotlinOrigin, lightParent), PsiLiteral { override fun getValue(): Any? = psiLiteral.value override fun getText(): String = psiLiteral.text } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirLightAbstractAnnotation.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAbstractAnnotation.kt similarity index 81% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirLightAbstractAnnotation.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAbstractAnnotation.kt index acba1326f6a..4c46bff3af0 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirLightAbstractAnnotation.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAbstractAnnotation.kt @@ -10,11 +10,11 @@ import org.jetbrains.kotlin.asJava.classes.cannotModify import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.asJava.elements.KtLightElement import org.jetbrains.kotlin.asJava.elements.KtLightElementBase -import org.jetbrains.kotlin.light.classes.symbol.codeReferences.FirLightPsiJavaCodeReferenceElementWithNoReference -import org.jetbrains.kotlin.light.classes.symbol.codeReferences.FirLightPsiJavaCodeReferenceElementWithReference +import org.jetbrains.kotlin.light.classes.symbol.codeReferences.SymbolLightPsiJavaCodeReferenceElementWithNoReference +import org.jetbrains.kotlin.light.classes.symbol.codeReferences.SymbolLightPsiJavaCodeReferenceElementWithReference import org.jetbrains.kotlin.psi.* -internal abstract class FirLightAbstractAnnotation(parent: PsiElement) : +internal abstract class SymbolLightAbstractAnnotation(parent: PsiElement) : KtLightElementBase(parent), PsiAnnotation, KtLightElement { override fun getOwner() = parent as? PsiAnnotationOwner @@ -30,18 +30,18 @@ internal abstract class FirLightAbstractAnnotation(parent: PsiElement) : val reference = (kotlinOrigin as? KtAnnotationEntry)?.typeReference?.reference ?: (kotlinOrigin?.calleeExpression?.nameReference)?.references?.firstOrNull() - if (reference != null) FirLightPsiJavaCodeReferenceElementWithReference(ktElement, reference) - else FirLightPsiJavaCodeReferenceElementWithNoReference(ktElement) + if (reference != null) SymbolLightPsiJavaCodeReferenceElementWithReference(ktElement, reference) + else SymbolLightPsiJavaCodeReferenceElementWithNoReference(ktElement) } override fun getNameReferenceElement(): PsiJavaCodeReferenceElement = _nameReferenceElement - private class FirAnnotationParameterList(parent: PsiAnnotation) : KtLightElementBase(parent), PsiAnnotationParameterList { + private class SymbolAnnotationParameterList(parent: PsiAnnotation) : KtLightElementBase(parent), PsiAnnotationParameterList { override val kotlinOrigin: KtElement? = null override fun getAttributes(): Array = emptyArray() //TODO() } - private val annotationParameterList: PsiAnnotationParameterList = FirAnnotationParameterList(this) + private val annotationParameterList: PsiAnnotationParameterList = SymbolAnnotationParameterList(this) override fun getParameterList(): PsiAnnotationParameterList = annotationParameterList diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirLightAnnotationForAnnotationCall.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAnnotationForAnnotationCall.kt similarity index 87% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirLightAnnotationForAnnotationCall.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAnnotationForAnnotationCall.kt index 7e0f3ebf845..77ed8fd528b 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirLightAnnotationForAnnotationCall.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAnnotationForAnnotationCall.kt @@ -15,10 +15,10 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.light.classes.symbol.basicIsEquivalentTo import org.jetbrains.kotlin.psi.KtCallElement -internal class FirLightAnnotationForAnnotationCall( +internal class SymbolLightAnnotationForAnnotationCall( private val annotationCall: KtAnnotationApplication, parent: PsiElement, -) : FirLightAbstractAnnotation(parent) { +) : SymbolLightAbstractAnnotation(parent) { override fun findAttributeValue(attributeName: String?): PsiAnnotationMemberValue? = PsiImplUtil.findAttributeValue(this, attributeName) @@ -27,7 +27,7 @@ internal class FirLightAnnotationForAnnotationCall( PsiImplUtil.findDeclaredAttributeValue(this, attributeName) private val _parameterList: PsiAnnotationParameterList by lazyPub { - FirAnnotationParameterList(this@FirLightAnnotationForAnnotationCall, annotationCall.arguments) + SymbolAnnotationParameterList(this@SymbolLightAnnotationForAnnotationCall, annotationCall.arguments) } override fun getParameterList(): PsiAnnotationParameterList = _parameterList @@ -40,7 +40,7 @@ internal class FirLightAnnotationForAnnotationCall( override fun equals(other: Any?): Boolean = this === other || - (other is FirLightAnnotationForAnnotationCall && + (other is SymbolLightAnnotationForAnnotationCall && kotlinOrigin == other.kotlinOrigin && annotationCall == other.annotationCall) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirLightSimpleAnnotation.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightSimpleAnnotation.kt similarity index 84% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirLightSimpleAnnotation.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightSimpleAnnotation.kt index 770fb2992fa..0c00666a157 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/FirLightSimpleAnnotation.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightSimpleAnnotation.kt @@ -13,12 +13,12 @@ import org.jetbrains.kotlin.analysis.api.annotations.KtNamedAnnotationValue import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.psi.KtCallElement -internal class FirLightSimpleAnnotation( +internal class SymbolLightSimpleAnnotation( private val fqName: String?, parent: PsiElement, private val arguments: List = listOf(), override val kotlinOrigin: KtCallElement? = null, -) : FirLightAbstractAnnotation(parent) { +) : SymbolLightAbstractAnnotation(parent) { override fun getQualifiedName(): String? = fqName @@ -26,7 +26,7 @@ internal class FirLightSimpleAnnotation( override fun equals(other: Any?): Boolean = this === other || - (other is FirLightSimpleAnnotation && fqName == other.fqName && parent == other.parent) + (other is SymbolLightSimpleAnnotation && fqName == other.fqName && parent == other.parent) override fun hashCode(): Int = fqName.hashCode() @@ -37,7 +37,7 @@ internal class FirLightSimpleAnnotation( PsiImplUtil.findDeclaredAttributeValue(this, attributeName) private val _parameterList: PsiAnnotationParameterList by lazyPub { - FirAnnotationParameterList(this@FirLightSimpleAnnotation, arguments) + SymbolAnnotationParameterList(this@SymbolLightSimpleAnnotation, arguments) } override fun getParameterList(): PsiAnnotationParameterList = _parameterList diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/annotationsUtils.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/symbolAnnotationsUtils.kt similarity index 97% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/annotationsUtils.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/symbolAnnotationsUtils.kt index 1ed172f7458..83040e971d1 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/annotationsUtils.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/symbolAnnotationsUtils.kt @@ -102,7 +102,7 @@ internal fun KtAnnotatedSymbol.computeAnnotations( NullabilityType.Nullable -> Nullable::class.java else -> null }?.let { - FirLightSimpleAnnotation(it.name, parent) + SymbolLightSimpleAnnotation(it.name, parent) } val parentIsAnnotation = (parent as? PsiClass)?.isAnnotationType == true @@ -127,7 +127,7 @@ internal fun KtAnnotatedSymbol.computeAnnotations( if ((includeAnnotationsWithoutSite && siteTarget == null) || siteTarget == annotationUseSiteTarget ) { - result.add(FirLightAnnotationForAnnotationCall(annotation, parent)) + result.add(SymbolLightAnnotationForAnnotationCall(annotation, parent)) } } @@ -145,7 +145,7 @@ internal fun KtAnnotatedSymbol.computeAnnotations( } private fun createRetentionRuntimeAnnotation(parent: PsiElement): PsiAnnotation = - FirLightSimpleAnnotation( + SymbolLightSimpleAnnotation( JAVA_LANG_ANNOTATION_RETENTION, parent, listOf( diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/caches/SymbolLightClassFacadeCache.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/caches/SymbolLightClassFacadeCache.kt index 2b45d30a0a2..8b4a385300d 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/caches/SymbolLightClassFacadeCache.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/caches/SymbolLightClassFacadeCache.kt @@ -14,9 +14,9 @@ import org.jetbrains.kotlin.analysis.utils.caches.softCachedValue import org.jetbrains.kotlin.analysis.utils.collections.ConcurrentMapBasedCache import org.jetbrains.kotlin.asJava.classes.KtLightClassForFacade import org.jetbrains.kotlin.fileClasses.javaFileFacadeFqName -import org.jetbrains.kotlin.light.classes.symbol.classes.FirLightClassForFacade +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForFacade import org.jetbrains.kotlin.light.classes.symbol.classes.analyzeForLightClasses -import org.jetbrains.kotlin.light.classes.symbol.decompiled.KtLightClassForDecompiledFacade +import org.jetbrains.kotlin.light.classes.symbol.decompiled.SymbolLightClassForDecompiledFacade import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtFile @@ -38,11 +38,11 @@ class SymbolLightClassFacadeCache(private val project: Project) { if (ktFilesWithoutScript.isEmpty()) return null val key = FacadeKey(facadeClassFqName, ktFilesWithoutScript.toSet()) return cache.getOrPut(key) { - getOrCreateFirLightFacadeNoCache(ktFilesWithoutScript, facadeClassFqName) + getOrCreateSymbolLightFacadeNoCache(ktFilesWithoutScript, facadeClassFqName) } } - private fun getOrCreateFirLightFacadeNoCache( + private fun getOrCreateSymbolLightFacadeNoCache( ktFiles: List, facadeClassFqName: FqName, ): KtLightClassForFacade? { @@ -50,7 +50,7 @@ class SymbolLightClassFacadeCache(private val project: Project) { return when { ktFiles.none { it.isCompiled } -> analyzeForLightClasses(firstFile) { - FirLightClassForFacade(firstFile.manager, facadeClassFqName, ktFiles) + SymbolLightClassForFacade(firstFile.manager, facadeClassFqName, ktFiles) } ktFiles.all { it.isCompiled } -> { @@ -63,7 +63,7 @@ class SymbolLightClassFacadeCache(private val project: Project) { correspondingClassOrObject = classOrObject, project = project, ) ?: return null - KtLightClassForDecompiledFacade(clsDelegate, clsDelegate.parent, file, classOrObject, ktFiles) + SymbolLightClassForDecompiledFacade(clsDelegate, clsDelegate.parent, file, classOrObject, ktFiles) } else -> diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/KtFirBasedFakeLightClass.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolBasedFakeLightClass.kt similarity index 85% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/KtFirBasedFakeLightClass.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolBasedFakeLightClass.kt index bccf980c9f3..5c99dceeb9c 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/KtFirBasedFakeLightClass.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolBasedFakeLightClass.kt @@ -14,13 +14,13 @@ import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject //TODO Make fake class symbol based -class KtFirBasedFakeLightClass(kotlinOrigin: KtClassOrObject) : +class SymbolBasedFakeLightClass(kotlinOrigin: KtClassOrObject) : KtFakeLightClass(kotlinOrigin) { - override fun copy(): KtFakeLightClass = KtFirBasedFakeLightClass(kotlinOrigin) + override fun copy(): KtFakeLightClass = SymbolBasedFakeLightClass(kotlinOrigin) private val _containingClass: KtFakeLightClass? by lazy { - kotlinOrigin.containingClassOrObject?.let { KtFirBasedFakeLightClass(it) } + kotlinOrigin.containingClassOrObject?.let { SymbolBasedFakeLightClass(it) } } override fun getContainingClass(): KtFakeLightClass? = _containingClass diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightAnnotationClassSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightAnnotationClassSymbol.kt similarity index 85% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightAnnotationClassSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightAnnotationClassSymbol.kt index ecdf06329e4..c8c84bfd1e9 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightAnnotationClassSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightAnnotationClassSymbol.kt @@ -17,10 +17,10 @@ import org.jetbrains.kotlin.asJava.elements.KtLightField import org.jetbrains.kotlin.asJava.elements.KtLightMethod context(KtAnalysisSession) -internal class FirLightAnnotationClassSymbol( +internal class SymbolLightAnnotationClassSymbol( private val classOrObjectSymbol: KtNamedClassOrObjectSymbol, manager: PsiManager -) : FirLightInterfaceOrAnnotationClassSymbol(classOrObjectSymbol, manager) { +) : SymbolLightInterfaceOrAnnotationClass(classOrObjectSymbol, manager) { init { require(classOrObjectSymbol.classKind == KtClassKind.ANNOTATION_CLASS) @@ -51,12 +51,12 @@ internal class FirLightAnnotationClassSymbol( override fun getExtendsList(): PsiReferenceList? = null override fun equals(other: Any?): Boolean = - other is FirLightAnnotationClassSymbol && classOrObjectSymbol == other.classOrObjectSymbol + other is SymbolLightAnnotationClassSymbol && classOrObjectSymbol == other.classOrObjectSymbol override fun hashCode(): Int = classOrObjectSymbol.hashCode() override fun isValid(): Boolean = super.isValid() && classOrObjectSymbol.isValid() - override fun copy(): FirLightClassForClassOrObjectSymbol = FirLightAnnotationClassSymbol(classOrObjectSymbol, manager) + override fun copy(): SymbolLightClassForClassOrObject = SymbolLightAnnotationClassSymbol(classOrObjectSymbol, manager) } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightAnonymousClassForSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightAnonymousClassForSymbol.kt similarity index 91% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightAnonymousClassForSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightAnonymousClassForSymbol.kt index 1fc7190c3fa..efa509821c4 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightAnonymousClassForSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightAnonymousClassForSymbol.kt @@ -20,19 +20,19 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.asJava.elements.KtLightField import org.jetbrains.kotlin.asJava.elements.KtLightIdentifier import org.jetbrains.kotlin.asJava.elements.KtLightMethod -import org.jetbrains.kotlin.light.classes.symbol.FirFakeFileImpl +import org.jetbrains.kotlin.light.classes.symbol.SymbolFakeFile import org.jetbrains.kotlin.light.classes.symbol.annotations.hasJvmFieldAnnotation -import org.jetbrains.kotlin.light.classes.symbol.fields.FirLightField +import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightField import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.debugText.getDebugText import org.jetbrains.kotlin.psi.stubs.KotlinClassOrObjectStub context(KtAnalysisSession) -internal class FirLightAnonymousClassForSymbol( +internal class SymbolLightAnonymousClassForSymbol( private val anonymousObjectSymbol: KtAnonymousObjectSymbol, manager: PsiManager -) : FirLightClassBase(manager), +) : SymbolLightClassBase(manager), StubBasedPsiElement>, PsiAnonymousClass { private val _baseClassType: PsiClassType by lazyPub { @@ -68,7 +68,7 @@ internal class FirLightAnonymousClassForSymbol( private val _ownFields: List by lazyPub { val result = mutableListOf() - val nameGenerator = FirLightField.FieldNameGenerator() + val nameGenerator = SymbolLightField.FieldNameGenerator() anonymousObjectSymbol.getDeclaredMemberScope().getCallableSymbols() .filterIsInstance() @@ -86,7 +86,7 @@ internal class FirLightAnonymousClassForSymbol( result } - private val _ownInnerClasses: List by lazyPub { + private val _ownInnerClasses: List by lazyPub { anonymousObjectSymbol.createInnerClasses(manager, this, kotlinOrigin) } @@ -132,19 +132,19 @@ internal class FirLightAnonymousClassForSymbol( //TODO Make containing file not null for symbol without psi private val _containingFile: PsiFile? by lazyPub { val kotlinOrigin = kotlinOrigin ?: return@lazyPub null - FirFakeFileImpl(kotlinOrigin, this) + SymbolFakeFile(kotlinOrigin, this) } override fun getContainingFile(): PsiFile? = _containingFile override fun equals(other: Any?): Boolean = this === other || - (other is FirLightAnonymousClassForSymbol && anonymousObjectSymbol == other.anonymousObjectSymbol) + (other is SymbolLightAnonymousClassForSymbol && anonymousObjectSymbol == other.anonymousObjectSymbol) override fun hashCode(): Int = anonymousObjectSymbol.hashCode() override fun copy() = - FirLightAnonymousClassForSymbol(anonymousObjectSymbol, manager) + SymbolLightAnonymousClassForSymbol(anonymousObjectSymbol, manager) override fun isValid(): Boolean = super.isValid() && anonymousObjectSymbol.isValid() diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClass.kt similarity index 90% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClass.kt index 9f5d96235d2..35f8fef72bd 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClass.kt @@ -23,11 +23,11 @@ import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.light.classes.symbol.* import org.jetbrains.kotlin.light.classes.symbol.annotations.computeAnnotations import org.jetbrains.kotlin.light.classes.symbol.annotations.hasJvmFieldAnnotation -import org.jetbrains.kotlin.light.classes.symbol.fields.FirLightField -import org.jetbrains.kotlin.light.classes.symbol.fields.FirLightFieldForEnumEntry -import org.jetbrains.kotlin.light.classes.symbol.fields.FirLightFieldForObjectSymbol -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightSimpleMethodForSymbol -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightClassModifierList +import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightField +import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightFieldForEnumEntry +import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightFieldForObject +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightSimpleMethod +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList import org.jetbrains.kotlin.load.java.JvmAbi import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.StandardClassIds @@ -39,10 +39,10 @@ import org.jetbrains.kotlin.util.OperatorNameConventions.TO_STRING import org.jetbrains.kotlin.utils.addToStdlib.applyIf context(KtAnalysisSession) -internal open class FirLightClassForSymbol( +internal open class SymbolLightClass( private val classOrObjectSymbol: KtNamedClassOrObjectSymbol, manager: PsiManager -) : FirLightClassForClassOrObjectSymbol(classOrObjectSymbol, manager) { +) : SymbolLightClassForClassOrObject(classOrObjectSymbol, manager) { init { require(classOrObjectSymbol.classKind != KtClassKind.INTERFACE && classOrObjectSymbol.classKind != KtClassKind.ANNOTATION_CLASS) @@ -59,12 +59,12 @@ internal open class FirLightClassForSymbol( } val annotations = classOrObjectSymbol.computeAnnotations( - parent = this@FirLightClassForSymbol, + parent = this@SymbolLightClass, nullability = NullabilityType.Unknown, annotationUseSiteTarget = null, ) - FirLightClassModifierList(this@FirLightClassForSymbol, modifiers, annotations) + SymbolLightClassModifierList(this@SymbolLightClass, modifiers, annotations) } override fun getModifierList(): PsiModifierList? = _modifierList @@ -120,7 +120,7 @@ internal open class FirLightClassForSymbol( // Similar to `copy`, synthetic members from `Any` should refer to `data` class as origin, not the function in `Any`. val lightMemberOrigin = LightMemberOriginForDeclaration(this.kotlinOrigin!!, JvmDeclarationOriginKind.OTHER) result.add( - FirLightSimpleMethodForSymbol( + SymbolLightSimpleMethod( ktFunctionSymbol, lightMemberOrigin, this, METHOD_INDEX_BASE, false, suppressStatic = false ) @@ -170,7 +170,7 @@ internal open class FirLightClassForSymbol( val kotlinOrigin = ktFunctionSymbol.psi as? KtDeclaration ?: kotlinOrigin!! val lightMemberOrigin = LightMemberOriginForDeclaration(kotlinOrigin, JvmDeclarationOriginKind.DELEGATION) result.add( - FirLightSimpleMethodForSymbol( + SymbolLightSimpleMethod( ktFunctionSymbol, lightMemberOrigin, this, @@ -220,7 +220,7 @@ internal open class FirLightClassForSymbol( } val propertyGroups = propertySymbols.groupBy { it.isFromPrimaryConstructor } - val nameGenerator = FirLightField.FieldNameGenerator() + val nameGenerator = SymbolLightField.FieldNameGenerator() fun addPropertyBackingField(propertySymbol: KtPropertySymbol) { val isJvmField = propertySymbol.hasJvmFieldAnnotation() @@ -248,9 +248,9 @@ internal open class FirLightClassForSymbol( private fun addInstanceFieldIfNeeded(result: MutableList) { if (classOrObjectSymbol.isNamedObject && !classOrObjectSymbol.isLocal) { result.add( - FirLightFieldForObjectSymbol( + SymbolLightFieldForObject( objectSymbol = classOrObjectSymbol, - containingClass = this@FirLightClassForSymbol, + containingClass = this@SymbolLightClass, name = JvmAbi.INSTANCE_FIELD, lightMemberOrigin = null ) @@ -262,7 +262,7 @@ internal open class FirLightClassForSymbol( if (isEnum) { classOrObjectSymbol.getDeclaredMemberScope().getCallableSymbols() .filterIsInstance() - .mapTo(result) { FirLightFieldForEnumEntry(it, this@FirLightClassForSymbol, null) } + .mapTo(result) { SymbolLightFieldForEnumEntry(it, this@SymbolLightClass, null) } } } @@ -278,7 +278,7 @@ internal open class FirLightClassForSymbol( override fun hashCode(): Int = classOrObjectSymbol.hashCode() override fun equals(other: Any?): Boolean = - this === other || (other is FirLightClassForSymbol && classOrObjectSymbol == other.classOrObjectSymbol) + this === other || (other is SymbolLightClass && classOrObjectSymbol == other.classOrObjectSymbol) override fun isInterface(): Boolean = false @@ -287,8 +287,8 @@ internal open class FirLightClassForSymbol( override fun isEnum(): Boolean = classOrObjectSymbol.classKind == KtClassKind.ENUM_CLASS - override fun copy(): FirLightClassForSymbol = - FirLightClassForSymbol(classOrObjectSymbol, manager) + override fun copy(): SymbolLightClass = + SymbolLightClass(classOrObjectSymbol, manager) override fun isValid(): Boolean = super.isValid() && classOrObjectSymbol.isValid() } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassBase.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassBase.kt similarity index 96% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassBase.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassBase.kt index ea23c12ef50..2500733bc13 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassBase.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassBase.kt @@ -27,10 +27,10 @@ import org.jetbrains.kotlin.idea.KotlinLanguage import javax.swing.Icon context(KtAnalysisSession) -abstract class FirLightClassBase protected constructor( +abstract class SymbolLightClassBase protected constructor( manager: PsiManager ) : LightElement(manager, KotlinLanguage.INSTANCE), PsiClass, KtExtensibleLightClass { - private class FirLightClassesLazyCreator(private val project: Project) : KotlinClassInnerStuffCache.LazyCreator() { + private class SymbolLightClassesLazyCreator(private val project: Project) : KotlinClassInnerStuffCache.LazyCreator() { @OptIn(KtAllowAnalysisOnEdt::class) override fun get(initializer: () -> T, dependencies: List): Lazy = object : Lazy { private val cachedValue = PsiCachedValueImpl(PsiManager.getInstance(project)) { @@ -50,9 +50,9 @@ abstract class FirLightClassBase protected constructor( } private val myInnersCache = KotlinClassInnerStuffCache( - myClass = this@FirLightClassBase, + myClass = this@SymbolLightClassBase, dependencies = listOf(manager.project.createProjectWideOutOfBlockModificationTracker()), - lazyCreator = FirLightClassesLazyCreator(project) + lazyCreator = SymbolLightClassesLazyCreator(project) ) override fun getFields(): Array = myInnersCache.fields @@ -169,7 +169,7 @@ abstract class FirLightClassBase protected constructor( override fun getInitializers(): Array = PsiClassInitializer.EMPTY_ARRAY override fun getElementIcon(flags: Int): Icon? = - throw UnsupportedOperationException("This should be done by KotlinFirIconProvider") + throw UnsupportedOperationException("This should be done by KotlinIconProvider") override fun getVisibleSignatures(): MutableCollection = PsiSuperMethodImplUtil.getVisibleSignatures(this) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForClassOrObjectSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForClassOrObject.kt similarity index 86% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForClassOrObjectSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForClassOrObject.kt index c04e466ce27..c74cf4e80ab 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForClassOrObjectSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForClassOrObject.kt @@ -21,12 +21,16 @@ import org.jetbrains.kotlin.asJava.classes.getParentForLocalDeclaration import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.asJava.elements.KtLightField import org.jetbrains.kotlin.asJava.elements.KtLightMethod -import org.jetbrains.kotlin.light.classes.symbol.* +import org.jetbrains.kotlin.light.classes.symbol.SymbolFakeFile +import org.jetbrains.kotlin.light.classes.symbol.SymbolLightIdentifier +import org.jetbrains.kotlin.light.classes.symbol.allowLightClassesOnEdt import org.jetbrains.kotlin.light.classes.symbol.annotations.hasDeprecatedAnnotation import org.jetbrains.kotlin.light.classes.symbol.annotations.hasJvmFieldAnnotation import org.jetbrains.kotlin.light.classes.symbol.annotations.hasJvmStaticAnnotation -import org.jetbrains.kotlin.light.classes.symbol.fields.FirLightFieldForObjectSymbol -import org.jetbrains.kotlin.light.classes.symbol.fields.FirLightFieldForPropertySymbol +import org.jetbrains.kotlin.light.classes.symbol.basicIsEquivalentTo +import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightFieldForObject +import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightFieldForProperty +import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightTypeParameterList import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind import org.jetbrains.kotlin.psi.KtClassBody import org.jetbrains.kotlin.psi.KtClassOrObject @@ -38,10 +42,10 @@ import org.jetbrains.kotlin.utils.addToStdlib.ifTrue import org.jetbrains.kotlin.utils.addToStdlib.safeAs context(KtAnalysisSession) -internal abstract class FirLightClassForClassOrObjectSymbol( +internal abstract class SymbolLightClassForClassOrObject( private val classOrObjectSymbol: KtNamedClassOrObjectSymbol, manager: PsiManager -) : FirLightClassBase(manager), +) : SymbolLightClassBase(manager), StubBasedPsiElement> { protected val isTopLevel: Boolean = classOrObjectSymbol.symbolKind == KtSymbolKind.TOP_LEVEL @@ -60,7 +64,7 @@ internal abstract class FirLightClassForClassOrObjectSymbol( abstract override fun getOwnMethods(): List private val _identifier: PsiIdentifier by lazyPub { - FirLightIdentifier(this, classOrObjectSymbol) + SymbolLightIdentifier(this, classOrObjectSymbol) } override fun getNameIdentifier(): PsiIdentifier? = _identifier @@ -70,7 +74,7 @@ internal abstract class FirLightClassForClassOrObjectSymbol( private val _typeParameterList: PsiTypeParameterList? by lazyPub { hasTypeParameters().ifTrue { - FirLightTypeParameterListForSymbol( + SymbolLightTypeParameterList( owner = this, symbolWithTypeParameterList = classOrObjectSymbol, ) @@ -84,7 +88,7 @@ internal abstract class FirLightClassForClassOrObjectSymbol( override fun getTypeParameters(): Array = _typeParameterList?.typeParameters ?: PsiTypeParameter.EMPTY_ARRAY - private val _ownInnerClasses: List by lazyPub { + private val _ownInnerClasses: List by lazyPub { classOrObjectSymbol.createInnerClasses(manager, this, kotlinOrigin) } @@ -118,9 +122,9 @@ internal abstract class FirLightClassForClassOrObjectSymbol( protected fun addCompanionObjectFieldIfNeeded(result: MutableList) { classOrObjectSymbol.companionObject?.run { result.add( - FirLightFieldForObjectSymbol( + SymbolLightFieldForObject( objectSymbol = this, - containingClass = this@FirLightClassForClassOrObjectSymbol, + containingClass = this@SymbolLightClassForClassOrObject, name = name.asString(), lightMemberOrigin = null ) @@ -136,10 +140,10 @@ internal abstract class FirLightClassForClassOrObjectSymbol( filter { it.hasJvmFieldAnnotation() || it.isConst } } .mapTo(result) { - FirLightFieldForPropertySymbol( + SymbolLightFieldForProperty( propertySymbol = it, fieldName = it.name.asString(), - containingClass = this@FirLightClassForClassOrObjectSymbol, + containingClass = this@SymbolLightClassForClassOrObject, lightMemberOrigin = null, isTopLevel = false, forceStatic = true, @@ -156,9 +160,9 @@ internal abstract class FirLightClassForClassOrObjectSymbol( val kotlinOrigin = kotlinOrigin ?: return@lazyPub null - val containingClass = isTopLevel.ifFalse { getOrCreateFirLightClass(getOutermostClassOrObject(kotlinOrigin)) } ?: this + val containingClass = isTopLevel.ifFalse { getOrCreateSymbolLightClass(getOutermostClassOrObject(kotlinOrigin)) } ?: this - FirFakeFileImpl(kotlinOrigin, containingClass) + SymbolFakeFile(kotlinOrigin, containingClass) } override fun getContainingFile(): PsiFile? = _containingFile @@ -205,7 +209,7 @@ internal abstract class FirLightClassForClassOrObjectSymbol( override fun getContainingClass(): PsiClass? { val containingBody = kotlinOrigin?.parent as? KtClassBody val containingClass = containingBody?.parent as? KtClassOrObject - containingClass?.let { return getOrCreateFirLightClass(it) } + containingClass?.let { return getOrCreateSymbolLightClass(it) } return null } @@ -221,5 +225,5 @@ internal abstract class FirLightClassForClassOrObjectSymbol( override fun isInheritorDeep(baseClass: PsiClass?, classToByPass: PsiClass?): Boolean = baseClass?.let { InheritanceImplUtil.isInheritorDeep(this, it, classToByPass) } ?: false - abstract override fun copy(): FirLightClassForClassOrObjectSymbol + abstract override fun copy(): SymbolLightClassForClassOrObject } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForEnumEntry.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForEnumEntry.kt similarity index 83% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForEnumEntry.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForEnumEntry.kt index a06f1304e64..9e8f041f4ff 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForEnumEntry.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForEnumEntry.kt @@ -14,26 +14,26 @@ import org.jetbrains.kotlin.analysis.api.types.KtTypeMappingMode import org.jetbrains.kotlin.asJava.classes.KotlinSuperTypeListBuilder import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.asJava.elements.KtLightMethod -import org.jetbrains.kotlin.light.classes.symbol.codeReferences.FirLightPsiJavaCodeReferenceElementWithNoReference -import org.jetbrains.kotlin.light.classes.symbol.fields.FirLightFieldForEnumEntry -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightClassModifierList +import org.jetbrains.kotlin.light.classes.symbol.codeReferences.SymbolLightPsiJavaCodeReferenceElementWithNoReference +import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightFieldForEnumEntry +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind import org.jetbrains.kotlin.psi.KtClassOrObject context(KtAnalysisSession) -internal class FirLightClassForEnumEntry( +internal class SymbolLightClassForEnumEntry( private val enumEntrySymbol: KtEnumEntrySymbol, - private val enumConstant: FirLightFieldForEnumEntry, - private val enumClass: FirLightClassForSymbol, + private val enumConstant: SymbolLightFieldForEnumEntry, + private val enumClass: SymbolLightClass, manager: PsiManager -) : FirLightClassBase(manager), PsiEnumConstantInitializer { +) : SymbolLightClassBase(manager), PsiEnumConstantInitializer { override fun getName(): String? = enumEntrySymbol.name.asString() override fun getBaseClassType(): PsiClassType = enumConstant.type as PsiClassType //???TODO override fun getBaseClassReference(): PsiJavaCodeReferenceElement = - FirLightPsiJavaCodeReferenceElementWithNoReference(enumConstant) //???TODO + SymbolLightPsiJavaCodeReferenceElementWithNoReference(enumConstant) //???TODO override fun getArgumentList(): PsiExpressionList? = null @@ -42,21 +42,21 @@ internal class FirLightClassForEnumEntry( override fun isInQualifiedNew(): Boolean = false override fun equals(other: Any?): Boolean = - other is FirLightClassForEnumEntry && + other is SymbolLightClassForEnumEntry && this.enumEntrySymbol == other.enumEntrySymbol override fun hashCode(): Int = enumEntrySymbol.hashCode() override fun copy(): PsiElement = - FirLightClassForEnumEntry(enumEntrySymbol, enumConstant, enumClass, manager) + SymbolLightClassForEnumEntry(enumEntrySymbol, enumConstant, enumClass, manager) - override fun toString(): String = "FirLightClassForEnumEntry for $name" + override fun toString(): String = "SymbolLightClassForEnumEntry:$name" override fun getNameIdentifier(): PsiIdentifier? = null //TODO private val _modifierList: PsiModifierList by lazyPub { - FirLightClassModifierList( + SymbolLightClassModifierList( containingDeclaration = this, modifiers = setOf(PsiModifier.PUBLIC, PsiModifier.STATIC, PsiModifier.FINAL), annotations = emptyList() @@ -86,7 +86,7 @@ internal class FirLightClassForEnumEntry( private val _extendsList: PsiReferenceList? by lazyPub { val mappedType = - enumEntrySymbol.returnType.asPsiType(this@FirLightClassForEnumEntry, KtTypeMappingMode.SUPER_TYPE) as? PsiClassType + enumEntrySymbol.returnType.asPsiType(this@SymbolLightClassForEnumEntry, KtTypeMappingMode.SUPER_TYPE) as? PsiClassType ?: return@lazyPub null diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForFacade.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForFacade.kt similarity index 91% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForFacade.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForFacade.kt index 49dd134003b..8105386368f 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForFacade.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForFacade.kt @@ -30,8 +30,8 @@ import org.jetbrains.kotlin.light.classes.symbol.annotations.computeAnnotations import org.jetbrains.kotlin.light.classes.symbol.annotations.hasInlineOnlyAnnotation import org.jetbrains.kotlin.light.classes.symbol.annotations.hasJvmFieldAnnotation import org.jetbrains.kotlin.light.classes.symbol.annotations.hasJvmMultifileClassAnnotation -import org.jetbrains.kotlin.light.classes.symbol.fields.FirLightField -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightClassModifierList +import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightField +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList import org.jetbrains.kotlin.light.classes.symbol.toPsiVisibilityForMember import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind import org.jetbrains.kotlin.name.FqName @@ -39,11 +39,11 @@ import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtFile context(KtAnalysisSession) -class FirLightClassForFacade( +class SymbolLightClassForFacade( manager: PsiManager, override val facadeClassFqName: FqName, override val files: Collection -) : FirLightClassBase(manager), KtLightClassForFacade { +) : SymbolLightClassBase(manager), KtLightClassForFacade { init { require(files.isNotEmpty()) @@ -71,14 +71,14 @@ class FirLightClassForFacade( val annotations = fileSymbols.flatMap { it.computeAnnotations( - this@FirLightClassForFacade, + this@SymbolLightClassForFacade, NullabilityType.Unknown, AnnotationUseSiteTarget.FILE, includeAnnotationsWithoutSite = false ) } - FirLightClassModifierList(this@FirLightClassForFacade, modifiers, annotations) + SymbolLightClassModifierList(this@SymbolLightClassForFacade, modifiers, annotations) } override fun getModifierList(): PsiModifierList = _modifierList @@ -111,7 +111,7 @@ class FirLightClassForFacade( private fun loadFieldsFromFile( fileScope: KtScope, - nameGenerator: FirLightField.FieldNameGenerator, + nameGenerator: SymbolLightField.FieldNameGenerator, result: MutableList ) { for (propertySymbol in fileScope.getCallableSymbols()) { @@ -147,7 +147,7 @@ class FirLightClassForFacade( private val _ownFields: List by lazyPub { val result = mutableListOf() - val nameGenerator = FirLightField.FieldNameGenerator() + val nameGenerator = SymbolLightField.FieldNameGenerator() for (fileSymbol in fileSymbols) { loadFieldsFromFile(fileSymbol.getFileScope(), nameGenerator, result) } @@ -158,8 +158,8 @@ class FirLightClassForFacade( override fun getOwnMethods() = _ownMethods - override fun copy(): FirLightClassForFacade = - FirLightClassForFacade(manager, facadeClassFqName, files) + override fun copy(): SymbolLightClassForFacade = + SymbolLightClassForFacade(manager, facadeClassFqName, files) private val packageFqName: FqName = facadeClassFqName.parent() @@ -230,7 +230,7 @@ class FirLightClassForFacade( override fun getNavigationElement() = firstFileInFacade override fun isEquivalentTo(another: PsiElement?): Boolean = - equals(another) || another is FirLightClassForFacade && another.qualifiedName == qualifiedName + equals(another) || another is SymbolLightClassForFacade && another.qualifiedName == qualifiedName override fun isInheritor(baseClass: PsiClass, checkDeep: Boolean): Boolean { return baseClass.qualifiedName == CommonClassNames.JAVA_LANG_OBJECT @@ -247,7 +247,7 @@ class FirLightClassForFacade( arrayOf(PsiType.getJavaLangObject(manager, resolveScope)) override fun equals(other: Any?): Boolean { - if (other !is FirLightClassForFacade) return false + if (other !is SymbolLightClassForFacade) return false if (this === other) return true if (this.hashCode() != other.hashCode()) return false @@ -260,7 +260,7 @@ class FirLightClassForFacade( override fun hashCode() = facadeClassFqName.hashCode() - override fun toString() = "${FirLightClassForFacade::class.java.simpleName}:$facadeClassFqName" + override fun toString() = "${SymbolLightClassForFacade::class.java.simpleName}:$facadeClassFqName" override val originKind: LightClassOriginKind get() = LightClassOriginKind.SOURCE diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForInterfaceDefaultImpls.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForInterfaceDefaultImpls.kt similarity index 80% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForInterfaceDefaultImpls.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForInterfaceDefaultImpls.kt index aa46429dc18..ca76faa5955 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightClassForInterfaceDefaultImpls.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForInterfaceDefaultImpls.kt @@ -10,29 +10,29 @@ import com.intellij.util.IncorrectOperationException import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol import org.jetbrains.kotlin.asJava.classes.lazyPub -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightClassModifierList +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList import org.jetbrains.kotlin.load.java.JvmAbi context(KtAnalysisSession) -internal class FirLightClassForInterfaceDefaultImpls( +internal class SymbolLightClassForInterfaceDefaultImpls( private val classOrObjectSymbol: KtNamedClassOrObjectSymbol, - private val containingClass: FirLightClassBase, + private val containingClass: SymbolLightClassBase, manager: PsiManager -) : FirLightInterfaceClassSymbol(classOrObjectSymbol, manager) { +) : SymbolLightInterfaceClass(classOrObjectSymbol, manager) { override fun getQualifiedName(): String? = containingClass.qualifiedName?.let { it + ".${JvmAbi.DEFAULT_IMPLS_CLASS_NAME}" } override fun getName() = JvmAbi.DEFAULT_IMPLS_CLASS_NAME override fun getParent() = containingClass override fun copy() = - FirLightClassForInterfaceDefaultImpls(classOrObjectSymbol, containingClass, manager) + SymbolLightClassForInterfaceDefaultImpls(classOrObjectSymbol, containingClass, manager) override fun getTypeParameterList(): PsiTypeParameterList? = null override fun getTypeParameters(): Array = emptyArray() private val _modifierList: PsiModifierList? by lazyPub { val modifiers = setOf(PsiModifier.PUBLIC, PsiModifier.STATIC, PsiModifier.FINAL) - FirLightClassModifierList(this@FirLightClassForInterfaceDefaultImpls, modifiers, emptyList()) + SymbolLightClassModifierList(this@SymbolLightClassForInterfaceDefaultImpls, modifiers, emptyList()) } override fun getModifierList(): PsiModifierList? = _modifierList diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightInlineClass.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInlineClass.kt similarity index 93% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightInlineClass.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInlineClass.kt index f75e5f27814..96bece41935 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightInlineClass.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInlineClass.kt @@ -17,10 +17,10 @@ import org.jetbrains.kotlin.asJava.elements.KtLightMethod import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue context(KtAnalysisSession) -internal class FirLightInlineClass( +internal class SymbolLightInlineClass( private val classOrObjectSymbol: KtNamedClassOrObjectSymbol, manager: PsiManager -) : FirLightClassForSymbol(classOrObjectSymbol, manager) { +) : SymbolLightClass(classOrObjectSymbol, manager) { init { require(classOrObjectSymbol.isInline) @@ -61,6 +61,5 @@ internal class FirLightInlineClass( override fun getOwnFields(): List = emptyList() - override fun copy(): FirLightInlineClass = - FirLightInlineClass(classOrObjectSymbol, manager) + override fun copy(): SymbolLightInlineClass = SymbolLightInlineClass(classOrObjectSymbol, manager) } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightInterfaceClassSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInterfaceClass.kt similarity index 86% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightInterfaceClassSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInterfaceClass.kt index 846d8f70732..837210c81f2 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightInterfaceClassSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInterfaceClass.kt @@ -19,10 +19,10 @@ import org.jetbrains.kotlin.asJava.elements.KtLightField import org.jetbrains.kotlin.asJava.elements.KtLightMethod context(KtAnalysisSession) -internal open class FirLightInterfaceClassSymbol( +internal open class SymbolLightInterfaceClass( private val classOrObjectSymbol: KtNamedClassOrObjectSymbol, manager: PsiManager -) : FirLightInterfaceOrAnnotationClassSymbol(classOrObjectSymbol, manager) { +) : SymbolLightInterfaceOrAnnotationClass(classOrObjectSymbol, manager) { init { require(classOrObjectSymbol.classKind == KtClassKind.INTERFACE) @@ -52,14 +52,13 @@ internal open class FirLightInterfaceClassSymbol( override fun getOwnMethods(): List = _ownMethods override fun equals(other: Any?): Boolean = - other === this || (other is FirLightInterfaceClassSymbol && classOrObjectSymbol == other.classOrObjectSymbol) + other === this || (other is SymbolLightInterfaceClass && classOrObjectSymbol == other.classOrObjectSymbol) override fun hashCode(): Int = classOrObjectSymbol.hashCode() override fun isAnnotationType(): Boolean = false - override fun copy(): FirLightClassForClassOrObjectSymbol = - FirLightInterfaceClassSymbol(classOrObjectSymbol, manager) + override fun copy(): SymbolLightClassForClassOrObject = SymbolLightInterfaceClass(classOrObjectSymbol, manager) private val _extendsList: PsiReferenceList by lazyPub { createInheritanceList(forExtendsList = true, classOrObjectSymbol.superTypes) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightInterfaceOrAnnotationClassSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInterfaceOrAnnotationClass.kt similarity index 84% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightInterfaceOrAnnotationClassSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInterfaceOrAnnotationClass.kt index 3a03f9e5f03..42a95b76865 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/FirLightInterfaceOrAnnotationClassSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInterfaceOrAnnotationClass.kt @@ -16,14 +16,14 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.light.classes.symbol.NullabilityType import org.jetbrains.kotlin.light.classes.symbol.annotations.computeAnnotations -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightClassModifierList +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList import org.jetbrains.kotlin.light.classes.symbol.toPsiVisibilityForClass context(KtAnalysisSession) -internal abstract class FirLightInterfaceOrAnnotationClassSymbol( +internal abstract class SymbolLightInterfaceOrAnnotationClass( private val classOrObjectSymbol: KtNamedClassOrObjectSymbol, manager: PsiManager -) : FirLightClassForClassOrObjectSymbol(classOrObjectSymbol, manager) { +) : SymbolLightClassForClassOrObject(classOrObjectSymbol, manager) { init { require( @@ -41,12 +41,12 @@ internal abstract class FirLightInterfaceOrAnnotationClassSymbol( } val annotations = classOrObjectSymbol.computeAnnotations( - parent = this@FirLightInterfaceOrAnnotationClassSymbol, + parent = this@SymbolLightInterfaceOrAnnotationClass, nullability = NullabilityType.Unknown, annotationUseSiteTarget = null, ) - FirLightClassModifierList(this@FirLightInterfaceOrAnnotationClassSymbol, modifiers, annotations) + SymbolLightClassModifierList(this@SymbolLightInterfaceOrAnnotationClass, modifiers, annotations) } override fun getModifierList(): PsiModifierList? = _modifierList diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/firLightClassUtils.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt similarity index 86% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/firLightClassUtils.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt index ae24ba78ec0..b3cf9bbab23 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/firLightClassUtils.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt @@ -34,13 +34,13 @@ import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget import org.jetbrains.kotlin.lexer.KtTokens.* import org.jetbrains.kotlin.light.classes.symbol.* import org.jetbrains.kotlin.light.classes.symbol.annotations.* -import org.jetbrains.kotlin.light.classes.symbol.fields.FirLightField -import org.jetbrains.kotlin.light.classes.symbol.fields.FirLightFieldForEnumEntry -import org.jetbrains.kotlin.light.classes.symbol.fields.FirLightFieldForPropertySymbol -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightAccessorMethodForSymbol -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightConstructorForSymbol -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightNoArgConstructor -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightSimpleMethodForSymbol +import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightField +import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightFieldForEnumEntry +import org.jetbrains.kotlin.light.classes.symbol.fields.SymbolLightFieldForProperty +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightAccessorMethod +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightConstructor +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightNoArgConstructor +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightSimpleMethod import org.jetbrains.kotlin.load.java.JvmAbi import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.psi.* @@ -48,17 +48,17 @@ import org.jetbrains.kotlin.psi.psiUtil.containingClass import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOriginKind import java.util.* -internal fun getOrCreateFirLightClass(classOrObject: KtClassOrObject): KtLightClass? = +internal fun getOrCreateSymbolLightClass(classOrObject: KtClassOrObject): KtLightClass? = CachedValuesManager.getCachedValue(classOrObject) { CachedValueProvider.Result .create( - createFirLightClassNoCache(classOrObject), + createSymbolLightClassNoCache(classOrObject), classOrObject.project.createProjectWideOutOfBlockModificationTracker() ) } @OptIn(KtAllowAnalysisOnEdt::class) -internal fun createFirLightClassNoCache(classOrObject: KtClassOrObject): KtLightClass? = allowAnalysisOnEdt { +internal fun createSymbolLightClassNoCache(classOrObject: KtClassOrObject): KtLightClass? = allowAnalysisOnEdt { val containingFile = classOrObject.containingFile if (containingFile is KtCodeFragment) { @@ -86,7 +86,7 @@ internal fun createFirLightClassNoCache(classOrObject: KtClassOrObject): KtLight classOrObject.hasModifier(INLINE_KEYWORD) -> { analyzeForLightClasses(classOrObject) { - classOrObject.getNamedClassOrObjectSymbol()?.let { FirLightInlineClass(it, classOrObject.manager) } + classOrObject.getNamedClassOrObjectSymbol()?.let { SymbolLightInlineClass(it, classOrObject.manager) } } } @@ -100,12 +100,12 @@ internal fun createFirLightClassNoCache(classOrObject: KtClassOrObject): KtLight context(KtAnalysisSession) -internal fun KtClassOrObjectSymbol.createLightClassNoCache(manager: PsiManager): FirLightClassBase = when (this) { - is KtAnonymousObjectSymbol -> FirLightAnonymousClassForSymbol(this, manager) +internal fun KtClassOrObjectSymbol.createLightClassNoCache(manager: PsiManager): SymbolLightClassBase = when (this) { + is KtAnonymousObjectSymbol -> SymbolLightAnonymousClassForSymbol(this, manager) is KtNamedClassOrObjectSymbol -> when (classKind) { - KtClassKind.INTERFACE -> FirLightInterfaceClassSymbol(this, manager) - KtClassKind.ANNOTATION_CLASS -> FirLightAnnotationClassSymbol(this, manager) - else -> FirLightClassForSymbol(this, manager) + KtClassKind.INTERFACE -> SymbolLightInterfaceClass(this, manager) + KtClassKind.ANNOTATION_CLASS -> SymbolLightAnnotationClassSymbol(this, manager) + else -> SymbolLightClass(this, manager) } } @@ -113,20 +113,20 @@ context(KtAnalysisSession) private fun lightClassForEnumEntry(ktEnumEntry: KtEnumEntry): KtLightClass? { if (ktEnumEntry.body == null) return null - val firClass = ktEnumEntry + val symbolLightClass = ktEnumEntry .containingClass() - ?.let { getOrCreateFirLightClass(it) } as? FirLightClassForSymbol + ?.let { getOrCreateSymbolLightClass(it) } as? SymbolLightClass ?: return null - val targetField = firClass.ownFields - .firstOrNull { it is FirLightFieldForEnumEntry && it.kotlinOrigin == ktEnumEntry } + val targetField = symbolLightClass.ownFields + .firstOrNull { it is SymbolLightFieldForEnumEntry && it.kotlinOrigin == ktEnumEntry } ?: return null - return (targetField as? FirLightFieldForEnumEntry)?.initializingClass as? KtLightClass + return (targetField as? SymbolLightFieldForEnumEntry)?.initializingClass as? KtLightClass } context(KtAnalysisSession) -internal fun FirLightClassBase.createConstructors( +internal fun SymbolLightClassBase.createConstructors( declarations: Sequence, result: MutableList ) { @@ -138,7 +138,7 @@ internal fun FirLightClassBase.createConstructors( for (constructor in constructors) { if (constructor.isHiddenOrSynthetic()) continue result.add( - FirLightConstructorForSymbol( + SymbolLightConstructor( constructorSymbol = constructor, lightMemberOrigin = null, containingClass = this@createConstructors, @@ -155,7 +155,7 @@ internal fun FirLightClassBase.createConstructors( } context(KtAnalysisSession) -private fun FirLightClassBase.shouldGenerateNoArgOverload( +private fun SymbolLightClassBase.shouldGenerateNoArgOverload( primaryConstructor: KtConstructorSymbol, constructors: Iterable, ): Boolean { @@ -170,7 +170,7 @@ private fun FirLightClassBase.shouldGenerateNoArgOverload( } context(KtAnalysisSession) -private fun FirLightClassBase.defaultConstructor(): KtLightMethod { +private fun SymbolLightClassBase.defaultConstructor(): KtLightMethod { val classOrObject = kotlinOrigin val visibility = when { classOrObject is KtObjectDeclaration || classOrObject?.hasModifier(SEALED_KEYWORD) == true || isEnum -> PsiModifier.PRIVATE @@ -181,11 +181,11 @@ private fun FirLightClassBase.defaultConstructor(): KtLightMethod { } context(KtAnalysisSession) -private fun FirLightClassBase.noArgConstructor( +private fun SymbolLightClassBase.noArgConstructor( visibility: String, methodIndex: Int, ): KtLightMethod { - return FirLightNoArgConstructor( + return SymbolLightNoArgConstructor( LightMemberOriginForDeclaration( originalElement = kotlinOrigin!!, originKind = JvmDeclarationOriginKind.OTHER, @@ -198,7 +198,7 @@ private fun FirLightClassBase.noArgConstructor( } context(KtAnalysisSession) -internal fun FirLightClassBase.createMethods( +internal fun SymbolLightClassBase.createMethods( declarations: Sequence, result: MutableList, isTopLevel: Boolean = false, @@ -216,7 +216,7 @@ internal fun FirLightClassBase.createMethods( var methodIndex = METHOD_INDEX_BASE result.add( - FirLightSimpleMethodForSymbol( + SymbolLightSimpleMethod( functionSymbol = declaration, lightMemberOrigin = null, containingClass = this@createMethods, @@ -236,7 +236,7 @@ internal fun FirLightClassBase.createMethods( skipMask.set(i) result.add( - FirLightSimpleMethodForSymbol( + SymbolLightSimpleMethod( declaration, null, this@createMethods, methodIndex++, isTopLevel, skipMask.copy() ) ) @@ -267,7 +267,7 @@ internal fun FirLightClassBase.createMethods( } context(KtAnalysisSession) -internal fun FirLightClassBase.createPropertyAccessors( +internal fun SymbolLightClassBase.createPropertyAccessors( result: MutableList, declaration: KtPropertySymbol, isTopLevel: Boolean, @@ -309,7 +309,7 @@ internal fun FirLightClassBase.createPropertyAccessors( } result.add( - FirLightAccessorMethodForSymbol( + SymbolLightAccessorMethod( propertyAccessorSymbol = getter, containingPropertySymbol = declaration, lightMemberOrigin = lightMemberOrigin, @@ -333,7 +333,7 @@ internal fun FirLightClassBase.createPropertyAccessors( ) } result.add( - FirLightAccessorMethodForSymbol( + SymbolLightAccessorMethod( propertyAccessorSymbol = setter, containingPropertySymbol = declaration, lightMemberOrigin = lightMemberOrigin, @@ -346,9 +346,9 @@ internal fun FirLightClassBase.createPropertyAccessors( } context(KtAnalysisSession) -internal fun FirLightClassBase.createField( +internal fun SymbolLightClassBase.createField( declaration: KtPropertySymbol, - nameGenerator: FirLightField.FieldNameGenerator, + nameGenerator: SymbolLightField.FieldNameGenerator, isTopLevel: Boolean, forceStatic: Boolean, takePropertyVisibility: Boolean, @@ -377,7 +377,7 @@ internal fun FirLightClassBase.createField( ) result.add( - FirLightFieldForPropertySymbol( + SymbolLightFieldForProperty( propertySymbol = declaration, fieldName = fieldName, containingClass = this, @@ -390,7 +390,7 @@ internal fun FirLightClassBase.createField( } context(KtAnalysisSession) -internal fun FirLightClassBase.createInheritanceList(forExtendsList: Boolean, superTypes: List): PsiReferenceList { +internal fun SymbolLightClassBase.createInheritanceList(forExtendsList: Boolean, superTypes: List): PsiReferenceList { val role = if (forExtendsList) PsiReferenceList.Role.EXTENDS_LIST else PsiReferenceList.Role.IMPLEMENTS_LIST @@ -434,10 +434,10 @@ internal fun FirLightClassBase.createInheritanceList(forExtendsList: Boolean, su context(KtAnalysisSession) internal fun KtSymbolWithMembers.createInnerClasses( manager: PsiManager, - containingClass: FirLightClassBase, + containingClass: SymbolLightClassBase, classOrObject: KtClassOrObject? -): List { - val result = ArrayList() +): List { + val result = ArrayList() // workaround for ClassInnerStuffCache not supporting classes with null names, see KT-13927 // inner classes with null names can't be searched for and can't be used from java anyway @@ -456,7 +456,7 @@ internal fun KtSymbolWithMembers.createInnerClasses( classOrObject?.hasInterfaceDefaultImpls == true && jvmDefaultMode != JvmDefaultMode.ALL_INCOMPATIBLE ) { - result.add(FirLightClassForInterfaceDefaultImpls(this, containingClass, manager)) + result.add(SymbolLightClassForInterfaceDefaultImpls(this, containingClass, manager)) } return result } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/FirLightPsiJavaCodeReferenceElementBase.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/SymbolLightPsiJavaCodeReferenceElementBase.kt similarity index 91% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/FirLightPsiJavaCodeReferenceElementBase.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/SymbolLightPsiJavaCodeReferenceElementBase.kt index 0f64b54bdb0..9c9c0779123 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/FirLightPsiJavaCodeReferenceElementBase.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/SymbolLightPsiJavaCodeReferenceElementBase.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.light.classes.symbol.codeReferences import com.intellij.psi.* import com.intellij.psi.scope.PsiScopeProcessor -internal abstract class FirLightPsiJavaCodeReferenceElementBase(private val ktElement: PsiElement) : +internal abstract class SymbolLightPsiJavaCodeReferenceElementBase(private val ktElement: PsiElement) : PsiElement by ktElement, PsiJavaCodeReferenceElement { diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/FirLightPsiJavaCodeReferenceElementWithNoReference.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/SymbolLightPsiJavaCodeReferenceElementWithNoReference.kt similarity index 78% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/FirLightPsiJavaCodeReferenceElementWithNoReference.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/SymbolLightPsiJavaCodeReferenceElementWithNoReference.kt index fc7b3a59c82..47068e092cd 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/FirLightPsiJavaCodeReferenceElementWithNoReference.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/SymbolLightPsiJavaCodeReferenceElementWithNoReference.kt @@ -10,8 +10,8 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiReference import com.intellij.util.IncorrectOperationException -internal class FirLightPsiJavaCodeReferenceElementWithNoReference(private val ktElement: PsiElement) : - FirLightPsiJavaCodeReferenceElementBase(ktElement), +internal class SymbolLightPsiJavaCodeReferenceElementWithNoReference(private val ktElement: PsiElement) : + SymbolLightPsiJavaCodeReferenceElementBase(ktElement), PsiReference { override fun getElement(): PsiElement = ktElement @@ -26,7 +26,7 @@ internal class FirLightPsiJavaCodeReferenceElementWithNoReference(private val kt @Throws(IncorrectOperationException::class) override fun bindToElement(element: PsiElement): PsiElement = - throw IncorrectOperationException("can't rename FirLightPsiJavaCodeReferenceElementWithNoReference") + throw IncorrectOperationException("can't rename SymbolLightPsiJavaCodeReferenceElementWithNoReference") override fun isReferenceTo(element: PsiElement): Boolean = false diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/FirLightPsiJavaCodeReferenceElementWithReference.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/SymbolLightPsiJavaCodeReferenceElementWithReference.kt similarity index 69% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/FirLightPsiJavaCodeReferenceElementWithReference.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/SymbolLightPsiJavaCodeReferenceElementWithReference.kt index 20cd877c8e2..05685abd12b 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/FirLightPsiJavaCodeReferenceElementWithReference.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/codeReferences/SymbolLightPsiJavaCodeReferenceElementWithReference.kt @@ -8,8 +8,8 @@ package org.jetbrains.kotlin.light.classes.symbol.codeReferences import com.intellij.psi.PsiElement import com.intellij.psi.PsiReference -internal class FirLightPsiJavaCodeReferenceElementWithReference(private val ktElement: PsiElement, reference: PsiReference) : - FirLightPsiJavaCodeReferenceElementBase(ktElement), +internal class SymbolLightPsiJavaCodeReferenceElementWithReference(private val ktElement: PsiElement, reference: PsiReference) : + SymbolLightPsiJavaCodeReferenceElementBase(ktElement), PsiReference by reference { override fun getElement(): PsiElement = ktElement diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/decompiled/KtLightClassForDecompiledFacade.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassForDecompiledFacade.kt similarity index 96% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/decompiled/KtLightClassForDecompiledFacade.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassForDecompiledFacade.kt index 7008469842a..25a1f1b77de 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/decompiled/KtLightClassForDecompiledFacade.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassForDecompiledFacade.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtFile -internal class KtLightClassForDecompiledFacade( +internal class SymbolLightClassForDecompiledFacade( clsDelegate: PsiClass, clsParent: PsiElement, file: KtClsFile, diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightField.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightField.kt similarity index 93% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightField.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightField.kt index e45f7dc0f36..c0fd7c409ad 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightField.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightField.kt @@ -17,15 +17,15 @@ import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.asJava.classes.cannotModify import org.jetbrains.kotlin.asJava.elements.KtLightField import org.jetbrains.kotlin.idea.KotlinLanguage -import org.jetbrains.kotlin.light.classes.symbol.FirLightMemberImpl +import org.jetbrains.kotlin.light.classes.symbol.SymbolLightMemberBase import org.jetbrains.kotlin.light.classes.symbol.basicIsEquivalentTo import org.jetbrains.kotlin.psi.KtNamedDeclaration import javax.swing.Icon -internal abstract class FirLightField protected constructor( +internal abstract class SymbolLightField protected constructor( private val containingClass: KtLightClass, lightMemberOrigin: LightMemberOrigin?, -) : FirLightMemberImpl(lightMemberOrigin, containingClass), KtLightField { +) : SymbolLightMemberBase(lightMemberOrigin, containingClass), KtLightField { override fun setInitializer(initializer: PsiExpression?) = cannotModify() override fun isEquivalentTo(another: PsiElement?): Boolean = diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldEnumEntry.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForEnumEntry.kt similarity index 74% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldEnumEntry.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForEnumEntry.kt index d1cc452e624..0d125c04218 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldEnumEntry.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForEnumEntry.kt @@ -12,24 +12,24 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtEnumEntrySymbol import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin import org.jetbrains.kotlin.asJava.classes.cannotModify import org.jetbrains.kotlin.asJava.classes.lazyPub -import org.jetbrains.kotlin.light.classes.symbol.FirLightIdentifier -import org.jetbrains.kotlin.light.classes.symbol.classes.FirLightClassForEnumEntry -import org.jetbrains.kotlin.light.classes.symbol.classes.FirLightClassForSymbol -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightMemberModifierList +import org.jetbrains.kotlin.light.classes.symbol.SymbolLightIdentifier +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClass +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForEnumEntry +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList import org.jetbrains.kotlin.light.classes.symbol.nonExistentType import org.jetbrains.kotlin.psi.KtEnumEntry import org.jetbrains.kotlin.utils.addToStdlib.ifTrue context(KtAnalysisSession) -internal class FirLightFieldForEnumEntry( +internal class SymbolLightFieldForEnumEntry( private val enumEntrySymbol: KtEnumEntrySymbol, - containingClass: FirLightClassForSymbol, + containingClass: SymbolLightClass, override val lightMemberOrigin: LightMemberOrigin? -) : FirLightField(containingClass, lightMemberOrigin), PsiEnumConstant { +) : SymbolLightField(containingClass, lightMemberOrigin), PsiEnumConstant { private val _modifierList by lazyPub { - FirLightMemberModifierList( - containingDeclaration = this@FirLightFieldForEnumEntry, + SymbolLightMemberModifierList( + containingDeclaration = this@SymbolLightFieldForEnumEntry, modifiers = setOf(PsiModifier.STATIC, PsiModifier.FINAL, PsiModifier.PUBLIC), annotations = emptyList() ) @@ -46,9 +46,9 @@ internal class FirLightFieldForEnumEntry( private val _initializingClass: PsiEnumConstantInitializer? by lazyPub { hasBody.ifTrue { - FirLightClassForEnumEntry( + SymbolLightClassForEnumEntry( enumEntrySymbol = enumEntrySymbol, - enumConstant = this@FirLightFieldForEnumEntry, + enumConstant = this@SymbolLightFieldForEnumEntry, enumClass = containingClass, manager = manager ) @@ -71,7 +71,7 @@ internal class FirLightFieldForEnumEntry( override fun getName(): String = enumEntrySymbol.name.asString() private val _type: PsiType by lazyPub { - enumEntrySymbol.returnType.asPsiType(this@FirLightFieldForEnumEntry) ?: nonExistentType() + enumEntrySymbol.returnType.asPsiType(this@SymbolLightFieldForEnumEntry) ?: nonExistentType() } override fun getType(): PsiType = _type @@ -80,7 +80,7 @@ internal class FirLightFieldForEnumEntry( override fun hashCode(): Int = enumEntrySymbol.hashCode() private val _identifier: PsiIdentifier by lazyPub { - FirLightIdentifier(this, enumEntrySymbol) + SymbolLightIdentifier(this, enumEntrySymbol) } override fun getNameIdentifier(): PsiIdentifier = _identifier @@ -88,7 +88,5 @@ internal class FirLightFieldForEnumEntry( override fun isValid(): Boolean = super.isValid() && enumEntrySymbol.isValid() - override fun equals(other: Any?): Boolean = - other is FirLightFieldForEnumEntry && - enumEntrySymbol == other.enumEntrySymbol + override fun equals(other: Any?): Boolean = other is SymbolLightFieldForEnumEntry && enumEntrySymbol == other.enumEntrySymbol } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldForObjectSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForObject.kt similarity index 76% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldForObjectSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForObject.kt index 78cd403f7bb..5d3524bdbdd 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldForObjectSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForObject.kt @@ -13,21 +13,21 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.asJava.classes.lazyPub -import org.jetbrains.kotlin.light.classes.symbol.FirLightIdentifier -import org.jetbrains.kotlin.light.classes.symbol.annotations.FirLightSimpleAnnotation +import org.jetbrains.kotlin.light.classes.symbol.SymbolLightIdentifier +import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolLightSimpleAnnotation import org.jetbrains.kotlin.light.classes.symbol.annotations.hasDeprecatedAnnotation -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightMemberModifierList +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList import org.jetbrains.kotlin.light.classes.symbol.nonExistentType import org.jetbrains.kotlin.light.classes.symbol.toPsiVisibilityForMember import org.jetbrains.kotlin.psi.KtDeclaration context(KtAnalysisSession) -internal class FirLightFieldForObjectSymbol( +internal class SymbolLightFieldForObject( private val objectSymbol: KtNamedClassOrObjectSymbol, containingClass: KtLightClass, private val name: String, lightMemberOrigin: LightMemberOrigin?, -) : FirLightField(containingClass, lightMemberOrigin) { +) : SymbolLightField(containingClass, lightMemberOrigin) { override val kotlinOrigin: KtDeclaration? = objectSymbol.psi as? KtDeclaration @@ -35,8 +35,8 @@ internal class FirLightFieldForObjectSymbol( private val _modifierList: PsiModifierList by lazyPub { val modifiers = setOf(objectSymbol.toPsiVisibilityForMember(isTopLevel = false), PsiModifier.STATIC, PsiModifier.FINAL) - val notNullAnnotation = FirLightSimpleAnnotation(NotNull::class.java.name, this) - FirLightMemberModifierList(this, modifiers, listOf(notNullAnnotation)) + val notNullAnnotation = SymbolLightSimpleAnnotation(NotNull::class.java.name, this) + SymbolLightMemberModifierList(this, modifiers, listOf(notNullAnnotation)) } private val _isDeprecated: Boolean by lazyPub { @@ -48,12 +48,12 @@ internal class FirLightFieldForObjectSymbol( override fun getModifierList(): PsiModifierList? = _modifierList private val _type: PsiType by lazyPub { - objectSymbol.buildSelfClassType().asPsiType(this@FirLightFieldForObjectSymbol) + objectSymbol.buildSelfClassType().asPsiType(this@SymbolLightFieldForObject) ?: nonExistentType() } private val _identifier: PsiIdentifier by lazyPub { - FirLightIdentifier(this, objectSymbol) + SymbolLightIdentifier(this, objectSymbol) } override fun getNameIdentifier(): PsiIdentifier = _identifier @@ -65,7 +65,7 @@ internal class FirLightFieldForObjectSymbol( override fun equals(other: Any?): Boolean = this === other || - (other is FirLightFieldForObjectSymbol && + (other is SymbolLightFieldForObject && kotlinOrigin == other.kotlinOrigin && objectSymbol == other.objectSymbol) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldForPropertySymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForProperty.kt similarity index 87% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldForPropertySymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForProperty.kt index 30fbbd2e118..e4352c599f1 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/FirLightFieldForPropertySymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForProperty.kt @@ -20,23 +20,23 @@ import org.jetbrains.kotlin.light.classes.symbol.* import org.jetbrains.kotlin.light.classes.symbol.annotations.computeAnnotations import org.jetbrains.kotlin.light.classes.symbol.annotations.hasAnnotation import org.jetbrains.kotlin.light.classes.symbol.annotations.hasDeprecatedAnnotation -import org.jetbrains.kotlin.light.classes.symbol.classes.FirLightClassBase -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightMemberModifierList +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassBase +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList import org.jetbrains.kotlin.name.JvmNames.TRANSIENT_ANNOTATION_CLASS_ID import org.jetbrains.kotlin.name.JvmNames.VOLATILE_ANNOTATION_CLASS_ID import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtProperty context(KtAnalysisSession) -internal class FirLightFieldForPropertySymbol( +internal class SymbolLightFieldForProperty( private val propertySymbol: KtPropertySymbol, private val fieldName: String, - containingClass: FirLightClassBase, + containingClass: SymbolLightClassBase, lightMemberOrigin: LightMemberOrigin?, isTopLevel: Boolean, forceStatic: Boolean, takePropertyVisibility: Boolean -) : FirLightField(containingClass, lightMemberOrigin) { +) : SymbolLightField(containingClass, lightMemberOrigin) { override val kotlinOrigin: KtDeclaration? = propertySymbol.psi as? KtDeclaration @@ -45,11 +45,11 @@ internal class FirLightFieldForPropertySymbol( when { isDelegated -> (kotlinOrigin as? KtProperty)?.delegateExpression?.let { - it.getKtType()?.asPsiType(this@FirLightFieldForPropertySymbol, KtTypeMappingMode.RETURN_TYPE) + it.getKtType()?.asPsiType(this@SymbolLightFieldForProperty, KtTypeMappingMode.RETURN_TYPE) } else -> { - propertySymbol.returnType.asPsiType(this@FirLightFieldForPropertySymbol, KtTypeMappingMode.RETURN_TYPE) + propertySymbol.returnType.asPsiType(this@SymbolLightFieldForProperty, KtTypeMappingMode.RETURN_TYPE) } } ?: nonExistentType() } @@ -61,7 +61,7 @@ internal class FirLightFieldForPropertySymbol( override fun isDeprecated(): Boolean = _isDeprecated private val _identifier: PsiIdentifier by lazyPub { - FirLightIdentifier(this, propertySymbol) + SymbolLightIdentifier(this, propertySymbol) } override fun getNameIdentifier(): PsiIdentifier = _identifier @@ -110,7 +110,7 @@ internal class FirLightFieldForPropertySymbol( annotationUseSiteTarget = AnnotationUseSiteTarget.FIELD, ) - FirLightMemberModifierList(this, modifiers, annotations) + SymbolLightMemberModifierList(this, modifiers, annotations) } override fun getModifierList(): PsiModifierList = _modifierList @@ -127,7 +127,7 @@ internal class FirLightFieldForPropertySymbol( override fun equals(other: Any?): Boolean = this === other || - (other is FirLightFieldForPropertySymbol && + (other is SymbolLightFieldForProperty && kotlinOrigin == other.kotlinOrigin && propertySymbol == other.propertySymbol) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightAccessorMethodForSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightAccessorMethod.kt similarity index 88% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightAccessorMethodForSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightAccessorMethod.kt index 8512d1db84f..dc9ac5b1d07 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightAccessorMethodForSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightAccessorMethod.kt @@ -20,10 +20,10 @@ import org.jetbrains.kotlin.light.classes.symbol.annotations.computeAnnotations import org.jetbrains.kotlin.light.classes.symbol.annotations.getJvmNameFromAnnotation import org.jetbrains.kotlin.light.classes.symbol.annotations.hasDeprecatedAnnotation import org.jetbrains.kotlin.light.classes.symbol.annotations.hasJvmStaticAnnotation -import org.jetbrains.kotlin.light.classes.symbol.classes.FirLightClassBase -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightMemberModifierList -import org.jetbrains.kotlin.light.classes.symbol.parameters.FirLightParameterList -import org.jetbrains.kotlin.light.classes.symbol.parameters.FirLightSetterParameterForSymbol +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassBase +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList +import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightParameterList +import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightSetterParameter import org.jetbrains.kotlin.load.java.JvmAbi.getterName import org.jetbrains.kotlin.load.java.JvmAbi.setterName import org.jetbrains.kotlin.psi.KtDeclaration @@ -31,14 +31,14 @@ import org.jetbrains.kotlin.psi.KtParameter import org.jetbrains.kotlin.utils.addToStdlib.ifTrue context(KtAnalysisSession) -internal class FirLightAccessorMethodForSymbol( +internal class SymbolLightAccessorMethod( private val propertyAccessorSymbol: KtPropertyAccessorSymbol, private val containingPropertySymbol: KtPropertySymbol, lightMemberOrigin: LightMemberOrigin?, - containingClass: FirLightClassBase, + containingClass: SymbolLightClassBase, private val isTopLevel: Boolean, private val suppressStatic: Boolean = false, -) : FirLightMethod( +) : SymbolLightMethodBase( lightMemberOrigin, containingClass, if (propertyAccessorSymbol is KtPropertyGetterSymbol) METHOD_INDEX_FOR_GETTER else METHOD_INDEX_FOR_SETTER @@ -73,7 +73,7 @@ internal class FirLightAccessorMethodForSymbol( if (propertyAccessorSymbol is KtPropertyGetterSymbol) AnnotationUseSiteTarget.PROPERTY_GETTER else AnnotationUseSiteTarget.PROPERTY_SETTER - //TODO Fix it when KtFirConstructorValueParameterSymbol be ready + //TODO Fix it when SymbolConstructorValueParameter be ready private val isParameter: Boolean get() = containingPropertySymbol.psi.let { it == null || it is KtParameter } private fun computeAnnotations(isPrivate: Boolean): List { @@ -135,7 +135,7 @@ internal class FirLightAccessorMethodForSymbol( private val _modifierList: PsiModifierList by lazyPub { val modifiers = computeModifiers() val annotations = computeAnnotations(modifiers.contains(PsiModifier.PRIVATE)) - FirLightMemberModifierList(this, modifiers, annotations) + SymbolLightMemberModifierList(this, modifiers, annotations) } override fun getModifierList(): PsiModifierList = _modifierList @@ -149,7 +149,7 @@ internal class FirLightAccessorMethodForSymbol( override fun isDeprecated(): Boolean = _isDeprecated private val _identifier: PsiIdentifier by lazyPub { - FirLightIdentifier(this, containingPropertySymbol) + SymbolLightIdentifier(this, containingPropertySymbol) } override fun getNameIdentifier(): PsiIdentifier = _identifier @@ -157,7 +157,7 @@ internal class FirLightAccessorMethodForSymbol( private val _returnedType: PsiType by lazyPub { if (!isGetter) return@lazyPub PsiType.VOID containingPropertySymbol.returnType.asPsiType( - this@FirLightAccessorMethodForSymbol, + this@SymbolLightAccessorMethod, KtTypeMappingMode.RETURN_TYPE, containingClass.isAnnotationType ) ?: nonExistentType() @@ -167,7 +167,7 @@ internal class FirLightAccessorMethodForSymbol( override fun equals(other: Any?): Boolean = this === other || - (other is FirLightAccessorMethodForSymbol && + (other is SymbolLightAccessorMethod && isGetter == other.isGetter && kotlinOrigin == other.kotlinOrigin && propertyAccessorSymbol == other.propertyAccessorSymbol) @@ -176,12 +176,12 @@ internal class FirLightAccessorMethodForSymbol( private val _parametersList by lazyPub { - FirLightParameterList(this, containingPropertySymbol) { builder -> + SymbolLightParameterList(this, containingPropertySymbol) { builder -> val propertyParameter = (propertyAccessorSymbol as? KtPropertySetterSymbol)?.parameter if (propertyParameter != null) { builder.addParameter( - FirLightSetterParameterForSymbol( - containingPropertySymbol, propertyParameter, this@FirLightAccessorMethodForSymbol + SymbolLightSetterParameter( + containingPropertySymbol, propertyParameter, this@SymbolLightAccessorMethod ) ) } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightConstructorForSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightConstructor.kt similarity index 83% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightConstructorForSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightConstructor.kt index f5e73ec5365..5a09741f7ed 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightConstructorForSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightConstructor.kt @@ -14,18 +14,18 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.light.classes.symbol.NullabilityType import org.jetbrains.kotlin.light.classes.symbol.annotations.computeAnnotations import org.jetbrains.kotlin.light.classes.symbol.annotations.hasDeprecatedAnnotation -import org.jetbrains.kotlin.light.classes.symbol.classes.FirLightClassBase -import org.jetbrains.kotlin.light.classes.symbol.classes.FirLightClassForEnumEntry -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightMemberModifierList +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassBase +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForEnumEntry +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList import org.jetbrains.kotlin.light.classes.symbol.toPsiVisibilityForMember context(KtAnalysisSession) -internal class FirLightConstructorForSymbol( +internal class SymbolLightConstructor( private val constructorSymbol: KtConstructorSymbol, lightMemberOrigin: LightMemberOrigin?, - containingClass: FirLightClassBase, + containingClass: SymbolLightClassBase, methodIndex: Int, -) : FirLightMethodForSymbol(constructorSymbol, lightMemberOrigin, containingClass, methodIndex) { +) : SymbolLightMethod(constructorSymbol, lightMemberOrigin, containingClass, methodIndex) { private val _name: String? = containingClass.name @@ -56,14 +56,14 @@ internal class FirLightConstructorForSymbol( // On the other hand, FE 1.0 doesn't add anything; then ULC adds default ctor w/ package local visibility. // Technically, an enum entry should not be instantiated anywhere else, and thus FIR's modeling makes sense. // But, to be backward compatible, we manually force the visibility of enum entry ctor to be package private. - if (containingClass is FirLightClassForEnumEntry) + if (containingClass is SymbolLightClassForEnumEntry) setOf(PsiModifier.PACKAGE_LOCAL) else setOf(constructorSymbol.toPsiVisibilityForMember(isTopLevel = false)) } private val _modifierList: PsiModifierList by lazyPub { - FirLightMemberModifierList(this, _modifiers, _annotations) + SymbolLightMemberModifierList(this, _modifiers, _annotations) } override fun getModifierList(): PsiModifierList = _modifierList @@ -72,7 +72,7 @@ internal class FirLightConstructorForSymbol( override fun equals(other: Any?): Boolean = this === other || - (other is FirLightConstructorForSymbol && + (other is SymbolLightConstructor && kotlinOrigin == other.kotlinOrigin && constructorSymbol == other.constructorSymbol) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightMethodForSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethod.kt similarity index 71% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightMethodForSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethod.kt index 57d45354e4d..2b788200e4e 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightMethodForSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethod.kt @@ -13,22 +13,22 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionLikeSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin import org.jetbrains.kotlin.asJava.classes.lazyPub -import org.jetbrains.kotlin.light.classes.symbol.FirLightIdentifier -import org.jetbrains.kotlin.light.classes.symbol.classes.FirLightClassBase -import org.jetbrains.kotlin.light.classes.symbol.parameters.FirLightParameterForSymbol -import org.jetbrains.kotlin.light.classes.symbol.parameters.FirLightParameterList -import org.jetbrains.kotlin.light.classes.symbol.parameters.FirLightSuspendContinuationParameter +import org.jetbrains.kotlin.light.classes.symbol.SymbolLightIdentifier +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassBase +import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightParameter +import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightParameterList +import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightSuspendContinuationParameter import org.jetbrains.kotlin.psi.KtDeclaration import java.util.* context(KtAnalysisSession) -internal abstract class FirLightMethodForSymbol( +internal abstract class SymbolLightMethod( private val functionSymbol: KtFunctionLikeSymbol, lightMemberOrigin: LightMemberOrigin?, - containingClass: FirLightClassBase, + containingClass: SymbolLightClassBase, methodIndex: Int, argumentsSkipMask: BitSet? = null -) : FirLightMethod( +) : SymbolLightMethodBase( lightMemberOrigin, containingClass, methodIndex @@ -38,23 +38,23 @@ internal abstract class FirLightMethodForSymbol( override fun isVarArgs(): Boolean = _isVarArgs private val _parametersList by lazyPub { - FirLightParameterList(this, functionSymbol) { builder -> + SymbolLightParameterList(this, functionSymbol) { builder -> functionSymbol.valueParameters.mapIndexed { index, parameter -> val needToSkip = argumentsSkipMask?.get(index) == true if (!needToSkip) { builder.addParameter( - FirLightParameterForSymbol( + SymbolLightParameter( parameterSymbol = parameter, - containingMethod = this@FirLightMethodForSymbol + containingMethod = this@SymbolLightMethod ) ) } } if ((functionSymbol as? KtFunctionSymbol)?.isSuspend == true) { builder.addParameter( - FirLightSuspendContinuationParameter( + SymbolLightSuspendContinuationParameter( functionSymbol = functionSymbol, - containingMethod = this@FirLightMethodForSymbol + containingMethod = this@SymbolLightMethod ) ) } @@ -62,7 +62,7 @@ internal abstract class FirLightMethodForSymbol( } private val _identifier: PsiIdentifier by lazyPub { - FirLightIdentifier(this, functionSymbol) + SymbolLightIdentifier(this, functionSymbol) } override fun getNameIdentifier(): PsiIdentifier = _identifier diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightMethod.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethodBase.kt similarity index 93% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightMethod.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethodBase.kt index 4de881e9569..d1bb1c30fee 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightMethod.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethodBase.kt @@ -25,19 +25,19 @@ import org.jetbrains.kotlin.asJava.elements.KtLightMethod import org.jetbrains.kotlin.asJava.mangleInternalName import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget -import org.jetbrains.kotlin.light.classes.symbol.FirLightMemberImpl +import org.jetbrains.kotlin.light.classes.symbol.SymbolLightMemberBase import org.jetbrains.kotlin.light.classes.symbol.annotations.getJvmNameFromAnnotation import org.jetbrains.kotlin.light.classes.symbol.annotations.hasPublishedApiAnnotation -import org.jetbrains.kotlin.light.classes.symbol.classes.FirLightClassBase +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassBase import org.jetbrains.kotlin.light.classes.symbol.tryGetEffectiveVisibility import org.jetbrains.kotlin.utils.addToStdlib.ifTrue context(KtAnalysisSession) -internal abstract class FirLightMethod( +internal abstract class SymbolLightMethodBase( lightMemberOrigin: LightMemberOrigin?, containingClass: KtLightClass, private val methodIndex: Int -) : FirLightMemberImpl(lightMemberOrigin, containingClass), KtLightMethod { +) : SymbolLightMemberBase(lightMemberOrigin, containingClass), KtLightMethod { override fun getBody(): PsiCodeBlock? = null @@ -92,7 +92,7 @@ internal abstract class FirLightMethod( protected fun T.computeJvmMethodName( defaultName: String, - containingClass: FirLightClassBase, + containingClass: SymbolLightClassBase, annotationUseSiteTarget: AnnotationUseSiteTarget? = null ): String where T : KtAnnotatedSymbol, T : KtSymbolWithVisibility, T : KtCallableSymbol { getJvmNameFromAnnotation(annotationUseSiteTarget)?.let { return it } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightNoArgConstructor.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightNoArgConstructor.kt similarity index 72% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightNoArgConstructor.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightNoArgConstructor.kt index 50a3ab62f27..1494b98d6bd 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightNoArgConstructor.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightNoArgConstructor.kt @@ -9,18 +9,18 @@ import com.intellij.psi.* import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin import org.jetbrains.kotlin.asJava.classes.lazyPub -import org.jetbrains.kotlin.light.classes.symbol.FirLightIdentifier -import org.jetbrains.kotlin.light.classes.symbol.classes.FirLightClassBase -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightMemberModifierList -import org.jetbrains.kotlin.light.classes.symbol.parameters.FirLightParameterList +import org.jetbrains.kotlin.light.classes.symbol.SymbolLightIdentifier +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassBase +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList +import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightParameterList context(KtAnalysisSession) -internal class FirLightNoArgConstructor( +internal class SymbolLightNoArgConstructor( lightMemberOrigin: LightMemberOrigin?, - containingClass: FirLightClassBase, + containingClass: SymbolLightClassBase, visibility: String, methodIndex: Int, -) : FirLightMethod(lightMemberOrigin, containingClass, methodIndex) { +) : SymbolLightMethodBase(lightMemberOrigin, containingClass, methodIndex) { private val _name: String? = containingClass.name override fun getName(): String = _name ?: "" @@ -32,7 +32,7 @@ internal class FirLightNoArgConstructor( override fun getTypeParameters(): Array = PsiTypeParameter.EMPTY_ARRAY private val _identifier: PsiIdentifier by lazyPub { - FirLightIdentifier(this, firSymbol = null) + SymbolLightIdentifier(this, ktSymbol = null) } override fun getNameIdentifier(): PsiIdentifier = _identifier @@ -44,13 +44,13 @@ internal class FirLightNoArgConstructor( } private val _modifierList: PsiModifierList by lazyPub { - FirLightMemberModifierList(this, _modifiers, emptyList()) + SymbolLightMemberModifierList(this, _modifiers, emptyList()) } override fun getModifierList(): PsiModifierList = _modifierList private val _parameterList: PsiParameterList by lazyPub { - FirLightParameterList(this, callableSymbol = null) {} + SymbolLightParameterList(this, callableSymbol = null) {} } override fun getParameterList(): PsiParameterList = _parameterList @@ -59,7 +59,7 @@ internal class FirLightNoArgConstructor( override fun equals(other: Any?): Boolean = this === other || - (other is FirLightNoArgConstructor && + (other is SymbolLightNoArgConstructor && kotlinOrigin == other.kotlinOrigin && containingClass == other.containingClass) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightSimpleMethodForSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightSimpleMethod.kt similarity index 90% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightSimpleMethodForSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightSimpleMethod.kt index fd9fc4ea485..ce05eb72b63 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/FirLightSimpleMethodForSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightSimpleMethod.kt @@ -15,23 +15,24 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.light.classes.symbol.* import org.jetbrains.kotlin.light.classes.symbol.annotations.* -import org.jetbrains.kotlin.light.classes.symbol.classes.FirLightClassBase -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightMemberModifierList +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassBase +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList +import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightTypeParameterList import org.jetbrains.kotlin.name.JvmNames.STRICTFP_ANNOTATION_CLASS_ID import org.jetbrains.kotlin.name.JvmNames.SYNCHRONIZED_ANNOTATION_CLASS_ID import org.jetbrains.kotlin.utils.addToStdlib.ifTrue import java.util.* context(KtAnalysisSession) -internal class FirLightSimpleMethodForSymbol( +internal class SymbolLightSimpleMethod( private val functionSymbol: KtFunctionSymbol, lightMemberOrigin: LightMemberOrigin?, - containingClass: FirLightClassBase, + containingClass: SymbolLightClassBase, methodIndex: Int, private val isTopLevel: Boolean, argumentsSkipMask: BitSet? = null, private val suppressStatic: Boolean = false -) : FirLightMethodForSymbol( +) : SymbolLightMethod( functionSymbol = functionSymbol, lightMemberOrigin = lightMemberOrigin, containingClass = containingClass, @@ -47,7 +48,7 @@ internal class FirLightSimpleMethodForSymbol( private val _typeParameterList: PsiTypeParameterList? by lazyPub { hasTypeParameters().ifTrue { - FirLightTypeParameterListForSymbol( + SymbolLightTypeParameterList( owner = this, symbolWithTypeParameterList = functionSymbol, ) @@ -131,7 +132,7 @@ internal class FirLightSimpleMethodForSymbol( private val _modifierList: PsiModifierList by lazyPub { val modifiers = computeModifiers() val annotations = computeAnnotations(modifiers.contains(PsiModifier.PRIVATE)) - FirLightMemberModifierList(this, modifiers, annotations) + SymbolLightMemberModifierList(this, modifiers, annotations) } override fun getModifierList(): PsiModifierList = _modifierList @@ -155,7 +156,7 @@ internal class FirLightSimpleMethodForSymbol( functionSymbol.returnType } ktType.asPsiType( - this@FirLightSimpleMethodForSymbol, + this@SymbolLightSimpleMethod, KtTypeMappingMode.RETURN_TYPE, containingClass.isAnnotationType ) ?: nonExistentType() @@ -164,7 +165,7 @@ internal class FirLightSimpleMethodForSymbol( override fun getReturnType(): PsiType = _returnedType override fun equals(other: Any?): Boolean = - this === other || (other is FirLightSimpleMethodForSymbol && functionSymbol == other.functionSymbol) + this === other || (other is SymbolLightSimpleMethod && functionSymbol == other.functionSymbol) override fun hashCode(): Int = functionSymbol.hashCode() diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/FirLightClassModifierList.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SymbolLightClassModifierList.kt similarity index 89% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/FirLightClassModifierList.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SymbolLightClassModifierList.kt index c0a0b27a911..4348705ce78 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/FirLightClassModifierList.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SymbolLightClassModifierList.kt @@ -13,11 +13,11 @@ import org.jetbrains.kotlin.asJava.elements.KtLightElementBase import org.jetbrains.kotlin.light.classes.symbol.invalidAccess import org.jetbrains.kotlin.psi.KtModifierListOwner -internal class FirLightClassModifierList>( +internal class SymbolLightClassModifierList>( containingDeclaration: T, private val modifiers: Set, private val annotations: List -) : FirLightModifierList(containingDeclaration) { +) : SymbolLightModifierList(containingDeclaration) { init { annotations.forEach { (it as? KtLightElementBase)?.parent = this diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/FirLightMemberModifierList.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SymbolLightMemberModifierList.kt similarity index 86% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/FirLightMemberModifierList.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SymbolLightMemberModifierList.kt index caf092b1fce..8ad37ae5269 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/FirLightMemberModifierList.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SymbolLightMemberModifierList.kt @@ -11,14 +11,14 @@ import org.jetbrains.kotlin.asJava.elements.KtLightAbstractAnnotation import org.jetbrains.kotlin.asJava.elements.KtLightElementBase import org.jetbrains.kotlin.asJava.elements.KtLightMember import org.jetbrains.kotlin.light.classes.symbol.invalidAccess -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightMethod +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase import org.jetbrains.kotlin.psi.psiUtil.hasBody -internal class FirLightMemberModifierList>( +internal class SymbolLightMemberModifierList>( containingDeclaration: T, private val modifiers: Set, private val annotations: List -) : FirLightModifierList(containingDeclaration) { +) : SymbolLightModifierList(containingDeclaration) { init { annotations.forEach { (it as? KtLightElementBase)?.parent = this @@ -38,7 +38,7 @@ internal class FirLightMemberModifierList>( } private fun isImplementationInInterface(): Boolean { - return owner.containingClass.isInterface && owner is FirLightMethod && owner.kotlinOrigin?.hasBody() == true + return owner.containingClass.isInterface && owner is SymbolLightMethodBase && owner.kotlinOrigin?.hasBody() == true } override fun hasExplicitModifier(name: String): Boolean { diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/FirLightModifierList.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SymbolLightModifierList.kt similarity index 91% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/FirLightModifierList.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SymbolLightModifierList.kt index 55e88c9b776..db5a9733824 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/FirLightModifierList.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SymbolLightModifierList.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.asJava.elements.KtLightElementBase import org.jetbrains.kotlin.psi.KtModifierList import org.jetbrains.kotlin.psi.KtModifierListOwner -internal abstract class FirLightModifierList>( +internal abstract class SymbolLightModifierList>( protected val owner: T ) : KtLightElementBase(owner), PsiModifierList, KtLightElement { @@ -37,7 +37,7 @@ internal abstract class FirLightModifierList && owner == another.owner + another is SymbolLightModifierList<*> && owner == another.owner override fun isWritable() = false diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameterForSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameter.kt similarity index 80% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameterForSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameter.kt index c564f8ad3c6..3bfdec25e5c 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameterForSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameter.kt @@ -14,15 +14,15 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget import org.jetbrains.kotlin.light.classes.symbol.NullabilityType import org.jetbrains.kotlin.light.classes.symbol.annotations.computeAnnotations -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightMethod -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightClassModifierList +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList import org.jetbrains.kotlin.utils.addToStdlib.ifTrue context(KtAnalysisSession) -internal class FirLightParameterForSymbol( +internal class SymbolLightParameter( private val parameterSymbol: KtValueParameterSymbol, - containingMethod: FirLightMethod -) : FirLightParameterBaseForSymbol(parameterSymbol, containingMethod) { + containingMethod: SymbolLightMethodBase +) : SymbolLightParameterCommon(parameterSymbol, containingMethod) { private val isConstructorParameterSymbol = containingMethod.isConstructor @@ -44,14 +44,14 @@ internal class FirLightParameterForSymbol( override fun getModifierList(): PsiModifierList = _modifierList private val _modifierList: PsiModifierList by lazyPub { - FirLightClassModifierList(this, emptySet(), _annotations) + SymbolLightClassModifierList(this, emptySet(), _annotations) } override fun isVarArgs() = parameterSymbol.isVararg override fun equals(other: Any?): Boolean = this === other || - (other is FirLightParameterForSymbol && parameterSymbol == other.parameterSymbol) + (other is SymbolLightParameter && parameterSymbol == other.parameterSymbol) override fun hashCode(): Int = kotlinOrigin.hashCode() diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameter.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterBase.kt similarity index 89% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameter.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterBase.kt index 72628165073..58296bca5d7 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameter.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterBase.kt @@ -13,10 +13,10 @@ import com.intellij.util.IncorrectOperationException import org.jetbrains.kotlin.asJava.elements.* import org.jetbrains.kotlin.light.classes.symbol.basicIsEquivalentTo import org.jetbrains.kotlin.light.classes.symbol.invalidAccess -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightMethod +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase import org.jetbrains.kotlin.psi.KtParameter -internal abstract class FirLightParameter(containingDeclaration: FirLightMethod) : PsiVariable, NavigationItem, +internal abstract class SymbolLightParameterBase(containingDeclaration: SymbolLightMethodBase) : PsiVariable, NavigationItem, KtLightElement, KtLightParameter, KtLightElementBase(containingDeclaration) { override val givenAnnotations: List @@ -49,7 +49,7 @@ internal abstract class FirLightParameter(containingDeclaration: FirLightMethod) } } - override fun toString(): String = "Fir Light Parameter $name" + override fun toString(): String = "${this::class.simpleName}:$name" override fun isEquivalentTo(another: PsiElement?): Boolean = basicIsEquivalentTo(this, another as? PsiParameter) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameterBaseForSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterCommon.kt similarity index 85% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameterBaseForSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterCommon.kt index d90588df28b..aeefc1024fa 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameterBaseForSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterCommon.kt @@ -10,18 +10,18 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.symbols.KtValueParameterSymbol import org.jetbrains.kotlin.analysis.api.types.KtTypeMappingMode import org.jetbrains.kotlin.asJava.classes.lazyPub -import org.jetbrains.kotlin.light.classes.symbol.FirLightIdentifier import org.jetbrains.kotlin.light.classes.symbol.NullabilityType +import org.jetbrains.kotlin.light.classes.symbol.SymbolLightIdentifier import org.jetbrains.kotlin.light.classes.symbol.getTypeNullability -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightMethod +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase import org.jetbrains.kotlin.light.classes.symbol.nonExistentType import org.jetbrains.kotlin.psi.KtParameter context(KtAnalysisSession) -internal abstract class FirLightParameterBaseForSymbol( +internal abstract class SymbolLightParameterCommon( private val parameterSymbol: KtValueParameterSymbol, - private val containingMethod: FirLightMethod -) : FirLightParameter(containingMethod) { + private val containingMethod: SymbolLightMethodBase +) : SymbolLightParameterBase(containingMethod) { private val _name: String = parameterSymbol.name.asString() override fun getName(): String = _name @@ -33,7 +33,7 @@ internal abstract class FirLightParameterBaseForSymbol( abstract override fun getModifierList(): PsiModifierList private val _identifier: PsiIdentifier by lazyPub { - FirLightIdentifier(this, parameterSymbol) + SymbolLightIdentifier(this, parameterSymbol) } protected val nullabilityType: NullabilityType @@ -56,7 +56,7 @@ internal abstract class FirLightParameterBaseForSymbol( // TODO: methods with declaration site wildcards? else -> KtTypeMappingMode.VALUE_PARAMETER } - ktType.asPsiType(this@FirLightParameterBaseForSymbol, typeMappingMode) + ktType.asPsiType(this@SymbolLightParameterCommon, typeMappingMode) } ?: nonExistentType() if (parameterSymbol.isVararg) { PsiEllipsisType(convertedType, convertedType.annotationProvider) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameterForReceiver.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterForReceiver.kt similarity index 77% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameterForReceiver.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterForReceiver.kt index a6d7ea37197..e7777a8ac16 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameterForReceiver.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterForReceiver.kt @@ -18,32 +18,32 @@ import org.jetbrains.kotlin.analysis.api.symbols.markers.KtNamedSymbol import org.jetbrains.kotlin.analysis.api.types.KtType import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.codegen.AsmUtil -import org.jetbrains.kotlin.light.classes.symbol.annotations.FirLightAnnotationForAnnotationCall -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightMethod -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightClassModifierList +import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolLightAnnotationForAnnotationCall +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList import org.jetbrains.kotlin.light.classes.symbol.nonExistentType import org.jetbrains.kotlin.psi.KtParameter context(KtAnalysisSession) -internal class FirLightParameterForReceiver private constructor( +internal class SymbolLightParameterForReceiver private constructor( private val receiverType: KtType, private val context: KtSymbol, methodName: String, - method: FirLightMethod -) : FirLightParameter(method) { + method: SymbolLightMethodBase +) : SymbolLightParameterBase(method) { companion object { context (KtAnalysisSession) fun tryGet( callableSymbol: KtCallableSymbol, - method: FirLightMethod - ): FirLightParameterForReceiver? { + method: SymbolLightMethodBase + ): SymbolLightParameterForReceiver? { if (callableSymbol !is KtNamedSymbol) return null if (!callableSymbol.isExtension) return null val extensionTypeAndAnnotations = callableSymbol.receiverType ?: return null - return FirLightParameterForReceiver( + return SymbolLightParameterForReceiver( receiverType = extensionTypeAndAnnotations, context = callableSymbol, methodName = callableSymbol.name.asString(), @@ -67,24 +67,24 @@ internal class FirLightParameterForReceiver private constructor( private val _annotations: List by lazyPub { receiverType.annotations.map { - FirLightAnnotationForAnnotationCall(it, this) + SymbolLightAnnotationForAnnotationCall(it, this) } } override fun getModifierList(): PsiModifierList = _modifierList private val _modifierList: PsiModifierList by lazyPub { - FirLightClassModifierList(this, emptySet(), _annotations) + SymbolLightClassModifierList(this, emptySet(), _annotations) } private val _type: PsiType by lazyPub { - receiverType.asPsiType(this@FirLightParameterForReceiver) ?: nonExistentType() + receiverType.asPsiType(this@SymbolLightParameterForReceiver) ?: nonExistentType() } override fun getType(): PsiType = _type override fun equals(other: Any?): Boolean = this === other || - (other is FirLightParameterForReceiver && + (other is SymbolLightParameterForReceiver && receiverType == other.receiverType) override fun hashCode(): Int = kotlinOrigin.hashCode() diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameterList.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterList.kt similarity index 83% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameterList.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterList.kt index 30b1afa1826..f4c26ae8ae6 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightParameterList.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterList.kt @@ -13,17 +13,17 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.asJava.elements.KtLightElement import org.jetbrains.kotlin.asJava.elements.KtLightElementBase -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightMethod +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase import org.jetbrains.kotlin.psi.KtFunction import org.jetbrains.kotlin.psi.KtParameterList context(KtAnalysisSession) -internal class FirLightParameterList( - private val parent: FirLightMethod, +internal class SymbolLightParameterList( + private val parent: SymbolLightMethodBase, private val callableSymbol: KtCallableSymbol?, parameterPopulator: (LightParameterListBuilder) -> Unit, ) : KtLightElement, - // With this, a parent chain is properly built: from FirLightParameter through FirLightParameterList to FirLightMethod + // With this, a parent chain is properly built: from SymbolLightParameter through SymbolLightParameterList to SymbolLightMethod KtLightElementBase(parent), // NB: we can't use delegation here, which will conflict getTextRange from KtLightElementBase PsiParameterList { @@ -35,7 +35,7 @@ internal class FirLightParameterList( val builder = LightParameterListBuilder(manager, language) callableSymbol?.let { - FirLightParameterForReceiver.tryGet(it, parent)?.let { receiver -> + SymbolLightParameterForReceiver.tryGet(it, parent)?.let { receiver -> builder.addParameter(receiver) } } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightSetterParameterForSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightSetterParameter.kt similarity index 80% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightSetterParameterForSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightSetterParameter.kt index a73fd5ec926..9089e838945 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightSetterParameterForSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightSetterParameter.kt @@ -15,15 +15,15 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget import org.jetbrains.kotlin.light.classes.symbol.NullabilityType import org.jetbrains.kotlin.light.classes.symbol.annotations.computeAnnotations -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightMethod -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightClassModifierList +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList context(KtAnalysisSession) -internal class FirLightSetterParameterForSymbol( +internal class SymbolLightSetterParameter( private val containingPropertySymbol: KtPropertySymbol, private val parameterSymbol: KtValueParameterSymbol, - containingMethod: FirLightMethod -) : FirLightParameterBaseForSymbol(parameterSymbol, containingMethod) { + containingMethod: SymbolLightMethodBase +) : SymbolLightParameterCommon(parameterSymbol, containingMethod) { private val _annotations: List by lazyPub { val annotationsFromSetter = parameterSymbol.computeAnnotations( @@ -44,14 +44,14 @@ internal class FirLightSetterParameterForSymbol( override fun getModifierList(): PsiModifierList = _modifierList private val _modifierList: PsiModifierList by lazyPub { - FirLightClassModifierList(this, emptySet(), _annotations) + SymbolLightClassModifierList(this, emptySet(), _annotations) } override fun isVarArgs() = false override fun equals(other: Any?): Boolean = this === other || - (other is FirLightSetterParameterForSymbol && parameterSymbol == other.parameterSymbol) + (other is SymbolLightSetterParameter && parameterSymbol == other.parameterSymbol) override fun hashCode(): Int = kotlinOrigin.hashCode() diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightSuspendContinuationParameter.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightSuspendContinuationParameter.kt similarity index 73% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightSuspendContinuationParameter.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightSuspendContinuationParameter.kt index bf9ccd51248..675334a1ebf 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightSuspendContinuationParameter.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightSuspendContinuationParameter.kt @@ -16,25 +16,25 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol import org.jetbrains.kotlin.analysis.api.symbols.markers.isPrivateOrPrivateToThis import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.codegen.coroutines.SUSPEND_FUNCTION_COMPLETION_PARAMETER_NAME -import org.jetbrains.kotlin.light.classes.symbol.FirLightIdentifier -import org.jetbrains.kotlin.light.classes.symbol.annotations.FirLightSimpleAnnotation -import org.jetbrains.kotlin.light.classes.symbol.methods.FirLightMethod -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightClassModifierList +import org.jetbrains.kotlin.light.classes.symbol.SymbolLightIdentifier +import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolLightSimpleAnnotation +import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList import org.jetbrains.kotlin.light.classes.symbol.nonExistentType import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.psi.KtParameter context(KtAnalysisSession) -internal class FirLightSuspendContinuationParameter( +internal class SymbolLightSuspendContinuationParameter( private val functionSymbol: KtFunctionSymbol, - private val containingMethod: FirLightMethod, -) : FirLightParameter(containingMethod) { + private val containingMethod: SymbolLightMethodBase, +) : SymbolLightParameterBase(containingMethod) { override fun getName(): String = SUSPEND_FUNCTION_COMPLETION_PARAMETER_NAME override fun getNameIdentifier(): PsiIdentifier = _identifier private val _identifier: PsiIdentifier by lazyPub { - FirLightIdentifier(this, functionSymbol) + SymbolLightIdentifier(this, functionSymbol) } override fun getType(): PsiType = _type @@ -53,9 +53,9 @@ internal class FirLightSuspendContinuationParameter( val annotations = if (functionSymbol.visibility.isPrivateOrPrivateToThis()) emptyList() else listOf( - FirLightSimpleAnnotation(NotNull::class.java.name, this@FirLightSuspendContinuationParameter) + SymbolLightSimpleAnnotation(NotNull::class.java.name, this@SymbolLightSuspendContinuationParameter) ) - FirLightClassModifierList(this, emptySet(), annotations) + SymbolLightClassModifierList(this, emptySet(), annotations) } override fun hasModifierProperty(p0: String): Boolean = false @@ -64,7 +64,7 @@ internal class FirLightSuspendContinuationParameter( override fun equals(other: Any?): Boolean = this === other || - (other is FirLightSuspendContinuationParameter && functionSymbol == other.functionSymbol) + (other is SymbolLightSuspendContinuationParameter && functionSymbol == other.functionSymbol) override fun hashCode(): Int = functionSymbol.hashCode() * 31 + containingMethod.hashCode() diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightTypeParameter.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameter.kt similarity index 93% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightTypeParameter.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameter.kt index 711285a8ef4..de00cce9ecb 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/FirLightTypeParameter.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameter.kt @@ -24,7 +24,6 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.asJava.elements.KtLightAbstractAnnotation import org.jetbrains.kotlin.asJava.elements.KtLightDeclaration import org.jetbrains.kotlin.idea.KotlinLanguage -import org.jetbrains.kotlin.light.classes.symbol.FirLightTypeParameterListForSymbol import org.jetbrains.kotlin.light.classes.symbol.basicIsEquivalentTo import org.jetbrains.kotlin.light.classes.symbol.invalidAccess import org.jetbrains.kotlin.light.classes.symbol.mapSuperType @@ -33,8 +32,8 @@ import org.jetbrains.kotlin.psi.KtTypeParameter import org.jetbrains.kotlin.psi.psiUtil.startOffset context(KtAnalysisSession) -internal class FirLightTypeParameter( - private val parent: FirLightTypeParameterListForSymbol, +internal class SymbolLightTypeParameter( + private val parent: SymbolLightTypeParameterList, private val index: Int, private val typeParameterSymbol: KtTypeParameterSymbol ) : LightElement(parent.manager, KotlinLanguage.INSTANCE), PsiTypeParameter, @@ -45,7 +44,7 @@ internal class FirLightTypeParameter( override val kotlinOrigin: KtTypeParameter? = typeParameterSymbol.psi as? KtTypeParameter override fun copy(): PsiElement = - FirLightTypeParameter(parent, index, typeParameterSymbol) + SymbolLightTypeParameter(parent, index, typeParameterSymbol) override fun accept(visitor: PsiElementVisitor) { if (visitor is JavaElementVisitor) { @@ -72,7 +71,7 @@ internal class FirLightTypeParameter( } } .mapNotNull { - mapSuperType(it, this@FirLightTypeParameter, kotlinCollectionAsIs = true) + mapSuperType(it, this@SymbolLightTypeParameter, kotlinCollectionAsIs = true) } .forEach { listBuilder.addReference(it) } @@ -142,7 +141,7 @@ internal class FirLightTypeParameter( override fun getIndex(): Int = index override fun getApplicableAnnotations(): Array = PsiAnnotation.EMPTY_ARRAY //TODO - override fun toString(): String = "FirLightTypeParameter:$name" + override fun toString(): String = "SymbolLightTypeParameter:$name" override fun getNavigationElement(): PsiElement = kotlinOrigin ?: parent.navigationElement @@ -154,7 +153,7 @@ internal class FirLightTypeParameter( override fun equals(other: Any?): Boolean = this === other || - (other is FirLightTypeParameter && index == other.index && typeParameterSymbol == other.typeParameterSymbol) + (other is SymbolLightTypeParameter && index == other.index && typeParameterSymbol == other.typeParameterSymbol) override fun hashCode(): Int = typeParameterSymbol.hashCode() + index diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/FirLightTypeParameterListForSymbol.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameterList.kt similarity index 82% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/FirLightTypeParameterListForSymbol.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameterList.kt index 125785e4938..0abfcf0f91e 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/FirLightTypeParameterListForSymbol.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameterList.kt @@ -3,7 +3,7 @@ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.light.classes.symbol +package org.jetbrains.kotlin.light.classes.symbol.parameters import com.intellij.psi.* import com.intellij.psi.impl.light.LightElement @@ -12,10 +12,10 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithTypeParameters import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.idea.KotlinLanguage -import org.jetbrains.kotlin.light.classes.symbol.parameters.FirLightTypeParameter +import org.jetbrains.kotlin.light.classes.symbol.basicIsEquivalentTo context(KtAnalysisSession) -internal class FirLightTypeParameterListForSymbol( +internal class SymbolLightTypeParameterList( internal val owner: PsiTypeParameterListOwner, private val symbolWithTypeParameterList: KtSymbolWithTypeParameters, ) : LightElement(owner.manager, KotlinLanguage.INSTANCE), PsiTypeParameterList { @@ -39,8 +39,8 @@ internal class FirLightTypeParameterListForSymbol( private val _typeParameters: Array by lazyPub { symbolWithTypeParameterList.typeParameters.mapIndexed { index, parameter -> - FirLightTypeParameter( - parent = this@FirLightTypeParameterListForSymbol, + SymbolLightTypeParameter( + parent = this@SymbolLightTypeParameterList, index = index, typeParameterSymbol = parameter ) @@ -52,11 +52,11 @@ internal class FirLightTypeParameterListForSymbol( override fun getTypeParameterIndex(typeParameter: PsiTypeParameter?): Int = _typeParameters.indexOf(typeParameter) - override fun toString(): String = "FirLightTypeParameterList" + override fun toString(): String = "SymbolLightTypeParameterList" override fun equals(other: Any?): Boolean = this === other || - (other is FirLightTypeParameterListForSymbol && symbolWithTypeParameterList == other.symbolWithTypeParameterList) + (other is SymbolLightTypeParameterList && symbolWithTypeParameterList == other.symbolWithTypeParameterList) override fun hashCode(): Int = symbolWithTypeParameterList.hashCode() diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/firLightUtils.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/symbolLightUtils.kt similarity index 92% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/firLightUtils.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/symbolLightUtils.kt index 628c2bfcac0..6884269765b 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/firLightUtils.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/symbolLightUtils.kt @@ -25,16 +25,16 @@ import org.jetbrains.kotlin.asJava.elements.psiType import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.descriptors.Visibility -import org.jetbrains.kotlin.light.classes.symbol.annotations.FirLightSimpleAnnotation -import org.jetbrains.kotlin.light.classes.symbol.annotations.FirPsiArrayInitializerMemberValue -import org.jetbrains.kotlin.light.classes.symbol.annotations.FirPsiExpression -import org.jetbrains.kotlin.light.classes.symbol.annotations.FirPsiLiteral +import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolLightSimpleAnnotation +import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolPsiArrayInitializerMemberValue +import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolPsiExpression +import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolPsiLiteral import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.SpecialNames import java.util.* internal fun L.invalidAccess(): Nothing = - error("Cls delegate shouldn't be accessed for fir light classes! Qualified name: ${javaClass.name}") + error("Cls delegate shouldn't be accessed for symbol light classes! Qualified name: ${javaClass.name}") internal fun KtAnalysisSession.mapSuperType( @@ -200,12 +200,12 @@ private fun escapeString(str: String): String = buildString { internal fun KtAnnotationValue.toAnnotationMemberValue(parent: PsiElement): PsiAnnotationMemberValue? { return when (this) { is KtArrayAnnotationValue -> - FirPsiArrayInitializerMemberValue(sourcePsi, parent) { arrayLiteralParent -> + SymbolPsiArrayInitializerMemberValue(sourcePsi, parent) { arrayLiteralParent -> values.mapNotNull { element -> element.toAnnotationMemberValue(arrayLiteralParent) } } is KtAnnotationApplicationValue -> - FirLightSimpleAnnotation( + SymbolLightSimpleAnnotation( annotationValue.classId?.relativeClassName?.asString(), parent, annotationValue.arguments, @@ -215,8 +215,8 @@ internal fun KtAnnotationValue.toAnnotationMemberValue(parent: PsiElement): PsiA is KtConstantAnnotationValue -> { this.constantValue.createPsiLiteral(parent)?.let { when (it) { - is PsiLiteral -> FirPsiLiteral(sourcePsi, parent, it) - else -> FirPsiExpression(sourcePsi, parent, it) + is PsiLiteral -> SymbolPsiLiteral(sourcePsi, parent, it) + else -> SymbolPsiExpression(sourcePsi, parent, it) } } } @@ -224,7 +224,7 @@ internal fun KtAnnotationValue.toAnnotationMemberValue(parent: PsiElement): PsiA is KtEnumEntryAnnotationValue -> { val fqName = this.callableId?.asSingleFqName()?.asString() ?: return null val psiExpression = PsiElementFactory.getInstance(parent.project).createExpressionFromText(fqName, parent) - FirPsiExpression(sourcePsi, parent, psiExpression) + SymbolPsiExpression(sourcePsi, parent, psiExpression) } KtUnsupportedAnnotationValue -> null diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/base/AbstractSymbolLightClassesAnnotationOwnerTest.kt b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/base/AbstractSymbolLightClassesAnnotationOwnerTest.kt index b299edf2bd6..967bc46e2bc 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/base/AbstractSymbolLightClassesAnnotationOwnerTest.kt +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/base/AbstractSymbolLightClassesAnnotationOwnerTest.kt @@ -10,8 +10,8 @@ import com.intellij.psi.* import junit.framework.TestCase import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator import org.jetbrains.kotlin.asJava.LightClassTestCommon -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightClassModifierList -import org.jetbrains.kotlin.light.classes.symbol.modifierLists.FirLightMemberModifierList +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList +import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices @@ -106,11 +106,11 @@ abstract class AbstractSymbolLightClassesAnnotationOwnerTest( when (lastDeclaration) { is PsiClass, is PsiParameter -> - TestCase.assertTrue(owner is FirLightClassModifierList<*>) + TestCase.assertTrue(owner is SymbolLightClassModifierList<*>) is PsiField, is PsiMethod -> - TestCase.assertTrue(owner is FirLightMemberModifierList<*>) + TestCase.assertTrue(owner is SymbolLightMemberModifierList<*>) else -> throw IllegalStateException("Unexpected annotation owner kind: ${lastDeclaration::class.java}")