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 enum

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 enum

  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. def foreachReflectableNameables(doThat: (Any) ⇒ Unit): Unit

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

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

    Permalink
    Definition Classes
    Nameable
  18. def getInstanceCounter: Int

    Permalink
    Definition Classes
    ContextUser
  19. def getMode: Byte

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

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

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

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

    Permalink
    Definition Classes
    OwnableRef
  24. def getScalaLocationLong: String

    Permalink
    Definition Classes
    ScalaLocated
  25. def getScalaLocationShort: String

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

    Permalink
    Definition Classes
    ScalaLocated
  27. val globalData: GlobalData

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

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  29. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  30. def isNamed: Boolean

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

    Permalink
    Definition Classes
    Nameable
  32. def isUnnamed: Boolean

    Permalink
    Definition Classes
    Nameable
  33. var name: String

    Permalink
    Attributes
    protected
    Definition Classes
    Nameable
  34. var nameableRef: Nameable

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

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

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

    Permalink

    Create a new Element

  38. final def notify(): Unit

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

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

    Permalink
    Definition Classes
    Nameable
  41. var parentScope: ScopeStatement

    Permalink
    Definition Classes
    ContextUser
  42. var refOwner: RefOwnerType

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  68. 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