scala.slick.compiler

FuseComprehensions

class FuseComprehensions extends Phase

Fuse sub-comprehensions into their parents.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. FuseComprehensions
  2. Phase
  3. Logging
  4. Function2
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new FuseComprehensions()

Type Members

  1. abstract 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.

    Definition Classes
    Phase

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def apply(n: Node, state: CompilationState): Node

    Run the phase

    Run the phase

    Definition Classes
    FuseComprehensionsPhase → Function2
  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  9. def createSelect(c: Comprehension): Comprehension

    Create a select for a Comprehension without one.

  10. def curried: (Node) ⇒ (CompilationState) ⇒ Node

    Definition Classes
    Function2
    Annotations
    @unspecialized()
  11. def ensureStruct(c: Comprehension): Comprehension

    Rewrite a Comprehension to always return a StructNode

  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  15. def fuse(n: Node): Node

  16. def fuseComprehension(c: Comprehension): Comprehension

    Fuse simple Comprehensions (no orderBy, fetch or offset), which are contained in the 'from' list of another Comprehension, into their parent.

  17. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  19. def isFuseable(outer: Comprehension, inner: Comprehension): Boolean

    Check if two comprehensions can be fused (assuming the outer and inner comprehension have already been deemed fuseable on their own).

  20. def isFuseableInner(sym: ast.Symbol, c: Comprehension, prevSyms: Set[ast.Symbol]): Boolean

    Check if a Comprehension should be fused into its parent.

    Check if a Comprehension should be fused into its parent. This happens in the following cases: - It has a Pure generator. - It does not have any generators. - The Comprehension has a 'select' clause which consists only of Paths and constant values. - It refers to a symbol introduced in a previous FROM clause of an outer Comprehension.

  21. def isFuseableOuter(c: Comprehension): Boolean

    Check if a comprehension allow sub-comprehensions to be fused.

    Check if a comprehension allow sub-comprehensions to be fused. This is the case if it has a select clause and not more than one sub-comprehension with a groupBy clause.

  22. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  23. def liftAggregates(c: Comprehension): Comprehension

    Lift aggregates of sub-queries into the 'from' list or inline them (if they would refer to unreachable symbols when used in 'from' position).

  24. lazy val logger: SlickLogger

    Attributes
    protected[this]
    Definition Classes
    Logging
  25. val name: String

    The unique name of the phase

    The unique name of the phase

    Definition Classes
    FuseComprehensionsPhase
  26. def narrowStructure(n: Node): Node

  27. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  28. final def notify(): Unit

    Definition Classes
    AnyRef
  29. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  30. def select(selects: List[ast.Symbol], base: Node): Vector[Node]

  31. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  32. def toString(): String

    Definition Classes
    Function2 → AnyRef → Any
  33. def tupled: ((Node, CompilationState)) ⇒ Node

    Definition Classes
    Function2
    Annotations
    @unspecialized()
  34. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  35. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  36. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from Phase

Inherited from Logging

Inherited from (Node, CompilationState) ⇒ Node

Inherited from AnyRef

Inherited from Any

Ungrouped