本文整理汇总了Java中com.intellij.codeInsight.daemon.RelatedItemLineMarkerProvider类的典型用法代码示例。如果您正苦于以下问题:Java RelatedItemLineMarkerProvider类的具体用法?Java RelatedItemLineMarkerProvider怎么用?Java RelatedItemLineMarkerProvider使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
RelatedItemLineMarkerProvider类属于com.intellij.codeInsight.daemon包,在下文中一共展示了RelatedItemLineMarkerProvider类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getItems
import com.intellij.codeInsight.daemon.RelatedItemLineMarkerProvider; //导入依赖的package包/类
@NotNull
@Override
public List<? extends GotoRelatedItem> getItems(@NotNull PsiElement context) {
List<PsiElement> parents = new ArrayList<PsiElement>();
PsiElement current = context;
Set<Language> languages = new HashSet<Language>();
while (current != null) {
parents.add(current);
languages.add(current.getLanguage());
if (current instanceof PsiFile) break;
current = current.getParent();
}
List<LineMarkerProvider> providers = new ArrayList<LineMarkerProvider>();
for (Language language : languages) {
providers.addAll(LineMarkersPass.getMarkerProviders(language, context.getProject()));
}
List<GotoRelatedItem> items = new ArrayList<GotoRelatedItem>();
for (LineMarkerProvider provider : providers) {
if (provider instanceof RelatedItemLineMarkerProvider) {
List<RelatedItemLineMarkerInfo> markers = new ArrayList<RelatedItemLineMarkerInfo>();
RelatedItemLineMarkerProvider relatedItemLineMarkerProvider = (RelatedItemLineMarkerProvider)provider;
for (PsiElement parent : parents) {
ContainerUtil.addIfNotNull(relatedItemLineMarkerProvider.getLineMarkerInfo(parent), markers);
}
relatedItemLineMarkerProvider.collectNavigationMarkers(parents, markers, true);
addItemsForMarkers(markers, items);
}
}
return items;
}
示例2: getItems
import com.intellij.codeInsight.daemon.RelatedItemLineMarkerProvider; //导入依赖的package包/类
@Nonnull
@Override
public List<? extends GotoRelatedItem> getItems(@Nonnull PsiElement context) {
List<PsiElement> parents = new ArrayList<PsiElement>();
PsiElement current = context;
Set<Language> languages = new HashSet<Language>();
while (current != null) {
parents.add(current);
languages.add(current.getLanguage());
if (current instanceof PsiFile) break;
current = current.getParent();
}
List<LineMarkerProvider> providers = new ArrayList<LineMarkerProvider>();
for (Language language : languages) {
providers.addAll(LineMarkersPass.getMarkerProviders(language, context.getProject()));
}
List<GotoRelatedItem> items = new ArrayList<GotoRelatedItem>();
for (LineMarkerProvider provider : providers) {
if (provider instanceof RelatedItemLineMarkerProvider) {
List<RelatedItemLineMarkerInfo> markers = new ArrayList<RelatedItemLineMarkerInfo>();
RelatedItemLineMarkerProvider relatedItemLineMarkerProvider = (RelatedItemLineMarkerProvider)provider;
for (PsiElement parent : parents) {
ContainerUtil.addIfNotNull(relatedItemLineMarkerProvider.getLineMarkerInfo(parent), markers);
}
relatedItemLineMarkerProvider.collectNavigationMarkers(parents, markers, true);
addItemsForMarkers(markers, items);
}
}
return items;
}