summaryrefslogtreecommitdiff
path: root/src/main/java/bjc
diff options
context:
space:
mode:
authorbjculkin <bjculkin@localhost>2023-10-25 23:00:44 +0000
committerbjculkin <bjculkin@localhost>2023-10-25 23:00:44 +0000
commitcbf4dda5cc09dc6d2c3c10329e7941923cc04e2e (patch)
tree87d199f6b7eb45046ddb2489c6b8d85d846cab6c /src/main/java/bjc
parent0f958b08b3446a866418aa485bb60c208d952033 (diff)
Tweak for new setup
Also, add some tests for Context
Diffstat (limited to 'src/main/java/bjc')
-rw-r--r--src/main/java/bjc/data/Contexts.java17
-rw-r--r--src/main/java/bjc/typeclasses/FunList.java2
2 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/bjc/data/Contexts.java b/src/main/java/bjc/data/Contexts.java
index 699a450..7de1b5f 100644
--- a/src/main/java/bjc/data/Contexts.java
+++ b/src/main/java/bjc/data/Contexts.java
@@ -117,4 +117,21 @@ class ContextImpl implements Context {
public Context getParent() {
return parent;
}
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(objects, parent);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ ContextImpl other = (ContextImpl) obj;
+ return Objects.equals(objects, other.objects) && Objects.equals(parent, other.parent);
+ }
} \ No newline at end of file
diff --git a/src/main/java/bjc/typeclasses/FunList.java b/src/main/java/bjc/typeclasses/FunList.java
index cd16c82..555b2c7 100644
--- a/src/main/java/bjc/typeclasses/FunList.java
+++ b/src/main/java/bjc/typeclasses/FunList.java
@@ -4,7 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
-public sealed interface FunList<A, B> permits FunList.Done<A, B>, FunList.More<A, B> {
+public /*sealed*/ interface FunList<A, B> /*permits FunList.Done<A, B>, FunList.More<A, B>*/ {
public final class Done<A, B> implements FunList<A, B> {
private final B val;