This commit is contained in:
Alexey Kudravtsev
2017-08-07 19:07:14 +03:00
parent baa6da7a38
commit 77efa5e9dd
3 changed files with 18 additions and 22 deletions
@@ -40,8 +40,8 @@ public abstract class RelatedItemLineMarkerProvider extends LineMarkerProviderDe
collectNavigationMarkers(elements, result, false);
}
public void collectNavigationMarkers(List<PsiElement> elements,
Collection<? super RelatedItemLineMarkerInfo> result,
public void collectNavigationMarkers(@NotNull List<PsiElement> elements,
@NotNull Collection<? super RelatedItemLineMarkerInfo> result,
boolean forNavigation) {
//noinspection ForLoopReplaceableByForEach
for (int i = 0, size = elements.size(); i < size; i++) {
@@ -56,7 +56,7 @@ public abstract class RelatedItemLineMarkerProvider extends LineMarkerProviderDe
}
}
protected void collectNavigationMarkers(@NotNull PsiElement element, Collection<? super RelatedItemLineMarkerInfo> result) {
protected void collectNavigationMarkers(@NotNull PsiElement element, @NotNull Collection<? super RelatedItemLineMarkerInfo> result) {
}
@Override
@@ -57,8 +57,8 @@ import java.util.*;
*/
public class NavigationGutterIconBuilder<T> {
@NonNls private static final String PATTERN = "&nbsp;&nbsp;&nbsp;&nbsp;{0}";
private static final NotNullFunction<PsiElement, Collection<? extends PsiElement>> DEFAULT_PSI_CONVERTOR =
element -> ContainerUtil.createMaybeSingletonList(element);
private static final NotNullFunction<PsiElement,Collection<? extends PsiElement>> DEFAULT_PSI_CONVERTOR =
ContainerUtil::createMaybeSingletonList;
private final Icon myIcon;
private final NotNullFunction<T, Collection<? extends PsiElement>> myConverter;
@@ -90,7 +90,7 @@ public class NavigationGutterIconBuilder<T> {
protected NavigationGutterIconBuilder(@NotNull final Icon icon,
@NotNull NotNullFunction<T, Collection<? extends PsiElement>> converter,
final @Nullable NotNullFunction<T, Collection<? extends GotoRelatedItem>> gotoRelatedItemProvider) {
@Nullable final NotNullFunction<T, Collection<? extends GotoRelatedItem>> gotoRelatedItemProvider) {
myIcon = icon;
myConverter = converter;
myGotoRelatedItemProvider = gotoRelatedItemProvider;
@@ -110,7 +110,7 @@ public class NavigationGutterIconBuilder<T> {
@NotNull
public static <T> NavigationGutterIconBuilder<T> create(@NotNull final Icon icon,
@NotNull NotNullFunction<T, Collection<? extends PsiElement>> converter,
final @Nullable NotNullFunction<T, Collection<? extends GotoRelatedItem>> gotoRelatedItemProvider) {
@Nullable final NotNullFunction<T, Collection<? extends GotoRelatedItem>> gotoRelatedItemProvider) {
return new NavigationGutterIconBuilder<>(icon, converter, gotoRelatedItemProvider);
}
@@ -274,7 +274,7 @@ public class NavigationGutterIconBuilder<T> {
}
Computable<PsiElementListCellRenderer> renderer =
myCellRenderer == null ? () -> new DefaultPsiElementCellRenderer() : myCellRenderer;
myCellRenderer == null ? DefaultPsiElementCellRenderer::new : myCellRenderer;
return new MyNavigationGutterIconRenderer(this, myAlignment, myIcon, myTooltipText, pointers, renderer, empty);
}
@@ -334,13 +334,13 @@ public class NavigationGutterIconBuilder<T> {
private final String myTooltipText;
private final boolean myEmpty;
public MyNavigationGutterIconRenderer(@NotNull NavigationGutterIconBuilder builder,
final Alignment alignment,
final Icon icon,
@Nullable final String tooltipText,
@NotNull NotNullLazyValue<List<SmartPsiElementPointer>> pointers,
Computable<PsiElementListCellRenderer> cellRenderer,
boolean empty) {
MyNavigationGutterIconRenderer(@NotNull NavigationGutterIconBuilder builder,
final Alignment alignment,
final Icon icon,
@Nullable final String tooltipText,
@NotNull NotNullLazyValue<List<SmartPsiElementPointer>> pointers,
Computable<PsiElementListCellRenderer> cellRenderer,
boolean empty) {
super(builder.myPopupTitle, builder.myEmptyText, cellRenderer, pointers);
myAlignment = alignment;
myIcon = icon;
@@ -57,7 +57,8 @@ public class HtmlLineMarkerProvider implements LineMarkerProvider {
if (!embeddedLanguagesLineMarkerProviders.containsKey(language)) {
embeddedLanguagesLineMarkerProviders.put(language, markerProvider = LineMarkerProviders.INSTANCE.forLanguage(language));
} else {
}
else {
markerProvider = embeddedLanguagesLineMarkerProviders.get(language);
}
return markerProvider;
@@ -81,12 +82,7 @@ public class HtmlLineMarkerProvider implements LineMarkerProvider {
if (lineMarkerProvider != null) {
if (embeddedLineMarkersWorkItems == null) embeddedLineMarkersWorkItems = new THashMap<>();
List<PsiElement> elementList = embeddedLineMarkersWorkItems.get(lineMarkerProvider);
if (elementList == null) {
elementList = new ArrayList<>(5);
embeddedLineMarkersWorkItems.put(lineMarkerProvider, elementList);
}
List<PsiElement> elementList = embeddedLineMarkersWorkItems.computeIfAbsent(lineMarkerProvider, k -> new ArrayList<>(5));
elementList.add(element);
}