From aedbcc715e099335d28e1e06934e75263bd335e9 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Tue, 30 Jun 2020 18:41:32 +0200 Subject: vhdl-nodes: make Subtype_Indication Maybe_Ref. For #641 --- src/vhdl/vhdl-nodes_meta.adb | 462 ++++++++++++++++++++++--------------------- 1 file changed, 241 insertions(+), 221 deletions(-) (limited to 'src/vhdl/vhdl-nodes_meta.adb') diff --git a/src/vhdl/vhdl-nodes_meta.adb b/src/vhdl/vhdl-nodes_meta.adb index 6d0d0ea44..881859b1c 100644 --- a/src/vhdl/vhdl-nodes_meta.adb +++ b/src/vhdl/vhdl-nodes_meta.adb @@ -1942,7 +1942,7 @@ package body Vhdl.Nodes_Meta is when Field_Type => return Attr_Ref; when Field_Subtype_Indication => - return Attr_None; + return Attr_Maybe_Ref; when Field_Discrete_Range => return Attr_None; when Field_Type_Definition => @@ -3250,6 +3250,7 @@ package body Vhdl.Nodes_Meta is Field_Incomplete_Type_Declaration, -- Iir_Kind_Subtype_Declaration Field_Identifier, + Field_Is_Ref, Field_Visible_Flag, Field_Use_Flag, Field_Parent, @@ -3330,6 +3331,7 @@ package body Vhdl.Nodes_Meta is -- Iir_Kind_Element_Declaration Field_Identifier, Field_Element_Position, + Field_Is_Ref, Field_Has_Identifier_List, Field_Visible_Flag, Field_Parent, @@ -3474,6 +3476,7 @@ package body Vhdl.Nodes_Meta is Field_Nature, -- Iir_Kind_Object_Alias_Declaration Field_Identifier, + Field_Is_Ref, Field_Visible_Flag, Field_After_Drivers_Flag, Field_Use_Flag, @@ -3561,6 +3564,7 @@ package body Vhdl.Nodes_Meta is -- Iir_Kind_File_Declaration Field_Identifier, Field_Has_Mode, + Field_Is_Ref, Field_Mode, Field_Has_Identifier_List, Field_Visible_Flag, @@ -3636,6 +3640,7 @@ package body Vhdl.Nodes_Meta is Field_Deferred_Declaration, -- Iir_Kind_Iterator_Declaration Field_Identifier, + Field_Is_Ref, Field_Has_Identifier_List, Field_Visible_Flag, Field_Use_Flag, @@ -4109,11 +4114,13 @@ package body Vhdl.Nodes_Meta is Field_Type_Mark, Field_Expression, -- Iir_Kind_Allocator_By_Expression + Field_Is_Ref, Field_Expr_Staticness, Field_Type, Field_Expression, Field_Allocator_Designated_Type, -- Iir_Kind_Allocator_By_Subtype + Field_Is_Ref, Field_Expr_Staticness, Field_Type, Field_Subtype_Indication, @@ -4694,6 +4701,7 @@ package body Vhdl.Nodes_Meta is Field_Named_Entity, Field_Referenced_Name, -- Iir_Kind_External_Constant_Name + Field_Is_Ref, Field_Expr_Staticness, Field_Name_Staticness, Field_Parent, @@ -4703,6 +4711,7 @@ package body Vhdl.Nodes_Meta is Field_Named_Entity, Field_Subtype_Indication, -- Iir_Kind_External_Signal_Name + Field_Is_Ref, Field_Expr_Staticness, Field_Name_Staticness, Field_Parent, @@ -4712,6 +4721,7 @@ package body Vhdl.Nodes_Meta is Field_Named_Entity, Field_Subtype_Indication, -- Iir_Kind_External_Variable_Name + Field_Is_Ref, Field_Shared_Flag, Field_Expr_Staticness, Field_Name_Staticness, @@ -5224,225 +5234,225 @@ package body Vhdl.Nodes_Meta is Iir_Kind_Architecture_Body => 654, Iir_Kind_Type_Declaration => 661, Iir_Kind_Anonymous_Type_Declaration => 667, - Iir_Kind_Subtype_Declaration => 674, - Iir_Kind_Nature_Declaration => 680, - Iir_Kind_Subnature_Declaration => 687, - Iir_Kind_Package_Header => 689, - Iir_Kind_Unit_Declaration => 698, - Iir_Kind_Library_Declaration => 706, - Iir_Kind_Component_Declaration => 716, - Iir_Kind_Attribute_Declaration => 723, - Iir_Kind_Group_Template_Declaration => 729, - Iir_Kind_Group_Declaration => 736, - Iir_Kind_Element_Declaration => 743, - Iir_Kind_Nature_Element_Declaration => 750, - Iir_Kind_Non_Object_Alias_Declaration => 758, - Iir_Kind_Psl_Declaration => 766, - Iir_Kind_Psl_Endpoint_Declaration => 780, - Iir_Kind_Enumeration_Literal => 791, - Iir_Kind_Function_Declaration => 816, - Iir_Kind_Procedure_Declaration => 840, - Iir_Kind_Function_Body => 850, - Iir_Kind_Procedure_Body => 861, - Iir_Kind_Terminal_Declaration => 870, - Iir_Kind_Object_Alias_Declaration => 881, - Iir_Kind_Free_Quantity_Declaration => 893, - Iir_Kind_Spectrum_Quantity_Declaration => 906, - Iir_Kind_Noise_Quantity_Declaration => 918, - Iir_Kind_Across_Quantity_Declaration => 934, - Iir_Kind_Through_Quantity_Declaration => 950, - Iir_Kind_File_Declaration => 964, - Iir_Kind_Guard_Signal_Declaration => 977, - Iir_Kind_Signal_Declaration => 994, - Iir_Kind_Variable_Declaration => 1007, - Iir_Kind_Constant_Declaration => 1021, - Iir_Kind_Iterator_Declaration => 1032, - Iir_Kind_Interface_Constant_Declaration => 1049, - Iir_Kind_Interface_Variable_Declaration => 1065, - Iir_Kind_Interface_Signal_Declaration => 1086, - Iir_Kind_Interface_File_Declaration => 1102, - Iir_Kind_Interface_Quantity_Declaration => 1118, - Iir_Kind_Interface_Terminal_Declaration => 1130, - Iir_Kind_Interface_Type_Declaration => 1141, - Iir_Kind_Interface_Package_Declaration => 1154, - Iir_Kind_Interface_Function_Declaration => 1172, - Iir_Kind_Interface_Procedure_Declaration => 1186, - Iir_Kind_Anonymous_Signal_Declaration => 1195, - Iir_Kind_Signal_Attribute_Declaration => 1198, - Iir_Kind_Identity_Operator => 1202, - Iir_Kind_Negation_Operator => 1206, - Iir_Kind_Absolute_Operator => 1210, - Iir_Kind_Not_Operator => 1214, - Iir_Kind_Implicit_Condition_Operator => 1218, - Iir_Kind_Condition_Operator => 1222, - Iir_Kind_Reduction_And_Operator => 1226, - Iir_Kind_Reduction_Or_Operator => 1230, - Iir_Kind_Reduction_Nand_Operator => 1234, - Iir_Kind_Reduction_Nor_Operator => 1238, - Iir_Kind_Reduction_Xor_Operator => 1242, - Iir_Kind_Reduction_Xnor_Operator => 1246, - Iir_Kind_And_Operator => 1251, - Iir_Kind_Or_Operator => 1256, - Iir_Kind_Nand_Operator => 1261, - Iir_Kind_Nor_Operator => 1266, - Iir_Kind_Xor_Operator => 1271, - Iir_Kind_Xnor_Operator => 1276, - Iir_Kind_Equality_Operator => 1281, - Iir_Kind_Inequality_Operator => 1286, - Iir_Kind_Less_Than_Operator => 1291, - Iir_Kind_Less_Than_Or_Equal_Operator => 1296, - Iir_Kind_Greater_Than_Operator => 1301, - Iir_Kind_Greater_Than_Or_Equal_Operator => 1306, - Iir_Kind_Match_Equality_Operator => 1311, - Iir_Kind_Match_Inequality_Operator => 1316, - Iir_Kind_Match_Less_Than_Operator => 1321, - Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1326, - Iir_Kind_Match_Greater_Than_Operator => 1331, - Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1336, - Iir_Kind_Sll_Operator => 1341, - Iir_Kind_Sla_Operator => 1346, - Iir_Kind_Srl_Operator => 1351, - Iir_Kind_Sra_Operator => 1356, - Iir_Kind_Rol_Operator => 1361, - Iir_Kind_Ror_Operator => 1366, - Iir_Kind_Addition_Operator => 1371, - Iir_Kind_Substraction_Operator => 1376, - Iir_Kind_Concatenation_Operator => 1381, - Iir_Kind_Multiplication_Operator => 1386, - Iir_Kind_Division_Operator => 1391, - Iir_Kind_Modulus_Operator => 1396, - Iir_Kind_Remainder_Operator => 1401, - Iir_Kind_Exponentiation_Operator => 1406, - Iir_Kind_Function_Call => 1414, - Iir_Kind_Aggregate => 1421, - Iir_Kind_Parenthesis_Expression => 1424, - Iir_Kind_Qualified_Expression => 1428, - Iir_Kind_Type_Conversion => 1433, - Iir_Kind_Allocator_By_Expression => 1437, - Iir_Kind_Allocator_By_Subtype => 1442, - Iir_Kind_Selected_Element => 1450, - Iir_Kind_Dereference => 1455, - Iir_Kind_Implicit_Dereference => 1460, - Iir_Kind_Slice_Name => 1467, - Iir_Kind_Indexed_Name => 1473, - Iir_Kind_Psl_Prev => 1479, - Iir_Kind_Psl_Stable => 1484, - Iir_Kind_Psl_Rose => 1489, - Iir_Kind_Psl_Fell => 1494, - Iir_Kind_Psl_Expression => 1496, - Iir_Kind_Sensitized_Process_Statement => 1517, - Iir_Kind_Process_Statement => 1537, - Iir_Kind_Concurrent_Simple_Signal_Assignment => 1550, - Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1563, - Iir_Kind_Concurrent_Selected_Signal_Assignment => 1577, - Iir_Kind_Concurrent_Assertion_Statement => 1585, - Iir_Kind_Concurrent_Procedure_Call_Statement => 1592, - Iir_Kind_Concurrent_Break_Statement => 1600, - Iir_Kind_Psl_Assert_Directive => 1613, - Iir_Kind_Psl_Assume_Directive => 1624, - Iir_Kind_Psl_Cover_Directive => 1636, - Iir_Kind_Psl_Restrict_Directive => 1647, - Iir_Kind_Block_Statement => 1661, - Iir_Kind_If_Generate_Statement => 1672, - Iir_Kind_Case_Generate_Statement => 1681, - Iir_Kind_For_Generate_Statement => 1690, - Iir_Kind_Component_Instantiation_Statement => 1701, - Iir_Kind_Psl_Default_Clock => 1705, - Iir_Kind_Generate_Statement_Body => 1716, - Iir_Kind_If_Generate_Else_Clause => 1722, - Iir_Kind_Simple_Simultaneous_Statement => 1729, - Iir_Kind_Simultaneous_Null_Statement => 1733, - Iir_Kind_Simultaneous_Procedural_Statement => 1744, - Iir_Kind_Simultaneous_Case_Statement => 1753, - Iir_Kind_Simultaneous_If_Statement => 1762, - Iir_Kind_Simultaneous_Elsif => 1768, - Iir_Kind_Simple_Signal_Assignment_Statement => 1779, - Iir_Kind_Conditional_Signal_Assignment_Statement => 1790, - Iir_Kind_Selected_Waveform_Assignment_Statement => 1802, - Iir_Kind_Null_Statement => 1806, - Iir_Kind_Assertion_Statement => 1813, - Iir_Kind_Report_Statement => 1819, - Iir_Kind_Wait_Statement => 1827, - Iir_Kind_Variable_Assignment_Statement => 1834, - Iir_Kind_Conditional_Variable_Assignment_Statement => 1841, - Iir_Kind_Return_Statement => 1847, - Iir_Kind_For_Loop_Statement => 1858, - Iir_Kind_While_Loop_Statement => 1869, - Iir_Kind_Next_Statement => 1876, - Iir_Kind_Exit_Statement => 1883, - Iir_Kind_Case_Statement => 1891, - Iir_Kind_Procedure_Call_Statement => 1897, - Iir_Kind_Break_Statement => 1904, - Iir_Kind_If_Statement => 1914, - Iir_Kind_Elsif => 1920, - Iir_Kind_Character_Literal => 1928, - Iir_Kind_Simple_Name => 1936, - Iir_Kind_Selected_Name => 1945, - Iir_Kind_Operator_Symbol => 1951, - Iir_Kind_Reference_Name => 1956, - Iir_Kind_External_Constant_Name => 1964, - Iir_Kind_External_Signal_Name => 1972, - Iir_Kind_External_Variable_Name => 1981, - Iir_Kind_Selected_By_All_Name => 1987, - Iir_Kind_Parenthesis_Name => 1992, - Iir_Kind_Package_Pathname => 1996, - Iir_Kind_Absolute_Pathname => 1997, - Iir_Kind_Relative_Pathname => 1998, - Iir_Kind_Pathname_Element => 2003, - Iir_Kind_Base_Attribute => 2005, - Iir_Kind_Subtype_Attribute => 2010, - Iir_Kind_Element_Attribute => 2015, - Iir_Kind_Across_Attribute => 2020, - Iir_Kind_Through_Attribute => 2025, - Iir_Kind_Nature_Reference_Attribute => 2029, - Iir_Kind_Left_Type_Attribute => 2034, - Iir_Kind_Right_Type_Attribute => 2039, - Iir_Kind_High_Type_Attribute => 2044, - Iir_Kind_Low_Type_Attribute => 2049, - Iir_Kind_Ascending_Type_Attribute => 2054, - Iir_Kind_Image_Attribute => 2060, - Iir_Kind_Value_Attribute => 2066, - Iir_Kind_Pos_Attribute => 2072, - Iir_Kind_Val_Attribute => 2078, - Iir_Kind_Succ_Attribute => 2084, - Iir_Kind_Pred_Attribute => 2090, - Iir_Kind_Leftof_Attribute => 2096, - Iir_Kind_Rightof_Attribute => 2102, - Iir_Kind_Signal_Slew_Attribute => 2110, - Iir_Kind_Quantity_Slew_Attribute => 2118, - Iir_Kind_Ramp_Attribute => 2126, - Iir_Kind_Zoh_Attribute => 2134, - Iir_Kind_Ltf_Attribute => 2142, - Iir_Kind_Ztf_Attribute => 2152, - Iir_Kind_Dot_Attribute => 2159, - Iir_Kind_Integ_Attribute => 2166, - Iir_Kind_Above_Attribute => 2174, - Iir_Kind_Quantity_Delayed_Attribute => 2182, - Iir_Kind_Delayed_Attribute => 2191, - Iir_Kind_Stable_Attribute => 2200, - Iir_Kind_Quiet_Attribute => 2209, - Iir_Kind_Transaction_Attribute => 2218, - Iir_Kind_Event_Attribute => 2222, - Iir_Kind_Active_Attribute => 2226, - Iir_Kind_Last_Event_Attribute => 2230, - Iir_Kind_Last_Active_Attribute => 2234, - Iir_Kind_Last_Value_Attribute => 2238, - Iir_Kind_Driving_Attribute => 2242, - Iir_Kind_Driving_Value_Attribute => 2246, - Iir_Kind_Behavior_Attribute => 2246, - Iir_Kind_Structure_Attribute => 2246, - Iir_Kind_Simple_Name_Attribute => 2253, - Iir_Kind_Instance_Name_Attribute => 2258, - Iir_Kind_Path_Name_Attribute => 2263, - Iir_Kind_Left_Array_Attribute => 2270, - Iir_Kind_Right_Array_Attribute => 2277, - Iir_Kind_High_Array_Attribute => 2284, - Iir_Kind_Low_Array_Attribute => 2291, - Iir_Kind_Length_Array_Attribute => 2298, - Iir_Kind_Ascending_Array_Attribute => 2305, - Iir_Kind_Range_Array_Attribute => 2312, - Iir_Kind_Reverse_Range_Array_Attribute => 2319, - Iir_Kind_Attribute_Name => 2328 + Iir_Kind_Subtype_Declaration => 675, + Iir_Kind_Nature_Declaration => 681, + Iir_Kind_Subnature_Declaration => 688, + Iir_Kind_Package_Header => 690, + Iir_Kind_Unit_Declaration => 699, + Iir_Kind_Library_Declaration => 707, + Iir_Kind_Component_Declaration => 717, + Iir_Kind_Attribute_Declaration => 724, + Iir_Kind_Group_Template_Declaration => 730, + Iir_Kind_Group_Declaration => 737, + Iir_Kind_Element_Declaration => 745, + Iir_Kind_Nature_Element_Declaration => 752, + Iir_Kind_Non_Object_Alias_Declaration => 760, + Iir_Kind_Psl_Declaration => 768, + Iir_Kind_Psl_Endpoint_Declaration => 782, + Iir_Kind_Enumeration_Literal => 793, + Iir_Kind_Function_Declaration => 818, + Iir_Kind_Procedure_Declaration => 842, + Iir_Kind_Function_Body => 852, + Iir_Kind_Procedure_Body => 863, + Iir_Kind_Terminal_Declaration => 872, + Iir_Kind_Object_Alias_Declaration => 884, + Iir_Kind_Free_Quantity_Declaration => 896, + Iir_Kind_Spectrum_Quantity_Declaration => 909, + Iir_Kind_Noise_Quantity_Declaration => 921, + Iir_Kind_Across_Quantity_Declaration => 937, + Iir_Kind_Through_Quantity_Declaration => 953, + Iir_Kind_File_Declaration => 968, + Iir_Kind_Guard_Signal_Declaration => 981, + Iir_Kind_Signal_Declaration => 998, + Iir_Kind_Variable_Declaration => 1011, + Iir_Kind_Constant_Declaration => 1025, + Iir_Kind_Iterator_Declaration => 1037, + Iir_Kind_Interface_Constant_Declaration => 1054, + Iir_Kind_Interface_Variable_Declaration => 1070, + Iir_Kind_Interface_Signal_Declaration => 1091, + Iir_Kind_Interface_File_Declaration => 1107, + Iir_Kind_Interface_Quantity_Declaration => 1123, + Iir_Kind_Interface_Terminal_Declaration => 1135, + Iir_Kind_Interface_Type_Declaration => 1146, + Iir_Kind_Interface_Package_Declaration => 1159, + Iir_Kind_Interface_Function_Declaration => 1177, + Iir_Kind_Interface_Procedure_Declaration => 1191, + Iir_Kind_Anonymous_Signal_Declaration => 1200, + Iir_Kind_Signal_Attribute_Declaration => 1203, + Iir_Kind_Identity_Operator => 1207, + Iir_Kind_Negation_Operator => 1211, + Iir_Kind_Absolute_Operator => 1215, + Iir_Kind_Not_Operator => 1219, + Iir_Kind_Implicit_Condition_Operator => 1223, + Iir_Kind_Condition_Operator => 1227, + Iir_Kind_Reduction_And_Operator => 1231, + Iir_Kind_Reduction_Or_Operator => 1235, + Iir_Kind_Reduction_Nand_Operator => 1239, + Iir_Kind_Reduction_Nor_Operator => 1243, + Iir_Kind_Reduction_Xor_Operator => 1247, + Iir_Kind_Reduction_Xnor_Operator => 1251, + Iir_Kind_And_Operator => 1256, + Iir_Kind_Or_Operator => 1261, + Iir_Kind_Nand_Operator => 1266, + Iir_Kind_Nor_Operator => 1271, + Iir_Kind_Xor_Operator => 1276, + Iir_Kind_Xnor_Operator => 1281, + Iir_Kind_Equality_Operator => 1286, + Iir_Kind_Inequality_Operator => 1291, + Iir_Kind_Less_Than_Operator => 1296, + Iir_Kind_Less_Than_Or_Equal_Operator => 1301, + Iir_Kind_Greater_Than_Operator => 1306, + Iir_Kind_Greater_Than_Or_Equal_Operator => 1311, + Iir_Kind_Match_Equality_Operator => 1316, + Iir_Kind_Match_Inequality_Operator => 1321, + Iir_Kind_Match_Less_Than_Operator => 1326, + Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1331, + Iir_Kind_Match_Greater_Than_Operator => 1336, + Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1341, + Iir_Kind_Sll_Operator => 1346, + Iir_Kind_Sla_Operator => 1351, + Iir_Kind_Srl_Operator => 1356, + Iir_Kind_Sra_Operator => 1361, + Iir_Kind_Rol_Operator => 1366, + Iir_Kind_Ror_Operator => 1371, + Iir_Kind_Addition_Operator => 1376, + Iir_Kind_Substraction_Operator => 1381, + Iir_Kind_Concatenation_Operator => 1386, + Iir_Kind_Multiplication_Operator => 1391, + Iir_Kind_Division_Operator => 1396, + Iir_Kind_Modulus_Operator => 1401, + Iir_Kind_Remainder_Operator => 1406, + Iir_Kind_Exponentiation_Operator => 1411, + Iir_Kind_Function_Call => 1419, + Iir_Kind_Aggregate => 1426, + Iir_Kind_Parenthesis_Expression => 1429, + Iir_Kind_Qualified_Expression => 1433, + Iir_Kind_Type_Conversion => 1438, + Iir_Kind_Allocator_By_Expression => 1443, + Iir_Kind_Allocator_By_Subtype => 1449, + Iir_Kind_Selected_Element => 1457, + Iir_Kind_Dereference => 1462, + Iir_Kind_Implicit_Dereference => 1467, + Iir_Kind_Slice_Name => 1474, + Iir_Kind_Indexed_Name => 1480, + Iir_Kind_Psl_Prev => 1486, + Iir_Kind_Psl_Stable => 1491, + Iir_Kind_Psl_Rose => 1496, + Iir_Kind_Psl_Fell => 1501, + Iir_Kind_Psl_Expression => 1503, + Iir_Kind_Sensitized_Process_Statement => 1524, + Iir_Kind_Process_Statement => 1544, + Iir_Kind_Concurrent_Simple_Signal_Assignment => 1557, + Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1570, + Iir_Kind_Concurrent_Selected_Signal_Assignment => 1584, + Iir_Kind_Concurrent_Assertion_Statement => 1592, + Iir_Kind_Concurrent_Procedure_Call_Statement => 1599, + Iir_Kind_Concurrent_Break_Statement => 1607, + Iir_Kind_Psl_Assert_Directive => 1620, + Iir_Kind_Psl_Assume_Directive => 1631, + Iir_Kind_Psl_Cover_Directive => 1643, + Iir_Kind_Psl_Restrict_Directive => 1654, + Iir_Kind_Block_Statement => 1668, + Iir_Kind_If_Generate_Statement => 1679, + Iir_Kind_Case_Generate_Statement => 1688, + Iir_Kind_For_Generate_Statement => 1697, + Iir_Kind_Component_Instantiation_Statement => 1708, + Iir_Kind_Psl_Default_Clock => 1712, + Iir_Kind_Generate_Statement_Body => 1723, + Iir_Kind_If_Generate_Else_Clause => 1729, + Iir_Kind_Simple_Simultaneous_Statement => 1736, + Iir_Kind_Simultaneous_Null_Statement => 1740, + Iir_Kind_Simultaneous_Procedural_Statement => 1751, + Iir_Kind_Simultaneous_Case_Statement => 1760, + Iir_Kind_Simultaneous_If_Statement => 1769, + Iir_Kind_Simultaneous_Elsif => 1775, + Iir_Kind_Simple_Signal_Assignment_Statement => 1786, + Iir_Kind_Conditional_Signal_Assignment_Statement => 1797, + Iir_Kind_Selected_Waveform_Assignment_Statement => 1809, + Iir_Kind_Null_Statement => 1813, + Iir_Kind_Assertion_Statement => 1820, + Iir_Kind_Report_Statement => 1826, + Iir_Kind_Wait_Statement => 1834, + Iir_Kind_Variable_Assignment_Statement => 1841, + Iir_Kind_Conditional_Variable_Assignment_Statement => 1848, + Iir_Kind_Return_Statement => 1854, + Iir_Kind_For_Loop_Statement => 1865, + Iir_Kind_While_Loop_Statement => 1876, + Iir_Kind_Next_Statement => 1883, + Iir_Kind_Exit_Statement => 1890, + Iir_Kind_Case_Statement => 1898, + Iir_Kind_Procedure_Call_Statement => 1904, + Iir_Kind_Break_Statement => 1911, + Iir_Kind_If_Statement => 1921, + Iir_Kind_Elsif => 1927, + Iir_Kind_Character_Literal => 1935, + Iir_Kind_Simple_Name => 1943, + Iir_Kind_Selected_Name => 1952, + Iir_Kind_Operator_Symbol => 1958, + Iir_Kind_Reference_Name => 1963, + Iir_Kind_External_Constant_Name => 1972, + Iir_Kind_External_Signal_Name => 1981, + Iir_Kind_External_Variable_Name => 1991, + Iir_Kind_Selected_By_All_Name => 1997, + Iir_Kind_Parenthesis_Name => 2002, + Iir_Kind_Package_Pathname => 2006, + Iir_Kind_Absolute_Pathname => 2007, + Iir_Kind_Relative_Pathname => 2008, + Iir_Kind_Pathname_Element => 2013, + Iir_Kind_Base_Attribute => 2015, + Iir_Kind_Subtype_Attribute => 2020, + Iir_Kind_Element_Attribute => 2025, + Iir_Kind_Across_Attribute => 2030, + Iir_Kind_Through_Attribute => 2035, + Iir_Kind_Nature_Reference_Attribute => 2039, + Iir_Kind_Left_Type_Attribute => 2044, + Iir_Kind_Right_Type_Attribute => 2049, + Iir_Kind_High_Type_Attribute => 2054, + Iir_Kind_Low_Type_Attribute => 2059, + Iir_Kind_Ascending_Type_Attribute => 2064, + Iir_Kind_Image_Attribute => 2070, + Iir_Kind_Value_Attribute => 2076, + Iir_Kind_Pos_Attribute => 2082, + Iir_Kind_Val_Attribute => 2088, + Iir_Kind_Succ_Attribute => 2094, + Iir_Kind_Pred_Attribute => 2100, + Iir_Kind_Leftof_Attribute => 2106, + Iir_Kind_Rightof_Attribute => 2112, + Iir_Kind_Signal_Slew_Attribute => 2120, + Iir_Kind_Quantity_Slew_Attribute => 2128, + Iir_Kind_Ramp_Attribute => 2136, + Iir_Kind_Zoh_Attribute => 2144, + Iir_Kind_Ltf_Attribute => 2152, + Iir_Kind_Ztf_Attribute => 2162, + Iir_Kind_Dot_Attribute => 2169, + Iir_Kind_Integ_Attribute => 2176, + Iir_Kind_Above_Attribute => 2184, + Iir_Kind_Quantity_Delayed_Attribute => 2192, + Iir_Kind_Delayed_Attribute => 2201, + Iir_Kind_Stable_Attribute => 2210, + Iir_Kind_Quiet_Attribute => 2219, + Iir_Kind_Transaction_Attribute => 2228, + Iir_Kind_Event_Attribute => 2232, + Iir_Kind_Active_Attribute => 2236, + Iir_Kind_Last_Event_Attribute => 2240, + Iir_Kind_Last_Active_Attribute => 2244, + Iir_Kind_Last_Value_Attribute => 2248, + Iir_Kind_Driving_Attribute => 2252, + Iir_Kind_Driving_Value_Attribute => 2256, + Iir_Kind_Behavior_Attribute => 2256, + Iir_Kind_Structure_Attribute => 2256, + Iir_Kind_Simple_Name_Attribute => 2263, + Iir_Kind_Instance_Name_Attribute => 2268, + Iir_Kind_Path_Name_Attribute => 2273, + Iir_Kind_Left_Array_Attribute => 2280, + Iir_Kind_Right_Array_Attribute => 2287, + Iir_Kind_High_Array_Attribute => 2294, + Iir_Kind_Low_Array_Attribute => 2301, + Iir_Kind_Length_Array_Attribute => 2308, + Iir_Kind_Ascending_Array_Attribute => 2315, + Iir_Kind_Range_Array_Attribute => 2322, + Iir_Kind_Reverse_Range_Array_Attribute => 2329, + Iir_Kind_Attribute_Name => 2338 ); function Get_Fields_First (K : Iir_Kind) return Fields_Index is @@ -12227,14 +12237,19 @@ package body Vhdl.Nodes_Meta is | Iir_Kind_Physical_Type_Definition | Iir_Kind_Subtype_Definition | Iir_Kind_Record_Nature_Definition + | Iir_Kind_Subtype_Declaration + | Iir_Kind_Element_Declaration + | Iir_Kind_Object_Alias_Declaration | Iir_Kind_Free_Quantity_Declaration | Iir_Kind_Spectrum_Quantity_Declaration | Iir_Kind_Noise_Quantity_Declaration | Iir_Kind_Across_Quantity_Declaration | Iir_Kind_Through_Quantity_Declaration + | Iir_Kind_File_Declaration | Iir_Kind_Signal_Declaration | Iir_Kind_Variable_Declaration | Iir_Kind_Constant_Declaration + | Iir_Kind_Iterator_Declaration | Iir_Kind_Interface_Constant_Declaration | Iir_Kind_Interface_Variable_Declaration | Iir_Kind_Interface_Signal_Declaration @@ -12243,6 +12258,8 @@ package body Vhdl.Nodes_Meta is | Iir_Kind_Interface_Terminal_Declaration | Iir_Kind_Interface_Type_Declaration | Iir_Kind_Anonymous_Signal_Declaration + | Iir_Kind_Allocator_By_Expression + | Iir_Kind_Allocator_By_Subtype | Iir_Kind_Sensitized_Process_Statement | Iir_Kind_Concurrent_Simple_Signal_Assignment | Iir_Kind_Concurrent_Conditional_Signal_Assignment @@ -12263,7 +12280,10 @@ package body Vhdl.Nodes_Meta is | Iir_Kind_Exit_Statement | Iir_Kind_Break_Statement | Iir_Kind_If_Statement - | Iir_Kind_Elsif => + | Iir_Kind_Elsif + | Iir_Kind_External_Constant_Name + | Iir_Kind_External_Signal_Name + | Iir_Kind_External_Variable_Name => return True; when others => return False; -- cgit v1.2.3