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
    @HotSpotIntrinsicCandidate() @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. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  11. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  12. final def isInstanceOf[T0]: Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  15. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  16. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

    Permalink
  19. final def wait(arg0: Long, arg1: Int): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(): Unit

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

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped