diff --git a/buildSrc/src/main/kotlin/partiql.versions.kt b/buildSrc/src/main/kotlin/partiql.versions.kt index 32a53201e..85147f3f9 100644 --- a/buildSrc/src/main/kotlin/partiql.versions.kt +++ b/buildSrc/src/main/kotlin/partiql.versions.kt @@ -39,9 +39,11 @@ object Versions { const val kotlinxCollections = "0.3.5" const val picoCli = "4.7.0" const val kasechange = "1.3.0" + const val kotlinLombok = "1.9.20" const val kotlinxCoroutines = "1.8.1" const val kotlinxCoroutinesJdk8 = "1.8.1" const val ktlint = "0.42.1" // we're on an old version of ktlint. TODO upgrade https://github.com/partiql/partiql-lang-kotlin/issues/1418 + const val lombok = "1.18.34" // Testing const val assertj = "3.11.0" @@ -80,6 +82,7 @@ object Deps { const val kotlinxCoroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.kotlinxCoroutines}" const val kotlinxCoroutinesJdk8 = "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:${Versions.kotlinxCoroutinesJdk8}" const val ktlint = "com.pinterest.ktlint:ktlint-core:${Versions.ktlint}" + const val lombok = "org.projectlombok:lombok:${Versions.lombok}" // Testing const val assertj = "org.assertj:assertj-core:${Versions.assertj}" @@ -107,5 +110,6 @@ object Plugins { const val detekt = "io.gitlab.arturbosch.detekt" const val dokka = "org.jetbrains.dokka" const val library = "org.gradle.java-library" + const val kotlinLombok = "org.jetbrains.kotlin.plugin.lombok" const val testFixtures = "org.gradle.java-test-fixtures" } \ No newline at end of file diff --git a/partiql-ast/api/partiql-ast.api b/partiql-ast/api/partiql-ast.api index a39e8ac48..3214ba3c1 100644 --- a/partiql-ast/api/partiql-ast.api +++ b/partiql-ast/api/partiql-ast.api @@ -5802,85 +5802,159 @@ public abstract interface class org/partiql/ast/v1/Enum { } public class org/partiql/ast/v1/Exclude : org/partiql/ast/v1/AstNode { - public field excludePaths Ljava/util/List; + public final field excludePaths Ljava/util/List; public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/Exclude$ExcludeBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/Exclude$ExcludeBuilder { + public fun build ()Lorg/partiql/ast/v1/Exclude; + public fun excludePaths (Ljava/util/List;)Lorg/partiql/ast/v1/Exclude$ExcludeBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/ExcludePath : org/partiql/ast/v1/AstNode { - public field excludeSteps Ljava/util/List; - public field root Lorg/partiql/ast/v1/expr/ExprVarRef; + public final field excludeSteps Ljava/util/List; + public final field root Lorg/partiql/ast/v1/expr/ExprVarRef; public fun (Lorg/partiql/ast/v1/expr/ExprVarRef;Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/ExcludePath$ExcludePathBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/ExcludePath$ExcludePathBuilder { + public fun build ()Lorg/partiql/ast/v1/ExcludePath; + public fun excludeSteps (Ljava/util/List;)Lorg/partiql/ast/v1/ExcludePath$ExcludePathBuilder; + public fun root (Lorg/partiql/ast/v1/expr/ExprVarRef;)Lorg/partiql/ast/v1/ExcludePath$ExcludePathBuilder; + public fun toString ()Ljava/lang/String; +} + public abstract class org/partiql/ast/v1/ExcludeStep : org/partiql/ast/v1/AstNode { public fun ()V } public class org/partiql/ast/v1/ExcludeStep$CollIndex : org/partiql/ast/v1/ExcludeStep { - public field index I + public final field index I public fun (I)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/ExcludeStep$CollIndex$CollIndexBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/ExcludeStep$CollIndex$CollIndexBuilder { + public fun build ()Lorg/partiql/ast/v1/ExcludeStep$CollIndex; + public fun index (I)Lorg/partiql/ast/v1/ExcludeStep$CollIndex$CollIndexBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/ExcludeStep$CollWildcard : org/partiql/ast/v1/ExcludeStep { - public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/ExcludeStep$CollWildcard$CollWildcardBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/ExcludeStep$CollWildcard$CollWildcardBuilder { + public fun build ()Lorg/partiql/ast/v1/ExcludeStep$CollWildcard; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/ExcludeStep$StructField : org/partiql/ast/v1/ExcludeStep { - public field symbol Lorg/partiql/ast/v1/Identifier; + public final field symbol Lorg/partiql/ast/v1/Identifier; public fun (Lorg/partiql/ast/v1/Identifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/ExcludeStep$StructField$StructFieldBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/ExcludeStep$StructField$StructFieldBuilder { + public fun build ()Lorg/partiql/ast/v1/ExcludeStep$StructField; + public fun symbol (Lorg/partiql/ast/v1/Identifier;)Lorg/partiql/ast/v1/ExcludeStep$StructField$StructFieldBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/ExcludeStep$StructWildcard : org/partiql/ast/v1/ExcludeStep { - public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/ExcludeStep$StructWildcard$StructWildcardBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/ExcludeStep$StructWildcard$StructWildcardBuilder { + public fun build ()Lorg/partiql/ast/v1/ExcludeStep$StructWildcard; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/Explain : org/partiql/ast/v1/Statement { - public field options Ljava/util/Map; - public field statement Lorg/partiql/ast/v1/Statement; + public final field options Ljava/util/Map; + public final field statement Lorg/partiql/ast/v1/Statement; public fun (Ljava/util/Map;Lorg/partiql/ast/v1/Statement;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/Explain$ExplainBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/Explain$ExplainBuilder { + public fun build ()Lorg/partiql/ast/v1/Explain; + public fun options (Ljava/util/Map;)Lorg/partiql/ast/v1/Explain$ExplainBuilder; + public fun statement (Lorg/partiql/ast/v1/Statement;)Lorg/partiql/ast/v1/Explain$ExplainBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/From : org/partiql/ast/v1/AstNode { - public field tableRefs Ljava/util/List; + public final field tableRefs Ljava/util/List; public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/From$FromBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/From$FromBuilder { + public fun build ()Lorg/partiql/ast/v1/From; + public fun tableRefs (Ljava/util/List;)Lorg/partiql/ast/v1/From$FromBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/FromExpr : org/partiql/ast/v1/FromTableRef { - public field asAlias Lorg/partiql/ast/v1/Identifier; - public field atAlias Lorg/partiql/ast/v1/Identifier; - public field expr Lorg/partiql/ast/v1/expr/Expr; - public field fromType Lorg/partiql/ast/v1/FromType; + public final field asAlias Lorg/partiql/ast/v1/Identifier; + public final field atAlias Lorg/partiql/ast/v1/Identifier; + public final field expr Lorg/partiql/ast/v1/expr/Expr; + public final field fromType Lorg/partiql/ast/v1/FromType; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/FromType;Lorg/partiql/ast/v1/Identifier;Lorg/partiql/ast/v1/Identifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/FromExpr$FromExprBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/FromExpr$FromExprBuilder { + public fun asAlias (Lorg/partiql/ast/v1/Identifier;)Lorg/partiql/ast/v1/FromExpr$FromExprBuilder; + public fun atAlias (Lorg/partiql/ast/v1/Identifier;)Lorg/partiql/ast/v1/FromExpr$FromExprBuilder; + public fun build ()Lorg/partiql/ast/v1/FromExpr; + public fun expr (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/FromExpr$FromExprBuilder; + public fun fromType (Lorg/partiql/ast/v1/FromType;)Lorg/partiql/ast/v1/FromExpr$FromExprBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/FromJoin : org/partiql/ast/v1/FromTableRef { - public field condition Lorg/partiql/ast/v1/expr/Expr; - public field joinType Lorg/partiql/ast/v1/JoinType; - public field lhs Lorg/partiql/ast/v1/From; - public field rhs Lorg/partiql/ast/v1/From; + public final field condition Lorg/partiql/ast/v1/expr/Expr; + public final field joinType Lorg/partiql/ast/v1/JoinType; + public final field lhs Lorg/partiql/ast/v1/From; + public final field rhs Lorg/partiql/ast/v1/From; public fun (Lorg/partiql/ast/v1/From;Lorg/partiql/ast/v1/From;Lorg/partiql/ast/v1/JoinType;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/FromJoin$FromJoinBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/FromJoin$FromJoinBuilder { + public fun build ()Lorg/partiql/ast/v1/FromJoin; + public fun condition (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/FromJoin$FromJoinBuilder; + public fun joinType (Lorg/partiql/ast/v1/JoinType;)Lorg/partiql/ast/v1/FromJoin$FromJoinBuilder; + public fun lhs (Lorg/partiql/ast/v1/From;)Lorg/partiql/ast/v1/FromJoin$FromJoinBuilder; + public fun rhs (Lorg/partiql/ast/v1/From;)Lorg/partiql/ast/v1/FromJoin$FromJoinBuilder; + public fun toString ()Ljava/lang/String; +} + public abstract class org/partiql/ast/v1/FromTableRef : org/partiql/ast/v1/AstNode { public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; @@ -5897,22 +5971,39 @@ public class org/partiql/ast/v1/FromType : org/partiql/ast/v1/Enum { } public class org/partiql/ast/v1/GroupBy : org/partiql/ast/v1/AstNode { - public field asAlias Lorg/partiql/ast/v1/Identifier; - public field keys Ljava/util/List; - public field strategy Lorg/partiql/ast/v1/GroupByStrategy; + public final field asAlias Lorg/partiql/ast/v1/Identifier; + public final field keys Ljava/util/List; + public final field strategy Lorg/partiql/ast/v1/GroupByStrategy; public fun (Lorg/partiql/ast/v1/GroupByStrategy;Ljava/util/List;Lorg/partiql/ast/v1/Identifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/GroupBy$GroupByBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/GroupBy$GroupByBuilder { + public fun asAlias (Lorg/partiql/ast/v1/Identifier;)Lorg/partiql/ast/v1/GroupBy$GroupByBuilder; + public fun build ()Lorg/partiql/ast/v1/GroupBy; + public fun keys (Ljava/util/List;)Lorg/partiql/ast/v1/GroupBy$GroupByBuilder; + public fun strategy (Lorg/partiql/ast/v1/GroupByStrategy;)Lorg/partiql/ast/v1/GroupBy$GroupByBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/GroupBy$Key : org/partiql/ast/v1/AstNode { - public field asAlias Lorg/partiql/ast/v1/Identifier; - public field expr Lorg/partiql/ast/v1/expr/Expr; + public final field asAlias Lorg/partiql/ast/v1/Identifier; + public final field expr Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/Identifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/GroupBy$Key$KeyBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/GroupBy$Key$KeyBuilder { + public fun asAlias (Lorg/partiql/ast/v1/Identifier;)Lorg/partiql/ast/v1/GroupBy$Key$KeyBuilder; + public fun build ()Lorg/partiql/ast/v1/GroupBy$Key; + public fun expr (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/GroupBy$Key$KeyBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/GroupByStrategy : org/partiql/ast/v1/Enum { public static final field FULL I public static final field PARTIAL I @@ -5924,21 +6015,37 @@ public class org/partiql/ast/v1/GroupByStrategy : org/partiql/ast/v1/Enum { } public class org/partiql/ast/v1/Identifier : org/partiql/ast/v1/AstNode { - public field isDelimited Z - public field symbol Ljava/lang/String; + public final field isDelimited Z + public final field symbol Ljava/lang/String; public fun (Ljava/lang/String;Z)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/Identifier$IdentifierBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/Identifier$IdentifierBuilder { + public fun build ()Lorg/partiql/ast/v1/Identifier; + public fun isDelimited (Z)Lorg/partiql/ast/v1/Identifier$IdentifierBuilder; + public fun symbol (Ljava/lang/String;)Lorg/partiql/ast/v1/Identifier$IdentifierBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/IdentifierChain : org/partiql/ast/v1/AstNode { - public field next Lorg/partiql/ast/v1/IdentifierChain; - public field root Lorg/partiql/ast/v1/Identifier; + public final field next Lorg/partiql/ast/v1/IdentifierChain; + public final field root Lorg/partiql/ast/v1/Identifier; public fun (Lorg/partiql/ast/v1/Identifier;Lorg/partiql/ast/v1/IdentifierChain;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/IdentifierChain$IdentifierChainBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/IdentifierChain$IdentifierChainBuilder { + public fun build ()Lorg/partiql/ast/v1/IdentifierChain; + public fun next (Lorg/partiql/ast/v1/IdentifierChain;)Lorg/partiql/ast/v1/IdentifierChain$IdentifierChainBuilder; + public fun root (Lorg/partiql/ast/v1/Identifier;)Lorg/partiql/ast/v1/IdentifierChain$IdentifierChainBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/JoinType : org/partiql/ast/v1/Enum { public static final field CROSS I public static final field FULL I @@ -5962,20 +6069,35 @@ public class org/partiql/ast/v1/JoinType : org/partiql/ast/v1/Enum { } public class org/partiql/ast/v1/Let : org/partiql/ast/v1/AstNode { - public field bindings Ljava/util/List; + public final field bindings Ljava/util/List; public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/Let$LetBuilder; public fun children ()Ljava/util/Collection; } public class org/partiql/ast/v1/Let$Binding : org/partiql/ast/v1/AstNode { - public field asAlias Lorg/partiql/ast/v1/Identifier; - public field expr Lorg/partiql/ast/v1/expr/Expr; + public final field asAlias Lorg/partiql/ast/v1/Identifier; + public final field expr Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/Identifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/Let$Binding$BindingBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/Let$Binding$BindingBuilder { + public fun asAlias (Lorg/partiql/ast/v1/Identifier;)Lorg/partiql/ast/v1/Let$Binding$BindingBuilder; + public fun build ()Lorg/partiql/ast/v1/Let$Binding; + public fun expr (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/Let$Binding$BindingBuilder; + public fun toString ()Ljava/lang/String; +} + +public class org/partiql/ast/v1/Let$LetBuilder { + public fun bindings (Ljava/util/List;)Lorg/partiql/ast/v1/Let$LetBuilder; + public fun build ()Lorg/partiql/ast/v1/Let; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/Nulls : org/partiql/ast/v1/Enum { public static final field FIRST I public static final field LAST I @@ -5997,46 +6119,83 @@ public class org/partiql/ast/v1/Order : org/partiql/ast/v1/Enum { } public class org/partiql/ast/v1/OrderBy : org/partiql/ast/v1/AstNode { - public field sorts Ljava/util/List; + public final field sorts Ljava/util/List; public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/OrderBy$OrderByBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/OrderBy$OrderByBuilder { + public fun build ()Lorg/partiql/ast/v1/OrderBy; + public fun sorts (Ljava/util/List;)Lorg/partiql/ast/v1/OrderBy$OrderByBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/Query : org/partiql/ast/v1/Statement { - public field expr Lorg/partiql/ast/v1/expr/Expr; + public final field expr Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/Query$QueryBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/Query$QueryBuilder { + public fun build ()Lorg/partiql/ast/v1/Query; + public fun expr (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/Query$QueryBuilder; + public fun toString ()Ljava/lang/String; +} + public abstract class org/partiql/ast/v1/QueryBody : org/partiql/ast/v1/AstNode { public fun ()V } public class org/partiql/ast/v1/QueryBody$SFW : org/partiql/ast/v1/QueryBody { - public field exclude Lorg/partiql/ast/v1/Exclude; - public field from Lorg/partiql/ast/v1/From; - public field groupBy Lorg/partiql/ast/v1/GroupBy; - public field having Lorg/partiql/ast/v1/expr/Expr; - public field let Lorg/partiql/ast/v1/Let; - public field select Lorg/partiql/ast/v1/Select; - public field where Lorg/partiql/ast/v1/expr/Expr; + public final field exclude Lorg/partiql/ast/v1/Exclude; + public final field from Lorg/partiql/ast/v1/From; + public final field groupBy Lorg/partiql/ast/v1/GroupBy; + public final field having Lorg/partiql/ast/v1/expr/Expr; + public final field let Lorg/partiql/ast/v1/Let; + public final field select Lorg/partiql/ast/v1/Select; + public final field where Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/Select;Lorg/partiql/ast/v1/Exclude;Lorg/partiql/ast/v1/From;Lorg/partiql/ast/v1/Let;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/GroupBy;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/QueryBody$SFW$SFWBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/QueryBody$SFW$SFWBuilder { + public fun build ()Lorg/partiql/ast/v1/QueryBody$SFW; + public fun exclude (Lorg/partiql/ast/v1/Exclude;)Lorg/partiql/ast/v1/QueryBody$SFW$SFWBuilder; + public fun from (Lorg/partiql/ast/v1/From;)Lorg/partiql/ast/v1/QueryBody$SFW$SFWBuilder; + public fun groupBy (Lorg/partiql/ast/v1/GroupBy;)Lorg/partiql/ast/v1/QueryBody$SFW$SFWBuilder; + public fun having (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/QueryBody$SFW$SFWBuilder; + public fun let (Lorg/partiql/ast/v1/Let;)Lorg/partiql/ast/v1/QueryBody$SFW$SFWBuilder; + public fun select (Lorg/partiql/ast/v1/Select;)Lorg/partiql/ast/v1/QueryBody$SFW$SFWBuilder; + public fun toString ()Ljava/lang/String; + public fun where (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/QueryBody$SFW$SFWBuilder; +} + public class org/partiql/ast/v1/QueryBody$SetOp : org/partiql/ast/v1/QueryBody { - public field isOuter Z + public final field isOuter Z public field lhs Lorg/partiql/ast/v1/expr/Expr; public field rhs Lorg/partiql/ast/v1/expr/Expr; - public field type Lorg/partiql/ast/v1/SetOp; + public final field type Lorg/partiql/ast/v1/SetOp; public fun (Lorg/partiql/ast/v1/SetOp;ZLorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/QueryBody$SetOp$SetOpBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/QueryBody$SetOp$SetOpBuilder { + public fun build ()Lorg/partiql/ast/v1/QueryBody$SetOp; + public fun isOuter (Z)Lorg/partiql/ast/v1/QueryBody$SetOp$SetOpBuilder; + public fun lhs (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/QueryBody$SetOp$SetOpBuilder; + public fun rhs (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/QueryBody$SetOp$SetOpBuilder; + public fun toString ()Ljava/lang/String; + public fun type (Lorg/partiql/ast/v1/SetOp;)Lorg/partiql/ast/v1/QueryBody$SetOp$SetOpBuilder; +} + public abstract class org/partiql/ast/v1/Select : org/partiql/ast/v1/AstNode { public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; @@ -6048,59 +6207,113 @@ public abstract class org/partiql/ast/v1/SelectItem : org/partiql/ast/v1/AstNode } public class org/partiql/ast/v1/SelectItem$Expr : org/partiql/ast/v1/SelectItem { - public field asAlias Lorg/partiql/ast/v1/Identifier; - public field expr Lorg/partiql/ast/v1/expr/Expr; + public final field asAlias Lorg/partiql/ast/v1/Identifier; + public final field expr Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/Identifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/SelectItem$Expr$ExprBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/SelectItem$Expr$ExprBuilder { + public fun asAlias (Lorg/partiql/ast/v1/Identifier;)Lorg/partiql/ast/v1/SelectItem$Expr$ExprBuilder; + public fun build ()Lorg/partiql/ast/v1/SelectItem$Expr; + public fun expr (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/SelectItem$Expr$ExprBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/SelectItem$Star : org/partiql/ast/v1/SelectItem { - public field expr Lorg/partiql/ast/v1/expr/Expr; + public final field expr Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/SelectItem$Star$StarBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/SelectItem$Star$StarBuilder { + public fun build ()Lorg/partiql/ast/v1/SelectItem$Star; + public fun expr (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/SelectItem$Star$StarBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/SelectList : org/partiql/ast/v1/Select { - public field items Ljava/util/List; - public field setq Lorg/partiql/ast/v1/SetQuantifier; + public final field items Ljava/util/List; + public final field setq Lorg/partiql/ast/v1/SetQuantifier; public fun (Ljava/util/List;Lorg/partiql/ast/v1/SetQuantifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/SelectList$SelectListBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/SelectList$SelectListBuilder { + public fun build ()Lorg/partiql/ast/v1/SelectList; + public fun items (Ljava/util/List;)Lorg/partiql/ast/v1/SelectList$SelectListBuilder; + public fun setq (Lorg/partiql/ast/v1/SetQuantifier;)Lorg/partiql/ast/v1/SelectList$SelectListBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/SelectPivot : org/partiql/ast/v1/Select { - public field key Lorg/partiql/ast/v1/expr/Expr; - public field value Lorg/partiql/ast/v1/expr/Expr; + public final field key Lorg/partiql/ast/v1/expr/Expr; + public final field value Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/SelectPivot$SelectPivotBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/SelectPivot$SelectPivotBuilder { + public fun build ()Lorg/partiql/ast/v1/SelectPivot; + public fun key (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/SelectPivot$SelectPivotBuilder; + public fun toString ()Ljava/lang/String; + public fun value (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/SelectPivot$SelectPivotBuilder; +} + public class org/partiql/ast/v1/SelectStar : org/partiql/ast/v1/Select { - public field setq Lorg/partiql/ast/v1/SetQuantifier; + public final field setq Lorg/partiql/ast/v1/SetQuantifier; public fun (Lorg/partiql/ast/v1/SetQuantifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/SelectStar$SelectStarBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/SelectStar$SelectStarBuilder { + public fun build ()Lorg/partiql/ast/v1/SelectStar; + public fun setq (Lorg/partiql/ast/v1/SetQuantifier;)Lorg/partiql/ast/v1/SelectStar$SelectStarBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/SelectValue : org/partiql/ast/v1/Select { - public field constructor Lorg/partiql/ast/v1/expr/Expr; - public field setq Lorg/partiql/ast/v1/SetQuantifier; + public final field constructor Lorg/partiql/ast/v1/expr/Expr; + public final field setq Lorg/partiql/ast/v1/SetQuantifier; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/SetQuantifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/SelectValue$SelectValueBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/SelectValue$SelectValueBuilder { + public fun build ()Lorg/partiql/ast/v1/SelectValue; + public fun constructor (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/SelectValue$SelectValueBuilder; + public fun setq (Lorg/partiql/ast/v1/SetQuantifier;)Lorg/partiql/ast/v1/SelectValue$SelectValueBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/SetOp : org/partiql/ast/v1/AstNode { - public field setOpType Lorg/partiql/ast/v1/SetOpType; - public field setq Lorg/partiql/ast/v1/SetQuantifier; + public final field setOpType Lorg/partiql/ast/v1/SetOpType; + public final field setq Lorg/partiql/ast/v1/SetQuantifier; public fun (Lorg/partiql/ast/v1/SetOpType;Lorg/partiql/ast/v1/SetQuantifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/SetOp$SetOpBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/SetOp$SetOpBuilder { + public fun build ()Lorg/partiql/ast/v1/SetOp; + public fun setOpType (Lorg/partiql/ast/v1/SetOpType;)Lorg/partiql/ast/v1/SetOp$SetOpBuilder; + public fun setq (Lorg/partiql/ast/v1/SetQuantifier;)Lorg/partiql/ast/v1/SetOp$SetOpBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/SetOpType : org/partiql/ast/v1/Enum { public static fun EXCEPT ()Lorg/partiql/ast/v1/SetOpType; public static fun INTERSECT ()Lorg/partiql/ast/v1/SetOpType; @@ -6120,14 +6333,23 @@ public class org/partiql/ast/v1/SetQuantifier : org/partiql/ast/v1/Enum { } public class org/partiql/ast/v1/Sort : org/partiql/ast/v1/AstNode { - public field expr Lorg/partiql/ast/v1/expr/Expr; - public field nulls Lorg/partiql/ast/v1/Nulls; - public field order Lorg/partiql/ast/v1/Order; + public final field expr Lorg/partiql/ast/v1/expr/Expr; + public final field nulls Lorg/partiql/ast/v1/Nulls; + public final field order Lorg/partiql/ast/v1/Order; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/Order;Lorg/partiql/ast/v1/Nulls;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/Sort$SortBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/Sort$SortBuilder { + public fun build ()Lorg/partiql/ast/v1/Sort; + public fun expr (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/Sort$SortBuilder; + public fun nulls (Lorg/partiql/ast/v1/Nulls;)Lorg/partiql/ast/v1/Sort$SortBuilder; + public fun order (Lorg/partiql/ast/v1/Order;)Lorg/partiql/ast/v1/Sort$SortBuilder; + public fun toString ()Ljava/lang/String; +} + public abstract class org/partiql/ast/v1/Statement : org/partiql/ast/v1/AstNode { public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; @@ -6139,297 +6361,585 @@ public abstract class org/partiql/ast/v1/expr/Expr : org/partiql/ast/v1/AstNode } public class org/partiql/ast/v1/expr/ExprAnd : org/partiql/ast/v1/expr/Expr { - public field lhs Lorg/partiql/ast/v1/expr/Expr; - public field rhs Lorg/partiql/ast/v1/expr/Expr; + public final field lhs Lorg/partiql/ast/v1/expr/Expr; + public final field rhs Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprAnd$ExprAndBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprAnd$ExprAndBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprAnd; + public fun lhs (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprAnd$ExprAndBuilder; + public fun rhs (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprAnd$ExprAndBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprArray : org/partiql/ast/v1/expr/Expr { - public field values Ljava/util/List; + public final field values Ljava/util/List; public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprArray$ExprArrayBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprArray$ExprArrayBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprArray; + public fun toString ()Ljava/lang/String; + public fun values (Ljava/util/List;)Lorg/partiql/ast/v1/expr/ExprArray$ExprArrayBuilder; +} + public class org/partiql/ast/v1/expr/ExprBag : org/partiql/ast/v1/expr/Expr { - public field values Ljava/util/List; + public final field values Ljava/util/List; public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprBag$ExprBagBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprBag$ExprBagBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprBag; + public fun toString ()Ljava/lang/String; + public fun values (Ljava/util/List;)Lorg/partiql/ast/v1/expr/ExprBag$ExprBagBuilder; +} + public class org/partiql/ast/v1/expr/ExprBetween : org/partiql/ast/v1/expr/Expr { - public field from Lorg/partiql/ast/v1/expr/Expr; - public field not Z - public field to Lorg/partiql/ast/v1/expr/Expr; - public field value Lorg/partiql/ast/v1/expr/Expr; + public final field from Lorg/partiql/ast/v1/expr/Expr; + public final field not Z + public final field to Lorg/partiql/ast/v1/expr/Expr; + public final field value Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Z)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprBetween$ExprBetweenBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprBetween$ExprBetweenBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprBetween; + public fun from (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprBetween$ExprBetweenBuilder; + public fun not (Z)Lorg/partiql/ast/v1/expr/ExprBetween$ExprBetweenBuilder; + public fun to (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprBetween$ExprBetweenBuilder; + public fun toString ()Ljava/lang/String; + public fun value (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprBetween$ExprBetweenBuilder; +} + public class org/partiql/ast/v1/expr/ExprCall : org/partiql/ast/v1/expr/Expr { - public field args Ljava/util/List; - public field function Lorg/partiql/ast/v1/IdentifierChain; - public field setq Lorg/partiql/ast/v1/SetQuantifier; + public final field args Ljava/util/List; + public final field function Lorg/partiql/ast/v1/IdentifierChain; + public final field setq Lorg/partiql/ast/v1/SetQuantifier; public fun (Lorg/partiql/ast/v1/IdentifierChain;Ljava/util/List;Lorg/partiql/ast/v1/SetQuantifier;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprCall$ExprCallBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprCall$ExprCallBuilder { + public fun args (Ljava/util/List;)Lorg/partiql/ast/v1/expr/ExprCall$ExprCallBuilder; + public fun build ()Lorg/partiql/ast/v1/expr/ExprCall; + public fun function (Lorg/partiql/ast/v1/IdentifierChain;)Lorg/partiql/ast/v1/expr/ExprCall$ExprCallBuilder; + public fun setq (Lorg/partiql/ast/v1/SetQuantifier;)Lorg/partiql/ast/v1/expr/ExprCall$ExprCallBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprCase : org/partiql/ast/v1/expr/Expr { - public field branches Ljava/util/List; - public field defaultExpr Lorg/partiql/ast/v1/expr/Expr; - public field expr Lorg/partiql/ast/v1/expr/Expr; + public final field branches Ljava/util/List; + public final field defaultExpr Lorg/partiql/ast/v1/expr/Expr; + public final field expr Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Ljava/util/List;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprCase$ExprCaseBuilder; public fun children ()Ljava/util/Collection; } public class org/partiql/ast/v1/expr/ExprCase$Branch : org/partiql/ast/v1/AstNode { - public field condition Lorg/partiql/ast/v1/expr/Expr; - public field expr Lorg/partiql/ast/v1/expr/Expr; + public final field condition Lorg/partiql/ast/v1/expr/Expr; + public final field expr Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprCase$Branch$BranchBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprCase$Branch$BranchBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprCase$Branch; + public fun condition (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprCase$Branch$BranchBuilder; + public fun expr (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprCase$Branch$BranchBuilder; + public fun toString ()Ljava/lang/String; +} + +public class org/partiql/ast/v1/expr/ExprCase$ExprCaseBuilder { + public fun branches (Ljava/util/List;)Lorg/partiql/ast/v1/expr/ExprCase$ExprCaseBuilder; + public fun build ()Lorg/partiql/ast/v1/expr/ExprCase; + public fun defaultExpr (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprCase$ExprCaseBuilder; + public fun expr (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprCase$ExprCaseBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprCast : org/partiql/ast/v1/expr/Expr { - public field asType Lorg/partiql/ast/v1/DataType; - public field value Lorg/partiql/ast/v1/expr/Expr; + public final field asType Lorg/partiql/ast/v1/DataType; + public final field value Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/DataType;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprCast$ExprCastBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprCast$ExprCastBuilder { + public fun asType (Lorg/partiql/ast/v1/DataType;)Lorg/partiql/ast/v1/expr/ExprCast$ExprCastBuilder; + public fun build ()Lorg/partiql/ast/v1/expr/ExprCast; + public fun toString ()Ljava/lang/String; + public fun value (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprCast$ExprCastBuilder; +} + public class org/partiql/ast/v1/expr/ExprCoalesce : org/partiql/ast/v1/expr/Expr { - public field args Ljava/util/List; + public final field args Ljava/util/List; public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprCoalesce$ExprCoalesceBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprCoalesce$ExprCoalesceBuilder { + public fun args (Ljava/util/List;)Lorg/partiql/ast/v1/expr/ExprCoalesce$ExprCoalesceBuilder; + public fun build ()Lorg/partiql/ast/v1/expr/ExprCoalesce; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprExtract : org/partiql/ast/v1/expr/Expr { - public field field Lorg/partiql/ast/v1/DatetimeField; - public field source Lorg/partiql/ast/v1/expr/Expr; + public final field field Lorg/partiql/ast/v1/DatetimeField; + public final field source Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/DatetimeField;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprExtract$ExprExtractBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprExtract$ExprExtractBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprExtract; + public fun field (Lorg/partiql/ast/v1/DatetimeField;)Lorg/partiql/ast/v1/expr/ExprExtract$ExprExtractBuilder; + public fun source (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprExtract$ExprExtractBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprInCollection : org/partiql/ast/v1/expr/Expr { - public field lhs Lorg/partiql/ast/v1/expr/Expr; - public field not Z - public field rhs Lorg/partiql/ast/v1/expr/Expr; + public final field lhs Lorg/partiql/ast/v1/expr/Expr; + public final field not Z + public final field rhs Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Z)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprInCollection$ExprInCollectionBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprInCollection$ExprInCollectionBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprInCollection; + public fun lhs (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprInCollection$ExprInCollectionBuilder; + public fun not (Z)Lorg/partiql/ast/v1/expr/ExprInCollection$ExprInCollectionBuilder; + public fun rhs (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprInCollection$ExprInCollectionBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprIsType : org/partiql/ast/v1/expr/Expr { - public field not Z - public field type Lorg/partiql/ast/v1/DataType; - public field value Lorg/partiql/ast/v1/expr/Expr; + public final field not Z + public final field type Lorg/partiql/ast/v1/DataType; + public final field value Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/DataType;Z)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprIsType$ExprIsTypeBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprIsType$ExprIsTypeBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprIsType; + public fun not (Z)Lorg/partiql/ast/v1/expr/ExprIsType$ExprIsTypeBuilder; + public fun toString ()Ljava/lang/String; + public fun type (Lorg/partiql/ast/v1/DataType;)Lorg/partiql/ast/v1/expr/ExprIsType$ExprIsTypeBuilder; + public fun value (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprIsType$ExprIsTypeBuilder; +} + public class org/partiql/ast/v1/expr/ExprLike : org/partiql/ast/v1/expr/Expr { - public field escape Lorg/partiql/ast/v1/expr/Expr; - public field not Z - public field pattern Lorg/partiql/ast/v1/expr/Expr; - public field value Lorg/partiql/ast/v1/expr/Expr; + public final field escape Lorg/partiql/ast/v1/expr/Expr; + public final field not Z + public final field pattern Lorg/partiql/ast/v1/expr/Expr; + public final field value Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Z)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprLike$ExprLikeBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprLike$ExprLikeBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprLike; + public fun escape (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprLike$ExprLikeBuilder; + public fun not (Z)Lorg/partiql/ast/v1/expr/ExprLike$ExprLikeBuilder; + public fun pattern (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprLike$ExprLikeBuilder; + public fun toString ()Ljava/lang/String; + public fun value (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprLike$ExprLikeBuilder; +} + public class org/partiql/ast/v1/expr/ExprLit : org/partiql/ast/v1/expr/Expr { - public field value Lorg/partiql/value/PartiQLValue; + public final field value Lorg/partiql/value/PartiQLValue; public fun (Lorg/partiql/value/PartiQLValue;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprLit$ExprLitBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprLit$ExprLitBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprLit; + public fun toString ()Ljava/lang/String; + public fun value (Lorg/partiql/value/PartiQLValue;)Lorg/partiql/ast/v1/expr/ExprLit$ExprLitBuilder; +} + public class org/partiql/ast/v1/expr/ExprMatch : org/partiql/ast/v1/expr/Expr { - public field expr Lorg/partiql/ast/v1/expr/Expr; - public field pattern Lorg/partiql/ast/v1/graph/GraphMatch; + public final field expr Lorg/partiql/ast/v1/expr/Expr; + public final field pattern Lorg/partiql/ast/v1/graph/GraphMatch; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/graph/GraphMatch;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprMatch$ExprMatchBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprMatch$ExprMatchBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprMatch; + public fun expr (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprMatch$ExprMatchBuilder; + public fun pattern (Lorg/partiql/ast/v1/graph/GraphMatch;)Lorg/partiql/ast/v1/expr/ExprMatch$ExprMatchBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprNot : org/partiql/ast/v1/expr/Expr { - public field value Lorg/partiql/ast/v1/expr/Expr; + public final field value Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprNot$ExprNotBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprNot$ExprNotBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprNot; + public fun toString ()Ljava/lang/String; + public fun value (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprNot$ExprNotBuilder; +} + public class org/partiql/ast/v1/expr/ExprNullIf : org/partiql/ast/v1/expr/Expr { - public field v1 Lorg/partiql/ast/v1/expr/Expr; - public field v2 Lorg/partiql/ast/v1/expr/Expr; + public final field v1 Lorg/partiql/ast/v1/expr/Expr; + public final field v2 Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprNullIf$ExprNullIfBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprNullIf$ExprNullIfBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprNullIf; + public fun toString ()Ljava/lang/String; + public fun v1 (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprNullIf$ExprNullIfBuilder; + public fun v2 (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprNullIf$ExprNullIfBuilder; +} + public class org/partiql/ast/v1/expr/ExprOperator : org/partiql/ast/v1/expr/Expr { - public field lhs Lorg/partiql/ast/v1/expr/Expr; - public field rhs Lorg/partiql/ast/v1/expr/Expr; - public field symbol Ljava/lang/String; + public final field lhs Lorg/partiql/ast/v1/expr/Expr; + public final field rhs Lorg/partiql/ast/v1/expr/Expr; + public final field symbol Ljava/lang/String; public fun (Ljava/lang/String;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprOperator$ExprOperatorBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprOperator$ExprOperatorBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprOperator; + public fun lhs (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprOperator$ExprOperatorBuilder; + public fun rhs (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprOperator$ExprOperatorBuilder; + public fun symbol (Ljava/lang/String;)Lorg/partiql/ast/v1/expr/ExprOperator$ExprOperatorBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprOr : org/partiql/ast/v1/expr/Expr { - public field lhs Lorg/partiql/ast/v1/expr/Expr; - public field rhs Lorg/partiql/ast/v1/expr/Expr; + public final field lhs Lorg/partiql/ast/v1/expr/Expr; + public final field rhs Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprOr$ExprOrBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprOr$ExprOrBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprOr; + public fun lhs (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprOr$ExprOrBuilder; + public fun rhs (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprOr$ExprOrBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprOverlay : org/partiql/ast/v1/expr/Expr { - public field forLength Lorg/partiql/ast/v1/expr/Expr; - public field from Lorg/partiql/ast/v1/expr/Expr; - public field placing Lorg/partiql/ast/v1/expr/Expr; - public field value Lorg/partiql/ast/v1/expr/Expr; + public final field forLength Lorg/partiql/ast/v1/expr/Expr; + public final field from Lorg/partiql/ast/v1/expr/Expr; + public final field placing Lorg/partiql/ast/v1/expr/Expr; + public final field value Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprOverlay$ExprOverlayBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprOverlay$ExprOverlayBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprOverlay; + public fun forLength (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprOverlay$ExprOverlayBuilder; + public fun from (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprOverlay$ExprOverlayBuilder; + public fun placing (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprOverlay$ExprOverlayBuilder; + public fun toString ()Ljava/lang/String; + public fun value (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprOverlay$ExprOverlayBuilder; +} + public class org/partiql/ast/v1/expr/ExprParameter : org/partiql/ast/v1/expr/Expr { - public field index I + public final field index I public fun (I)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprParameter$ExprParameterBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprParameter$ExprParameterBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprParameter; + public fun index (I)Lorg/partiql/ast/v1/expr/ExprParameter$ExprParameterBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprPath : org/partiql/ast/v1/expr/Expr { - public field next Lorg/partiql/ast/v1/expr/PathStep; - public field root Lorg/partiql/ast/v1/expr/Expr; + public final field next Lorg/partiql/ast/v1/expr/PathStep; + public final field root Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/PathStep;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprPath$ExprPathBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprPath$ExprPathBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprPath; + public fun next (Lorg/partiql/ast/v1/expr/PathStep;)Lorg/partiql/ast/v1/expr/ExprPath$ExprPathBuilder; + public fun root (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprPath$ExprPathBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprPosition : org/partiql/ast/v1/expr/Expr { - public field lhs Lorg/partiql/ast/v1/expr/Expr; - public field rhs Lorg/partiql/ast/v1/expr/Expr; + public final field lhs Lorg/partiql/ast/v1/expr/Expr; + public final field rhs Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprPosition$ExprPositionBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprPosition$ExprPositionBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprPosition; + public fun lhs (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprPosition$ExprPositionBuilder; + public fun rhs (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprPosition$ExprPositionBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprQuerySet : org/partiql/ast/v1/expr/Expr { - public field body Lorg/partiql/ast/v1/QueryBody; - public field limit Lorg/partiql/ast/v1/expr/Expr; - public field offset Lorg/partiql/ast/v1/expr/Expr; - public field orderBy Lorg/partiql/ast/v1/OrderBy; + public final field body Lorg/partiql/ast/v1/QueryBody; + public final field limit Lorg/partiql/ast/v1/expr/Expr; + public final field offset Lorg/partiql/ast/v1/expr/Expr; + public final field orderBy Lorg/partiql/ast/v1/OrderBy; public fun (Lorg/partiql/ast/v1/QueryBody;Lorg/partiql/ast/v1/OrderBy;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprQuerySet$ExprQuerySetBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprQuerySet$ExprQuerySetBuilder { + public fun body (Lorg/partiql/ast/v1/QueryBody;)Lorg/partiql/ast/v1/expr/ExprQuerySet$ExprQuerySetBuilder; + public fun build ()Lorg/partiql/ast/v1/expr/ExprQuerySet; + public fun limit (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprQuerySet$ExprQuerySetBuilder; + public fun offset (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprQuerySet$ExprQuerySetBuilder; + public fun orderBy (Lorg/partiql/ast/v1/OrderBy;)Lorg/partiql/ast/v1/expr/ExprQuerySet$ExprQuerySetBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprSessionAttribute : org/partiql/ast/v1/expr/Expr { - public field sessionAttribute Lorg/partiql/ast/v1/expr/SessionAttribute; + public final field sessionAttribute Lorg/partiql/ast/v1/expr/SessionAttribute; public fun (Lorg/partiql/ast/v1/expr/SessionAttribute;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprSessionAttribute$ExprSessionAttributeBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprSessionAttribute$ExprSessionAttributeBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprSessionAttribute; + public fun sessionAttribute (Lorg/partiql/ast/v1/expr/SessionAttribute;)Lorg/partiql/ast/v1/expr/ExprSessionAttribute$ExprSessionAttributeBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprStruct : org/partiql/ast/v1/expr/Expr { - public field fields Ljava/util/List; + public final field fields Ljava/util/List; public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprStruct$ExprStructBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprStruct$ExprStructBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprStruct; + public fun fields (Ljava/util/List;)Lorg/partiql/ast/v1/expr/ExprStruct$ExprStructBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprStruct$Field : org/partiql/ast/v1/AstNode { - public field name Lorg/partiql/ast/v1/expr/Expr; - public field value Lorg/partiql/ast/v1/expr/Expr; + public final field name Lorg/partiql/ast/v1/expr/Expr; + public final field value Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprStruct$Field$FieldBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprStruct$Field$FieldBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprStruct$Field; + public fun name (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprStruct$Field$FieldBuilder; + public fun toString ()Ljava/lang/String; + public fun value (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprStruct$Field$FieldBuilder; +} + public class org/partiql/ast/v1/expr/ExprSubstring : org/partiql/ast/v1/expr/Expr { - public field length Lorg/partiql/ast/v1/expr/Expr; - public field start Lorg/partiql/ast/v1/expr/Expr; - public field value Lorg/partiql/ast/v1/expr/Expr; + public final field length Lorg/partiql/ast/v1/expr/Expr; + public final field start Lorg/partiql/ast/v1/expr/Expr; + public final field value Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprSubstring$ExprSubstringBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprSubstring$ExprSubstringBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprSubstring; + public fun length (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprSubstring$ExprSubstringBuilder; + public fun start (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprSubstring$ExprSubstringBuilder; + public fun toString ()Ljava/lang/String; + public fun value (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprSubstring$ExprSubstringBuilder; +} + public class org/partiql/ast/v1/expr/ExprTrim : org/partiql/ast/v1/expr/Expr { - public field chars Lorg/partiql/ast/v1/expr/Expr; - public field trimSpec Lorg/partiql/ast/v1/expr/TrimSpec; - public field value Lorg/partiql/ast/v1/expr/Expr; + public final field chars Lorg/partiql/ast/v1/expr/Expr; + public final field trimSpec Lorg/partiql/ast/v1/expr/TrimSpec; + public final field value Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/TrimSpec;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprTrim$ExprTrimBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprTrim$ExprTrimBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprTrim; + public fun chars (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprTrim$ExprTrimBuilder; + public fun toString ()Ljava/lang/String; + public fun trimSpec (Lorg/partiql/ast/v1/expr/TrimSpec;)Lorg/partiql/ast/v1/expr/ExprTrim$ExprTrimBuilder; + public fun value (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprTrim$ExprTrimBuilder; +} + public class org/partiql/ast/v1/expr/ExprValues : org/partiql/ast/v1/expr/Expr { - public field rows Ljava/util/List; + public final field rows Ljava/util/List; public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprValues$ExprValuesBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprValues$ExprValuesBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprValues; + public fun rows (Ljava/util/List;)Lorg/partiql/ast/v1/expr/ExprValues$ExprValuesBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprValues$Row : org/partiql/ast/v1/AstNode { - public field values Ljava/util/List; + public final field values Ljava/util/List; public fun (Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprValues$Row$RowBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprValues$Row$RowBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprValues$Row; + public fun toString ()Ljava/lang/String; + public fun values (Ljava/util/List;)Lorg/partiql/ast/v1/expr/ExprValues$Row$RowBuilder; +} + public class org/partiql/ast/v1/expr/ExprVarRef : org/partiql/ast/v1/expr/Expr { - public field identifierChain Lorg/partiql/ast/v1/IdentifierChain; - public field scope Lorg/partiql/ast/v1/expr/Scope; + public final field identifierChain Lorg/partiql/ast/v1/IdentifierChain; + public final field scope Lorg/partiql/ast/v1/expr/Scope; public fun (Lorg/partiql/ast/v1/IdentifierChain;Lorg/partiql/ast/v1/expr/Scope;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprVarRef$ExprVarRefBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprVarRef$ExprVarRefBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprVarRef; + public fun identifierChain (Lorg/partiql/ast/v1/IdentifierChain;)Lorg/partiql/ast/v1/expr/ExprVarRef$ExprVarRefBuilder; + public fun scope (Lorg/partiql/ast/v1/expr/Scope;)Lorg/partiql/ast/v1/expr/ExprVarRef$ExprVarRefBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/expr/ExprVariant : org/partiql/ast/v1/expr/Expr { - public field encoding Ljava/lang/String; - public field value Ljava/lang/String; + public final field encoding Ljava/lang/String; + public final field value Ljava/lang/String; public fun (Ljava/lang/String;Ljava/lang/String;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprVariant$ExprVariantBuilder; public synthetic fun children ()Ljava/util/Collection; public fun children ()Ljava/util/List; } +public class org/partiql/ast/v1/expr/ExprVariant$ExprVariantBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprVariant; + public fun encoding (Ljava/lang/String;)Lorg/partiql/ast/v1/expr/ExprVariant$ExprVariantBuilder; + public fun toString ()Ljava/lang/String; + public fun value (Ljava/lang/String;)Lorg/partiql/ast/v1/expr/ExprVariant$ExprVariantBuilder; +} + public class org/partiql/ast/v1/expr/ExprWindow : org/partiql/ast/v1/expr/Expr { - public field defaultValue Lorg/partiql/ast/v1/expr/Expr; - public field expression Lorg/partiql/ast/v1/expr/Expr; - public field offset Lorg/partiql/ast/v1/expr/Expr; - public field over Lorg/partiql/ast/v1/expr/ExprWindow$Over; - public field windowFunction Lorg/partiql/ast/v1/expr/WindowFunction; + public final field defaultValue Lorg/partiql/ast/v1/expr/Expr; + public final field expression Lorg/partiql/ast/v1/expr/Expr; + public final field offset Lorg/partiql/ast/v1/expr/Expr; + public final field over Lorg/partiql/ast/v1/expr/ExprWindow$Over; + public final field windowFunction Lorg/partiql/ast/v1/expr/WindowFunction; public fun (Lorg/partiql/ast/v1/expr/WindowFunction;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/ExprWindow$Over;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprWindow$ExprWindowBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprWindow$ExprWindowBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprWindow; + public fun defaultValue (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprWindow$ExprWindowBuilder; + public fun expression (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprWindow$ExprWindowBuilder; + public fun offset (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/expr/ExprWindow$ExprWindowBuilder; + public fun over (Lorg/partiql/ast/v1/expr/ExprWindow$Over;)Lorg/partiql/ast/v1/expr/ExprWindow$ExprWindowBuilder; + public fun toString ()Ljava/lang/String; + public fun windowFunction (Lorg/partiql/ast/v1/expr/WindowFunction;)Lorg/partiql/ast/v1/expr/ExprWindow$ExprWindowBuilder; +} + public class org/partiql/ast/v1/expr/ExprWindow$Over : org/partiql/ast/v1/AstNode { - public field partitions Ljava/util/List; - public field sorts Ljava/util/List; + public final field partitions Ljava/util/List; + public final field sorts Ljava/util/List; public fun (Ljava/util/List;Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/expr/ExprWindow$Over$OverBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/expr/ExprWindow$Over$OverBuilder { + public fun build ()Lorg/partiql/ast/v1/expr/ExprWindow$Over; + public fun partitions (Ljava/util/List;)Lorg/partiql/ast/v1/expr/ExprWindow$Over$OverBuilder; + public fun sorts (Ljava/util/List;)Lorg/partiql/ast/v1/expr/ExprWindow$Over$OverBuilder; + public fun toString ()Ljava/lang/String; +} + public abstract class org/partiql/ast/v1/expr/PathStep : org/partiql/ast/v1/AstNode { - public field next Lorg/partiql/ast/v1/expr/PathStep; - public fun ()V + public final field next Lorg/partiql/ast/v1/expr/PathStep; + protected fun (Lorg/partiql/ast/v1/expr/PathStep;)V } public class org/partiql/ast/v1/expr/PathStep$AllElements : org/partiql/ast/v1/expr/PathStep { @@ -6445,14 +6955,14 @@ public class org/partiql/ast/v1/expr/PathStep$AllFields : org/partiql/ast/v1/exp } public class org/partiql/ast/v1/expr/PathStep$Element : org/partiql/ast/v1/expr/PathStep { - public field element Lorg/partiql/ast/v1/expr/Expr; + public final field element Lorg/partiql/ast/v1/expr/Expr; public fun (Lorg/partiql/ast/v1/expr/Expr;Lorg/partiql/ast/v1/expr/PathStep;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; } public class org/partiql/ast/v1/expr/PathStep$Field : org/partiql/ast/v1/expr/PathStep { - public field field Lorg/partiql/ast/v1/Identifier; + public final field field Lorg/partiql/ast/v1/Identifier; public fun (Lorg/partiql/ast/v1/Identifier;Lorg/partiql/ast/v1/expr/PathStep;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; public fun children ()Ljava/util/Collection; @@ -6528,98 +7038,185 @@ 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 field args Ljava/util/List; + public final field args Ljava/util/List; public fun (Ljava/util/List;)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$ConjBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphLabel$Conj$ConjBuilder { + public fun args (Ljava/util/List;)Lorg/partiql/ast/v1/graph/GraphLabel$Conj$ConjBuilder; + public fun build ()Lorg/partiql/ast/v1/graph/GraphLabel$Conj; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/graph/GraphLabel$Disj : org/partiql/ast/v1/graph/GraphLabel { - public field args Ljava/util/List; + public final field args Ljava/util/List; public fun (Ljava/util/List;)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$DisjBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphLabel$Disj$DisjBuilder { + public fun args (Ljava/util/List;)Lorg/partiql/ast/v1/graph/GraphLabel$Disj$DisjBuilder; + public fun build ()Lorg/partiql/ast/v1/graph/GraphLabel$Disj; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/graph/GraphLabel$Name : org/partiql/ast/v1/graph/GraphLabel { - public field name Ljava/lang/String; + public final field name Ljava/lang/String; public fun (Ljava/lang/String;)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$Name$NameBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphLabel$Name$NameBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphLabel$Name; + public fun name (Ljava/lang/String;)Lorg/partiql/ast/v1/graph/GraphLabel$Name$NameBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/graph/GraphLabel$Negation : org/partiql/ast/v1/graph/GraphLabel { - public field arg Lorg/partiql/ast/v1/graph/GraphLabel; + public final field arg Lorg/partiql/ast/v1/graph/GraphLabel; public fun (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$Negation$NegationBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphLabel$Negation$NegationBuilder { + public fun arg (Lorg/partiql/ast/v1/graph/GraphLabel;)Lorg/partiql/ast/v1/graph/GraphLabel$Negation$NegationBuilder; + public fun build ()Lorg/partiql/ast/v1/graph/GraphLabel$Negation; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/graph/GraphLabel$Wildcard : org/partiql/ast/v1/graph/GraphLabel { - public fun ()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$Wildcard$WildcardBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphLabel$Wildcard$WildcardBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphLabel$Wildcard; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/graph/GraphMatch : org/partiql/ast/v1/AstNode { - public field patterns Ljava/util/List; - public field selector Lorg/partiql/ast/v1/graph/GraphSelector; + public final field patterns Ljava/util/List; + public final field selector Lorg/partiql/ast/v1/graph/GraphSelector; public fun (Ljava/util/List;Lorg/partiql/ast/v1/graph/GraphSelector;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/graph/GraphMatch$GraphMatchBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphMatch$GraphMatchBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphMatch; + public fun patterns (Ljava/util/List;)Lorg/partiql/ast/v1/graph/GraphMatch$GraphMatchBuilder; + public fun selector (Lorg/partiql/ast/v1/graph/GraphSelector;)Lorg/partiql/ast/v1/graph/GraphMatch$GraphMatchBuilder; + public fun toString ()Ljava/lang/String; +} + public abstract class org/partiql/ast/v1/graph/GraphPart : org/partiql/ast/v1/AstNode { public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; } public class org/partiql/ast/v1/graph/GraphPart$Edge : org/partiql/ast/v1/graph/GraphPart { - public field direction Lorg/partiql/ast/v1/graph/GraphDirection; - public field label Lorg/partiql/ast/v1/graph/GraphLabel; - public field prefilter Lorg/partiql/ast/v1/expr/Expr; - public field quantifier Lorg/partiql/ast/v1/graph/GraphQuantifier; - public field variable Ljava/lang/String; + public final field direction Lorg/partiql/ast/v1/graph/GraphDirection; + public final field label Lorg/partiql/ast/v1/graph/GraphLabel; + public final field prefilter Lorg/partiql/ast/v1/expr/Expr; + public final field quantifier Lorg/partiql/ast/v1/graph/GraphQuantifier; + public final field variable Ljava/lang/String; public fun (Lorg/partiql/ast/v1/graph/GraphDirection;Lorg/partiql/ast/v1/graph/GraphQuantifier;Lorg/partiql/ast/v1/expr/Expr;Ljava/lang/String;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/GraphPart$Edge$EdgeBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphPart$Edge$EdgeBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphPart$Edge; + public fun direction (Lorg/partiql/ast/v1/graph/GraphDirection;)Lorg/partiql/ast/v1/graph/GraphPart$Edge$EdgeBuilder; + public fun label (Lorg/partiql/ast/v1/graph/GraphLabel;)Lorg/partiql/ast/v1/graph/GraphPart$Edge$EdgeBuilder; + public fun prefilter (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/graph/GraphPart$Edge$EdgeBuilder; + public fun quantifier (Lorg/partiql/ast/v1/graph/GraphQuantifier;)Lorg/partiql/ast/v1/graph/GraphPart$Edge$EdgeBuilder; + public fun toString ()Ljava/lang/String; + public fun variable (Ljava/lang/String;)Lorg/partiql/ast/v1/graph/GraphPart$Edge$EdgeBuilder; +} + public class org/partiql/ast/v1/graph/GraphPart$Node : org/partiql/ast/v1/graph/GraphPart { - public field label Lorg/partiql/ast/v1/graph/GraphLabel; - public field prefilter Lorg/partiql/ast/v1/expr/Expr; - public field variable Ljava/lang/String; + public final field label Lorg/partiql/ast/v1/graph/GraphLabel; + public final field prefilter Lorg/partiql/ast/v1/expr/Expr; + public final field variable Ljava/lang/String; public fun (Lorg/partiql/ast/v1/expr/Expr;Ljava/lang/String;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/GraphPart$Node$NodeBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphPart$Node$NodeBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphPart$Node; + public fun label (Lorg/partiql/ast/v1/graph/GraphLabel;)Lorg/partiql/ast/v1/graph/GraphPart$Node$NodeBuilder; + public fun prefilter (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/graph/GraphPart$Node$NodeBuilder; + public fun toString ()Ljava/lang/String; + public fun variable (Ljava/lang/String;)Lorg/partiql/ast/v1/graph/GraphPart$Node$NodeBuilder; +} + public class org/partiql/ast/v1/graph/GraphPart$Pattern : org/partiql/ast/v1/graph/GraphPart { - public field pattern Lorg/partiql/ast/v1/graph/GraphPattern; + public final field pattern Lorg/partiql/ast/v1/graph/GraphPattern; public fun (Lorg/partiql/ast/v1/graph/GraphPattern;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/graph/GraphPart$Pattern$PatternBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphPart$Pattern$PatternBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphPart$Pattern; + public fun pattern (Lorg/partiql/ast/v1/graph/GraphPattern;)Lorg/partiql/ast/v1/graph/GraphPart$Pattern$PatternBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/graph/GraphPattern : org/partiql/ast/v1/AstNode { - public field parts Ljava/util/List; - public field prefilter Lorg/partiql/ast/v1/expr/Expr; - public field quantifier Lorg/partiql/ast/v1/graph/GraphQuantifier; - public field restrictor Lorg/partiql/ast/v1/graph/GraphRestrictor; - public field variable Ljava/lang/String; + public final field parts Ljava/util/List; + public final field prefilter Lorg/partiql/ast/v1/expr/Expr; + public final field quantifier Lorg/partiql/ast/v1/graph/GraphQuantifier; + public final field restrictor Lorg/partiql/ast/v1/graph/GraphRestrictor; + public final field variable Ljava/lang/String; public fun (Lorg/partiql/ast/v1/graph/GraphRestrictor;Lorg/partiql/ast/v1/expr/Expr;Ljava/lang/String;Lorg/partiql/ast/v1/graph/GraphQuantifier;Ljava/util/List;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/graph/GraphPattern$GraphPatternBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphPattern$GraphPatternBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphPattern; + public fun parts (Ljava/util/List;)Lorg/partiql/ast/v1/graph/GraphPattern$GraphPatternBuilder; + public fun prefilter (Lorg/partiql/ast/v1/expr/Expr;)Lorg/partiql/ast/v1/graph/GraphPattern$GraphPatternBuilder; + public fun quantifier (Lorg/partiql/ast/v1/graph/GraphQuantifier;)Lorg/partiql/ast/v1/graph/GraphPattern$GraphPatternBuilder; + public fun restrictor (Lorg/partiql/ast/v1/graph/GraphRestrictor;)Lorg/partiql/ast/v1/graph/GraphPattern$GraphPatternBuilder; + public fun toString ()Ljava/lang/String; + public fun variable (Ljava/lang/String;)Lorg/partiql/ast/v1/graph/GraphPattern$GraphPatternBuilder; +} + public class org/partiql/ast/v1/graph/GraphQuantifier : org/partiql/ast/v1/AstNode { - public field lower Ljava/lang/Long; - public field upper Ljava/lang/Long; + public final field lower Ljava/lang/Long; + public final field upper Ljava/lang/Long; public fun (Ljava/lang/Long;Ljava/lang/Long;)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/graph/GraphQuantifier$GraphQuantifierBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphQuantifier$GraphQuantifierBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphQuantifier; + public fun lower (Ljava/lang/Long;)Lorg/partiql/ast/v1/graph/GraphQuantifier$GraphQuantifierBuilder; + public fun toString ()Ljava/lang/String; + public fun upper (Ljava/lang/Long;)Lorg/partiql/ast/v1/graph/GraphQuantifier$GraphQuantifierBuilder; +} + public class org/partiql/ast/v1/graph/GraphRestrictor : org/partiql/ast/v1/Enum { public static final field ACYCLIC I public static final field SIMPLE I @@ -6638,44 +7235,80 @@ public abstract class org/partiql/ast/v1/graph/GraphSelector : org/partiql/ast/v } public class org/partiql/ast/v1/graph/GraphSelector$AllShortest : org/partiql/ast/v1/graph/GraphSelector { - public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/graph/GraphSelector$AllShortest$AllShortestBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphSelector$AllShortest$AllShortestBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphSelector$AllShortest; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/graph/GraphSelector$Any : org/partiql/ast/v1/graph/GraphSelector { - public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/graph/GraphSelector$Any$AnyBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphSelector$Any$AnyBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphSelector$Any; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/graph/GraphSelector$AnyK : org/partiql/ast/v1/graph/GraphSelector { - public field k J + public final field k J public fun (J)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/graph/GraphSelector$AnyK$AnyKBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphSelector$AnyK$AnyKBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphSelector$AnyK; + public fun k (J)Lorg/partiql/ast/v1/graph/GraphSelector$AnyK$AnyKBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/graph/GraphSelector$AnyShortest : org/partiql/ast/v1/graph/GraphSelector { - public fun ()V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/graph/GraphSelector$AnyShortest$AnyShortestBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphSelector$AnyShortest$AnyShortestBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphSelector$AnyShortest; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/graph/GraphSelector$ShortestK : org/partiql/ast/v1/graph/GraphSelector { - public field k J + public final field k J public fun (J)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/graph/GraphSelector$ShortestK$ShortestKBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphSelector$ShortestK$ShortestKBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphSelector$ShortestK; + public fun k (J)Lorg/partiql/ast/v1/graph/GraphSelector$ShortestK$ShortestKBuilder; + public fun toString ()Ljava/lang/String; +} + public class org/partiql/ast/v1/graph/GraphSelector$ShortestKGroup : org/partiql/ast/v1/graph/GraphSelector { - public field k J + public final field k J public fun (J)V public fun accept (Lorg/partiql/ast/v1/AstVisitor;Ljava/lang/Object;)Ljava/lang/Object; + public static fun builder ()Lorg/partiql/ast/v1/graph/GraphSelector$ShortestKGroup$ShortestKGroupBuilder; public fun children ()Ljava/util/Collection; } +public class org/partiql/ast/v1/graph/GraphSelector$ShortestKGroup$ShortestKGroupBuilder { + public fun build ()Lorg/partiql/ast/v1/graph/GraphSelector$ShortestKGroup; + public fun k (J)Lorg/partiql/ast/v1/graph/GraphSelector$ShortestKGroup$ShortestKGroupBuilder; + public fun toString ()Ljava/lang/String; +} + public abstract class org/partiql/ast/visitor/AstBaseVisitor : org/partiql/ast/visitor/AstVisitor { public fun ()V public abstract fun defaultReturn (Lorg/partiql/ast/AstNode;Ljava/lang/Object;)Ljava/lang/Object; diff --git a/partiql-ast/build.gradle.kts b/partiql-ast/build.gradle.kts index 05b00c07e..ad19f109b 100644 --- a/partiql-ast/build.gradle.kts +++ b/partiql-ast/build.gradle.kts @@ -16,6 +16,7 @@ plugins { id(Plugins.conventions) id(Plugins.publish) + id(Plugins.kotlinLombok) version Versions.kotlinLombok } dependencies { @@ -24,6 +25,8 @@ dependencies { // TODO REMOVE ME ONCE PartiQLValue IS REMOVED // THE AST NEEDS ITS OWN "VALUE" REPRESENTATION api(project(":partiql-spi")) + compileOnly(Deps.lombok) + annotationProcessor(Deps.lombok) } tasks.shadowJar { diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/Exclude.java b/partiql-ast/src/main/java/org/partiql/ast/v1/Exclude.java index f95a33b79..824ac9969 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/Exclude.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/Exclude.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -9,9 +10,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class Exclude extends AstNode { @NotNull - public List excludePaths; + public final List excludePaths; public Exclude(@NotNull List excludePaths) { this.excludePaths = excludePaths; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/ExcludePath.java b/partiql-ast/src/main/java/org/partiql/ast/v1/ExcludePath.java index e468f4719..aa6174c1b 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/ExcludePath.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/ExcludePath.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.expr.ExprVarRef; @@ -10,12 +11,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExcludePath extends AstNode { @NotNull - public ExprVarRef root; + public final ExprVarRef root; @NotNull - public List excludeSteps; + public final List excludeSteps; public ExcludePath(@NotNull ExprVarRef root, @NotNull List excludeSteps) { this.root = root; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/ExcludeStep.java b/partiql-ast/src/main/java/org/partiql/ast/v1/ExcludeStep.java index 42a42b1ef..12ea50993 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/ExcludeStep.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/ExcludeStep.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -13,9 +14,10 @@ public abstract class ExcludeStep extends AstNode { /** * TODO docs, equals, hashcode */ + @Builder public static class StructField extends ExcludeStep { @NotNull - public Identifier symbol; + public final Identifier symbol; public StructField(@NotNull Identifier symbol) { this.symbol = symbol; @@ -38,8 +40,9 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class CollIndex extends ExcludeStep { - public int index; + public final int index; public CollIndex(int index) { this.index = index; @@ -60,6 +63,7 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class StructWildcard extends ExcludeStep { @NotNull @Override @@ -76,6 +80,7 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class CollWildcard extends ExcludeStep { @NotNull @Override diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/Explain.java b/partiql-ast/src/main/java/org/partiql/ast/v1/Explain.java index a89a1c40d..3cf82dd07 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/Explain.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/Explain.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.value.PartiQLValue; @@ -11,13 +12,14 @@ /** * TODO docs, equals, hashcode */ +@Builder public class Explain extends Statement { // TODO get rid of PartiQLValue once https://github.com/partiql/partiql-lang-kotlin/issues/1589 is resolved @NotNull - public Map options; + public final Map options; @NotNull - public Statement statement; + public final Statement statement; public Explain(@NotNull Map options, @NotNull Statement statement) { this.options = options; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/From.java b/partiql-ast/src/main/java/org/partiql/ast/v1/From.java index 1b36b5e52..86955d3e3 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/From.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/From.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -9,9 +10,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class From extends AstNode { @NotNull - public List tableRefs; + public final List tableRefs; public From(@NotNull List tableRefs) { this.tableRefs = tableRefs; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/FromExpr.java b/partiql-ast/src/main/java/org/partiql/ast/v1/FromExpr.java index c213cfdb8..babb98ff7 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/FromExpr.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/FromExpr.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.expr.Expr; @@ -11,18 +12,19 @@ /** * TODO docs, equals, hashcode */ +@Builder public class FromExpr extends FromTableRef { @NotNull - public Expr expr; + public final Expr expr; @NotNull - public FromType fromType; + public final FromType fromType; @Nullable - public Identifier asAlias; + public final Identifier asAlias; @Nullable - public Identifier atAlias; + public final Identifier atAlias; public FromExpr(@NotNull Expr expr, @NotNull FromType fromType, @Nullable Identifier asAlias, @Nullable Identifier atAlias) { diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/FromJoin.java b/partiql-ast/src/main/java/org/partiql/ast/v1/FromJoin.java index 22c97c811..edcf05f69 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/FromJoin.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/FromJoin.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.expr.Expr; @@ -11,18 +12,19 @@ /** * TODO docs, equals, hashcode */ +@Builder public class FromJoin extends FromTableRef { @NotNull - public From lhs; + public final From lhs; @NotNull - public From rhs; + public final From rhs; @Nullable - public JoinType joinType; + public final JoinType joinType; @Nullable - public Expr condition; + public final Expr condition; public FromJoin(@NotNull From lhs, @NotNull From rhs, @Nullable JoinType joinType, @Nullable Expr condition) { this.lhs = lhs; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/GroupBy.java b/partiql-ast/src/main/java/org/partiql/ast/v1/GroupBy.java index e3ea0e12c..6b3d80a15 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/GroupBy.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/GroupBy.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.expr.Expr; @@ -11,15 +12,16 @@ /** * TODO docs, equals, hashcode */ +@Builder public class GroupBy extends AstNode { @NotNull - public GroupByStrategy strategy; + public final GroupByStrategy strategy; @NotNull - public List keys; + public final List keys; @Nullable - public Identifier asAlias; + public final Identifier asAlias; public GroupBy(@NotNull GroupByStrategy strategy, @NotNull List keys, @Nullable Identifier asAlias) { this.strategy = strategy; @@ -45,12 +47,13 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Key extends AstNode { @NotNull - public Expr expr; + public final Expr expr; @Nullable - public Identifier asAlias; + public final Identifier asAlias; public Key(@NotNull Expr expr, @Nullable Identifier asAlias) { this.expr = expr; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/Identifier.java b/partiql-ast/src/main/java/org/partiql/ast/v1/Identifier.java index 896d74f54..e7fef2153 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/Identifier.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/Identifier.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -8,11 +9,12 @@ /** * TODO docs, equals, hashcode */ +@Builder public class Identifier extends AstNode { @NotNull - public String symbol; + public final String symbol; - public boolean isDelimited; + public final boolean isDelimited; public Identifier(@NotNull String symbol, boolean isDelimited) { this.symbol = symbol; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/IdentifierChain.java b/partiql-ast/src/main/java/org/partiql/ast/v1/IdentifierChain.java index 81f78e3f6..6a4a5949c 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/IdentifierChain.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/IdentifierChain.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -10,12 +11,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class IdentifierChain extends AstNode { @NotNull - public Identifier root; + public final Identifier root; @Nullable - public IdentifierChain next; + public final IdentifierChain next; public IdentifierChain(@NotNull Identifier root, @Nullable IdentifierChain next) { this.root = root; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/Let.java b/partiql-ast/src/main/java/org/partiql/ast/v1/Let.java index b9d040c47..5c1b7e063 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/Let.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/Let.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.expr.Expr; @@ -10,9 +11,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class Let extends AstNode { @NotNull - public List bindings; + public final List bindings; public Let(@NotNull List bindings) { this.bindings = bindings; @@ -32,12 +34,13 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Binding extends AstNode { @NotNull - public Expr expr; + public final Expr expr; @NotNull - public Identifier asAlias; + public final Identifier asAlias; public Binding(@NotNull Expr expr, @NotNull Identifier asAlias) { this.expr = expr; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/OrderBy.java b/partiql-ast/src/main/java/org/partiql/ast/v1/OrderBy.java index 2008867d4..cdc90b56e 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/OrderBy.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/OrderBy.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -9,9 +10,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class OrderBy extends AstNode { @NotNull - public List sorts; + public final List sorts; public OrderBy(@NotNull List sorts) { this.sorts = sorts; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/Query.java b/partiql-ast/src/main/java/org/partiql/ast/v1/Query.java index e5838dfa7..653bdef6e 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/Query.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/Query.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.expr.Expr; @@ -10,9 +11,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class Query extends Statement { @NotNull - public Expr expr; + public final Expr expr; public Query(@NotNull Expr expr) { this.expr = expr; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/QueryBody.java b/partiql-ast/src/main/java/org/partiql/ast/v1/QueryBody.java index 0f4b42814..1a3018417 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/QueryBody.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/QueryBody.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.expr.Expr; @@ -9,27 +10,28 @@ import java.util.List; public abstract class QueryBody extends AstNode { + @Builder public static class SFW extends QueryBody { @NotNull - public Select select; + public final Select select; @Nullable - public Exclude exclude; + public final Exclude exclude; @NotNull - public From from; + public final From from; @Nullable - public Let let; + public final Let let; @Nullable - public Expr where; + public final Expr where; @Nullable - public GroupBy groupBy; + public final GroupBy groupBy; @Nullable - public Expr having; + public final Expr having; public SFW(@NotNull Select select, @Nullable Exclude exclude, @NotNull From from, @Nullable Let let, @Nullable Expr where, @Nullable GroupBy groupBy, @Nullable Expr having) { @@ -62,11 +64,12 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { } } + @Builder public static class SetOp extends QueryBody { @NotNull - public org.partiql.ast.v1.SetOp type; + public final org.partiql.ast.v1.SetOp type; - public boolean isOuter; + public final boolean isOuter; @NotNull public Expr lhs; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/SelectItem.java b/partiql-ast/src/main/java/org/partiql/ast/v1/SelectItem.java index c5f6422a7..cb2202fbb 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/SelectItem.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/SelectItem.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -25,9 +26,10 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Star extends SelectItem { @NotNull - public org.partiql.ast.v1.expr.Expr expr; + public final org.partiql.ast.v1.expr.Expr expr; public Star(@NotNull org.partiql.ast.v1.expr.Expr expr) { this.expr = expr; @@ -50,12 +52,13 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Expr extends SelectItem { @NotNull - public org.partiql.ast.v1.expr.Expr expr; + public final org.partiql.ast.v1.expr.Expr expr; @Nullable - public Identifier asAlias; + public final Identifier asAlias; public Expr(@NotNull org.partiql.ast.v1.expr.Expr expr, @Nullable Identifier asAlias) { this.expr = expr; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/SelectList.java b/partiql-ast/src/main/java/org/partiql/ast/v1/SelectList.java index e4ec73fc8..73d44f1a3 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/SelectList.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/SelectList.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -10,12 +11,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class SelectList extends Select { @NotNull - public List items; + public final List items; @Nullable - public SetQuantifier setq; + public final SetQuantifier setq; public SelectList(@NotNull List items, @Nullable SetQuantifier setq) { this.items = items; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/SelectPivot.java b/partiql-ast/src/main/java/org/partiql/ast/v1/SelectPivot.java index a6b59693f..13c957673 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/SelectPivot.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/SelectPivot.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.expr.Expr; @@ -10,12 +11,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class SelectPivot extends Select { @NotNull - public Expr key; + public final Expr key; @NotNull - public Expr value; + public final Expr value; public SelectPivot(@NotNull Expr key, @NotNull Expr value) { this.key = key; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/SelectStar.java b/partiql-ast/src/main/java/org/partiql/ast/v1/SelectStar.java index 310ccaad5..a9b36b0c9 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/SelectStar.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/SelectStar.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -9,9 +10,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class SelectStar extends Select { @Nullable - public SetQuantifier setq; + public final SetQuantifier setq; public SelectStar(@Nullable SetQuantifier setq) { this.setq = setq; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/SelectValue.java b/partiql-ast/src/main/java/org/partiql/ast/v1/SelectValue.java index 185af14df..f04d6abfb 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/SelectValue.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/SelectValue.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.expr.Expr; @@ -11,12 +12,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class SelectValue extends Select { @NotNull - public Expr constructor; + public final Expr constructor; @Nullable - public SetQuantifier setq; + public final SetQuantifier setq; public SelectValue(@NotNull Expr constructor, @Nullable SetQuantifier setq) { this.constructor = constructor; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/SetOp.java b/partiql-ast/src/main/java/org/partiql/ast/v1/SetOp.java index 13a77764d..b9284535a 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/SetOp.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/SetOp.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -9,12 +10,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class SetOp extends AstNode { @NotNull - public SetOpType setOpType; + public final SetOpType setOpType; @Nullable - public SetQuantifier setq; + public final SetQuantifier setq; public SetOp(@NotNull SetOpType setOpType, @Nullable SetQuantifier setq) { this.setOpType = setOpType; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/Sort.java b/partiql-ast/src/main/java/org/partiql/ast/v1/Sort.java index a1009d152..84cc88065 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/Sort.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/Sort.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.expr.Expr; @@ -11,15 +12,16 @@ /** * TODO docs, equals, hashcode */ +@Builder public class Sort extends AstNode { @NotNull - public Expr expr; + public final Expr expr; @Nullable - public Order order; + public final Order order; @Nullable - public Nulls nulls; + public final Nulls nulls; public Sort(@NotNull Expr expr, @Nullable Order order, @Nullable Nulls nulls) { this.expr = expr; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprAnd.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprAnd.java index 1a5201431..5c54ae390 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprAnd.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprAnd.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,11 +12,12 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprAnd extends Expr { @NotNull - public Expr lhs; + public final Expr lhs; @NotNull - public Expr rhs; + public final Expr rhs; public ExprAnd(@NotNull Expr lhs, @NotNull Expr rhs) { this.lhs = lhs; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprArray.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprArray.java index ecc1d8442..230268c30 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprArray.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprArray.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,9 +12,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprArray extends Expr { @NotNull - public List values; + public final List values; public ExprArray(@NotNull List values) { this.values = values; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprBag.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprBag.java index cb3a50aba..f81a544ec 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprBag.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprBag.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,9 +12,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprBag extends Expr { @NotNull - public List values; + public final List values; public ExprBag(@NotNull List values) { this.values = values; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprBetween.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprBetween.java index 78d3b1e4a..bc08934f0 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprBetween.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprBetween.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,17 +12,18 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprBetween extends Expr { @NotNull - public Expr value; + public final Expr value; @NotNull - public Expr from; + public final Expr from; @NotNull - public Expr to; + public final Expr to; - public boolean not; + public final boolean not; public ExprBetween(@NotNull Expr value, @NotNull Expr from, @NotNull Expr to, boolean not) { this.value = value; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCall.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCall.java index 8ff18819c..8e1542f6a 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCall.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCall.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -14,15 +15,16 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprCall extends Expr { @NotNull - public IdentifierChain function; + public final IdentifierChain function; @NotNull - public List args; + public final List args; @Nullable - public SetQuantifier setq; + public final SetQuantifier setq; public ExprCall(@NotNull IdentifierChain function, @NotNull List args, @Nullable SetQuantifier setq) { this.function = function; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCase.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCase.java index e2da2ef75..4ea0abc04 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCase.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCase.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -12,15 +13,16 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprCase extends Expr { @Nullable - public Expr expr; + public final Expr expr; @NotNull - public List branches; + public final List branches; @Nullable - public Expr defaultExpr; + public final Expr defaultExpr; public ExprCase(@Nullable Expr expr, @NotNull List branches, @Nullable Expr defaultExpr) { this.expr = expr; @@ -50,12 +52,13 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Branch extends AstNode { @NotNull - public Expr condition; + public final Expr condition; @NotNull - public Expr expr; + public final Expr expr; public Branch(@NotNull Expr condition, @NotNull Expr expr) { this.condition = condition; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCast.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCast.java index 6dd3d5d29..c4b2e618c 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCast.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCast.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -12,12 +13,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprCast extends Expr { @NotNull - public Expr value; + public final Expr value; @NotNull - public DataType asType; + public final DataType asType; public ExprCast(@NotNull Expr value, @NotNull DataType asType) { this.value = value; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCoalesce.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCoalesce.java index 1020e850d..5b961aca7 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCoalesce.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprCoalesce.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,9 +12,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprCoalesce extends Expr { @NotNull - public List args; + public final List args; public ExprCoalesce(@NotNull List args) { this.args = args; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprExtract.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprExtract.java index 580d3d88c..a47ea3e1a 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprExtract.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprExtract.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -12,12 +13,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprExtract extends Expr { @NotNull - public DatetimeField field; + public final DatetimeField field; @NotNull - public Expr source; + public final Expr source; public ExprExtract(@NotNull DatetimeField field, @NotNull Expr source) { this.field = field; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprInCollection.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprInCollection.java index dc23fdde9..9941527a1 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprInCollection.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprInCollection.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,14 +12,15 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprInCollection extends Expr { @NotNull - public Expr lhs; + public final Expr lhs; @NotNull - public Expr rhs; + public final Expr rhs; - public boolean not; + public final boolean not; public ExprInCollection(@NotNull Expr lhs, @NotNull Expr rhs, boolean not) { this.lhs = lhs; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprIsType.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprIsType.java index a8f20ba88..b5b2488f5 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprIsType.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprIsType.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -12,14 +13,15 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprIsType extends Expr { @NotNull - public Expr value; + public final Expr value; @NotNull - public DataType type; + public final DataType type; - public boolean not; + public final boolean not; public ExprIsType(@NotNull Expr value, @NotNull DataType type, boolean not) { this.value = value; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprLike.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprLike.java index 9c2b571b3..7eb2879b7 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprLike.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprLike.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -12,17 +13,18 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprLike extends Expr { @NotNull - public Expr value; + public final Expr value; @NotNull - public Expr pattern; + public final Expr pattern; @Nullable - public Expr escape; + public final Expr escape; - public boolean not; + public final boolean not; public ExprLike(@NotNull Expr value, @NotNull Expr pattern, @Nullable Expr escape, boolean not) { this.value = value; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprLit.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprLit.java index 77d70cf04..75f850826 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprLit.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprLit.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,9 +12,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprLit extends Expr { @NotNull - public PartiQLValue value; // This representation be changed in https://github.com/partiql/partiql-lang-kotlin/issues/1589 + public final PartiQLValue value; // This representation be changed in https://github.com/partiql/partiql-lang-kotlin/issues/1589 public ExprLit(@NotNull PartiQLValue value) { this.value = value; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprMatch.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprMatch.java index 2c3e3f72b..59036a5eb 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprMatch.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprMatch.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -12,12 +13,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprMatch extends Expr { @NotNull - public Expr expr; + public final Expr expr; @NotNull - public GraphMatch pattern; + public final GraphMatch pattern; public ExprMatch(@NotNull Expr expr, @NotNull GraphMatch pattern) { this.expr = expr; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprNot.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprNot.java index 4837b7e55..65a0b72b3 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprNot.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprNot.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,9 +12,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprNot extends Expr { @NotNull - public Expr value; + public final Expr value; public ExprNot(@NotNull Expr value) { this.value = value; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprNullIf.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprNullIf.java index 95991700b..169372c51 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprNullIf.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprNullIf.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,12 +12,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprNullIf extends Expr { @NotNull - public Expr v1; + public final Expr v1; @NotNull - public Expr v2; + public final Expr v2; public ExprNullIf(@NotNull Expr v1, @NotNull Expr v2) { this.v1 = v1; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprOperator.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprOperator.java index 76d440b41..315958778 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprOperator.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprOperator.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -12,15 +13,16 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprOperator extends Expr { @NotNull - public String symbol; + public final String symbol; @Nullable - public Expr lhs; + public final Expr lhs; @NotNull - public Expr rhs; + public final Expr rhs; public ExprOperator(@NotNull String symbol, @Nullable Expr lhs, @NotNull Expr rhs) { this.symbol = symbol; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprOr.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprOr.java index 3684e11ec..95e7171a1 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprOr.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprOr.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,12 +12,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprOr extends Expr { @NotNull - public Expr lhs; + public final Expr lhs; @NotNull - public Expr rhs; + public final Expr rhs; public ExprOr(@NotNull Expr lhs, @NotNull Expr rhs) { this.lhs = lhs; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprOverlay.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprOverlay.java index a13e24aa4..ce0a70d11 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprOverlay.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprOverlay.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -12,18 +13,19 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprOverlay extends Expr { @NotNull - public Expr value; + public final Expr value; @NotNull - public Expr placing; + public final Expr placing; @NotNull - public Expr from; + public final Expr from; @Nullable - public Expr forLength; + public final Expr forLength; public ExprOverlay(@NotNull Expr value, @NotNull Expr placing, @NotNull Expr from, @Nullable Expr forLength) { this.value = value; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprParameter.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprParameter.java index d47aee502..88ee3051c 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprParameter.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprParameter.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -10,8 +11,9 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprParameter extends Expr { - public int index; + public final int index; public ExprParameter(int index) { this.index = index; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprPath.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprPath.java index ec521c010..a2bc61188 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprPath.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprPath.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -12,12 +13,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprPath extends Expr { @NotNull - public Expr root; + public final Expr root; @Nullable - public PathStep next; + public final PathStep next; public ExprPath(@NotNull Expr root, @Nullable PathStep next) { this.root = root; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprPosition.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprPosition.java index abadcefb0..9340f783c 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprPosition.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprPosition.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,12 +12,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprPosition extends Expr { @NotNull - public Expr lhs; + public final Expr lhs; @NotNull - public Expr rhs; + public final Expr rhs; public ExprPosition(@NotNull Expr lhs, @NotNull Expr rhs) { this.lhs = lhs; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprQuerySet.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprQuerySet.java index 5442eddd2..3dcfd3486 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprQuerySet.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprQuerySet.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -14,18 +15,19 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprQuerySet extends Expr { @NotNull - public QueryBody body; + public final QueryBody body; @Nullable - public OrderBy orderBy; + public final OrderBy orderBy; @Nullable - public Expr limit; + public final Expr limit; @Nullable - public Expr offset; + public final Expr offset; public ExprQuerySet(@NotNull QueryBody body, @Nullable OrderBy orderBy, @Nullable Expr limit, @Nullable Expr offset) { this.body = body; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprSessionAttribute.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprSessionAttribute.java index 518793e77..449069672 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprSessionAttribute.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprSessionAttribute.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -10,9 +11,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprSessionAttribute extends Expr { @NotNull - public SessionAttribute sessionAttribute; + public final SessionAttribute sessionAttribute; public ExprSessionAttribute(@NotNull SessionAttribute sessionAttribute) { this.sessionAttribute = sessionAttribute; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprStruct.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprStruct.java index e54bed48a..6d66f0d35 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprStruct.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprStruct.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,9 +12,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprStruct extends Expr { @NotNull - public List fields; + public final List fields; public ExprStruct(@NotNull List fields) { this.fields = fields; @@ -33,12 +35,13 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Field extends AstNode { @NotNull - public Expr name; + public final Expr name; @NotNull - public Expr value; + public final Expr value; public Field(@NotNull Expr name, @NotNull Expr value) { this.name = name; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprSubstring.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprSubstring.java index aa1a08ed2..eb4005594 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprSubstring.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprSubstring.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -12,15 +13,16 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprSubstring extends Expr { @NotNull - public Expr value; + public final Expr value; @Nullable - public Expr start; + public final Expr start; @Nullable - public Expr length; + public final Expr length; public ExprSubstring(@NotNull Expr value, @Nullable Expr start, @Nullable Expr length) { this.value = value; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprTrim.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprTrim.java index 6551f6817..3d3573a56 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprTrim.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprTrim.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -12,15 +13,16 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprTrim extends Expr { @NotNull - public Expr value; + public final Expr value; @Nullable - public Expr chars; + public final Expr chars; @Nullable - public TrimSpec trimSpec; + public final TrimSpec trimSpec; public ExprTrim(@NotNull Expr value, @Nullable Expr chars, @Nullable TrimSpec trimSpec) { this.value = value; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprValues.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprValues.java index e9fe0cae0..94452342c 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprValues.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprValues.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -11,9 +12,10 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprValues extends Expr { @NotNull - public List rows; + public final List rows; public ExprValues(@NotNull List rows) { this.rows = rows; @@ -33,9 +35,10 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Row extends AstNode { @NotNull - public List values; + public final List values; public Row(@NotNull List values) { this.values = values; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprVarRef.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprVarRef.java index b0db6cd19..e0fe32e9f 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprVarRef.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprVarRef.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -12,12 +13,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprVarRef extends Expr { @NotNull - public IdentifierChain identifierChain; + public final IdentifierChain identifierChain; @NotNull - public Scope scope; + public final Scope scope; public ExprVarRef(@NotNull IdentifierChain identifierChain, @NotNull Scope scope) { this.identifierChain = identifierChain; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprVariant.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprVariant.java index da56da692..00c2f836b 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprVariant.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprVariant.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -7,11 +8,12 @@ import java.util.Collections; import java.util.List; +@Builder public class ExprVariant extends Expr { @NotNull - public String value; + public final String value; @NotNull - public String encoding; + public final String encoding; public ExprVariant(@NotNull String value, @NotNull String encoding) { this.value = value; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprWindow.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprWindow.java index 6832d6c76..484e54f85 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprWindow.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/ExprWindow.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.expr; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -13,21 +14,22 @@ /** * TODO docs, equals, hashcode */ +@Builder public class ExprWindow extends Expr { @NotNull - public WindowFunction windowFunction; + public final WindowFunction windowFunction; @NotNull - public Expr expression; + public final Expr expression; @Nullable - public Expr offset; + public final Expr offset; @Nullable - public Expr defaultValue; + public final Expr defaultValue; @NotNull - public Over over; + public final Over over; public ExprWindow(@NotNull WindowFunction windowFunction, @NotNull Expr expression, @Nullable Expr offset, @Nullable Expr defaultValue, @NotNull Over over) { this.windowFunction = windowFunction; @@ -60,12 +62,13 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Over extends AstNode { @Nullable - public List partitions; + public final List partitions; @Nullable - public List sorts; + public final List sorts; public Over(@Nullable List partitions, @Nullable List sorts) { this.partitions = partitions; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/PathStep.java b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/PathStep.java index 175f6c23c..3582bf526 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/expr/PathStep.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/expr/PathStep.java @@ -15,18 +15,22 @@ */ public abstract class PathStep extends AstNode { @Nullable - public PathStep next; + public final PathStep next; + + protected PathStep(@Nullable PathStep _next) { + this.next = _next; + } /** * TODO docs, equals, hashcode */ public static class Field extends PathStep { @NotNull - public Identifier field; + public final Identifier field; public Field(@NotNull Identifier field, @Nullable PathStep next) { + super(next); this.field = field; - this.next = next; } @Override @@ -50,11 +54,11 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { */ public static class Element extends PathStep { @NotNull - public Expr element; + public final Expr element; public Element(@NotNull Expr element, @Nullable PathStep next) { + super(next); this.element = element; - this.next = next; } @Override @@ -79,7 +83,7 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { */ public static class AllElements extends PathStep { public AllElements(@Nullable PathStep next) { - this.next = next; + super(next); } @Override @@ -103,7 +107,7 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { */ public static class AllFields extends PathStep { public AllFields(@Nullable PathStep next) { - this.next = next; + super(next); } @Override 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 415c4be7f..fe76c0561 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 @@ -1,5 +1,6 @@ package org.partiql.ast.v1.graph; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -32,9 +33,10 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Name extends GraphLabel { @NotNull - public String name; + public final String name; public Name(@NotNull String name) { this.name = name; @@ -55,6 +57,7 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Wildcard extends GraphLabel { @Override @NotNull @@ -71,9 +74,10 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Negation extends GraphLabel { @NotNull - public GraphLabel arg; + public final GraphLabel arg; public Negation(@NotNull GraphLabel arg) { this.arg = arg; @@ -96,9 +100,10 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Conj extends GraphLabel { @NotNull - public List args; + public final List args; public Conj(@NotNull List args) { this.args = args; @@ -119,9 +124,10 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Disj extends GraphLabel { @NotNull - public List args; + public final List args; public Disj(@NotNull List args) { this.args = args; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphMatch.java b/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphMatch.java index 437b828db..a9407fb41 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphMatch.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphMatch.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.graph; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -12,12 +13,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class GraphMatch extends AstNode { @NotNull - public List patterns; + public final List patterns; @Nullable - public GraphSelector selector; + public final GraphSelector selector; public GraphMatch(@NotNull List patterns, @Nullable GraphSelector selector) { this.patterns = patterns; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphPart.java b/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphPart.java index 19d6fa404..80b94c22d 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphPart.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphPart.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.graph; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -30,15 +31,16 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Node extends GraphPart { @Nullable - public Expr prefilter; + public final Expr prefilter; @Nullable - public String variable; + public final String variable; @Nullable - public GraphLabel label; + public final GraphLabel label; public Node(@Nullable Expr prefilter, @Nullable String variable, @Nullable GraphLabel label) { this.prefilter = prefilter; @@ -68,21 +70,22 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Edge extends GraphPart { @NotNull - public GraphDirection direction; + public final GraphDirection direction; @Nullable - public GraphQuantifier quantifier; + public final GraphQuantifier quantifier; @Nullable - public Expr prefilter; + public final Expr prefilter; @Nullable - public String variable; + public final String variable; @Nullable - public GraphLabel label; + public final GraphLabel label; public Edge(@NotNull GraphDirection direction, @Nullable GraphQuantifier quantifier, @Nullable Expr prefilter, @Nullable String variable, @Nullable GraphLabel label) { @@ -118,9 +121,10 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Pattern extends GraphPart { @NotNull - public GraphPattern pattern; + public final GraphPattern pattern; public Pattern(@NotNull GraphPattern pattern) { this.pattern = pattern; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphPattern.java b/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphPattern.java index 047efc896..b05115c73 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphPattern.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphPattern.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.graph; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -13,21 +14,22 @@ /** * TODO docs, equals, hashcode */ +@Builder public class GraphPattern extends AstNode { @Nullable - public GraphRestrictor restrictor; + public final GraphRestrictor restrictor; @Nullable - public Expr prefilter; + public final Expr prefilter; @Nullable - public String variable; + public final String variable; @Nullable - public GraphQuantifier quantifier; + public final GraphQuantifier quantifier; @NotNull - public List parts; + public final List parts; public GraphPattern(@Nullable GraphRestrictor restrictor, @Nullable Expr prefilter, @Nullable String variable, @Nullable GraphQuantifier quantifier, diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphQuantifier.java b/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphQuantifier.java index 6c02363f1..7bf3195be 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphQuantifier.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphQuantifier.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.graph; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.partiql.ast.v1.AstNode; @@ -11,12 +12,13 @@ /** * TODO docs, equals, hashcode */ +@Builder public class GraphQuantifier extends AstNode { @NotNull - public Long lower; + public final Long lower; @Nullable - public Long upper; + public final Long upper; public GraphQuantifier(@NotNull Long lower, @Nullable Long upper) { this.lower = lower; diff --git a/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphSelector.java b/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphSelector.java index 149186477..bee56f470 100644 --- a/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphSelector.java +++ b/partiql-ast/src/main/java/org/partiql/ast/v1/graph/GraphSelector.java @@ -1,5 +1,6 @@ package org.partiql.ast.v1.graph; +import lombok.Builder; import org.jetbrains.annotations.NotNull; import org.partiql.ast.v1.AstNode; import org.partiql.ast.v1.AstVisitor; @@ -33,6 +34,7 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class AnyShortest extends GraphSelector { @Override @NotNull @@ -49,6 +51,7 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class AllShortest extends GraphSelector { @Override @NotNull @@ -65,6 +68,7 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class Any extends GraphSelector { @Override @NotNull @@ -81,8 +85,9 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class AnyK extends GraphSelector { - public long k; + public final long k; public AnyK(long k) { this.k = k; @@ -103,8 +108,9 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class ShortestK extends GraphSelector { - public long k; + public final long k; public ShortestK(long k) { this.k = k; @@ -125,8 +131,9 @@ public R accept(@NotNull AstVisitor visitor, C ctx) { /** * TODO docs, equals, hashcode */ + @Builder public static class ShortestKGroup extends GraphSelector { - public long k; + public final long k; public ShortestKGroup(long k) { this.k = k;