diff --git a/partiql-ast/src/main/java/org/partiql/ast/AstNode.java b/partiql-ast/src/main/java/org/partiql/ast/AstNode.java index 380f29eece..d01e0f598a 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/AstNode.java +++ b/partiql-ast/src/main/java/org/partiql/ast/AstNode.java @@ -17,4 +17,10 @@ public abstract class AstNode { public abstract Collection children(); public abstract R accept(@NotNull AstVisitor visitor, C ctx); + + @Override + public abstract int hashCode(); + + @Override + public abstract boolean equals(Object obj); } diff --git a/partiql-ast/src/main/java/org/partiql/ast/GroupBy.java b/partiql-ast/src/main/java/org/partiql/ast/GroupBy.java index f92f1733df..290b8ba498 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/GroupBy.java +++ b/partiql-ast/src/main/java/org/partiql/ast/GroupBy.java @@ -50,6 +50,7 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { * TODO docs, equals, hashcode */ @lombok.Builder(builderClassName = "Builder") + @EqualsAndHashCode(callSuper = false) public static class Key extends AstNode { @NotNull public final Expr expr; diff --git a/partiql-ast/src/main/java/org/partiql/ast/Let.java b/partiql-ast/src/main/java/org/partiql/ast/Let.java index ba17fd2346..ced8dc5601 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/Let.java +++ b/partiql-ast/src/main/java/org/partiql/ast/Let.java @@ -37,6 +37,7 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { * TODO docs, equals, hashcode */ @lombok.Builder(builderClassName = "Builder") + @EqualsAndHashCode(callSuper = false) public static class Binding extends AstNode { @NotNull public final Expr expr;