diff --git a/src/main/java/com/intellij/plugins/haxe/lang/psi/impl/HaxeClassWrapperForTypeParameter.java b/src/main/java/com/intellij/plugins/haxe/lang/psi/impl/HaxeClassWrapperForTypeParameter.java index c52810da2..9ffed2281 100644 --- a/src/main/java/com/intellij/plugins/haxe/lang/psi/impl/HaxeClassWrapperForTypeParameter.java +++ b/src/main/java/com/intellij/plugins/haxe/lang/psi/impl/HaxeClassWrapperForTypeParameter.java @@ -6,6 +6,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; +import java.util.Objects; /** * Experimental hack to allow HaxeGenericSpecialization to keep typeParameters that can not be resolved to any type. @@ -34,4 +35,16 @@ public List getHaxeExtendsList() { return List.of(); } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + HaxeClassWrapperForTypeParameter that = (HaxeClassWrapperForTypeParameter)o; + return Objects.equals(typeList, that.typeList); + } + + @Override + public int hashCode() { + return Objects.hash(typeList); + } } diff --git a/src/main/java/com/intellij/plugins/haxe/lang/psi/impl/HaxeTypeParameterMultiType.java b/src/main/java/com/intellij/plugins/haxe/lang/psi/impl/HaxeTypeParameterMultiType.java index 2f0fb4a4c..29c996f62 100644 --- a/src/main/java/com/intellij/plugins/haxe/lang/psi/impl/HaxeTypeParameterMultiType.java +++ b/src/main/java/com/intellij/plugins/haxe/lang/psi/impl/HaxeTypeParameterMultiType.java @@ -24,6 +24,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; +import java.util.Objects; /** * This class is a helper class to handle type parameters with constrains from multiple types @@ -67,4 +68,16 @@ public List getHaxeExtendsList() { } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + HaxeTypeParameterMultiType type = (HaxeTypeParameterMultiType)o; + return Objects.equals(typeList, type.typeList) && Objects.equals(anonymousTypeBodyList, type.anonymousTypeBodyList); + } + + @Override + public int hashCode() { + return Objects.hash(typeList, anonymousTypeBodyList); + } }