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/FirLightClassForClassOrObjectSymbol.kt index 227cd32779d..c64b4f97fef 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/FirLightClassForClassOrObjectSymbol.kt @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.asJava.elements.KtLightField import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind import org.jetbrains.kotlin.light.classes.symbol.classes.checkIsInheritor +import org.jetbrains.kotlin.light.classes.symbol.classes.createInnerClasses import org.jetbrains.kotlin.light.classes.symbol.classes.getOrCreateFirLightClass import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind import org.jetbrains.kotlin.psi.KtClassBody @@ -77,7 +78,11 @@ internal abstract class FirLightClassForClassOrObjectSymbol( override fun getTypeParameters(): Array = _typeParameterList?.typeParameters ?: PsiTypeParameter.EMPTY_ARRAY - abstract override fun getOwnInnerClasses(): List + private val _ownInnerClasses: List by lazyPub { + classOrObjectSymbol.createInnerClasses(manager) + } + + override fun getOwnInnerClasses(): List = _ownInnerClasses override fun getTextOffset(): Int = kotlinOrigin?.textOffset ?: 0 override fun getStartOffsetInParent(): Int = kotlinOrigin?.startOffsetInParent ?: 0 @@ -176,4 +181,4 @@ internal abstract class FirLightClassForClassOrObjectSymbol( baseClass?.let { InheritanceImplUtil.isInheritorDeep(this, it, classToByPass) } ?: false abstract override fun copy(): FirLightClassForClassOrObjectSymbol -} \ No newline at end of file +} 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/FirLightClassForSymbol.kt index bce287e9056..3d8b7127352 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/FirLightClassForSymbol.kt @@ -85,12 +85,6 @@ internal open class FirLightClassForSymbol( override fun getExtendsList(): PsiReferenceList? = _extendsList override fun getImplementsList(): PsiReferenceList? = _implementsList - private val _ownInnerClasses: List by lazyPub { - classOrObjectSymbol.createInnerClasses(manager) - } - - override fun getOwnInnerClasses(): List = _ownInnerClasses - private val _extendsList by lazyPub { createInheritanceList(forExtendsList = true, classOrObjectSymbol.superTypes) } private val _implementsList by lazyPub { createInheritanceList(forExtendsList = false, 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/FirLightInterfaceOrAnnotationClassSymbol.kt index eba8064113e..6f7d35f1b4e 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/FirLightInterfaceOrAnnotationClassSymbol.kt @@ -45,11 +45,9 @@ internal abstract class FirLightInterfaceOrAnnotationClassSymbol( override fun getImplementsList(): PsiReferenceList? = null - override fun getOwnInnerClasses(): List = emptyList() - override fun isInterface(): Boolean = true override fun isEnum(): Boolean = false override fun isValid(): Boolean = super.isValid() && classOrObjectSymbol.isValid() -} \ No newline at end of file +}