From 8f7c9706ab5b724f4f823eebe50c27fdd4086b02 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 31 Mar 2015 13:39:55 +0200 Subject: [PATCH] reject caching during resolve only inside lambda body (IDEA-138511) --- java/java-psi-api/src/com/intellij/psi/LambdaUtil.java | 3 +++ .../src/com/intellij/psi/infos/MethodCandidateInfo.java | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java b/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java index 954dd08703c9..9d4cf552c4fe 100644 --- a/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/LambdaUtil.java @@ -340,6 +340,9 @@ public class LambdaUtil { if (gParent instanceof PsiCall) { final PsiCall contextCall = (PsiCall)gParent; final MethodCandidateInfo.CurrentCandidateProperties properties = MethodCandidateInfo.getCurrentMethod(contextCall.getArgumentList()); + if (MethodCandidateInfo.isOverloadCheck()) { + MethodCandidateInfo.ourOverloadGuard.prohibitResultCaching(MethodCandidateInfo.ourOverloadGuard.currentStack().get(0)); + } if (properties != null && properties.isApplicabilityCheck()) { //todo simplification final PsiParameter[] parameters = properties.getMethod().getParameterList().getParameters(); final int finalLambdaIdx = adjustLambdaIdx(lambdaIdx, properties.getMethod(), parameters); diff --git a/java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java b/java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java index 78a58fc8b70b..7a87a8c6bb49 100644 --- a/java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java +++ b/java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java @@ -326,9 +326,6 @@ public class MethodCandidateInfo extends CandidateInfo{ public static CurrentCandidateProperties getCurrentMethod(PsiElement context) { - if (isOverloadCheck()) { - ourOverloadGuard.prohibitResultCaching(ourOverloadGuard.currentStack().get(0)); - } final Map currentMethodCandidates = CURRENT_CANDIDATE.get(); return currentMethodCandidates != null ? currentMethodCandidates.get(context) : null; } -- 2.32.0