]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/function/UnsaturatedFunction6.java
(refs #7090) Generated Function objects implement equals and hashCode
[simantics/platform.git] / bundles / org.simantics.scl.runtime / src / org / simantics / scl / runtime / function / UnsaturatedFunction6.java
index cebc2943af9f69ab6c6cbb126e353f715c00e42d..ec20e47e5c4120bd8c103e6b8cb65118435048bf 100644 (file)
@@ -77,6 +77,7 @@ public class UnsaturatedFunction6 implements Function {
             nps[i + 6] = ps[i];
         return f.applyArray(nps);
     }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -90,4 +91,61 @@ public class UnsaturatedFunction6 implements Function {
         sb.append(")");
         return sb.toString();
     }
+
+    @Override
+    public int hashCode() {
+        int result = f.hashCode();
+        result = 31 * result + (p0 == null ? 0 : p0.hashCode());
+        result = 31 * result + (p1 == null ? 0 : p1.hashCode());
+        result = 31 * result + (p2 == null ? 0 : p2.hashCode());
+        result = 31 * result + (p3 == null ? 0 : p3.hashCode());
+        result = 31 * result + (p4 == null ? 0 : p4.hashCode());
+        result = 31 * result + (p5 == null ? 0 : p5.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj)
+            return true;
+        if (obj == null)
+            return false;
+        if (getClass() != obj.getClass())
+            return false;
+        UnsaturatedFunction6 other = (UnsaturatedFunction6) obj;
+        if(!f.equals(other.f))
+            return false;
+        if(p0 == null) {
+            if (other.p0 != null)
+                return false;
+        } else if (!p0.equals(other.p0))
+            return false;
+        if(p1 == null) {
+            if (other.p1 != null)
+                return false;
+        } else if (!p1.equals(other.p1))
+            return false;
+        if(p2 == null) {
+            if (other.p2 != null)
+                return false;
+        } else if (!p2.equals(other.p2))
+            return false;
+        if(p3 == null) {
+            if (other.p3 != null)
+                return false;
+        } else if (!p3.equals(other.p3))
+            return false;
+        if(p4 == null) {
+            if (other.p4 != null)
+                return false;
+        } else if (!p4.equals(other.p4))
+            return false;
+        if(p5 == null) {
+            if (other.p5 != null)
+                return false;
+        } else if (!p5.equals(other.p5))
+            return false;
+        return true;
+    }
+
 }