diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClass.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForClassOrObject.kt similarity index 97% rename from analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClass.kt rename to analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForClassOrObject.kt index d983b3e9bff..6ccda889687 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClass.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForClassOrObject.kt @@ -46,7 +46,7 @@ import org.jetbrains.kotlin.util.OperatorNameConventions.TO_STRING import org.jetbrains.kotlin.utils.addIfNotNull import org.jetbrains.kotlin.utils.addToStdlib.applyIf -internal open class SymbolLightClass : SymbolLightClassForNamedClassOrObject { +internal open class SymbolLightClassForClassOrObject : SymbolLightClassForNamedClassOrObject { constructor( ktAnalysisSession: KtAnalysisSession, ktModule: KtModule, @@ -101,7 +101,7 @@ internal open class SymbolLightClass : SymbolLightClassForNamedClassOrObject { val lazyAnnotations = lazyPub { withClassOrObjectSymbol { classOrObjectSymbol -> classOrObjectSymbol.computeAnnotations( - parent = this@SymbolLightClass, + parent = this@SymbolLightClassForClassOrObject, nullability = NullabilityType.Unknown, annotationUseSiteTarget = null, ) @@ -346,5 +346,5 @@ internal open class SymbolLightClass : SymbolLightClassForNamedClassOrObject { override fun isAnnotationType(): Boolean = false - override fun copy(): SymbolLightClass = SymbolLightClass(classOrObjectDeclaration, classOrObjectSymbolPointer, ktModule, manager) + override fun copy(): SymbolLightClassForClassOrObject = SymbolLightClassForClassOrObject(classOrObjectDeclaration, classOrObjectSymbolPointer, ktModule, manager) } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForEnumEntry.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForEnumEntry.kt index db71de77fef..0a9b114f2c4 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForEnumEntry.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForEnumEntry.kt @@ -18,9 +18,9 @@ import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassM internal class SymbolLightClassForEnumEntry( private val enumConstant: SymbolLightFieldForEnumEntry, - private val enumClass: SymbolLightClass, + private val enumClass: SymbolLightClassForClassOrObject, ktModule: KtModule, -) : SymbolLightClass( +) : SymbolLightClassForClassOrObject( enumConstant.kotlinOrigin, ktModule, ), PsiEnumConstantInitializer { diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInlineClass.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInlineClass.kt index 86d5342d885..d7a54387e2a 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInlineClass.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightInlineClass.kt @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.resolve.deprecation.DeprecationLevelValue -internal class SymbolLightInlineClass : SymbolLightClass { +internal class SymbolLightInlineClass : SymbolLightClassForClassOrObject { constructor( classOrObject: KtClassOrObject, ktModule: KtModule, diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt index 0e63ec2865d..2b6bd080719 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/symbolLightClassUtils.kt @@ -58,7 +58,7 @@ internal fun createLightClassNoCache(ktClassOrObject: KtClassOrObject, ktModule: ktClassOrObject.hasModifier(INLINE_KEYWORD) -> SymbolLightInlineClass(ktClassOrObject, ktModule) ktClassOrObject is KtClass && ktClassOrObject.isAnnotation() -> SymbolLightAnnotationClass(ktClassOrObject, ktModule) ktClassOrObject is KtClass && ktClassOrObject.isInterface() -> SymbolLightInterfaceClass(ktClassOrObject, ktModule) - else -> SymbolLightClass(ktClassOrObject, ktModule) + else -> SymbolLightClassForClassOrObject(ktClassOrObject, ktModule) } context(ktAnalysisSession@KtAnalysisSession) @@ -81,7 +81,7 @@ internal fun createLightClassNoCache( manager = manager, ) - else -> SymbolLightClass( + else -> SymbolLightClassForClassOrObject( ktAnalysisSession = this@ktAnalysisSession, ktModule = ktModule, classOrObjectSymbol = ktClassOrObjectSymbol, @@ -92,7 +92,7 @@ internal fun createLightClassNoCache( private fun lightClassForEnumEntry(ktEnumEntry: KtEnumEntry): KtLightClass? { if (ktEnumEntry.body == null) return null - val symbolLightClass = ktEnumEntry.containingClass()?.toLightClass() as? SymbolLightClass ?: return null + val symbolLightClass = ktEnumEntry.containingClass()?.toLightClass() as? SymbolLightClassForClassOrObject ?: return null val targetField = symbolLightClass.ownFields.firstOrNull { it is SymbolLightFieldForEnumEntry && it.kotlinOrigin == ktEnumEntry } ?: return null diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForEnumEntry.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForEnumEntry.kt index 56f061285a0..83235d771be 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForEnumEntry.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForEnumEntry.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget import org.jetbrains.kotlin.light.classes.symbol.NullabilityType import org.jetbrains.kotlin.light.classes.symbol.analyzeForLightClasses import org.jetbrains.kotlin.light.classes.symbol.annotations.computeAnnotations -import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClass +import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForClassOrObject 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 @@ -24,7 +24,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.ifTrue internal class SymbolLightFieldForEnumEntry( private val enumEntry: KtEnumEntry, private val enumEntryName: String, - containingClass: SymbolLightClass, + containingClass: SymbolLightClassForClassOrObject, ) : SymbolLightField(containingClass = containingClass, lightMemberOrigin = null), PsiEnumConstant { internal fun withEnumEntrySymbol(action: KtAnalysisSession.(KtEnumEntrySymbol) -> T): T = analyzeForLightClasses(ktModule) { action(enumEntry.getEnumEntrySymbol())