From 6c4b3121ad873d653c65037a9c1b69644f3390cf Mon Sep 17 00:00:00 2001
From: dgelessus <dgelessus@users.noreply.github.com>
Date: Fri, 6 May 2022 14:04:27 +0200
Subject: [PATCH] Implement missing equals/hashCode for SourcePosition

---
 .../stups/sablecc/patch/SourcePosition.java   | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/SourcePosition.java b/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/SourcePosition.java
index 1f43ec5..a2cb828 100644
--- a/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/SourcePosition.java
+++ b/sablecc-runtime/src/main/java/de/hhu/stups/sablecc/patch/SourcePosition.java
@@ -6,6 +6,8 @@
 
 package de.hhu.stups.sablecc.patch;
 
+import java.util.Objects;
+
 public class SourcePosition implements Comparable<SourcePosition>  {
 
   private final int line;
@@ -25,6 +27,23 @@ public class SourcePosition implements Comparable<SourcePosition>  {
     return pos;
   }
   
+  @Override
+  public boolean equals(final Object obj) {
+    if (this == obj) {
+      return true;
+    }
+    if (obj == null || this.getClass() != obj.getClass()) {
+      return false;
+    }
+    final SourcePosition other = (SourcePosition)obj;
+    return this.getLine() == other.getLine() && this.getPos() == other.getPos();
+  }
+  
+  @Override
+  public int hashCode() {
+    return Objects.hash(this.getLine(), this.getPos());
+  }
+  
   @Override
   public int compareTo(SourcePosition that) {
     if (this.line < that.line) {
-- 
GitLab