From 8c97f0c3a159548bc8a60bdd8072d0e07cbca4c3 Mon Sep 17 00:00:00 2001 From: Jinseong Jeon Date: Thu, 23 Sep 2021 14:12:11 -0700 Subject: [PATCH] FIR LC: minor reordering of utils that add members --- .../symbol/classes/FirLightClassForSymbol.kt | 84 +++++++++---------- 1 file changed, 42 insertions(+), 42 deletions(-) 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 a3f355f6a28..5dd5b7751d9 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 @@ -6,14 +6,14 @@ package org.jetbrains.kotlin.light.classes.symbol import com.intellij.psi.* -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.descriptors.Visibility import org.jetbrains.kotlin.analysis.api.isValid import org.jetbrains.kotlin.analysis.api.symbols.* import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolKind import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithVisibility +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.descriptors.Visibility import org.jetbrains.kotlin.light.classes.symbol.classes.* import org.jetbrains.kotlin.load.java.JvmAbi import org.jetbrains.kotlin.utils.addToStdlib.applyIf @@ -109,6 +109,44 @@ internal class FirLightClassForSymbol( result } + private fun addMethodsFromCompanionIfNeeded(result: MutableList) { + classOrObjectSymbol.companionObject?.run { + analyzeWithSymbolAsContext(this) { + val methods = getDeclaredMemberScope().getCallableSymbols() + .filterIsInstance() + .filter { it.hasJvmStaticAnnotation() } + createMethods(methods, result) + } + } + } + + private val _ownFields: List by lazyPub { + + val result = mutableListOf() + + addCompanionObjectFieldIfNeeded(result) + addInstanceFieldIfNeeded(result) + + addFieldsFromCompanionIfNeeded(result) + addPropertyBackingFields(result) + + result + } + + private fun addInstanceFieldIfNeeded(result: MutableList) { + val isNamedObject = classOrObjectSymbol.classKind == KtClassKind.OBJECT + if (isNamedObject && classOrObjectSymbol.symbolKind != KtSymbolKind.LOCAL) { + result.add( + FirLightFieldForObjectSymbol( + objectSymbol = classOrObjectSymbol, + containingClass = this@FirLightClassForSymbol, + name = JvmAbi.INSTANCE_FIELD, + lightMemberOrigin = null + ) + ) + } + } + private fun addFieldsFromCompanionIfNeeded(result: MutableList) { classOrObjectSymbol.companionObject?.run { analyzeWithSymbolAsContext(this) { @@ -130,31 +168,6 @@ internal class FirLightClassForSymbol( } } - private fun addMethodsFromCompanionIfNeeded(result: MutableList) { - classOrObjectSymbol.companionObject?.run { - analyzeWithSymbolAsContext(this) { - val methods = getDeclaredMemberScope().getCallableSymbols() - .filterIsInstance() - .filter { it.hasJvmStaticAnnotation() } - createMethods(methods, result) - } - } - } - - private fun addInstanceFieldIfNeeded(result: MutableList) { - val isNamedObject = classOrObjectSymbol.classKind == KtClassKind.OBJECT - if (isNamedObject && classOrObjectSymbol.symbolKind != KtSymbolKind.LOCAL) { - result.add( - FirLightFieldForObjectSymbol( - objectSymbol = classOrObjectSymbol, - containingClass = this@FirLightClassForSymbol, - name = JvmAbi.INSTANCE_FIELD, - lightMemberOrigin = null - ) - ) - } - } - private fun addPropertyBackingFields(result: MutableList) { analyzeWithSymbolAsContext(classOrObjectSymbol) { val propertySymbols = classOrObjectSymbol.getDeclaredMemberScope().getCallableSymbols() @@ -194,19 +207,6 @@ internal class FirLightClassForSymbol( } } - private val _ownFields: List by lazyPub { - - val result = mutableListOf() - - addCompanionObjectFieldIfNeeded(result) - addInstanceFieldIfNeeded(result) - - addFieldsFromCompanionIfNeeded(result) - addPropertyBackingFields(result) - - result - } - override fun hashCode(): Int = classOrObjectSymbol.hashCode() override fun equals(other: Any?): Boolean =