From 17b78c82d8ff87d8536ae75a00d1df8cdc14d10a Mon Sep 17 00:00:00 2001 From: Nikolay Chashnikov Date: Wed, 30 Apr 2025 08:56:22 +0200 Subject: [PATCH] [vcs] get rid of references to package-private members of intellij.platform.vcs.core from intellij.platform.vcs (IJPL-149126) A new public constructor is added to the 'Change' class to avoid using a protected method not from its subclass. GitOrigin-RevId: 388399ed29a05410a0892352e03a2b658d8e1e6e --- .idea/inspectionProfiles/idea_fatal_errors.xml | 2 -- .../openapi/vcs/changes/ChangeListChange.kt | 4 +--- .../com/intellij/openapi/vcs/changes/Change.java | 14 ++++++++++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.idea/inspectionProfiles/idea_fatal_errors.xml b/.idea/inspectionProfiles/idea_fatal_errors.xml index 77e68c4402f2..92f64d5dc0e6 100644 --- a/.idea/inspectionProfiles/idea_fatal_errors.xml +++ b/.idea/inspectionProfiles/idea_fatal_errors.xml @@ -4014,7 +4014,6 @@ - @@ -4023,7 +4022,6 @@ - diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/changes/ChangeListChange.kt b/platform/vcs-api/src/com/intellij/openapi/vcs/changes/ChangeListChange.kt index 8a76d9b22d04..982117be7fff 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/changes/ChangeListChange.kt +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/changes/ChangeListChange.kt @@ -52,9 +52,7 @@ class ChangeListChange( change.changeListId) } else { - return Change(bRev, aRev, change.fileStatus).also { - it.copyFieldsFrom(change) - } + return Change(bRev, aRev, change.fileStatus, change) } } } diff --git a/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/Change.java b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/Change.java index 3349ffb01783..48d00270a5ad 100644 --- a/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/Change.java +++ b/platform/vcs-api/vcs-api-core/src/com/intellij/openapi/vcs/changes/Change.java @@ -10,10 +10,7 @@ import com.intellij.openapi.vcs.VcsBundle; import com.intellij.openapi.vcs.impl.VcsPathPresenter; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.containers.ContainerUtil; -import org.jetbrains.annotations.Nls; -import org.jetbrains.annotations.NonNls; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.*; import javax.swing.*; import java.io.File; @@ -55,6 +52,15 @@ public class Change { myAfterRevision = afterRevision; myFileStatus = fileStatus == null ? convertStatus(beforeRevision, afterRevision) : fileStatus; } + + @ApiStatus.Internal + public Change(@Nullable ContentRevision beforeRevision, + @Nullable ContentRevision afterRevision, + @Nullable FileStatus fileStatus, + @NotNull Change change) { + this(beforeRevision, afterRevision, fileStatus); + copyFieldsFrom(change); + } protected void copyFieldsFrom(@NotNull Change change) { myOtherLayers = change.myOtherLayers != null ? new HashMap<>(change.myOtherLayers) : null;