Class

com.outworkers.phantom.udt.macros

DefMacro

Related Doc: package macros

Permalink

class DefMacro extends UdtRootMacro

Linear Supertypes
UdtRootMacro, RootMacro, WhiteboxToolbelt, HListHelpers, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DefMacro
  2. UdtRootMacro
  3. RootMacro
  4. WhiteboxToolbelt
  5. HListHelpers
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DefMacro(c: Context)

    Permalink

Type Members

  1. case class Accessor(name: scala.reflect.macros.Universe.TermName, paramType: scala.reflect.macros.Universe.Type, annotations: List[scala.reflect.macros.Universe.Tree] = immutable.this.Nil) extends Product with Serializable

    Permalink
    Definition Classes
    UdtRootMacro
  2. trait Extractor extends AnyRef

    Permalink

    The base implementation of an UDT extractor derived from a case class field.

    The base implementation of an UDT extractor derived from a case class field.

    Definition Classes
    UdtRootMacro
  3. implicit class FieldOps extends AnyRef

    Permalink
    Definition Classes
    RootMacro
  4. implicit class ListMapOps[K, V, M[X] <: Iterable[X]] extends AnyRef

    Permalink
    Definition Classes
    RootMacro
  5. case class MatchedField extends RecordMatch with Product with Serializable

    Permalink
    Definition Classes
    RootMacro
  6. case class NestedExtractor(accessor: Accessor, typeQualifier: scala.reflect.macros.Universe.Tree) extends Extractor with Product with Serializable

    Permalink
    Definition Classes
    UdtRootMacro
  7. trait RecordMatch extends AnyRef

    Permalink
    Definition Classes
    RootMacro
  8. case class RegularExtractor(accessor: Accessor, typeQualifier: scala.reflect.macros.Universe.Tree) extends Extractor with Product with Serializable

    Permalink
    Definition Classes
    UdtRootMacro
  9. trait RootField extends AnyRef

    Permalink
    Definition Classes
    RootMacro
  10. case class TableDescriptor extends Product with Serializable

    Permalink
    Definition Classes
    RootMacro
  11. case class Unmatched extends RecordMatch with Product with Serializable

    Permalink
    Definition Classes
    RootMacro

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. object Accessors

    Permalink
    Definition Classes
    UdtRootMacro
  5. object Symbols

    Permalink
    Definition Classes
    UdtRootMacro
  6. def abort(msg: String): Nothing

    Permalink
    Definition Classes
    WhiteboxToolbelt
  7. def accessors(params: Seq[scala.reflect.macros.Universe.ValDef]): Iterable[Accessor]

    Permalink

    Retrieves the accessor fields on a case class and returns an iterable of tuples of the form Name -> Type.

    Retrieves the accessor fields on a case class and returns an iterable of tuples of the form Name -> Type. For every single field in a case class, a reference to the string name and string type of the field are returned.

    Example:

    case class Test(id: UUID, name: String, age: Int)
    
    accessors(Test) = Iterable("id" -> "UUID", "name" -> "String", age: "Int")
    params

    The list of params retrieved from the case class.

    returns

    An iterable of tuples where each tuple encodes the string name and string type of a field.

    Definition Classes
    UdtRootMacro
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. val builder: scala.reflect.macros.Universe.Select

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  10. val builderPkg: scala.reflect.macros.Universe.Select

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  11. val c: Context

    Permalink
    Definition Classes
    DefMacroUdtRootMacro → RootMacro → WhiteboxToolbelt → HListHelpers
  12. def caseFields(tpe: scala.reflect.macros.Universe.Type): Seq[(scala.reflect.macros.Universe.Name, scala.reflect.macros.Universe.Type)]

    Permalink
    Definition Classes
    RootMacro
  13. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  14. val colSymbol: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    RootMacro
  15. val colType: scala.reflect.macros.Universe.Type

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  16. val collections: scala.reflect.macros.Universe.Select

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  17. def deepCaseClass(tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink

    Checks if the field type on a case class is an UDT type.

    Checks if the field type on a case class is an UDT type. This logic requires deep checking to deal with the fact that we provide DSL level scala.Option support for all Cassandra types.

    Nested UDT types require freezing on Cassandra and if the type is wrapped inside an Option it is not enough to check if the type is a case class. Simply checking if the type is a case class can also mislead the macro generation and prevent it from using auto-tupled case class primitives with support available via phantom auto-tables.

    tpe

    The type of the field to check for annotations.

    returns

    True if the type contains a UDT annotation or if the type is an Option wrapping an UDT annotated type.

    Definition Classes
    UdtRootMacro
  18. def devarargify(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    HListHelpers
  19. def echo(msg: String): Unit

    Permalink
    Definition Classes
    WhiteboxToolbelt
  20. def elTerm(i: Int): scala.reflect.macros.Universe.TermName

    Permalink
    Definition Classes
    UdtRootMacro
  21. val emptyOptions: scala.reflect.macros.Universe.Select

    Permalink
    Definition Classes
    UdtRootMacro
  22. val enginePkg: scala.reflect.macros.Universe.Select

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  23. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    WhiteboxToolbelt
  26. def evalTree(tree: ⇒ scala.reflect.macros.Universe.Tree): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    WhiteboxToolbelt
  27. val executableQuery: scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    UdtRootMacro
  28. def extractColumnMembers(table: scala.reflect.macros.Universe.Type, columns: List[scala.reflect.macros.Universe.Symbol]): List[Field]

    Permalink
    Definition Classes
    RootMacro
  29. def extractRecordMembers(tpe: scala.reflect.macros.Universe.Type): Seq[Field]

    Permalink
    Definition Classes
    RootMacro
  30. def fieldTerm(i: Int): scala.reflect.macros.Universe.TermName

    Permalink
    Definition Classes
    UdtRootMacro
  31. def filterColumns(columns: Seq[scala.reflect.macros.Universe.Type], filter: scala.reflect.macros.Universe.Type): Seq[scala.reflect.macros.Universe.Type]

    Permalink
    Definition Classes
    RootMacro
  32. def filterColumns[Filter](columns: Seq[scala.reflect.macros.Universe.Type])(implicit arg0: scala.reflect.macros.Universe.TypeTag[Filter]): Seq[scala.reflect.macros.Universe.Type]

    Permalink
    Definition Classes
    RootMacro
  33. def filterMembers[T, Filter](exclusions: (scala.reflect.macros.Universe.Symbol) ⇒ Option[scala.reflect.macros.Universe.Symbol])(implicit arg0: scala.reflect.macros.Universe.WeakTypeTag[T], arg1: scala.reflect.macros.Universe.TypeTag[Filter]): Seq[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    RootMacro
  34. def filterMembers[Filter](tpe: scala.reflect.macros.Universe.Type, exclusions: (scala.reflect.macros.Universe.Symbol) ⇒ Option[scala.reflect.macros.Universe.Symbol])(implicit arg0: scala.reflect.macros.Universe.TypeTag[Filter]): Seq[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    RootMacro
  35. def fqTerm(i: Int): scala.reflect.macros.Universe.TermName

    Permalink
    Definition Classes
    UdtRootMacro
  36. val fromRowName: scala.reflect.macros.Universe.TermName

    Permalink
    Definition Classes
    RootMacro
  37. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  38. def hasAnnotation(tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    UdtRootMacro
  39. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  40. def hconsTpe: scala.reflect.macros.Universe.Type

    Permalink
    Attributes
    protected[this]
    Definition Classes
    HListHelpers
  41. def hlistTpe: scala.reflect.macros.Universe.Type

    Permalink
    Attributes
    protected[this]
    Definition Classes
    HListHelpers
  42. def hnilTpe: scala.reflect.macros.Universe.Type

    Permalink
    Attributes
    protected[this]
    Definition Classes
    HListHelpers
  43. def info(msg: String, force: Boolean): Unit

    Permalink
    Definition Classes
    WhiteboxToolbelt
  44. val inputTerm: scala.reflect.macros.Universe.TermName

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  45. def isCaseClass(tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    UdtRootMacro
  46. def isCaseClass(sym: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
    Definition Classes
    UdtRootMacro
  47. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  48. def isVararg(tpe: scala.reflect.macros.Universe.Type): Boolean

    Permalink
    Definition Classes
    HListHelpers
  49. val keySpaceTpe: scala.reflect.macros.Universe.Select

    Permalink
    Definition Classes
    UdtRootMacro
  50. val keyspaceType: scala.reflect.macros.Universe.Type

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  51. val knownList: List[String]

    Permalink
    Definition Classes
    RootMacro
  52. val macroPkg: scala.reflect.macros.Universe.Select

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  53. def makePrimitive(tpe: scala.reflect.macros.Universe.TypeName, name: scala.reflect.macros.Universe.TermName, params: List[scala.reflect.macros.Universe.ValDef]): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    UdtRootMacro
  54. def materialize[T](implicit arg0: scala.reflect.macros.whitebox.Context.WeakTypeTag[T]): scala.reflect.macros.Universe.Tree

    Permalink
  55. def memoize[A, B](cache: Cache)(a: A, f: (A) ⇒ B): B

    Permalink
    Definition Classes
    WhiteboxToolbelt
  56. def mkCompoundTpe(nil: scala.reflect.macros.Universe.Type, cons: scala.reflect.macros.Universe.Type, items: List[scala.reflect.macros.Universe.Type]): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    HListHelpers
  57. def mkHListType(col: List[scala.reflect.macros.Universe.Type]): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    HListHelpers
  58. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  59. val notImplemented: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    RootMacro
  60. val notImplementedName: scala.reflect.macros.Universe.TermName

    Permalink
    Definition Classes
    RootMacro
  61. val nothingTpe: scala.reflect.macros.Universe.Type

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  62. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  63. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  64. def prefix(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    HListHelpers
  65. val prefix: scala.reflect.macros.Universe.Select

    Permalink
    Definition Classes
    UdtRootMacro
  66. val primitivePkg: scala.reflect.macros.Universe.Select

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  67. def printType(tpe: scala.reflect.macros.Universe.Type): String

    Permalink
    Definition Classes
    HListHelpers
  68. def queryDependencies(params: Iterable[Accessor]): Seq[scala.reflect.macros.Universe.Tree]

    Permalink
    Definition Classes
    UdtRootMacro
  69. val rootConn: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    RootMacro
  70. val rowTerm: scala.reflect.macros.Universe.TermName

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  71. val rowType: scala.reflect.macros.Universe.Select

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  72. val sasiIndexTpe: scala.reflect.macros.Universe.Type

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  73. val selectTable: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    RootMacro
  74. def showAborts: Boolean

    Permalink
    Definition Classes
    WhiteboxToolbelt
  75. def showAll: Boolean

    Permalink
    Definition Classes
    WhiteboxToolbelt
  76. def showCache: Boolean

    Permalink
    Definition Classes
    WhiteboxToolbelt
  77. def showCollection[M[X] <: scala.collection.compat.IterableOnce[X]](traversable: M[scala.reflect.macros.Universe.Type], sep: String): String

    Permalink
    Definition Classes
    HListHelpers
  78. def showHList(tpe: scala.reflect.macros.Universe.Type): String

    Permalink
    Definition Classes
    HListHelpers
  79. def showLogs: Boolean

    Permalink
    Definition Classes
    WhiteboxToolbelt
  80. def showTrees: Boolean

    Permalink
    Definition Classes
    WhiteboxToolbelt
  81. val strTpe: scala.reflect.macros.Universe.Select

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  82. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  83. val tableSym: scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    RootMacro
  84. val tableTerm: scala.reflect.macros.Universe.TermName

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  85. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  86. def tupleTerm(index: Int, aug: Int): scala.reflect.macros.Universe.TermName

    Permalink
    Definition Classes
    RootMacro
  87. def typeDependencies(params: Iterable[Accessor]): Seq[scala.reflect.macros.Universe.Tree]

    Permalink
    Definition Classes
    UdtRootMacro
  88. def typed[A](implicit arg0: scala.reflect.macros.whitebox.Context.WeakTypeTag[A]): scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    UdtRootMacro
  89. def udtDeps(params: Iterable[Accessor]): Seq[scala.reflect.macros.Universe.Type]

    Permalink
    Definition Classes
    UdtRootMacro
  90. val udtPackage: scala.reflect.macros.Universe.Select

    Permalink
    Definition Classes
    UdtRootMacro
  91. def udtPrimitive(tpe: scala.reflect.macros.Universe.TypeName, stringName: String, params: Iterable[Accessor]): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    UdtRootMacro
  92. val udtValueTpe: scala.reflect.macros.Universe.Select

    Permalink
    Definition Classes
    UdtRootMacro
  93. def unpackHListTpe(tpe: scala.reflect.macros.Universe.Type): List[scala.reflect.macros.Universe.Type]

    Permalink
    Definition Classes
    HListHelpers
  94. final def wait(arg0: Long, arg1: Int): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  96. final def wait(): Unit

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

    Permalink
    Definition Classes
    WhiteboxToolbelt

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from UdtRootMacro

Inherited from RootMacro

Inherited from WhiteboxToolbelt

Inherited from HListHelpers

Inherited from AnyRef

Inherited from Any

Ungrouped