ExpandSums

slick.compiler.ExpandSums
class ExpandSums extends Phase

Expand sum types and their catamorphisms to equivalent product type operations.

Attributes

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

Members list

Concise view

Type members

Classlikes

Attributes

Source:
ExpandSums.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Inherited types

type State

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

Inherited from:
Phase
Source:
QueryCompiler.scala

Value members

Concrete methods

Run the phase

Run the phase

Attributes

Source:
ExpandSums.scala

Create a Node representing a structure of null values of the given Type

Create a Node representing a structure of null values of the given Type

Attributes

Source:
ExpandSums.scala

Collect discriminator candidate fields in a predicate. These are all paths below an OptionApply, which indicates their future use under a discriminator guard.

Collect discriminator candidate fields in a predicate. These are all paths below an OptionApply, which indicates their future use under a discriminator guard.

Attributes

Source:
ExpandSums.scala

Expand multi-column conditional expressions and SilentCasts. Single-column conditionals involving NULL values are optimized away where possible.

Expand multi-column conditional expressions and SilentCasts. Single-column conditionals involving NULL values are optimized away where possible.

Attributes

Source:
ExpandSums.scala

Attributes

Source:
ExpandSums.scala
def fuse(n: Node): Node

Fuse unnecessary Option operations

Fuse unnecessary Option operations

Attributes

Source:
ExpandSums.scala
def silentCast(tpe: Type, n: Node): Node

Create a SilentCast call unless the type already matches

Create a SilentCast call unless the type already matches

Attributes

Source:
ExpandSums.scala

Strip nominal types and convert all atomic types to OptionTypes

Strip nominal types and convert all atomic types to OptionTypes

Attributes

Source:
ExpandSums.scala
def trType(tpe: Type): Type

Perform the sum expansion on a Type

Perform the sum expansion on a Type

Attributes

Source:
ExpandSums.scala
def translateJoin(bind: Bind, discCandidates: Set[(TypeSymbol, List[TermSymbol])]): Bind

Translate an Option-extended left outer, right outer or full outer join

Translate an Option-extended left outer, right outer or full outer join

Attributes

Source:
ExpandSums.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

Attributes

Source:
ExpandSums.scala
val name: String

The unique name of the phase

The unique name of the phase

Attributes

Source:
ExpandSums.scala