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. lazy val companionReplacement: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroCommons
  110. final val companionReplacementName: scala.reflect.macros.Universe.TermName

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

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

    Permalink
    Definition Classes
    MacroCommons
  113. final val debugEnabled: Boolean

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

    Permalink
    Definition Classes
    MacroCommons
  115. 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
  116. def dependencyType(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    GenCodecMacrosTypeClassDerivation
  117. 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
  118. def echo(msg: String): Unit

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    MacroCommons
  126. 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
  127. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  128. 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
  129. def flatForSealedHierarchy(tpe: scala.reflect.macros.Universe.Type, caseFieldName: String): scala.reflect.macros.Universe.Tree

    Permalink
  130. 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
  131. def forSealedEnum[T](implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  132. 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
  133. 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
  134. 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
  135. def fromApplyUnapplyProvider[T](applyUnapplyProvider: scala.reflect.macros.Universe.Tree)(implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

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

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

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

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

    Permalink
    Definition Classes
    CodecMacroCommons
  140. 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
  141. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  142. 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
  143. def implicitNotFoundMsg(tpe: scala.reflect.macros.Universe.Type): String

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

    Permalink
    Definition Classes
    MacroCommons
  145. def inferCachedImplicit(tpe: scala.reflect.macros.Universe.Type, errorClue: String, errorPos: scala.reflect.macros.Universe.Position): scala.reflect.macros.Universe.TermName

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

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

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

    Permalink
    Definition Classes
    MacroCommons
  149. 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
  150. def isFirstListVarargs(meth: scala.reflect.macros.Universe.Symbol): Boolean

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    MacroCommons
  165. 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
  166. def materialize[T](implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

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

    Permalink
    Definition Classes
    GenCodecMacrosTypeClassDerivation
  168. 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
  169. def materializeRecursively[T](implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    MacroCommons
  187. def replaceCompanion(typedTree: scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

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

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

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

    Permalink
    Definition Classes
    MacroCommons
  191. final val statsEnabled: Boolean

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

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

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

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

    Permalink
    Definition Classes
    MacroCommons
  196. 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
  197. def tryInferCachedImplicit(tpe: scala.reflect.macros.Universe.Type): Option[scala.reflect.macros.Universe.TermName]

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

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

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

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

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

    Permalink
    Definition Classes
    MacroCommons
  203. 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
  204. def typecheckException(msg: String): Nothing

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    TypeClassDerivation
  213. 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