ConstructorUtil
izumi.distage.constructors.ConstructorUtil
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Members list
Type members
Classlikes
final case class MemberRepr(name: String, isMethod: Boolean, mbSymbol: Option[qctx.reflect.Symbol], tpe: qctx.reflect.TypeRepr, isNewMethod: Boolean)
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
object MemberRepr
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
MemberRepr.type
final case class ParamRepr(name: String, mbSymbol: Option[qctx.reflect.Symbol], tpe: qctx.reflect.TypeRepr)
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
object TypeReprAsType
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
TypeReprAsType.type
object factoryUtil
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
factoryUtil.type
Types
Value members
Concrete methods
def assertSignatureIsAcceptableForFactory(signatureParams: List[ParamRepr], resultTpe: qctx.reflect.TypeRepr, clue: String): Unit
def buildConstructorTermAppliedToTypeParameters(resultType: qctx.reflect.TypeRepr): qctx.reflect.Term
def buildParentConstructorCallTerms(constructorParamListsRepr: List[(qctx.reflect.TypeRepr, ParamReprLists)], outerLamArgs: List[qctx.reflect.Term]): Seq[qctx.reflect.Term]
def extractMethodParamLists(methodType: qctx.reflect.TypeRepr, methodSym: qctx.reflect.Symbol): ParamReprLists
def findRequiredImplParents(resultTpeSym: qctx.reflect.Symbol, resultTpe: qctx.reflect.TypeRepr): List[qctx.reflect.Symbol]
def makeFunctoid[R : Type](params: List[ParamRepr], argsLambda: Expr[(Seq[Any]) => R], providerType: Expr[ProviderType]): Expr[Functoid[R]]
def readWithAnnotation(name: String, annotSym: Option[qctx.reflect.Symbol], tpe: qctx.reflect.TypeRepr): Option[qctx.reflect.TypeRepr]
def wrapCtorApplicationIntoFunctoidRawLambda[R : Type](paramss: ParamReprLists, constructorTerm: qctx.reflect.Term): Expr[(Seq[Any]) => R]
def wrapIntoFunctoidRawLambda[R : Type](params: List[ParamRepr])(body: (qctx.reflect.Symbol, List[qctx.reflect.Term]) => qctx.reflect.Tree): Expr[(Seq[Any]) => R]
Givens
Givens
In this article