package macros
- Alphabetic
- Public
- Protected
Type Members
- final case class Graph[Key, A](nodes: List[Node[Key, A]], keyEquals: (Key, Key) => Boolean) extends Product with Serializable
- sealed trait GraphError[+Key, +A] extends AnyRef
- class IsReloadableMacros extends AnyRef
- final case class LayerBuilder[Type, Expr](target0: List[Type], remainder: List[Type], providedLayers0: List[Expr], layerToDebug: PartialFunction[Expr, Debug], sideEffectType: Type, anyType: Type, typeEquals: (Type, Type) => Boolean, foldTree: (LayerTree[Expr]) => Expr, method: ProvideMethod, exprToNode: (Expr) => Node[Type, Expr], typeToNode: (Type) => Node[Type, Expr], showExpr: (Expr) => String, showType: (Type) => String, reportWarn: (String) => Unit, reportError: (String) => Nothing) extends Product with Serializable
LayerBuilder houses the core logic for compile-time layer construction.
LayerBuilder houses the core logic for compile-time layer construction. It is parameterized by
Type
andExpr
such that it can be shared across Scala 2 and 3, which have incompatible macro libraries.- remainder
A list of types indicating the input of the final layer. This would be the parameter of ZIO.provideSome
- providedLayers0
A list of layers ASTs that have been provided by the user.
- layerToDebug
A method which allows LayerBuilder to filter/extract the special ZLayer.Debug layers from the provided layers.
- typeEquals
A method for comparing types: Used in the construction of the final layer
- foldTree
A method for folding a tree of layers into the final layer.
- method
The sort of method that is being called:
provide
,provideSome
, orprovideCustom
. This is used to provide improved compilation warnings.- exprToNode
A method for converting an Expr into a Node for use in the graph traversal.
- typeToNode
A method for converting a leftover type into a Node to be used in the graph traversal.
- sealed abstract class LayerTree[+A] extends Product with Serializable
- final case class Node[+Key, +A](inputs: List[Key], outputs: List[Key], value: A) extends Product with Serializable
- sealed trait ProvideMethod extends Product with Serializable
- final class ZLayerMakeMacros extends LayerMacroUtils
Value Members
- object GraphError
- object LayerTree extends Serializable
- object ProvideMethod extends Serializable