aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/nodes_meta.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/nodes_meta.adb')
-rw-r--r--src/vhdl/nodes_meta.adb468
1 files changed, 192 insertions, 276 deletions
diff --git a/src/vhdl/nodes_meta.adb b/src/vhdl/nodes_meta.adb
index be5dbdcea..7e3aba364 100644
--- a/src/vhdl/nodes_meta.adb
+++ b/src/vhdl/nodes_meta.adb
@@ -2485,6 +2485,7 @@ package body Nodes_Meta is
Field_End_Has_Reserved_Id,
Field_End_Has_Identifier,
Field_Declaration_Chain,
+ Field_Attribute_Value_Chain,
Field_Parent,
Field_Package,
-- Iir_Kind_Configuration_Declaration
@@ -2532,7 +2533,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Physical_Literal,
Field_Physical_Unit_Value,
Field_Parent,
@@ -2552,7 +2552,6 @@ package body Nodes_Meta is
Field_End_Has_Reserved_Id,
Field_End_Has_Identifier,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Generic_Chain,
Field_Port_Chain,
Field_Parent,
@@ -2577,7 +2576,6 @@ package body Nodes_Meta is
Field_Use_Flag,
Field_Group_Constituent_List,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Group_Template_Name,
Field_Parent,
-- Iir_Kind_Element_Declaration
@@ -2620,7 +2618,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Default_Value,
Field_Parent,
Field_Type,
@@ -2631,7 +2628,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Tolerance,
Field_Plus_Terminal,
Field_Minus_Terminal,
@@ -2645,7 +2641,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Tolerance,
Field_Plus_Terminal,
Field_Minus_Terminal,
@@ -2662,7 +2657,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Literal_Origin,
- Field_Attribute_Value_Chain,
Field_Parent,
Field_Type,
Field_Enumeration_Decl,
@@ -2683,7 +2677,6 @@ package body Nodes_Meta is
Field_Wait_State,
Field_All_Sensitized_State,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Interface_Declaration_Chain,
Field_Generic_Chain,
Field_Return_Type_Mark,
@@ -2702,7 +2695,6 @@ package body Nodes_Meta is
Field_Use_Flag,
Field_Wait_State,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Interface_Declaration_Chain,
Field_Generic_Chain,
Field_Generic_Map_Aspect_Chain,
@@ -2720,7 +2712,6 @@ package body Nodes_Meta is
Field_Use_Flag,
Field_Wait_State,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Interface_Declaration_Chain,
Field_Generic_Chain,
Field_Generic_Map_Aspect_Chain,
@@ -2742,7 +2733,6 @@ package body Nodes_Meta is
Field_Purity_State,
Field_All_Sensitized_State,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Interface_Declaration_Chain,
Field_Generic_Chain,
Field_Return_Type_Mark,
@@ -2754,6 +2744,7 @@ package body Nodes_Meta is
Field_End_Has_Identifier,
Field_Declaration_Chain,
Field_Chain,
+ Field_Attribute_Value_Chain,
Field_Sequential_Statement_Chain,
Field_Parent,
Field_Subprogram_Specification,
@@ -2764,6 +2755,7 @@ package body Nodes_Meta is
Field_End_Has_Identifier,
Field_Declaration_Chain,
Field_Chain,
+ Field_Attribute_Value_Chain,
Field_Sequential_Statement_Chain,
Field_Parent,
Field_Subprogram_Specification,
@@ -2792,7 +2784,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_File_Logical_Name,
Field_File_Open_Kind,
Field_Subtype_Indication,
@@ -2807,7 +2798,6 @@ package body Nodes_Meta is
Field_Name_Staticness,
Field_Signal_Kind,
Field_Guard_Expression,
- Field_Attribute_Value_Chain,
Field_Guard_Sensitivity_List,
Field_Block_Statement,
Field_Parent,
@@ -2825,10 +2815,9 @@ package body Nodes_Meta is
Field_Name_Staticness,
Field_Signal_Kind,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Signal_Driver,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Variable_Declaration
@@ -2841,9 +2830,8 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Constant_Declaration
@@ -2856,10 +2844,9 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Deferred_Declaration,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Iterator_Declaration
@@ -2871,7 +2858,6 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Discrete_Range,
Field_Subtype_Indication,
Field_Parent,
@@ -2887,9 +2873,8 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Interface_Variable_Declaration
@@ -2903,9 +2888,8 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Interface_Signal_Declaration
@@ -2923,9 +2907,8 @@ package body Nodes_Meta is
Field_Name_Staticness,
Field_Signal_Kind,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Interface_File_Declaration
@@ -2939,9 +2922,8 @@ package body Nodes_Meta is
Field_Expr_Staticness,
Field_Name_Staticness,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Subtype_Indication,
Field_Default_Value,
+ Field_Subtype_Indication,
Field_Parent,
Field_Type,
-- Iir_Kind_Interface_Package_Declaration
@@ -3326,7 +3308,6 @@ package body Nodes_Meta is
Field_Guarded_Target_State,
Field_Target,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Reject_Time_Expression,
Field_Conditional_Waveform_Chain,
Field_Guard,
@@ -3339,9 +3320,8 @@ package body Nodes_Meta is
Field_Guarded_Target_State,
Field_Target,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Expression,
Field_Reject_Time_Expression,
+ Field_Expression,
Field_Selected_Waveform_Chain,
Field_Guard,
Field_Parent,
@@ -3351,7 +3331,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Assertion_Condition,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Severity_Expression,
Field_Report_Expression,
Field_Parent,
@@ -3367,7 +3346,6 @@ package body Nodes_Meta is
Field_PSL_NFA,
Field_Visible_Flag,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Severity_Expression,
Field_Report_Expression,
Field_Parent,
@@ -3378,7 +3356,6 @@ package body Nodes_Meta is
Field_PSL_NFA,
Field_Visible_Flag,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Severity_Expression,
Field_Report_Expression,
Field_Parent,
@@ -3388,7 +3365,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Procedure_Call,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Parent,
-- Iir_Kind_Block_Statement
Field_Label,
@@ -3422,7 +3398,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Instantiated_Unit,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Default_Binding_Indication,
Field_Component_Configuration,
Field_Configuration_Specification,
@@ -3433,7 +3408,6 @@ package body Nodes_Meta is
Field_Label,
Field_Visible_Flag,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Simultaneous_Left,
Field_Simultaneous_Right,
Field_Tolerance,
@@ -3445,22 +3419,19 @@ package body Nodes_Meta is
Field_Guarded_Target_State,
Field_Target,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Waveform_Chain,
Field_Reject_Time_Expression,
+ Field_Waveform_Chain,
Field_Parent,
-- Iir_Kind_Null_Statement
Field_Label,
Field_Visible_Flag,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Parent,
-- Iir_Kind_Assertion_Statement
Field_Label,
Field_Visible_Flag,
Field_Assertion_Condition,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Severity_Expression,
Field_Report_Expression,
Field_Parent,
@@ -3468,7 +3439,6 @@ package body Nodes_Meta is
Field_Label,
Field_Visible_Flag,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Severity_Expression,
Field_Report_Expression,
Field_Parent,
@@ -3477,7 +3447,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Timeout_Clause,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Condition_Clause,
Field_Sensitivity_List,
Field_Parent,
@@ -3486,14 +3455,12 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Target,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Expression,
Field_Parent,
-- Iir_Kind_Return_Statement
Field_Label,
Field_Visible_Flag,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Expression,
Field_Parent,
Field_Type,
@@ -3504,7 +3471,6 @@ package body Nodes_Meta is
Field_End_Has_Identifier,
Field_Parameter_Specification,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Sequential_Statement_Chain,
Field_Parent,
-- Iir_Kind_While_Loop_Statement
@@ -3513,7 +3479,6 @@ package body Nodes_Meta is
Field_End_Has_Identifier,
Field_Condition,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Sequential_Statement_Chain,
Field_Parent,
-- Iir_Kind_Next_Statement
@@ -3521,7 +3486,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Condition,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Loop_Label,
Field_Parent,
-- Iir_Kind_Exit_Statement
@@ -3529,7 +3493,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Condition,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Loop_Label,
Field_Parent,
-- Iir_Kind_Case_Statement
@@ -3538,7 +3501,6 @@ package body Nodes_Meta is
Field_End_Has_Identifier,
Field_Case_Statement_Alternative_Chain,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Expression,
Field_Parent,
-- Iir_Kind_Procedure_Call_Statement
@@ -3546,7 +3508,6 @@ package body Nodes_Meta is
Field_Visible_Flag,
Field_Procedure_Call,
Field_Chain,
- Field_Attribute_Value_Chain,
Field_Parent,
-- Iir_Kind_If_Statement
Field_Label,
@@ -3554,15 +3515,14 @@ package body Nodes_Meta is
Field_End_Has_Identifier,
Field_Condition,
Field_Chain,
- Field_Attribute_Value_Chain,
- Field_Sequential_Statement_Chain,
Field_Else_Clause,
+ Field_Sequential_Statement_Chain,
Field_Parent,
-- Iir_Kind_Elsif
Field_End_Has_Identifier,
Field_Condition,
- Field_Sequential_Statement_Chain,
Field_Else_Clause,
+ Field_Sequential_Statement_Chain,
Field_Parent,
-- Iir_Kind_Character_Literal
Field_Identifier,
@@ -3932,179 +3892,179 @@ package body Nodes_Meta is
Iir_Kind_Subtype_Definition => 392,
Iir_Kind_Scalar_Nature_Definition => 396,
Iir_Kind_Overload_List => 397,
- Iir_Kind_Type_Declaration => 404,
- Iir_Kind_Anonymous_Type_Declaration => 409,
- Iir_Kind_Subtype_Declaration => 418,
- Iir_Kind_Nature_Declaration => 425,
- Iir_Kind_Subnature_Declaration => 432,
- Iir_Kind_Package_Declaration => 442,
- Iir_Kind_Package_Instantiation_Declaration => 453,
- Iir_Kind_Package_Body => 459,
- Iir_Kind_Configuration_Declaration => 468,
- Iir_Kind_Entity_Declaration => 480,
- Iir_Kind_Architecture_Body => 492,
- Iir_Kind_Package_Header => 494,
- Iir_Kind_Unit_Declaration => 504,
- Iir_Kind_Library_Declaration => 510,
- Iir_Kind_Component_Declaration => 521,
- Iir_Kind_Attribute_Declaration => 528,
- Iir_Kind_Group_Template_Declaration => 534,
- Iir_Kind_Group_Declaration => 542,
- Iir_Kind_Element_Declaration => 549,
- Iir_Kind_Non_Object_Alias_Declaration => 557,
- Iir_Kind_Psl_Declaration => 565,
- Iir_Kind_Terminal_Declaration => 571,
- Iir_Kind_Free_Quantity_Declaration => 581,
- Iir_Kind_Across_Quantity_Declaration => 594,
- Iir_Kind_Through_Quantity_Declaration => 607,
- Iir_Kind_Enumeration_Literal => 620,
- Iir_Kind_Function_Declaration => 643,
- Iir_Kind_Implicit_Function_Declaration => 661,
- Iir_Kind_Implicit_Procedure_Declaration => 677,
- Iir_Kind_Procedure_Declaration => 698,
- Iir_Kind_Function_Body => 707,
- Iir_Kind_Procedure_Body => 716,
- Iir_Kind_Object_Alias_Declaration => 728,
- Iir_Kind_File_Declaration => 744,
- Iir_Kind_Guard_Signal_Declaration => 757,
- Iir_Kind_Signal_Declaration => 775,
- Iir_Kind_Variable_Declaration => 789,
- Iir_Kind_Constant_Declaration => 804,
- Iir_Kind_Iterator_Declaration => 817,
- Iir_Kind_Interface_Constant_Declaration => 832,
- Iir_Kind_Interface_Variable_Declaration => 847,
- Iir_Kind_Interface_Signal_Declaration => 866,
- Iir_Kind_Interface_File_Declaration => 881,
- Iir_Kind_Interface_Package_Declaration => 890,
- Iir_Kind_Identity_Operator => 894,
- Iir_Kind_Negation_Operator => 898,
- Iir_Kind_Absolute_Operator => 902,
- Iir_Kind_Not_Operator => 906,
- Iir_Kind_Condition_Operator => 910,
- Iir_Kind_Reduction_And_Operator => 914,
- Iir_Kind_Reduction_Or_Operator => 918,
- Iir_Kind_Reduction_Nand_Operator => 922,
- Iir_Kind_Reduction_Nor_Operator => 926,
- Iir_Kind_Reduction_Xor_Operator => 930,
- Iir_Kind_Reduction_Xnor_Operator => 934,
- Iir_Kind_And_Operator => 939,
- Iir_Kind_Or_Operator => 944,
- Iir_Kind_Nand_Operator => 949,
- Iir_Kind_Nor_Operator => 954,
- Iir_Kind_Xor_Operator => 959,
- Iir_Kind_Xnor_Operator => 964,
- Iir_Kind_Equality_Operator => 969,
- Iir_Kind_Inequality_Operator => 974,
- Iir_Kind_Less_Than_Operator => 979,
- Iir_Kind_Less_Than_Or_Equal_Operator => 984,
- Iir_Kind_Greater_Than_Operator => 989,
- Iir_Kind_Greater_Than_Or_Equal_Operator => 994,
- Iir_Kind_Match_Equality_Operator => 999,
- Iir_Kind_Match_Inequality_Operator => 1004,
- Iir_Kind_Match_Less_Than_Operator => 1009,
- Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1014,
- Iir_Kind_Match_Greater_Than_Operator => 1019,
- Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1024,
- Iir_Kind_Sll_Operator => 1029,
- Iir_Kind_Sla_Operator => 1034,
- Iir_Kind_Srl_Operator => 1039,
- Iir_Kind_Sra_Operator => 1044,
- Iir_Kind_Rol_Operator => 1049,
- Iir_Kind_Ror_Operator => 1054,
- Iir_Kind_Addition_Operator => 1059,
- Iir_Kind_Substraction_Operator => 1064,
- Iir_Kind_Concatenation_Operator => 1069,
- Iir_Kind_Multiplication_Operator => 1074,
- Iir_Kind_Division_Operator => 1079,
- Iir_Kind_Modulus_Operator => 1084,
- Iir_Kind_Remainder_Operator => 1089,
- Iir_Kind_Exponentiation_Operator => 1094,
- Iir_Kind_Function_Call => 1102,
- Iir_Kind_Aggregate => 1108,
- Iir_Kind_Parenthesis_Expression => 1111,
- Iir_Kind_Qualified_Expression => 1115,
- Iir_Kind_Type_Conversion => 1120,
- Iir_Kind_Allocator_By_Expression => 1124,
- Iir_Kind_Allocator_By_Subtype => 1128,
- Iir_Kind_Selected_Element => 1134,
- Iir_Kind_Dereference => 1139,
- Iir_Kind_Implicit_Dereference => 1144,
- Iir_Kind_Slice_Name => 1151,
- Iir_Kind_Indexed_Name => 1157,
- Iir_Kind_Psl_Expression => 1159,
- Iir_Kind_Sensitized_Process_Statement => 1178,
- Iir_Kind_Process_Statement => 1196,
- Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1208,
- Iir_Kind_Concurrent_Selected_Signal_Assignment => 1221,
- Iir_Kind_Concurrent_Assertion_Statement => 1230,
- Iir_Kind_Psl_Default_Clock => 1234,
- Iir_Kind_Psl_Assert_Statement => 1244,
- Iir_Kind_Psl_Cover_Statement => 1254,
- Iir_Kind_Concurrent_Procedure_Call_Statement => 1261,
- Iir_Kind_Block_Statement => 1274,
- Iir_Kind_Generate_Statement => 1286,
- Iir_Kind_Component_Instantiation_Statement => 1297,
- Iir_Kind_Simple_Simultaneous_Statement => 1305,
- Iir_Kind_Signal_Assignment_Statement => 1315,
- Iir_Kind_Null_Statement => 1320,
- Iir_Kind_Assertion_Statement => 1328,
- Iir_Kind_Report_Statement => 1335,
- Iir_Kind_Wait_Statement => 1343,
- Iir_Kind_Variable_Assignment_Statement => 1350,
- Iir_Kind_Return_Statement => 1357,
- Iir_Kind_For_Loop_Statement => 1366,
- Iir_Kind_While_Loop_Statement => 1374,
- Iir_Kind_Next_Statement => 1381,
- Iir_Kind_Exit_Statement => 1388,
- Iir_Kind_Case_Statement => 1396,
- Iir_Kind_Procedure_Call_Statement => 1402,
- Iir_Kind_If_Statement => 1411,
- Iir_Kind_Elsif => 1416,
- Iir_Kind_Character_Literal => 1423,
- Iir_Kind_Simple_Name => 1430,
- Iir_Kind_Selected_Name => 1438,
- Iir_Kind_Operator_Symbol => 1443,
- Iir_Kind_Selected_By_All_Name => 1448,
- Iir_Kind_Parenthesis_Name => 1452,
- Iir_Kind_Base_Attribute => 1454,
- Iir_Kind_Left_Type_Attribute => 1459,
- Iir_Kind_Right_Type_Attribute => 1464,
- Iir_Kind_High_Type_Attribute => 1469,
- Iir_Kind_Low_Type_Attribute => 1474,
- Iir_Kind_Ascending_Type_Attribute => 1479,
- Iir_Kind_Image_Attribute => 1485,
- Iir_Kind_Value_Attribute => 1491,
- Iir_Kind_Pos_Attribute => 1497,
- Iir_Kind_Val_Attribute => 1503,
- Iir_Kind_Succ_Attribute => 1509,
- Iir_Kind_Pred_Attribute => 1515,
- Iir_Kind_Leftof_Attribute => 1521,
- Iir_Kind_Rightof_Attribute => 1527,
- Iir_Kind_Delayed_Attribute => 1535,
- Iir_Kind_Stable_Attribute => 1543,
- Iir_Kind_Quiet_Attribute => 1551,
- Iir_Kind_Transaction_Attribute => 1559,
- Iir_Kind_Event_Attribute => 1563,
- Iir_Kind_Active_Attribute => 1567,
- Iir_Kind_Last_Event_Attribute => 1571,
- Iir_Kind_Last_Active_Attribute => 1575,
- Iir_Kind_Last_Value_Attribute => 1579,
- Iir_Kind_Driving_Attribute => 1583,
- Iir_Kind_Driving_Value_Attribute => 1587,
- Iir_Kind_Behavior_Attribute => 1587,
- Iir_Kind_Structure_Attribute => 1587,
- Iir_Kind_Simple_Name_Attribute => 1594,
- Iir_Kind_Instance_Name_Attribute => 1599,
- Iir_Kind_Path_Name_Attribute => 1604,
- Iir_Kind_Left_Array_Attribute => 1611,
- Iir_Kind_Right_Array_Attribute => 1618,
- Iir_Kind_High_Array_Attribute => 1625,
- Iir_Kind_Low_Array_Attribute => 1632,
- Iir_Kind_Length_Array_Attribute => 1639,
- Iir_Kind_Ascending_Array_Attribute => 1646,
- Iir_Kind_Range_Array_Attribute => 1653,
- Iir_Kind_Reverse_Range_Array_Attribute => 1660,
- Iir_Kind_Attribute_Name => 1668
+ Iir_Kind_Type_Declaration => 403,
+ Iir_Kind_Anonymous_Type_Declaration => 408,
+ Iir_Kind_Subtype_Declaration => 416,
+ Iir_Kind_Nature_Declaration => 422,
+ Iir_Kind_Subnature_Declaration => 428,
+ Iir_Kind_Package_Declaration => 438,
+ Iir_Kind_Package_Instantiation_Declaration => 449,
+ Iir_Kind_Package_Body => 456,
+ Iir_Kind_Configuration_Declaration => 465,
+ Iir_Kind_Entity_Declaration => 477,
+ Iir_Kind_Architecture_Body => 489,
+ Iir_Kind_Package_Header => 491,
+ Iir_Kind_Unit_Declaration => 500,
+ Iir_Kind_Library_Declaration => 506,
+ Iir_Kind_Component_Declaration => 516,
+ Iir_Kind_Attribute_Declaration => 523,
+ Iir_Kind_Group_Template_Declaration => 529,
+ Iir_Kind_Group_Declaration => 536,
+ Iir_Kind_Element_Declaration => 543,
+ Iir_Kind_Non_Object_Alias_Declaration => 551,
+ Iir_Kind_Psl_Declaration => 559,
+ Iir_Kind_Terminal_Declaration => 565,
+ Iir_Kind_Free_Quantity_Declaration => 574,
+ Iir_Kind_Across_Quantity_Declaration => 586,
+ Iir_Kind_Through_Quantity_Declaration => 598,
+ Iir_Kind_Enumeration_Literal => 610,
+ Iir_Kind_Function_Declaration => 632,
+ Iir_Kind_Implicit_Function_Declaration => 649,
+ Iir_Kind_Implicit_Procedure_Declaration => 664,
+ Iir_Kind_Procedure_Declaration => 684,
+ Iir_Kind_Function_Body => 694,
+ Iir_Kind_Procedure_Body => 704,
+ Iir_Kind_Object_Alias_Declaration => 716,
+ Iir_Kind_File_Declaration => 731,
+ Iir_Kind_Guard_Signal_Declaration => 743,
+ Iir_Kind_Signal_Declaration => 760,
+ Iir_Kind_Variable_Declaration => 773,
+ Iir_Kind_Constant_Declaration => 787,
+ Iir_Kind_Iterator_Declaration => 799,
+ Iir_Kind_Interface_Constant_Declaration => 813,
+ Iir_Kind_Interface_Variable_Declaration => 827,
+ Iir_Kind_Interface_Signal_Declaration => 845,
+ Iir_Kind_Interface_File_Declaration => 859,
+ Iir_Kind_Interface_Package_Declaration => 868,
+ Iir_Kind_Identity_Operator => 872,
+ Iir_Kind_Negation_Operator => 876,
+ Iir_Kind_Absolute_Operator => 880,
+ Iir_Kind_Not_Operator => 884,
+ Iir_Kind_Condition_Operator => 888,
+ Iir_Kind_Reduction_And_Operator => 892,
+ Iir_Kind_Reduction_Or_Operator => 896,
+ Iir_Kind_Reduction_Nand_Operator => 900,
+ Iir_Kind_Reduction_Nor_Operator => 904,
+ Iir_Kind_Reduction_Xor_Operator => 908,
+ Iir_Kind_Reduction_Xnor_Operator => 912,
+ Iir_Kind_And_Operator => 917,
+ Iir_Kind_Or_Operator => 922,
+ Iir_Kind_Nand_Operator => 927,
+ Iir_Kind_Nor_Operator => 932,
+ Iir_Kind_Xor_Operator => 937,
+ Iir_Kind_Xnor_Operator => 942,
+ Iir_Kind_Equality_Operator => 947,
+ Iir_Kind_Inequality_Operator => 952,
+ Iir_Kind_Less_Than_Operator => 957,
+ Iir_Kind_Less_Than_Or_Equal_Operator => 962,
+ Iir_Kind_Greater_Than_Operator => 967,
+ Iir_Kind_Greater_Than_Or_Equal_Operator => 972,
+ Iir_Kind_Match_Equality_Operator => 977,
+ Iir_Kind_Match_Inequality_Operator => 982,
+ Iir_Kind_Match_Less_Than_Operator => 987,
+ Iir_Kind_Match_Less_Than_Or_Equal_Operator => 992,
+ Iir_Kind_Match_Greater_Than_Operator => 997,
+ Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1002,
+ Iir_Kind_Sll_Operator => 1007,
+ Iir_Kind_Sla_Operator => 1012,
+ Iir_Kind_Srl_Operator => 1017,
+ Iir_Kind_Sra_Operator => 1022,
+ Iir_Kind_Rol_Operator => 1027,
+ Iir_Kind_Ror_Operator => 1032,
+ Iir_Kind_Addition_Operator => 1037,
+ Iir_Kind_Substraction_Operator => 1042,
+ Iir_Kind_Concatenation_Operator => 1047,
+ Iir_Kind_Multiplication_Operator => 1052,
+ Iir_Kind_Division_Operator => 1057,
+ Iir_Kind_Modulus_Operator => 1062,
+ Iir_Kind_Remainder_Operator => 1067,
+ Iir_Kind_Exponentiation_Operator => 1072,
+ Iir_Kind_Function_Call => 1080,
+ Iir_Kind_Aggregate => 1086,
+ Iir_Kind_Parenthesis_Expression => 1089,
+ Iir_Kind_Qualified_Expression => 1093,
+ Iir_Kind_Type_Conversion => 1098,
+ Iir_Kind_Allocator_By_Expression => 1102,
+ Iir_Kind_Allocator_By_Subtype => 1106,
+ Iir_Kind_Selected_Element => 1112,
+ Iir_Kind_Dereference => 1117,
+ Iir_Kind_Implicit_Dereference => 1122,
+ Iir_Kind_Slice_Name => 1129,
+ Iir_Kind_Indexed_Name => 1135,
+ Iir_Kind_Psl_Expression => 1137,
+ Iir_Kind_Sensitized_Process_Statement => 1156,
+ Iir_Kind_Process_Statement => 1174,
+ Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1185,
+ Iir_Kind_Concurrent_Selected_Signal_Assignment => 1197,
+ Iir_Kind_Concurrent_Assertion_Statement => 1205,
+ Iir_Kind_Psl_Default_Clock => 1209,
+ Iir_Kind_Psl_Assert_Statement => 1218,
+ Iir_Kind_Psl_Cover_Statement => 1227,
+ Iir_Kind_Concurrent_Procedure_Call_Statement => 1233,
+ Iir_Kind_Block_Statement => 1246,
+ Iir_Kind_Generate_Statement => 1258,
+ Iir_Kind_Component_Instantiation_Statement => 1268,
+ Iir_Kind_Simple_Simultaneous_Statement => 1275,
+ Iir_Kind_Signal_Assignment_Statement => 1284,
+ Iir_Kind_Null_Statement => 1288,
+ Iir_Kind_Assertion_Statement => 1295,
+ Iir_Kind_Report_Statement => 1301,
+ Iir_Kind_Wait_Statement => 1308,
+ Iir_Kind_Variable_Assignment_Statement => 1314,
+ Iir_Kind_Return_Statement => 1320,
+ Iir_Kind_For_Loop_Statement => 1328,
+ Iir_Kind_While_Loop_Statement => 1335,
+ Iir_Kind_Next_Statement => 1341,
+ Iir_Kind_Exit_Statement => 1347,
+ Iir_Kind_Case_Statement => 1354,
+ Iir_Kind_Procedure_Call_Statement => 1359,
+ Iir_Kind_If_Statement => 1367,
+ Iir_Kind_Elsif => 1372,
+ Iir_Kind_Character_Literal => 1379,
+ Iir_Kind_Simple_Name => 1386,
+ Iir_Kind_Selected_Name => 1394,
+ Iir_Kind_Operator_Symbol => 1399,
+ Iir_Kind_Selected_By_All_Name => 1404,
+ Iir_Kind_Parenthesis_Name => 1408,
+ Iir_Kind_Base_Attribute => 1410,
+ Iir_Kind_Left_Type_Attribute => 1415,
+ Iir_Kind_Right_Type_Attribute => 1420,
+ Iir_Kind_High_Type_Attribute => 1425,
+ Iir_Kind_Low_Type_Attribute => 1430,
+ Iir_Kind_Ascending_Type_Attribute => 1435,
+ Iir_Kind_Image_Attribute => 1441,
+ Iir_Kind_Value_Attribute => 1447,
+ Iir_Kind_Pos_Attribute => 1453,
+ Iir_Kind_Val_Attribute => 1459,
+ Iir_Kind_Succ_Attribute => 1465,
+ Iir_Kind_Pred_Attribute => 1471,
+ Iir_Kind_Leftof_Attribute => 1477,
+ Iir_Kind_Rightof_Attribute => 1483,
+ Iir_Kind_Delayed_Attribute => 1491,
+ Iir_Kind_Stable_Attribute => 1499,
+ Iir_Kind_Quiet_Attribute => 1507,
+ Iir_Kind_Transaction_Attribute => 1515,
+ Iir_Kind_Event_Attribute => 1519,
+ Iir_Kind_Active_Attribute => 1523,
+ Iir_Kind_Last_Event_Attribute => 1527,
+ Iir_Kind_Last_Active_Attribute => 1531,
+ Iir_Kind_Last_Value_Attribute => 1535,
+ Iir_Kind_Driving_Attribute => 1539,
+ Iir_Kind_Driving_Value_Attribute => 1543,
+ Iir_Kind_Behavior_Attribute => 1543,
+ Iir_Kind_Structure_Attribute => 1543,
+ Iir_Kind_Simple_Name_Attribute => 1550,
+ Iir_Kind_Instance_Name_Attribute => 1555,
+ Iir_Kind_Path_Name_Attribute => 1560,
+ Iir_Kind_Left_Array_Attribute => 1567,
+ Iir_Kind_Right_Array_Attribute => 1574,
+ Iir_Kind_High_Array_Attribute => 1581,
+ Iir_Kind_Low_Array_Attribute => 1588,
+ Iir_Kind_Length_Array_Attribute => 1595,
+ Iir_Kind_Ascending_Array_Attribute => 1602,
+ Iir_Kind_Range_Array_Attribute => 1609,
+ Iir_Kind_Reverse_Range_Array_Attribute => 1616,
+ Iir_Kind_Attribute_Name => 1624
);
function Get_Fields (K : Iir_Kind) return Fields_Array
@@ -6308,63 +6268,19 @@ package body Nodes_Meta is
function Has_Attribute_Value_Chain (K : Iir_Kind) return Boolean is
begin
case K is
- when Iir_Kind_Type_Declaration
- | Iir_Kind_Subtype_Declaration
- | Iir_Kind_Nature_Declaration
- | Iir_Kind_Subnature_Declaration
- | Iir_Kind_Package_Declaration
+ when Iir_Kind_Package_Declaration
| Iir_Kind_Package_Instantiation_Declaration
+ | Iir_Kind_Package_Body
| Iir_Kind_Configuration_Declaration
| Iir_Kind_Entity_Declaration
| Iir_Kind_Architecture_Body
- | Iir_Kind_Unit_Declaration
- | Iir_Kind_Component_Declaration
- | Iir_Kind_Group_Declaration
- | Iir_Kind_Free_Quantity_Declaration
- | Iir_Kind_Across_Quantity_Declaration
- | Iir_Kind_Through_Quantity_Declaration
- | Iir_Kind_Enumeration_Literal
- | Iir_Kind_Function_Declaration
- | Iir_Kind_Implicit_Function_Declaration
- | Iir_Kind_Implicit_Procedure_Declaration
- | Iir_Kind_Procedure_Declaration
- | Iir_Kind_File_Declaration
- | Iir_Kind_Guard_Signal_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
- | Iir_Kind_Interface_File_Declaration
+ | Iir_Kind_Function_Body
+ | Iir_Kind_Procedure_Body
| Iir_Kind_Interface_Package_Declaration
| Iir_Kind_Sensitized_Process_Statement
| Iir_Kind_Process_Statement
- | Iir_Kind_Concurrent_Conditional_Signal_Assignment
- | Iir_Kind_Concurrent_Selected_Signal_Assignment
- | Iir_Kind_Concurrent_Assertion_Statement
- | Iir_Kind_Psl_Assert_Statement
- | Iir_Kind_Psl_Cover_Statement
- | Iir_Kind_Concurrent_Procedure_Call_Statement
| Iir_Kind_Block_Statement
- | Iir_Kind_Generate_Statement
- | Iir_Kind_Component_Instantiation_Statement
- | Iir_Kind_Simple_Simultaneous_Statement
- | Iir_Kind_Signal_Assignment_Statement
- | Iir_Kind_Null_Statement
- | Iir_Kind_Assertion_Statement
- | Iir_Kind_Report_Statement
- | Iir_Kind_Wait_Statement
- | Iir_Kind_Variable_Assignment_Statement
- | Iir_Kind_Return_Statement
- | Iir_Kind_For_Loop_Statement
- | Iir_Kind_While_Loop_Statement
- | Iir_Kind_Next_Statement
- | Iir_Kind_Exit_Statement
- | Iir_Kind_Case_Statement
- | Iir_Kind_Procedure_Call_Statement
- | Iir_Kind_If_Statement =>
+ | Iir_Kind_Generate_Statement =>
return True;
when others =>
return False;