diff --git a/build.gradle.kts b/build.gradle.kts index 571820a..5f611e4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,7 +14,7 @@ plugins { } group = "xland.mcmodbridge" -version = "3.0.3" +version = "3.0.4" repositories { maven(url = "https://maven.aliyun.com/repository/public") { diff --git a/src/main/java/xland/mcmodbridge/fa2fomapper/api/Mapping.java b/src/main/java/xland/mcmodbridge/fa2fomapper/api/Mapping.java index 448b3f4..05dbaf0 100644 --- a/src/main/java/xland/mcmodbridge/fa2fomapper/api/Mapping.java +++ b/src/main/java/xland/mcmodbridge/fa2fomapper/api/Mapping.java @@ -7,10 +7,7 @@ import org.objectweb.asm.Type; import javax.annotation.Nonnull; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; +import java.util.*; public class Mapping { private final BiMap classes; @@ -50,6 +47,24 @@ public String getName() { public Type getDesc() { return desc; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + NodeElement that = (NodeElement) o; + return Objects.equals(owner, that.owner) && Objects.equals(name, that.name) && Objects.equals(desc, that.desc); + } + + @Override + public int hashCode() { + return Objects.hash(owner, name, desc); + } + + @Override + public String toString() { + return owner + "." + name + ':' + desc; + } } public static Builder builder() { return new Builder(); } @@ -196,4 +211,13 @@ public NodeElement mapMethod(NodeElement element) { public static Mapping empty() { return new Mapping(ImmutableBiMap.of(), Collections.emptyMap(), Collections.emptyMap()); } + + @Override + public String toString() { + return "Mapping{" + + "classes=" + classes + + ", fields=" + fields + + ", methods=" + methods + + '}'; + } }