From 349902f5659c79bcc64fb4238f55f81ecdc5242f Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Mon, 17 Oct 2016 18:32:48 +0300 Subject: [PATCH] notnull --- .../execution/filters/CompositeFilter.java | 2 +- .../intellij/execution/ui/ConsoleView.java | 6 +- .../execution/console/DuplexConsoleView.java | 6 +- .../console/LanguageConsoleImpl.java | 2 + .../execution/impl/ConsoleBuffer.java | 28 +-- .../intellij/execution/impl/ConsoleUtil.java | 2 +- .../execution/impl/ConsoleViewImpl.java | 162 ++++++++---------- .../execution/impl/ConsoleViewUtil.java | 1 + .../sm/runner/ui/SMTRunnerConsoleView.java | 2 +- .../ui/BaseTestsOutputConsoleView.java | 6 +- .../gradle/execution/TaskExecutionView.java | 6 +- .../python/console/PythonConsoleView.java | 1 + 12 files changed, 108 insertions(+), 116 deletions(-) diff --git a/platform/lang-api/src/com/intellij/execution/filters/CompositeFilter.java b/platform/lang-api/src/com/intellij/execution/filters/CompositeFilter.java index 57f508757b8f..e659920d6a51 100644 --- a/platform/lang-api/src/com/intellij/execution/filters/CompositeFilter.java +++ b/platform/lang-api/src/com/intellij/execution/filters/CompositeFilter.java @@ -194,7 +194,7 @@ public class CompositeFilter implements Filter, FilterMixin { return myIsAnyHeavy; } - public void addFilter(final Filter filter) { + public void addFilter(@NotNull Filter filter) { myFilters.add(filter); myIsAnyHeavy |= filter instanceof FilterMixin; } diff --git a/platform/lang-api/src/com/intellij/execution/ui/ConsoleView.java b/platform/lang-api/src/com/intellij/execution/ui/ConsoleView.java index 3f2568d9c2ba..2af233072646 100644 --- a/platform/lang-api/src/com/intellij/execution/ui/ConsoleView.java +++ b/platform/lang-api/src/com/intellij/execution/ui/ConsoleView.java @@ -36,13 +36,13 @@ public interface ConsoleView extends ExecutionConsole { boolean hasDeferredOutput(); - void performWhenNoDeferredOutput(Runnable runnable); + void performWhenNoDeferredOutput(@NotNull Runnable runnable); void setHelpId(String helpId); - void addMessageFilter(Filter filter); + void addMessageFilter(@NotNull Filter filter); - void printHyperlink(String hyperlinkText, HyperlinkInfo info); + void printHyperlink(@NotNull String hyperlinkText, HyperlinkInfo info); int getContentSize(); diff --git a/platform/lang-impl/src/com/intellij/execution/console/DuplexConsoleView.java b/platform/lang-impl/src/com/intellij/execution/console/DuplexConsoleView.java index 1cae1f736cce..8c72b69b7fe3 100644 --- a/platform/lang-impl/src/com/intellij/execution/console/DuplexConsoleView.java +++ b/platform/lang-impl/src/com/intellij/execution/console/DuplexConsoleView.java @@ -182,7 +182,7 @@ public class DuplexConsoleView ext } @Override - public void performWhenNoDeferredOutput(Runnable runnable) { + public void performWhenNoDeferredOutput(@NotNull Runnable runnable) { } @Override @@ -192,13 +192,13 @@ public class DuplexConsoleView ext } @Override - public void addMessageFilter(Filter filter) { + public void addMessageFilter(@NotNull Filter filter) { myPrimaryConsoleView.addMessageFilter(filter); mySecondaryConsoleView.addMessageFilter(filter); } @Override - public void printHyperlink(String hyperlinkText, HyperlinkInfo info) { + public void printHyperlink(@NotNull String hyperlinkText, HyperlinkInfo info) { myPrimaryConsoleView.printHyperlink(hyperlinkText, info); mySecondaryConsoleView.printHyperlink(hyperlinkText, info); } diff --git a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java index 4a6d810db291..a7c6bdbce32b 100644 --- a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java @@ -149,6 +149,7 @@ public class LanguageConsoleImpl extends ConsoleViewImpl implements LanguageCons ApplicationManager.getApplication().invokeLater(() -> installEditorFactoryListener(), getProject().getDisposed()); } + @NotNull @Override protected final EditorEx doCreateConsoleEditor() { return myHistoryViewer; @@ -158,6 +159,7 @@ public class LanguageConsoleImpl extends ConsoleViewImpl implements LanguageCons protected final void disposeEditor() { } + @NotNull @Override protected JComponent createCenterComponent() { initComponents(); diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleBuffer.java b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleBuffer.java index 9eb50e879b36..e0c8ff90d160 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleBuffer.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleBuffer.java @@ -263,7 +263,7 @@ public class ConsoleBuffer { /** * Asks current buffer to store given text of the given type. * - * @param s text to store + * @param text text to store * @param contentType type of the given text * @param info hyperlink info for the given text (if any) * @return text that is actually stored (there is a possible case that the buffer is full and given text's type @@ -271,11 +271,11 @@ public class ConsoleBuffer { * or partially) and number of existed symbols removed during storing the given data */ @NotNull - public Pair print(@NotNull String s, @NotNull ConsoleViewContentType contentType, @Nullable HyperlinkInfo info) { - int numberOfSymbolsToProceed = s.length(); + public Pair print(@NotNull String text, @NotNull ConsoleViewContentType contentType, @Nullable HyperlinkInfo info) { + int numberOfSymbolsToProceed = text.length(); int trimmedSymbolsNumber = myDeferredOutputLength; if (contentType != ConsoleViewContentType.USER_INPUT) { - numberOfSymbolsToProceed = trimDeferredOutputIfNecessary(s.length()); + numberOfSymbolsToProceed = trimDeferredOutputIfNecessary(text.length()); trimmedSymbolsNumber -= myDeferredOutputLength; } else { @@ -286,15 +286,15 @@ public class ConsoleBuffer { return new Pair<>("", 0); } - if (numberOfSymbolsToProceed < s.length()) { - s = s.substring(s.length() - numberOfSymbolsToProceed); + if (numberOfSymbolsToProceed < text.length()) { + text = text.substring(text.length() - numberOfSymbolsToProceed); } myDeferredTypes.add(contentType); - s = StringUtil.convertLineSeparators(s, myKeepSlashR); + text = StringUtil.convertLineSeparators(text, myKeepSlashR); - myDeferredOutputLength += s.length(); + myDeferredOutputLength += text.length(); StringBuilder bufferToUse; if (myDeferredOutput.isEmpty()) { myDeferredOutput.add(bufferToUse = new StringBuilder(myCyclicBufferUnitSize)); @@ -303,24 +303,24 @@ public class ConsoleBuffer { bufferToUse = myDeferredOutput.getLast(); } int offset = 0; - while (offset < s.length()) { + while (offset < text.length()) { if (bufferToUse.length() >= myCyclicBufferUnitSize) { myDeferredOutput.add(bufferToUse = new StringBuilder(myCyclicBufferUnitSize)); } if (bufferToUse.length() < myCyclicBufferUnitSize) { - int numberOfSymbolsToAdd = Math.min(myCyclicBufferUnitSize - bufferToUse.length(), s.length() - offset); - bufferToUse.append(s.substring(offset, offset + numberOfSymbolsToAdd)); + int numberOfSymbolsToAdd = Math.min(myCyclicBufferUnitSize - bufferToUse.length(), text.length() - offset); + bufferToUse.append(text.substring(offset, offset + numberOfSymbolsToAdd)); offset += numberOfSymbolsToAdd; } } if (contentType == ConsoleViewContentType.USER_INPUT) { - myDeferredUserInput.append(s); + myDeferredUserInput.append(text); } - ConsoleUtil.addToken(s.length(), info, contentType, myDeferredTokens); - return new Pair<>(s, trimmedSymbolsNumber); + ConsoleUtil.addToken(text.length(), info, contentType, myDeferredTokens); + return new Pair<>(text, trimmedSymbolsNumber); } //private void checkState() { diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleUtil.java b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleUtil.java index a917ebfc0ab0..9c1d215fba9a 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleUtil.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleUtil.java @@ -36,7 +36,7 @@ public class ConsoleUtil { private ConsoleUtil() { } - public static void addToken(int length, @Nullable HyperlinkInfo info, ConsoleViewContentType contentType, @NotNull List tokens) { + public static void addToken(int length, @Nullable HyperlinkInfo info, @NotNull ConsoleViewContentType contentType, @NotNull List tokens) { int startOffset = 0; if (!tokens.isEmpty()) { final TokenInfo lastToken = tokens.get(tokens.size() - 1); diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java index 43d7856ab442..8ccbc4be4284 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java @@ -69,6 +69,7 @@ import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.tree.IElementType; import com.intellij.ui.awt.RelativePoint; import com.intellij.util.*; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.text.CharArrayUtil; import com.intellij.util.ui.UIUtil; import gnu.trove.TIntObjectHashMap; @@ -113,6 +114,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo private final DisposedPsiManagerCheck myPsiDisposedCheck; private final boolean myIsViewer; + @NotNull private ConsoleState myState; private final Alarm mySpareTimeAlarm = new Alarm(this); @@ -170,15 +172,16 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo }); myFolding.clear(); - updateFoldings(0, myEditor.getDocument().getLineCount() - 1, true); + updateFoldings(0, myEditor.getDocument().getLineCount() - 1); } static class TokenInfo { + @NotNull final ConsoleViewContentType contentType; int startOffset; int endOffset; - TokenInfo(ConsoleViewContentType contentType, int startOffset, int endOffset) { + TokenInfo(@NotNull ConsoleViewContentType contentType, int startOffset, int endOffset) { this.contentType = contentType; this.startOffset = startOffset; this.endOffset = endOffset; @@ -200,13 +203,15 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } static class HyperlinkTokenInfo extends TokenInfo { + @NotNull private final HyperlinkInfo myHyperlinkInfo; - HyperlinkTokenInfo(final ConsoleViewContentType contentType, final int startOffset, final int endOffset, HyperlinkInfo hyperlinkInfo) { + HyperlinkTokenInfo(@NotNull ConsoleViewContentType contentType, final int startOffset, final int endOffset, @NotNull HyperlinkInfo hyperlinkInfo) { super(contentType, startOffset, endOffset); myHyperlinkInfo = hyperlinkInfo; } + @NotNull @Override public HyperlinkInfo getHyperlinkInfo() { return myHyperlinkInfo; @@ -252,7 +257,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo private final Alarm myFoldingAlarm = new Alarm(this); private final List myPendingFoldRegions = new ArrayList<>(); - public ConsoleViewImpl(final Project project, boolean viewer) { + public ConsoleViewImpl(@NotNull Project project, boolean viewer) { this(project, GlobalSearchScope.allScope(project), viewer, true); } @@ -411,7 +416,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo }); } - private void addFlushRequest(MyFlushRunnable scrollRunnable) { + private void addFlushRequest(@NotNull MyFlushRunnable scrollRunnable) { addFlushRequest(scrollRunnable, 0); } @@ -423,7 +428,6 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } } - private static void assertIsDispatchThread() { ApplicationManager.getApplication().assertIsDispatchThread(); } @@ -453,7 +457,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } @Override - public void performWhenNoDeferredOutput(final Runnable runnable) { + public void performWhenNoDeferredOutput(@NotNull Runnable runnable) { //Q: implement in another way without timer? if (!hasDeferredOutput()) { runnable.run(); @@ -463,7 +467,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } } - private void performLaterWhenNoDeferredOutput(final Runnable runnable) { + private void performLaterWhenNoDeferredOutput(@NotNull Runnable runnable) { if (mySpareTimeAlarm.isDisposed()) return; mySpareTimeAlarm.addRequest( () -> performWhenNoDeferredOutput(runnable), @@ -473,6 +477,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } @Override + @NotNull public JComponent getComponent() { if (myMainPanel == null) { myMainPanel = new JPanel(new BorderLayout()); @@ -559,6 +564,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } } + @NotNull protected JComponent createCenterComponent() { return myEditor.getComponent(); } @@ -589,12 +595,9 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } protected void disposeEditor() { - UIUtil.invokeAndWaitIfNeeded(new Runnable() { - @Override - public void run() { - if (!myEditor.isDisposed()) { - EditorFactory.getInstance().releaseEditor(myEditor); - } + UIUtil.invokeAndWaitIfNeeded((Runnable)() -> { + if (!myEditor.isDisposed()) { + EditorFactory.getInstance().releaseEditor(myEditor); } }); } @@ -619,13 +622,13 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } } - private void printHyperlink(@NotNull String s, @NotNull ConsoleViewContentType contentType, @Nullable HyperlinkInfo info) { + private void printHyperlink(@NotNull String text, @NotNull ConsoleViewContentType contentType, @Nullable HyperlinkInfo info) { synchronized (LOCK) { - Pair pair = myBuffer.print(s, contentType, info); - s = pair.first; - myContentSize += s.length() - pair.second; + Pair pair = myBuffer.print(text, contentType, info); + text = pair.first; + myContentSize += text.length() - pair.second; - if (contentType == ConsoleViewContentType.USER_INPUT && NEW_LINE_MATCHER.indexIn(s) >= 0) { + if (contentType == ConsoleViewContentType.USER_INPUT && NEW_LINE_MATCHER.indexIn(text) >= 0) { flushDeferredUserInput(); } if (myEditor != null) { @@ -635,7 +638,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } } - private void addToken(int length, @Nullable HyperlinkInfo info, ConsoleViewContentType contentType) { + private void addToken(int length, @Nullable HyperlinkInfo info, @NotNull ConsoleViewContentType contentType) { ConsoleUtil.addToken(length, info, contentType, myTokens); } @@ -854,49 +857,47 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } @Override - public void addMessageFilter(final Filter filter) { + public void addMessageFilter(@NotNull Filter filter) { myFilters.addFilter(filter); } @Override - public void printHyperlink(final String hyperlinkText, final HyperlinkInfo info) { + public void printHyperlink(@NotNull final String hyperlinkText, final HyperlinkInfo info) { printHyperlink(hyperlinkText, ConsoleViewContentType.NORMAL_OUTPUT, info); } + @NotNull private EditorEx createConsoleEditor() { - return ApplicationManager.getApplication().runReadAction(new Computable() { - @Override - public EditorEx compute() { - EditorEx editor = doCreateConsoleEditor(); - LOG.assertTrue(UndoUtil.isUndoDisabledFor(editor.getDocument())); - editor.setContextMenuGroupId(null); // disabling default context menu - editor.addEditorMouseListener(new EditorPopupHandler() { - @Override - public void invokePopup(final EditorMouseEvent event) { - popupInvoked(event.getMouseEvent()); - } - }); - editor.getDocument().addDocumentListener(new DocumentAdapter() { - @Override - public void documentChanged(DocumentEvent event) { - onDocumentChanged(event); - } - }, ConsoleViewImpl.this); + return ApplicationManager.getApplication().runReadAction((Computable)() -> { + EditorEx editor = doCreateConsoleEditor(); + LOG.assertTrue(UndoUtil.isUndoDisabledFor(editor.getDocument())); + editor.setContextMenuGroupId(null); // disabling default context menu + editor.addEditorMouseListener(new EditorPopupHandler() { + @Override + public void invokePopup(final EditorMouseEvent event) { + popupInvoked(event.getMouseEvent()); + } + }); + editor.getDocument().addDocumentListener(new DocumentAdapter() { + @Override + public void documentChanged(DocumentEvent event) { + onDocumentChanged(event); + } + }, this); - int bufferSize = myBuffer.isUseCyclicBuffer() ? myBuffer.getCyclicBufferSize() : 0; - editor.getDocument().setCyclicBufferSize(bufferSize); + int bufferSize = myBuffer.isUseCyclicBuffer() ? myBuffer.getCyclicBufferSize() : 0; + editor.getDocument().setCyclicBufferSize(bufferSize); - editor.putUserData(CONSOLE_VIEW_IN_EDITOR_VIEW, ConsoleViewImpl.this); + editor.putUserData(CONSOLE_VIEW_IN_EDITOR_VIEW, this); - editor.getSettings().setAllowSingleLogicalLineFolding(true); // We want to fold long soft-wrapped command lines - editor.setHighlighter(createHighlighter()); + editor.getSettings().setAllowSingleLogicalLineFolding(true); // We want to fold long soft-wrapped command lines + editor.setHighlighter(createHighlighter()); - return editor; - } + return editor; }); } - private void onDocumentChanged(DocumentEvent event) { + private void onDocumentChanged(@NotNull DocumentEvent event) { if (event.getNewLength() == 0) { // string has been removed, adjust token ranges synchronized (LOCK) { @@ -931,10 +932,12 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } } + @NotNull protected EditorEx doCreateConsoleEditor() { return ConsoleViewUtil.setupConsoleEditor(myProject, true, false); } + @NotNull protected MyHighlighter createHighlighter() { return new MyHighlighter(); } @@ -955,18 +958,18 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } } - private static void registerActionHandler(final Editor editor, final String actionId) { + private static void registerActionHandler(@NotNull Editor editor, @NotNull String actionId) { AnAction action = ActionManager.getInstance().getAction(actionId); action.registerCustomShortcutSet(action.getShortcutSet(), editor.getContentComponent()); } - private static void registerActionHandler(final Editor editor, final String actionId, final AnAction action) { + private static void registerActionHandler(@NotNull Editor editor, @NotNull String actionId, @NotNull AnAction action) { final Keymap keymap = KeymapManager.getInstance().getActiveKeymap(); final Shortcut[] shortcuts = keymap.getShortcuts(actionId); action.registerCustomShortcutSet(new CustomShortcutSet(shortcuts), editor.getContentComponent()); } - private void popupInvoked(MouseEvent mouseEvent) { + private void popupInvoked(@NotNull MouseEvent mouseEvent) { final ActionManager actionManager = ActionManager.getInstance(); final HyperlinkInfo info = myHyperlinks != null ? myHyperlinks.getHyperlinkInfoByPoint(mouseEvent.getPoint()) : null; ActionGroup group = null; @@ -987,7 +990,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo menu.getComponent().show(mouseEvent.getComponent(), mouseEvent.getX(), mouseEvent.getY()); } - private void highlightHyperlinksAndFoldings(RangeMarker lastProcessedOutput) { + private void highlightHyperlinksAndFoldings(@NotNull RangeMarker lastProcessedOutput) { boolean canHighlightHyperlinks = !myFilters.isEmpty(); if (!canHighlightHyperlinks && myUpdateFoldingsEnabled) { @@ -1006,7 +1009,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo runHeavyFilters(line1, endLine); } if (myUpdateFoldingsEnabled) { - updateFoldings(line1, endLine, true); + updateFoldings(line1, endLine); } } @@ -1062,7 +1065,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo }, 0); } - private void updateFoldings(final int line1, final int endLine, boolean immediately) { + private void updateFoldings(final int line1, final int endLine) { final Document document = myEditor.getDocument(); final CharSequence chars = document.getCharsSequence(); final int startLine = Math.max(0, line1); @@ -1084,53 +1087,40 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo addFolding(document, chars, line, toAdd, flushOnly); } if (!toAdd.isEmpty()) { - doUpdateFolding(toAdd, immediately); + doUpdateFolding(toAdd); } } - private void doUpdateFolding(final List toAdd, final boolean immediately) { + private void doUpdateFolding(@NotNull List toAdd) { assertIsDispatchThread(); myPendingFoldRegions.addAll(toAdd); myFoldingAlarm.cancelAllRequests(); - final Runnable runnable = () -> { - if (myEditor == null || myEditor.isDisposed()) { - return; - } + if (myEditor == null || myEditor.isDisposed()) { + return; + } + assertIsDispatchThread(); + final FoldingModel model = myEditor.getFoldingModel(); + final Runnable operation = () -> { assertIsDispatchThread(); - final FoldingModel model = myEditor.getFoldingModel(); - final Runnable operation = () -> { - assertIsDispatchThread(); - for (FoldRegion region : myPendingFoldRegions) { - region.setExpanded(false); - model.addFoldRegion(region); - } - myPendingFoldRegions.clear(); - }; - if (immediately) { - model.runBatchFoldingOperation(operation); - } - else { - model.runBatchFoldingOperationDoNotCollapseCaret(operation); + for (FoldRegion region : myPendingFoldRegions) { + region.setExpanded(false); + model.addFoldRegion(region); } + myPendingFoldRegions.clear(); }; - if (immediately || myPendingFoldRegions.size() > 100) { - runnable.run(); - } - else { - myFoldingAlarm.addRequest(runnable, 50); - } + model.runBatchFoldingOperation(operation); } - private void addFolding(Document document, CharSequence chars, int line, List toAdd, boolean flushOnly) { + private void addFolding(@NotNull Document document, @NotNull CharSequence chars, int line, @NotNull List toAdd, boolean flushOnly) { ConsoleFolding current = null; if (!flushOnly) { String commandLinePlaceholder = myCommandLineFolding.getPlaceholder(line); if (commandLinePlaceholder != null) { FoldRegion region = myEditor.getFoldingModel() .createFoldRegion(document.getLineStartOffset(line), document.getLineEndOffset(line), commandLinePlaceholder, null, false); - toAdd.add(region); + ContainerUtil.addIfNotNull(toAdd, region); return; } String lineText = EditorHyperlinkSupport.getLineText(document, line, false); @@ -1161,15 +1151,14 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo String placeholder = prevFolding.getPlaceholderText(toFold); FoldRegion region = placeholder == null ? null : myEditor.getFoldingModel().createFoldRegion(oStart, oEnd, placeholder, null, false); - if (region != null) { - toAdd.add(region); - } + ContainerUtil.addIfNotNull(toAdd, region); } } @Nullable private static ConsoleFolding foldingForLine(@NotNull String lineText) { - for (ConsoleFolding folding : ConsoleFolding.EP_NAME.getExtensions()) { + ConsoleFolding[] foldings = ConsoleFolding.EP_NAME.getExtensions(); + for (ConsoleFolding folding : foldings) { if (folding.shouldFoldLine(lineText)) { return folding; } @@ -1181,7 +1170,6 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo public static class ClearAllAction extends DumbAwareAction { private final ConsoleView myConsoleView; - @SuppressWarnings("unused") public ClearAllAction() { this(null); } diff --git a/platform/platform-impl/src/com/intellij/execution/impl/ConsoleViewUtil.java b/platform/platform-impl/src/com/intellij/execution/impl/ConsoleViewUtil.java index a85e11bdf3ca..6ab5320ac327 100644 --- a/platform/platform-impl/src/com/intellij/execution/impl/ConsoleViewUtil.java +++ b/platform/platform-impl/src/com/intellij/execution/impl/ConsoleViewUtil.java @@ -58,6 +58,7 @@ public class ConsoleViewUtil { private static final Key REPLACE_ACTION_ENABLED = Key.create("REPLACE_ACTION_ENABLED"); + @NotNull public static EditorEx setupConsoleEditor(Project project, final boolean foldingOutlineShown, final boolean lineMarkerAreaShown) { EditorFactory editorFactory = EditorFactory.getInstance(); Document document = ((EditorFactoryImpl)editorFactory).createDocument(true); diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTRunnerConsoleView.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTRunnerConsoleView.java index d165dcb35239..619ee36ba32a 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTRunnerConsoleView.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTRunnerConsoleView.java @@ -128,7 +128,7 @@ public class SMTRunnerConsoleView extends BaseTestsOutputConsoleView { * @param info HyperlinkInfo */ @Override - public void printHyperlink(String hyperlinkText, HyperlinkInfo info) { + public void printHyperlink(@NotNull String hyperlinkText, HyperlinkInfo info) { myResultsViewer.getRoot().addLast(new HyperLink(hyperlinkText, info)); } diff --git a/platform/testRunner/src/com/intellij/execution/testframework/ui/BaseTestsOutputConsoleView.java b/platform/testRunner/src/com/intellij/execution/testframework/ui/BaseTestsOutputConsoleView.java index 2f3df4e2bfc7..e1d950aa10ba 100644 --- a/platform/testRunner/src/com/intellij/execution/testframework/ui/BaseTestsOutputConsoleView.java +++ b/platform/testRunner/src/com/intellij/execution/testframework/ui/BaseTestsOutputConsoleView.java @@ -107,7 +107,7 @@ public abstract class BaseTestsOutputConsoleView implements ConsoleView, Observa } @Override - public void performWhenNoDeferredOutput(final Runnable runnable) { + public void performWhenNoDeferredOutput(@NotNull final Runnable runnable) { myConsole.performWhenNoDeferredOutput(runnable); } @@ -117,12 +117,12 @@ public abstract class BaseTestsOutputConsoleView implements ConsoleView, Observa } @Override - public void addMessageFilter(final Filter filter) { + public void addMessageFilter(@NotNull final Filter filter) { myConsole.addMessageFilter(filter); } @Override - public void printHyperlink(final String hyperlinkText, final HyperlinkInfo info) { + public void printHyperlink(@NotNull final String hyperlinkText, final HyperlinkInfo info) { printNew(new HyperLink(hyperlinkText, info)); } diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/TaskExecutionView.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/TaskExecutionView.java index 875d63d278e0..3ab7cdecbb14 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/TaskExecutionView.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/TaskExecutionView.java @@ -307,7 +307,7 @@ public class TaskExecutionView implements ConsoleView, DataProvider { } @Override - public void performWhenNoDeferredOutput(Runnable runnable) { + public void performWhenNoDeferredOutput(@NotNull Runnable runnable) { } @@ -317,12 +317,12 @@ public class TaskExecutionView implements ConsoleView, DataProvider { } @Override - public void addMessageFilter(Filter filter) { + public void addMessageFilter(@NotNull Filter filter) { } @Override - public void printHyperlink(String hyperlinkText, HyperlinkInfo info) { + public void printHyperlink(@NotNull String hyperlinkText, HyperlinkInfo info) { } diff --git a/python/src/com/jetbrains/python/console/PythonConsoleView.java b/python/src/com/jetbrains/python/console/PythonConsoleView.java index 4c4c5b04afbe..2fef442ee2df 100644 --- a/python/src/com/jetbrains/python/console/PythonConsoleView.java +++ b/python/src/com/jetbrains/python/console/PythonConsoleView.java @@ -369,6 +369,7 @@ public class PythonConsoleView extends LanguageConsoleImpl implements Observable } + @NotNull @Override protected JComponent createCenterComponent() { //workaround for extra lines appearing in the console