Class

spinal.core

SpinalEnum

Related Doc: package core

Permalink

class SpinalEnum extends Nameable with ScalaLocated

Base class for creating enumeration

Example:
  1. object MyEnum extends SpinalEnum(binarySequential){
      val s1, s2, s3, s4 = newElement()
    }

    SpinalEnum contains a list of SpinalEnumElement that is the definition of an element. SpinalEnumCraft is the hardware representation of the the element.

See also

Enumeration Documentation

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SpinalEnum
  2. Nameable
  3. ContextUser
  4. ScalaLocated
  5. GlobalDataUser
  6. OwnableRef
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SpinalEnum(defaultEncoding: SpinalEnumEncoding = native)

    Permalink

    defaultEncoding

    encoding of the senum

Type Members

  1. type C = SpinalEnumCraft[SpinalEnum.this.type]

    Permalink
  2. type E = SpinalEnumElement[SpinalEnum.this.type]

    Permalink
  3. abstract type RefOwnerType

    Permalink
    Definition Classes
    OwnableRef

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply(encoding: SpinalEnumEncoding): SpinalEnumCraft[SpinalEnum.this.type]

    Permalink
  5. def apply(): SpinalEnumCraft[SpinalEnum.this.type]

    Permalink
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  8. def component: Component

    Permalink
    Definition Classes
    ContextUser
  9. def craft(enumEncoding: SpinalEnumEncoding): SpinalEnumCraft[SpinalEnum.this.type]

    Permalink
  10. def craft(): SpinalEnumCraft[SpinalEnum.this.type]

    Permalink
  11. var defaultEncoding: SpinalEnumEncoding

    Permalink

    encoding of the senum

  12. val elements: ArrayBuffer[SpinalEnumElement[SpinalEnum.this.type]]

    Permalink

    Contains all elements of the enumeration

  13. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  15. var forcedGlobalEnable: Option[Boolean]

    Permalink
  16. var forcedPrefixEnable: Option[Boolean]

    Permalink
  17. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit

    Permalink
    Definition Classes
    Nameable
  18. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  19. def getDisplayName(): String

    Permalink
    Definition Classes
    Nameable
  20. def getInstanceCounter: Int

    Permalink
    Definition Classes
    ContextUser
  21. def getMode: Byte

    Permalink
    Attributes
    protected
    Definition Classes
    Nameable
  22. def getName(default: String): String

    Permalink
    Definition Classes
    Nameable
  23. def getName(): String

    Permalink
    Definition Classes
    Nameable
  24. def getPartialName(): String

    Permalink
    Definition Classes
    Nameable
  25. def getRefOwnersChain(): List[Any]

    Permalink
    Definition Classes
    OwnableRef
  26. def getScalaLocationLong: String

    Permalink
    Definition Classes
    ScalaLocated
  27. def getScalaLocationShort: String

    Permalink
    Definition Classes
    ScalaLocated
  28. def getScalaTrace(): Throwable

    Permalink
    Definition Classes
    ScalaLocated
  29. def getSignature(): Any

    Permalink
  30. val globalData: GlobalData

    Permalink
    Definition Classes
    GlobalDataUser
  31. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  32. def isCompletelyUnnamed: Boolean

    Permalink
    Definition Classes
    Nameable
  33. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  34. def isNamed: Boolean

    Permalink
    Definition Classes
    Nameable
  35. def isPriorityApplicable(namePriority: Byte): Boolean

    Permalink
    Definition Classes
    Nameable
  36. def isUnnamed: Boolean

    Permalink
    Definition Classes
    Nameable
  37. var name: String

    Permalink
    Definition Classes
    Nameable
  38. var nameableRef: Nameable

    Permalink
    Attributes
    protected
    Definition Classes
    Nameable
  39. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  40. def newElement(name: String): SpinalEnumElement[SpinalEnum.this.type]

    Permalink
  41. def newElement(): SpinalEnumElement[SpinalEnum.this.type]

    Permalink

    Create a new Element

  42. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  43. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  44. def overrideLocalName(name: String): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  45. var parentScope: ScopeStatement

    Permalink
    Definition Classes
    ContextUser
  46. def rawElementName(): Unit

    Permalink
  47. var refOwner: RefOwnerType

    Permalink
    Definition Classes
    OwnableRef
  48. def reflectNames(): Unit

    Permalink
    Definition Classes
    Nameable
  49. var scalaTrace: Throwable

    Permalink
    Definition Classes
    ScalaLocated
  50. def setCompositeName(nameable: Nameable, postfix: String, namePriority: Byte): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  51. def setCompositeName(nameable: Nameable, postfix: String, weak: Boolean): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  52. def setCompositeName(nameable: Nameable, postfix: String): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  53. def setCompositeName(nameable: Nameable, namePriority: Byte): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  54. def setCompositeName(nameable: Nameable, weak: Boolean): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  55. def setCompositeName(nameable: Nameable): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  56. def setGlobal(): Unit

    Permalink
  57. def setLambdaName(isNameBody: ⇒ Boolean)(nameGen: ⇒ String): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  58. def setLocal(): Unit

    Permalink
  59. def setName(name: String, namePriority: Byte): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  60. def setName(name: String, weak: Boolean): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  61. def setName(name: String): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  62. def setNameAsWeak(): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  63. def setPartialName(name: String, namePriority: Byte, owner: Any): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  64. def setPartialName(name: String, namePriority: Byte): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  65. def setPartialName(name: String, weak: Boolean): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  66. def setPartialName(owner: Nameable, name: String, namePriority: Byte): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  67. def setPartialName(owner: Nameable, name: String, weak: Boolean): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  68. def setPartialName(name: String): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  69. def setPartialName(owner: Nameable, name: String): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  70. def setPartialName(owner: Nameable): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  71. def setRefOwner(that: Any): Unit

    Permalink
    Definition Classes
    OwnableRef
  72. def setScalaLocated(source: ScalaLocated): SpinalEnum.this.type

    Permalink
    Definition Classes
    ScalaLocated
  73. def setWeakName(name: String): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  74. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  75. def toString(): String

    Permalink
    Definition Classes
    Nameable → AnyRef → Any
  76. def unsetName(): SpinalEnum.this.type

    Permalink
    Definition Classes
    Nameable
  77. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  78. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  79. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from Nameable

Inherited from ContextUser

Inherited from ScalaLocated

Inherited from GlobalDataUser

Inherited from OwnableRef

Inherited from AnyRef

Inherited from Any

Ungrouped