Class/Object

org.typelevel.claimant

System

Related Docs: object System | package claimant

Permalink

abstract class System extends AnyRef

System encapsulates the strategies used by Claimant.

Tinkers describe how to decompose Boolean expressions, and scribes describe how to label _any_ expression. Together we use them to build labels for labeled Prop values.

Self Type
System
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. System
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new System()

    Permalink

Abstract Value Members

  1. abstract def render(c: Context)(t: scala.reflect.macros.blackbox.Context.Tree): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  2. abstract def scribes: List[Scribe]

    Permalink
  3. abstract def tinkers: List[Tinker]

    Permalink

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. def annotate(c: Context)(input: scala.reflect.macros.blackbox.Context.Tree): scala.reflect.macros.blackbox.Context.Tree

    Permalink

    Annotate any Tree with a description of its expression.

    Annotate any Tree with a description of its expression.

    In many cases this will just stringify the resulting value of an expression. But in other cases it will display parts of the expression as well as its result.

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def deconstruct(c: Context)(e0: scala.reflect.macros.blackbox.Context.Expr[Boolean]): scala.reflect.macros.blackbox.Context.Expr[Claim]

    Permalink

    System.deconstruct is where the magic happens.

    System.deconstruct is where the magic happens.

    This is the high-level logic of how Claimant works. Basically, we're given a top-level Boolean expression. First we try to break that expression into sub-expressions. Each Boolean sub-expression which can't be split into smaller ones is represented by a simple claim (Claim.Simple value). For each of these we generate a label.

    Then we recombine these claims using the same operations that connected their sub-expressions (e.g. AND, OR, etc.), producing a single top-level Claim.

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  18. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  19. final def tostr(c: Context)(t: scala.reflect.macros.blackbox.Context.Tree): scala.reflect.macros.blackbox.Context.Tree

    Permalink
  20. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped