Choice
The diagrams below draw one box per node kind, with one port per field. The edge colours say how a link is held; they are listed in full on the Fields page.
Iir_Kind_Choice_By_Range
(Iir_Kinds_Choice)
Used by: Iir_Kind_Aggregate Iir_Kind_Case_Statement Iir_Kind_Case_Generate_Statement Iir_Kind_Concurrent_Selected_Signal_Assignment Iir_Kind_Simultaneous_Case_Statement
The location of the first alternative is set on: ‘when’ for case statement, selected assignment and case generate, ‘(’ or ‘,’ for aggregates. The location of the following alternatives is set on ‘|’.
Format: Short
Accessor |
Field |
Type |
Access |
Description |
|---|---|---|---|---|
|
|
ref |
Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop. |
|
|
|
chain next |
For a list of choices, only the first one is associated, the following associations have the same_alternative_flag set. |
|
|
|
owned |
— |
|
|
|
owned |
Get/Set what is associated with the choice. There are two different nodes, one for simple association and the other for chain association. They don’t have the same properties (normal vs chain), so the right field must be selected according to the property to have working walkers. Both fields are never used at the same time. For: * an expression for an aggregate * an individual association * a generate_statement_body chain for a case_generate_statement |
|
|
|
chain |
For * a waveform_chain for a concurrent_selected_signal_assignment, * a sequential statement chain for a case_statement. |
|
|
|
owned |
Set when share the same association as the previous one. |
|
|
|
owned |
For aggregates: if True, associated expression is for one element. |
|
|
|
owned |
Staticness of the choice. |
Iir_Kind_Choice_By_Expression
(Iir_Kinds_Choice)
Used by: Iir_Kind_Aggregate Iir_Kind_Case_Statement Iir_Kind_Case_Generate_Statement Iir_Kind_Concurrent_Selected_Signal_Assignment Iir_Kind_Simultaneous_Case_Statement
The location of the first alternative is set on: ‘when’ for case statement, selected assignment and case generate, ‘(’ or ‘,’ for aggregates. The location of the following alternatives is set on ‘|’.
Format: Short
Accessor |
Field |
Type |
Access |
Description |
|---|---|---|---|---|
|
|
ref |
Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop. |
|
|
|
chain next |
For a list of choices, only the first one is associated, the following associations have the same_alternative_flag set. |
|
|
|
owned |
— |
|
|
|
owned |
Get/Set what is associated with the choice. There are two different nodes, one for simple association and the other for chain association. They don’t have the same properties (normal vs chain), so the right field must be selected according to the property to have working walkers. Both fields are never used at the same time. For: * an expression for an aggregate * an individual association * a generate_statement_body chain for a case_generate_statement |
|
|
|
chain |
For * a waveform_chain for a concurrent_selected_signal_assignment, * a sequential statement chain for a case_statement. |
|
|
|
owned |
Set when share the same association as the previous one. |
|
|
|
owned |
For aggregates: if True, associated expression is for one element. |
|
|
|
owned |
Staticness of the choice. |
Iir_Kind_Choice_By_Others
(Iir_Kinds_Choice)
Used by: Iir_Kind_Aggregate Iir_Kind_Case_Statement Iir_Kind_Case_Generate_Statement Iir_Kind_Concurrent_Selected_Signal_Assignment Iir_Kind_Simultaneous_Case_Statement
The location of the first alternative is set on: ‘when’ for case statement, selected assignment and case generate, ‘(’ or ‘,’ for aggregates. The location of the following alternatives is set on ‘|’.
Format: Short
Accessor |
Field |
Type |
Access |
Description |
|---|---|---|---|---|
|
|
ref |
Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop. |
|
|
|
chain next |
For a list of choices, only the first one is associated, the following associations have the same_alternative_flag set. |
|
|
|
owned |
Get/Set what is associated with the choice. There are two different nodes, one for simple association and the other for chain association. They don’t have the same properties (normal vs chain), so the right field must be selected according to the property to have working walkers. Both fields are never used at the same time. For: * an expression for an aggregate * an individual association * a generate_statement_body chain for a case_generate_statement |
|
|
|
chain |
For * a waveform_chain for a concurrent_selected_signal_assignment, * a sequential statement chain for a case_statement. |
|
|
|
owned |
Set when share the same association as the previous one. |
|
|
|
owned |
For aggregates: if True, associated expression is for one element. |
Iir_Kind_Choice_By_None
(Iir_Kinds_Choice)
Used by: Iir_Kind_Aggregate Iir_Kind_Case_Statement Iir_Kind_Case_Generate_Statement Iir_Kind_Concurrent_Selected_Signal_Assignment Iir_Kind_Simultaneous_Case_Statement
The location of the first alternative is set on: ‘when’ for case statement, selected assignment and case generate, ‘(’ or ‘,’ for aggregates. The location of the following alternatives is set on ‘|’.
Format: Short
Accessor |
Field |
Type |
Access |
Description |
|---|---|---|---|---|
|
|
ref |
Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop. |
|
|
|
chain next |
For a list of choices, only the first one is associated, the following associations have the same_alternative_flag set. |
|
|
|
owned |
Get/Set what is associated with the choice. There are two different nodes, one for simple association and the other for chain association. They don’t have the same properties (normal vs chain), so the right field must be selected according to the property to have working walkers. Both fields are never used at the same time. For: * an expression for an aggregate * an individual association * a generate_statement_body chain for a case_generate_statement |
|
|
|
chain |
For * a waveform_chain for a concurrent_selected_signal_assignment, * a sequential statement chain for a case_statement. |
|
|
|
owned |
Set when share the same association as the previous one. |
|
|
|
owned |
For aggregates: if True, associated expression is for one element. |
Iir_Kind_Choice_By_Name
(Iir_Kinds_Choice)
Used by: Iir_Kind_Aggregate Iir_Kind_Case_Statement Iir_Kind_Case_Generate_Statement Iir_Kind_Concurrent_Selected_Signal_Assignment Iir_Kind_Simultaneous_Case_Statement
The location of the first alternative is set on: ‘when’ for case statement, selected assignment and case generate, ‘(’ or ‘,’ for aggregates. The location of the following alternatives is set on ‘|’.
Format: Short
Accessor |
Field |
Type |
Access |
Description |
|---|---|---|---|---|
|
|
ref |
Get/Set the statement in which TARGET appears. This is used to check if next/exit is in a loop. |
|
|
|
chain next |
For a list of choices, only the first one is associated, the following associations have the same_alternative_flag set. |
|
|
|
owned |
Should be a simple_name. |
|
|
|
owned |
Get/Set what is associated with the choice. There are two different nodes, one for simple association and the other for chain association. They don’t have the same properties (normal vs chain), so the right field must be selected according to the property to have working walkers. Both fields are never used at the same time. For: * an expression for an aggregate * an individual association * a generate_statement_body chain for a case_generate_statement |
|
|
|
chain |
For * a waveform_chain for a concurrent_selected_signal_assignment, * a sequential statement chain for a case_statement. |
|
|
|
owned |
Set when share the same association as the previous one. |
|
|
|
owned |
For aggregates: if True, associated expression is for one element. |