[SLC] drop KtAnalysisSession from SymbolLightNoArgConstructor

^KT-54051
This commit is contained in:
Dmitrii Gridin
2022-11-15 21:02:15 +01:00
committed by Space Team
parent a263b907c5
commit 43561a935c
2 changed files with 8 additions and 17 deletions
@@ -126,7 +126,6 @@ private fun SymbolLightClassBase.shouldGenerateNoArgOverload(
!primaryConstructor.hasJvmOverloadsAnnotation()
}
context(KtAnalysisSession)
private fun SymbolLightClassForClassOrObject.defaultConstructor(): KtLightMethod {
val classOrObject = kotlinOrigin
val visibility = when {
@@ -139,7 +138,6 @@ private fun SymbolLightClassForClassOrObject.defaultConstructor(): KtLightMethod
return noArgConstructor(visibility, METHOD_INDEX_FOR_DEFAULT_CTOR)
}
context(KtAnalysisSession)
private fun SymbolLightClassForClassOrObject.noArgConstructor(
visibility: String,
methodIndex: Int,
@@ -147,7 +145,6 @@ private fun SymbolLightClassForClassOrObject.noArgConstructor(
LightMemberOriginForDeclaration(
originalElement = kotlinOrigin,
originKind = JvmDeclarationOriginKind.OTHER,
auxiliaryOriginalElement = kotlinOrigin as? KtDeclaration
),
this,
visibility,
@@ -6,24 +6,21 @@
package org.jetbrains.kotlin.light.classes.symbol.methods
import com.intellij.psi.*
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin
import org.jetbrains.kotlin.asJava.classes.lazyPub
import org.jetbrains.kotlin.light.classes.symbol.SymbolLightIdentifier
import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForClassOrObject
import org.jetbrains.kotlin.light.classes.symbol.classes.analyzeForLightClasses
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList
import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightParameterList
context(KtAnalysisSession)
internal class SymbolLightNoArgConstructor(
lightMemberOrigin: LightMemberOrigin?,
lightMemberOrigin: LightMemberOrigin,
containingClass: SymbolLightClassForClassOrObject,
visibility: String,
methodIndex: Int,
) : SymbolLightMethodBase(lightMemberOrigin, containingClass, methodIndex) {
private val _name: String? = containingClass.name
override fun getName(): String = _name ?: ""
override fun getName(): String = containingClass.name ?: ""
override fun isConstructor(): Boolean = true
@@ -39,9 +36,7 @@ internal class SymbolLightNoArgConstructor(
override fun isDeprecated(): Boolean = false
private val _modifiers: Set<String> by lazyPub {
setOf(visibility)
}
private val _modifiers: Set<String> = setOf(visibility)
private val _modifierList: PsiModifierList by lazyPub {
SymbolLightMemberModifierList(this, _modifiers, emptyList())
@@ -50,7 +45,9 @@ internal class SymbolLightNoArgConstructor(
override fun getModifierList(): PsiModifierList = _modifierList
private val _parameterList: PsiParameterList by lazyPub {
SymbolLightParameterList(this, callableSymbol = null) {}
analyzeForLightClasses(containingClass.ktModule) {
SymbolLightParameterList(this@SymbolLightNoArgConstructor, callableSymbol = null) {}
}
}
override fun getParameterList(): PsiParameterList = _parameterList
@@ -58,10 +55,7 @@ internal class SymbolLightNoArgConstructor(
override fun getReturnType(): PsiType? = null
override fun equals(other: Any?): Boolean =
this === other ||
(other is SymbolLightNoArgConstructor &&
kotlinOrigin == other.kotlinOrigin &&
containingClass == other.containingClass)
this === other || other is SymbolLightNoArgConstructor && containingClass == other.containingClass
override fun hashCode(): Int = containingClass.hashCode()