From a0fa1cce85d04f60571e655c1f6d6b4cf43ff1b1 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Thu, 2 Feb 2023 12:31:42 +0100 Subject: [PATCH] [SLC] ModifiersBox: add kdoc ^KT-56046 --- .../light/classes/symbol/modifierLists/ModifiersBox.kt | 9 +++++++++ .../classes/symbol/modifierLists/SimpleModifiersBox.kt | 1 + 2 files changed, 10 insertions(+) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/ModifiersBox.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/ModifiersBox.kt index 0218863daef..d8cb0ac10d4 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/ModifiersBox.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/ModifiersBox.kt @@ -5,6 +5,15 @@ package org.jetbrains.kotlin.light.classes.symbol.modifierLists +/** + * This class is used as a proxy for [com.intellij.psi.PsiModifierList.hasModifierProperty]. + * + * [LazyModifiersBox] provides an ability to compute each modifier separately to avoid heavy computation. + * [SimpleModifiersBox] is a collection of possible modifiers. + * [EmptyModifiersBox] just a box without modifiers. + * + * @see SymbolLightModifierList + */ internal sealed interface ModifiersBox { fun hasModifier(modifier: String): Boolean } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SimpleModifiersBox.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SimpleModifiersBox.kt index 726cbb644ad..cbf428a42a9 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SimpleModifiersBox.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/modifierLists/SimpleModifiersBox.kt @@ -7,5 +7,6 @@ package org.jetbrains.kotlin.light.classes.symbol.modifierLists internal class SimpleModifiersBox(private val modifiers: Set) : ModifiersBox { constructor(vararg modifiers: String) : this(modifiers.toSet()) + override fun hasModifier(modifier: String): Boolean = modifier in modifiers }