mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
A few contention optimizations
This commit is contained in:
@@ -22,11 +22,14 @@ package com.intellij.codeInsight;
|
||||
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.NotNullLazyKey;
|
||||
import com.intellij.psi.PsiAnnotation;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiModifierListOwner;
|
||||
import com.intellij.util.NotNullFunction;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public abstract class ExternalAnnotationsManager {
|
||||
@@ -38,8 +41,15 @@ public abstract class ExternalAnnotationsManager {
|
||||
NOWHERE
|
||||
}
|
||||
|
||||
private static final NotNullLazyKey<ExternalAnnotationsManager, Project> INSTANCE_KEY = NotNullLazyKey.create("ExternalAnnotationsManager.Instance.Cache", new NotNullFunction<Project, ExternalAnnotationsManager>() {
|
||||
@NotNull
|
||||
public ExternalAnnotationsManager fun(final Project project) {
|
||||
return ServiceManager.getService(project, ExternalAnnotationsManager.class);
|
||||
}
|
||||
});
|
||||
|
||||
public static ExternalAnnotationsManager getInstance(Project project) {
|
||||
return ServiceManager.getService(project, ExternalAnnotationsManager.class);
|
||||
return INSTANCE_KEY.getValue(project);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -54,4 +64,4 @@ public abstract class ExternalAnnotationsManager {
|
||||
|
||||
public abstract AnnotationPlace chooseAnnotationsPlace(final PsiElement element);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user