本文整理汇总了Java中com.intellij.util.containers.WeakHashMap类的典型用法代码示例。如果您正苦于以下问题:Java WeakHashMap类的具体用法?Java WeakHashMap怎么用?Java WeakHashMap使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
WeakHashMap类属于com.intellij.util.containers包,在下文中一共展示了WeakHashMap类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onFacetAdded
import com.intellij.util.containers.WeakHashMap; //导入依赖的package包/类
private void onFacetAdded(final Facet facet) {
boolean firstFacet = myFacetsByType.isEmpty();
final FacetTypeId typeId = facet.getTypeId();
WeakHashMap<Facet, Boolean> facets = myFacetsByType.get(typeId);
if (facets == null) {
facets = new WeakHashMap<Facet, Boolean>();
myFacetsByType.put(typeId, facets);
}
boolean firstFacetOfType = facets.isEmpty();
facets.put(facet, true);
if (firstFacet) {
getAllFacetsMulticaster().firstFacetAdded();
}
getAllFacetsMulticaster().facetAdded(facet);
final EventDispatcher<ProjectWideFacetListener> dispatcher = myDispatchers.get(typeId);
if (dispatcher != null) {
if (firstFacetOfType) {
dispatcher.getMulticaster().firstFacetAdded();
}
//noinspection unchecked
dispatcher.getMulticaster().facetAdded(facet);
}
}
示例2: getPsiElementsAt
import com.intellij.util.containers.WeakHashMap; //导入依赖的package包/类
@NotNull
private static Collection<PsiElement> getPsiElementsAt(Point point, Editor editor) {
if (editor.isDisposed()) {
return Collections.emptySet();
}
Project project = editor.getProject();
if (project == null || project.isDisposed()) {
return Collections.emptySet();
}
final PsiDocumentManager documentManager = PsiDocumentManager.getInstance(project);
final Document document = editor.getDocument();
PsiFile psiFile = documentManager.getPsiFile(document);
if (psiFile == null || psiFile instanceof PsiCompiledElement || !psiFile.isValid()) {
return Collections.emptySet();
}
final Set<PsiElement> elements = Collections.newSetFromMap(new WeakHashMap<PsiElement, Boolean>());
final int offset = editor.logicalPositionToOffset(editor.xyToLogicalPosition(point));
if (documentManager.isCommitted(document)) {
ContainerUtil.addIfNotNull(elements, InjectedLanguageUtil.findElementAtNoCommit(psiFile, offset));
}
for (PsiFile file : psiFile.getViewProvider().getAllFiles()) {
ContainerUtil.addIfNotNull(elements, file.findElementAt(offset));
}
return elements;
}
示例3: onFacetRemoved
import com.intellij.util.containers.WeakHashMap; //导入依赖的package包/类
private void onFacetRemoved(final Facet facet, final boolean before) {
final FacetTypeId typeId = facet.getTypeId();
WeakHashMap<Facet, Boolean> facets = myFacetsByType.get(typeId);
boolean lastFacet;
if (facets != null) {
facets.remove(facet);
lastFacet = facets.isEmpty();
if (lastFacet) {
myFacetsByType.remove(typeId);
}
}
else {
lastFacet = true;
}
final EventDispatcher<ProjectWideFacetListener> dispatcher = myDispatchers.get(typeId);
if (dispatcher != null) {
if (before) {
//noinspection unchecked
dispatcher.getMulticaster().beforeFacetRemoved(facet);
}
else {
//noinspection unchecked
dispatcher.getMulticaster().facetRemoved(facet);
if (lastFacet) {
dispatcher.getMulticaster().allFacetsRemoved();
}
}
}
if (before) {
getAllFacetsMulticaster().beforeFacetRemoved(facet);
}
else {
getAllFacetsMulticaster().facetRemoved(facet);
if (myFacetsByType.isEmpty()) {
getAllFacetsMulticaster().allFacetsRemoved();
}
}
}
示例4: getInstance
import com.intellij.util.containers.WeakHashMap; //导入依赖的package包/类
public static PythonSdkPathCache getInstance(@NotNull Project project, @NotNull Sdk sdk) {
synchronized (KEY) {
Map<Project, PythonSdkPathCache> cacheMap = sdk.getUserData(KEY);
if (cacheMap == null) {
cacheMap = new WeakHashMap<Project, PythonSdkPathCache>();
sdk.putUserData(KEY, cacheMap);
}
PythonSdkPathCache cache = cacheMap.get(project);
if (cache == null) {
cache = new PythonSdkPathCache(project, sdk);
cacheMap.put(project, cache);
}
return cache;
}
}
示例5: getPsiElementsAt
import com.intellij.util.containers.WeakHashMap; //导入依赖的package包/类
@Nonnull
private static Collection<PsiElement> getPsiElementsAt(Point point, Editor editor) {
if (editor.isDisposed()) {
return Collections.emptySet();
}
Project project = editor.getProject();
if (project == null || project.isDisposed()) {
return Collections.emptySet();
}
final PsiDocumentManager documentManager = PsiDocumentManager.getInstance(project);
final Document document = editor.getDocument();
PsiFile psiFile = documentManager.getPsiFile(document);
if (psiFile == null || psiFile instanceof PsiCompiledElement || !psiFile.isValid()) {
return Collections.emptySet();
}
final Set<PsiElement> elements = Collections.newSetFromMap(new WeakHashMap<PsiElement, Boolean>());
final int offset = editor.logicalPositionToOffset(editor.xyToLogicalPosition(point));
if (documentManager.isCommitted(document)) {
ContainerUtil.addIfNotNull(elements, InjectedLanguageUtil.findElementAtNoCommit(psiFile, offset));
}
for (PsiFile file : psiFile.getViewProvider().getAllFiles()) {
ContainerUtil.addIfNotNull(elements, file.findElementAt(offset));
}
return elements;
}