Class

cats.tagless

DeriveMacros

Related Doc: package tagless

Permalink

class DeriveMacros extends AnyRef

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DeriveMacros
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DeriveMacros(c: Context)

    Permalink

Type Members

  1. case class Method(m: scala.reflect.macros.Universe.MethodSymbol, tps: List[scala.reflect.macros.Universe.TypeDef], pss: List[List[scala.reflect.macros.Universe.ValDef]], rt: scala.reflect.macros.Universe.Type, body: scala.reflect.macros.Universe.Tree) extends Product with Serializable

    Permalink

    A reified method definition with some useful methods for transforming it.

Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. def applyK[Alg[_[_]]](implicit tag: scala.reflect.macros.blackbox.Context.WeakTypeTag[Alg[Any]]): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. val c: Context

    Permalink
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def contramapK(algebra: scala.reflect.macros.Universe.Type): (String, (scala.reflect.macros.Universe.Type) ⇒ scala.reflect.macros.Universe.Tree)

    Permalink
  9. def contravariant[F[_]](implicit tag: scala.reflect.macros.blackbox.Context.WeakTypeTag[F[Any]]): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  10. def declare(instance: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Tree

    Permalink

    Type-check a definition of type instance with stubbed methods to gain more type information.

  11. def delegateAbstractTypes(algebra: scala.reflect.macros.Universe.Type, members: Iterable[scala.reflect.macros.Universe.Symbol], instance: scala.reflect.macros.Universe.Type): Iterable[scala.reflect.macros.Universe.Tree]

    Permalink

    Delegate the definition of abstract type members and aliases in algebra to an existing instance.

  12. def delegateMethods(algebra: scala.reflect.macros.Universe.Type, members: Iterable[scala.reflect.macros.Universe.Symbol], instance: scala.reflect.macros.Universe.Symbol)(transform: PartialFunction[Method, Method]): Iterable[scala.reflect.macros.Universe.Tree]

    Permalink

    Delegate the definition of methods in algebra to an existing instance.

  13. def delegateTypes(algebra: scala.reflect.macros.Universe.Type, members: Iterable[scala.reflect.macros.Universe.Symbol])(rhs: (scala.reflect.macros.Universe.TypeSymbol, List[scala.reflect.macros.Universe.Type]) ⇒ scala.reflect.macros.Universe.Type): Iterable[scala.reflect.macros.Universe.Tree]

    Permalink

    Delegate the definition of type members and aliases in algebra.

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

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def flatMap[F[_]](implicit tag: scala.reflect.macros.blackbox.Context.WeakTypeTag[F[Any]]): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  18. def flatMapK(algebra: scala.reflect.macros.Universe.Type): (String, (scala.reflect.macros.Universe.Type) ⇒ scala.reflect.macros.Universe.Tree)

    Permalink
  19. def functor[F[_]](implicit tag: scala.reflect.macros.blackbox.Context.WeakTypeTag[F[Any]]): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  20. def functorK[Alg[_[_]]](implicit tag: scala.reflect.macros.blackbox.Context.WeakTypeTag[Alg[Any]]): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  21. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    AnyRef → Any
  23. def imapK(algebra: scala.reflect.macros.Universe.Type): (String, (scala.reflect.macros.Universe.Type) ⇒ scala.reflect.macros.Universe.Tree)

    Permalink
  24. def implement(algebra: scala.reflect.macros.Universe.Type, members: Iterable[scala.reflect.macros.Universe.Tree]): scala.reflect.macros.Universe.Tree

    Permalink

    Implement a possibly refined algebra with the provided members.

  25. def instantiate(typeClass: scala.reflect.macros.Universe.TypeSymbol, algebra: scala.reflect.macros.Universe.Type)(rhs: (String, (scala.reflect.macros.Universe.Type) ⇒ scala.reflect.macros.Universe.Tree)*): scala.reflect.macros.Universe.Tree

    Permalink

    Create a new instance of typeClass for algebra.

    Create a new instance of typeClass for algebra. rhs should define a mapping for each method (by name) to an implementation function based on type signature.

  26. def invariant[F[_]](implicit tag: scala.reflect.macros.blackbox.Context.WeakTypeTag[F[Any]]): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  27. def invariantK[Alg[_[_]]](implicit tag: scala.reflect.macros.blackbox.Context.WeakTypeTag[Alg[Any]]): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  28. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  29. def mapK(algebra: scala.reflect.macros.Universe.Type): (String, (scala.reflect.macros.Universe.Type) ⇒ scala.reflect.macros.Universe.Tree)

    Permalink
  30. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  31. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  32. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  33. def overridableMembersOf(tpe: scala.reflect.macros.Universe.Type): Iterable[scala.reflect.macros.Universe.Symbol]

    Permalink

    Return the set of overridable members of tpe, excluding some undesired cases.

  34. def productK(algebra: scala.reflect.macros.Universe.Type): (String, (scala.reflect.macros.Universe.Type) ⇒ scala.reflect.macros.Universe.Tree)

    Permalink
  35. def semigroupalK[Alg[_[_]]](implicit tag: scala.reflect.macros.blackbox.Context.WeakTypeTag[Alg[Any]]): scala.reflect.macros.blackbox.Context.Tree

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

    Permalink
    Definition Classes
    AnyRef
  37. def tailRecM(algebra: scala.reflect.macros.Universe.Type): (String, (scala.reflect.macros.Universe.Type) ⇒ scala.reflect.macros.Universe.Tree)

    Permalink
  38. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  39. def typeCheckWithFreshTypeParams(tree: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink

    Temporarily refresh type parameter names, type-check the tree and restore the original names.

    Temporarily refresh type parameter names, type-check the tree and restore the original names.

    The purpose is to avoid warnings about type parameter shadowing, which can be problematic when -Xfatal-warnings is enabled. We know the warnings are harmless because we deal with types directly. Unfortunately c.typecheck(tree, silent = true) does not suppress warnings.

  40. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped