mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[groovy] Stop processing operators in the light version of extended inference
GitOrigin-RevId: 625f4e688555e12d492d0301db7fe4e4100b6ce9
This commit is contained in:
committed by
intellij-monorepo-bot
parent
71c9bf7d9b
commit
e7e42a5f65
+4
@@ -30,6 +30,8 @@ open class SignatureInferenceContext(val ignored: List<GrMethod>) {
|
||||
}
|
||||
|
||||
open val allowedToProcessReturnType : Boolean = true
|
||||
|
||||
open val allowedToResolveOperators : Boolean = true
|
||||
}
|
||||
|
||||
object DefaultInferenceContext : SignatureInferenceContext(emptyList())
|
||||
@@ -57,4 +59,6 @@ class ClosureIgnoringInferenceContext(private val manager: PsiManager, ignored:
|
||||
}
|
||||
|
||||
override val allowedToProcessReturnType: Boolean = false
|
||||
|
||||
override val allowedToResolveOperators: Boolean = false
|
||||
}
|
||||
+2
-2
@@ -256,14 +256,14 @@ internal class RecursiveMethodAnalyzer(val method: GrMethod, signatureInferenceC
|
||||
|
||||
|
||||
override fun visitExpression(expression: GrExpression) {
|
||||
if (expression is GrOperatorExpression) {
|
||||
if (expression is GrOperatorExpression && builder.signatureInferenceContext.allowedToResolveOperators) {
|
||||
val operatorMethodResolveResult = expression.reference?.advancedResolve()
|
||||
if (operatorMethodResolveResult != null) {
|
||||
processMethod(operatorMethodResolveResult)
|
||||
}
|
||||
builder.addConstrainingExpression(expression)
|
||||
}
|
||||
if (expression is GrIndexProperty) {
|
||||
if (expression is GrIndexProperty && builder.signatureInferenceContext.allowedToResolveOperators) {
|
||||
expression.lValueReference?.advancedResolve()?.run {
|
||||
val lValueArguments = extractArguments(expression, expression.lValueReference as? GrIndexPropertyReference)
|
||||
processMethod(this, lValueArguments)
|
||||
|
||||
Reference in New Issue
Block a user