From d553ff0c92f8b91bd31d5aee36f1438e8368043c Mon Sep 17 00:00:00 2001 From: Maksim Zuev Date: Mon, 18 Dec 2023 19:14:38 +0100 Subject: [PATCH] [coverage] Refactor pass CoverageRunner in constructor instead of setter GitOrigin-RevId: 44916a57f7f71d610b3815dad6c870a21d157807 --- .../coverage/CoverageEnabledConfiguration.java | 16 +++++++++++++++- .../JavaCoverageEnabledConfiguration.java | 4 ++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/plugins/coverage-common/src/com/intellij/execution/configurations/coverage/CoverageEnabledConfiguration.java b/plugins/coverage-common/src/com/intellij/execution/configurations/coverage/CoverageEnabledConfiguration.java index 216f98425d17..1fcdff23f2fe 100644 --- a/plugins/coverage-common/src/com/intellij/execution/configurations/coverage/CoverageEnabledConfiguration.java +++ b/plugins/coverage-common/src/com/intellij/execution/configurations/coverage/CoverageEnabledConfiguration.java @@ -41,10 +41,20 @@ public abstract class CoverageEnabledConfiguration implements JDOMExternalizable protected @NonNls String myCoverageFilePath; private CoverageSuite myCurrentCoverageSuite; + /** + * + * @deprecated Use {@link CoverageEnabledConfiguration#CoverageEnabledConfiguration(RunConfigurationBase, CoverageRunner)} + */ + @Deprecated public CoverageEnabledConfiguration(@NotNull RunConfigurationBase configuration) { myConfiguration = configuration; } + public CoverageEnabledConfiguration(@NotNull RunConfigurationBase configuration, @NotNull CoverageRunner runner) { + myConfiguration = configuration; + myCoverageRunner = runner; + } + public @NotNull RunConfigurationBase getConfiguration() { return myConfiguration; } @@ -57,7 +67,11 @@ public abstract class CoverageEnabledConfiguration implements JDOMExternalizable return myCoverageRunner; } - public void setCoverageRunner(final @Nullable CoverageRunner coverageRunner) { + /** + * @deprecated Use {@link CoverageEnabledConfiguration#CoverageEnabledConfiguration(RunConfigurationBase, CoverageRunner)} + */ + @Deprecated + public void setCoverageRunner(@Nullable CoverageRunner coverageRunner) { myCoverageRunner = coverageRunner; myCoverageFilePath = null; } diff --git a/plugins/coverage/src/com/intellij/execution/configurations/coverage/JavaCoverageEnabledConfiguration.java b/plugins/coverage/src/com/intellij/execution/configurations/coverage/JavaCoverageEnabledConfiguration.java index 41325aa5a316..410a53f23f95 100644 --- a/plugins/coverage/src/com/intellij/execution/configurations/coverage/JavaCoverageEnabledConfiguration.java +++ b/plugins/coverage/src/com/intellij/execution/configurations/coverage/JavaCoverageEnabledConfiguration.java @@ -25,6 +25,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * Base class for java run configurations with enabled code coverage @@ -41,8 +42,7 @@ public final class JavaCoverageEnabledConfiguration extends CoverageEnabledConfi public JavaCoverageEnabledConfiguration(RunConfigurationBase configuration) { - super(configuration); - setCoverageRunner(CoverageRunner.getInstance(IDEACoverageRunner.class)); + super(configuration, Objects.requireNonNull(CoverageRunner.getInstance(IDEACoverageRunner.class))); } public void downloadReport(@NotNull TargetEnvironment environment, @NotNull ProgressIndicator indicator) throws IOException {