AssignUniqueSymbols

slick.compiler.AssignUniqueSymbols

Ensure that all symbol definitions in a tree are unique. The same symbol can initially occur in multiple sub-trees when some part of a query is reused multiple times. This phase assigns new, uniqe symbols, so that later phases do not have to take scopes into account for identifying the source of a symbol. The rewriting is performed for both, term symbols and type symbols.

The phase state is a collection of flags depending on the presence or absence of certain node types in the AST. This information can be used to selectively skip later compiler phases when it is already known that there is nothing for them to translate.

Attributes

Source:
AssignUniqueSymbols.scala
Graph
Supertypes
trait Phase
trait Logging
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Types

The immutable state of the phase that can also be accessed by other phases.

The immutable state of the phase that can also be accessed by other phases.

Attributes

Source:
AssignUniqueSymbols.scala

Value members

Concrete methods

Run the phase

Run the phase

Attributes

Source:
AssignUniqueSymbols.scala
def hasNominalType(t: Type): Boolean

Attributes

Source:
AssignUniqueSymbols.scala

Inherited methods

def andThen[A](g: CompilerState => A): T1 => A

Attributes

Inherited from:
Function1
def compose[A](g: A => CompilerState): A => R

Attributes

Inherited from:
Function1
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
Function1 -> Any
Inherited from:
Function1

Concrete fields

val name: String

The unique name of the phase

The unique name of the phase

Attributes

Source:
AssignUniqueSymbols.scala