org.scalalang.macroparadise.quasiquotes.Reifiers

Reifier

abstract class Reifier extends scala.reflect.reify.Reifier

Linear Supertypes
scala.reflect.reify.Reifier, Utils, StdAttachments, SymbolTables, Extractors, NodePrinters, Errors, Phases, Reify, GenUtils, GenPositions, GenAnnotationInfos, GenTrees, GenNames, GenTypes, GenSymbols, Metalevels, Calculate, Reshape, States, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Reifier
  2. Reifier
  3. Utils
  4. StdAttachments
  5. SymbolTables
  6. Extractors
  7. NodePrinters
  8. Errors
  9. Phases
  10. Reify
  11. GenUtils
  12. GenPositions
  13. GenAnnotationInfos
  14. GenTrees
  15. GenNames
  16. GenTypes
  17. GenSymbols
  18. Metalevels
  19. Calculate
  20. Reshape
  21. States
  22. AnyRef
  23. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Reifier()

Type Members

  1. sealed abstract class FreeDefExtractor extends AnyRef

    Definition Classes
    Extractors
  2. case class Reification extends Product with Serializable

    Definition Classes
    GenSymbols
  3. case class ReifyAliasAttachment extends Product with Serializable

    Definition Classes
    StdAttachments
  4. case class ReifyBindingAttachment extends Product with Serializable

    Definition Classes
    StdAttachments
  5. implicit class RichCalculateSymbol extends AnyRef

    Definition Classes
    Calculate
  6. implicit class RichCalculateType extends AnyRef

    Definition Classes
    Calculate
  7. class State extends AnyRef

    Definition Classes
    States
  8. class SymbolTable extends AnyRef

    Definition Classes
    SymbolTables

Abstract Value Members

  1. abstract def isReifyingExpressions: Boolean

  2. abstract def reifyMultiCardinalityList[T](xs: List[T])(fill: PartialFunction[T, scala.tools.nsc.Global.Tree])(fallback: (T) ⇒ scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

    Reifies list filling all the valid holeMap.

    Reifies list filling all the valid holeMap.

    Reification of non-trivial list is done in two steps:

    1. split the list into groups where every placeholder is always put in a group of it's own and all subsquent non-holeMap are grouped together; element is considered to be a placeholder if it's in the domain of the fill function;

    2. fold the groups into a sequence of lists added together with ++ using fill reification for holeMap and fallback reification for non-holeMap.

    Example:

    reifyMultiCardinalityList(lst) { // first we define patterns that extract high-cardinality holeMap (currently ..) case Placeholder(CorrespondsTo(tree, tpe)) if tpe <:< iterableTreeType => tree } { // in the end we define how single elements are reified, typically with default reify call reify(_) }

    Sample execution of previous concrete list reifier:

    > val lst = List(foo, bar, qq$f3948f9s$1) > reifyMultiCardinalityList(lst) { ... } { ... } q"List($foo, $bar) ++ ${holeMap(qq$f3948f9s$1).tree}"

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def CannotConvertManifestToTagWithoutScalaReflect(tpe: scala.tools.nsc.Global.Type, manifestInScope: scala.tools.nsc.Global.Tree): Nothing

    Definition Classes
    Errors
  7. def CannotReifyCompoundTypeTreeWithNonEmptyBody(ctt: scala.tools.nsc.Global.CompoundTypeTree): Nothing

    Definition Classes
    Errors
  8. def CannotReifyErroneousPrefix(prefix: scala.tools.nsc.Global.Tree): Nothing

    Definition Classes
    Errors
  9. def CannotReifyErroneousReifee(reifee: Any): Nothing

    Definition Classes
    Errors
  10. def CannotReifyInvalidLazyVal(tree: scala.tools.nsc.Global.ValDef): Nothing

    Definition Classes
    Errors
  11. def CannotReifyRuntimeSplice(tree: scala.tools.nsc.Global.Tree): Nothing

    Definition Classes
    Errors
  12. def CannotReifySymbol(sym: scala.tools.nsc.Global.Symbol): Nothing

    Definition Classes
    Errors
  13. def CannotReifyType(tpe: scala.tools.nsc.Global.Type): Nothing

    Definition Classes
    Errors
  14. def CannotReifyUntypedPrefix(prefix: scala.tools.nsc.Global.Tree): Nothing

    Definition Classes
    Errors
  15. def CannotReifyUntypedReifee(reifee: Any): Nothing

    Definition Classes
    Errors
  16. def CannotReifyWeakType(details: Any): Nothing

    Definition Classes
    Errors
  17. def action: String

  18. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  19. def boundSymbolsInCallstack: List[scala.tools.nsc.Global.Symbol]

    Definition Classes
    Reify
  20. val calculate: scala.tools.nsc.Global.Traverser { ... /* 2 definitions in type refinement */ }

    Definition Classes
    Calculate
  21. def call(fname: String, args: scala.tools.nsc.Global.Tree*): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  22. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. val concrete: Boolean

    Definition Classes
    Reifier → Reifier
  24. def current: Any

    Definition Classes
    Reify
  25. def currents: List[Any]

    Definition Classes
    Reify
  26. def defaultErrorPosition: scala.tools.nsc.Global.Position

    Definition Classes
    Errors
  27. def ensureNoExplicitFlags(m: scala.tools.nsc.Global.Modifiers, pos: scala.tools.nsc.Global.Position): Unit

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

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  31. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  32. def getReifier: scala.reflect.reify.Reifier { val global: Reifier.this.global.type }

    Definition Classes
    Reifier → Utils
  33. val global: Quasiquotes.global.type

    Definition Classes
    Reifier → Reifier → Utils
  34. def group[T](lst: List[T])(similar: (T, T) ⇒ Boolean): List[List[T]]

    Splits list into a list of groups where subsequent elements are considered similar by the corresponding function.

    Splits list into a list of groups where subsequent elements are considered similar by the corresponding function.

    Example:

    > group(List(1, 1, 0, 0, 1, 0)) { _ == _ } List(List(1, 1), List(0, 0), List(1), List(0))

  35. def hasReifier: Boolean

    Definition Classes
    Reifier → Utils
  36. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  37. def holesHaveTypes: Boolean

  38. def isAnnotated(tpe: scala.tools.nsc.Global.Type): Boolean

    Definition Classes
    GenUtils
  39. def isCrossStageTypeBearer(tree: scala.tools.nsc.Global.Tree): Boolean

    Definition Classes
    GenUtils
  40. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  41. def isReifyingPatterns: Boolean

  42. def isSemiConcreteTypeMember(tpe: scala.tools.nsc.Global.Type): Boolean

    Definition Classes
    GenUtils
  43. def isTough(tpe: scala.tools.nsc.Global.Type): Boolean

    Definition Classes
    GenUtils
  44. val metalevels: scala.tools.nsc.Global.Transformer { ... /* 5 definitions in type refinement */ }

    Definition Classes
    Metalevels
  45. val mirror: scala.tools.nsc.Global.EmptyTree.type

    Definition Classes
    Reifier → Reifier
  46. def mirrorBuildCall(name: String, args: scala.tools.nsc.Global.Tree*): scala.tools.nsc.Global.Tree

    Definition Classes
    Reifier → GenUtils
  47. def mirrorBuildCall(name: scala.tools.nsc.Global.TermName, args: scala.tools.nsc.Global.Tree*): scala.tools.nsc.Global.Tree

    Definition Classes
    Reifier → GenUtils
  48. def mirrorBuildSelect(name: String): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  49. def mirrorCall(name: String, args: scala.tools.nsc.Global.Tree*): scala.tools.nsc.Global.Tree

    Definition Classes
    Reifier → GenUtils
  50. def mirrorCall(name: scala.tools.nsc.Global.TermName, args: scala.tools.nsc.Global.Tree*): scala.tools.nsc.Global.Tree

    Definition Classes
    Reifier → GenUtils
  51. def mirrorCompatCall(name: scala.tools.nsc.Global.TermName, args: scala.tools.nsc.Global.Tree*): scala.tools.nsc.Global.Tree

  52. def mirrorFactoryCall(prefix: String, args: scala.tools.nsc.Global.Tree*): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  53. def mirrorFactoryCall(value: Product, args: scala.tools.nsc.Global.Tree*): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  54. def mirrorMirrorCall(name: String, args: scala.tools.nsc.Global.Tree*): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  55. def mirrorMirrorCall(name: scala.tools.nsc.Global.TermName, args: scala.tools.nsc.Global.Tree*): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  56. def mirrorMirrorSelect(name: String): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  57. def mirrorSelect(name: String): scala.tools.nsc.Global.Tree

    Definition Classes
    Reifier → GenUtils
  58. def mkList(args: List[scala.tools.nsc.Global.Tree]): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  59. def mkListMap(args: List[scala.tools.nsc.Global.Tree]): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  60. lazy val mkReificationPipeline: (scala.tools.nsc.Global.Tree) ⇒ scala.tools.nsc.Global.Tree

    Definition Classes
    Phases
  61. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  62. val nonoverloadedExplicitFlags: Long

  63. final def notify(): Unit

    Definition Classes
    AnyRef
  64. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  65. def origin(sym: scala.tools.nsc.Global.Symbol): String

    Definition Classes
    GenUtils
  66. def path(fullname: String, mkName: (String) ⇒ scala.tools.nsc.Global.Name): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  67. val reifee: scala.tools.nsc.Global.EmptyTree.type

    Definition Classes
    Reifier → Reifier
  68. lazy val reification: scala.tools.nsc.Global.Tree

    Definition Classes
    Reifier
  69. def reificationIsConcrete: Boolean

    Definition Classes
    GenTypes
  70. lazy val reifier: scala.reflect.reify.Reifier { val global: Reifier.this.global.type }

    Definition Classes
    Utils
  71. def reify(reifee: Any): scala.tools.nsc.Global.Tree

    Definition Classes
    Reify
  72. def reifyAnnotList(annots: List[scala.tools.nsc.Global.Tree]): scala.tools.nsc.Global.Tree

  73. def reifyAnnotation(tree: scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

  74. def reifyAnnotationInfo(ann: scala.tools.nsc.Global.AnnotationInfo): scala.tools.nsc.Global.Tree

    Definition Classes
    GenAnnotationInfos
  75. def reifyBinding(tree: scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

    Definition Classes
    StdAttachments
  76. def reifyBuildCall(name: scala.tools.nsc.Global.TermName, args: Any*): scala.tools.nsc.Global.Tree

  77. def reifyCase(tree: scala.tools.nsc.Global.Tree, location: Quasiquotes.Location): scala.tools.nsc.Global.Tree

  78. def reifyCompatCall(name: scala.tools.nsc.Global.TermName, args: Any*): scala.tools.nsc.Global.Tree

  79. val reifyCopypaste: Boolean

    Definition Classes
    Utils
  80. val reifyDebug: Boolean

    Definition Classes
    Utils
  81. def reifyEarlyDef(tree: scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

  82. def reifyFillingHoles(tree: scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

  83. def reifyFlags(flags: scala.tools.nsc.Global.FlagSet): scala.tools.nsc.Global.Tree

  84. def reifyFreeTerm(binding: scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

    Definition Classes
    GenSymbols
  85. def reifyFreeType(binding: scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

    Definition Classes
    GenSymbols
  86. def reifyFunctionType(argtpes: List[scala.tools.nsc.Global.Tree], restpe: scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

  87. def reifyList(xs: List[Any]): scala.tools.nsc.Global.Tree

    Reifies arbitrary list filling .

    Reifies arbitrary list filling ..$x and ...$y holeMap when they are put in the correct position. Fallbacks to regular reification for non-high cardinality elements.

    Definition Classes
    Reifier → GenUtils
  88. def reifyMirrorObject(x: Product): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  89. def reifyMirrorObject(name: String): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  90. def reifyModifiers(m: scala.tools.nsc.Global.Modifiers): scala.tools.nsc.Global.Tree

    Definition Classes
    Reifier → GenTrees
  91. def reifyName(name: scala.tools.nsc.Global.Name): scala.tools.nsc.Global.Tree

    Definition Classes
    Reifier → GenNames
  92. def reifyPosition(pos: scala.tools.nsc.Global.Position): scala.tools.nsc.Global.Tree

    Definition Classes
    GenPositions
  93. def reifyProduct(prefix: String, elements: List[Any]): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  94. def reifyProduct(x: Product): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  95. def reifyRefineStat(tree: scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

  96. def reifySymDef(sym: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Tree

    Definition Classes
    GenSymbols
  97. def reifySymRef(sym: scala.tools.nsc.Global.Symbol): scala.tools.nsc.Global.Tree

    Definition Classes
    GenSymbols
  98. val reifyTrace: SimpleTracer

    Definition Classes
    Utils
  99. def reifyTree(tree: scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

    Definition Classes
    Reifier → GenTrees
  100. def reifyTreePlaceholder(tree: scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

  101. def reifyTreeSymbols: Boolean

    Definition Classes
    GenTrees
  102. def reifyTreeSyntactically(tree: scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

  103. def reifyTreeTypes: Boolean

    Definition Classes
    GenTrees
  104. def reifyTuple(args: List[scala.tools.nsc.Global.Tree]): scala.tools.nsc.Global.Tree

  105. def reifyTupleType(args: List[scala.tools.nsc.Global.Tree]): scala.tools.nsc.Global.Tree

  106. def reifyType(tpe: scala.tools.nsc.Global.Type): scala.tools.nsc.Global.Tree

    Definition Classes
    GenTypes
  107. val reshape: scala.tools.nsc.Global.Transformer { ... /* 2 definitions in type refinement */ }

    Definition Classes
    Reshape
  108. def scalaFactoryCall(name: String, args: scala.tools.nsc.Global.Tree*): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  109. def spliceType(tpe: scala.tools.nsc.Global.Type): scala.tools.nsc.Global.Tree

    Definition Classes
    GenTypes
  110. val state: State

    Definition Classes
    States
  111. def superReifyTreeSyntactically(tree: scala.tools.nsc.Global.Tree): scala.tools.nsc.Global.Tree

  112. def symtab: SymbolTable

    Definition Classes
    GenSymbols
  113. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  114. def termPath(fullname: String): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  115. def toString(): String

    Definition Classes
    AnyRef → Any
  116. def typePath(fullname: String): scala.tools.nsc.Global.Tree

    Definition Classes
    GenUtils
  117. lazy val typer: Nothing

    Definition Classes
    Reifier → Reifier → Utils
  118. val universe: scala.tools.nsc.Global.Tree

    Definition Classes
    Reifier → Reifier
  119. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from scala.reflect.reify.Reifier

Inherited from Utils

Inherited from StdAttachments

Inherited from SymbolTables

Inherited from Extractors

Inherited from NodePrinters

Inherited from Errors

Inherited from Phases

Inherited from Reify

Inherited from GenUtils

Inherited from GenPositions

Inherited from GenAnnotationInfos

Inherited from GenTrees

Inherited from GenNames

Inherited from GenTypes

Inherited from GenSymbols

Inherited from Metalevels

Inherited from Calculate

Inherited from Reshape

Inherited from States

Inherited from AnyRef

Inherited from Any

Ungrouped