class RewriteBooleans extends Phase
For SQL back-ends which do not support real boolean types for fields and general expressions but which do have special boolean expressions and operators, this phase injects conversions between fake and real boolean values.
The default for booleans in the AST is to use the fake type (mapped to a numeric type by the profile). There are specific places where a real boolean (that can be used in boolean expressions) is required or produced, so we inject a call to ToRealBoolean or ToFakeBoolean as needed.
- Source
- RewriteBooleans.scala
- Alphabetic
- By Inheritance
- RewriteBooleans
- Phase
- Logging
- Function1
- AnyRef
- Any
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new RewriteBooleans()
Type Members
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def ->[B](y: B): (RewriteBooleans, B)
- Implicit
- This member is added by an implicit conversion from RewriteBooleans toArrowAssoc[RewriteBooleans] 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
- RewriteBooleans → 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]) @HotSpotIntrinsicCandidate() @native()
- def compose[A](g: (A) => CompilerState): (A) => CompilerState
- Definition Classes
- Function1
- Annotations
- @unspecialized()
- def ensuring(cond: (RewriteBooleans) => Boolean, msg: => Any): RewriteBooleans
- Implicit
- This member is added by an implicit conversion from RewriteBooleans toEnsuring[RewriteBooleans] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (RewriteBooleans) => Boolean): RewriteBooleans
- Implicit
- This member is added by an implicit conversion from RewriteBooleans toEnsuring[RewriteBooleans] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): RewriteBooleans
- Implicit
- This member is added by an implicit conversion from RewriteBooleans toEnsuring[RewriteBooleans] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): RewriteBooleans
- Implicit
- This member is added by an implicit conversion from RewriteBooleans toEnsuring[RewriteBooleans] 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
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def isBooleanLike(t: Type): Boolean
Check if a type is equivalent to the Scala Boolean type or a (possibly nested) Option of that type.
- 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
- RewriteBooleans → Phase
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def rewrite(n: Node): Node
Rewrite a single Node.
Rewrite a single Node. This method can be overridden in subclasses to change the situations in which conversions are applied.
- def rewriteRec(n: Node): Node
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toFake(n: Node): Node
Create a conversion to a fake boolean, cancelling out an existing conversion to a real boolean.
- def toReal(n: Node): Node
Create a conversion to a real boolean, cancelling out an existing conversion to a fake boolean.
- 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
(Since version 9)
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from RewriteBooleans toStringFormat[RewriteBooleans] 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): (RewriteBooleans, B)
- Implicit
- This member is added by an implicit conversion from RewriteBooleans toArrowAssoc[RewriteBooleans] 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...