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 40ba561ea62d..ffc662c29f88 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 @@ -1,61 +1,25 @@ -// Copyright 2000-2017 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package com.intellij.openapi.vcs.changes; +// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.openapi.vcs.changes -import gnu.trove.TObjectHashingStrategy; -import org.jetbrains.annotations.NotNull; +import gnu.trove.TObjectHashingStrategy +import java.util.* -import java.util.Objects; +class ChangeListChange( + val change: Change, + val changeListName: String, + val changeListId: String +) : Change(change) { -public class ChangeListChange extends Change { - @NotNull private final Change myChange; - @NotNull private final String myChangeListName; - private final String myChangeListId; + companion object { + @JvmField + val HASHING_STRATEGY: TObjectHashingStrategy = object : TObjectHashingStrategy { + override fun computeHashCode(o: Any): Int = Objects.hashCode(o) - public ChangeListChange(@NotNull Change change, - @NotNull String changeListName, - @NotNull String changeListId) { - super(change); - myChange = change; - myChangeListName = changeListName; - myChangeListId = changeListId; - } - - @NotNull - public Change getChange() { - return myChange; - } - - @NotNull - public String getChangeListName() { - return myChangeListName; - } - - @NotNull - public String getChangeListId() { - return myChangeListId; - } - - - public static final TObjectHashingStrategy HASHING_STRATEGY = new TObjectHashingStrategy() { - @Override - public int computeHashCode(Object object) { - return Objects.hashCode(object); - } - - @Override - public boolean equals(Object o1, Object o2) { - if (o1 instanceof Change && o2 instanceof Change) { - if (o1 instanceof ChangeListChange || o2 instanceof ChangeListChange) { - if (o1 instanceof ChangeListChange && o2 instanceof ChangeListChange) { - ChangeListChange lc1 = (ChangeListChange)o1; - ChangeListChange lc2 = (ChangeListChange)o2; - return Objects.equals(o1, o2) && - Objects.equals(lc1.getChangeListId(), lc2.getChangeListId()); - } - return false; - } + override fun equals(o1: Any, o2: Any): Boolean = when { + o1 is ChangeListChange && o2 is ChangeListChange -> o1 == o2 && o1.changeListId == o2.changeListId + o1 is ChangeListChange || o2 is ChangeListChange -> false + else -> o1 == o2 } - return Objects.equals(o1, o2); } - }; + } }