From 93e34542ae798d9610ad5afb7484d3cc9bdba876 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 14 Jun 2013 14:41:32 +0400 Subject: [PATCH] notnull --- .../openapi/application/Application.java | 6 +++++- .../openapi/components/ComponentManager.java | 13 +++++++------ .../src/com/intellij/mock/MockApplication.java | 8 ++++++-- .../com/intellij/mock/MockComponentManager.java | 12 +++++++----- .../src/com/intellij/mock/MockProject.java | 3 ++- .../components/impl/ComponentManagerImpl.java | 9 +++++---- .../com/intellij/dvcs/test/MockProject.java | 16 +++++++++------- .../intellij/openapi/module/impl/ModuleImpl.java | 3 ++- .../application/impl/ApplicationImpl.java | 7 ++++++- .../openapi/command/impl/DummyProject.java | 14 ++++++++------ .../openapi/project/impl/ProjectImpl.java | 5 +++-- .../src/com/intellij/mock/MockApplicationEx.java | 5 +++-- .../intellij/testFramework/FlyIdeaTestCase.java | 1 + 13 files changed, 64 insertions(+), 38 deletions(-) diff --git a/platform/core-api/src/com/intellij/openapi/application/Application.java b/platform/core-api/src/com/intellij/openapi/application/Application.java index 6a4d2fa9e48d..bbf39c9dae02 100644 --- a/platform/core-api/src/com/intellij/openapi/application/Application.java +++ b/platform/core-api/src/com/intellij/openapi/application/Application.java @@ -331,6 +331,7 @@ public interface Application extends ComponentManager { * @param action to be executed * @return future result */ + @NotNull Future executeOnPooledThread(@NotNull Runnable action); /** @@ -338,6 +339,7 @@ public interface Application extends ComponentManager { * @param action to be executed * @return future result */ + @NotNull Future executeOnPooledThread(@NotNull Callable action); /** @@ -355,7 +357,7 @@ public interface Application extends ComponentManager { /** * Exits and restarts IDEA. If the current platform is not restart capable, only exits. - * + * * @since 8.1 */ void restart(); @@ -370,11 +372,13 @@ public interface Application extends ComponentManager { /** * Returns lock used for read operations, should be closed in finally block */ + @NotNull AccessToken acquireReadActionLock(); /** * Returns lock used for write operations, should be closed in finally block */ + @NotNull AccessToken acquireWriteActionLock(@Nullable Class marker); boolean isInternal(); diff --git a/platform/core-api/src/com/intellij/openapi/components/ComponentManager.java b/platform/core-api/src/com/intellij/openapi/components/ComponentManager.java index 1d7778f40ec4..32514a3348b4 100644 --- a/platform/core-api/src/com/intellij/openapi/components/ComponentManager.java +++ b/platform/core-api/src/com/intellij/openapi/components/ComponentManager.java @@ -40,7 +40,7 @@ public interface ComponentManager extends UserDataHolder, Disposable { * @return component with given name or null if there is no such component * @see com.intellij.openapi.components.NamedComponent#getComponentName() */ - BaseComponent getComponent(String name); + BaseComponent getComponent(@NotNull String name); /** * Gets the component by its interface class. @@ -48,7 +48,7 @@ public interface ComponentManager extends UserDataHolder, Disposable { * @param interfaceClass the interface class of the component * @return component that matches interface class or null if there is no such component */ - T getComponent(Class interfaceClass); + T getComponent(@NotNull Class interfaceClass); /** * Gets the component by its interface class but returns a specified default implementation @@ -58,7 +58,7 @@ public interface ComponentManager extends UserDataHolder, Disposable { * @param defaultImplementationIfAbsent the default implementation * @return component that matches interface class or default if there is no such component */ - T getComponent(Class interfaceClass, T defaultImplementationIfAbsent); + T getComponent(@NotNull Class interfaceClass, T defaultImplementationIfAbsent); /** * Checks whether there is a component with the specified interface class. @@ -72,21 +72,22 @@ public interface ComponentManager extends UserDataHolder, Disposable { /** * Gets all components whose implementation class is derived from baseClass. * - * @param baseClass * @return array of components * @deprecated use extension points instead */ @NotNull - T[] getComponents(Class baseClass); + T[] getComponents(@NotNull Class baseClass); @NotNull PicoContainer getPicoContainer(); + @NotNull MessageBus getMessageBus(); boolean isDisposed(); - T[] getExtensions(ExtensionPointName extensionPointName); + @NotNull + T[] getExtensions(@NotNull ExtensionPointName extensionPointName); /** * @return condition for this component being disposed. diff --git a/platform/core-impl/src/com/intellij/mock/MockApplication.java b/platform/core-impl/src/com/intellij/mock/MockApplication.java index b5a8eb108bd0..6ae89442796e 100644 --- a/platform/core-impl/src/com/intellij/mock/MockApplication.java +++ b/platform/core-impl/src/com/intellij/mock/MockApplication.java @@ -85,11 +85,13 @@ public class MockApplication extends MockComponentManager implements Application return true; } + @NotNull @Override public Future executeOnPooledThread(@NotNull Runnable action) { return ExecutorServiceHolder.ourThreadExecutorsService.submit(action); } + @NotNull @Override public Future executeOnPooledThread(@NotNull Callable action) { return ExecutorServiceHolder.ourThreadExecutorsService.submit(action); @@ -139,11 +141,13 @@ public class MockApplication extends MockComponentManager implements Application return computation.compute(); } + @NotNull @Override public AccessToken acquireReadActionLock() { return AccessToken.EMPTY_ACCESS_TOKEN; } + @NotNull @Override public AccessToken acquireWriteActionLock(@Nullable Class marker) { return AccessToken.EMPTY_ACCESS_TOKEN; @@ -250,10 +254,10 @@ public class MockApplication extends MockComponentManager implements Application @Override public void saveSettings() { } - + private static class ExecutorServiceHolder { private static final ExecutorService ourThreadExecutorsService = createServiceImpl(); - + private static ThreadPoolExecutor createServiceImpl() { return new ThreadPoolExecutor(10, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue(), new ThreadFactory() { @NotNull diff --git a/platform/core-impl/src/com/intellij/mock/MockComponentManager.java b/platform/core-impl/src/com/intellij/mock/MockComponentManager.java index f2261cc255a1..6950a31c4961 100644 --- a/platform/core-impl/src/com/intellij/mock/MockComponentManager.java +++ b/platform/core-impl/src/com/intellij/mock/MockComponentManager.java @@ -63,7 +63,7 @@ public class MockComponentManager extends UserDataHolderBase implements Componen } @Override - public BaseComponent getComponent(String name) { + public BaseComponent getComponent(@NotNull String name) { return null; } @@ -85,13 +85,13 @@ public class MockComponentManager extends UserDataHolderBase implements Componen } @Override - public T getComponent(Class interfaceClass) { + public T getComponent(@NotNull Class interfaceClass) { final Object o = myPicoContainer.getComponentInstance(interfaceClass); return (T)(o != null ? o : myComponents.get(interfaceClass)); } @Override - public T getComponent(Class interfaceClass, T defaultImplementation) { + public T getComponent(@NotNull Class interfaceClass, T defaultImplementation) { return getComponent(interfaceClass); } @@ -102,7 +102,7 @@ public class MockComponentManager extends UserDataHolderBase implements Componen @Override @NotNull - public T[] getComponents(Class baseClass) { + public T[] getComponents(@NotNull Class baseClass) { final List list = myPicoContainer.getComponentInstancesOfType(baseClass); return list.toArray((T[])Array.newInstance(baseClass, 0)); } @@ -113,6 +113,7 @@ public class MockComponentManager extends UserDataHolderBase implements Componen return myPicoContainer; } + @NotNull @Override public MessageBus getMessageBus() { return myMessageBus; @@ -127,8 +128,9 @@ public class MockComponentManager extends UserDataHolderBase implements Componen public void dispose() { } + @NotNull @Override - public T[] getExtensions(final ExtensionPointName extensionPointName) { + public T[] getExtensions(@NotNull final ExtensionPointName extensionPointName) { throw new UnsupportedOperationException("getExtensions()"); } diff --git a/platform/core-impl/src/com/intellij/mock/MockProject.java b/platform/core-impl/src/com/intellij/mock/MockProject.java index c5d8c8f44265..c1418a0cb176 100644 --- a/platform/core-impl/src/com/intellij/mock/MockProject.java +++ b/platform/core-impl/src/com/intellij/mock/MockProject.java @@ -136,8 +136,9 @@ public class MockProject extends MockComponentManager implements Project { public void save() { } + @NotNull @Override - public T[] getExtensions(final ExtensionPointName extensionPointName) { + public T[] getExtensions(@NotNull final ExtensionPointName extensionPointName) { return Extensions.getArea(this).getExtensionPoint(extensionPointName).getExtensions(); } diff --git a/platform/core-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java b/platform/core-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java index a33f22150dae..855c352affe9 100644 --- a/platform/core-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java +++ b/platform/core-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java @@ -90,6 +90,7 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements initComponents(); } + @NotNull @Override public MessageBus getMessageBus() { assert !myDisposeCompleted && !myDisposed : "Already disposed"; @@ -185,13 +186,13 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements } @Override - public T getComponent(Class interfaceClass) { + public T getComponent(@NotNull Class interfaceClass) { assert !myDisposeCompleted : "Already disposed: "+this; return getComponent(interfaceClass, null); } @Override - public T getComponent(Class interfaceClass, T defaultImplementation) { + public T getComponent(@NotNull Class interfaceClass, T defaultImplementation) { final T fromContainer = getComponentFromContainer(interfaceClass); if (fromContainer != null) return fromContainer; if (defaultImplementation != null) return defaultImplementation; @@ -255,7 +256,7 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements @Override @SuppressWarnings({"unchecked"}) @NotNull - public synchronized T[] getComponents(Class baseClass) { + public synchronized T[] getComponents(@NotNull Class baseClass) { return myComponentsRegistry.getComponentsByType(baseClass); } @@ -280,7 +281,7 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements } @Override - public synchronized BaseComponent getComponent(String name) { + public synchronized BaseComponent getComponent(@NotNull String name) { return myComponentsRegistry.getComponentByName(name); } diff --git a/platform/dvcs/testFramework/com/intellij/dvcs/test/MockProject.java b/platform/dvcs/testFramework/com/intellij/dvcs/test/MockProject.java index 8ec17c4fc134..7a54623a3af8 100644 --- a/platform/dvcs/testFramework/com/intellij/dvcs/test/MockProject.java +++ b/platform/dvcs/testFramework/com/intellij/dvcs/test/MockProject.java @@ -26,7 +26,7 @@ import com.intellij.openapi.util.Key; import org.jetbrains.annotations.NotNull; /** - * + * * @author Kirill Likhodedov */ public class MockProject implements Project { @@ -106,17 +106,17 @@ public class MockProject implements Project { } @Override - public BaseComponent getComponent(String name) { + public BaseComponent getComponent(@NotNull String name) { throw new UnsupportedOperationException(); } @Override - public T getComponent(Class interfaceClass) { + public T getComponent(@NotNull Class interfaceClass) { throw new UnsupportedOperationException(); } @Override - public T getComponent(Class interfaceClass, T defaultImplementationIfAbsent) { + public T getComponent(@NotNull Class interfaceClass, T defaultImplementationIfAbsent) { throw new UnsupportedOperationException(); } @@ -127,7 +127,7 @@ public class MockProject implements Project { @NotNull @Override - public T[] getComponents(Class baseClass) { + public T[] getComponents(@NotNull Class baseClass) { throw new UnsupportedOperationException(); } @@ -137,9 +137,10 @@ public class MockProject implements Project { throw new UnsupportedOperationException(); } + @NotNull @Override public MessageBus getMessageBus() { - return null; + throw new UnsupportedOperationException(); } @Override @@ -147,8 +148,9 @@ public class MockProject implements Project { return false; } + @NotNull @Override - public T[] getExtensions(ExtensionPointName extensionPointName) { + public T[] getExtensions(@NotNull ExtensionPointName extensionPointName) { throw new UnsupportedOperationException(); } diff --git a/platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleImpl.java b/platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleImpl.java index e963210c7537..8b252ee3c4f4 100644 --- a/platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleImpl.java +++ b/platform/lang-impl/src/com/intellij/openapi/module/impl/ModuleImpl.java @@ -329,8 +329,9 @@ public class ModuleImpl extends ComponentManagerImpl implements ModuleEx { return StringUtil.trimEnd(fileName, ModuleFileType.DOT_DEFAULT_EXTENSION); } + @NotNull @Override - public T[] getExtensions(final ExtensionPointName extensionPointName) { + public T[] getExtensions(@NotNull final ExtensionPointName extensionPointName) { return Extensions.getArea(this).getExtensionPoint(extensionPointName).getExtensions(); } diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java index f092d21e0e43..373b03c79534 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java @@ -421,6 +421,7 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application return myCommandLineMode; } + @NotNull @Override public Future executeOnPooledThread(@NotNull final Runnable action) { return ourThreadExecutorsService.submit(new Runnable() { @@ -443,6 +444,7 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application }); } + @NotNull @Override public Future executeOnPooledThread(@NotNull final Callable action) { return ourThreadExecutorsService.submit(new Callable() { @@ -1209,6 +1211,7 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application return myActive; } + @NotNull @Override public AccessToken acquireReadActionLock() { // if we are inside read action, do not try to acquire read lock again since it will deadlock if there is a pending writeAction @@ -1217,6 +1220,7 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application return new ReadAccessToken(); } + @NotNull @Override public AccessToken acquireWriteActionLock(Class clazz) { return new WriteAccessToken(clazz); @@ -1468,8 +1472,9 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application return myDoNotSave; } + @NotNull @Override - public T[] getExtensions(final ExtensionPointName extensionPointName) { + public T[] getExtensions(@NotNull final ExtensionPointName extensionPointName) { return Extensions.getRootArea().getExtensionPoint(extensionPointName).getExtensions(); } diff --git a/platform/platform-impl/src/com/intellij/openapi/command/impl/DummyProject.java b/platform/platform-impl/src/com/intellij/openapi/command/impl/DummyProject.java index f096b7ee3470..053e0e652f96 100644 --- a/platform/platform-impl/src/com/intellij/openapi/command/impl/DummyProject.java +++ b/platform/platform-impl/src/com/intellij/openapi/command/impl/DummyProject.java @@ -105,12 +105,12 @@ public class DummyProject extends UserDataHolderBase implements Project { } @Override - public BaseComponent getComponent(String name) { + public BaseComponent getComponent(@NotNull String name) { return null; } @Override - public T getComponent(Class interfaceClass) { + public T getComponent(@NotNull Class interfaceClass) { return null; } @@ -121,7 +121,7 @@ public class DummyProject extends UserDataHolderBase implements Project { @Override @NotNull - public T[] getComponents(Class baseClass) { + public T[] getComponents(@NotNull Class baseClass) { return (T[]) ArrayUtil.EMPTY_OBJECT_ARRAY; } @@ -132,7 +132,7 @@ public class DummyProject extends UserDataHolderBase implements Project { } @Override - public T getComponent(Class interfaceClass, T defaultImplementation) { + public T getComponent(@NotNull Class interfaceClass, T defaultImplementation) { return null; } @@ -177,17 +177,19 @@ public class DummyProject extends UserDataHolderBase implements Project { return false; } + @NotNull @Override public MessageBus getMessageBus() { - return null; + throw new UnsupportedOperationException(); } @Override public void dispose() { } + @NotNull @Override - public T[] getExtensions(final ExtensionPointName extensionPointName) { + public T[] getExtensions(@NotNull final ExtensionPointName extensionPointName) { throw new UnsupportedOperationException("getExtensions()"); } diff --git a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java index 995c845cca36..5e7ccd048e50 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java @@ -438,15 +438,16 @@ public class ProjectImpl extends ComponentManagerImpl implements ProjectEx { } } + @NotNull @Override - public T[] getExtensions(final ExtensionPointName extensionPointName) { + public T[] getExtensions(@NotNull final ExtensionPointName extensionPointName) { return Extensions.getArea(this).getExtensionPoint(extensionPointName).getExtensions(); } public String getDefaultName() { if (isDefault()) return TEMPLATE_PROJECT_NAME; - return getStateStore().getProjectName(); + return getStateStore().getProjectName(); } private class MyProjectManagerListener extends ProjectManagerAdapter { diff --git a/platform/testFramework/src/com/intellij/mock/MockApplicationEx.java b/platform/testFramework/src/com/intellij/mock/MockApplicationEx.java index 4aaa1814380f..ffe2799a914e 100644 --- a/platform/testFramework/src/com/intellij/mock/MockApplicationEx.java +++ b/platform/testFramework/src/com/intellij/mock/MockApplicationEx.java @@ -71,7 +71,7 @@ public class MockApplicationEx extends MockApplication implements ApplicationEx @Override public boolean isDoNotSave() { - return false; + return false; } @Override @@ -104,8 +104,9 @@ public class MockApplicationEx extends MockApplication implements ApplicationEx } + @NotNull @Override - public T[] getExtensions(final ExtensionPointName extensionPointName) { + public T[] getExtensions(@NotNull final ExtensionPointName extensionPointName) { return Extensions.getRootArea().getExtensionPoint(extensionPointName).getExtensions(); } diff --git a/platform/testFramework/src/com/intellij/testFramework/FlyIdeaTestCase.java b/platform/testFramework/src/com/intellij/testFramework/FlyIdeaTestCase.java index 358be4ad349a..02a39f148e24 100644 --- a/platform/testFramework/src/com/intellij/testFramework/FlyIdeaTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/FlyIdeaTestCase.java @@ -24,6 +24,7 @@ public abstract class FlyIdeaTestCase extends TestCase { final Application old = ApplicationManagerEx.getApplication(); myRootDisposable = Disposer.newDisposable(); MockApplicationEx app = new MockApplicationEx(getRootDisposable()) { + @NotNull @Override public Future executeOnPooledThread(@NotNull Runnable action) { return old != null ? old.executeOnPooledThread(action) : super.executeOnPooledThread(action);