From 7cb78d21c933ae38776f836d7268e01fd3b3e6bb Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Tue, 22 Mar 2011 18:57:41 +0300 Subject: [PATCH] cleanup --- .../intellij/lang/LanguageDocumentation.java | 6 ++--- .../lang/folding/LanguageFolding.java | 6 ++--- .../impl/source/codeStyle/CodeEditUtil.java | 3 +-- .../psi/impl/source/tree/LeafElement.java | 2 +- .../com/intellij/lang/LanguageExtension.java | 14 ++++------- .../ui/ApplyNonConflicts.java | 3 ++- .../openapi/editor/impl/EditorImpl.java | 5 ++-- .../intellij/util/IJSwingUtilitiesTest.java | 4 ++-- .../intellij/util/containers/CollectUtil.java | 24 +++++++++---------- .../util/containers/ContainerUtil.java | 19 +++++++++------ 10 files changed, 42 insertions(+), 44 deletions(-) diff --git a/platform/lang-api/src/com/intellij/lang/LanguageDocumentation.java b/platform/lang-api/src/com/intellij/lang/LanguageDocumentation.java index 130a63b34452..d67283065d98 100644 --- a/platform/lang-api/src/com/intellij/lang/LanguageDocumentation.java +++ b/platform/lang-api/src/com/intellij/lang/LanguageDocumentation.java @@ -21,7 +21,7 @@ package com.intellij.lang; import com.intellij.lang.documentation.CompositeDocumentationProvider; import com.intellij.lang.documentation.DocumentationProvider; -import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; import java.util.List; @@ -32,11 +32,11 @@ public class LanguageDocumentation extends LanguageExtension providers = allForLanguage(l); if (providers.size() < 2) { return super.forLanguage(l); } return CompositeDocumentationProvider.wrapProviders(providers); } -} \ No newline at end of file +} diff --git a/platform/lang-api/src/com/intellij/lang/folding/LanguageFolding.java b/platform/lang-api/src/com/intellij/lang/folding/LanguageFolding.java index b3c1d77c6b7d..4a2a4238c4c0 100644 --- a/platform/lang-api/src/com/intellij/lang/folding/LanguageFolding.java +++ b/platform/lang-api/src/com/intellij/lang/folding/LanguageFolding.java @@ -21,8 +21,8 @@ import com.intellij.lang.Language; import com.intellij.lang.LanguageExtension; import com.intellij.openapi.editor.Document; import com.intellij.openapi.project.DumbService; -import com.intellij.openapi.project.DumbAware; import com.intellij.psi.PsiElement; +import org.jetbrains.annotations.NotNull; import java.util.List; @@ -38,7 +38,7 @@ public class LanguageFolding extends LanguageExtension { } @Override - public FoldingBuilder forLanguage(Language l) { + public FoldingBuilder forLanguage(@NotNull Language l) { FoldingBuilder cached = l.getUserData(getLanguageCache()); if (cached != null) return cached; @@ -77,4 +77,4 @@ public class LanguageFolding extends LanguageExtension { return builder.buildFoldRegions(astNode, document); } -} \ No newline at end of file +} diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeEditUtil.java b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeEditUtil.java index 0237d6756ade..f3f17275ffb5 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeEditUtil.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeEditUtil.java @@ -406,8 +406,7 @@ public class CodeEditUtil { public static void setOldIndentation(final TreeElement treeElement, final int oldIndentation) { if(treeElement == null) return; - if(oldIndentation >= 0) treeElement.putCopyableUserData(INDENT_INFO, oldIndentation); - else treeElement.putCopyableUserData(INDENT_INFO, null); + treeElement.putCopyableUserData(INDENT_INFO, oldIndentation >= 0 ? oldIndentation : null); } public static boolean isMarkedToReformatBefore(final TreeElement element) { diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/LeafElement.java b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/LeafElement.java index 52323e3a37f6..5946b573b5b1 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/tree/LeafElement.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/tree/LeafElement.java @@ -83,7 +83,7 @@ public abstract class LeafElement extends TreeElement { return leafTextMatches(text, buffer, start); } - public static int leafTextMatches(CharSequence text, CharSequence buffer, int start) { + public static int leafTextMatches(@NotNull CharSequence text, @NotNull CharSequence buffer, int start) { final int length = text.length(); if(buffer.length() - start < length) return -1; for(int i = 0; i < length; i++){ diff --git a/platform/platform-api/src/com/intellij/lang/LanguageExtension.java b/platform/platform-api/src/com/intellij/lang/LanguageExtension.java index fdec618383c6..9b36627f81aa 100644 --- a/platform/platform-api/src/com/intellij/lang/LanguageExtension.java +++ b/platform/platform-api/src/com/intellij/lang/LanguageExtension.java @@ -43,27 +43,21 @@ public class LanguageExtension extends KeyedExtensionCollector { return key.getID(); } - public T forLanguage(Language l) { + public T forLanguage(@NotNull Language l) { T cached = l.getUserData(IN_LANGUAGE_CACHE); if (cached != null) return cached; List extensions = forKey(l); T result; if (extensions.isEmpty()) { - Language base = l.getBaseLanguage(); - if (base != null) { - result = forLanguage(base); - } - else { - result = myDefaultImplementation; - } + result = base == null ? myDefaultImplementation : forLanguage(base); } else { result = extensions.get(0); } - - l.putUserData(IN_LANGUAGE_CACHE, result); + if (result == null) return result; + l.putUserDataIfAbsent(IN_LANGUAGE_CACHE, result); return result; } diff --git a/platform/platform-impl/src/com/intellij/openapi/diff/impl/incrementalMerge/ui/ApplyNonConflicts.java b/platform/platform-impl/src/com/intellij/openapi/diff/impl/incrementalMerge/ui/ApplyNonConflicts.java index 75f62da8b6eb..4ea4bf781df4 100644 --- a/platform/platform-impl/src/com/intellij/openapi/diff/impl/incrementalMerge/ui/ApplyNonConflicts.java +++ b/platform/platform-impl/src/com/intellij/openapi/diff/impl/incrementalMerge/ui/ApplyNonConflicts.java @@ -28,6 +28,7 @@ import com.intellij.util.containers.FilteringIterator; import java.util.ArrayList; import java.util.Iterator; +import java.util.List; public class ApplyNonConflicts extends AnAction implements DumbAware { public ApplyNonConflicts() { @@ -36,7 +37,7 @@ public class ApplyNonConflicts extends AnAction implements DumbAware { public void actionPerformed(AnActionEvent e) { DataContext dataContext = e.getDataContext(); - ArrayList notConflicts = ContainerUtil.collect(getNotConflicts(dataContext)); + List notConflicts = ContainerUtil.collect(getNotConflicts(dataContext)); for (Change change : notConflicts) { Change.apply(change, MergeList.BRANCH_SIDE); } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index 7abe6909a02b..b71ce84d2def 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -228,7 +228,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi private boolean myGutterNeedsUpdate = false; private Alarm myAppleRepaintAlarm; - private Alarm myMouseSelectionStateAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD); + private final Alarm myMouseSelectionStateAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD); private Runnable myMouseSelectionStateResetRunnable; private boolean myEmbeddedIntoDialogWrapper; @@ -4695,8 +4695,6 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi } private boolean processMousePressed(MouseEvent e) { - boolean isNavigation = false; - myInitialMouseEvent = e; if (myMouseSelectionState != MOUSE_SELECTION_STATE_NONE && System.currentTimeMillis() - myMouseSelectionChangeTimestamp > Registry.intValue( @@ -4711,6 +4709,7 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi if (y < 0) y = 0; final EditorMouseEventArea eventArea = getMouseEventArea(e); + boolean isNavigation = false; if (eventArea == EditorMouseEventArea.FOLDING_OUTLINE_AREA) { final FoldRegion range = myGutterComponent.findFoldingAnchorAt(x, y); if (range != null) { diff --git a/platform/platform-impl/testSrc/com/intellij/util/IJSwingUtilitiesTest.java b/platform/platform-impl/testSrc/com/intellij/util/IJSwingUtilitiesTest.java index 3ac0465a6e91..16a52883fcab 100644 --- a/platform/platform-impl/testSrc/com/intellij/util/IJSwingUtilitiesTest.java +++ b/platform/platform-impl/testSrc/com/intellij/util/IJSwingUtilitiesTest.java @@ -20,7 +20,7 @@ import junit.framework.TestCase; import javax.swing.*; import java.awt.*; -import java.util.ArrayList; +import java.util.List; public class IJSwingUtilitiesTest extends TestCase { private final JPanel myPanel = new JPanel(); @@ -52,7 +52,7 @@ public class IJSwingUtilitiesTest extends TestCase { CHECK.compareAll(new JComponent[]{label1, subPanel, label2, label3, label4}, getChildren()); } - private ArrayList getChildren() { + private List getChildren() { return ContainerUtil.collect(IJSwingUtilities.getChildren(myPanel)); } diff --git a/platform/util/src/com/intellij/util/containers/CollectUtil.java b/platform/util/src/com/intellij/util/containers/CollectUtil.java index 87387804bfa3..b72ce8006c6d 100644 --- a/platform/util/src/com/intellij/util/containers/CollectUtil.java +++ b/platform/util/src/com/intellij/util/containers/CollectUtil.java @@ -17,22 +17,22 @@ package com.intellij.util.containers; import com.intellij.openapi.util.Condition; -import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Set; /** * @deprecated use {@link ContainerUtil} */ @Deprecated public abstract class CollectUtil { - public abstract HashSet toSet(Iterator iterator); + public abstract Set toSet(Iterator iterator); - public HashSet toSet(Iterator iterator, Convertor convertor) { + public Set toSet(Iterator iterator, Convertor convertor) { return toSet(ConvertingIterator.create(iterator, convertor)); } - public HashSet toSet(Dom[] objects, Convertor convertor) { + public Set toSet(Dom[] objects, Convertor convertor) { return toSet(ContainerUtil.iterate(objects), convertor); } @@ -40,14 +40,14 @@ public abstract class CollectUtil { return toList(iterator).toArray(); } - public abstract ArrayList toList(Iterator iterator); + public abstract List toList(Iterator iterator); - public ArrayList toList(Iterator iterator, Convertor convertor) { + public List toList(Iterator iterator, Convertor convertor) { ConvertingIterator iterator1 = ConvertingIterator.create(iterator, convertor); return toList(iterator1); } - public ArrayList toList(Dom[] objects, Convertor convertor) { + public List toList(Dom[] objects, Convertor convertor) { return toList(ContainerUtil.iterate(objects), convertor); } @@ -60,12 +60,12 @@ public abstract class CollectUtil { } public static final CollectUtil COLLECT = new CollectUtil() { - public HashSet toSet(Iterator iterator) { + public Set toSet(Iterator iterator) { return ContainerUtil.collectSet(iterator); } - public ArrayList toList(Iterator iterator) { - return (ArrayList)ContainerUtil.collect(iterator); + public List toList(Iterator iterator) { + return (List)ContainerUtil.collect(iterator); } }; @@ -78,12 +78,12 @@ public abstract class CollectUtil { myCondition = condition; } - public ArrayList toList(Iterator iterator) { + public List toList(Iterator iterator) { Iterator iterator1 = FilteringIterator.create(iterator, myCondition); return COLLECT.toList((Iterator)(Iterator)iterator1); } - public HashSet toSet(Iterator iterator) { + public Set toSet(Iterator iterator) { return COLLECT.toSet(FilteringIterator.create(iterator, (Condition)myCondition)); } } diff --git a/platform/util/src/com/intellij/util/containers/ContainerUtil.java b/platform/util/src/com/intellij/util/containers/ContainerUtil.java index f9e13020654d..531680d45241 100644 --- a/platform/util/src/com/intellij/util/containers/ContainerUtil.java +++ b/platform/util/src/com/intellij/util/containers/ContainerUtil.java @@ -25,7 +25,6 @@ import gnu.trove.TObjectHashingStrategy; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.io.Serializable; import java.lang.reflect.Array; import java.util.*; import java.util.concurrent.CopyOnWriteArrayList; @@ -134,15 +133,18 @@ public class ContainerUtil { } } - public static ArrayList collect(@NotNull Iterator iterator) { - ArrayList list = new ArrayList(); + @NotNull + public static List collect(@NotNull Iterator iterator) { + if (!iterator.hasNext()) return Collections.emptyList(); + List list = new ArrayList(); addAll(list, iterator); return list; } @NotNull - public static HashSet collectSet(@NotNull Iterator iterator) { - HashSet hashSet = new HashSet(); + public static Set collectSet(@NotNull Iterator iterator) { + if (!iterator.hasNext()) return Collections.emptySet(); + Set hashSet = new HashSet(); addAll(hashSet, iterator); return hashSet; } @@ -477,7 +479,7 @@ public class ContainerUtil { } @NotNull - public static ArrayList collect(@NotNull Iterator iterator, @NotNull FilteringIterator.InstanceOf instanceOf) { + public static List collect(@NotNull Iterator iterator, @NotNull FilteringIterator.InstanceOf instanceOf) { return collect(FilteringIterator.create((Iterator)iterator, instanceOf)); } @@ -1087,7 +1089,10 @@ public class ContainerUtil { y1.add(newY.toNativeArray()); } - private static class EmptyList extends AbstractList implements RandomAccess, Serializable { + /** + * has optimized toArray() as opposed to the {@link java.util.Collections#emptyList()} + */ + private static class EmptyList extends AbstractList implements RandomAccess { private static final EmptyList INSTANCE = new EmptyList(); public int size() {