trait Definitions extends Types with Existentials with Exprs with ExprPromises with Results
- Alphabetic
- By Inheritance
- Definitions
- Results
- ExprPromises
- Exprs
- Existentials
- Types
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type >?<[L, U >: L] = Bounded[L, U, Type]
- Definition Classes
- Existentials
- type ?<[U] = Bounded[Nothing, U, Type]
- Definition Classes
- Existentials
- type ?>[L] = Bounded[L, Any, Type]
- Definition Classes
- Existentials
- type ?? = Bounded[Nothing, Any, Type]
- Definition Classes
- Existentials
- implicit final class ArrayExprOps[A] extends AnyRef
- Attributes
- protected
- Definition Classes
- Exprs
- implicit final class EitherExprOps[L, R] extends AnyRef
- Attributes
- protected
- Definition Classes
- Exprs
- final type Existential[F[_]] = Bounded[Nothing, Any, F]
Represents value with some existential type
tboth forType[t]as well asF[t].Represents value with some existential type
tboth forType[t]as well asF[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 ourType[?]is has the same?as someValue[?]. For that, this utility would be useful.- Attributes
- protected
- Definition Classes
- Existentials
- final type ExistentialExpr = Bounded[Nothing, Any, Expr]
Convenient utility to represent
Expr[?]with erased inner type with accompanyingType[?]of the same?.Convenient utility to represent
Expr[?]with erased inner type with accompanyingType[?]of the same?.- Attributes
- protected
- Definition Classes
- Existentials
- 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
- abstract type Expr[A]
Platform-specific expression representation (
c.Expr[A]in 2,scala.quoted.Expr[A]in 3Platform-specific expression representation (
c.Expr[A]in 2,scala.quoted.Expr[A]in 3- Attributes
- protected
- Definition Classes
- Exprs
- trait ExprModule extends AnyRef
- Attributes
- protected
- Definition Classes
- Exprs
- implicit final class ExprOps[A] extends AnyRef
- Attributes
- protected
- Definition Classes
- Exprs
- 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 howawould 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 returnEither[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
- trait ExprPromiseModule extends AnyRef
- Attributes
- protected
- Definition Classes
- ExprPromises
- abstract type ExprPromiseName
In Scala 2 it's
c.universe.TermName, in Scala 3Symbolof a valIn Scala 2 it's
c.universe.TermName, in Scala 3Symbolof a val- Attributes
- protected
- Definition Classes
- ExprPromises
- implicit final class Function1[A, B] extends AnyRef
- Attributes
- protected
- Definition Classes
- Exprs
- implicit final class Function2[A, B, C] extends AnyRef
- Attributes
- protected
- Definition Classes
- Exprs
- type Id[A] = A
Convenient for literal singletons
Convenient for literal singletons
- Definition Classes
- Existentials
- implicit final class IterableExprOps[A] extends AnyRef
- Attributes
- protected
- Definition Classes
- Exprs
- implicit final class IteratorExprOps[A] extends AnyRef
- Attributes
- protected
- Definition Classes
- Exprs
- implicit final class LeftExprOps[L, R] extends AnyRef
- Attributes
- protected
- Definition Classes
- Exprs
- implicit final class ListPatternMatchCaseOps[To] extends AnyRef
- Attributes
- protected
- Definition Classes
- ExprPromises
- implicit final class MapExprOps[K, V] extends AnyRef
- Attributes
- protected
- Definition Classes
- Exprs
- implicit final class OptionExprOps[A] extends AnyRef
- Attributes
- protected
- Definition Classes
- Exprs
- 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
- trait PatternMatchCaseModule extends AnyRef
- Attributes
- protected
- Definition Classes
- ExprPromises
- 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
- trait PrependDefinitionsToModule extends AnyRef
- Attributes
- protected
- Definition Classes
- ExprPromises
- implicit final class RightExprOps[L, R] extends AnyRef
- Attributes
- protected
- Definition Classes
- Exprs
- 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
- trait TypeModule extends AnyRef
- Attributes
- protected
- Definition Classes
- Types
- implicit final class TypeOps[A] extends AnyRef
- Attributes
- protected
- Definition Classes
- Types
- implicit final class TypeStringOps[S <: String] extends AnyRef
- Attributes
- protected
- Definition Classes
- Types
Abstract Value Members
- abstract val Expr: ExprModule
- Attributes
- protected
- Definition Classes
- Exprs
- abstract val ExprPromise: ExprPromiseModule
- Attributes
- protected
- Definition Classes
- ExprPromises
- abstract val PatternMatchCase: PatternMatchCaseModule
- Attributes
- protected
- Definition Classes
- ExprPromises
- abstract val PrependDefinitionsTo: PrependDefinitionsToModule
- Attributes
- protected
- Definition Classes
- ExprPromises
- abstract val Type: TypeModule
- Attributes
- protected
- Definition Classes
- Types
- 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
- 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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- implicit def ExprPromiseTraverse[From]: Traverse[[β$0$]ExprPromise[From, β$0$]]
- Attributes
- protected
- Definition Classes
- ExprPromises
- implicit val PrependDefinitionsToTraversableApplicative: ApplicativeTraverse[PrependDefinitionsTo]
- Attributes
- protected
- Definition Classes
- ExprPromises
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def assertionFailed(assertion: String): Nothing
Throws AssertionFailed exception
Throws AssertionFailed exception
- Attributes
- protected
- Definition Classes
- Results
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()
- object Existential
- Attributes
- protected
- Definition Classes
- Existentials
- object ExistentialExpr
- Attributes
- protected
- Definition Classes
- Existentials
- object ExistentialType
- Attributes
- protected
- Definition Classes
- Existentials