Class

japgolly.univeq.macros

UnivEqMacros

Related Doc: package macros

Permalink

final class UnivEqMacros extends MacroUtils

Linear Supertypes
MacroUtils, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. UnivEqMacros
  2. MacroUtils
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new UnivEqMacros(c: Context)

    Permalink

Type Members

  1. case class GotTree(t: scala.reflect.macros.Universe.Tree) extends TypeOrTree with Product with Serializable

    Permalink
    Definition Classes
    MacroUtils
  2. case class GotType(t: scala.reflect.macros.Universe.Type) extends TypeOrTree with Product with Serializable

    Permalink
    Definition Classes
    MacroUtils
  3. class Init extends AnyRef

    Permalink
    Definition Classes
    MacroUtils
  4. final type NameAndType = (scala.reflect.macros.Universe.TermName, scala.reflect.macros.Universe.Type)

    Permalink
    Definition Classes
    MacroUtils
  5. sealed trait TypeOrTree extends AnyRef

    Permalink
    Definition Classes
    MacroUtils

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 DirectOnly: MacroUtils.DirectOnly.type

    Permalink
    Definition Classes
    MacroUtils
    Annotations
    @inline()
  5. final def Everything: MacroUtils.Everything.type

    Permalink
    Definition Classes
    MacroUtils
    Annotations
    @inline()
  6. final def LeavesOnly: MacroUtils.LeavesOnly.type

    Permalink
    Definition Classes
    MacroUtils
    Annotations
    @inline()
  7. def LitNil: scala.reflect.macros.Universe.Ident

    Permalink
    Definition Classes
    MacroUtils
  8. val UnivEq: scala.reflect.macros.blackbox.Context.Type

    Permalink
  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. implicit def autoTypeOrTree1(t: scala.reflect.macros.Universe.Type): TypeOrTree

    Permalink
    Definition Classes
    MacroUtils
  11. implicit def autoTypeOrTree2(t: scala.reflect.macros.Universe.Tree): TypeOrTree

    Permalink
    Definition Classes
    MacroUtils
  12. val c: Context

    Permalink
    Definition Classes
    UnivEqMacrosMacroUtils
  13. final def caseClassType[T](implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  14. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. final def concreteWeakTypeOf[T](implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.Universe.Type

    Permalink
    Definition Classes
    MacroUtils
  16. final def crawlADT[A](tpe: scala.reflect.macros.Universe.Type, attempt: (scala.reflect.macros.Universe.ClassSymbol) ⇒ Option[A], giveUp: (scala.reflect.macros.Universe.ClassSymbol) ⇒ TraversableOnce[A]): Vector[A]

    Permalink
    Definition Classes
    MacroUtils
  17. def derive[T <: AnyRef](debug: Boolean, auto: Boolean)(implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.blackbox.Context.Expr[UnivEq[T]]

    Permalink
  18. def deriveAutoDebug[T <: AnyRef](implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.blackbox.Context.Expr[UnivEq[T]]

    Permalink
  19. def deriveAutoQuiet[T <: AnyRef](implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.blackbox.Context.Expr[UnivEq[T]]

    Permalink
  20. def deriveDebug[T <: AnyRef](implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.blackbox.Context.Expr[UnivEq[T]]

    Permalink
  21. def deriveQuiet[T <: AnyRef](implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.blackbox.Context.Expr[UnivEq[T]]

    Permalink
  22. final def determineAdtType(T: scala.reflect.macros.Universe.Type, t: scala.reflect.macros.Universe.ClassSymbol): scala.reflect.macros.Universe.Type

    Permalink

    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.

    Definition Classes
    MacroUtils
  23. def deterministicOrderC(ts: TraversableOnce[scala.reflect.macros.Universe.ClassSymbol]): Vector[scala.reflect.macros.Universe.ClassSymbol]

    Permalink
    Definition Classes
    MacroUtils
  24. def deterministicOrderT(ts: TraversableOnce[scala.reflect.macros.Universe.Type]): Vector[scala.reflect.macros.Universe.Type]

    Permalink
    Definition Classes
    MacroUtils
  25. final def ensureCaseClass(t: scala.reflect.macros.Universe.Type): Unit

    Permalink
    Definition Classes
    MacroUtils
  26. final def ensureConcrete(t: scala.reflect.macros.Universe.Type): Unit

    Permalink
    Definition Classes
    MacroUtils
  27. def ensureUnivEq(T: scala.reflect.macros.Universe.Type, debug: Boolean, auto: Boolean, allow: (scala.reflect.macros.Universe.Type) ⇒ Boolean): Unit

    Permalink
  28. final def ensureValidAdtBase(tpe: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.ClassSymbol

    Permalink
    Definition Classes
    MacroUtils
  29. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  31. 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)]

    Permalink
    Definition Classes
    MacroUtils
  32. final def fail(msg: String): Nothing

    Permalink
    Definition Classes
    MacroUtils
  33. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  34. final def findConcreteAdtTypes(tpe: scala.reflect.macros.Universe.Type, f: FindSubClasses): Vector[scala.reflect.macros.Universe.Type]

    Permalink
    Definition Classes
    MacroUtils
  35. final def findConcreteAdtTypesNE(tpe: scala.reflect.macros.Universe.Type, f: FindSubClasses): Vector[scala.reflect.macros.Universe.Type]

    Permalink
    Definition Classes
    MacroUtils
  36. final def findConcreteTypes(tpe: scala.reflect.macros.Universe.Type, f: FindSubClasses): Vector[scala.reflect.macros.Universe.ClassSymbol]

    Permalink

    Constraints: - Type must be sealed.

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

    Definition Classes
    MacroUtils
  37. final def findConcreteTypesNE(tpe: scala.reflect.macros.Universe.Type, f: FindSubClasses): Vector[scala.reflect.macros.Universe.ClassSymbol]

    Permalink
    Definition Classes
    MacroUtils
  38. def findUnivEqAmongstImplicitArgs: Set[scala.reflect.macros.Universe.Type]

    Permalink
  39. final def fixAdtTypeForCaseDef(t: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Tree

    Permalink

    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.

    Definition Classes
    MacroUtils
  40. final def flattenBlocks(trees: List[scala.reflect.macros.Universe.Tree]): Vector[scala.reflect.macros.Universe.Tree]

    Permalink
    Definition Classes
    MacroUtils
  41. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  42. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  43. def identityExpr[T](implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[T]): scala.reflect.macros.blackbox.Context.Expr[(T) ⇒ T]

    Permalink
    Definition Classes
    MacroUtils
  44. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  45. implicit val liftInit: scala.reflect.macros.Universe.Liftable[Init]

    Permalink
    Definition Classes
    MacroUtils
  46. final def lowerCaseHead(s: String): String

    Permalink
    Definition Classes
    MacroUtils
  47. final def modStringHead(s: String, f: (Char) ⇒ Char): String

    Permalink
    Definition Classes
    MacroUtils
  48. final def nameAndType(T: scala.reflect.macros.Universe.Type, s: scala.reflect.macros.Universe.Symbol): NameAndType

    Permalink
    Definition Classes
    MacroUtils
  49. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  50. final def needInferImplicit(t: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Tree

    Permalink
    Definition Classes
    MacroUtils
  51. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  53. final def primaryConstructorParams(t: scala.reflect.macros.Universe.Type): List[scala.reflect.macros.Universe.Symbol]

    Permalink
    Definition Classes
    MacroUtils
  54. final def primaryConstructorParamsExcluding(t: scala.reflect.macros.Universe.Type, exclusions: Seq[scala.reflect.macros.blackbox.Context.Expr[Symbol]]): List[(scala.reflect.macros.Universe.TermName, scala.reflect.macros.Universe.Type)]

    Permalink
    Definition Classes
    MacroUtils
  55. final def primaryConstructorParams_require1(t: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Symbol

    Permalink
    Definition Classes
    MacroUtils
  56. final def primaryConstructorParams_require2(t: scala.reflect.macros.Universe.Type): (scala.reflect.macros.Universe.Symbol, scala.reflect.macros.Universe.Symbol)

    Permalink
    Definition Classes
    MacroUtils
  57. def propagateTypeParams(root: scala.reflect.macros.Universe.Type, child: scala.reflect.macros.Universe.ClassSymbol): scala.reflect.macros.Universe.Type

    Permalink

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

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

    Definition Classes
    MacroUtils
  58. final def readMacroArg_boolean(e: scala.reflect.macros.blackbox.Context.Expr[Boolean]): Boolean

    Permalink
    Definition Classes
    MacroUtils
  59. final def readMacroArg_string(e: scala.reflect.macros.blackbox.Context.Expr[String]): String

    Permalink
    Definition Classes
    MacroUtils
  60. final def readMacroArg_stringString(e: scala.reflect.macros.blackbox.Context.Expr[(String, String)]): (String, scala.reflect.macros.Universe.Literal)

    Permalink
    Definition Classes
    MacroUtils
  61. final def readMacroArg_symbol(e: scala.reflect.macros.blackbox.Context.Expr[Symbol]): String

    Permalink
    Definition Classes
    MacroUtils
  62. final def readMacroArg_symbolBoolean(e: scala.reflect.macros.blackbox.Context.Expr[(Symbol, Boolean)]): (String, Boolean)

    Permalink
    Definition Classes
    MacroUtils
  63. final def readMacroArg_symbolString(e: scala.reflect.macros.blackbox.Context.Expr[(Symbol, String)]): (String, scala.reflect.macros.Universe.Literal)

    Permalink
    Definition Classes
    MacroUtils
  64. 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)]

    Permalink
    Definition Classes
    MacroUtils
  65. 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)]

    Permalink
    Definition Classes
    MacroUtils
  66. final def replaceMacroMethod(newMethod: String): scala.reflect.macros.Universe.Select

    Permalink
    Definition Classes
    MacroUtils
  67. final def selectFQN(s: String, lastIsType: Boolean): scala.reflect.macros.Universe.RefTree

    Permalink
    Definition Classes
    MacroUtils
  68. final def sep: String

    Permalink
    Definition Classes
    MacroUtils
  69. def showUnorderedTypes(ts: Set[scala.reflect.macros.Universe.Type]): String

    Permalink
    Definition Classes
    MacroUtils
  70. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  71. final def tcApplyFn(t: scala.reflect.macros.Universe.Type): scala.reflect.macros.Universe.Select

    Permalink

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

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

    Definition Classes
    MacroUtils
  72. final def toSelectFQN(t: scala.reflect.macros.Universe.TypeSymbol): scala.reflect.macros.Universe.RefTree

    Permalink
    Definition Classes
    MacroUtils
  73. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  74. final def tryInferImplicit(t: scala.reflect.macros.Universe.Type): Option[scala.reflect.macros.Universe.Tree]

    Permalink
    Definition Classes
    MacroUtils
  75. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  78. final def warn(msg: String): Unit

    Permalink
    Definition Classes
    MacroUtils

Inherited from MacroUtils

Inherited from AnyRef

Inherited from Any

Ungrouped