class AssignUniqueSymbols extends Phase
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.
- Alphabetic
- By Inheritance
- AssignUniqueSymbols
- Phase
- Logging
- Function1
- AnyRef
- Any
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new AssignUniqueSymbols()
Type Members
- type State = UsedFeatures
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.
- Definition Classes
- AssignUniqueSymbols → Phase
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def ->[B](y: B): (AssignUniqueSymbols, B)
- Implicit
- This member is added by an implicit conversion from AssignUniqueSymbols toArrowAssoc[AssignUniqueSymbols] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def andThen[A](g: (CompilerState) => A): (CompilerState) => A
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- def apply(state: CompilerState): CompilerState
Run the phase
Run the phase
- Definition Classes
- AssignUniqueSymbols → Phase → Function1
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def compose[A](g: (A) => CompilerState): (A) => CompilerState
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- def ensuring(cond: (AssignUniqueSymbols) => Boolean, msg: => Any): AssignUniqueSymbols
- Implicit
- This member is added by an implicit conversion from AssignUniqueSymbols toEnsuring[AssignUniqueSymbols] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (AssignUniqueSymbols) => Boolean): AssignUniqueSymbols
- Implicit
- This member is added by an implicit conversion from AssignUniqueSymbols toEnsuring[AssignUniqueSymbols] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): AssignUniqueSymbols
- Implicit
- This member is added by an implicit conversion from AssignUniqueSymbols toEnsuring[AssignUniqueSymbols] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): AssignUniqueSymbols
- Implicit
- This member is added by an implicit conversion from AssignUniqueSymbols toEnsuring[AssignUniqueSymbols] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hasNominalType(t: Type): Boolean
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- lazy val logger: SlickLogger
- Attributes
- protected[this]
- Definition Classes
- Logging
- val name: String
The unique name of the phase
The unique name of the phase
- Definition Classes
- AssignUniqueSymbols → Phase
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Function1 → AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from AssignUniqueSymbols toStringFormat[AssignUniqueSymbols] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (AssignUniqueSymbols, B)
- Implicit
- This member is added by an implicit conversion from AssignUniqueSymbols toArrowAssoc[AssignUniqueSymbols] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
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...