diff options
Diffstat (limited to 'src/vhdl/nodes_meta.adb')
-rw-r--r-- | src/vhdl/nodes_meta.adb | 524 |
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 |