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
- All
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
- 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 TreePattern extends Enumeration