-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(pre Kotlin -> Java) unnest Kotlin classes
- Loading branch information
Showing
118 changed files
with
3,656 additions
and
3,244 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
351 changes: 215 additions & 136 deletions
351
partiql-ast/src/main/kotlin/org/partiql/ast/v1/AstVisitor.kt
Large diffs are not rendered by default.
Oops, something went wrong.
10 changes: 10 additions & 0 deletions
10
partiql-ast/src/main/kotlin/org/partiql/ast/v1/CaseSensitivity.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
package org.partiql.ast.v1 | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public enum class CaseSensitivity { | ||
SENSITIVE, | ||
INSENSITIVE, | ||
OTHER, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package org.partiql.ast.v1 | ||
|
||
import org.partiql.ast.v1.type.Type | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public class Column( | ||
@JvmField | ||
public var name: String, | ||
@JvmField | ||
public var type: Type, | ||
@JvmField | ||
public var constraints: List<Constraint>, | ||
) : AstNode() { | ||
public override fun children(): Collection<AstNode> { | ||
val kids = mutableListOf<AstNode?>() | ||
kids.add(type) | ||
kids.addAll(constraints) | ||
return kids.filterNotNull() | ||
} | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitColumn(this, ctx) | ||
} |
20 changes: 20 additions & 0 deletions
20
partiql-ast/src/main/kotlin/org/partiql/ast/v1/Constraint.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
package org.partiql.ast.v1 | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public class Constraint( | ||
@JvmField | ||
public var name: String?, | ||
@JvmField | ||
public var constraintBody: ConstraintBody, | ||
) : AstNode() { | ||
public override fun children(): Collection<AstNode> { | ||
val kids = mutableListOf<AstNode?>() | ||
kids.add(constraintBody) | ||
return kids.filterNotNull() | ||
} | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitConstraint(this, ctx) | ||
} |
52 changes: 52 additions & 0 deletions
52
partiql-ast/src/main/kotlin/org/partiql/ast/v1/ConstraintBody.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
package org.partiql.ast.v1 | ||
|
||
import org.partiql.ast.v1.expr.Expr | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public abstract class ConstraintBody : AstNode() { | ||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = when (this) { | ||
is Nullable -> visitor.visitConstraintBodyNullable(this, ctx) | ||
is NotNull -> visitor.visitConstraintBodyNotNull(this, ctx) | ||
is Check -> visitor.visitConstraintBodyCheck(this, ctx) | ||
else -> throw NotImplementedError() | ||
} | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public object Nullable : ConstraintBody() { | ||
public override fun children(): Collection<AstNode> = emptyList() | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitConstraintBodyNullable(this, ctx) | ||
} | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public object NotNull : ConstraintBody() { | ||
public override fun children(): Collection<AstNode> = emptyList() | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitConstraintBodyNotNull(this, ctx) | ||
} | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public class Check( | ||
@JvmField | ||
public var expr: Expr, | ||
) : ConstraintBody() { | ||
public override fun children(): Collection<AstNode> { | ||
val kids = mutableListOf<AstNode?>() | ||
kids.add(expr) | ||
return kids.filterNotNull() | ||
} | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitConstraintBodyCheck(this, ctx) | ||
} | ||
} |
24 changes: 24 additions & 0 deletions
24
partiql-ast/src/main/kotlin/org/partiql/ast/v1/CreateIndex.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
package org.partiql.ast.v1 | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public class CreateIndex( | ||
@JvmField | ||
public var index: Identifier?, | ||
@JvmField | ||
public var table: Identifier, | ||
@JvmField | ||
public var fields: List<PathLit>, | ||
) : DDL() { | ||
public override fun children(): Collection<AstNode> { | ||
val kids = mutableListOf<AstNode?>() | ||
index?.let { kids.add(it) } | ||
kids.add(table) | ||
kids.addAll(fields) | ||
return kids.filterNotNull() | ||
} | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitCreateIndex(this, ctx) | ||
} |
21 changes: 21 additions & 0 deletions
21
partiql-ast/src/main/kotlin/org/partiql/ast/v1/CreateTable.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package org.partiql.ast.v1 | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public class CreateTable( | ||
@JvmField | ||
public var name: Identifier, | ||
@JvmField | ||
public var definition: TableDefinition?, | ||
) : DDL() { | ||
public override fun children(): Collection<AstNode> { | ||
val kids = mutableListOf<AstNode?>() | ||
kids.add(name) | ||
definition?.let { kids.add(it) } | ||
return kids.filterNotNull() | ||
} | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitCreateTable(this, ctx) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package org.partiql.ast.v1 | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public abstract class DDL : Statement() { | ||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = when (this) { | ||
is CreateTable -> visitor.visitCreateTable(this, ctx) | ||
is CreateIndex -> visitor.visitCreateIndex(this, ctx) | ||
is DropTable -> visitor.visitDropTable(this, ctx) | ||
is DropIndex -> visitor.visitDropIndex(this, ctx) | ||
else -> throw NotImplementedError() | ||
} | ||
} |
21 changes: 21 additions & 0 deletions
21
partiql-ast/src/main/kotlin/org/partiql/ast/v1/DropIndex.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package org.partiql.ast.v1 | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public class DropIndex( | ||
@JvmField | ||
public var index: Identifier, | ||
@JvmField | ||
public var table: Identifier, | ||
) : DDL() { | ||
public override fun children(): Collection<AstNode> { | ||
val kids = mutableListOf<AstNode?>() | ||
kids.add(index) | ||
kids.add(table) | ||
return kids.filterNotNull() | ||
} | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitDropIndex(this, ctx) | ||
} |
18 changes: 18 additions & 0 deletions
18
partiql-ast/src/main/kotlin/org/partiql/ast/v1/DropTable.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
package org.partiql.ast.v1 | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public class DropTable( | ||
@JvmField | ||
public var table: Identifier, | ||
) : DDL() { | ||
public override fun children(): Collection<AstNode> { | ||
val kids = mutableListOf<AstNode?>() | ||
kids.add(table) | ||
return kids.filterNotNull() | ||
} | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitDropTable(this, ctx) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
23 changes: 23 additions & 0 deletions
23
partiql-ast/src/main/kotlin/org/partiql/ast/v1/ExcludePath.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package org.partiql.ast.v1 | ||
|
||
import org.partiql.ast.v1.expr.ExprVar | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public class ExcludePath( | ||
@JvmField | ||
public var root: ExprVar, | ||
@JvmField | ||
public var excludeSteps: List<ExcludeStep>, | ||
) : AstNode() { | ||
public override fun children(): Collection<AstNode> { | ||
val kids = mutableListOf<AstNode?>() | ||
kids.add(root) | ||
kids.addAll(excludeSteps) | ||
return kids.filterNotNull() | ||
} | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitExcludePath(this, ctx) | ||
} |
56 changes: 56 additions & 0 deletions
56
partiql-ast/src/main/kotlin/org/partiql/ast/v1/ExcludeStep.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
package org.partiql.ast.v1 | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public abstract class ExcludeStep : AstNode() { | ||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public class StructField( | ||
@JvmField | ||
public var symbol: Identifier.Symbol, | ||
) : ExcludeStep() { | ||
public override fun children(): Collection<AstNode> { | ||
val kids = mutableListOf<AstNode?>() | ||
kids.add(symbol) | ||
return kids.filterNotNull() | ||
} | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitExcludeStepStructField(this, ctx) | ||
} | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public class CollIndex( | ||
@JvmField | ||
public var index: Int, | ||
) : ExcludeStep() { | ||
public override fun children(): Collection<AstNode> = emptyList() | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitExcludeStepCollIndex(this, ctx) | ||
} | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public object StructWildcard : ExcludeStep() { | ||
public override fun children(): Collection<AstNode> = emptyList() | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitExcludeStepStructWildcard(this, ctx) | ||
} | ||
|
||
/** | ||
* TODO docs, equals, hashcode | ||
*/ | ||
public object CollWildcard : ExcludeStep() { | ||
public override fun children(): Collection<AstNode> = emptyList() | ||
|
||
public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R = | ||
visitor.visitExcludeStepCollWildcard(this, ctx) | ||
} | ||
} |
Oops, something went wrong.