abstract class MacroUtils extends AnyRef

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MacroUtils
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new MacroUtils()

Type Members

  1. case class GotTree(t: scala.reflect.macros.Universe.Tree) extends TypeOrTree with Product with Serializable
  2. case class GotType(t: scala.reflect.macros.Universe.Type) extends TypeOrTree with Product with Serializable
  3. class Init extends AnyRef
  4. final type NameAndType = (scala.reflect.macros.Universe.TermName, scala.reflect.macros.Universe.Type)
  5. sealed trait TypeOrTree extends AnyRef

Abstract Value Members

  1. abstract val c: Context

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def DirectOnly: MacroUtils.DirectOnly
    Annotations
    @inline()
  5. final def Everything: MacroUtils.Everything
    Annotations
    @inline()
  6. final def LeavesOnly: MacroUtils.LeavesOnly
    Annotations
    @inline()
  7. def LitNil: scala.reflect.macros.Universe.Ident
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. implicit def autoTypeOrTree1(t: scala.reflect.macros.Universe.Type): TypeOrTree
  10. implicit def autoTypeOrTree2(t: scala.reflect.macros.Universe.Tree): TypeOrTree
  11. final def caseClassType[T](implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.Universe.Type
  12. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  13. final def concreteWeakTypeOf[T](implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.Universe.Type
  14. final def crawlADT[A](tpe: scala.reflect.macros.Universe.Type, attempt: (scala.reflect.macros.Universe.Type) => Option[A], giveUp: (scala.reflect.macros.Universe.Type) => IterableOnce[A]): Vector[A]
  15. final def determineAdtType(T: scala.reflect.macros.Universe.Type, t: scala.reflect.macros.Universe.ClassSymbol): scala.reflect.macros.Universe.Type

    findConcreteTypes will spit out type constructors.

    findConcreteTypes will spit out type constructors. This will turn them into types.

    T

    The ADT base trait.

    t

    The subclass.

  16. def deterministicOrderC(ts: IterableOnce[scala.reflect.macros.Universe.ClassSymbol]): Vector[scala.reflect.macros.Universe.ClassSymbol]
  17. def deterministicOrderT(ts: IterableOnce[scala.reflect.macros.Universe.Type]): Vector[scala.reflect.macros.Universe.Type]
  18. final def ensureCaseClass(t: scala.reflect.macros.Universe.Type)(implicit filename: FileName, line: Line): Unit
  19. final def ensureConcrete(t: scala.reflect.macros.Universe.Type)(implicit filename: FileName, line: Line): Unit
  20. final def ensureValidAdtBase(tpe: scala.reflect.macros.Universe.Type)(implicit filename: FileName, line: Line): scala.reflect.macros.Universe.ClassSymbol
  21. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  23. final def excludeNamedParams(exclusions: Seq[String], data: List[(scala.reflect.macros.Universe.TermName, scala.reflect.macros.Universe.Type)]): List[(scala.reflect.macros.Universe.TermName, scala.reflect.macros.Universe.Type)]
  24. final def fail(msg: String)(implicit filename: FileName, line: Line): Nothing
  25. final def findConcreteAdtTypes(tpe: scala.reflect.macros.Universe.Type, f: FindSubClasses): Vector[scala.reflect.macros.Universe.Type]
  26. final def findConcreteAdtTypesNE(tpe: scala.reflect.macros.Universe.Type, f: FindSubClasses)(implicit filename: FileName, line: Line): Vector[scala.reflect.macros.Universe.Type]
  27. final def findConcreteTypes(tpe: scala.reflect.macros.Universe.Type, f: FindSubClasses): Vector[scala.reflect.macros.Universe.ClassSymbol]

    Constraints: - Type must be sealed.

    Constraints: - Type must be sealed. - Type must be abstract or a trait.

  28. final def findConcreteTypesNE(tpe: scala.reflect.macros.Universe.Type, f: FindSubClasses)(implicit filename: FileName, line: Line): Vector[scala.reflect.macros.Universe.ClassSymbol]
  29. final def fixAdtTypeForCaseDef(t: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Tree

    Sometimes using a type directly in a clause like "case _: $t => ...", causes spurious exhaustiveness warnings.

    Sometimes using a type directly in a clause like "case _: $t => ...", causes spurious exhaustiveness warnings. I definitively know why, problably something about compiler-phase order. This fixes it consistently so far.

  30. final def flattenBlocks(trees: List[scala.reflect.macros.Universe.Tree]): Vector[scala.reflect.macros.Universe.Tree]
  31. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  32. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  33. def identityExpr[T](implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.blackbox.Context.Expr[(T) => T]
  34. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  35. implicit val liftInit: scala.reflect.macros.Universe.Liftable[Init]
  36. final def lowerCaseHead(s: String): String
  37. final def modStringHead(s: String, f: (Char) => Char): String
  38. final def nameAndType(T: scala.reflect.macros.Universe.Type, s: scala.reflect.macros.Universe.Symbol): NameAndType
  39. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  40. final def needInferImplicit(t: scala.reflect.macros.Universe.Type)(implicit filename: FileName, line: Line): scala.reflect.macros.Universe.Tree
  41. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  42. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  43. final def primaryConstructorParams(t: scala.reflect.macros.Universe.Type)(implicit filename: FileName, line: Line): List[scala.reflect.macros.Universe.Symbol]
  44. final def primaryConstructorParamsExcluding(t: scala.reflect.macros.Universe.Type, exclusions: Seq[scala.reflect.macros.blackbox.Context.Expr[String]]): List[(scala.reflect.macros.Universe.TermName, scala.reflect.macros.Universe.Type)]
  45. final def primaryConstructorParams_require1(t: scala.reflect.macros.Universe.Type)(implicit filename: FileName, line: Line): scala.reflect.macros.Universe.Symbol
  46. final def primaryConstructorParams_require2(t: scala.reflect.macros.Universe.Type)(implicit filename: FileName, line: Line): (scala.reflect.macros.Universe.Symbol, scala.reflect.macros.Universe.Symbol)
  47. def propagateTypeParams(root0: scala.reflect.macros.Universe.Type, child: scala.reflect.macros.Universe.ClassSymbol): scala.reflect.macros.Universe.Type

    propagateTypeParams(Either[Int, Long], Right) -> Right[Long]

  48. final def readMacroArg_boolean(e: scala.reflect.macros.blackbox.Context.Expr[Boolean]): Boolean
  49. final def readMacroArg_string(e: scala.reflect.macros.blackbox.Context.Expr[String]): String
  50. final def readMacroArg_stringString(e: scala.reflect.macros.blackbox.Context.Expr[(String, String)]): (String, scala.reflect.macros.Universe.Literal)
  51. final def readMacroArg_tToLitFn[T, V](e: scala.reflect.macros.blackbox.Context.Expr[(T) => V])(implicit arg0: Manifest[V]): List[(Either[scala.reflect.macros.Universe.Select, scala.reflect.macros.Universe.Type], scala.reflect.macros.Universe.Literal)]
  52. final def readMacroArg_tToTree[T, V](e: scala.reflect.macros.blackbox.Context.Expr[(T) => V]): List[(Either[scala.reflect.macros.Universe.Select, scala.reflect.macros.Universe.Type], scala.reflect.macros.Universe.Tree)]
  53. final def replaceMacroMethod(newMethod: String): scala.reflect.macros.Universe.Select
  54. final def selectFQN(s: String, lastIsType: Boolean): scala.reflect.macros.Universe.RefTree
  55. final def sep: String
  56. def showUnorderedTypes(ts: Set[scala.reflect.macros.Universe.Type]): String
  57. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  58. final def tcApplyFn(t: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Select

    Create code for a function that will call .apply() on a given type's type companion object.

  59. final def toSelectFQN(t: scala.reflect.macros.Universe.TypeSymbol): scala.reflect.macros.Universe.RefTree
  60. def toString(): String
    Definition Classes
    AnyRef → Any
  61. final def tryInferImplicit(t: scala.reflect.macros.Universe.Type): Option[scala.reflect.macros.Universe.Tree]
  62. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  63. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  64. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  65. final def warn(msg: String): Unit

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped