trait Node extends Dumpable
A node in the Slick AST. Every Node has a number of child nodes and an optional type annotation.
- Source
- Node.scala
- Alphabetic
- By Inheritance
- Node
- Dumpable
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
children: ConstArray[Node]
All child nodes of this node.
All child nodes of this node. Must be implemented by subclasses.
-
abstract
def
rebuild(ch: ConstArray[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 reuse the current node. This method always returns a fresh copy.
- Attributes
- protected[this]
-
abstract
def
withInferredType(scope: Scope, typeChildren: Boolean): Self
- Attributes
- protected[this]
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Node, B)
-
final
def
:@(newType: Type): Self
Return this Node with a Type assigned (if no other type has been seen for it yet) or a typed copy.
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
buildCopy: Self
Build a copy of this node with the current children.
Build a copy of this node with the current children.
- Attributes
- protected[this]
-
def
childNames: 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.
-
def
childrenForeach[R](f: (Node) ⇒ R): Unit
Apply a side-effecting function to all direct children from left to right.
Apply a side-effecting function to all direct children from left to right. Note that
n.childrenForeach(f)
is equivalent to
n.children.foreach(f)
but can be implemented more efficiently in
Node
subclasses. n.children.foreach(f) }}} implemented more efficiently inNode
subclasses. n.childrenForeach(f) }}} implemented more efficiently inNode
subclasses. -
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- def ensuring(cond: (Node) ⇒ Boolean, msg: ⇒ Any): Node
- def ensuring(cond: (Node) ⇒ Boolean): Node
- def ensuring(cond: Boolean, msg: ⇒ Any): Node
- def ensuring(cond: Boolean): Node
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getDumpInfo: DumpInfo
Return the name, main info, attribute info and named children
-
def
hasType: Boolean
Check if this node has a type without marking the type as seen.
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
infer(scope: Scope = Map.empty, typeChildren: Boolean = false): 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, the children are only type-checked again if
is true. iftypeChildren
is also true, the existing type of this node is replaced. If this node does not yet have a type, the types of all children are computed first.retype
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
mapChildren(f: (Node) ⇒ Node, keepType: Boolean = false): 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. If
is true, the type of this node is kept even when the children have changed.keepType
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
nodeType: Type
The current type of this node.
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
peekType: Type
Get the current type of this node for debug output without marking it as seen.
Get the current type of this node for debug output without marking it as seen.
- Attributes
- protected[this]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
toString(): String
- Definition Classes
- Node → AnyRef → Any
-
final
def
untyped: Self
Return this Node with no Type assigned (if it has not yet been observed) or an untyped copy.
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
withChildren(ch2: ConstArray[Node]): Self
Rebuild this node with new child nodes unless all children are identical to the current ones, in which case this node is returned.
- def →[B](y: B): (Node, B)
edit this text on github
Scala Language-Integrated Connection Kit
This is the API documentation for the Slick database library. It should be used as an additional resource to the user manual.
Further documentation for Slick can be found on the documentation pages.
To the slick package list...