package trees
A library for easily manipulating trees of operators. Operators that extend TreeNode are granted the following interface:
- Scala collection like methods (foreach, map, flatMap, collect, etc)
- transform - accepts a partial function that is used to generate a new tree. When the partial function can be applied to a given tree segment, that segment is replaced with the result. After attempting to apply the partial function to a given node, the transform function recursively attempts to apply the function to that node's children.
- debugging support - pretty printing, easy splicing of trees, etc.
- Alphabetic
- By Inheritance
- trees
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait BinaryLike[T <: TreeNode[T]] extends AnyRef
- trait LeafLike[T <: TreeNode[T]] extends AnyRef
- case class Origin(line: Option[Int] = None, startPosition: Option[Int] = None, startIndex: Option[Int] = None, stopIndex: Option[Int] = None, sqlText: Option[String] = None, objectType: Option[String] = None, objectName: Option[String] = None) extends Product with Serializable
Contexts of TreeNodes, including location, SQL text, object type and object name.
Contexts of TreeNodes, including location, SQL text, object type and object name. The only supported object type is "VIEW" now. In the future, we may support SQL UDF or other objects which contain SQL text.
- trait QuaternaryLike[T <: TreeNode[T]] extends AnyRef
- case class SQLQueryContext(line: Option[Int], startPosition: Option[Int], originStartIndex: Option[Int], originStopIndex: Option[Int], sqlText: Option[String], originObjectType: Option[String], originObjectName: Option[String]) extends QueryContext with Product with Serializable
The class represents error context of a SQL query.
- trait TernaryLike[T <: TreeNode[T]] extends AnyRef
- abstract class TreeNode[BaseType <: TreeNode[BaseType]] extends Product with TreePatternBits
- class TreeNodeRef extends AnyRef
A TreeNode companion for reference equality for Hash based Collection.
- case class TreeNodeTag[T](name: String) extends Product with Serializable
- trait TreePatternBits extends AnyRef
- trait UnaryLike[T <: TreeNode[T]] extends AnyRef
Value Members
- def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
- def log: Logger
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logDebug(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logError(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logInfo(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logName: String
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logTrace(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
- def logWarning(msg: => String): Unit
- Attributes
- protected
- Definition Classes
- Logging
- object AlwaysProcess
- object CurrentOrigin
Provides a location for TreeNodes to ask about the context of their origin.
Provides a location for TreeNodes to ask about the context of their origin. For example, which line of code is currently being parsed.
- object MultiTransform
- object TreePattern extends Enumeration