scala.slick.ast

Node

trait Node extends NodeGenerator

A node in the query AST.

Every Node has a number of child nodes and an optional type annotation.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Node
  2. NodeGenerator
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. abstract type Self >: Node.this.type <: Node

Abstract Value Members

  1. abstract def nodeChildren: Seq[Node]

    All child nodes of this node.

    All child nodes of this node. Must be implemented by subclasses.

  2. abstract def nodeRebuild(ch: IndexedSeq[Node]): Self

    Rebuild this node with a new list of children.

    Rebuild this node with a new list of children. Implementations of this method *must not* perform any optimization to reuse the current node. This method always returns a fresh copy.

    Attributes
    protected[this]
  3. abstract def nodeWithComputedType(scope: SymbolScope, retype: Boolean): Self

    Rebuild this node and all children with their computed type.

    Rebuild this node and all children with their computed type. If this node already has a type, it is only recomputed if retype is set to true. The types of all children are computed recursively (if this node's type is actually computed) using the same retype setting.

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  8. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  15. def nodeBuildTypedNode[T >: Node.this.type <: Node](newNode: T, newType: Type): T

  16. def nodeChildNames: Iterable[String]

    Names for the child nodes to show in AST dumps.

    Names for the child nodes to show in AST dumps. Defaults to a numbered sequence starting at 0 but can be overridden by subclasses to produce more suitable names.

  17. def nodeDelegate: Node

    Definition Classes
    NodeNodeGenerator
  18. def nodeHasType: Boolean

  19. final def nodeIntrinsicSymbol: IntrinsicSymbol

    The intrinsic symbol that points to this Node object.

  20. final def nodeMapChildren(f: (Node) ⇒ Node): Self

    Apply a mapping function to all children of this node and recreate the node with the new children.

    Apply a mapping function to all children of this node and recreate the node with the new children. If all new children are identical to the old ones, this node is returned.

  21. final def nodeMapChildrenKeepType(f: (Node) ⇒ Node): Self

    Like nodeMapChildren, except the type of this node is kept even if the children have changed.

    Like nodeMapChildren, except the type of this node is kept even if the children have changed. We don't do this by default in nodeMapChildren because many transformations change the type.

  22. def nodeRebuildWithType(tpe: Type): Self

  23. def nodeType: Type

    The current type of this node

  24. def nodeTyped(tpe: Type): Node.this.type

    Return this Node with a Type assigned.

    Return this Node with a Type assigned. This may only be called on freshly constructed nodes with no other existing references, i.e. creating the Node plus assigning it a Type must be atomic.

  25. def nodeTypedOrCopy(tpe: Type): Self

    Return this Node with a Type assigned (if no other type has been seen for it yet) or a typed copy.

  26. final def notify(): Unit

    Definition Classes
    AnyRef
  27. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  29. def toString(): String

    Definition Classes
    Node → AnyRef → Any
  30. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  31. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  32. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from NodeGenerator

Inherited from AnyRef

Inherited from Any

Ungrouped