From 3dce47e79dff82ba9e710334e257b1bd497e447e Mon Sep 17 00:00:00 2001 From: Alan Cai Date: Fri, 18 Oct 2024 12:11:04 -0700 Subject: [PATCH] Adjust GraphLabel Conj/Disj --- partiql-ast/api/partiql-ast.api | 20 ++++++++----- .../src/main/java/org/partiql/ast/v1/Ast.java | 8 ++--- .../org/partiql/ast/v1/graph/GraphLabel.java | 30 ++++++++++++++----- 3 files changed, 38 insertions(+), 20 deletions(-) diff --git a/partiql-ast/api/partiql-ast.api b/partiql-ast/api/partiql-ast.api index d6e8bcde7..602d07ef9 100644 --- a/partiql-ast/api/partiql-ast.api +++ b/partiql-ast/api/partiql-ast.api @@ -5594,8 +5594,8 @@ public class org/partiql/ast/v1/Ast { public static fun from (Ljava/util/List;)Lorg/partiql/ast/v1/From; public static fun fromExpr (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/FromType;Lorg/partiql/ast/v1/Identifier;Lorg/partiql/ast/v1/Identifier;)Lorg/partiql/ast/v1/FromExpr; public static fun fromJoin (Lorg/partiql/ast/v1/From;Lorg/partiql/ast/v1/From;Lorg/partiql/ast/v1/JoinType;Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/FromJoin; - public static fun graphLabelConj (Ljava/util/List;)Lorg/partiql/ast/v1/graph/GraphLabel$Conj; - public static fun graphLabelDisj (Ljava/util/List;)Lorg/partiql/ast/v1/graph/GraphLabel$Disj; + public static fun graphLabelConj (Lorg/partiql/ast/v1/graph/GraphLabel;Lorg/partiql/ast/v1/graph/GraphLabel;)Lorg/partiql/ast/v1/graph/GraphLabel$Conj; + public static fun graphLabelDisj (Lorg/partiql/ast/v1/graph/GraphLabel;Lorg/partiql/ast/v1/graph/GraphLabel;)Lorg/partiql/ast/v1/graph/GraphLabel$Disj; public static fun graphLabelName (Ljava/lang/String;)Lorg/partiql/ast/v1/graph/GraphLabel$Name; public static fun graphLabelNegation (Lorg/partiql/ast/v1/graph/GraphLabel;)Lorg/partiql/ast/v1/graph/GraphLabel$Negation; public static fun graphLabelWildcard ()Lorg/partiql/ast/v1/graph/GraphLabel$Wildcard; @@ -7126,30 +7126,34 @@ public abstract class org/partiql/ast/v1/graph/GraphLabel : org/partiql/ast/v1/A } public class org/partiql/ast/v1/graph/GraphLabel$Conj : org/partiql/ast/v1/graph/GraphLabel { - public final field args Ljava/util/List; - public fun (Ljava/util/List;)V + public final field lhs Lorg/partiql/ast/v1/graph/GraphLabel; + public final field rhs Lorg/partiql/ast/v1/graph/GraphLabel; + public fun (Lorg/partiql/ast/v1/graph/GraphLabel;Lorg/partiql/ast/v1/graph/GraphLabel;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public static fun builder ()Lorg/partiql/ast/v1/graph/GraphLabel$Conj$Builder; public fun children ()Ljava/util/Collection; } public class org/partiql/ast/v1/graph/GraphLabel$Conj$Builder { - public fun args (Ljava/util/List;)Lorg/partiql/ast/v1/graph/GraphLabel$Conj$Builder; public fun build ()Lorg/partiql/ast/v1/graph/GraphLabel$Conj; + public fun lhs (Lorg/partiql/ast/v1/graph/GraphLabel;)Lorg/partiql/ast/v1/graph/GraphLabel$Conj$Builder; + public fun rhs (Lorg/partiql/ast/v1/graph/GraphLabel;)Lorg/partiql/ast/v1/graph/GraphLabel$Conj$Builder; public fun toString ()Ljava/lang/String; } public class org/partiql/ast/v1/graph/GraphLabel$Disj : org/partiql/ast/v1/graph/GraphLabel { - public final field args Ljava/util/List; - public fun (Ljava/util/List;)V + public final field lhs Lorg/partiql/ast/v1/graph/GraphLabel; + public final field rhs Lorg/partiql/ast/v1/graph/GraphLabel; + public fun (Lorg/partiql/ast/v1/graph/GraphLabel;Lorg/partiql/ast/v1/graph/GraphLabel;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public static fun builder ()Lorg/partiql/ast/v1/graph/GraphLabel$Disj$Builder; public fun children ()Ljava/util/Collection; } public class org/partiql/ast/v1/graph/GraphLabel$Disj$Builder { - public fun args (Ljava/util/List;)Lorg/partiql/ast/v1/graph/GraphLabel$Disj$Builder; public fun build ()Lorg/partiql/ast/v1/graph/GraphLabel$Disj; + public fun lhs (Lorg/partiql/ast/v1/graph/GraphLabel;)Lorg/partiql/ast/v1/graph/GraphLabel$Disj$Builder; + public fun rhs (Lorg/partiql/ast/v1/graph/GraphLabel;)Lorg/partiql/ast/v1/graph/GraphLabel$Disj$Builder; public fun toString ()Ljava/lang/String; } diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/Ast.java b/partiql-ast/src/main/java/org/partiql/ast/v1/Ast.java index 5005a7c9b..9d1299d8a 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/Ast.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/Ast.java @@ -268,13 +268,13 @@ public static GraphLabel.Negation graphLabelNegation(@NotNull GraphLabel arg) { } @NotNull - public static GraphLabel.Conj graphLabelConj(@NotNull List args) { - return new GraphLabel.Conj(args); + public static GraphLabel.Conj graphLabelConj(@NotNull GraphLabel lhs, @NotNull GraphLabel rhs) { + return new GraphLabel.Conj(lhs, rhs); } @NotNull - public static GraphLabel.Disj graphLabelDisj(@NotNull List args) { - return new GraphLabel.Disj(args); + public static GraphLabel.Disj graphLabelDisj(@NotNull GraphLabel lhs, @NotNull GraphLabel rhs) { + return new GraphLabel.Disj(lhs, rhs); } @NotNull diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphLabel.java b/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphLabel.java index 9d513b9c7..a61aa72ab 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphLabel.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphLabel.java @@ -105,16 +105,23 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { @Builder(builderClassName = "Builder") public static class Conj extends GraphLabel { @NotNull - public final List args; + public final GraphLabel lhs; - public Conj(@NotNull List args) { - this.args = args; + @NotNull + public final GraphLabel rhs; + + public Conj(@NotNull GraphLabel lhs, @NotNull GraphLabel rhs) { + this.lhs = lhs; + this.rhs = rhs; } @Override @NotNull public Collection children() { - return new ArrayList<>(args); + List kids = new ArrayList<>(); + kids.add(lhs); + kids.add(rhs); + return kids; } @Override @@ -129,16 +136,23 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { @Builder(builderClassName = "Builder") public static class Disj extends GraphLabel { @NotNull - public final List args; + public final GraphLabel lhs; - public Disj(@NotNull List args) { - this.args = args; + @NotNull + public final GraphLabel rhs; + + public Disj(@NotNull GraphLabel lhs, @NotNull GraphLabel rhs) { + this.lhs = lhs; + this.rhs = rhs; } @Override @NotNull public Collection children() { - return new ArrayList<>(args); + List kids = new ArrayList<>(); + kids.add(lhs); + kids.add(rhs); + return kids; } @Override