Class

com.avsystem.commons.macros.serialization

GenCodecMacros

Related Doc: package serialization

Permalink

class GenCodecMacros extends CodecMacroCommons with TypeClassDerivation

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GenCodecMacros
  2. TypeClassDerivation
  3. CodecMacroCommons
  4. AbstractMacroCommons
  5. MacroCommons
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GenCodecMacros(ctx: Context)

    Permalink

Type Members

  1. class Annot extends AnyRef

    Permalink
    Definition Classes
    MacroCommons
  2. case class ApplyParam(idx: Int, sym: scala.reflect.macros.Universe.TermSymbol, defaultValue: scala.reflect.macros.Universe.Tree, instance: scala.reflect.macros.Universe.Tree) extends Product with Serializable

    Permalink

    Contains metadata extracted from apply method of companion object of some record (case-class like) type.

    Contains metadata extracted from apply method of companion object of some record (case-class like) type.

    sym

    symbol of the apply method parameter or case class constructor parameter (if apply is auto-generated for case class companion object)

    defaultValue

    tree that evaluates to default value of the apply parameter or EmptyTree

    instance

    tree that evaluates to type class instance for type of this parameter

    Definition Classes
    TypeClassDerivation
  3. case class ApplyUnapply(ownerTpe: scala.reflect.macros.Universe.Type, typedCompanion: scala.reflect.macros.Universe.Tree, apply: scala.reflect.macros.Universe.Symbol, unapply: scala.reflect.macros.Universe.Symbol, params: List[scala.reflect.macros.Universe.TermSymbol]) extends Product with Serializable

    Permalink

    apply

    case class constructor or companion object's apply method

    unapply

    companion object'a unapply method or NoSymbol for case class with more than 22 fields

    params

    parameters with trees evaluating to default values (or EmptyTrees)

    Definition Classes
    MacroCommons
  4. case class CaseClassInfo(idx: Int, subtype: scala.reflect.macros.Universe.Type, applyParams: List[scala.reflect.macros.Universe.Symbol]) extends CaseInfo with Product with Serializable

    Permalink
  5. sealed abstract class CaseInfo extends AnyRef

    Permalink
  6. case class CaseObjectInfo(idx: Int, subtype: scala.reflect.macros.Universe.Type, singleton: scala.reflect.macros.Universe.Tree) extends CaseInfo with Product with Serializable

    Permalink
  7. type ClassTag[T] = scala.reflect.ClassTag[T]

    Permalink
    Definition Classes
    MacroCommons
  8. case class KnownSubtype(idx: Int, tpe: scala.reflect.macros.Universe.Type, instance: scala.reflect.macros.Universe.Tree) extends Product with Serializable

    Permalink

    Contains metadata extracted from one of the case subtypes in a sealed hierarchy.

    Contains metadata extracted from one of the case subtypes in a sealed hierarchy.

    tpe

    the case subtype itself

    instance

    tree that evaluates to type class instance for this subtype

    Definition Classes
    TypeClassDerivation
  9. case class LitOrDefault[T](default: T)(implicit evidence$4: ClassTag[T]) extends Product with Serializable

    Permalink
    Definition Classes
    MacroCommons
  10. case class TypeKey(tpe: scala.reflect.macros.Universe.Type) extends Product with Serializable

    Permalink

    Wrapper over Type that implements equals/hashCode consistent with type equivalence (=:=)

    Wrapper over Type that implements equals/hashCode consistent with type equivalence (=:=)

    Definition Classes
    MacroCommons
  11. class treeOps[T <: scala.reflect.macros.Universe.Tree] extends AnyRef

    Permalink
    Definition Classes
    MacroCommons

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. final def AllowImplicitMacroCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    TypeClassDerivation
  5. final def AllowImplicitMacroObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    TypeClassDerivation
  6. final lazy val AnnotationAggregateType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  7. final lazy val AnnotationTpe: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  8. object AnonPartialFunction

    Permalink
    Definition Classes
    MacroCommons
  9. final def BIndexedSeqClass: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroCommons
  10. final lazy val BIndexedSeqTpe: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  11. final def BIterableClass: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroCommons
  12. final lazy val BIterableTpe: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  13. final def BMapCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    CodecMacroCommons
  14. object BooleanLiteral

    Permalink
    Definition Classes
    MacroCommons
  15. final def ClassCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  16. final def CollectionPkg: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  17. final def CommonsPkg: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  18. final lazy val DefaultCaseAnnotType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    CodecMacroCommons
  19. final val DefaultCaseField: String("_case")

    Permalink
    Definition Classes
    CodecMacroCommons
  20. object DefaultValueMethod

    Permalink
    Definition Classes
    MacroCommons
  21. final lazy val DefaultsToNameAT: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  22. final def DeferredInstanceCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    TypeClassDerivation
  23. object ExistentialSingleton

    Permalink
    Definition Classes
    MacroCommons
  24. final lazy val FlattenAnnotType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    CodecMacroCommons
  25. final lazy val FutureSym: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroCommons
  26. final def GenCodecCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    CodecMacroCommons
  27. final def GenCodecObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    CodecMacroCommons
  28. final lazy val GeneratedAnnotType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    CodecMacroCommons
  29. final def ImmutablePkg: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  30. final lazy val ImplicitNotFoundAT: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  31. final def ImplicitNotFoundCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  32. final lazy val ImplicitNotFoundSym: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroCommons
  33. final def ImplicitsObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  34. final lazy val InferAT: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  35. final def IntCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  36. final def JListCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    CodecMacroCommons
  37. final def JListObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    CodecMacroCommons
  38. final def JavaInteropObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    CodecMacroCommons
  39. final def JavaLangPkg: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  40. final def ListBufferCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    CodecMacroCommons
  41. final def ListCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  42. final def ListObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  43. object Lit

    Permalink
    Definition Classes
    MacroCommons
  44. final def MapCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  45. final def MapObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  46. final lazy val MapSym: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroCommons
  47. object MaybeApply

    Permalink
    Definition Classes
    MacroCommons
  48. object MaybeTypeApply

    Permalink
    Definition Classes
    MacroCommons
  49. object MaybeTyped

    Permalink
    Definition Classes
    MacroCommons
  50. final def MiscPkg: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  51. object MultiApply

    Permalink
    Definition Classes
    MacroCommons
  52. final def MutablePkg: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  53. final def NOptCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    CodecMacroCommons
  54. final def NOptObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    CodecMacroCommons
  55. final lazy val NameAnnotNameSym: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    CodecMacroCommons
  56. final lazy val NameAnnotType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    CodecMacroCommons
  57. final def NilObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  58. final def NoneObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  59. final lazy val NotInheritedFromSealedTypes: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  60. final def NothingCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  61. final lazy val NothingTpe: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  62. final def OptCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    CodecMacroCommons
  63. final def OptObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    CodecMacroCommons
  64. final lazy val OptionClass: scala.reflect.macros.Universe.ClassSymbol

    Permalink
    Definition Classes
    MacroCommons
  65. final def OptionCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  66. final def OptionObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  67. final lazy val OutOfOrderAnnotType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    CodecMacroCommons
  68. final def PartialFunctionClass: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroCommons
  69. final lazy val PositionedAT: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  70. final def PredefObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  71. final lazy val ProductTpe: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  72. final def RecursiveImplicitMarkerObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    TypeClassDerivation
  73. final def ScalaPkg: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  74. final lazy val SeqCompanionSym: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroCommons
  75. final def SerializationPkg: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    CodecMacroCommons
  76. final def SetCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  77. final def SetObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  78. object SingleParamList

    Permalink
    Definition Classes
    MacroCommons
  79. final def SomeObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  80. final def StringCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  81. object StringLiteral

    Permalink
    Definition Classes
    MacroCommons
  82. final lazy val StringPFTpe: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  83. final lazy val TransientDefaultAnnotType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    CodecMacroCommons
  84. final lazy val TransparentAnnotType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    CodecMacroCommons
  85. final def TryCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  86. final def TryObj: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  87. final def UnitCls: scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  88. final lazy val WhenAbsentAnnotType: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    CodecMacroCommons
  89. object WrappedImplicitSearchResult

    Permalink
    Definition Classes
    MacroCommons
  90. def abort(msg: String): Nothing

    Permalink
    Definition Classes
    MacroCommons
  91. def abortAt(message: String, pos: scala.reflect.macros.Universe.Position): Nothing

    Permalink
    Definition Classes
    MacroCommons
  92. def abortOnTypecheckException[T](expr: ⇒ T): T

    Permalink
    Definition Classes
    MacroCommons
  93. def accessorFor(cparam: scala.reflect.macros.Universe.Symbol): Option[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroCommons
  94. def actualParamType(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  95. def actualParamType(param: scala.reflect.macros.Universe.Symbol): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  96. def allAnnotations(s: scala.reflect.macros.Universe.Symbol, tpeFilter: scala.reflect.macros.Universe.Type, seenFrom: scala.reflect.macros.Universe.Type = NoType, withInherited: Boolean = true, fallback: List[scala.reflect.macros.Universe.Tree] = Nil): List[Annot]

    Permalink
    Definition Classes
    MacroCommons
  97. def allCurrentlyKnownSubclasses(sym: scala.reflect.macros.Universe.Symbol): Set[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroCommons
  98. def alternatives(sym: scala.reflect.macros.Universe.Symbol): List[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroCommons
  99. def applyUnapplyCodec[T](implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  100. def applyUnapplyFor(tpe: scala.reflect.macros.Universe.Type, typedCompanion: scala.reflect.macros.Universe.Tree): Option[ApplyUnapply]

    Permalink
    Definition Classes
    MacroCommons
  101. def applyUnapplyFor(tpe: scala.reflect.macros.Universe.Type): Option[ApplyUnapply]

    Permalink
    Definition Classes
    MacroCommons
  102. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  103. val c: Context

    Permalink
    Definition Classes
    AbstractMacroCommonsMacroCommons
  104. def cachedImplicitDeclarations(mkDecl: (scala.reflect.macros.Universe.TermName, scala.reflect.macros.Universe.Tree) ⇒ scala.reflect.macros.Universe.Tree): List[scala.reflect.macros.Universe.Tree]

    Permalink
    Definition Classes
    MacroCommons
  105. def cachedImplicitDeclarations: List[scala.reflect.macros.Universe.Tree]

    Permalink
    Definition Classes
    MacroCommons
  106. def caseAccessorFor(sym: scala.reflect.macros.Universe.Symbol): scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    CodecMacroCommons
  107. final def classTag[T](implicit arg0: ClassTag[T]): ClassTag[T]

    Permalink
    Definition Classes
    MacroCommons
  108. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  109. def containsInaccessibleThises(tree: scala.reflect.macros.Universe.Tree): Boolean

    Permalink
    Definition Classes
    MacroCommons
  110. def debug(msg: ⇒ String): Unit

    Permalink
    Definition Classes
    MacroCommons
  111. final val debugEnabled: Boolean

    Permalink
    Definition Classes
    MacroCommons
  112. def defaultValueMethod(param: scala.reflect.macros.Universe.Symbol): scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroCommons
  113. def dependency(depTpe: scala.reflect.macros.Universe.Type, tcTpe: scala.reflect.macros.Universe.Type, param: scala.reflect.macros.Universe.Symbol): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    GenCodecMacrosTypeClassDerivation
  114. def dependencyType(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    GenCodecMacrosTypeClassDerivation
  115. def determineTypeParams(undetTpe: scala.reflect.macros.Universe.Type, detTpe: scala.reflect.macros.Universe.Type, typeParams: List[scala.reflect.macros.Universe.Symbol]): Option[List[scala.reflect.macros.Universe.Type]]

    Permalink
    Definition Classes
    MacroCommons
  116. def echo(msg: String): Unit

    Permalink
    Definition Classes
    MacroCommons
  117. final lazy val enclosingClasses: List[scala.reflect.macros.blackbox.Context.Symbol]

    Permalink
    Definition Classes
    MacroCommons
  118. def enclosingConstructorCompanion: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroCommons
  119. def ensure(condition: Boolean, msg: ⇒ String): Unit

    Permalink
    Definition Classes
    MacroCommons
  120. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  122. def error(msg: String): Unit

    Permalink
    Definition Classes
    MacroCommons
  123. def errorAt(message: String, pos: scala.reflect.macros.Universe.Position): Unit

    Permalink
    Definition Classes
    MacroCommons
  124. def existentialSingletonToValDef(sym: scala.reflect.macros.Universe.Symbol, name: scala.reflect.macros.Universe.TermName, tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.ValDef

    Permalink
    Definition Classes
    MacroCommons
  125. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  126. def findAnnotation(s: scala.reflect.macros.Universe.Symbol, tpe: scala.reflect.macros.Universe.Type, seenFrom: scala.reflect.macros.Universe.Type = NoType, withInherited: Boolean = true, fallback: List[scala.reflect.macros.Universe.Tree] = Nil): Option[Annot]

    Permalink
    Definition Classes
    MacroCommons
  127. def flatForSealedHierarchy(tpe: scala.reflect.macros.Universe.Type, caseFieldName: String): scala.reflect.macros.Universe.Tree

    Permalink
  128. def forApplyUnapply(applyUnapply: ApplyUnapply, applyParams: List[ApplyParam]): scala.reflect.macros.Universe.Tree

    Permalink

    Derives type class instance for record type.

    Derives type class instance for record type. Record type is a class/trait whose companion object has matching apply and unapply methods. In particular, every case class is a proper record type.

    applyUnapply

    info about case class or case class like type

    Definition Classes
    GenCodecMacrosTypeClassDerivation
  129. def forSealedEnum[T](implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  130. def forSealedHierarchy(tpe: scala.reflect.macros.Universe.Type, subtypes: List[KnownSubtype]): scala.reflect.macros.Universe.Tree

    Permalink

    Derives type class instance for union type (sealed hierarchy in which every non-abstract subtype has the type class instance of its own or can also be automatically derived).

    Derives type class instance for union type (sealed hierarchy in which every non-abstract subtype has the type class instance of its own or can also be automatically derived).

    tpe

    type of the sealed class/trait

    subtypes

    metadata for all direct non-abstract subtypes of this sealed class/trait

    Definition Classes
    GenCodecMacrosTypeClassDerivation
  131. def forSingleton(tpe: scala.reflect.macros.Universe.Type, singleValueTree: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink

    Derives type class instance for singleton type (i.e.

    Derives type class instance for singleton type (i.e. an object or this)

    tpe

    the singleton type

    singleValueTree

    a tree that evaluates to the sole value of the singleton type

    Definition Classes
    GenCodecMacrosTypeClassDerivation
  132. def forUnknown(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Tree

    Permalink

    Derives type class instance for arbitrary type which is neither a singleton, record nor union type.

    Derives type class instance for arbitrary type which is neither a singleton, record nor union type. Usually, you want to throw a TypecheckException to indicate that type class instance cannot be derived for this type. You can use typecheckException method for this.

    Definition Classes
    GenCodecMacrosTypeClassDerivation
  133. def fromApplyUnapplyProvider[T](applyUnapplyProvider: scala.reflect.macros.Universe.Tree)(implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

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

    Permalink
    Definition Classes
    AnyRef → Any
  135. def getType(typeTree: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  136. def getterSymbolToValDef(sym: scala.reflect.macros.Universe.Symbol): scala.reflect.macros.Universe.ValDef

    Permalink
    Definition Classes
    MacroCommons
  137. def hasAnnotation(sym: scala.reflect.macros.Universe.Symbol, annotTpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    CodecMacroCommons
  138. def hasMemberWithSig(tpe: scala.reflect.macros.Universe.Type, name: scala.reflect.macros.Universe.Name, suchThat: (scala.reflect.macros.Universe.Type) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    MacroCommons
  139. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  140. def implementDeferredInstance(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Tree

    Permalink

    Returns tree that instantiates a "deferred instance" of this type class.

    Returns tree that instantiates a "deferred instance" of this type class. Deferred instance is a special implementation of the type class which implements the com.avsystem.commons.derivation.DeferredInstance trait and wraps an another, actual instance of the type class and delegates all operations to that wrapped instance. The wrapped instance itself is supplied later, by assigning a var available on the deferred instance.

    This is all necessary to handle automatic derivation for recursively-defined types like:

    case class Tree(children: List[Tree])

    EXAMPLE:

    Let's assume a type class Traverser defined like this:

    trait Traverser[T] {
      def traverse(value: T): Unit
    }
    object Traverser {
      class Deferred[T] extends DeferredInstance[Traverser[T]] with Traverser[T] {
        def traverse(value: T) = underlying.traverse(value)
      }
    
      implicit def forList[T](implicit forElement: Traverser[T]): Traverser[List[T]] =
        new Traverser[List[T]] {
          def traverse(value: List[T]) = value.foreach(forElement.traverse)
        }
    }

    Automatically derived type class instance for Tree would then look somewhat like this:

    val tcTree: Traverser[Tree] = {
      val deferred: DeferredInstance[Traverser[Tree]] with Traverser[Tree] = new Traverser.Deferred[T]
      deferred.underlying = new Traverser[Tree] {
        val forChildren = Traverser.forList[Tree](deferred)
        def traverse(value: Tree) = value.children.foreach(forChildren.traverse)
      }
      deferred.underlying
    }
    Definition Classes
    GenCodecMacrosTypeClassDerivation
  141. def implicitNotFoundMsg(tpe: scala.reflect.macros.Universe.Type): String

    Permalink
    Definition Classes
    MacroCommons
  142. def indent(str: String, indent: String): String

    Permalink
    Definition Classes
    MacroCommons
  143. def inferCachedImplicit(tpe: scala.reflect.macros.Universe.Type, errorClue: String, errorPos: scala.reflect.macros.Universe.Position, expandMacros: Boolean = false): scala.reflect.macros.Universe.TermName

    Permalink
    Definition Classes
    MacroCommons
  144. def inferImplicitValue(pt: scala.reflect.macros.Universe.Type, silent: Boolean = true, withMacrosDisabled: Boolean = false, expandMacros: Boolean = false, pos: scala.reflect.macros.Universe.Position = c.enclosingPosition): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  145. def innerTypeSymbols(tpe: scala.reflect.macros.Universe.Type): Set[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroCommons
  146. def instrument(tree: ⇒ scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  147. def isCorrectUnapply(unapplyResultType: scala.reflect.macros.Universe.Type, applyParams: List[scala.reflect.macros.Universe.Symbol], elemAdjust: (scala.reflect.macros.Universe.Type) ⇒ scala.reflect.macros.Universe.Type = identity): Boolean

    Permalink
    Definition Classes
    MacroCommons
  148. def isFirstListVarargs(meth: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroCommons
  149. def isGenerated(sym: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    CodecMacroCommons
  150. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  151. def isOptimizedPrimitive(param: ApplyParam): Boolean

    Permalink
  152. def isOutOfOrder(sym: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
  153. def isParameterless(signature: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    MacroCommons
  154. def isRepeated(param: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroCommons
  155. final lazy val isScalaJs: Boolean

    Permalink
    Definition Classes
    MacroCommons
  156. def isSealedHierarchyRoot(sym: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroCommons
  157. def isTransientDefault(param: ApplyParam): Boolean

    Permalink
  158. def isTransparent(sym: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    CodecMacroCommons
  159. def isTuple(sym: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    MacroCommons
  160. def isTypeTree(tree: scala.reflect.macros.Universe.Tree): Boolean

    Permalink
    Definition Classes
    MacroCommons
  161. def knownNonAbstractSubclasses(sym: scala.reflect.macros.Universe.Symbol): Set[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroCommons
  162. def knownSubtypes(tpe: scala.reflect.macros.Universe.Type, ordered: Boolean = false): Option[List[scala.reflect.macros.Universe.Type]]

    Permalink
    Definition Classes
    MacroCommons
  163. def matchingApplyUnapply(tpe: scala.reflect.macros.Universe.Type, applySig: scala.reflect.macros.Universe.Type, unapplySig: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    MacroCommons
  164. def materialize[T](implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    TypeClassDerivation
  165. def materializeFor(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    GenCodecMacrosTypeClassDerivation
  166. def materializeImplicitly[T](allow: scala.reflect.macros.Universe.Tree)(implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    TypeClassDerivation
  167. def materializeRecursively[T](implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  168. def measure[T](what: String)(expr: ⇒ T): T

    Permalink
    Definition Classes
    MacroCommons
  169. def methodSymbolToDefDef(sym: scala.reflect.macros.Universe.Symbol): scala.reflect.macros.Universe.DefDef

    Permalink
    Definition Classes
    MacroCommons
  170. def mkPrivateLazyVal(name: scala.reflect.macros.Universe.TermName, body: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  171. def mkTupleCodec[T](elementCodecs: scala.reflect.macros.Universe.Tree*)(implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

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

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

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

    Permalink
    Definition Classes
    AnyRef
  175. def outerTypeParamsIn(tpe: scala.reflect.macros.Universe.Type): List[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroCommons
  176. final lazy val ownerChain: List[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroCommons
  177. def ownersOf(sym: scala.reflect.macros.Universe.Symbol): List[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroCommons
  178. def paramIndex(param: scala.reflect.macros.Universe.Symbol): Int

    Permalink
    Definition Classes
    MacroCommons
  179. def paramSymbolToValDef(sym: scala.reflect.macros.Universe.Symbol): scala.reflect.macros.Universe.ValDef

    Permalink
    Definition Classes
    MacroCommons
  180. def pathTo(sym: scala.reflect.macros.Universe.Symbol): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  181. def posInfo(pos: scala.reflect.macros.Universe.Position): String

    Permalink
    Definition Classes
    MacroCommons
  182. def positionPoint(sym: scala.reflect.macros.Universe.Symbol): Int

    Permalink
    Definition Classes
    MacroCommons
  183. def primaryConstructorOf(tpe: scala.reflect.macros.Universe.Type, problemClue: ⇒ String = ""): scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroCommons
  184. def registerImplicit(tpe: scala.reflect.macros.Universe.Type, name: scala.reflect.macros.Universe.TermName): Unit

    Permalink
    Definition Classes
    MacroCommons
  185. def select(pre: scala.reflect.macros.Universe.Tree, name: scala.reflect.macros.Universe.Name): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  186. def singleValueFor(tpe: scala.reflect.macros.Universe.Type): Option[scala.reflect.macros.Universe.Tree]

    Permalink
    Definition Classes
    MacroCommons
  187. def staticType(tpeTree: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  188. final val statsEnabled: Boolean

    Permalink
    Definition Classes
    MacroCommons
  189. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  190. def targetName(sym: scala.reflect.macros.Universe.Symbol): String

    Permalink
    Definition Classes
    CodecMacroCommons
  191. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  192. def treeAsSeenFrom(tree: scala.reflect.macros.Universe.Tree, seenFrom: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  193. def treeForType(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Tree

    Permalink

    Returns a Tree that should typecheck to the type passed as argument (without using TypeTree).

    Returns a Tree that should typecheck to the type passed as argument (without using TypeTree).

    Definition Classes
    MacroCommons
  194. def tryInferCachedImplicit(tpe: scala.reflect.macros.Universe.Type, expandMacros: Boolean = false): Option[scala.reflect.macros.Universe.TermName]

    Permalink
    Definition Classes
    MacroCommons
  195. def tupleGet(i: Int): scala.reflect.macros.Universe.TermName

    Permalink
    Definition Classes
    CodecMacroCommons
  196. def typeClassInstance(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    GenCodecMacrosTypeClassDerivation
  197. def typeOfCachedImplicit(name: scala.reflect.macros.Universe.TermName): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  198. def typeOfTypeSymbol(sym: scala.reflect.macros.Universe.TypeSymbol): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  199. def typeSymbolToTypeDef(sym: scala.reflect.macros.Universe.Symbol, forMethod: Boolean = false): scala.reflect.macros.Universe.TypeDef

    Permalink
    Definition Classes
    MacroCommons
  200. def typecheck(tree: scala.reflect.macros.Universe.Tree, mode: scala.reflect.macros.blackbox.Context.TypecheckMode = c.TERMmode, pt: scala.reflect.macros.Universe.Type = WildcardType, silent: Boolean = false, withImplicitViewsDisabled: Boolean = false, withMacrosDisabled: Boolean = false): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroCommons
  201. def typecheckException(msg: String): Nothing

    Permalink
    Definition Classes
    MacroCommons
  202. def typedCompanionOf(tpe: scala.reflect.macros.Universe.Type): Option[scala.reflect.macros.Universe.Tree]

    Permalink
    Definition Classes
    MacroCommons
  203. def unwrapNullaryMt(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroCommons
  204. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  207. def warning(msg: String): Unit

    Permalink
    Definition Classes
    MacroCommons
  208. def withAccessed(sym: scala.reflect.macros.Universe.Symbol): List[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    CodecMacroCommons
  209. def withRecursiveImplicitGuard(targetTpe: scala.reflect.macros.Universe.Type, unguarded: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    TypeClassDerivation
  210. def withSuperSymbols(s: scala.reflect.macros.Universe.Symbol): Iterator[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroCommons

Inherited from TypeClassDerivation

Inherited from CodecMacroCommons

Inherited from AbstractMacroCommons

Inherited from MacroCommons

Inherited from AnyRef

Inherited from Any

Ungrouped