diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/AllClassesGetter.java b/java/java-impl/src/com/intellij/codeInsight/completion/AllClassesGetter.java index ac8297def978..1bdedafa4219 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/AllClassesGetter.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/AllClassesGetter.java @@ -140,9 +140,10 @@ public class AllClassesGetter { } }; - public static void processJavaClasses(final CompletionParameters parameters, - final PrefixMatcher prefixMatcher, final boolean filterByScope, - final Consumer consumer) { + public static void processJavaClasses(@NotNull final CompletionParameters parameters, + @NotNull final PrefixMatcher prefixMatcher, + final boolean filterByScope, + @NotNull final Consumer consumer) { final PsiElement context = parameters.getPosition(); final Project project = context.getProject(); final GlobalSearchScope scope = filterByScope ? context.getContainingFile().getResolveScope() : GlobalSearchScope.allScope(project); @@ -167,10 +168,10 @@ public class AllClassesGetter { processJavaClasses(prefixMatcher, project, scope, processor); } - public static void processJavaClasses(final PrefixMatcher prefixMatcher, - Project project, - GlobalSearchScope scope, - Processor processor) { + public static void processJavaClasses(@NotNull final PrefixMatcher prefixMatcher, + @NotNull Project project, + @NotNull GlobalSearchScope scope, + @NotNull Processor processor) { AllClassesSearch.search(scope, project, new Condition() { @Override public boolean value(String s) { diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaClassNameCompletionContributor.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaClassNameCompletionContributor.java index 6bb6999eee23..df113a5a77a1 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaClassNameCompletionContributor.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaClassNameCompletionContributor.java @@ -79,7 +79,7 @@ public class JavaClassNameCompletionContributor extends CompletionContributor { return false; } - public static void addAllClasses(CompletionParameters parameters, + public static void addAllClasses(@NotNull CompletionParameters parameters, final boolean filterByScope, @NotNull final PrefixMatcher matcher, @NotNull final Consumer consumer) { diff --git a/java/java-indexing-api/src/com/intellij/psi/search/searches/AllClassesSearch.java b/java/java-indexing-api/src/com/intellij/psi/search/searches/AllClassesSearch.java index 5ce8995988c1..21027204c180 100644 --- a/java/java-indexing-api/src/com/intellij/psi/search/searches/AllClassesSearch.java +++ b/java/java-indexing-api/src/com/intellij/psi/search/searches/AllClassesSearch.java @@ -22,10 +22,12 @@ package com.intellij.psi.search.searches; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Condition; +import com.intellij.openapi.util.Conditions; import com.intellij.psi.PsiClass; import com.intellij.psi.search.SearchScope; import com.intellij.util.Query; import com.intellij.util.QueryExecutor; +import org.jetbrains.annotations.NotNull; public class AllClassesSearch extends ExtensibleQueryFactory { public static ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.allClassesSearch"); @@ -36,20 +38,22 @@ public class AllClassesSearch extends ExtensibleQueryFactory myShortNameCondition; - public SearchParameters(final SearchScope scope, final Project project) { - this(scope, project, Condition.TRUE); + public SearchParameters(@NotNull SearchScope scope, @NotNull Project project) { + this(scope, project, Conditions.alwaysTrue()); } - public SearchParameters(final SearchScope scope, final Project project, final Condition shortNameCondition) { + public SearchParameters(@NotNull SearchScope scope, @NotNull Project project, @NotNull Condition shortNameCondition) { myScope = scope; myProject = project; myShortNameCondition = shortNameCondition; } + @NotNull public SearchScope getScope() { return myScope; } + @NotNull public Project getProject() { return myProject; } @@ -59,11 +63,13 @@ public class AllClassesSearch extends ExtensibleQueryFactory search(SearchScope scope, Project project) { + @NotNull + public static Query search(@NotNull SearchScope scope, @NotNull Project project) { return INSTANCE.createQuery(new SearchParameters(scope, project)); } - public static Query search(SearchScope scope, Project project, Condition shortNameCondition) { + @NotNull + public static Query search(@NotNull SearchScope scope, @NotNull Project project, @NotNull Condition shortNameCondition) { return INSTANCE.createQuery(new SearchParameters(scope, project, shortNameCondition)); } } \ No newline at end of file diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/search/AllClassesSearchExecutor.java b/java/java-indexing-impl/src/com/intellij/psi/impl/search/AllClassesSearchExecutor.java index b2e0d84850df..23dd5c77d3d3 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/search/AllClassesSearchExecutor.java +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/search/AllClassesSearchExecutor.java @@ -50,7 +50,7 @@ public class AllClassesSearchExecutor implements QueryExecutor() { @Override public String[] compute() { @@ -81,7 +82,9 @@ public class AllClassesSearchExecutor implements QueryExecutor processor, final AllClassesSearch.SearchParameters parameters) { + private static boolean processAllClassesInGlobalScope(@NotNull final GlobalSearchScope scope, + @NotNull AllClassesSearch.SearchParameters parameters, + @NotNull Processor processor) { String[] names = getAllClassNames(parameters.getProject()); final ProgressIndicator indicator = ProgressIndicatorProvider.getGlobalProgressIndicator(); if (indicator != null) { @@ -129,7 +132,7 @@ public class AllClassesSearchExecutor implements QueryExecutor processor) { + private static boolean processScopeRootForAllClasses(@NotNull PsiElement scopeRoot, @NotNull final Processor processor) { final boolean[] stopped = {false}; JavaElementVisitor visitor = scopeRoot instanceof PsiCompiledElement ? new JavaRecursiveElementVisitor() { diff --git a/platform/core-api/src/com/intellij/openapi/startup/StartupActivity.java b/platform/core-api/src/com/intellij/openapi/startup/StartupActivity.java index 3be4959393fe..ec353637d6c9 100644 --- a/platform/core-api/src/com/intellij/openapi/startup/StartupActivity.java +++ b/platform/core-api/src/com/intellij/openapi/startup/StartupActivity.java @@ -17,6 +17,7 @@ package com.intellij.openapi.startup; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.project.Project; +import org.jetbrains.annotations.NotNull; /** * @author Dmitry Avdeev @@ -27,5 +28,5 @@ public interface StartupActivity { ExtensionPointName POST_STARTUP_ACTIVITY = ExtensionPointName.create("com.intellij.postStartupActivity"); - void runActivity(Project project); + void runActivity(@NotNull Project project); } diff --git a/platform/core-api/src/com/intellij/pom/PomModel.java b/platform/core-api/src/com/intellij/pom/PomModel.java index 6d26a90ace8c..eab7ff6dc07c 100644 --- a/platform/core-api/src/com/intellij/pom/PomModel.java +++ b/platform/core-api/src/com/intellij/pom/PomModel.java @@ -19,19 +19,20 @@ import com.intellij.openapi.Disposable; import com.intellij.openapi.util.UserDataHolder; import com.intellij.pom.event.PomModelListener; import com.intellij.util.IncorrectOperationException; +import org.jetbrains.annotations.NotNull; import java.util.Set; public interface PomModel extends UserDataHolder { - T getModelAspect(Class aClass); + T getModelAspect(@NotNull Class aClass); - void registerAspect(Class aClass, - PomModelAspect aspect, - Set dependencies); + void registerAspect(@NotNull Class aClass, + @NotNull PomModelAspect aspect, + @NotNull Set dependencies); - void addModelListener(PomModelListener listener); - void addModelListener(PomModelListener listener, Disposable parentDisposable); - void removeModelListener(PomModelListener listener); + void addModelListener(@NotNull PomModelListener listener); + void addModelListener(@NotNull PomModelListener listener, @NotNull Disposable parentDisposable); + void removeModelListener(@NotNull PomModelListener listener); - void runTransaction(PomTransaction transaction) throws IncorrectOperationException; + void runTransaction(@NotNull PomTransaction transaction) throws IncorrectOperationException; } \ No newline at end of file diff --git a/platform/core-impl/src/com/intellij/pom/core/impl/PomModelImpl.java b/platform/core-impl/src/com/intellij/pom/core/impl/PomModelImpl.java index 9b0097798992..56440978072e 100644 --- a/platform/core-impl/src/com/intellij/pom/core/impl/PomModelImpl.java +++ b/platform/core-impl/src/com/intellij/pom/core/impl/PomModelImpl.java @@ -70,13 +70,13 @@ public class PomModelImpl extends UserDataHolderBase implements PomModel { } @Override - public T getModelAspect(Class aClass) { + public T getModelAspect(@NotNull Class aClass) { //noinspection unchecked return (T)myAspects.get(aClass); } @Override - public void registerAspect(Class aClass, PomModelAspect aspect, Set dependencies) { + public void registerAspect(@NotNull Class aClass, @NotNull PomModelAspect aspect, @NotNull Set dependencies) { myAspects.put(aClass, aspect); final Iterator iterator = dependencies.iterator(); final List deps = new ArrayList(); @@ -110,12 +110,12 @@ public class PomModelImpl extends UserDataHolderBase implements PomModel { } @Override - public void addModelListener(PomModelListener listener) { + public void addModelListener(@NotNull PomModelListener listener) { myListeners.add(listener); } @Override - public void addModelListener(final PomModelListener listener, Disposable parentDisposable) { + public void addModelListener(@NotNull final PomModelListener listener, @NotNull Disposable parentDisposable) { addModelListener(listener); Disposer.register(parentDisposable, new Disposable() { @Override @@ -126,14 +126,14 @@ public class PomModelImpl extends UserDataHolderBase implements PomModel { } @Override - public void removeModelListener(PomModelListener listener) { + public void removeModelListener(@NotNull PomModelListener listener) { myListeners.remove(listener); } private final Stack> myBlockedAspects = new Stack>(); @Override - public void runTransaction(PomTransaction transaction) throws IncorrectOperationException{ + public void runTransaction(@NotNull PomTransaction transaction) throws IncorrectOperationException{ List throwables = new ArrayList(0); synchronized(PsiLock.LOCK){ final PomModelAspect aspect = transaction.getTransactionAspect(); @@ -233,20 +233,20 @@ public class PomModelImpl extends UserDataHolderBase implements PomModel { if (containingFileByTree != null) { boolean isFromCommit = ApplicationManager.getApplication().isDispatchThread() && ApplicationManager.getApplication().hasWriteAction(CommitToPsiFileAction.class); - if (!isFromCommit && !synchronizer.isIgnorePsiEvents()) { + if (!isFromCommit && !synchronizer.isIgnorePsiEvents()) { reparseParallelTrees(containingFileByTree); } } if (progressIndicator != null) progressIndicator.finishNonCancelableSection(); } - + private void reparseParallelTrees(PsiFile changedFile) { List allFiles = changedFile.getViewProvider().getAllFiles(); if (allFiles.size() <= 1) { return; } - + String newText = changedFile.getNode().getText(); for (final PsiFile file : allFiles) { if (file != changedFile) { @@ -266,7 +266,7 @@ public class PomModelImpl extends UserDataHolderBase implements PomModel { private void reparseFile(final PsiFile file, String newText, String oldText) { if (oldText.equals(newText)) return; - + PsiToDocumentSynchronizer synchronizer =((PsiDocumentManagerBase)PsiDocumentManager.getInstance(myProject)).getSynchronizer(); int changeStart = StringUtil.commonPrefixLength(oldText, newText); int changeEnd = oldText.length() - StringUtil.commonSuffixLength(oldText, newText); diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/ExternalSystemStartupActivity.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/ExternalSystemStartupActivity.java index 19a597df075c..cc2225bf4f21 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/ExternalSystemStartupActivity.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/ExternalSystemStartupActivity.java @@ -26,6 +26,7 @@ import com.intellij.openapi.externalSystem.util.ExternalSystemUtil; import com.intellij.openapi.project.Project; import com.intellij.openapi.startup.StartupActivity; import com.intellij.openapi.startup.StartupManager; +import org.jetbrains.annotations.NotNull; /** * @author Denis Zhdanov @@ -34,7 +35,7 @@ import com.intellij.openapi.startup.StartupManager; public class ExternalSystemStartupActivity implements StartupActivity { @Override - public void runActivity(final Project project) { + public void runActivity(@NotNull final Project project) { Runnable task = new Runnable() { @SuppressWarnings("unchecked") @Override @@ -61,6 +62,6 @@ public class ExternalSystemStartupActivity implements StartupActivity { } else { StartupManager.getInstance(project).registerPostStartupActivity(task); - } + } } } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/PassExecutorService.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/PassExecutorService.java index dba116f66eaf..6b8cfb5b8bdf 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/PassExecutorService.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/PassExecutorService.java @@ -83,8 +83,10 @@ public abstract class PassExecutorService implements Disposable { if (waitForTermination) { for (Job job : mySubmittedPasses.values()) { try { - JobImpl ji = (JobImpl)job; - if (!job.isDone()) ji.waitForTermination(); + if (job instanceof JobImpl) { + JobImpl ji = (JobImpl)job; + if (!job.isDone()) ji.waitForTermination(); + } } catch (Throwable throwable) { LOG.error(throwable); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/documentation/QuickDocOnMouseOverStartupActivity.java b/platform/lang-impl/src/com/intellij/codeInsight/documentation/QuickDocOnMouseOverStartupActivity.java index 99dd92ebd14e..c0832194f30b 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/documentation/QuickDocOnMouseOverStartupActivity.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/documentation/QuickDocOnMouseOverStartupActivity.java @@ -19,6 +19,7 @@ import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.editor.ex.EditorSettingsExternalizable; import com.intellij.openapi.project.Project; import com.intellij.openapi.startup.StartupActivity; +import org.jetbrains.annotations.NotNull; /** * @author Denis Zhdanov @@ -27,7 +28,7 @@ import com.intellij.openapi.startup.StartupActivity; public class QuickDocOnMouseOverStartupActivity implements StartupActivity { @Override - public void runActivity(Project project) { + public void runActivity(@NotNull Project project) { if (EditorSettingsExternalizable.getInstance().isShowQuickDocOnMouseOverElement()) { ServiceManager.getService(QuickDocOnMouseOverManager.class).setEnabled(true); } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/highlighting/BraceHighlighter.java b/platform/lang-impl/src/com/intellij/codeInsight/highlighting/BraceHighlighter.java index c304a65d7445..597610416c9f 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/highlighting/BraceHighlighter.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/highlighting/BraceHighlighter.java @@ -39,7 +39,7 @@ public class BraceHighlighter implements StartupActivity { private final Alarm myAlarm = new Alarm(); @Override - public void runActivity(final Project project) { + public void runActivity(@NotNull final Project project) { final EditorEventMulticaster eventMulticaster = EditorFactory.getInstance().getEventMulticaster(); CaretListener myCaretListener = new CaretListener() { diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java index 8ef61c8be297..68d5c090ea2c 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java @@ -255,10 +255,7 @@ public class CodeFormatterFacade { private static TextRange preprocess(@NotNull final ASTNode node, @NotNull TextRange range) { TextRange result = range; PsiElement psi = node.getPsi(); - if (!psi.isValid()) { - for(PreFormatProcessor processor: Extensions.getExtensions(PreFormatProcessor.EP_NAME)) { - result = processor.process(node, result); - } + if (!psi.isValid()) { return result; } diff --git a/platform/platform-impl/src/com/intellij/ide/TipOfTheDayManager.java b/platform/platform-impl/src/com/intellij/ide/TipOfTheDayManager.java index 30d093d10f43..3c510c0a7ac8 100644 --- a/platform/platform-impl/src/com/intellij/ide/TipOfTheDayManager.java +++ b/platform/platform-impl/src/com/intellij/ide/TipOfTheDayManager.java @@ -20,12 +20,13 @@ import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; import com.intellij.openapi.startup.StartupActivity; import com.intellij.openapi.wm.ToolWindowManager; +import org.jetbrains.annotations.NotNull; public class TipOfTheDayManager implements StartupActivity, DumbAware { private boolean myVeryFirstProjectOpening = true; @Override - public void runActivity(final Project project) { + public void runActivity(@NotNull final Project project) { if (!myVeryFirstProjectOpening || !GeneralSettings.getInstance().showTipsOnStartup()) { return; } diff --git a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionPreloader.java b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionPreloader.java index 749d4d5b7acb..1d1915cf37a5 100644 --- a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionPreloader.java +++ b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionPreloader.java @@ -20,6 +20,7 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; import com.intellij.openapi.startup.StartupActivity; +import org.jetbrains.annotations.NotNull; /** * @author yole @@ -27,7 +28,7 @@ import com.intellij.openapi.startup.StartupActivity; public class ActionPreloader implements StartupActivity, DumbAware { @Override - public void runActivity(Project project) { + public void runActivity(@NotNull Project project) { if (!ApplicationManager.getApplication().isUnitTestMode() && !ApplicationManager.getApplication().isHeadlessEnvironment()) { ((ActionManagerImpl)ActionManager.getInstance()).preloadActions(); } diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/OpenFilesActivity.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/OpenFilesActivity.java index dadf8b638792..62866d357dde 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/OpenFilesActivity.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/OpenFilesActivity.java @@ -21,6 +21,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.startup.StartupActivity; import com.intellij.openapi.util.registry.Registry; import com.intellij.util.ui.UIUtil; +import org.jetbrains.annotations.NotNull; /** * @author Dmitry Avdeev @@ -29,7 +30,7 @@ import com.intellij.util.ui.UIUtil; public class OpenFilesActivity implements StartupActivity, DumbAware { @Override - public void runActivity(Project project) { + public void runActivity(@NotNull Project project) { final FileEditorManager fileEditorManager = FileEditorManager.getInstance(project); if (fileEditorManager instanceof FileEditorManagerImpl) { Runnable runnable = new Runnable() { diff --git a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/ApproveRemovedMappingsActivity.java b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/ApproveRemovedMappingsActivity.java index f5a46c9e2390..3734165ffa7f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/ApproveRemovedMappingsActivity.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileTypes/impl/ApproveRemovedMappingsActivity.java @@ -40,7 +40,7 @@ import java.util.Map; */ public class ApproveRemovedMappingsActivity implements StartupActivity { @Override - public void runActivity(final Project project) { + public void runActivity(@NotNull final Project project) { final Map> map = ((FileTypeManagerImpl)FileTypeManager.getInstance()).getRemovedMappings(); if (!map.isEmpty()) { UIUtil.invokeAndWaitIfNeeded(new Runnable() { diff --git a/platform/platform-impl/src/com/intellij/platform/FilesystemToolwindowOpener.java b/platform/platform-impl/src/com/intellij/platform/FilesystemToolwindowOpener.java index 3c21f12fa40c..c1f1717c49d6 100644 --- a/platform/platform-impl/src/com/intellij/platform/FilesystemToolwindowOpener.java +++ b/platform/platform-impl/src/com/intellij/platform/FilesystemToolwindowOpener.java @@ -20,6 +20,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.startup.StartupActivity; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.ToolWindowManager; +import org.jetbrains.annotations.NotNull; /** * @author yole @@ -27,7 +28,7 @@ import com.intellij.openapi.wm.ToolWindowManager; public class FilesystemToolwindowOpener implements StartupActivity, DumbAware { @Override - public void runActivity(final Project project) { + public void runActivity(@NotNull final Project project) { final VirtualFile baseDir = ProjectBaseDirectory.getInstance(project).getBaseDir(); if (baseDir == null || !baseDir.isDirectory()) return; ToolWindowManager.getInstance(project).invokeLater(new Runnable() { diff --git a/platform/platform-impl/src/org/jetbrains/ide/BuiltInServerManagerImpl.java b/platform/platform-impl/src/org/jetbrains/ide/BuiltInServerManagerImpl.java index 18fdc01588ee..006f88b834cb 100644 --- a/platform/platform-impl/src/org/jetbrains/ide/BuiltInServerManagerImpl.java +++ b/platform/platform-impl/src/org/jetbrains/ide/BuiltInServerManagerImpl.java @@ -16,6 +16,7 @@ import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.ShutDownTracker; import org.jboss.netty.channel.ChannelException; import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; import org.jetbrains.io.BuiltInServer; @@ -68,7 +69,7 @@ public class BuiltInServerManagerImpl extends BuiltInServerManager { private boolean veryFirstProjectOpening = true; @Override - public void runActivity(Project project) { + public void runActivity(@NotNull Project project) { if (!veryFirstProjectOpening) { return; } diff --git a/platform/util/src/com/intellij/util/CollectConsumer.java b/platform/util/src/com/intellij/util/CollectConsumer.java index 7a9a4cb37003..620712a97700 100644 --- a/platform/util/src/com/intellij/util/CollectConsumer.java +++ b/platform/util/src/com/intellij/util/CollectConsumer.java @@ -15,6 +15,8 @@ */ package com.intellij.util; +import org.jetbrains.annotations.NotNull; + import java.util.Collection; /** @@ -23,7 +25,7 @@ import java.util.Collection; public class CollectConsumer implements Consumer { private final Collection myResult; - public CollectConsumer(Collection result) { + public CollectConsumer(@NotNull Collection result) { myResult = result; } @@ -31,10 +33,12 @@ public class CollectConsumer implements Consumer { this(new SmartList()); } + @Override public void consume(T t) { myResult.add(t); } + @NotNull public Collection getResult() { return myResult; } diff --git a/platform/util/src/com/intellij/util/SynchronizedCollectConsumer.java b/platform/util/src/com/intellij/util/SynchronizedCollectConsumer.java new file mode 100644 index 000000000000..75704df86d4a --- /dev/null +++ b/platform/util/src/com/intellij/util/SynchronizedCollectConsumer.java @@ -0,0 +1,40 @@ +/* + * Copyright 2000-2013 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.util; + +import org.jetbrains.annotations.NotNull; + +import java.util.Collection; + +public class SynchronizedCollectConsumer extends CollectConsumer { + public SynchronizedCollectConsumer(@NotNull Collection result) { + super(result); + } + public SynchronizedCollectConsumer() { + super(); + } + + @Override + public synchronized void consume(T t) { + super.consume(t); + } + + @NotNull + @Override + public synchronized Collection getResult() { + return super.getResult(); + } +} diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/GradleManager.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/GradleManager.java index ff8d62bfb81f..e0a1304e2f26 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/GradleManager.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/GradleManager.java @@ -212,7 +212,7 @@ implements ExternalSystemConfigurableAware, ExternalSystemUiAware, ExternalSyste for (String jar : gradleJars) { classPath.add(new File(gradleJarsDir, jar).getAbsolutePath()); } - + List additionalEntries = ContainerUtilRt.newArrayList(); ContainerUtilRt.addIfNotNull(additionalEntries, PathUtil.getJarPathForClass(JavaProjectData.class)); ContainerUtilRt.addIfNotNull(additionalEntries, PathUtil.getJarPathForClass(LanguageLevel.class)); @@ -283,7 +283,7 @@ implements ExternalSystemConfigurableAware, ExternalSystemUiAware, ExternalSyste } @Override - public void runActivity(final Project project) { + public void runActivity(@NotNull final Project project) { // We want to automatically refresh linked projects on gradle service directory change. MessageBusConnection connection = project.getMessageBus().connect(project); connection.subscribe(GradleSettings.getInstance(project).getChangesTopic(), new GradleSettingsListenerAdapter() { @@ -292,9 +292,9 @@ implements ExternalSystemConfigurableAware, ExternalSystemUiAware, ExternalSyste ExternalSystemUtil.refreshProjects(project, GradleConstants.SYSTEM_ID, true); } }); - + // We used to assume that gradle scripts are always named 'build.gradle' and kept path to that build.gradle file at ide settings. - // However, it was found out that that is incorrect assumption (IDEA-109064). Now we keep paths to gradle script's directories + // However, it was found out that that is incorrect assumption (IDEA-109064). Now we keep paths to gradle script's directories // instead. However, we don't want to force old users to re-import gradle projects because of that. That's why we check gradle // config and re-point it from build.gradle to the parent dir if necessary. Map adjustedPaths = patchLinkedProjects(project); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcProjectWithoutLibraryNotificator.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcProjectWithoutLibraryNotificator.java index 149acd03fb92..f5ba037958b0 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcProjectWithoutLibraryNotificator.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcProjectWithoutLibraryNotificator.java @@ -26,7 +26,7 @@ import javax.swing.event.HyperlinkEvent; public class MvcProjectWithoutLibraryNotificator implements StartupActivity, DumbAware { @Override - public void runActivity(final Project project) { + public void runActivity(@NotNull final Project project) { AccessToken accessToken = ApplicationManager.getApplication().acquireReadActionLock(); try { diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/library/RepositoryLibrarySynchronizer.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/library/RepositoryLibrarySynchronizer.java index a8e39b04b318..af17d42be16a 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/library/RepositoryLibrarySynchronizer.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/library/RepositoryLibrarySynchronizer.java @@ -66,7 +66,7 @@ import java.util.Map; */ public class RepositoryLibrarySynchronizer implements StartupActivity, DumbAware{ @Override - public void runActivity(final Project project) { + public void runActivity(@NotNull final Project project) { StartupManager.getInstance(project).registerPostStartupActivity(new DumbAwareRunnable() { @Override public void run() {