final case class Definition[+A] extends IsLookupable with SealedHierarchy[A] with Product with Serializable
User-facing Definition type.
Represents a definition of an object of type A
which are marked as @instantiable
Can be created using Definition.apply method.
These definitions are then used to create multiple Instances.
- Source
- Definition.scala
- Alphabetic
- By Inheritance
- Definition
- Serializable
- Product
- Equals
- SealedHierarchy
- Hierarchy
- IsLookupable
- AnyRef
- Any
- by DefinitionBaseModuleExtensions
- by HierarchyBaseModuleExtensions
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from Definition[A] toany2stringadd[Definition[A]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (Definition[A], B)
- Implicit
- This member is added by an implicit conversion from Definition[A] toArrowAssoc[Definition[A]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- 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 instance.
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
- Definition Classes
- Definition → Hierarchy
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (Definition[A]) => Boolean, msg: => Any): Definition[A]
- Implicit
- This member is added by an implicit conversion from Definition[A] toEnsuring[Definition[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (Definition[A]) => Boolean): Definition[A]
- Implicit
- This member is added by an implicit conversion from Definition[A] toEnsuring[Definition[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): Definition[A]
- Implicit
- This member is added by an implicit conversion from Definition[A] toEnsuring[Definition[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): Definition[A]
- Implicit
- This member is added by an implicit conversion from Definition[A] toEnsuring[Definition[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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)
- Definition Classes
- Hierarchy
- 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()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toDefinition: Definition[A]
- returns
Return the underlying Definition[A] of this Hierarchy[A]
- Definition Classes
- Definition → Hierarchy
- def toInstance: Instance[A]
- returns
Convert this Hierarchy[A] as a top-level Instance[A]
- Definition Classes
- Definition → Hierarchy
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()
Shadowed Implicit Value Members
- def toAbsoluteTarget: IsModule
If this is an instance of a Module, returns the toAbsoluteTarget of this instance
If this is an instance of a Module, returns the toAbsoluteTarget of this instance
- returns
absoluteTarget of this instance
- Implicit
- This member is added by an implicit conversion from Definition[A] toDefinitionBaseModuleExtensions[A] performed by method DefinitionBaseModuleExtensions in chisel3.experimental.hierarchy.core.Definition.This conversion will take place only if A is a subclass of BaseModule (A <: BaseModule).
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(definition: DefinitionBaseModuleExtensions[A]).toAbsoluteTarget
- Definition Classes
- DefinitionBaseModuleExtensions
- 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 Definition[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).
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(definition: HierarchyBaseModuleExtensions[A]).toAbsoluteTarget
- Definition Classes
- HierarchyBaseModuleExtensions
- def toTarget: ModuleTarget
If this is an instance of a Module, returns the toTarget of this instance
If this is an instance of a Module, returns the toTarget of this instance
- returns
target of this instance
- Implicit
- This member is added by an implicit conversion from Definition[A] toDefinitionBaseModuleExtensions[A] performed by method DefinitionBaseModuleExtensions in chisel3.experimental.hierarchy.core.Definition.This conversion will take place only if A is a subclass of BaseModule (A <: BaseModule).
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(definition: DefinitionBaseModuleExtensions[A]).toTarget
- Definition Classes
- DefinitionBaseModuleExtensions
- 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 Definition[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).
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(definition: HierarchyBaseModuleExtensions[A]).toTarget
- Definition Classes
- HierarchyBaseModuleExtensions
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from Definition[A] toStringFormat[Definition[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 ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (Definition[A], B)
- Implicit
- This member is added by an implicit conversion from Definition[A] toArrowAssoc[Definition[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.