[SLC] replace analyze with analyzeForLightClasses
^KT-54051
This commit is contained in:
committed by
Space Team
parent
a11435b896
commit
98cf8a4333
+6
-6
@@ -10,7 +10,6 @@ import com.intellij.psi.PsiIdentifier
|
|||||||
import com.intellij.psi.PsiModifierList
|
import com.intellij.psi.PsiModifierList
|
||||||
import com.intellij.psi.PsiType
|
import com.intellij.psi.PsiType
|
||||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
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.annotations.annotations
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
|
import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtNamedSymbol
|
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.codegen.AsmUtil
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolLightAnnotationForAnnotationCall
|
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.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.compareSymbolPointers
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase
|
import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList
|
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList
|
||||||
@@ -37,7 +37,7 @@ internal class SymbolLightParameterForReceiver private constructor(
|
|||||||
method: SymbolLightMethodBase
|
method: SymbolLightMethodBase
|
||||||
) : SymbolLightParameterBase(method) {
|
) : SymbolLightParameterBase(method) {
|
||||||
private inline fun <T> withReceiverType(crossinline action: context(KtAnalysisSession) (KtType) -> T): T {
|
private inline fun <T> withReceiverType(crossinline action: context(KtAnalysisSession) (KtType) -> T): T {
|
||||||
return analyze(ktModule) {
|
return analyzeForLightClasses(ktModule) {
|
||||||
val callableSymbol = callableSymbolWithReceiverPointer.restoreSymbolOrThrowIfDisposed()
|
val callableSymbol = callableSymbolWithReceiverPointer.restoreSymbolOrThrowIfDisposed()
|
||||||
action(this, requireNotNull(callableSymbol.receiverType))
|
action(this, requireNotNull(callableSymbol.receiverType))
|
||||||
}
|
}
|
||||||
@@ -49,10 +49,10 @@ internal class SymbolLightParameterForReceiver private constructor(
|
|||||||
callableSymbolPointer: KtSymbolPointer<KtCallableSymbol>,
|
callableSymbolPointer: KtSymbolPointer<KtCallableSymbol>,
|
||||||
method: SymbolLightMethodBase
|
method: SymbolLightMethodBase
|
||||||
): SymbolLightParameterForReceiver? {
|
): SymbolLightParameterForReceiver? {
|
||||||
val methodName = analyze(ktModule) {
|
val methodName = analyzeForLightClasses(ktModule) {
|
||||||
val callableSymbol = callableSymbolPointer.restoreSymbolOrThrowIfDisposed()
|
val callableSymbol = callableSymbolPointer.restoreSymbolOrThrowIfDisposed()
|
||||||
if (callableSymbol !is KtNamedSymbol) return@analyze null
|
if (callableSymbol !is KtNamedSymbol) return@analyzeForLightClasses null
|
||||||
if (!callableSymbol.isExtension || callableSymbol.receiverType == null) return@analyze null
|
if (!callableSymbol.isExtension || callableSymbol.receiverType == null) return@analyzeForLightClasses null
|
||||||
callableSymbol.name.asString()
|
callableSymbol.name.asString()
|
||||||
} ?: return null
|
} ?: return null
|
||||||
|
|
||||||
@@ -110,7 +110,7 @@ internal class SymbolLightParameterForReceiver private constructor(
|
|||||||
|
|
||||||
override fun hashCode(): Int = _name.hashCode()
|
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
|
callableSymbolWithReceiverPointer.restoreSymbol()?.receiverType != null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -10,7 +10,6 @@ import com.intellij.psi.PsiModifierList
|
|||||||
import com.intellij.psi.PsiType
|
import com.intellij.psi.PsiType
|
||||||
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.analyze
|
|
||||||
import org.jetbrains.kotlin.analysis.api.components.buildClassType
|
import org.jetbrains.kotlin.analysis.api.components.buildClassType
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol
|
import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol
|
||||||
import org.jetbrains.kotlin.analysis.api.symbols.markers.isPrivateOrPrivateToThis
|
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.asJava.classes.lazyPub
|
||||||
import org.jetbrains.kotlin.codegen.coroutines.SUSPEND_FUNCTION_COMPLETION_PARAMETER_NAME
|
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.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.isValid
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase
|
import org.jetbrains.kotlin.light.classes.symbol.methods.SymbolLightMethodBase
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList
|
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightClassModifierList
|
||||||
@@ -33,7 +33,7 @@ internal class SymbolLightSuspendContinuationParameter(
|
|||||||
private val ktModule get() = containingMethod.ktModule
|
private val ktModule get() = containingMethod.ktModule
|
||||||
|
|
||||||
private inline fun <T> withFunctionSymbol(crossinline action: context(KtAnalysisSession) (KtFunctionSymbol) -> T): T {
|
private inline fun <T> withFunctionSymbol(crossinline action: context(KtAnalysisSession) (KtFunctionSymbol) -> T): T {
|
||||||
return analyze(ktModule) {
|
return analyzeForLightClasses(ktModule) {
|
||||||
action(this, functionSymbolPointer.restoreSymbolOrThrowIfDisposed())
|
action(this, functionSymbolPointer.restoreSymbolOrThrowIfDisposed())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -9,7 +9,6 @@ import com.intellij.psi.*
|
|||||||
import com.intellij.psi.util.TypeConversionUtil
|
import com.intellij.psi.util.TypeConversionUtil
|
||||||
import com.intellij.util.IncorrectOperationException
|
import com.intellij.util.IncorrectOperationException
|
||||||
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
|
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.annotations.*
|
||||||
import org.jetbrains.kotlin.analysis.api.base.KtConstantValue
|
import org.jetbrains.kotlin.analysis.api.base.KtConstantValue
|
||||||
import org.jetbrains.kotlin.analysis.api.components.DefaultTypeClassIds
|
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.SymbolPsiArrayInitializerMemberValue
|
||||||
import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolPsiExpression
|
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.annotations.SymbolPsiLiteral
|
||||||
|
import org.jetbrains.kotlin.light.classes.symbol.classes.analyzeForLightClasses
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.SpecialNames
|
import org.jetbrains.kotlin.name.SpecialNames
|
||||||
import org.jetbrains.kotlin.psi.KtTypeParameterListOwner
|
import org.jetbrains.kotlin.psi.KtTypeParameterListOwner
|
||||||
@@ -296,16 +296,16 @@ internal fun hasTypeParameters(
|
|||||||
ktModule: KtModule,
|
ktModule: KtModule,
|
||||||
declaration: KtTypeParameterListOwner?,
|
declaration: KtTypeParameterListOwner?,
|
||||||
declarationPointer: KtSymbolPointer<KtSymbolWithTypeParameters>,
|
declarationPointer: KtSymbolPointer<KtSymbolWithTypeParameters>,
|
||||||
): Boolean = declaration?.typeParameters?.isNotEmpty() ?: analyze(ktModule) {
|
): Boolean = declaration?.typeParameters?.isNotEmpty() ?: analyzeForLightClasses(ktModule) {
|
||||||
declarationPointer.restoreSymbolOrThrowIfDisposed().typeParameters.isNotEmpty()
|
declarationPointer.restoreSymbolOrThrowIfDisposed().typeParameters.isNotEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun KtSymbolPointer<*>.isValid(ktModule: KtModule): Boolean = analyze(ktModule) {
|
internal fun KtSymbolPointer<*>.isValid(ktModule: KtModule): Boolean = analyzeForLightClasses(ktModule) {
|
||||||
restoreSymbol() != null
|
restoreSymbol() != null
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun <T : KtSymbol> compareSymbolPointers(ktModule: KtModule, left: KtSymbolPointer<T>, right: KtSymbolPointer<T>): Boolean {
|
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()
|
left.restoreSymbol() == right.restoreSymbol()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user