diff options
Diffstat (limited to 'src/vhdl/nodes_meta.adb')
-rw-r--r-- | src/vhdl/nodes_meta.adb | 468 |
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; |