diff options
author | Tor Norbye <tnorbye@google.com> | 2014-08-20 17:28:18 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2014-08-20 17:28:18 -0700 |
commit | d76e3920c56d37c942092b7dca20fcaded81c0a5 (patch) | |
tree | 80a55c7b59c38377216daaada4e8bc47b69ceb9a /java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java | |
parent | 3b37877a2561bf9fbe072253a18688807d523505 (diff) | |
parent | 1aa2e09bdbd413eacb677e9fa4b50630530d0656 (diff) | |
download | idea-d76e3920c56d37c942092b7dca20fcaded81c0a5.tar.gz |
Merge remote-tracking branch 'aosp/upstream-master' into merge
Conflicts:
.idea/modules.xml
platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdatesXmlLoader.java
Change-Id: Id899dae9a1e1c79272f8a70e14a7dcef4f760d7f
Diffstat (limited to 'java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java')
-rw-r--r-- | java/java-psi-api/src/com/intellij/psi/infos/MethodCandidateInfo.java | 17 |
1 files changed, 11 insertions, 6 deletions
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 f43358007eab..f05df7dab9c1 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 @@ -130,7 +130,6 @@ public class MethodCandidateInfo extends CandidateInfo{ final CurrentCandidateProperties properties = new CurrentCandidateProperties(method, substitutor, isVarargs(), true); final CurrentCandidateProperties alreadyThere = map.put(getMarkerList(), properties); try { - properties.setSubstitutor(substitutor); PsiType[] argumentTypes = getArgumentTypes(); if (argumentTypes == null) { return ApplicabilityLevel.NOT_APPLICABLE; @@ -143,7 +142,11 @@ public class MethodCandidateInfo extends CandidateInfo{ return applicabilityLevel; } finally { - if (alreadyThere == null) map.remove(getMarkerList()); + if (alreadyThere == null) { + map.remove(getMarkerList()); + } else { + map.put(getMarkerList(), alreadyThere); + } } } return getApplicabilityLevelInner(); @@ -269,10 +272,8 @@ public class MethodCandidateInfo extends CandidateInfo{ CURRENT_CANDIDATE.set(map); } final PsiMethod method = getElement(); - final CurrentCandidateProperties alreadyThere = map.get(getMarkerList()); - if (alreadyThere == null) { + final CurrentCandidateProperties alreadyThere = map.put(getMarkerList(), new CurrentCandidateProperties(method, super.getSubstitutor(), isVarargs(), !includeReturnConstraint)); - } try { PsiTypeParameter[] typeParameters = method.getTypeParameters(); @@ -293,7 +294,11 @@ public class MethodCandidateInfo extends CandidateInfo{ .inferTypeArguments(typeParameters, method.getParameterList().getParameters(), arguments, mySubstitutor, parent, policy, myLanguageLevel); } finally { - if (alreadyThere == null) map.remove(getMarkerList()); + if (alreadyThere == null) { + map.remove(getMarkerList()); + } else { + map.put(getMarkerList(), alreadyThere); + } } } |