From a9ecfaa827e13e5eb8a41258074a7cfb8df2c0a5 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 5 Mar 2019 18:55:14 +0100 Subject: [PATCH] there's no need to have a concurrent and weak map in thread-local MethodCandidateInfo.CURRENT_CANDIDATE --- .../src/com/intellij/psi/infos/MethodCandidateInfo.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 8bd1586864e6..4439aa51409a 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 @@ -32,6 +32,7 @@ import org.intellij.lang.annotations.MagicConstant; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; @@ -41,7 +42,7 @@ import java.util.stream.Collectors; */ public class MethodCandidateInfo extends CandidateInfo{ public static final RecursionGuard ourOverloadGuard = RecursionManager.createGuard("overload.guard"); - public static final ThreadLocal> CURRENT_CANDIDATE = new ThreadLocal<>(); + private static final ThreadLocal> CURRENT_CANDIDATE = ThreadLocal.withInitial(HashMap::new); @ApplicabilityLevelConstant private volatile int myApplicabilityLevel; @ApplicabilityLevelConstant private volatile int myPertinentApplicabilityLevel; private final PsiElement myArgumentList;