s_mach.codetools.impl

ReflectPrintMacroBuilderImpl

Related Doc: package impl

class ReflectPrintMacroBuilderImpl extends ReflectPrintMacroBuilder with BlackboxHelper

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ReflectPrintMacroBuilderImpl
  2. BlackboxHelper
  3. BlackboxHelperImpl
  4. ProductTypeHelper
  5. ReflectPrintMacroBuilder
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ReflectPrintMacroBuilderImpl(c: Context, showDebug: Boolean)

Type Members

  1. case class ProductType(_type: scala.reflect.macros.blackbox.Context.Type, oomField: List[Field], applyMethod: scala.reflect.macros.Universe.MethodSymbol, unapplyMethod: scala.reflect.macros.Universe.MethodSymbol, allFieldsAreMembers: Boolean) extends Product with Serializable

    A case class that represents the fields for a product type.

    A case class that represents the fields for a product type.

    _type

    the product type

    oomField

    the fields of the product type (computed from the arguments in the apply method)

    applyMethod

    the matched apply method

    unapplyMethod

    the matched unapply method

    allFieldsAreMembers

    TRUE if all fields correspond to a public no arg member method with the same name and type in the product type (e.g. this is true for all case classes and tuple types)

    Definition Classes
    ProductTypeHelper

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

    Definition Classes
    BlackboxHelperImpl
  5. object ProductType extends Serializable

    Definition Classes
    ProductTypeHelper
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def build[A](productType: ProductType)(implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[A]): Result[scala.reflect.macros.blackbox.Context.Expr[ReflectPrint[A]]]

  8. def build[A]()(implicit arg0: scala.reflect.macros.blackbox.Context.WeakTypeTag[A]): scala.reflect.macros.blackbox.Context.Expr[ReflectPrint[A]]

  9. val c: Context

  10. def calcProductType(aType: scala.reflect.macros.blackbox.Context.Type): Result[ProductType]

    Try to compute the product type fields for a type by finding the first unapply/apply method pair in the type's companion object with matching type signatures.

    Try to compute the product type fields for a type by finding the first unapply/apply method pair in the type's companion object with matching type signatures. If no product type can be computed, Failure is returned with an error message.

    aType

    type whose companion object should be searched for apply and unapply methods

    returns

    if successful, Some(product type) otherwise None

    Definition Classes
    BlackboxHelperProductTypeHelper
    Annotations
    @inline()
  11. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. final def eq(arg0: AnyRef): Boolean

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

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

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

    Definition Classes
    AnyRef → Any
  16. def getCompanionMethod(aType: scala.reflect.macros.blackbox.Context.Type, methodName: String): Result[scala.reflect.macros.Universe.MethodSymbol]

    returns

    if the method exists, the method symbol otherwise an error message

    Definition Classes
    BlackboxHelper
    Annotations
    @inline()
  17. def getOrAbort[A, X](r: Result[A]): A

    returns

    If Result is success the value of the Result. If Result is failure, c.abort is invoked ending the macro. All issues are logged to the Context

    Definition Classes
    BlackboxHelper
    Annotations
    @inline()
  18. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  19. def inferImplicit(aType: scala.reflect.macros.blackbox.Context.Type): Result[scala.reflect.macros.blackbox.Context.Tree]

    returns

    if inferred, a Tree representing the implicit otherwise an error message

    Definition Classes
    BlackboxHelper
    Annotations
    @inline()
  20. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  21. def isTupleType(aType: scala.reflect.macros.blackbox.Context.Type): Boolean

    returns

    TRUE if type is a tuple type (e.g. Tuple2[T1,T2], etc)

    Definition Classes
    BlackboxHelper
    Annotations
    @inline()
  22. def logIssues(zomIssue: List[Issue]): Unit

    Log all issues to the Context

    Log all issues to the Context

    Definition Classes
    BlackboxHelper
    Annotations
    @inline()
  23. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  24. final def notify(): Unit

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

    Definition Classes
    AnyRef
  26. val showDebug: Boolean

    Override to show debug messages

    Override to show debug messages

    Definition Classes
    ReflectPrintMacroBuilderImplProductTypeHelper
  27. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  28. def toString(): String

    Definition Classes
    AnyRef → Any
  29. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from BlackboxHelper

Inherited from BlackboxHelperImpl

Inherited from ProductTypeHelper

Inherited from ReflectPrintMacroBuilder

Inherited from AnyRef

Inherited from Any

Ungrouped