diff options
Diffstat (limited to 'src/vhdl/vhdl-nodes_meta.adb')
-rw-r--r-- | src/vhdl/vhdl-nodes_meta.adb | 628 |
1 files changed, 329 insertions, 299 deletions
diff --git a/src/vhdl/vhdl-nodes_meta.adb b/src/vhdl/vhdl-nodes_meta.adb index 25f1dc86c..0b8092802 100644 --- a/src/vhdl/vhdl-nodes_meta.adb +++ b/src/vhdl/vhdl-nodes_meta.adb @@ -1185,6 +1185,8 @@ package body Vhdl.Nodes_Meta is return "conditional_expression"; when Iir_Kind_Association_Element_By_Expression => return "association_element_by_expression"; + when Iir_Kind_Association_Element_By_Name => + return "association_element_by_name"; when Iir_Kind_Association_Element_By_Individual => return "association_element_by_individual"; when Iir_Kind_Association_Element_Open => @@ -2669,6 +2671,15 @@ package body Vhdl.Nodes_Meta is Field_Actual, Field_Actual_Conversion, Field_Formal_Conversion, + -- Iir_Kind_Association_Element_By_Name + Field_Whole_Association_Flag, + Field_Collapse_Signal_Flag, + Field_In_Formal_Flag, + Field_Formal, + Field_Chain, + Field_Actual, + Field_Actual_Conversion, + Field_Formal_Conversion, -- Iir_Kind_Association_Element_By_Individual Field_Whole_Association_Flag, Field_Collapse_Signal_Flag, @@ -5255,303 +5266,304 @@ package body Vhdl.Nodes_Meta is Iir_Kind_Conditional_Waveform => 105, Iir_Kind_Conditional_Expression => 109, Iir_Kind_Association_Element_By_Expression => 117, - Iir_Kind_Association_Element_By_Individual => 126, - Iir_Kind_Association_Element_Open => 132, - Iir_Kind_Association_Element_Package => 138, - Iir_Kind_Association_Element_Type => 146, - Iir_Kind_Association_Element_Subprogram => 152, - Iir_Kind_Association_Element_Terminal => 158, - Iir_Kind_Choice_By_Range => 166, - Iir_Kind_Choice_By_Expression => 174, - Iir_Kind_Choice_By_Others => 180, - Iir_Kind_Choice_By_None => 186, - Iir_Kind_Choice_By_Name => 193, - Iir_Kind_Entity_Aspect_Entity => 195, - Iir_Kind_Entity_Aspect_Configuration => 196, - Iir_Kind_Entity_Aspect_Open => 196, - Iir_Kind_Psl_Hierarchical_Name => 198, - Iir_Kind_Block_Configuration => 204, - Iir_Kind_Block_Header => 208, - Iir_Kind_Component_Configuration => 215, - Iir_Kind_Binding_Indication => 219, - Iir_Kind_Entity_Class => 221, - Iir_Kind_Attribute_Value => 229, - Iir_Kind_Signature => 232, - Iir_Kind_Aggregate_Info => 239, - Iir_Kind_Procedure_Call => 243, - Iir_Kind_Record_Element_Constraint => 251, - Iir_Kind_Array_Element_Resolution => 253, - Iir_Kind_Record_Resolution => 254, - Iir_Kind_Record_Element_Resolution => 257, - Iir_Kind_Break_Element => 261, - Iir_Kind_Attribute_Specification => 270, - Iir_Kind_Disconnection_Specification => 276, - Iir_Kind_Step_Limit_Specification => 282, - Iir_Kind_Configuration_Specification => 288, - Iir_Kind_Access_Type_Definition => 295, - Iir_Kind_Incomplete_Type_Definition => 302, - Iir_Kind_Interface_Type_Definition => 308, - Iir_Kind_File_Type_Definition => 314, - Iir_Kind_Protected_Type_Declaration => 323, - Iir_Kind_Record_Type_Definition => 333, - Iir_Kind_Array_Type_Definition => 344, - Iir_Kind_Array_Subtype_Definition => 361, - Iir_Kind_Record_Subtype_Definition => 374, - Iir_Kind_Access_Subtype_Definition => 382, - Iir_Kind_Physical_Subtype_Definition => 392, - Iir_Kind_Floating_Subtype_Definition => 403, - Iir_Kind_Integer_Subtype_Definition => 413, - Iir_Kind_Enumeration_Subtype_Definition => 423, - Iir_Kind_Enumeration_Type_Definition => 434, - Iir_Kind_Integer_Type_Definition => 442, - Iir_Kind_Floating_Type_Definition => 450, - Iir_Kind_Physical_Type_Definition => 461, - Iir_Kind_Range_Expression => 469, - Iir_Kind_Protected_Type_Body => 477, - Iir_Kind_Wildcard_Type_Definition => 481, - Iir_Kind_Subtype_Definition => 488, - Iir_Kind_Scalar_Nature_Definition => 496, - Iir_Kind_Record_Nature_Definition => 509, - Iir_Kind_Array_Nature_Definition => 523, - Iir_Kind_Array_Subnature_Definition => 538, - Iir_Kind_Overload_List => 539, - Iir_Kind_Entity_Declaration => 552, - Iir_Kind_Configuration_Declaration => 562, - Iir_Kind_Context_Declaration => 568, - Iir_Kind_Package_Declaration => 583, - Iir_Kind_Package_Instantiation_Declaration => 597, - Iir_Kind_Vmode_Declaration => 609, - Iir_Kind_Vprop_Declaration => 621, - Iir_Kind_Vunit_Declaration => 634, - Iir_Kind_Package_Body => 642, - Iir_Kind_Architecture_Body => 655, - Iir_Kind_Type_Declaration => 662, - Iir_Kind_Anonymous_Type_Declaration => 668, - Iir_Kind_Subtype_Declaration => 676, - Iir_Kind_Nature_Declaration => 682, - Iir_Kind_Subnature_Declaration => 689, - Iir_Kind_Package_Header => 691, - Iir_Kind_Unit_Declaration => 700, - Iir_Kind_Library_Declaration => 708, - Iir_Kind_Component_Declaration => 718, - Iir_Kind_Attribute_Declaration => 725, - Iir_Kind_Group_Template_Declaration => 731, - Iir_Kind_Group_Declaration => 738, - Iir_Kind_Element_Declaration => 746, - Iir_Kind_Nature_Element_Declaration => 753, - Iir_Kind_Non_Object_Alias_Declaration => 761, - Iir_Kind_Psl_Declaration => 769, - Iir_Kind_Psl_Endpoint_Declaration => 783, - Iir_Kind_Enumeration_Literal => 794, - Iir_Kind_Function_Declaration => 819, - Iir_Kind_Procedure_Declaration => 843, - Iir_Kind_Function_Body => 853, - Iir_Kind_Procedure_Body => 864, - Iir_Kind_Function_Instantiation_Declaration => 875, - Iir_Kind_Procedure_Instantiation_Declaration => 885, - Iir_Kind_Terminal_Declaration => 894, - Iir_Kind_Object_Alias_Declaration => 906, - Iir_Kind_Free_Quantity_Declaration => 918, - Iir_Kind_Spectrum_Quantity_Declaration => 931, - Iir_Kind_Noise_Quantity_Declaration => 943, - Iir_Kind_Across_Quantity_Declaration => 959, - Iir_Kind_Through_Quantity_Declaration => 975, - Iir_Kind_File_Declaration => 990, - Iir_Kind_Guard_Signal_Declaration => 1004, - Iir_Kind_Signal_Declaration => 1021, - Iir_Kind_Variable_Declaration => 1034, - Iir_Kind_Constant_Declaration => 1048, - Iir_Kind_Iterator_Declaration => 1060, - Iir_Kind_Interface_Constant_Declaration => 1077, - Iir_Kind_Interface_Variable_Declaration => 1093, - Iir_Kind_Interface_Signal_Declaration => 1114, - Iir_Kind_Interface_File_Declaration => 1130, - Iir_Kind_Interface_Quantity_Declaration => 1146, - Iir_Kind_Interface_Terminal_Declaration => 1158, - Iir_Kind_Interface_Type_Declaration => 1169, - Iir_Kind_Interface_Package_Declaration => 1182, - Iir_Kind_Interface_Function_Declaration => 1200, - Iir_Kind_Interface_Procedure_Declaration => 1214, - Iir_Kind_Anonymous_Signal_Declaration => 1223, - Iir_Kind_Signal_Attribute_Declaration => 1226, - Iir_Kind_Identity_Operator => 1230, - Iir_Kind_Negation_Operator => 1234, - Iir_Kind_Absolute_Operator => 1238, - Iir_Kind_Not_Operator => 1242, - Iir_Kind_Implicit_Condition_Operator => 1246, - Iir_Kind_Condition_Operator => 1250, - Iir_Kind_Reduction_And_Operator => 1254, - Iir_Kind_Reduction_Or_Operator => 1258, - Iir_Kind_Reduction_Nand_Operator => 1262, - Iir_Kind_Reduction_Nor_Operator => 1266, - Iir_Kind_Reduction_Xor_Operator => 1270, - Iir_Kind_Reduction_Xnor_Operator => 1274, - Iir_Kind_And_Operator => 1279, - Iir_Kind_Or_Operator => 1284, - Iir_Kind_Nand_Operator => 1289, - Iir_Kind_Nor_Operator => 1294, - Iir_Kind_Xor_Operator => 1299, - Iir_Kind_Xnor_Operator => 1304, - Iir_Kind_Equality_Operator => 1309, - Iir_Kind_Inequality_Operator => 1314, - Iir_Kind_Less_Than_Operator => 1319, - Iir_Kind_Less_Than_Or_Equal_Operator => 1324, - Iir_Kind_Greater_Than_Operator => 1329, - Iir_Kind_Greater_Than_Or_Equal_Operator => 1334, - Iir_Kind_Match_Equality_Operator => 1339, - Iir_Kind_Match_Inequality_Operator => 1344, - Iir_Kind_Match_Less_Than_Operator => 1349, - Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1354, - Iir_Kind_Match_Greater_Than_Operator => 1359, - Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1364, - Iir_Kind_Sll_Operator => 1369, - Iir_Kind_Sla_Operator => 1374, - Iir_Kind_Srl_Operator => 1379, - Iir_Kind_Sra_Operator => 1384, - Iir_Kind_Rol_Operator => 1389, - Iir_Kind_Ror_Operator => 1394, - Iir_Kind_Addition_Operator => 1399, - Iir_Kind_Substraction_Operator => 1404, - Iir_Kind_Concatenation_Operator => 1409, - Iir_Kind_Multiplication_Operator => 1414, - Iir_Kind_Division_Operator => 1419, - Iir_Kind_Modulus_Operator => 1424, - Iir_Kind_Remainder_Operator => 1429, - Iir_Kind_Exponentiation_Operator => 1434, - Iir_Kind_Function_Call => 1442, - Iir_Kind_Aggregate => 1449, - Iir_Kind_Parenthesis_Expression => 1452, - Iir_Kind_Qualified_Expression => 1456, - Iir_Kind_Type_Conversion => 1461, - Iir_Kind_Allocator_By_Expression => 1466, - Iir_Kind_Allocator_By_Subtype => 1472, - Iir_Kind_Selected_Element => 1480, - Iir_Kind_Dereference => 1485, - Iir_Kind_Implicit_Dereference => 1490, - Iir_Kind_Slice_Name => 1497, - Iir_Kind_Indexed_Name => 1503, - Iir_Kind_Psl_Prev => 1509, - Iir_Kind_Psl_Stable => 1514, - Iir_Kind_Psl_Rose => 1519, - Iir_Kind_Psl_Fell => 1524, - Iir_Kind_Psl_Onehot => 1527, - Iir_Kind_Psl_Onehot0 => 1530, - Iir_Kind_Psl_Expression => 1532, - Iir_Kind_Sensitized_Process_Statement => 1553, - Iir_Kind_Process_Statement => 1573, - Iir_Kind_Concurrent_Simple_Signal_Assignment => 1586, - Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1599, - Iir_Kind_Concurrent_Selected_Signal_Assignment => 1613, - Iir_Kind_Concurrent_Assertion_Statement => 1621, - Iir_Kind_Concurrent_Procedure_Call_Statement => 1628, - Iir_Kind_Concurrent_Break_Statement => 1636, - Iir_Kind_Psl_Assert_Directive => 1649, - Iir_Kind_Psl_Assume_Directive => 1660, - Iir_Kind_Psl_Cover_Directive => 1672, - Iir_Kind_Psl_Restrict_Directive => 1683, - Iir_Kind_Block_Statement => 1697, - Iir_Kind_If_Generate_Statement => 1708, - Iir_Kind_Case_Generate_Statement => 1717, - Iir_Kind_For_Generate_Statement => 1726, - Iir_Kind_Component_Instantiation_Statement => 1737, - Iir_Kind_Psl_Default_Clock => 1740, - Iir_Kind_Generate_Statement_Body => 1751, - Iir_Kind_If_Generate_Else_Clause => 1757, - Iir_Kind_Simple_Simultaneous_Statement => 1764, - Iir_Kind_Simultaneous_Null_Statement => 1768, - Iir_Kind_Simultaneous_Procedural_Statement => 1779, - Iir_Kind_Simultaneous_Case_Statement => 1788, - Iir_Kind_Simultaneous_If_Statement => 1797, - Iir_Kind_Simultaneous_Elsif => 1803, - Iir_Kind_Simple_Signal_Assignment_Statement => 1814, - Iir_Kind_Conditional_Signal_Assignment_Statement => 1825, - Iir_Kind_Selected_Waveform_Assignment_Statement => 1837, - Iir_Kind_Signal_Force_Assignment_Statement => 1847, - Iir_Kind_Signal_Release_Assignment_Statement => 1856, - Iir_Kind_Null_Statement => 1860, - Iir_Kind_Assertion_Statement => 1867, - Iir_Kind_Report_Statement => 1873, - Iir_Kind_Wait_Statement => 1881, - Iir_Kind_Variable_Assignment_Statement => 1888, - Iir_Kind_Conditional_Variable_Assignment_Statement => 1895, - Iir_Kind_Return_Statement => 1901, - Iir_Kind_For_Loop_Statement => 1912, - Iir_Kind_While_Loop_Statement => 1923, - Iir_Kind_Next_Statement => 1930, - Iir_Kind_Exit_Statement => 1937, - Iir_Kind_Case_Statement => 1945, - Iir_Kind_Procedure_Call_Statement => 1951, - Iir_Kind_Break_Statement => 1958, - Iir_Kind_If_Statement => 1968, - Iir_Kind_Elsif => 1974, - Iir_Kind_Character_Literal => 1981, - Iir_Kind_Simple_Name => 1988, - Iir_Kind_Selected_Name => 1996, - Iir_Kind_Operator_Symbol => 2001, - Iir_Kind_Reference_Name => 2006, - Iir_Kind_External_Constant_Name => 2015, - Iir_Kind_External_Signal_Name => 2024, - Iir_Kind_External_Variable_Name => 2034, - Iir_Kind_Selected_By_All_Name => 2040, - Iir_Kind_Parenthesis_Name => 2045, - Iir_Kind_Package_Pathname => 2049, - Iir_Kind_Absolute_Pathname => 2050, - Iir_Kind_Relative_Pathname => 2051, - Iir_Kind_Pathname_Element => 2056, - Iir_Kind_Base_Attribute => 2058, - Iir_Kind_Subtype_Attribute => 2063, - Iir_Kind_Element_Attribute => 2068, - Iir_Kind_Across_Attribute => 2073, - Iir_Kind_Through_Attribute => 2078, - Iir_Kind_Nature_Reference_Attribute => 2082, - Iir_Kind_Left_Type_Attribute => 2087, - Iir_Kind_Right_Type_Attribute => 2092, - Iir_Kind_High_Type_Attribute => 2097, - Iir_Kind_Low_Type_Attribute => 2102, - Iir_Kind_Ascending_Type_Attribute => 2107, - Iir_Kind_Image_Attribute => 2113, - Iir_Kind_Value_Attribute => 2119, - Iir_Kind_Pos_Attribute => 2125, - Iir_Kind_Val_Attribute => 2131, - Iir_Kind_Succ_Attribute => 2137, - Iir_Kind_Pred_Attribute => 2143, - Iir_Kind_Leftof_Attribute => 2149, - Iir_Kind_Rightof_Attribute => 2155, - Iir_Kind_Signal_Slew_Attribute => 2163, - Iir_Kind_Quantity_Slew_Attribute => 2171, - Iir_Kind_Ramp_Attribute => 2179, - Iir_Kind_Zoh_Attribute => 2187, - Iir_Kind_Ltf_Attribute => 2195, - Iir_Kind_Ztf_Attribute => 2205, - Iir_Kind_Dot_Attribute => 2212, - Iir_Kind_Integ_Attribute => 2219, - Iir_Kind_Above_Attribute => 2227, - Iir_Kind_Quantity_Delayed_Attribute => 2235, - Iir_Kind_Delayed_Attribute => 2244, - Iir_Kind_Stable_Attribute => 2253, - Iir_Kind_Quiet_Attribute => 2262, - Iir_Kind_Transaction_Attribute => 2271, - Iir_Kind_Event_Attribute => 2275, - Iir_Kind_Active_Attribute => 2279, - Iir_Kind_Last_Event_Attribute => 2283, - Iir_Kind_Last_Active_Attribute => 2287, - Iir_Kind_Last_Value_Attribute => 2291, - Iir_Kind_Driving_Attribute => 2295, - Iir_Kind_Driving_Value_Attribute => 2299, - Iir_Kind_Behavior_Attribute => 2299, - Iir_Kind_Structure_Attribute => 2299, - Iir_Kind_Simple_Name_Attribute => 2306, - Iir_Kind_Instance_Name_Attribute => 2311, - Iir_Kind_Path_Name_Attribute => 2316, - Iir_Kind_Left_Array_Attribute => 2323, - Iir_Kind_Right_Array_Attribute => 2330, - Iir_Kind_High_Array_Attribute => 2337, - Iir_Kind_Low_Array_Attribute => 2344, - Iir_Kind_Length_Array_Attribute => 2351, - Iir_Kind_Ascending_Array_Attribute => 2358, - Iir_Kind_Range_Array_Attribute => 2365, - Iir_Kind_Reverse_Range_Array_Attribute => 2372, - Iir_Kind_Attribute_Name => 2381 + Iir_Kind_Association_Element_By_Name => 125, + Iir_Kind_Association_Element_By_Individual => 134, + Iir_Kind_Association_Element_Open => 140, + Iir_Kind_Association_Element_Package => 146, + Iir_Kind_Association_Element_Type => 154, + Iir_Kind_Association_Element_Subprogram => 160, + Iir_Kind_Association_Element_Terminal => 166, + Iir_Kind_Choice_By_Range => 174, + Iir_Kind_Choice_By_Expression => 182, + Iir_Kind_Choice_By_Others => 188, + Iir_Kind_Choice_By_None => 194, + Iir_Kind_Choice_By_Name => 201, + Iir_Kind_Entity_Aspect_Entity => 203, + Iir_Kind_Entity_Aspect_Configuration => 204, + Iir_Kind_Entity_Aspect_Open => 204, + Iir_Kind_Psl_Hierarchical_Name => 206, + Iir_Kind_Block_Configuration => 212, + Iir_Kind_Block_Header => 216, + Iir_Kind_Component_Configuration => 223, + Iir_Kind_Binding_Indication => 227, + Iir_Kind_Entity_Class => 229, + Iir_Kind_Attribute_Value => 237, + Iir_Kind_Signature => 240, + Iir_Kind_Aggregate_Info => 247, + Iir_Kind_Procedure_Call => 251, + Iir_Kind_Record_Element_Constraint => 259, + Iir_Kind_Array_Element_Resolution => 261, + Iir_Kind_Record_Resolution => 262, + Iir_Kind_Record_Element_Resolution => 265, + Iir_Kind_Break_Element => 269, + Iir_Kind_Attribute_Specification => 278, + Iir_Kind_Disconnection_Specification => 284, + Iir_Kind_Step_Limit_Specification => 290, + Iir_Kind_Configuration_Specification => 296, + Iir_Kind_Access_Type_Definition => 303, + Iir_Kind_Incomplete_Type_Definition => 310, + Iir_Kind_Interface_Type_Definition => 316, + Iir_Kind_File_Type_Definition => 322, + Iir_Kind_Protected_Type_Declaration => 331, + Iir_Kind_Record_Type_Definition => 341, + Iir_Kind_Array_Type_Definition => 352, + Iir_Kind_Array_Subtype_Definition => 369, + Iir_Kind_Record_Subtype_Definition => 382, + Iir_Kind_Access_Subtype_Definition => 390, + Iir_Kind_Physical_Subtype_Definition => 400, + Iir_Kind_Floating_Subtype_Definition => 411, + Iir_Kind_Integer_Subtype_Definition => 421, + Iir_Kind_Enumeration_Subtype_Definition => 431, + Iir_Kind_Enumeration_Type_Definition => 442, + Iir_Kind_Integer_Type_Definition => 450, + Iir_Kind_Floating_Type_Definition => 458, + Iir_Kind_Physical_Type_Definition => 469, + Iir_Kind_Range_Expression => 477, + Iir_Kind_Protected_Type_Body => 485, + Iir_Kind_Wildcard_Type_Definition => 489, + Iir_Kind_Subtype_Definition => 496, + Iir_Kind_Scalar_Nature_Definition => 504, + Iir_Kind_Record_Nature_Definition => 517, + Iir_Kind_Array_Nature_Definition => 531, + Iir_Kind_Array_Subnature_Definition => 546, + Iir_Kind_Overload_List => 547, + Iir_Kind_Entity_Declaration => 560, + Iir_Kind_Configuration_Declaration => 570, + Iir_Kind_Context_Declaration => 576, + Iir_Kind_Package_Declaration => 591, + Iir_Kind_Package_Instantiation_Declaration => 605, + Iir_Kind_Vmode_Declaration => 617, + Iir_Kind_Vprop_Declaration => 629, + Iir_Kind_Vunit_Declaration => 642, + Iir_Kind_Package_Body => 650, + Iir_Kind_Architecture_Body => 663, + Iir_Kind_Type_Declaration => 670, + Iir_Kind_Anonymous_Type_Declaration => 676, + Iir_Kind_Subtype_Declaration => 684, + Iir_Kind_Nature_Declaration => 690, + Iir_Kind_Subnature_Declaration => 697, + Iir_Kind_Package_Header => 699, + Iir_Kind_Unit_Declaration => 708, + Iir_Kind_Library_Declaration => 716, + Iir_Kind_Component_Declaration => 726, + Iir_Kind_Attribute_Declaration => 733, + Iir_Kind_Group_Template_Declaration => 739, + Iir_Kind_Group_Declaration => 746, + Iir_Kind_Element_Declaration => 754, + Iir_Kind_Nature_Element_Declaration => 761, + Iir_Kind_Non_Object_Alias_Declaration => 769, + Iir_Kind_Psl_Declaration => 777, + Iir_Kind_Psl_Endpoint_Declaration => 791, + Iir_Kind_Enumeration_Literal => 802, + Iir_Kind_Function_Declaration => 827, + Iir_Kind_Procedure_Declaration => 851, + Iir_Kind_Function_Body => 861, + Iir_Kind_Procedure_Body => 872, + Iir_Kind_Function_Instantiation_Declaration => 883, + Iir_Kind_Procedure_Instantiation_Declaration => 893, + Iir_Kind_Terminal_Declaration => 902, + Iir_Kind_Object_Alias_Declaration => 914, + Iir_Kind_Free_Quantity_Declaration => 926, + Iir_Kind_Spectrum_Quantity_Declaration => 939, + Iir_Kind_Noise_Quantity_Declaration => 951, + Iir_Kind_Across_Quantity_Declaration => 967, + Iir_Kind_Through_Quantity_Declaration => 983, + Iir_Kind_File_Declaration => 998, + Iir_Kind_Guard_Signal_Declaration => 1012, + Iir_Kind_Signal_Declaration => 1029, + Iir_Kind_Variable_Declaration => 1042, + Iir_Kind_Constant_Declaration => 1056, + Iir_Kind_Iterator_Declaration => 1068, + Iir_Kind_Interface_Constant_Declaration => 1085, + Iir_Kind_Interface_Variable_Declaration => 1101, + Iir_Kind_Interface_Signal_Declaration => 1122, + Iir_Kind_Interface_File_Declaration => 1138, + Iir_Kind_Interface_Quantity_Declaration => 1154, + Iir_Kind_Interface_Terminal_Declaration => 1166, + Iir_Kind_Interface_Type_Declaration => 1177, + Iir_Kind_Interface_Package_Declaration => 1190, + Iir_Kind_Interface_Function_Declaration => 1208, + Iir_Kind_Interface_Procedure_Declaration => 1222, + Iir_Kind_Anonymous_Signal_Declaration => 1231, + Iir_Kind_Signal_Attribute_Declaration => 1234, + Iir_Kind_Identity_Operator => 1238, + Iir_Kind_Negation_Operator => 1242, + Iir_Kind_Absolute_Operator => 1246, + Iir_Kind_Not_Operator => 1250, + Iir_Kind_Implicit_Condition_Operator => 1254, + Iir_Kind_Condition_Operator => 1258, + Iir_Kind_Reduction_And_Operator => 1262, + Iir_Kind_Reduction_Or_Operator => 1266, + Iir_Kind_Reduction_Nand_Operator => 1270, + Iir_Kind_Reduction_Nor_Operator => 1274, + Iir_Kind_Reduction_Xor_Operator => 1278, + Iir_Kind_Reduction_Xnor_Operator => 1282, + Iir_Kind_And_Operator => 1287, + Iir_Kind_Or_Operator => 1292, + Iir_Kind_Nand_Operator => 1297, + Iir_Kind_Nor_Operator => 1302, + Iir_Kind_Xor_Operator => 1307, + Iir_Kind_Xnor_Operator => 1312, + Iir_Kind_Equality_Operator => 1317, + Iir_Kind_Inequality_Operator => 1322, + Iir_Kind_Less_Than_Operator => 1327, + Iir_Kind_Less_Than_Or_Equal_Operator => 1332, + Iir_Kind_Greater_Than_Operator => 1337, + Iir_Kind_Greater_Than_Or_Equal_Operator => 1342, + Iir_Kind_Match_Equality_Operator => 1347, + Iir_Kind_Match_Inequality_Operator => 1352, + Iir_Kind_Match_Less_Than_Operator => 1357, + Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1362, + Iir_Kind_Match_Greater_Than_Operator => 1367, + Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1372, + Iir_Kind_Sll_Operator => 1377, + Iir_Kind_Sla_Operator => 1382, + Iir_Kind_Srl_Operator => 1387, + Iir_Kind_Sra_Operator => 1392, + Iir_Kind_Rol_Operator => 1397, + Iir_Kind_Ror_Operator => 1402, + Iir_Kind_Addition_Operator => 1407, + Iir_Kind_Substraction_Operator => 1412, + Iir_Kind_Concatenation_Operator => 1417, + Iir_Kind_Multiplication_Operator => 1422, + Iir_Kind_Division_Operator => 1427, + Iir_Kind_Modulus_Operator => 1432, + Iir_Kind_Remainder_Operator => 1437, + Iir_Kind_Exponentiation_Operator => 1442, + Iir_Kind_Function_Call => 1450, + Iir_Kind_Aggregate => 1457, + Iir_Kind_Parenthesis_Expression => 1460, + Iir_Kind_Qualified_Expression => 1464, + Iir_Kind_Type_Conversion => 1469, + Iir_Kind_Allocator_By_Expression => 1474, + Iir_Kind_Allocator_By_Subtype => 1480, + Iir_Kind_Selected_Element => 1488, + Iir_Kind_Dereference => 1493, + Iir_Kind_Implicit_Dereference => 1498, + Iir_Kind_Slice_Name => 1505, + Iir_Kind_Indexed_Name => 1511, + Iir_Kind_Psl_Prev => 1517, + Iir_Kind_Psl_Stable => 1522, + Iir_Kind_Psl_Rose => 1527, + Iir_Kind_Psl_Fell => 1532, + Iir_Kind_Psl_Onehot => 1535, + Iir_Kind_Psl_Onehot0 => 1538, + Iir_Kind_Psl_Expression => 1540, + Iir_Kind_Sensitized_Process_Statement => 1561, + Iir_Kind_Process_Statement => 1581, + Iir_Kind_Concurrent_Simple_Signal_Assignment => 1594, + Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1607, + Iir_Kind_Concurrent_Selected_Signal_Assignment => 1621, + Iir_Kind_Concurrent_Assertion_Statement => 1629, + Iir_Kind_Concurrent_Procedure_Call_Statement => 1636, + Iir_Kind_Concurrent_Break_Statement => 1644, + Iir_Kind_Psl_Assert_Directive => 1657, + Iir_Kind_Psl_Assume_Directive => 1668, + Iir_Kind_Psl_Cover_Directive => 1680, + Iir_Kind_Psl_Restrict_Directive => 1691, + Iir_Kind_Block_Statement => 1705, + Iir_Kind_If_Generate_Statement => 1716, + Iir_Kind_Case_Generate_Statement => 1725, + Iir_Kind_For_Generate_Statement => 1734, + Iir_Kind_Component_Instantiation_Statement => 1745, + Iir_Kind_Psl_Default_Clock => 1748, + Iir_Kind_Generate_Statement_Body => 1759, + Iir_Kind_If_Generate_Else_Clause => 1765, + Iir_Kind_Simple_Simultaneous_Statement => 1772, + Iir_Kind_Simultaneous_Null_Statement => 1776, + Iir_Kind_Simultaneous_Procedural_Statement => 1787, + Iir_Kind_Simultaneous_Case_Statement => 1796, + Iir_Kind_Simultaneous_If_Statement => 1805, + Iir_Kind_Simultaneous_Elsif => 1811, + Iir_Kind_Simple_Signal_Assignment_Statement => 1822, + Iir_Kind_Conditional_Signal_Assignment_Statement => 1833, + Iir_Kind_Selected_Waveform_Assignment_Statement => 1845, + Iir_Kind_Signal_Force_Assignment_Statement => 1855, + Iir_Kind_Signal_Release_Assignment_Statement => 1864, + Iir_Kind_Null_Statement => 1868, + Iir_Kind_Assertion_Statement => 1875, + Iir_Kind_Report_Statement => 1881, + Iir_Kind_Wait_Statement => 1889, + Iir_Kind_Variable_Assignment_Statement => 1896, + Iir_Kind_Conditional_Variable_Assignment_Statement => 1903, + Iir_Kind_Return_Statement => 1909, + Iir_Kind_For_Loop_Statement => 1920, + Iir_Kind_While_Loop_Statement => 1931, + Iir_Kind_Next_Statement => 1938, + Iir_Kind_Exit_Statement => 1945, + Iir_Kind_Case_Statement => 1953, + Iir_Kind_Procedure_Call_Statement => 1959, + Iir_Kind_Break_Statement => 1966, + Iir_Kind_If_Statement => 1976, + Iir_Kind_Elsif => 1982, + Iir_Kind_Character_Literal => 1989, + Iir_Kind_Simple_Name => 1996, + Iir_Kind_Selected_Name => 2004, + Iir_Kind_Operator_Symbol => 2009, + Iir_Kind_Reference_Name => 2014, + Iir_Kind_External_Constant_Name => 2023, + Iir_Kind_External_Signal_Name => 2032, + Iir_Kind_External_Variable_Name => 2042, + Iir_Kind_Selected_By_All_Name => 2048, + Iir_Kind_Parenthesis_Name => 2053, + Iir_Kind_Package_Pathname => 2057, + Iir_Kind_Absolute_Pathname => 2058, + Iir_Kind_Relative_Pathname => 2059, + Iir_Kind_Pathname_Element => 2064, + Iir_Kind_Base_Attribute => 2066, + Iir_Kind_Subtype_Attribute => 2071, + Iir_Kind_Element_Attribute => 2076, + Iir_Kind_Across_Attribute => 2081, + Iir_Kind_Through_Attribute => 2086, + Iir_Kind_Nature_Reference_Attribute => 2090, + Iir_Kind_Left_Type_Attribute => 2095, + Iir_Kind_Right_Type_Attribute => 2100, + Iir_Kind_High_Type_Attribute => 2105, + Iir_Kind_Low_Type_Attribute => 2110, + Iir_Kind_Ascending_Type_Attribute => 2115, + Iir_Kind_Image_Attribute => 2121, + Iir_Kind_Value_Attribute => 2127, + Iir_Kind_Pos_Attribute => 2133, + Iir_Kind_Val_Attribute => 2139, + Iir_Kind_Succ_Attribute => 2145, + Iir_Kind_Pred_Attribute => 2151, + Iir_Kind_Leftof_Attribute => 2157, + Iir_Kind_Rightof_Attribute => 2163, + Iir_Kind_Signal_Slew_Attribute => 2171, + Iir_Kind_Quantity_Slew_Attribute => 2179, + Iir_Kind_Ramp_Attribute => 2187, + Iir_Kind_Zoh_Attribute => 2195, + Iir_Kind_Ltf_Attribute => 2203, + Iir_Kind_Ztf_Attribute => 2213, + Iir_Kind_Dot_Attribute => 2220, + Iir_Kind_Integ_Attribute => 2227, + Iir_Kind_Above_Attribute => 2235, + Iir_Kind_Quantity_Delayed_Attribute => 2243, + Iir_Kind_Delayed_Attribute => 2252, + Iir_Kind_Stable_Attribute => 2261, + Iir_Kind_Quiet_Attribute => 2270, + Iir_Kind_Transaction_Attribute => 2279, + Iir_Kind_Event_Attribute => 2283, + Iir_Kind_Active_Attribute => 2287, + Iir_Kind_Last_Event_Attribute => 2291, + Iir_Kind_Last_Active_Attribute => 2295, + Iir_Kind_Last_Value_Attribute => 2299, + Iir_Kind_Driving_Attribute => 2303, + Iir_Kind_Driving_Value_Attribute => 2307, + Iir_Kind_Behavior_Attribute => 2307, + Iir_Kind_Structure_Attribute => 2307, + Iir_Kind_Simple_Name_Attribute => 2314, + Iir_Kind_Instance_Name_Attribute => 2319, + Iir_Kind_Path_Name_Attribute => 2324, + Iir_Kind_Left_Array_Attribute => 2331, + Iir_Kind_Right_Array_Attribute => 2338, + Iir_Kind_High_Array_Attribute => 2345, + Iir_Kind_Low_Array_Attribute => 2352, + Iir_Kind_Length_Array_Attribute => 2359, + Iir_Kind_Ascending_Array_Attribute => 2366, + Iir_Kind_Range_Array_Attribute => 2373, + Iir_Kind_Reverse_Range_Array_Attribute => 2380, + Iir_Kind_Attribute_Name => 2389 ); function Get_Fields_First (K : Iir_Kind) return Fields_Index is @@ -8061,6 +8073,7 @@ package body Vhdl.Nodes_Meta is begin case K is when Iir_Kind_Association_Element_By_Expression + | Iir_Kind_Association_Element_By_Name | Iir_Kind_Association_Element_By_Individual | Iir_Kind_Association_Element_Open | Iir_Kind_Association_Element_Package @@ -8077,6 +8090,7 @@ package body Vhdl.Nodes_Meta is begin case K is when Iir_Kind_Association_Element_By_Expression + | Iir_Kind_Association_Element_By_Name | Iir_Kind_Association_Element_Package | Iir_Kind_Association_Element_Type | Iir_Kind_Association_Element_Subprogram @@ -8089,18 +8103,31 @@ package body Vhdl.Nodes_Meta is function Has_Actual_Conversion (K : Iir_Kind) return Boolean is begin - return K = Iir_Kind_Association_Element_By_Expression; + case K is + when Iir_Kind_Association_Element_By_Expression + | Iir_Kind_Association_Element_By_Name => + return True; + when others => + return False; + end case; end Has_Actual_Conversion; function Has_Formal_Conversion (K : Iir_Kind) return Boolean is begin - return K = Iir_Kind_Association_Element_By_Expression; + case K is + when Iir_Kind_Association_Element_By_Expression + | Iir_Kind_Association_Element_By_Name => + return True; + when others => + return False; + end case; end Has_Formal_Conversion; function Has_Whole_Association_Flag (K : Iir_Kind) return Boolean is begin case K is when Iir_Kind_Association_Element_By_Expression + | Iir_Kind_Association_Element_By_Name | Iir_Kind_Association_Element_By_Individual | Iir_Kind_Association_Element_Open | Iir_Kind_Association_Element_Package @@ -8117,6 +8144,7 @@ package body Vhdl.Nodes_Meta is begin case K is when Iir_Kind_Association_Element_By_Expression + | Iir_Kind_Association_Element_By_Name | Iir_Kind_Association_Element_By_Individual | Iir_Kind_Association_Element_Open | Iir_Kind_Association_Element_Package @@ -8472,6 +8500,7 @@ package body Vhdl.Nodes_Meta is | Iir_Kind_Conditional_Waveform | Iir_Kind_Conditional_Expression | Iir_Kind_Association_Element_By_Expression + | Iir_Kind_Association_Element_By_Name | Iir_Kind_Association_Element_By_Individual | Iir_Kind_Association_Element_Open | Iir_Kind_Association_Element_Package @@ -11636,6 +11665,7 @@ package body Vhdl.Nodes_Meta is begin case K is when Iir_Kind_Association_Element_By_Expression + | Iir_Kind_Association_Element_By_Name | Iir_Kind_Association_Element_By_Individual | Iir_Kind_Association_Element_Open | Iir_Kind_Association_Element_Package |