From 07e8f9dacd61811216a109e89e1e20fd89f126f5 Mon Sep 17 00:00:00 2001 From: nik Date: Thu, 31 Jan 2019 19:30:14 +0300 Subject: [PATCH] compiler: mark CompileContext::getProject as @NotNull to simplify code It's now required to pass Project instance to DummyCompileContext. --- .../intellij/compiler/impl/CompileDriver.java | 6 ++-- .../server/AutomakeCompileContext.java | 1 + .../openapi/compiler/CompileContext.java | 1 + .../openapi/compiler/DummyCompileContext.java | 29 ++++++++++++++++--- 4 files changed, 30 insertions(+), 7 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java b/java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java index c139f1ee1a41..bd8ae04cf353 100644 --- a/java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java +++ b/java/compiler/impl/src/com/intellij/compiler/impl/CompileDriver.java @@ -94,7 +94,7 @@ public class CompileDriver { startup(scope, false, false, withModalProgress, callback, null); } else { - callback.finished(true, 0, 0, DummyCompileContext.getInstance()); + callback.finished(true, 0, 0, DummyCompileContext.create(myProject)); } } @@ -146,7 +146,7 @@ public class CompileDriver { startup(scope, false, true, callback, null); } else { - callback.finished(true, 0, 0, DummyCompileContext.getInstance()); + callback.finished(true, 0, 0, DummyCompileContext.create(myProject)); } } @@ -155,7 +155,7 @@ public class CompileDriver { startup(compileScope, true, false, callback, null); } else { - callback.finished(true, 0, 0, DummyCompileContext.getInstance()); + callback.finished(true, 0, 0, DummyCompileContext.create(myProject)); } } diff --git a/java/compiler/impl/src/com/intellij/compiler/server/AutomakeCompileContext.java b/java/compiler/impl/src/com/intellij/compiler/server/AutomakeCompileContext.java index 32fb714b2c50..e4626ee36fe2 100644 --- a/java/compiler/impl/src/com/intellij/compiler/server/AutomakeCompileContext.java +++ b/java/compiler/impl/src/com/intellij/compiler/server/AutomakeCompileContext.java @@ -34,6 +34,7 @@ final class AutomakeCompileContext extends UserDataHolderBase implements Compile myAnnotationProcessingEnabled = CompilerConfiguration.getInstance(project).isAnnotationProcessorsEnabled(); } + @NotNull @Override public Project getProject() { return myProject; diff --git a/java/compiler/openapi/src/com/intellij/openapi/compiler/CompileContext.java b/java/compiler/openapi/src/com/intellij/openapi/compiler/CompileContext.java index 6666ab624661..5c3cc5210f3f 100644 --- a/java/compiler/openapi/src/com/intellij/openapi/compiler/CompileContext.java +++ b/java/compiler/openapi/src/com/intellij/openapi/compiler/CompileContext.java @@ -144,6 +144,7 @@ public interface CompileContext extends UserDataHolder { boolean isRebuild(); + @NotNull Project getProject(); boolean isAnnotationProcessorsEnabled(); diff --git a/java/compiler/openapi/src/com/intellij/openapi/compiler/DummyCompileContext.java b/java/compiler/openapi/src/com/intellij/openapi/compiler/DummyCompileContext.java index c8456744303e..ce3ccf13ee6c 100644 --- a/java/compiler/openapi/src/com/intellij/openapi/compiler/DummyCompileContext.java +++ b/java/compiler/openapi/src/com/intellij/openapi/compiler/DummyCompileContext.java @@ -19,6 +19,7 @@ import com.intellij.openapi.application.ReadAction; import com.intellij.openapi.module.Module; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.project.Project; +import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.roots.CompilerModuleExtension; import com.intellij.openapi.util.Key; import com.intellij.openapi.vfs.VirtualFile; @@ -27,19 +28,39 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public class DummyCompileContext implements CompileContext { - protected DummyCompileContext() { + private final Project myProject; + + /** + * @deprecated use {@link #create(Project)} instead + */ + @Deprecated + public DummyCompileContext() { + this(ProjectManager.getInstance().getDefaultProject()); } - private static final DummyCompileContext OUR_INSTANCE = new DummyCompileContext(); + protected DummyCompileContext(Project project) { + myProject = project; + } + /** + * @deprecated use {@link #create(Project)} instead + * @return + */ + @Deprecated @NotNull public static DummyCompileContext getInstance() { - return OUR_INSTANCE; + return new DummyCompileContext(ProjectManager.getInstance().getDefaultProject()); } + @NotNull + public static DummyCompileContext create(@NotNull Project project) { + return new DummyCompileContext(project); + } + + @NotNull @Override public Project getProject() { - return null; + return myProject; } @Override