Skip to content

Commit

Permalink
(pre Kotlin -> Java) unnest Kotlin classes
Browse files Browse the repository at this point in the history
  • Loading branch information
alancai98 committed Sep 21, 2024
1 parent b00a5ee commit 1a4e2de
Show file tree
Hide file tree
Showing 118 changed files with 3,656 additions and 3,244 deletions.
1,629 changes: 796 additions & 833 deletions partiql-ast/api/partiql-ast.api

Large diffs are not rendered by default.

351 changes: 215 additions & 136 deletions partiql-ast/src/main/kotlin/org/partiql/ast/v1/AstVisitor.kt

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions partiql-ast/src/main/kotlin/org/partiql/ast/v1/CaseSensitivity.kt
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,
}
25 changes: 25 additions & 0 deletions partiql-ast/src/main/kotlin/org/partiql/ast/v1/Column.kt
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 partiql-ast/src/main/kotlin/org/partiql/ast/v1/Constraint.kt
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 partiql-ast/src/main/kotlin/org/partiql/ast/v1/ConstraintBody.kt
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 partiql-ast/src/main/kotlin/org/partiql/ast/v1/CreateIndex.kt
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 partiql-ast/src/main/kotlin/org/partiql/ast/v1/CreateTable.kt
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)
}
14 changes: 14 additions & 0 deletions partiql-ast/src/main/kotlin/org/partiql/ast/v1/DDL.kt
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 partiql-ast/src/main/kotlin/org/partiql/ast/v1/DropIndex.kt
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 partiql-ast/src/main/kotlin/org/partiql/ast/v1/DropTable.kt
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)
}
79 changes: 2 additions & 77 deletions partiql-ast/src/main/kotlin/org/partiql/ast/v1/Exclude.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,89 +5,14 @@ package org.partiql.ast.v1
*/
public class Exclude(
@JvmField
public var items: List<Item>,
public var excludePaths: List<ExcludePath>,
) : AstNode() {
public override fun children(): Collection<AstNode> {
val kids = mutableListOf<AstNode?>()
kids.addAll(items)
kids.addAll(excludePaths)
return kids.filterNotNull()
}

public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R =
visitor.visitExclude(this, ctx)

/**
* TODO docs, equals, hashcode
*/
public class Item(
@JvmField
public var root: Expr.Var,
@JvmField
public var steps: List<Step>,
) : AstNode() {
public override fun children(): Collection<AstNode> {
val kids = mutableListOf<AstNode?>()
kids.add(root)
kids.addAll(steps)
return kids.filterNotNull()
}

public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R =
visitor.visitExcludeItem(this, ctx)
}

/**
* TODO docs, equals, hashcode
*/
public abstract class Step : AstNode() {
/**
* TODO docs, equals, hashcode
*/
public class StructField(
@JvmField
public var symbol: Identifier.Symbol,
) : Step() {
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,
) : Step() {
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 : Step() {
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 : Step() {
public override fun children(): Collection<AstNode> = emptyList()

public override fun <R, C> accept(visitor: AstVisitor<R, C>, ctx: C): R =
visitor.visitExcludeStepCollWildcard(this, ctx)
}
}
}
23 changes: 23 additions & 0 deletions partiql-ast/src/main/kotlin/org/partiql/ast/v1/ExcludePath.kt
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 partiql-ast/src/main/kotlin/org/partiql/ast/v1/ExcludeStep.kt
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)
}
}
Loading

0 comments on commit 1a4e2de

Please sign in to comment.