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.
- Alphabetic
- By Inheritance
- Definition
- Serializable
- Serializable
- Product
- Equals
- SealedHierarchy
- Hierarchy
- IsLookupable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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
-
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( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
getClass(): Class[_]
- 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)
- 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() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )