Packages

trait Definitions extends Types with Existentials with Exprs with ExprPromises with Results

Linear Supertypes
Results, ExprPromises, Exprs, Existentials, Types, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Definitions
  2. Results
  3. ExprPromises
  4. Exprs
  5. Existentials
  6. Types
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type >?<[L, U >: L] = Bounded[L, U, Type]
    Definition Classes
    Existentials
  2. type ?<[U] = Bounded[Nothing, U, Type]
    Definition Classes
    Existentials
  3. type ?>[L] = Bounded[L, Any, Type]
    Definition Classes
    Existentials
  4. type ?? = Bounded[Nothing, Any, Type]
    Definition Classes
    Existentials
  5. implicit final class ArrayExprOps[A] extends AnyRef
    Attributes
    protected
    Definition Classes
    Exprs
  6. implicit final class EitherExprOps[L, R] extends AnyRef
    Attributes
    protected
    Definition Classes
    Exprs
  7. final type Existential[F[_]] = Bounded[Nothing, Any, F]

    Represents value with some existential type t both for Type[t] as well as F[t].

    Represents value with some existential type t both for Type[t] as well as F[t].

    Since Scala 3 removed a lot of cases for existential types we cannot just use Type[?] in shared code. Additionally, we might need to have something to prove that our Type[?] is has the same ? as some Value[?]. For that, this utility would be useful.

    Attributes
    protected
    Definition Classes
    Existentials
  8. final type ExistentialExpr = Bounded[Nothing, Any, Expr]

    Convenient utility to represent Expr[?] with erased inner type with accompanying Type[?] of the same ?.

    Convenient utility to represent Expr[?] with erased inner type with accompanying Type[?] of the same ?.

    Attributes
    protected
    Definition Classes
    Existentials
  9. final type ExistentialType = Bounded[Nothing, Any, Type]

    Convenient utility to represent Type[?] with erased inner type, but without any accompanying value.

    Convenient utility to represent Type[?] with erased inner type, but without any accompanying value.

    Attributes
    protected
    Definition Classes
    Existentials
  10. abstract type Expr[A]

    Platform-specific expression representation (c.Expr[A] in 2, scala.quoted.Expr[A] in 3

    Platform-specific expression representation (c.Expr[A] in 2, scala.quoted.Expr[A] in 3

    Attributes
    protected
    Definition Classes
    Exprs
  11. trait ExprModule extends AnyRef
    Attributes
    protected
    Definition Classes
    Exprs
  12. implicit final class ExprOps[A] extends AnyRef
    Attributes
    protected
    Definition Classes
    Exprs
  13. final class ExprPromise[From, A] extends AnyRef

    Allow us to use Expr[A] before we would either: know how we would initiate it, or: what the final shape of a whole expression would be.

    Allow us to use Expr[A] before we would either: know how we would initiate it, or: what the final shape of a whole expression would be.

    In situations like '{ val a = sth; ${ useA('{ a }) } } you know both how a would be created as well as the shape of the final tree. In cases when you would e.g. use expression in some context-dependent derivation which could return Either[Expr[B], Expr[F[B]], ExprPromise allows you to calculate that result and THEN decide how to turn it into final Expr value.

    From

    type of the promised expression

    A

    type of the current result we created using Expr[From]

    Attributes
    protected
    Definition Classes
    ExprPromises
  14. trait ExprPromiseModule extends AnyRef
    Attributes
    protected
    Definition Classes
    ExprPromises
  15. abstract type ExprPromiseName

    In Scala 2 it's c.universe.TermName, in Scala 3 Symbol of a val

    In Scala 2 it's c.universe.TermName, in Scala 3 Symbol of a val

    Attributes
    protected
    Definition Classes
    ExprPromises
  16. implicit final class Function1[A, B] extends AnyRef
    Attributes
    protected
    Definition Classes
    Exprs
  17. implicit final class Function2[A, B, C] extends AnyRef
    Attributes
    protected
    Definition Classes
    Exprs
  18. type Id[A] = A

    Convenient for literal singletons

    Convenient for literal singletons

    Definition Classes
    Existentials
  19. implicit final class IterableExprOps[A] extends AnyRef
    Attributes
    protected
    Definition Classes
    Exprs
  20. implicit final class IteratorExprOps[A] extends AnyRef
    Attributes
    protected
    Definition Classes
    Exprs
  21. implicit final class LeftExprOps[L, R] extends AnyRef
    Attributes
    protected
    Definition Classes
    Exprs
  22. implicit final class ListPatternMatchCaseOps[To] extends AnyRef
    Attributes
    protected
    Definition Classes
    ExprPromises
  23. implicit final class MapExprOps[K, V] extends AnyRef
    Attributes
    protected
    Definition Classes
    Exprs
  24. implicit final class OptionExprOps[A] extends AnyRef
    Attributes
    protected
    Definition Classes
    Exprs
  25. final class PatternMatchCase[To] extends AnyRef

    When we decide that expression would be crated in patter-match binding, we would receive this wrapper around the results, which would ensure that definition is only used inside the scope and allow combining several cases into a single pattern matching.

    When we decide that expression would be crated in patter-match binding, we would receive this wrapper around the results, which would ensure that definition is only used inside the scope and allow combining several cases into a single pattern matching.

    Attributes
    protected
    Definition Classes
    ExprPromises
  26. trait PatternMatchCaseModule extends AnyRef
    Attributes
    protected
    Definition Classes
    ExprPromises
  27. final class PrependDefinitionsTo[A] extends AnyRef

    When we decide that promised expression would be used as val/lazy val/var/def, we receive this wrapper around the results, which would ensure that: initialization of a definition would happen before its use, you can only use the definition inside its scope.

    When we decide that promised expression would be used as val/lazy val/var/def, we receive this wrapper around the results, which would ensure that: initialization of a definition would happen before its use, you can only use the definition inside its scope.

    Attributes
    protected
    Definition Classes
    ExprPromises
  28. trait PrependDefinitionsToModule extends AnyRef
    Attributes
    protected
    Definition Classes
    ExprPromises
  29. implicit final class RightExprOps[L, R] extends AnyRef
    Attributes
    protected
    Definition Classes
    Exprs
  30. abstract type Type[A]

    Platform-specific type representation (c.WeakTypeTag[A] in 2, scala.quoted.Type[A] in 3)

    Platform-specific type representation (c.WeakTypeTag[A] in 2, scala.quoted.Type[A] in 3)

    Attributes
    protected
    Definition Classes
    Types
  31. trait TypeModule extends AnyRef
    Attributes
    protected
    Definition Classes
    Types
  32. implicit final class TypeOps[A] extends AnyRef
    Attributes
    protected
    Definition Classes
    Types
  33. implicit final class TypeStringOps[S <: String] extends AnyRef
    Attributes
    protected
    Definition Classes
    Types

Abstract Value Members

  1. abstract val Expr: ExprModule
    Attributes
    protected
    Definition Classes
    Exprs
  2. abstract val ExprPromise: ExprPromiseModule
    Attributes
    protected
    Definition Classes
    ExprPromises
  3. abstract val PatternMatchCase: PatternMatchCaseModule
    Attributes
    protected
    Definition Classes
    ExprPromises
  4. abstract val PrependDefinitionsTo: PrependDefinitionsToModule
    Attributes
    protected
    Definition Classes
    ExprPromises
  5. abstract val Type: TypeModule
    Attributes
    protected
    Definition Classes
    Types
  6. abstract def reportError(errors: String): Nothing

    Prints error at current macro expansion AND throw exception for aborting macro expansion

    Prints error at current macro expansion AND throw exception for aborting macro expansion

    Attributes
    protected
    Definition Classes
    Results
  7. abstract def reportInfo(info: String): Unit

    Prints info at current macro expansion - assume it can only be called once

    Prints info at current macro expansion - assume it can only be called once

    Attributes
    protected
    Definition Classes
    Results

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. implicit def ExprPromiseTraverse[From]: Traverse[[β$0$]ExprPromise[From, β$0$]]
    Attributes
    protected
    Definition Classes
    ExprPromises
  5. implicit val PrependDefinitionsToTraversableApplicative: ApplicativeTraverse[PrependDefinitionsTo]
    Attributes
    protected
    Definition Classes
    ExprPromises
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def assertionFailed(assertion: String): Nothing

    Throws AssertionFailed exception

    Throws AssertionFailed exception

    Attributes
    protected
    Definition Classes
    Results
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  23. object Existential
    Attributes
    protected
    Definition Classes
    Existentials
  24. object ExistentialExpr
    Attributes
    protected
    Definition Classes
    Existentials
  25. object ExistentialType
    Attributes
    protected
    Definition Classes
    Existentials

Inherited from Results

Inherited from ExprPromises

Inherited from Exprs

Inherited from Existentials

Inherited from Types

Inherited from AnyRef

Inherited from Any

Ungrouped