aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/nodes_meta.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/nodes_meta.adb')
-rw-r--r--src/vhdl/nodes_meta.adb524
1 files changed, 279 insertions, 245 deletions
diff --git a/src/vhdl/nodes_meta.adb b/src/vhdl/nodes_meta.adb
index ae9c29c8e..4e09367f7 100644
--- a/src/vhdl/nodes_meta.adb
+++ b/src/vhdl/nodes_meta.adb
@@ -997,6 +997,8 @@ package body Nodes_Meta is
return "association_element_open";
when Iir_Kind_Association_Element_Package =>
return "association_element_package";
+ when Iir_Kind_Association_Element_Type =>
+ return "association_element_type";
when Iir_Kind_Choice_By_Others =>
return "choice_by_others";
when Iir_Kind_Choice_By_Expression =>
@@ -2219,8 +2221,8 @@ package body Nodes_Meta is
Field_Choice_Staticness,
Field_Formal,
Field_Chain,
- Field_Actual_Type,
Field_Individual_Association_Chain,
+ Field_Actual_Type,
-- Iir_Kind_Association_Element_Open
Field_Whole_Association_Flag,
Field_Collapse_Signal_Flag,
@@ -2234,6 +2236,14 @@ package body Nodes_Meta is
Field_Chain,
Field_Actual,
Field_Associated_Interface,
+ -- Iir_Kind_Association_Element_Type
+ Field_Whole_Association_Flag,
+ Field_Collapse_Signal_Flag,
+ Field_Formal,
+ Field_Chain,
+ Field_Actual,
+ Field_Actual_Type,
+ Field_Associated_Interface,
-- Iir_Kind_Choice_By_Others
Field_Same_Alternative_Flag,
Field_Chain,
@@ -2620,6 +2630,7 @@ package body Nodes_Meta is
Field_End_Has_Reserved_Id,
Field_End_Has_Identifier,
Field_Declaration_Chain,
+ Field_Chain,
Field_Attribute_Value_Chain,
Field_Package_Header,
Field_Parent,
@@ -2630,9 +2641,10 @@ package body Nodes_Meta is
Field_End_Has_Reserved_Id,
Field_End_Has_Identifier,
Field_Declaration_Chain,
+ Field_Chain,
Field_Attribute_Value_Chain,
- Field_Uninstantiated_Package_Name,
Field_Generic_Chain,
+ Field_Uninstantiated_Package_Name,
Field_Generic_Map_Aspect_Chain,
Field_Parent,
Field_Package_Body,
@@ -2641,6 +2653,7 @@ package body Nodes_Meta is
Field_End_Has_Reserved_Id,
Field_End_Has_Identifier,
Field_Declaration_Chain,
+ Field_Chain,
Field_Attribute_Value_Chain,
Field_Parent,
Field_Package,
@@ -3103,8 +3116,8 @@ package body Nodes_Meta is
Field_Declaration_Chain,
Field_Chain,
Field_Attribute_Value_Chain,
- Field_Uninstantiated_Package_Name,
Field_Generic_Chain,
+ Field_Uninstantiated_Package_Name,
Field_Generic_Map_Aspect_Chain,
Field_Parent,
-- Iir_Kind_Identity_Operator
@@ -4145,242 +4158,243 @@ package body Nodes_Meta is
Iir_Kind_Association_Element_By_Individual => 108,
Iir_Kind_Association_Element_Open => 113,
Iir_Kind_Association_Element_Package => 119,
- Iir_Kind_Choice_By_Others => 124,
- Iir_Kind_Choice_By_Expression => 131,
- Iir_Kind_Choice_By_Range => 138,
- Iir_Kind_Choice_By_None => 143,
- Iir_Kind_Choice_By_Name => 149,
- Iir_Kind_Entity_Aspect_Entity => 151,
- Iir_Kind_Entity_Aspect_Configuration => 152,
- Iir_Kind_Entity_Aspect_Open => 152,
- Iir_Kind_Block_Configuration => 158,
- Iir_Kind_Block_Header => 162,
- Iir_Kind_Component_Configuration => 168,
- Iir_Kind_Binding_Indication => 174,
- Iir_Kind_Entity_Class => 176,
- Iir_Kind_Attribute_Value => 184,
- Iir_Kind_Signature => 187,
- Iir_Kind_Aggregate_Info => 194,
- Iir_Kind_Procedure_Call => 198,
- Iir_Kind_Record_Element_Constraint => 204,
- Iir_Kind_Array_Element_Resolution => 205,
- Iir_Kind_Record_Resolution => 206,
- Iir_Kind_Record_Element_Resolution => 209,
- Iir_Kind_Attribute_Specification => 218,
- Iir_Kind_Disconnection_Specification => 223,
- Iir_Kind_Configuration_Specification => 228,
- Iir_Kind_Access_Type_Definition => 235,
- Iir_Kind_Incomplete_Type_Definition => 242,
- Iir_Kind_Interface_Type_Definition => 248,
- Iir_Kind_File_Type_Definition => 255,
- Iir_Kind_Protected_Type_Declaration => 264,
- Iir_Kind_Record_Type_Definition => 274,
- Iir_Kind_Array_Type_Definition => 286,
- Iir_Kind_Array_Subtype_Definition => 301,
- Iir_Kind_Record_Subtype_Definition => 312,
- Iir_Kind_Access_Subtype_Definition => 320,
- Iir_Kind_Physical_Subtype_Definition => 329,
- Iir_Kind_Floating_Subtype_Definition => 339,
- Iir_Kind_Integer_Subtype_Definition => 348,
- Iir_Kind_Enumeration_Subtype_Definition => 357,
- Iir_Kind_Enumeration_Type_Definition => 366,
- Iir_Kind_Integer_Type_Definition => 372,
- Iir_Kind_Floating_Type_Definition => 378,
- Iir_Kind_Physical_Type_Definition => 387,
- Iir_Kind_Range_Expression => 393,
- Iir_Kind_Protected_Type_Body => 400,
- Iir_Kind_Wildcard_Type_Definition => 405,
- Iir_Kind_Subtype_Definition => 409,
- Iir_Kind_Scalar_Nature_Definition => 413,
- Iir_Kind_Overload_List => 414,
- Iir_Kind_Type_Declaration => 420,
- Iir_Kind_Anonymous_Type_Declaration => 425,
- Iir_Kind_Subtype_Declaration => 433,
- Iir_Kind_Nature_Declaration => 439,
- Iir_Kind_Subnature_Declaration => 445,
- Iir_Kind_Package_Declaration => 455,
- Iir_Kind_Package_Instantiation_Declaration => 466,
- Iir_Kind_Package_Body => 473,
- Iir_Kind_Configuration_Declaration => 482,
- Iir_Kind_Entity_Declaration => 494,
- Iir_Kind_Architecture_Body => 506,
- Iir_Kind_Context_Declaration => 512,
- Iir_Kind_Package_Header => 514,
- Iir_Kind_Unit_Declaration => 523,
- Iir_Kind_Library_Declaration => 530,
- Iir_Kind_Component_Declaration => 540,
- Iir_Kind_Attribute_Declaration => 547,
- Iir_Kind_Group_Template_Declaration => 553,
- Iir_Kind_Group_Declaration => 560,
- Iir_Kind_Element_Declaration => 567,
- Iir_Kind_Non_Object_Alias_Declaration => 575,
- Iir_Kind_Psl_Declaration => 583,
- Iir_Kind_Psl_Endpoint_Declaration => 597,
- Iir_Kind_Terminal_Declaration => 603,
- Iir_Kind_Free_Quantity_Declaration => 612,
- Iir_Kind_Across_Quantity_Declaration => 624,
- Iir_Kind_Through_Quantity_Declaration => 636,
- Iir_Kind_Enumeration_Literal => 647,
- Iir_Kind_Function_Declaration => 671,
- Iir_Kind_Procedure_Declaration => 694,
- Iir_Kind_Function_Body => 704,
- Iir_Kind_Procedure_Body => 715,
- Iir_Kind_Object_Alias_Declaration => 727,
- Iir_Kind_File_Declaration => 742,
- Iir_Kind_Guard_Signal_Declaration => 755,
- Iir_Kind_Signal_Declaration => 772,
- Iir_Kind_Variable_Declaration => 785,
- Iir_Kind_Constant_Declaration => 799,
- Iir_Kind_Iterator_Declaration => 811,
- Iir_Kind_Interface_Constant_Declaration => 827,
- Iir_Kind_Interface_Variable_Declaration => 843,
- Iir_Kind_Interface_Signal_Declaration => 864,
- Iir_Kind_Interface_File_Declaration => 880,
- Iir_Kind_Interface_Type_Declaration => 890,
- Iir_Kind_Interface_Package_Declaration => 899,
- Iir_Kind_Identity_Operator => 903,
- Iir_Kind_Negation_Operator => 907,
- Iir_Kind_Absolute_Operator => 911,
- Iir_Kind_Not_Operator => 915,
- Iir_Kind_Condition_Operator => 919,
- Iir_Kind_Reduction_And_Operator => 923,
- Iir_Kind_Reduction_Or_Operator => 927,
- Iir_Kind_Reduction_Nand_Operator => 931,
- Iir_Kind_Reduction_Nor_Operator => 935,
- Iir_Kind_Reduction_Xor_Operator => 939,
- Iir_Kind_Reduction_Xnor_Operator => 943,
- Iir_Kind_And_Operator => 948,
- Iir_Kind_Or_Operator => 953,
- Iir_Kind_Nand_Operator => 958,
- Iir_Kind_Nor_Operator => 963,
- Iir_Kind_Xor_Operator => 968,
- Iir_Kind_Xnor_Operator => 973,
- Iir_Kind_Equality_Operator => 978,
- Iir_Kind_Inequality_Operator => 983,
- Iir_Kind_Less_Than_Operator => 988,
- Iir_Kind_Less_Than_Or_Equal_Operator => 993,
- Iir_Kind_Greater_Than_Operator => 998,
- Iir_Kind_Greater_Than_Or_Equal_Operator => 1003,
- Iir_Kind_Match_Equality_Operator => 1008,
- Iir_Kind_Match_Inequality_Operator => 1013,
- Iir_Kind_Match_Less_Than_Operator => 1018,
- Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1023,
- Iir_Kind_Match_Greater_Than_Operator => 1028,
- Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1033,
- Iir_Kind_Sll_Operator => 1038,
- Iir_Kind_Sla_Operator => 1043,
- Iir_Kind_Srl_Operator => 1048,
- Iir_Kind_Sra_Operator => 1053,
- Iir_Kind_Rol_Operator => 1058,
- Iir_Kind_Ror_Operator => 1063,
- Iir_Kind_Addition_Operator => 1068,
- Iir_Kind_Substraction_Operator => 1073,
- Iir_Kind_Concatenation_Operator => 1078,
- Iir_Kind_Multiplication_Operator => 1083,
- Iir_Kind_Division_Operator => 1088,
- Iir_Kind_Modulus_Operator => 1093,
- Iir_Kind_Remainder_Operator => 1098,
- Iir_Kind_Exponentiation_Operator => 1103,
- Iir_Kind_Function_Call => 1111,
- Iir_Kind_Aggregate => 1117,
- Iir_Kind_Parenthesis_Expression => 1120,
- Iir_Kind_Qualified_Expression => 1124,
- Iir_Kind_Type_Conversion => 1129,
- Iir_Kind_Allocator_By_Expression => 1133,
- Iir_Kind_Allocator_By_Subtype => 1139,
- Iir_Kind_Selected_Element => 1145,
- Iir_Kind_Dereference => 1150,
- Iir_Kind_Implicit_Dereference => 1155,
- Iir_Kind_Slice_Name => 1162,
- Iir_Kind_Indexed_Name => 1168,
- Iir_Kind_Psl_Expression => 1170,
- Iir_Kind_Sensitized_Process_Statement => 1190,
- Iir_Kind_Process_Statement => 1210,
- Iir_Kind_Concurrent_Simple_Signal_Assignment => 1221,
- Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1232,
- Iir_Kind_Concurrent_Selected_Signal_Assignment => 1244,
- Iir_Kind_Concurrent_Assertion_Statement => 1252,
- Iir_Kind_Psl_Default_Clock => 1256,
- Iir_Kind_Psl_Assert_Statement => 1269,
- Iir_Kind_Psl_Cover_Statement => 1282,
- Iir_Kind_Concurrent_Procedure_Call_Statement => 1289,
- Iir_Kind_Block_Statement => 1302,
- Iir_Kind_If_Generate_Statement => 1312,
- Iir_Kind_Case_Generate_Statement => 1321,
- Iir_Kind_For_Generate_Statement => 1330,
- Iir_Kind_Component_Instantiation_Statement => 1340,
- Iir_Kind_Simple_Simultaneous_Statement => 1347,
- Iir_Kind_Generate_Statement_Body => 1358,
- Iir_Kind_If_Generate_Else_Clause => 1363,
- Iir_Kind_Simple_Signal_Assignment_Statement => 1372,
- Iir_Kind_Conditional_Signal_Assignment_Statement => 1381,
- Iir_Kind_Null_Statement => 1385,
- Iir_Kind_Assertion_Statement => 1392,
- Iir_Kind_Report_Statement => 1398,
- Iir_Kind_Wait_Statement => 1405,
- Iir_Kind_Variable_Assignment_Statement => 1411,
- Iir_Kind_Conditional_Variable_Assignment_Statement => 1417,
- Iir_Kind_Return_Statement => 1423,
- Iir_Kind_For_Loop_Statement => 1432,
- Iir_Kind_While_Loop_Statement => 1440,
- Iir_Kind_Next_Statement => 1446,
- Iir_Kind_Exit_Statement => 1452,
- Iir_Kind_Case_Statement => 1460,
- Iir_Kind_Procedure_Call_Statement => 1466,
- Iir_Kind_If_Statement => 1475,
- Iir_Kind_Elsif => 1480,
- Iir_Kind_Character_Literal => 1487,
- Iir_Kind_Simple_Name => 1494,
- Iir_Kind_Selected_Name => 1502,
- Iir_Kind_Operator_Symbol => 1507,
- Iir_Kind_Selected_By_All_Name => 1512,
- Iir_Kind_Parenthesis_Name => 1516,
- Iir_Kind_External_Constant_Name => 1525,
- Iir_Kind_External_Signal_Name => 1534,
- Iir_Kind_External_Variable_Name => 1543,
- Iir_Kind_Package_Pathname => 1546,
- Iir_Kind_Absolute_Pathname => 1547,
- Iir_Kind_Relative_Pathname => 1548,
- Iir_Kind_Pathname_Element => 1552,
- Iir_Kind_Base_Attribute => 1554,
- Iir_Kind_Left_Type_Attribute => 1559,
- Iir_Kind_Right_Type_Attribute => 1564,
- Iir_Kind_High_Type_Attribute => 1569,
- Iir_Kind_Low_Type_Attribute => 1574,
- Iir_Kind_Ascending_Type_Attribute => 1579,
- Iir_Kind_Image_Attribute => 1585,
- Iir_Kind_Value_Attribute => 1591,
- Iir_Kind_Pos_Attribute => 1597,
- Iir_Kind_Val_Attribute => 1603,
- Iir_Kind_Succ_Attribute => 1609,
- Iir_Kind_Pred_Attribute => 1615,
- Iir_Kind_Leftof_Attribute => 1621,
- Iir_Kind_Rightof_Attribute => 1627,
- Iir_Kind_Delayed_Attribute => 1635,
- Iir_Kind_Stable_Attribute => 1643,
- Iir_Kind_Quiet_Attribute => 1651,
- Iir_Kind_Transaction_Attribute => 1659,
- Iir_Kind_Event_Attribute => 1663,
- Iir_Kind_Active_Attribute => 1667,
- Iir_Kind_Last_Event_Attribute => 1671,
- Iir_Kind_Last_Active_Attribute => 1675,
- Iir_Kind_Last_Value_Attribute => 1679,
- Iir_Kind_Driving_Attribute => 1683,
- Iir_Kind_Driving_Value_Attribute => 1687,
- Iir_Kind_Behavior_Attribute => 1687,
- Iir_Kind_Structure_Attribute => 1687,
- Iir_Kind_Simple_Name_Attribute => 1694,
- Iir_Kind_Instance_Name_Attribute => 1699,
- Iir_Kind_Path_Name_Attribute => 1704,
- Iir_Kind_Left_Array_Attribute => 1711,
- Iir_Kind_Right_Array_Attribute => 1718,
- Iir_Kind_High_Array_Attribute => 1725,
- Iir_Kind_Low_Array_Attribute => 1732,
- Iir_Kind_Length_Array_Attribute => 1739,
- Iir_Kind_Ascending_Array_Attribute => 1746,
- Iir_Kind_Range_Array_Attribute => 1753,
- Iir_Kind_Reverse_Range_Array_Attribute => 1760,
- Iir_Kind_Attribute_Name => 1768
+ Iir_Kind_Association_Element_Type => 126,
+ Iir_Kind_Choice_By_Others => 131,
+ Iir_Kind_Choice_By_Expression => 138,
+ Iir_Kind_Choice_By_Range => 145,
+ Iir_Kind_Choice_By_None => 150,
+ Iir_Kind_Choice_By_Name => 156,
+ Iir_Kind_Entity_Aspect_Entity => 158,
+ Iir_Kind_Entity_Aspect_Configuration => 159,
+ Iir_Kind_Entity_Aspect_Open => 159,
+ Iir_Kind_Block_Configuration => 165,
+ Iir_Kind_Block_Header => 169,
+ Iir_Kind_Component_Configuration => 175,
+ Iir_Kind_Binding_Indication => 181,
+ Iir_Kind_Entity_Class => 183,
+ Iir_Kind_Attribute_Value => 191,
+ Iir_Kind_Signature => 194,
+ Iir_Kind_Aggregate_Info => 201,
+ Iir_Kind_Procedure_Call => 205,
+ Iir_Kind_Record_Element_Constraint => 211,
+ Iir_Kind_Array_Element_Resolution => 212,
+ Iir_Kind_Record_Resolution => 213,
+ Iir_Kind_Record_Element_Resolution => 216,
+ Iir_Kind_Attribute_Specification => 225,
+ Iir_Kind_Disconnection_Specification => 230,
+ Iir_Kind_Configuration_Specification => 235,
+ Iir_Kind_Access_Type_Definition => 242,
+ Iir_Kind_Incomplete_Type_Definition => 249,
+ Iir_Kind_Interface_Type_Definition => 255,
+ Iir_Kind_File_Type_Definition => 262,
+ Iir_Kind_Protected_Type_Declaration => 271,
+ Iir_Kind_Record_Type_Definition => 281,
+ Iir_Kind_Array_Type_Definition => 293,
+ Iir_Kind_Array_Subtype_Definition => 308,
+ Iir_Kind_Record_Subtype_Definition => 319,
+ Iir_Kind_Access_Subtype_Definition => 327,
+ Iir_Kind_Physical_Subtype_Definition => 336,
+ Iir_Kind_Floating_Subtype_Definition => 346,
+ Iir_Kind_Integer_Subtype_Definition => 355,
+ Iir_Kind_Enumeration_Subtype_Definition => 364,
+ Iir_Kind_Enumeration_Type_Definition => 373,
+ Iir_Kind_Integer_Type_Definition => 379,
+ Iir_Kind_Floating_Type_Definition => 385,
+ Iir_Kind_Physical_Type_Definition => 394,
+ Iir_Kind_Range_Expression => 400,
+ Iir_Kind_Protected_Type_Body => 407,
+ Iir_Kind_Wildcard_Type_Definition => 412,
+ Iir_Kind_Subtype_Definition => 416,
+ Iir_Kind_Scalar_Nature_Definition => 420,
+ Iir_Kind_Overload_List => 421,
+ Iir_Kind_Type_Declaration => 427,
+ Iir_Kind_Anonymous_Type_Declaration => 432,
+ Iir_Kind_Subtype_Declaration => 440,
+ Iir_Kind_Nature_Declaration => 446,
+ Iir_Kind_Subnature_Declaration => 452,
+ Iir_Kind_Package_Declaration => 463,
+ Iir_Kind_Package_Instantiation_Declaration => 475,
+ Iir_Kind_Package_Body => 483,
+ Iir_Kind_Configuration_Declaration => 492,
+ Iir_Kind_Entity_Declaration => 504,
+ Iir_Kind_Architecture_Body => 516,
+ Iir_Kind_Context_Declaration => 522,
+ Iir_Kind_Package_Header => 524,
+ Iir_Kind_Unit_Declaration => 533,
+ Iir_Kind_Library_Declaration => 540,
+ Iir_Kind_Component_Declaration => 550,
+ Iir_Kind_Attribute_Declaration => 557,
+ Iir_Kind_Group_Template_Declaration => 563,
+ Iir_Kind_Group_Declaration => 570,
+ Iir_Kind_Element_Declaration => 577,
+ Iir_Kind_Non_Object_Alias_Declaration => 585,
+ Iir_Kind_Psl_Declaration => 593,
+ Iir_Kind_Psl_Endpoint_Declaration => 607,
+ Iir_Kind_Terminal_Declaration => 613,
+ Iir_Kind_Free_Quantity_Declaration => 622,
+ Iir_Kind_Across_Quantity_Declaration => 634,
+ Iir_Kind_Through_Quantity_Declaration => 646,
+ Iir_Kind_Enumeration_Literal => 657,
+ Iir_Kind_Function_Declaration => 681,
+ Iir_Kind_Procedure_Declaration => 704,
+ Iir_Kind_Function_Body => 714,
+ Iir_Kind_Procedure_Body => 725,
+ Iir_Kind_Object_Alias_Declaration => 737,
+ Iir_Kind_File_Declaration => 752,
+ Iir_Kind_Guard_Signal_Declaration => 765,
+ Iir_Kind_Signal_Declaration => 782,
+ Iir_Kind_Variable_Declaration => 795,
+ Iir_Kind_Constant_Declaration => 809,
+ Iir_Kind_Iterator_Declaration => 821,
+ Iir_Kind_Interface_Constant_Declaration => 837,
+ Iir_Kind_Interface_Variable_Declaration => 853,
+ Iir_Kind_Interface_Signal_Declaration => 874,
+ Iir_Kind_Interface_File_Declaration => 890,
+ Iir_Kind_Interface_Type_Declaration => 900,
+ Iir_Kind_Interface_Package_Declaration => 909,
+ Iir_Kind_Identity_Operator => 913,
+ Iir_Kind_Negation_Operator => 917,
+ Iir_Kind_Absolute_Operator => 921,
+ Iir_Kind_Not_Operator => 925,
+ Iir_Kind_Condition_Operator => 929,
+ Iir_Kind_Reduction_And_Operator => 933,
+ Iir_Kind_Reduction_Or_Operator => 937,
+ Iir_Kind_Reduction_Nand_Operator => 941,
+ Iir_Kind_Reduction_Nor_Operator => 945,
+ Iir_Kind_Reduction_Xor_Operator => 949,
+ Iir_Kind_Reduction_Xnor_Operator => 953,
+ Iir_Kind_And_Operator => 958,
+ Iir_Kind_Or_Operator => 963,
+ Iir_Kind_Nand_Operator => 968,
+ Iir_Kind_Nor_Operator => 973,
+ Iir_Kind_Xor_Operator => 978,
+ Iir_Kind_Xnor_Operator => 983,
+ Iir_Kind_Equality_Operator => 988,
+ Iir_Kind_Inequality_Operator => 993,
+ Iir_Kind_Less_Than_Operator => 998,
+ Iir_Kind_Less_Than_Or_Equal_Operator => 1003,
+ Iir_Kind_Greater_Than_Operator => 1008,
+ Iir_Kind_Greater_Than_Or_Equal_Operator => 1013,
+ Iir_Kind_Match_Equality_Operator => 1018,
+ Iir_Kind_Match_Inequality_Operator => 1023,
+ Iir_Kind_Match_Less_Than_Operator => 1028,
+ Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1033,
+ Iir_Kind_Match_Greater_Than_Operator => 1038,
+ Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1043,
+ Iir_Kind_Sll_Operator => 1048,
+ Iir_Kind_Sla_Operator => 1053,
+ Iir_Kind_Srl_Operator => 1058,
+ Iir_Kind_Sra_Operator => 1063,
+ Iir_Kind_Rol_Operator => 1068,
+ Iir_Kind_Ror_Operator => 1073,
+ Iir_Kind_Addition_Operator => 1078,
+ Iir_Kind_Substraction_Operator => 1083,
+ Iir_Kind_Concatenation_Operator => 1088,
+ Iir_Kind_Multiplication_Operator => 1093,
+ Iir_Kind_Division_Operator => 1098,
+ Iir_Kind_Modulus_Operator => 1103,
+ Iir_Kind_Remainder_Operator => 1108,
+ Iir_Kind_Exponentiation_Operator => 1113,
+ Iir_Kind_Function_Call => 1121,
+ Iir_Kind_Aggregate => 1127,
+ Iir_Kind_Parenthesis_Expression => 1130,
+ Iir_Kind_Qualified_Expression => 1134,
+ Iir_Kind_Type_Conversion => 1139,
+ Iir_Kind_Allocator_By_Expression => 1143,
+ Iir_Kind_Allocator_By_Subtype => 1149,
+ Iir_Kind_Selected_Element => 1155,
+ Iir_Kind_Dereference => 1160,
+ Iir_Kind_Implicit_Dereference => 1165,
+ Iir_Kind_Slice_Name => 1172,
+ Iir_Kind_Indexed_Name => 1178,
+ Iir_Kind_Psl_Expression => 1180,
+ Iir_Kind_Sensitized_Process_Statement => 1200,
+ Iir_Kind_Process_Statement => 1220,
+ Iir_Kind_Concurrent_Simple_Signal_Assignment => 1231,
+ Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1242,
+ Iir_Kind_Concurrent_Selected_Signal_Assignment => 1254,
+ Iir_Kind_Concurrent_Assertion_Statement => 1262,
+ Iir_Kind_Psl_Default_Clock => 1266,
+ Iir_Kind_Psl_Assert_Statement => 1279,
+ Iir_Kind_Psl_Cover_Statement => 1292,
+ Iir_Kind_Concurrent_Procedure_Call_Statement => 1299,
+ Iir_Kind_Block_Statement => 1312,
+ Iir_Kind_If_Generate_Statement => 1322,
+ Iir_Kind_Case_Generate_Statement => 1331,
+ Iir_Kind_For_Generate_Statement => 1340,
+ Iir_Kind_Component_Instantiation_Statement => 1350,
+ Iir_Kind_Simple_Simultaneous_Statement => 1357,
+ Iir_Kind_Generate_Statement_Body => 1368,
+ Iir_Kind_If_Generate_Else_Clause => 1373,
+ Iir_Kind_Simple_Signal_Assignment_Statement => 1382,
+ Iir_Kind_Conditional_Signal_Assignment_Statement => 1391,
+ Iir_Kind_Null_Statement => 1395,
+ Iir_Kind_Assertion_Statement => 1402,
+ Iir_Kind_Report_Statement => 1408,
+ Iir_Kind_Wait_Statement => 1415,
+ Iir_Kind_Variable_Assignment_Statement => 1421,
+ Iir_Kind_Conditional_Variable_Assignment_Statement => 1427,
+ Iir_Kind_Return_Statement => 1433,
+ Iir_Kind_For_Loop_Statement => 1442,
+ Iir_Kind_While_Loop_Statement => 1450,
+ Iir_Kind_Next_Statement => 1456,
+ Iir_Kind_Exit_Statement => 1462,
+ Iir_Kind_Case_Statement => 1470,
+ Iir_Kind_Procedure_Call_Statement => 1476,
+ Iir_Kind_If_Statement => 1485,
+ Iir_Kind_Elsif => 1490,
+ Iir_Kind_Character_Literal => 1497,
+ Iir_Kind_Simple_Name => 1504,
+ Iir_Kind_Selected_Name => 1512,
+ Iir_Kind_Operator_Symbol => 1517,
+ Iir_Kind_Selected_By_All_Name => 1522,
+ Iir_Kind_Parenthesis_Name => 1526,
+ Iir_Kind_External_Constant_Name => 1535,
+ Iir_Kind_External_Signal_Name => 1544,
+ Iir_Kind_External_Variable_Name => 1553,
+ Iir_Kind_Package_Pathname => 1556,
+ Iir_Kind_Absolute_Pathname => 1557,
+ Iir_Kind_Relative_Pathname => 1558,
+ Iir_Kind_Pathname_Element => 1562,
+ Iir_Kind_Base_Attribute => 1564,
+ Iir_Kind_Left_Type_Attribute => 1569,
+ Iir_Kind_Right_Type_Attribute => 1574,
+ Iir_Kind_High_Type_Attribute => 1579,
+ Iir_Kind_Low_Type_Attribute => 1584,
+ Iir_Kind_Ascending_Type_Attribute => 1589,
+ Iir_Kind_Image_Attribute => 1595,
+ Iir_Kind_Value_Attribute => 1601,
+ Iir_Kind_Pos_Attribute => 1607,
+ Iir_Kind_Val_Attribute => 1613,
+ Iir_Kind_Succ_Attribute => 1619,
+ Iir_Kind_Pred_Attribute => 1625,
+ Iir_Kind_Leftof_Attribute => 1631,
+ Iir_Kind_Rightof_Attribute => 1637,
+ Iir_Kind_Delayed_Attribute => 1645,
+ Iir_Kind_Stable_Attribute => 1653,
+ Iir_Kind_Quiet_Attribute => 1661,
+ Iir_Kind_Transaction_Attribute => 1669,
+ Iir_Kind_Event_Attribute => 1673,
+ Iir_Kind_Active_Attribute => 1677,
+ Iir_Kind_Last_Event_Attribute => 1681,
+ Iir_Kind_Last_Active_Attribute => 1685,
+ Iir_Kind_Last_Value_Attribute => 1689,
+ Iir_Kind_Driving_Attribute => 1693,
+ Iir_Kind_Driving_Value_Attribute => 1697,
+ Iir_Kind_Behavior_Attribute => 1697,
+ Iir_Kind_Structure_Attribute => 1697,
+ Iir_Kind_Simple_Name_Attribute => 1704,
+ Iir_Kind_Instance_Name_Attribute => 1709,
+ Iir_Kind_Path_Name_Attribute => 1714,
+ Iir_Kind_Left_Array_Attribute => 1721,
+ Iir_Kind_Right_Array_Attribute => 1728,
+ Iir_Kind_High_Array_Attribute => 1735,
+ Iir_Kind_Low_Array_Attribute => 1742,
+ Iir_Kind_Length_Array_Attribute => 1749,
+ Iir_Kind_Ascending_Array_Attribute => 1756,
+ Iir_Kind_Range_Array_Attribute => 1763,
+ Iir_Kind_Reverse_Range_Array_Attribute => 1770,
+ Iir_Kind_Attribute_Name => 1778
);
function Get_Fields (K : Iir_Kind) return Fields_Array
@@ -6516,7 +6530,8 @@ package body Nodes_Meta is
when Iir_Kind_Association_Element_By_Expression
| Iir_Kind_Association_Element_By_Individual
| Iir_Kind_Association_Element_Open
- | Iir_Kind_Association_Element_Package =>
+ | Iir_Kind_Association_Element_Package
+ | Iir_Kind_Association_Element_Type =>
return True;
when others =>
return False;
@@ -6527,7 +6542,8 @@ package body Nodes_Meta is
begin
case K is
when Iir_Kind_Association_Element_By_Expression
- | Iir_Kind_Association_Element_Package =>
+ | Iir_Kind_Association_Element_Package
+ | Iir_Kind_Association_Element_Type =>
return True;
when others =>
return False;
@@ -6550,7 +6566,8 @@ package body Nodes_Meta is
when Iir_Kind_Association_Element_By_Expression
| Iir_Kind_Association_Element_By_Individual
| Iir_Kind_Association_Element_Open
- | Iir_Kind_Association_Element_Package =>
+ | Iir_Kind_Association_Element_Package
+ | Iir_Kind_Association_Element_Type =>
return True;
when others =>
return False;
@@ -6563,7 +6580,8 @@ package body Nodes_Meta is
when Iir_Kind_Association_Element_By_Expression
| Iir_Kind_Association_Element_By_Individual
| Iir_Kind_Association_Element_Open
- | Iir_Kind_Association_Element_Package =>
+ | Iir_Kind_Association_Element_Package
+ | Iir_Kind_Association_Element_Type =>
return True;
when others =>
return False;
@@ -6800,6 +6818,7 @@ package body Nodes_Meta is
| Iir_Kind_Association_Element_By_Individual
| Iir_Kind_Association_Element_Open
| Iir_Kind_Association_Element_Package
+ | Iir_Kind_Association_Element_Type
| Iir_Kind_Choice_By_Others
| Iir_Kind_Choice_By_Expression
| Iir_Kind_Choice_By_Range
@@ -6819,6 +6838,9 @@ package body Nodes_Meta is
| Iir_Kind_Subtype_Declaration
| Iir_Kind_Nature_Declaration
| Iir_Kind_Subnature_Declaration
+ | Iir_Kind_Package_Declaration
+ | Iir_Kind_Package_Instantiation_Declaration
+ | Iir_Kind_Package_Body
| Iir_Kind_Unit_Declaration
| Iir_Kind_Library_Declaration
| Iir_Kind_Component_Declaration
@@ -9337,12 +9359,24 @@ package body Nodes_Meta is
function Has_Actual_Type (K : Iir_Kind) return Boolean is
begin
- return K = Iir_Kind_Association_Element_By_Individual;
+ case K is
+ when Iir_Kind_Association_Element_By_Individual
+ | Iir_Kind_Association_Element_Type =>
+ return True;
+ when others =>
+ return False;
+ end case;
end Has_Actual_Type;
function Has_Associated_Interface (K : Iir_Kind) return Boolean is
begin
- return K = Iir_Kind_Association_Element_Package;
+ case K is
+ when Iir_Kind_Association_Element_Package
+ | Iir_Kind_Association_Element_Type =>
+ return True;
+ when others =>
+ return False;
+ end case;
end Has_Associated_Interface;
function Has_Association_Chain (K : Iir_Kind) return Boolean is