[SLC] SymbolLightFieldForObject: reduce allocations number
^KTIJ-23783
This commit is contained in:
committed by
Space Team
parent
91586705b3
commit
3ee451c873
+5
-2
@@ -9,6 +9,7 @@ import com.intellij.psi.PsiExpression
|
|||||||
import com.intellij.psi.PsiModifier
|
import com.intellij.psi.PsiModifier
|
||||||
import com.intellij.psi.PsiModifierList
|
import com.intellij.psi.PsiModifierList
|
||||||
import com.intellij.psi.PsiType
|
import com.intellij.psi.PsiType
|
||||||
|
import kotlinx.collections.immutable.mutate
|
||||||
import org.jetbrains.annotations.NotNull
|
import org.jetbrains.annotations.NotNull
|
||||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol
|
import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol
|
||||||
@@ -23,7 +24,6 @@ import org.jetbrains.kotlin.light.classes.symbol.compareSymbolPointers
|
|||||||
import org.jetbrains.kotlin.light.classes.symbol.isValid
|
import org.jetbrains.kotlin.light.classes.symbol.isValid
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.LazyModifiersBox
|
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.LazyModifiersBox
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList
|
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.with
|
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.nonExistentType
|
import org.jetbrains.kotlin.light.classes.symbol.nonExistentType
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.withSymbol
|
import org.jetbrains.kotlin.light.classes.symbol.withSymbol
|
||||||
import org.jetbrains.kotlin.psi.KtObjectDeclaration
|
import org.jetbrains.kotlin.psi.KtObjectDeclaration
|
||||||
@@ -57,7 +57,10 @@ internal class SymbolLightFieldForObject private constructor(
|
|||||||
private val _modifierList: PsiModifierList by lazyPub {
|
private val _modifierList: PsiModifierList by lazyPub {
|
||||||
SymbolLightMemberModifierList(
|
SymbolLightMemberModifierList(
|
||||||
containingDeclaration = this,
|
containingDeclaration = this,
|
||||||
initialValue = LazyModifiersBox.MODALITY_MODIFIERS_MAP.with(PsiModifier.FINAL).with(PsiModifier.STATIC),
|
initialValue = LazyModifiersBox.MODALITY_MODIFIERS_MAP.mutate {
|
||||||
|
it[PsiModifier.FINAL] = true
|
||||||
|
it[PsiModifier.STATIC] = true
|
||||||
|
},
|
||||||
lazyModifiersComputer = ::computeModifiers,
|
lazyModifiersComputer = ::computeModifiers,
|
||||||
) { modifierList ->
|
) { modifierList ->
|
||||||
listOf(SymbolLightSimpleAnnotation(NotNull::class.java.name, modifierList))
|
listOf(SymbolLightSimpleAnnotation(NotNull::class.java.name, modifierList))
|
||||||
|
|||||||
Reference in New Issue
Block a user