chisel6.4.0 < Back


# Packages

-  package root
  Definition Classes
    root
-  package chisel3

  This package contains the main chisel3 API.

  This package contains the main chisel3 API.

  Definition Classes
    root
-  package experimental

  Package for experimental features, which may have their API changed, be removed, etc.

  Package for experimental features, which may have their API changed, be removed, etc.

  Because its contents won't necessarily have the same level of stability and support as non-experimental, you must explicitly import this package to use its contents.

  Definition Classes
    chisel3
-  package hierarchy
  Definition Classes
    experimental
-  package core
  Definition Classes
    hierarchy
- Clone
- Definition
- Hierarchy
- ImportDefinitionAnnotation
- Instance
- IsClone
- IsInstantiable
- IsLookupable
- Lookupable
- Proto
- Underlying

t

chisel3.experimental.hierarchy.core

# Hierarchy

###
Companion object Hierarchy

#### 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
AnyRef, Any
Type Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. Hierarchy
2. AnyRef
3. Any

Implicitly

1. by HierarchyBaseModuleExtensions
2. by any2stringadd
3. by StringFormat
4. by Ensuring
5. by ArrowAssoc

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### 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.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from Hierarchy[A] toany2stringadd[Hierarchy[A]] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd
4.  def ->[B](y: B): (Hierarchy[A], B)
   Implicit
     This member is added by an implicit conversion from Hierarchy[A] toArrowAssoc[Hierarchy[A]] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
5.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
6.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
7.  def clone(): AnyRef
   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws(classOf[java.lang.CloneNotSupportedException]) @native()
8.  def ensuring(cond: (Hierarchy[A]) => Boolean, msg: => Any): Hierarchy[A]
   Implicit
     This member is added by an implicit conversion from Hierarchy[A] toEnsuring[Hierarchy[A]] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring
9.  def ensuring(cond: (Hierarchy[A]) => Boolean): Hierarchy[A]
   Implicit
     This member is added by an implicit conversion from Hierarchy[A] toEnsuring[Hierarchy[A]] performed by method Ensuring in scala.Predef.
   Definition Classes
     Ensuring
10.  def ensuring(cond: Boolean, msg: => Any): Hierarchy[A]
    Implicit
      This member is added by an implicit conversion from Hierarchy[A] toEnsuring[Hierarchy[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
11.  def ensuring(cond: Boolean): Hierarchy[A]
    Implicit
      This member is added by an implicit conversion from Hierarchy[A] toEnsuring[Hierarchy[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
12.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
13.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
14.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
15.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
16.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
17.  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]

18.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
19.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
20.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
21.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
22.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
23.  def toAbsoluteTarget: IsModule

    Returns the toAbsoluteTarget of this hierarchy

    Returns the toAbsoluteTarget of this hierarchy

    returns

      absoluteTarget of this Hierarchy

    Implicit
      This member is added by an implicit conversion from Hierarchy[A] toHierarchyBaseModuleExtensions[A] performed by method HierarchyBaseModuleExtensions in chisel3.experimental.hierarchy.core.Hierarchy.This conversion will take place only if A is a subclass of BaseModule (A <: BaseModule).
    Definition Classes
      HierarchyBaseModuleExtensions
24.  def toString(): String
    Definition Classes
      AnyRef → Any
25.  def toTarget: IsModule

    Returns the toTarget of this hierarchy

    Returns the toTarget of this hierarchy

    returns

      target of this hierarchy

    Implicit
      This member is added by an implicit conversion from Hierarchy[A] toHierarchyBaseModuleExtensions[A] performed by method HierarchyBaseModuleExtensions in chisel3.experimental.hierarchy.core.Hierarchy.This conversion will take place only if A is a subclass of BaseModule (A <: BaseModule).
    Definition Classes
      HierarchyBaseModuleExtensions
26.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
27.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
28.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Deprecated Value Members

1.  def formatted(fmtstr: String): String
   Implicit
     This member is added by an implicit conversion from Hierarchy[A] toStringFormat[Hierarchy[A]] performed by method StringFormat in scala.Predef.
   Definition Classes
     StringFormat
   Annotations
     @deprecated @inline()
   Deprecated

     (Since version 2.12.16) Use `formatString.format(value)` instead of `value.formatted(formatString)`, or use the `f""` string interpolator. In Java 15 and later, `formatted` resolves to the new method in String which has reversed parameters.

2.  def →[B](y: B): (Hierarchy[A], B)
   Implicit
     This member is added by an implicit conversion from Hierarchy[A] toArrowAssoc[Hierarchy[A]] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @deprecated
   Deprecated

     (Since version 2.13.0) Use `->` instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion HierarchyBaseModuleExtensions fromHierarchy[A] to HierarchyBaseModuleExtensions[A]

### Inherited by implicit conversion any2stringadd fromHierarchy[A] to any2stringadd[Hierarchy[A]]

### Inherited by implicit conversion StringFormat fromHierarchy[A] to StringFormat[Hierarchy[A]]

### Inherited by implicit conversion Ensuring fromHierarchy[A] to Ensuring[Hierarchy[A]]

### Inherited by implicit conversion ArrowAssoc fromHierarchy[A] to ArrowAssoc[Hierarchy[A]]

### Ungrouped