aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vhdl/vhdl-nodes.adb4
-rw-r--r--src/vhdl/vhdl-nodes.ads13
-rw-r--r--src/vhdl/vhdl-nodes_meta.adb393
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