Case class Null safety

A block of CaseItems where only the one with a matching CaseItem.value is executed.

Searches for which of items appropriately matches expression, then executes the matching CaseItem. If defaultItem is specified, and no other item matches, then that one is executed. Use conditionalType to modify behavior in ways similar to what is available in SystemVerilog.

Inheritance
Implementers

Constructors

Case(Logic expression, List<CaseItem> items, {List<Conditional>? defaultItem, ConditionalType conditionalType = ConditionalType.none})
Whenever an item in items matches expression, it will be executed.

Properties

caseType String
Returns the SystemVerilog keyword to represent this case block.
@protected, read-only
conditionalType ConditionalType
The type of case block this is, for special attributes (e.g. ConditionalType.unique, ConditionalType.priority).
final
defaultItem List<Conditional>?
The default to execute when there was no match with any other CaseItems.
final
expression Logic
A logical signal to match against.
final
hashCode int
The hash code for this object.
read-only, inherited
items List<CaseItem>
An ordered collection of CaseItems to search through for a match to expression.
final
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

driverInput(Logic driver) Logic
Gets the input port associated with driver.
@protected, inherited
driverValue(Logic driver) LogicValue
Gets the value that should be used for execution for the input port associated with driver.
@protected, inherited
execute() Set<Logic>
Executes the functionality represented by this Conditional.
override
getConditionals() List<Conditional>
Lists of all Conditionals contained within this Conditional (not including itself).
override
getDrivers() List<Logic>
Lists all drivers, recursively including all sub-Conditionals drivers.
override
getReceivers() List<Logic>
Lists all receivers, recursively including all sub-Conditionals receivers.
override
isMatch(LogicValue value) bool
Returns true iff value matches the expressions current value.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
inherited
receiverOutput(Logic receiver) Logic
Gets the output port associated with receiver.
@protected, inherited
toString() String
A string representation of this object.
inherited
verilogContents(int indent, Map<String, String> inputsNameMap, Map<String, String> outputsNameMap, String assignOperator) String
Returns a String of SystemVerilog to be used in generated output.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited