[SLC] replace analyze with analyzeForLightClasses

^KT-54051
This commit is contained in:
Dmitrii Gridin
2022-11-17 10:59:35 +01:00
committed by Space Team
parent a11435b896
commit 98cf8a4333
3 changed files with 12 additions and 12 deletions
@@ -10,7 +10,6 @@ import com.intellij.psi.PsiIdentifier
import com.intellij.psi.PsiModifierList
import com.intellij.psi.PsiType
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.analyze
import org.jetbrains.kotlin.analysis.api.annotations.annotations
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtNamedSymbol
@@ -22,6 +21,7 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub
import org.jetbrains.kotlin.codegen.AsmUtil
import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolLightAnnotationForAnnotationCall
import org.jetbrains.kotlin.light.classes.symbol.annotations.computeNullabilityAnnotation
import org.jetbrains.kotlin.light.classes.symbol.classes.analyzeForLightClasses
import org.jetbrains.kotlin.light.classes.symbol.compareSymbolPointers
import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList
@@ -37,7 +37,7 @@ internal class SymbolLightParameterForReceiver private constructor(
method: SymbolLightMethodBase
) : SymbolLightParameterBase(method) {
private inline fun <T> withReceiverType(crossinline action: context(KtAnalysisSession) (KtType) -> T): T {
return analyze(ktModule) {
return analyzeForLightClasses(ktModule) {
val callableSymbol = callableSymbolWithReceiverPointer.restoreSymbolOrThrowIfDisposed()
action(this, requireNotNull(callableSymbol.receiverType))
}
@@ -49,10 +49,10 @@ internal class SymbolLightParameterForReceiver private constructor(
callableSymbolPointer: KtSymbolPointer<KtCallableSymbol>,
method: SymbolLightMethodBase
): SymbolLightParameterForReceiver? {
val methodName = analyze(ktModule) {
val methodName = analyzeForLightClasses(ktModule) {
val callableSymbol = callableSymbolPointer.restoreSymbolOrThrowIfDisposed()
if (callableSymbol !is KtNamedSymbol) return@analyze null
if (!callableSymbol.isExtension || callableSymbol.receiverType == null) return@analyze null
if (callableSymbol !is KtNamedSymbol) return@analyzeForLightClasses null
if (!callableSymbol.isExtension || callableSymbol.receiverType == null) return@analyzeForLightClasses null
callableSymbol.name.asString()
} ?: return null
@@ -110,7 +110,7 @@ internal class SymbolLightParameterForReceiver private constructor(
override fun hashCode(): Int = _name.hashCode()
override fun isValid(): Boolean = super.isValid() && analyze(ktModule) {
override fun isValid(): Boolean = super.isValid() && analyzeForLightClasses(ktModule) {
callableSymbolWithReceiverPointer.restoreSymbol()?.receiverType != null
}
}
@@ -10,7 +10,6 @@ import com.intellij.psi.PsiModifierList
import com.intellij.psi.PsiType
import org.jetbrains.annotations.NotNull
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.analyze
import org.jetbrains.kotlin.analysis.api.components.buildClassType
import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.isPrivateOrPrivateToThis
@@ -18,6 +17,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
import org.jetbrains.kotlin.asJava.classes.lazyPub
import org.jetbrains.kotlin.codegen.coroutines.SUSPEND_FUNCTION_COMPLETION_PARAMETER_NAME
import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolLightSimpleAnnotation
import org.jetbrains.kotlin.light.classes.symbol.classes.analyzeForLightClasses
import org.jetbrains.kotlin.light.classes.symbol.isValid
import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList
@@ -33,7 +33,7 @@ internal class SymbolLightSuspendContinuationParameter(
private val ktModule get() = containingMethod.ktModule
private inline fun <T> withFunctionSymbol(crossinline action: context(KtAnalysisSession) (KtFunctionSymbol) -> T): T {
return analyze(ktModule) {
return analyzeForLightClasses(ktModule) {
action(this, functionSymbolPointer.restoreSymbolOrThrowIfDisposed())
}
}
@@ -9,7 +9,6 @@ import com.intellij.psi.*
import com.intellij.psi.util.TypeConversionUtil
import com.intellij.util.IncorrectOperationException
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.analyze
import org.jetbrains.kotlin.analysis.api.annotations.*
import org.jetbrains.kotlin.analysis.api.base.KtConstantValue
import org.jetbrains.kotlin.analysis.api.components.DefaultTypeClassIds
@@ -30,6 +29,7 @@ import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolLightSimpleAn
import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolPsiArrayInitializerMemberValue
import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolPsiExpression
import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolPsiLiteral
import org.jetbrains.kotlin.light.classes.symbol.classes.analyzeForLightClasses
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.SpecialNames
import org.jetbrains.kotlin.psi.KtTypeParameterListOwner
@@ -296,16 +296,16 @@ internal fun hasTypeParameters(
ktModule: KtModule,
declaration: KtTypeParameterListOwner?,
declarationPointer: KtSymbolPointer<KtSymbolWithTypeParameters>,
): Boolean = declaration?.typeParameters?.isNotEmpty() ?: analyze(ktModule) {
): Boolean = declaration?.typeParameters?.isNotEmpty() ?: analyzeForLightClasses(ktModule) {
declarationPointer.restoreSymbolOrThrowIfDisposed().typeParameters.isNotEmpty()
}
internal fun KtSymbolPointer<*>.isValid(ktModule: KtModule): Boolean = analyze(ktModule) {
internal fun KtSymbolPointer<*>.isValid(ktModule: KtModule): Boolean = analyzeForLightClasses(ktModule) {
restoreSymbol() != null
}
internal fun <T : KtSymbol> compareSymbolPointers(ktModule: KtModule, left: KtSymbolPointer<T>, right: KtSymbolPointer<T>): Boolean {
return left === right || analyze(ktModule) {
return left === right || analyzeForLightClasses(ktModule) {
left.restoreSymbol() == right.restoreSymbol()
}
}