Trait

com.outworkers.phantom.udt.macros

UdtRootMacro

Related Doc: package macros

Permalink

trait UdtRootMacro extends RootMacro

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

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
  2. trait Extractor extends AnyRef

    Permalink

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

  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
  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
  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

Abstract Value Members

  1. abstract val c: Context

    Permalink
    Definition Classes
    UdtRootMacro → RootMacro → WhiteboxToolbelt → HListHelpers

Concrete 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
  5. object Symbols

    Permalink
  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.

  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. def caseFields(tpe: scala.reflect.macros.Universe.Type): Seq[(scala.reflect.macros.Universe.Name, scala.reflect.macros.Universe.Type)]

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

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

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

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

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  16. 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.

  17. def devarargify(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Type

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

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

    Permalink
  20. val emptyOptions: scala.reflect.macros.Universe.Select

    Permalink
  21. val enginePkg: scala.reflect.macros.Universe.Select

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

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

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

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

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

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

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

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

    Permalink
  30. 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
  31. 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
  32. 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
  33. 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
  34. def fqTerm(i: Int): scala.reflect.macros.Universe.TermName

    Permalink
  35. val fromRowName: scala.reflect.macros.Universe.TermName

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

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

    Permalink
  38. def hashCode(): Int

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

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

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

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

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

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

    Permalink
  45. def isCaseClass(sym: scala.reflect.macros.Universe.Symbol): Boolean

    Permalink
  46. final def isInstanceOf[T0]: Boolean

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

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

    Permalink
  49. val keyspaceType: scala.reflect.macros.Universe.Type

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

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

    Permalink
    Attributes
    protected[this]
    Definition Classes
    RootMacro
  52. 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
  53. def memoize[A, B](cache: Cache)(a: A, f: (A) ⇒ B): B

    Permalink
    Definition Classes
    WhiteboxToolbelt
  54. 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
  55. def mkHListType(col: List[scala.reflect.macros.Universe.Type]): scala.reflect.macros.Universe.Type

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

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

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

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

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

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

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

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

    Permalink
  64. val primitivePkg: scala.reflect.macros.Universe.Select

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

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

    Permalink
  67. val rootConn: scala.reflect.macros.Universe.Symbol

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

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

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

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

    Permalink
    Definition Classes
    RootMacro
  72. def showAborts: Boolean

    Permalink
    Definition Classes
    WhiteboxToolbelt
  73. def showAll: Boolean

    Permalink
    Definition Classes
    WhiteboxToolbelt
  74. def showCache: Boolean

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

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

    Permalink
    Definition Classes
    HListHelpers
  77. def showLogs: Boolean

    Permalink
    Definition Classes
    WhiteboxToolbelt
  78. def showTrees: Boolean

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

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

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

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

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

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

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

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

    Permalink
  87. def udtDeps(params: Iterable[Accessor]): Seq[scala.reflect.macros.Universe.Type]

    Permalink
  88. val udtPackage: scala.reflect.macros.Universe.Select

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

    Permalink
  90. val udtValueTpe: scala.reflect.macros.Universe.Select

    Permalink
  91. def unpackHListTpe(tpe: scala.reflect.macros.Universe.Type): List[scala.reflect.macros.Universe.Type]

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  95. 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 RootMacro

Inherited from WhiteboxToolbelt

Inherited from HListHelpers

Inherited from AnyRef

Inherited from Any

Ungrouped