diff options
-rw-r--r-- | src/vhdl/vhdl-nodes.adb | 4 | ||||
-rw-r--r-- | src/vhdl/vhdl-nodes.ads | 13 | ||||
-rw-r--r-- | src/vhdl/vhdl-nodes_meta.adb | 393 |
3 files changed, 216 insertions, 194 deletions
diff --git a/src/vhdl/vhdl-nodes.adb b/src/vhdl/vhdl-nodes.adb index 9072405aa..0a7f1266a 100644 --- a/src/vhdl/vhdl-nodes.adb +++ b/src/vhdl/vhdl-nodes.adb @@ -4710,7 +4710,7 @@ package body Vhdl.Nodes is pragma Assert (Func /= Null_Iir); pragma Assert (Has_Resolution_Function_Flag (Get_Kind (Func)), "no field Resolution_Function_Flag"); - return Get_Flag7 (Func); + return Get_Flag13 (Func); end Get_Resolution_Function_Flag; procedure Set_Resolution_Function_Flag (Func : Iir; Flag : Boolean) is @@ -4718,7 +4718,7 @@ package body Vhdl.Nodes is pragma Assert (Func /= Null_Iir); pragma Assert (Has_Resolution_Function_Flag (Get_Kind (Func)), "no field Resolution_Function_Flag"); - Set_Flag7 (Func, Flag); + Set_Flag13 (Func, Flag); end Set_Resolution_Function_Flag; function Get_Wait_State (Proc : Iir) return Tri_State_Type is diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads index 889f8ad70..37e155c5d 100644 --- a/src/vhdl/vhdl-nodes.ads +++ b/src/vhdl/vhdl-nodes.ads @@ -1421,6 +1421,7 @@ package Vhdl.Nodes is -- Get/Set_Is_Ref (Flag12) -- -- Only for Iir_Kind_Interface_Signal_Declaration: + -- Only for Iir_Kind_Interface_Constant_Declaration: -- Get/Set_Open_Flag (Flag7) -- -- Get/Set_Expr_Staticness (State1) @@ -1473,6 +1474,8 @@ package Vhdl.Nodes is -- -- Get/Set_Is_Ref (Flag12) -- + -- Get/Set_Open_Flag (Flag7) + -- -- Get/Set_Name_Staticness (State2) -- Iir_Kind_Interface_Package_Declaration (Medium) @@ -1511,6 +1514,8 @@ package Vhdl.Nodes is -- Get/Set_Visible_Flag (Flag4) -- -- Get/Set_Is_Within_Flag (Flag5) + -- + -- Get/Set_Open_Flag (Flag7) -- Iir_Kind_Function_Declaration (Medium) -- Iir_Kind_Procedure_Declaration (Medium) @@ -1589,7 +1594,7 @@ package Vhdl.Nodes is -- Get/Set_Use_Flag (Flag6) -- -- Only for Iir_Kind_Function_Declaration: - -- Get/Set_Resolution_Function_Flag (Flag7) + -- Get/Set_Resolution_Function_Flag (Flag13) -- -- Only for Iir_Kind_Function_Declaration: -- Get/Set_Has_Pure (Flag8) @@ -1706,7 +1711,7 @@ package Vhdl.Nodes is -- Get/Set_Use_Flag (Flag6) -- -- Only for Iir_Kind_Interface_Function_Declaration: - -- Get/Set_Resolution_Function_Flag (Flag7) + -- Get/Set_Resolution_Function_Flag (Flag13) -- -- Only for Iir_Kind_Interface_Function_Declaration: -- Get/Set_Has_Pure (Flag8) @@ -1714,6 +1719,8 @@ package Vhdl.Nodes is -- Get/Set_Has_Parameter (Flag10) -- -- Get/Set_All_Sensitized_State (State3) + -- + -- Get/Set_Open_Flag (Flag7) -- Iir_Kind_Signal_Declaration (Short) -- @@ -8230,7 +8237,7 @@ package Vhdl.Nodes is procedure Set_Passive_Flag (Proc : Iir; Flag : Boolean); -- True if the function is used as a resolution function. - -- Field: Flag7 + -- Field: Flag13 function Get_Resolution_Function_Flag (Func : Iir) return Boolean; procedure Set_Resolution_Function_Flag (Func : Iir; Flag : Boolean); diff --git a/src/vhdl/vhdl-nodes_meta.adb b/src/vhdl/vhdl-nodes_meta.adb index 1392a860d..6d0d0ea44 100644 --- a/src/vhdl/vhdl-nodes_meta.adb +++ b/src/vhdl/vhdl-nodes_meta.adb @@ -3397,12 +3397,12 @@ package body Vhdl.Nodes_Meta is Field_Seen_Flag, Field_Has_Parameter, Field_Hide_Implicit_Flag, + Field_Resolution_Function_Flag, Field_Pure_Flag, Field_Foreign_Flag, Field_Visible_Flag, Field_Is_Within_Flag, Field_Use_Flag, - Field_Resolution_Function_Flag, Field_Has_Pure, Field_Has_Body, Field_Wait_State, @@ -3656,6 +3656,7 @@ package body Vhdl.Nodes_Meta is Field_Visible_Flag, Field_After_Drivers_Flag, Field_Use_Flag, + Field_Open_Flag, Field_Expr_Staticness, Field_Name_Staticness, Field_Parent, @@ -3755,6 +3756,7 @@ package body Vhdl.Nodes_Meta is Field_Has_Identifier_List, Field_Visible_Flag, Field_Use_Flag, + Field_Open_Flag, Field_Name_Staticness, Field_Parent, Field_Type, @@ -3765,6 +3767,7 @@ package body Vhdl.Nodes_Meta is Field_Identifier, Field_Visible_Flag, Field_Is_Within_Flag, + Field_Open_Flag, Field_Parent, Field_Uninstantiated_Package_Name, Field_Uninstantiated_Package_Decl, @@ -3779,11 +3782,12 @@ package body Vhdl.Nodes_Meta is Field_Subprogram_Hash, Field_Seen_Flag, Field_Has_Parameter, + Field_Resolution_Function_Flag, Field_Pure_Flag, Field_Foreign_Flag, Field_Visible_Flag, Field_Use_Flag, - Field_Resolution_Function_Flag, + Field_Open_Flag, Field_Has_Pure, Field_All_Sensitized_State, Field_Parent, @@ -3800,6 +3804,7 @@ package body Vhdl.Nodes_Meta is Field_Foreign_Flag, Field_Visible_Flag, Field_Use_Flag, + Field_Open_Flag, Field_All_Sensitized_State, Field_Parent, Field_Chain, @@ -5252,192 +5257,192 @@ package body Vhdl.Nodes_Meta is Iir_Kind_Variable_Declaration => 1007, Iir_Kind_Constant_Declaration => 1021, Iir_Kind_Iterator_Declaration => 1032, - Iir_Kind_Interface_Constant_Declaration => 1048, - Iir_Kind_Interface_Variable_Declaration => 1064, - Iir_Kind_Interface_Signal_Declaration => 1085, - Iir_Kind_Interface_File_Declaration => 1101, - Iir_Kind_Interface_Quantity_Declaration => 1117, - Iir_Kind_Interface_Terminal_Declaration => 1129, - Iir_Kind_Interface_Type_Declaration => 1139, - Iir_Kind_Interface_Package_Declaration => 1151, - Iir_Kind_Interface_Function_Declaration => 1168, - Iir_Kind_Interface_Procedure_Declaration => 1181, - Iir_Kind_Anonymous_Signal_Declaration => 1190, - Iir_Kind_Signal_Attribute_Declaration => 1193, - Iir_Kind_Identity_Operator => 1197, - Iir_Kind_Negation_Operator => 1201, - Iir_Kind_Absolute_Operator => 1205, - Iir_Kind_Not_Operator => 1209, - Iir_Kind_Implicit_Condition_Operator => 1213, - Iir_Kind_Condition_Operator => 1217, - Iir_Kind_Reduction_And_Operator => 1221, - Iir_Kind_Reduction_Or_Operator => 1225, - Iir_Kind_Reduction_Nand_Operator => 1229, - Iir_Kind_Reduction_Nor_Operator => 1233, - Iir_Kind_Reduction_Xor_Operator => 1237, - Iir_Kind_Reduction_Xnor_Operator => 1241, - Iir_Kind_And_Operator => 1246, - Iir_Kind_Or_Operator => 1251, - Iir_Kind_Nand_Operator => 1256, - Iir_Kind_Nor_Operator => 1261, - Iir_Kind_Xor_Operator => 1266, - Iir_Kind_Xnor_Operator => 1271, - Iir_Kind_Equality_Operator => 1276, - Iir_Kind_Inequality_Operator => 1281, - Iir_Kind_Less_Than_Operator => 1286, - Iir_Kind_Less_Than_Or_Equal_Operator => 1291, - Iir_Kind_Greater_Than_Operator => 1296, - Iir_Kind_Greater_Than_Or_Equal_Operator => 1301, - Iir_Kind_Match_Equality_Operator => 1306, - Iir_Kind_Match_Inequality_Operator => 1311, - Iir_Kind_Match_Less_Than_Operator => 1316, - Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1321, - Iir_Kind_Match_Greater_Than_Operator => 1326, - Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1331, - Iir_Kind_Sll_Operator => 1336, - Iir_Kind_Sla_Operator => 1341, - Iir_Kind_Srl_Operator => 1346, - Iir_Kind_Sra_Operator => 1351, - Iir_Kind_Rol_Operator => 1356, - Iir_Kind_Ror_Operator => 1361, - Iir_Kind_Addition_Operator => 1366, - Iir_Kind_Substraction_Operator => 1371, - Iir_Kind_Concatenation_Operator => 1376, - Iir_Kind_Multiplication_Operator => 1381, - Iir_Kind_Division_Operator => 1386, - Iir_Kind_Modulus_Operator => 1391, - Iir_Kind_Remainder_Operator => 1396, - Iir_Kind_Exponentiation_Operator => 1401, - Iir_Kind_Function_Call => 1409, - Iir_Kind_Aggregate => 1416, - Iir_Kind_Parenthesis_Expression => 1419, - Iir_Kind_Qualified_Expression => 1423, - Iir_Kind_Type_Conversion => 1428, - Iir_Kind_Allocator_By_Expression => 1432, - Iir_Kind_Allocator_By_Subtype => 1437, - Iir_Kind_Selected_Element => 1445, - Iir_Kind_Dereference => 1450, - Iir_Kind_Implicit_Dereference => 1455, - Iir_Kind_Slice_Name => 1462, - Iir_Kind_Indexed_Name => 1468, - Iir_Kind_Psl_Prev => 1474, - Iir_Kind_Psl_Stable => 1479, - Iir_Kind_Psl_Rose => 1484, - Iir_Kind_Psl_Fell => 1489, - Iir_Kind_Psl_Expression => 1491, - Iir_Kind_Sensitized_Process_Statement => 1512, - Iir_Kind_Process_Statement => 1532, - Iir_Kind_Concurrent_Simple_Signal_Assignment => 1545, - Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1558, - Iir_Kind_Concurrent_Selected_Signal_Assignment => 1572, - Iir_Kind_Concurrent_Assertion_Statement => 1580, - Iir_Kind_Concurrent_Procedure_Call_Statement => 1587, - Iir_Kind_Concurrent_Break_Statement => 1595, - Iir_Kind_Psl_Assert_Directive => 1608, - Iir_Kind_Psl_Assume_Directive => 1619, - Iir_Kind_Psl_Cover_Directive => 1631, - Iir_Kind_Psl_Restrict_Directive => 1642, - Iir_Kind_Block_Statement => 1656, - Iir_Kind_If_Generate_Statement => 1667, - Iir_Kind_Case_Generate_Statement => 1676, - Iir_Kind_For_Generate_Statement => 1685, - Iir_Kind_Component_Instantiation_Statement => 1696, - Iir_Kind_Psl_Default_Clock => 1700, - Iir_Kind_Generate_Statement_Body => 1711, - Iir_Kind_If_Generate_Else_Clause => 1717, - Iir_Kind_Simple_Simultaneous_Statement => 1724, - Iir_Kind_Simultaneous_Null_Statement => 1728, - Iir_Kind_Simultaneous_Procedural_Statement => 1739, - Iir_Kind_Simultaneous_Case_Statement => 1748, - Iir_Kind_Simultaneous_If_Statement => 1757, - Iir_Kind_Simultaneous_Elsif => 1763, - Iir_Kind_Simple_Signal_Assignment_Statement => 1774, - Iir_Kind_Conditional_Signal_Assignment_Statement => 1785, - Iir_Kind_Selected_Waveform_Assignment_Statement => 1797, - Iir_Kind_Null_Statement => 1801, - Iir_Kind_Assertion_Statement => 1808, - Iir_Kind_Report_Statement => 1814, - Iir_Kind_Wait_Statement => 1822, - Iir_Kind_Variable_Assignment_Statement => 1829, - Iir_Kind_Conditional_Variable_Assignment_Statement => 1836, - Iir_Kind_Return_Statement => 1842, - Iir_Kind_For_Loop_Statement => 1853, - Iir_Kind_While_Loop_Statement => 1864, - Iir_Kind_Next_Statement => 1871, - Iir_Kind_Exit_Statement => 1878, - Iir_Kind_Case_Statement => 1886, - Iir_Kind_Procedure_Call_Statement => 1892, - Iir_Kind_Break_Statement => 1899, - Iir_Kind_If_Statement => 1909, - Iir_Kind_Elsif => 1915, - Iir_Kind_Character_Literal => 1923, - Iir_Kind_Simple_Name => 1931, - Iir_Kind_Selected_Name => 1940, - Iir_Kind_Operator_Symbol => 1946, - Iir_Kind_Reference_Name => 1951, - Iir_Kind_External_Constant_Name => 1959, - Iir_Kind_External_Signal_Name => 1967, - Iir_Kind_External_Variable_Name => 1976, - Iir_Kind_Selected_By_All_Name => 1982, - Iir_Kind_Parenthesis_Name => 1987, - Iir_Kind_Package_Pathname => 1991, - Iir_Kind_Absolute_Pathname => 1992, - Iir_Kind_Relative_Pathname => 1993, - Iir_Kind_Pathname_Element => 1998, - Iir_Kind_Base_Attribute => 2000, - Iir_Kind_Subtype_Attribute => 2005, - Iir_Kind_Element_Attribute => 2010, - Iir_Kind_Across_Attribute => 2015, - Iir_Kind_Through_Attribute => 2020, - Iir_Kind_Nature_Reference_Attribute => 2024, - Iir_Kind_Left_Type_Attribute => 2029, - Iir_Kind_Right_Type_Attribute => 2034, - Iir_Kind_High_Type_Attribute => 2039, - Iir_Kind_Low_Type_Attribute => 2044, - Iir_Kind_Ascending_Type_Attribute => 2049, - Iir_Kind_Image_Attribute => 2055, - Iir_Kind_Value_Attribute => 2061, - Iir_Kind_Pos_Attribute => 2067, - Iir_Kind_Val_Attribute => 2073, - Iir_Kind_Succ_Attribute => 2079, - Iir_Kind_Pred_Attribute => 2085, - Iir_Kind_Leftof_Attribute => 2091, - Iir_Kind_Rightof_Attribute => 2097, - Iir_Kind_Signal_Slew_Attribute => 2105, - Iir_Kind_Quantity_Slew_Attribute => 2113, - Iir_Kind_Ramp_Attribute => 2121, - Iir_Kind_Zoh_Attribute => 2129, - Iir_Kind_Ltf_Attribute => 2137, - Iir_Kind_Ztf_Attribute => 2147, - Iir_Kind_Dot_Attribute => 2154, - Iir_Kind_Integ_Attribute => 2161, - Iir_Kind_Above_Attribute => 2169, - Iir_Kind_Quantity_Delayed_Attribute => 2177, - Iir_Kind_Delayed_Attribute => 2186, - Iir_Kind_Stable_Attribute => 2195, - Iir_Kind_Quiet_Attribute => 2204, - Iir_Kind_Transaction_Attribute => 2213, - Iir_Kind_Event_Attribute => 2217, - Iir_Kind_Active_Attribute => 2221, - Iir_Kind_Last_Event_Attribute => 2225, - Iir_Kind_Last_Active_Attribute => 2229, - Iir_Kind_Last_Value_Attribute => 2233, - Iir_Kind_Driving_Attribute => 2237, - Iir_Kind_Driving_Value_Attribute => 2241, - Iir_Kind_Behavior_Attribute => 2241, - Iir_Kind_Structure_Attribute => 2241, - Iir_Kind_Simple_Name_Attribute => 2248, - Iir_Kind_Instance_Name_Attribute => 2253, - Iir_Kind_Path_Name_Attribute => 2258, - Iir_Kind_Left_Array_Attribute => 2265, - Iir_Kind_Right_Array_Attribute => 2272, - Iir_Kind_High_Array_Attribute => 2279, - Iir_Kind_Low_Array_Attribute => 2286, - Iir_Kind_Length_Array_Attribute => 2293, - Iir_Kind_Ascending_Array_Attribute => 2300, - Iir_Kind_Range_Array_Attribute => 2307, - Iir_Kind_Reverse_Range_Array_Attribute => 2314, - Iir_Kind_Attribute_Name => 2323 + 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 ); function Get_Fields_First (K : Iir_Kind) return Fields_Index is @@ -7952,7 +7957,17 @@ package body Vhdl.Nodes_Meta is function Has_Open_Flag (K : Iir_Kind) return Boolean is begin - return K = Iir_Kind_Interface_Signal_Declaration; + case K is + when Iir_Kind_Interface_Constant_Declaration + | Iir_Kind_Interface_Signal_Declaration + | Iir_Kind_Interface_Type_Declaration + | Iir_Kind_Interface_Package_Declaration + | Iir_Kind_Interface_Function_Declaration + | Iir_Kind_Interface_Procedure_Declaration => + return True; + when others => + return False; + end case; end Has_Open_Flag; function Has_After_Drivers_Flag (K : Iir_Kind) return Boolean is |