diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/IdentifierHighlighterPass.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/IdentifierHighlighterPass.java index 902f85bc2fab..994f4d3fd55d 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/IdentifierHighlighterPass.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/IdentifierHighlighterPass.java @@ -154,7 +154,7 @@ public class IdentifierHighlighterPass extends TextEditorHighlightingPass { * @return a pair where first element is read usages and second is write usages */ @NotNull - public static Couple> getHighlightUsages(@NotNull PsiElement target, PsiElement psiElement, boolean withDeclarations) { + public static Couple> getHighlightUsages(@NotNull PsiElement target, @NotNull PsiElement psiElement, boolean withDeclarations) { return getUsages(target, psiElement, withDeclarations, true); } @@ -170,7 +170,7 @@ public class IdentifierHighlighterPass extends TextEditorHighlightingPass { } @NotNull - private static Couple> getUsages(@NotNull PsiElement target, PsiElement psiElement, boolean withDeclarations, boolean detectAccess) { + private static Couple> getUsages(@NotNull PsiElement target, @NotNull PsiElement psiElement, boolean withDeclarations, boolean detectAccess) { List readRanges = new ArrayList<>(); List writeRanges = new ArrayList<>(); final ReadWriteAccessDetector detector = detectAccess ? ReadWriteAccessDetector.findDetector(target) : null; @@ -345,6 +345,7 @@ public class IdentifierHighlighterPass extends TextEditorHighlightingPass { myEditor, BraceHighlighter.getAlarm(), leftBraceRange.getStartOffset(), leftBraceRange.getEndOffset(), null); } + @NotNull private List getHighlights() { if (myReadAccessRanges.isEmpty() && myWriteAccessRanges.isEmpty() && myCodeBlockMarkerRanges.isEmpty()) { return Collections.emptyList(); @@ -369,7 +370,8 @@ public class IdentifierHighlighterPass extends TextEditorHighlightingPass { return result; } - private HighlightInfo createHighlightInfo(TextRange range, HighlightInfoType type, Set> existingMarkupTooltips) { + @NotNull + private HighlightInfo createHighlightInfo(@NotNull TextRange range, @NotNull HighlightInfoType type, @NotNull Set> existingMarkupTooltips) { int start = range.getStartOffset(); String tooltip = start <= myDocument.getTextLength() ? HighlightHandlerBase.getLineTextErrorStripeTooltip(myDocument, start, false) : null; String unescapedTooltip = existingMarkupTooltips.contains(new Pair(tooltip, range)) ? null : tooltip; @@ -380,7 +382,7 @@ public class IdentifierHighlighterPass extends TextEditorHighlightingPass { return builder.createUnconditionally(); } - public static void clearMyHighlights(Document document, Project project) { + public static void clearMyHighlights(@NotNull Document document, @NotNull Project project) { MarkupModel markupModel = DocumentMarkupModel.forDocument(document, project, true); for (RangeHighlighter highlighter : markupModel.getAllHighlighters()) { HighlightInfo info = HighlightInfo.fromRangeHighlighter(highlighter); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightingSettingsPerFile.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightingSettingsPerFile.java index f516527635b6..69e32fd1e67c 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightingSettingsPerFile.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightingSettingsPerFile.java @@ -25,7 +25,7 @@ import org.jetbrains.annotations.NotNull; import java.util.*; -@State(name="HighlightingSettingsPerFile", storages = @Storage(StoragePathMacros.WORKSPACE_FILE)) +@State(name = "HighlightingSettingsPerFile", storages = @Storage(StoragePathMacros.WORKSPACE_FILE)) public class HighlightingSettingsPerFile extends HighlightingLevelManager implements PersistentStateComponent { @NonNls private static final String SETTING_TAG = "setting"; @NonNls private static final String ROOT_ATT_PREFIX = "root"; @@ -38,7 +38,7 @@ public class HighlightingSettingsPerFile extends HighlightingLevelManager implem vcsIgnoreFileNames = VcsFacade.getInstance().getVcsIgnoreFileNames(project); } - public static HighlightingSettingsPerFile getInstance(Project project){ + public static HighlightingSettingsPerFile getInstance(Project project) { return (HighlightingSettingsPerFile)ServiceManager.getService(project, HighlightingLevelManager.class); } @@ -56,38 +56,36 @@ public class HighlightingSettingsPerFile extends HighlightingLevelManager implem Language language = array.get(i); if (provider.getPsi(language) == file) return i; } - throw new RuntimeException("Cannot find root for: "+ file); + throw new RuntimeException("Cannot find root for: " + file); } @NotNull - public FileHighlightingSetting getHighlightingSettingForRoot(@NotNull PsiElement root){ + public FileHighlightingSetting getHighlightingSettingForRoot(@NotNull PsiElement root) { PsiFile containingFile = root.getContainingFile(); VirtualFile virtualFile = containingFile.getVirtualFile(); FileHighlightingSetting[] fileHighlightingSettings = myHighlightSettings.get(virtualFile); int index = getRootIndex(containingFile); - if(fileHighlightingSettings == null || fileHighlightingSettings.length <= index) { - return getDefaultHighlightingSetting(root.getProject(), virtualFile); + if (fileHighlightingSettings != null && fileHighlightingSettings.length > index) { + return fileHighlightingSettings[index]; } - return fileHighlightingSettings[index]; + return virtualFile == null ? FileHighlightingSetting.FORCE_HIGHLIGHTING : getDefaultHighlightingSetting(root.getProject(), virtualFile); } @NotNull - private static FileHighlightingSetting getDefaultHighlightingSetting(@NotNull Project project, VirtualFile virtualFile) { - if (virtualFile != null) { - DefaultHighlightingSettingProvider[] providers = DefaultHighlightingSettingProvider.EP_NAME.getExtensions(); - List filtered = DumbService.getInstance(project).filterByDumbAwareness(providers); - for (DefaultHighlightingSettingProvider p : filtered) { - FileHighlightingSetting setting = p.getDefaultSetting(project, virtualFile); - if (setting != null) { - return setting; - } + private static FileHighlightingSetting getDefaultHighlightingSetting(@NotNull Project project, @NotNull VirtualFile virtualFile) { + DefaultHighlightingSettingProvider[] providers = DefaultHighlightingSettingProvider.EP_NAME.getExtensions(); + List filtered = DumbService.getInstance(project).filterByDumbAwareness(providers); + for (DefaultHighlightingSettingProvider p : filtered) { + FileHighlightingSetting setting = p.getDefaultSetting(project, virtualFile); + if (setting != null) { + return setting; } } return FileHighlightingSetting.FORCE_HIGHLIGHTING; } - private static FileHighlightingSetting @NotNull [] getDefaults(@NotNull PsiFile file){ + private static FileHighlightingSetting @NotNull [] getDefaults(@NotNull PsiFile file) { int rootsCount = file.getViewProvider().getLanguages().size(); FileHighlightingSetting[] fileHighlightingSettings = new FileHighlightingSetting[rootsCount]; Arrays.fill(fileHighlightingSettings, FileHighlightingSetting.FORCE_HIGHLIGHTING); @@ -184,7 +182,7 @@ public class HighlightingSettingsPerFile extends HighlightingLevelManager implem return !SingleRootFileViewProvider.isTooLargeForIntelligence(virtualFile); } - public int countRoots(FileHighlightingSetting setting) { + public int countRoots(@NotNull FileHighlightingSetting setting) { int count = 0; for (FileHighlightingSetting[] settingsForRoots : myHighlightSettings.values()) { for (FileHighlightingSetting settingForRoot : settingsForRoots) { diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerManagerImpl.java index 1260812ab2fe..b3986970dc91 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/impl/VirtualFilePointerManagerImpl.java @@ -559,8 +559,8 @@ public final class VirtualFilePointerManagerImpl extends VirtualFilePointerManag return new ChangeApplier() { @Override public void beforeVfsChange() { - //noinspection SynchronizeOnThis CollectedEvents collected; + //noinspection SynchronizeOnThis synchronized (VirtualFilePointerManagerImpl.this) { collected = myCollectedEvents; if (collected.startModCount == myPointerSetModCount) { diff --git a/platform/util/src/com/intellij/util/containers/ContainerUtil.java b/platform/util/src/com/intellij/util/containers/ContainerUtil.java index cc0366cf9604..4cd2b0565964 100644 --- a/platform/util/src/com/intellij/util/containers/ContainerUtil.java +++ b/platform/util/src/com/intellij/util/containers/ContainerUtil.java @@ -16,9 +16,9 @@ import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.function.Consumer; import java.util.function.IntFunction; -@SuppressWarnings("MethodOverridesStaticMethodOfSuperclass") @ApiStatus.NonExtendable // cannot be final because of https://plugins.jetbrains.com/plugin/7831-illuminated-cloud public class ContainerUtil { @@ -84,7 +84,6 @@ public class ContainerUtil { /** * @deprecated Use {@link TreeMap#TreeMap(Map)} */ - @SuppressWarnings("unused") @Contract(pure = true) @Deprecated public static @NotNull , V> TreeMap newTreeMap(@NotNull Map map) { @@ -647,7 +646,7 @@ public class ContainerUtil { } @Override - public void forEach(java.util.function.Consumer action) { + public void forEach(Consumer action) { myStore.forEach(action); } } @@ -682,7 +681,7 @@ public class ContainerUtil { } @Override - public void forEach(java.util.function.Consumer action) { + public void forEach(Consumer action) { //noinspection ForLoopReplaceableByForEach for (int i = 0, length = myStore.length; i < length; i++) { action.accept(myStore[i]);