Hierarchy

chisel3.experimental.hierarchy.core.Hierarchy
See theHierarchy companion object
sealed trait Hierarchy[+A] extends HierarchyIsA[A]

Super-trait for Instance and Definition

Enables writing functions which are Instance/Definition agnostic

Attributes

Companion
object
Source
Hierarchy.scala
Graph
Supertypes
trait HierarchyIsA[A]
trait HierarchyProto[A]
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def _lookup[B, C](that: A => B)(implicit lookup: Lookupable[B], macroGenerated: MacroGenerated): lookup.C

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

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.

Value parameters

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

that

a user-specified lookup function

Attributes

Source
Hierarchy.scala

Attributes

Returns

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

Source
Hierarchy.scala

Attributes

Returns

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

Source
Hierarchy.scala

Concrete methods

Implicitly added by HierarchyBaseModuleExtensions

Returns the toAbsoluteTarget of this hierarchy

Returns the toAbsoluteTarget of this hierarchy

Attributes

Returns

absoluteTarget of this Hierarchy

Source
Hierarchy.scala
def toRelativeTarget(root: Option[BaseModule]): IsModule
Implicitly added by HierarchyBaseModuleExtensions

Returns the toRelativeTarget of this hierarchy

Returns the toRelativeTarget of this hierarchy

Attributes

Returns

relativeTarget of this Hierarchy

Source
Hierarchy.scala
Implicitly added by HierarchyBaseModuleExtensions

Returns the toRelativeTarget of this hierarchy

Returns the toRelativeTarget of this hierarchy

Attributes

Returns

relativeTarget of this Hierarchy

Source
Hierarchy.scala
Implicitly added by HierarchyBaseModuleExtensions

Returns the toTarget of this hierarchy

Returns the toTarget of this hierarchy

Attributes

Returns

target of this hierarchy

Source
Hierarchy.scala

Inherited methods

def isA[B]: Boolean

Determine whether underlying proto is of type provided.

Determine whether underlying proto is of type provided.

Attributes

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]

Inherited from:
HierarchyIsA
Source
IsA.scala