Packages

c

slick.ast

NodeOps

final class NodeOps extends AnyVal

Extra methods for Nodes.

Source
Util.scala
Linear Supertypes
AnyVal, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NodeOps
  2. AnyVal
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new NodeOps(tree: Node)

Value Members

  1. def collect[T](pf: PartialFunction[Node, T], stopOnMatch: Boolean = false): ConstArray[T]
  2. def collectAll[T](pf: PartialFunction[Node, ConstArray[T]]): ConstArray[T]
  3. def findNode(p: (Node) => Boolean): Option[Node]
  4. def getClass(): Class[_ <: AnyVal]
    Definition Classes
    AnyVal → Any
  5. def replace(f: PartialFunction[Node, Node], keepType: Boolean = false, bottomUp: Boolean = false): Node
  6. def replaceInvalidate(f: PartialFunction[Node, (Node, TypeSymbol)]): Node

    Replace nodes in a bottom-up traversal while invalidating TypeSymbols.

    Replace nodes in a bottom-up traversal while invalidating TypeSymbols. Any later references to the invalidated TypeSymbols have their types unassigned, so that the whole tree can be retyped afterwards to get the correct new TypeSymbols in. The PartialFunction may return null, which is considered the same as not matching.

  7. def select(field: TermSymbol): Node
  8. val tree: Node
  9. def untypeReferences(invalid: Set[TypeSymbol]): Node