sealed trait Hierarchy[+A] extends AnyRef
Super-trait for Instance and Definition
Enables writing functions which are Instance/Definition agnostic
- Source
- Hierarchy.scala
- Alphabetic
- By Inheritance
- Hierarchy
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- 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
- abstract def toDefinition: Definition[A]
- returns
Return the underlying Definition[A] of this Hierarchy[A]
- abstract def toInstance: Instance[A]
- returns
Convert this Hierarchy[A] as a top-level Instance[A]
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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]
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
This is the documentation for Chisel.
Package structure
The chisel3 package presents the public API of Chisel. It contains the concrete core types
UInt
,SInt
,Bool
,FixedPoint
,Clock
, andReg
, the abstract typesBits
,Aggregate
, andData
, and the aggregate typesBundle
andVec
.The Chisel package is a compatibility layer that attempts to provide chisel2 compatibility in chisel3.
Utility objects and methods are found in the
util
package.The
testers
package defines the basic interface for chisel testers.