Packages

sealed trait Hierarchy[+A] extends AnyRef

Super-trait for Instance and Definition

Enables writing functions which are Instance/Definition agnostic

Source
Hierarchy.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Hierarchy
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def _lookup[B, C](that: (A) ⇒ B)(implicit lookup: Lookupable[B], macroGenerated: MacroGenerated): C

    Used by Chisel's internal macros.

    Used by Chisel's internal macros. DO NOT USE in your normal Chisel code!!! Instead, mark the field you are accessing with @public

    Given a selector function (that) which selects a member from the original, return the corresponding member from the hierarchy.

    Our @instantiable and @public macros generate the calls to this apply method

    By calling this function, we summon the proper Lookupable typeclass from our implicit scope.

    that

    a user-specified lookup function

    lookup

    typeclass which contains the correct lookup function, based on the types of A and B

    macroGenerated

    a value created in the macro, to make it harder for users to use this API

  2. abstract def toDefinition: Definition[A]

    returns

    Return the underlying Definition[A] of this Hierarchy[A]

  3. abstract def toInstance: Instance[A]

    returns

    Convert this Hierarchy[A] as a top-level Instance[A]

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 asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def isA[B](implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[B]): Boolean

    Determine whether underlying proto is of type provided.

    Determine whether underlying proto is of type provided.

    returns

    Whether underlying proto is of provided type (with caveats outlined above)

    Note

    IMPORTANT: this function requires summoning a TypeTag[B], which will fail if B is an inner class.

    ,

    IMPORTANT: this function IGNORES type parameters, akin to normal type erasure.

    ,

    IMPORTANT: this function relies on Java reflection for underlying proto, but Scala reflection for provided type E.g. isA[List[Int]] will return true, even if underlying proto is of type List[String]

  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped