SimplyTypedNode

slick.ast.SimplyTypedNode
trait SimplyTypedNode extends Node

A Node which can be typed without access to its scope, and whose children can be typed independently of each other.

Attributes

Source:
Node.scala
Graph
Supertypes
trait Node
trait Dumpable
class Object
trait Matchable
class Any
Known subtypes

Members list

Concise view

Type members

Types

Attributes

Source:
Node.scala

Value members

Abstract methods

protected def buildType: Type

Attributes

Source:
Node.scala

Concrete methods

final def withInferredType(scope: Scope, typeChildren: Boolean): Self

Attributes

Source:
Node.scala

Inherited methods

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.

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

Attributes

Inherited from:
Node
Source:
Node.scala
def childNames: Iterable[String]

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.

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.

Attributes

Inherited from:
Node
Source:
Node.scala

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

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

Attributes

Inherited from:
Node
Source:
Node.scala
def childrenForeach[R](f: Node => R): Unit

Apply a side-effecting function to all direct children from left to right. Note that

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.

Attributes

Inherited from:
Node
Source:
Node.scala

Return the name, main info, attribute info and named children

Return the name, main info, attribute info and named children

Attributes

Inherited from:
Node
Source:
Node.scala
def hasType: Boolean

Check if this node has a type without marking the type as seen.

Check if this node has a type without marking the type as seen.

Attributes

Inherited from:
Node
Source:
Node.scala
final def infer(scope: Scope, typeChildren: Boolean): Self

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 typeChildren is true. if retype 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.

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 typeChildren is true. if retype 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.

Attributes

Inherited from:
Node
Source:
Node.scala
def mapChildren(f: Node => Node, keepType: Boolean): Self

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 keepType is true, the type of this node is kept even when the children have changed.

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 keepType is true, the type of this node is kept even when the children have changed.

Attributes

Inherited from:
Node
Source:
Node.scala

The current type of this node.

The current type of this node.

Attributes

Inherited from:
Node
Source:
Node.scala
def self: Self

Attributes

Inherited from:
Node
Source:
Node.scala
final override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns:

a string representation of the object.

Definition Classes
Node -> Any
Inherited from:
Node
Source:
Node.scala
final def untyped: Self

Return this Node with no Type assigned (if it has not yet been observed) or an untyped copy.

Return this Node with no Type assigned (if it has not yet been observed) or an untyped copy.

Attributes

Inherited from:
Node
Source:
Node.scala
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.

Rebuild this node with new child nodes unless all children are identical to the current ones, in which case this node is returned.

Attributes

Inherited from:
Node
Source:
Node.scala