From 7c9298f4ef785ab2df77adabc95cd2672db43054 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Fri, 9 Aug 2019 05:14:04 +0200 Subject: vhdl: remove unused Get/Set_Choice_Order. --- python/libghdl/thin/vhdl/nodes.py | 4 - python/libghdl/thin/vhdl/nodes_meta.py | 540 ++++++++++++++++----------------- src/vhdl/vhdl-nodes.adb | 16 - src/vhdl/vhdl-nodes.ads | 7 - src/vhdl/vhdl-nodes_meta.adb | 522 +++++++++++++++---------------- src/vhdl/vhdl-nodes_meta.ads | 2 - src/vhdl/vhdl-sem_expr.adb | 4 - 7 files changed, 515 insertions(+), 580 deletions(-) diff --git a/python/libghdl/thin/vhdl/nodes.py b/python/libghdl/thin/vhdl/nodes.py index 05782b97f..5983c4972 100644 --- a/python/libghdl/thin/vhdl/nodes.py +++ b/python/libghdl/thin/vhdl/nodes.py @@ -1371,10 +1371,6 @@ Get_Time = libghdl.vhdl__nodes__get_time Set_Time = libghdl.vhdl__nodes__set_time -Get_Choice_Order = libghdl.vhdl__nodes__get_choice_order - -Set_Choice_Order = libghdl.vhdl__nodes__set_choice_order - Get_Associated_Expr = libghdl.vhdl__nodes__get_associated_expr Set_Associated_Expr = libghdl.vhdl__nodes__set_associated_expr diff --git a/python/libghdl/thin/vhdl/nodes_meta.py b/python/libghdl/thin/vhdl/nodes_meta.py index 8d717732e..97a8cab8b 100644 --- a/python/libghdl/thin/vhdl/nodes_meta.py +++ b/python/libghdl/thin/vhdl/nodes_meta.py @@ -119,275 +119,274 @@ class fields: After_Drivers_Flag = 55 We_Value = 56 Time = 57 - Choice_Order = 58 - Associated_Expr = 59 - Associated_Block = 60 - Associated_Chain = 61 - Choice_Name = 62 - Choice_Expression = 63 - Choice_Range = 64 - Same_Alternative_Flag = 65 - Element_Type_Flag = 66 - Architecture = 67 - Block_Specification = 68 - Prev_Block_Configuration = 69 - Configuration_Item_Chain = 70 - Attribute_Value_Chain = 71 - Spec_Chain = 72 - Value_Chain = 73 - Attribute_Value_Spec_Chain = 74 - Entity_Name = 75 - Package = 76 - Package_Body = 77 - Instance_Package_Body = 78 - Need_Body = 79 - Macro_Expanded_Flag = 80 - Need_Instance_Bodies = 81 - Block_Configuration = 82 - Concurrent_Statement_Chain = 83 - Chain = 84 - Port_Chain = 85 - Generic_Chain = 86 - Type = 87 - Subtype_Indication = 88 - Discrete_Range = 89 - Type_Definition = 90 - Subtype_Definition = 91 - Incomplete_Type_Declaration = 92 - Interface_Type_Subprograms = 93 - Nature = 94 - Mode = 95 - Guarded_Signal_Flag = 96 - Signal_Kind = 97 - Base_Name = 98 - Interface_Declaration_Chain = 99 - Subprogram_Specification = 100 - Sequential_Statement_Chain = 101 - Subprogram_Body = 102 - Overload_Number = 103 - Subprogram_Depth = 104 - Subprogram_Hash = 105 - Impure_Depth = 106 - Return_Type = 107 - Implicit_Definition = 108 - Default_Value = 109 - Deferred_Declaration = 110 - Deferred_Declaration_Flag = 111 - Shared_Flag = 112 - Design_Unit = 113 - Block_Statement = 114 - Signal_Driver = 115 - Declaration_Chain = 116 - File_Logical_Name = 117 - File_Open_Kind = 118 - Element_Position = 119 - Use_Clause_Chain = 120 - Context_Reference_Chain = 121 - Selected_Name = 122 - Type_Declarator = 123 - Complete_Type_Definition = 124 - Incomplete_Type_Ref_Chain = 125 - Associated_Type = 126 - Enumeration_Literal_List = 127 - Entity_Class_Entry_Chain = 128 - Group_Constituent_List = 129 - Unit_Chain = 130 - Primary_Unit = 131 - Identifier = 132 - Label = 133 - Visible_Flag = 134 - Range_Constraint = 135 - Direction = 136 - Left_Limit = 137 - Right_Limit = 138 - Left_Limit_Expr = 139 - Right_Limit_Expr = 140 - Base_Type = 141 - Resolution_Indication = 142 - Record_Element_Resolution_Chain = 143 - Tolerance = 144 - Plus_Terminal = 145 - Minus_Terminal = 146 - Simultaneous_Left = 147 - Simultaneous_Right = 148 - Text_File_Flag = 149 - Only_Characters_Flag = 150 - Is_Character_Type = 151 - Type_Staticness = 152 - Constraint_State = 153 - Index_Subtype_List = 154 - Index_Subtype_Definition_List = 155 - Element_Subtype_Indication = 156 - Element_Subtype = 157 - Index_Constraint_List = 158 - Array_Element_Constraint = 159 - Elements_Declaration_List = 160 - Owned_Elements_Chain = 161 - Designated_Type = 162 - Designated_Subtype_Indication = 163 - Index_List = 164 - Reference = 165 - Nature_Declarator = 166 - Across_Type = 167 - Through_Type = 168 - Target = 169 - Waveform_Chain = 170 - Guard = 171 - Delay_Mechanism = 172 - Reject_Time_Expression = 173 - Sensitivity_List = 174 - Process_Origin = 175 - Package_Origin = 176 - Condition_Clause = 177 - Timeout_Clause = 178 - Postponed_Flag = 179 - Callees_List = 180 - Passive_Flag = 181 - Resolution_Function_Flag = 182 - Wait_State = 183 - All_Sensitized_State = 184 - Seen_Flag = 185 - Pure_Flag = 186 - Foreign_Flag = 187 - Resolved_Flag = 188 - Signal_Type_Flag = 189 - Has_Signal_Flag = 190 - Purity_State = 191 - Elab_Flag = 192 - Configuration_Mark_Flag = 193 - Configuration_Done_Flag = 194 - Index_Constraint_Flag = 195 - Hide_Implicit_Flag = 196 - Assertion_Condition = 197 - Report_Expression = 198 - Severity_Expression = 199 - Instantiated_Unit = 200 - Generic_Map_Aspect_Chain = 201 - Port_Map_Aspect_Chain = 202 - Configuration_Name = 203 - Component_Configuration = 204 - Configuration_Specification = 205 - Default_Binding_Indication = 206 - Default_Configuration_Declaration = 207 - Expression = 208 - Conditional_Expression = 209 - Allocator_Designated_Type = 210 - Selected_Waveform_Chain = 211 - Conditional_Waveform_Chain = 212 - Guard_Expression = 213 - Guard_Decl = 214 - Guard_Sensitivity_List = 215 - Signal_Attribute_Chain = 216 - Block_Block_Configuration = 217 - Package_Header = 218 - Block_Header = 219 - Uninstantiated_Package_Name = 220 - Uninstantiated_Package_Decl = 221 - Instance_Source_File = 222 - Generate_Block_Configuration = 223 - Generate_Statement_Body = 224 - Alternative_Label = 225 - Generate_Else_Clause = 226 - Condition = 227 - Else_Clause = 228 - Parameter_Specification = 229 - Parent = 230 - Loop_Label = 231 - Component_Name = 232 - Instantiation_List = 233 - Entity_Aspect = 234 - Default_Entity_Aspect = 235 - Binding_Indication = 236 - Named_Entity = 237 - Alias_Declaration = 238 - Referenced_Name = 239 - Expr_Staticness = 240 - Error_Origin = 241 - Operand = 242 - Left = 243 - Right = 244 - Unit_Name = 245 - Name = 246 - Group_Template_Name = 247 - Name_Staticness = 248 - Prefix = 249 - Signature_Prefix = 250 - External_Pathname = 251 - Pathname_Suffix = 252 - Pathname_Expression = 253 - In_Formal_Flag = 254 - Slice_Subtype = 255 - Suffix = 256 - Index_Subtype = 257 - Parameter = 258 - Attr_Chain = 259 - Signal_Attribute_Declaration = 260 - Actual_Type = 261 - Actual_Type_Definition = 262 - Association_Chain = 263 - Individual_Association_Chain = 264 - Subprogram_Association_Chain = 265 - Aggregate_Info = 266 - Sub_Aggregate_Info = 267 - Aggr_Dynamic_Flag = 268 - Aggr_Min_Length = 269 - Aggr_Low_Limit = 270 - Aggr_High_Limit = 271 - Aggr_Others_Flag = 272 - Aggr_Named_Flag = 273 - Aggregate_Expand_Flag = 274 - Association_Choices_Chain = 275 - Case_Statement_Alternative_Chain = 276 - Choice_Staticness = 277 - Procedure_Call = 278 - Implementation = 279 - Parameter_Association_Chain = 280 - Method_Object = 281 - Subtype_Type_Mark = 282 - Type_Conversion_Subtype = 283 - Type_Mark = 284 - File_Type_Mark = 285 - Return_Type_Mark = 286 - Has_Disconnect_Flag = 287 - Has_Active_Flag = 288 - Is_Within_Flag = 289 - Type_Marks_List = 290 - Implicit_Alias_Flag = 291 - Alias_Signature = 292 - Attribute_Signature = 293 - Overload_List = 294 - Simple_Name_Identifier = 295 - Simple_Name_Subtype = 296 - Protected_Type_Body = 297 - Protected_Type_Declaration = 298 - Use_Flag = 299 - End_Has_Reserved_Id = 300 - End_Has_Identifier = 301 - End_Has_Postponed = 302 - Has_Label = 303 - Has_Begin = 304 - Has_End = 305 - Has_Is = 306 - Has_Pure = 307 - Has_Body = 308 - Has_Parameter = 309 - Has_Component = 310 - Has_Identifier_List = 311 - Has_Mode = 312 - Has_Class = 313 - Suspend_Flag = 314 - Is_Ref = 315 - Is_Forward_Ref = 316 - Psl_Property = 317 - Psl_Sequence = 318 - Psl_Declaration = 319 - Psl_Expression = 320 - Psl_Boolean = 321 - PSL_Clock = 322 - PSL_NFA = 323 - PSL_Nbr_States = 324 - PSL_Clock_Sensitivity = 325 - PSL_EOS_Flag = 326 + Associated_Expr = 58 + Associated_Block = 59 + Associated_Chain = 60 + Choice_Name = 61 + Choice_Expression = 62 + Choice_Range = 63 + Same_Alternative_Flag = 64 + Element_Type_Flag = 65 + Architecture = 66 + Block_Specification = 67 + Prev_Block_Configuration = 68 + Configuration_Item_Chain = 69 + Attribute_Value_Chain = 70 + Spec_Chain = 71 + Value_Chain = 72 + Attribute_Value_Spec_Chain = 73 + Entity_Name = 74 + Package = 75 + Package_Body = 76 + Instance_Package_Body = 77 + Need_Body = 78 + Macro_Expanded_Flag = 79 + Need_Instance_Bodies = 80 + Block_Configuration = 81 + Concurrent_Statement_Chain = 82 + Chain = 83 + Port_Chain = 84 + Generic_Chain = 85 + Type = 86 + Subtype_Indication = 87 + Discrete_Range = 88 + Type_Definition = 89 + Subtype_Definition = 90 + Incomplete_Type_Declaration = 91 + Interface_Type_Subprograms = 92 + Nature = 93 + Mode = 94 + Guarded_Signal_Flag = 95 + Signal_Kind = 96 + Base_Name = 97 + Interface_Declaration_Chain = 98 + Subprogram_Specification = 99 + Sequential_Statement_Chain = 100 + Subprogram_Body = 101 + Overload_Number = 102 + Subprogram_Depth = 103 + Subprogram_Hash = 104 + Impure_Depth = 105 + Return_Type = 106 + Implicit_Definition = 107 + Default_Value = 108 + Deferred_Declaration = 109 + Deferred_Declaration_Flag = 110 + Shared_Flag = 111 + Design_Unit = 112 + Block_Statement = 113 + Signal_Driver = 114 + Declaration_Chain = 115 + File_Logical_Name = 116 + File_Open_Kind = 117 + Element_Position = 118 + Use_Clause_Chain = 119 + Context_Reference_Chain = 120 + Selected_Name = 121 + Type_Declarator = 122 + Complete_Type_Definition = 123 + Incomplete_Type_Ref_Chain = 124 + Associated_Type = 125 + Enumeration_Literal_List = 126 + Entity_Class_Entry_Chain = 127 + Group_Constituent_List = 128 + Unit_Chain = 129 + Primary_Unit = 130 + Identifier = 131 + Label = 132 + Visible_Flag = 133 + Range_Constraint = 134 + Direction = 135 + Left_Limit = 136 + Right_Limit = 137 + Left_Limit_Expr = 138 + Right_Limit_Expr = 139 + Base_Type = 140 + Resolution_Indication = 141 + Record_Element_Resolution_Chain = 142 + Tolerance = 143 + Plus_Terminal = 144 + Minus_Terminal = 145 + Simultaneous_Left = 146 + Simultaneous_Right = 147 + Text_File_Flag = 148 + Only_Characters_Flag = 149 + Is_Character_Type = 150 + Type_Staticness = 151 + Constraint_State = 152 + Index_Subtype_List = 153 + Index_Subtype_Definition_List = 154 + Element_Subtype_Indication = 155 + Element_Subtype = 156 + Index_Constraint_List = 157 + Array_Element_Constraint = 158 + Elements_Declaration_List = 159 + Owned_Elements_Chain = 160 + Designated_Type = 161 + Designated_Subtype_Indication = 162 + Index_List = 163 + Reference = 164 + Nature_Declarator = 165 + Across_Type = 166 + Through_Type = 167 + Target = 168 + Waveform_Chain = 169 + Guard = 170 + Delay_Mechanism = 171 + Reject_Time_Expression = 172 + Sensitivity_List = 173 + Process_Origin = 174 + Package_Origin = 175 + Condition_Clause = 176 + Timeout_Clause = 177 + Postponed_Flag = 178 + Callees_List = 179 + Passive_Flag = 180 + Resolution_Function_Flag = 181 + Wait_State = 182 + All_Sensitized_State = 183 + Seen_Flag = 184 + Pure_Flag = 185 + Foreign_Flag = 186 + Resolved_Flag = 187 + Signal_Type_Flag = 188 + Has_Signal_Flag = 189 + Purity_State = 190 + Elab_Flag = 191 + Configuration_Mark_Flag = 192 + Configuration_Done_Flag = 193 + Index_Constraint_Flag = 194 + Hide_Implicit_Flag = 195 + Assertion_Condition = 196 + Report_Expression = 197 + Severity_Expression = 198 + Instantiated_Unit = 199 + Generic_Map_Aspect_Chain = 200 + Port_Map_Aspect_Chain = 201 + Configuration_Name = 202 + Component_Configuration = 203 + Configuration_Specification = 204 + Default_Binding_Indication = 205 + Default_Configuration_Declaration = 206 + Expression = 207 + Conditional_Expression = 208 + Allocator_Designated_Type = 209 + Selected_Waveform_Chain = 210 + Conditional_Waveform_Chain = 211 + Guard_Expression = 212 + Guard_Decl = 213 + Guard_Sensitivity_List = 214 + Signal_Attribute_Chain = 215 + Block_Block_Configuration = 216 + Package_Header = 217 + Block_Header = 218 + Uninstantiated_Package_Name = 219 + Uninstantiated_Package_Decl = 220 + Instance_Source_File = 221 + Generate_Block_Configuration = 222 + Generate_Statement_Body = 223 + Alternative_Label = 224 + Generate_Else_Clause = 225 + Condition = 226 + Else_Clause = 227 + Parameter_Specification = 228 + Parent = 229 + Loop_Label = 230 + Component_Name = 231 + Instantiation_List = 232 + Entity_Aspect = 233 + Default_Entity_Aspect = 234 + Binding_Indication = 235 + Named_Entity = 236 + Alias_Declaration = 237 + Referenced_Name = 238 + Expr_Staticness = 239 + Error_Origin = 240 + Operand = 241 + Left = 242 + Right = 243 + Unit_Name = 244 + Name = 245 + Group_Template_Name = 246 + Name_Staticness = 247 + Prefix = 248 + Signature_Prefix = 249 + External_Pathname = 250 + Pathname_Suffix = 251 + Pathname_Expression = 252 + In_Formal_Flag = 253 + Slice_Subtype = 254 + Suffix = 255 + Index_Subtype = 256 + Parameter = 257 + Attr_Chain = 258 + Signal_Attribute_Declaration = 259 + Actual_Type = 260 + Actual_Type_Definition = 261 + Association_Chain = 262 + Individual_Association_Chain = 263 + Subprogram_Association_Chain = 264 + Aggregate_Info = 265 + Sub_Aggregate_Info = 266 + Aggr_Dynamic_Flag = 267 + Aggr_Min_Length = 268 + Aggr_Low_Limit = 269 + Aggr_High_Limit = 270 + Aggr_Others_Flag = 271 + Aggr_Named_Flag = 272 + Aggregate_Expand_Flag = 273 + Association_Choices_Chain = 274 + Case_Statement_Alternative_Chain = 275 + Choice_Staticness = 276 + Procedure_Call = 277 + Implementation = 278 + Parameter_Association_Chain = 279 + Method_Object = 280 + Subtype_Type_Mark = 281 + Type_Conversion_Subtype = 282 + Type_Mark = 283 + File_Type_Mark = 284 + Return_Type_Mark = 285 + Has_Disconnect_Flag = 286 + Has_Active_Flag = 287 + Is_Within_Flag = 288 + Type_Marks_List = 289 + Implicit_Alias_Flag = 290 + Alias_Signature = 291 + Attribute_Signature = 292 + Overload_List = 293 + Simple_Name_Identifier = 294 + Simple_Name_Subtype = 295 + Protected_Type_Body = 296 + Protected_Type_Declaration = 297 + Use_Flag = 298 + End_Has_Reserved_Id = 299 + End_Has_Identifier = 300 + End_Has_Postponed = 301 + Has_Label = 302 + Has_Begin = 303 + Has_End = 304 + Has_Is = 305 + Has_Pure = 306 + Has_Body = 307 + Has_Parameter = 308 + Has_Component = 309 + Has_Identifier_List = 310 + Has_Mode = 311 + Has_Class = 312 + Suspend_Flag = 313 + Is_Ref = 314 + Is_Forward_Ref = 315 + Psl_Property = 316 + Psl_Sequence = 317 + Psl_Declaration = 318 + Psl_Expression = 319 + Psl_Boolean = 320 + PSL_Clock = 321 + PSL_NFA = 322 + PSL_Nbr_States = 323 + PSL_Clock_Sensitivity = 324 + PSL_EOS_Flag = 325 Get_Boolean = libghdl.vhdl__nodes_meta__get_boolean @@ -627,9 +626,6 @@ Has_We_Value =\ Has_Time =\ libghdl.vhdl__nodes_meta__has_time -Has_Choice_Order =\ - libghdl.vhdl__nodes_meta__has_choice_order - Has_Associated_Expr =\ libghdl.vhdl__nodes_meta__has_associated_expr diff --git a/src/vhdl/vhdl-nodes.adb b/src/vhdl/vhdl-nodes.adb index 780f13b5b..0755f61dc 100644 --- a/src/vhdl/vhdl-nodes.adb +++ b/src/vhdl/vhdl-nodes.adb @@ -2247,22 +2247,6 @@ package body Vhdl.Nodes is Set_Field3 (We, An_Iir); end Set_Time; - function Get_Choice_Order (Choice : Iir) return Int32 is - begin - pragma Assert (Choice /= Null_Iir); - pragma Assert (Has_Choice_Order (Get_Kind (Choice)), - "no field Choice_Order"); - return Int32'Val (Get_Field1 (Choice)); - end Get_Choice_Order; - - procedure Set_Choice_Order (Choice : Iir; Pos : Int32) is - begin - pragma Assert (Choice /= Null_Iir); - pragma Assert (Has_Choice_Order (Get_Kind (Choice)), - "no field Choice_Order"); - Set_Field1 (Choice, Int32'Pos (Pos)); - end Set_Choice_Order; - function Get_Associated_Expr (Target : Iir) return Iir is begin pragma Assert (Target /= Null_Iir); diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads index 73cc7d4aa..7a2cfaf28 100644 --- a/src/vhdl/vhdl-nodes.ads +++ b/src/vhdl/vhdl-nodes.ads @@ -541,9 +541,6 @@ package Vhdl.Nodes is -- associations have the same_alternative_flag set. -- Get/Set_Chain (Field2) -- - -- Ordered position of the choice from 1 to N. 0 is reserved for others. - -- Get/Set_Choice_Order (Field1) - -- -- Should be a simple_name. -- Only for Iir_Kind_Choice_By_Name: -- Get/Set_Choice_Name (Field5) @@ -6354,10 +6351,6 @@ package Vhdl.Nodes is function Get_Time (We : Iir_Waveform_Element) return Iir; procedure Set_Time (We : Iir_Waveform_Element; An_Iir : Iir); - -- Field: Field1 (pos) - function Get_Choice_Order (Choice : Iir) return Int32; - procedure Set_Choice_Order (Choice : Iir; Pos : Int32); - -- Node associated with a choice. -- Field: Field3 function Get_Associated_Expr (Target : Iir) return Iir; diff --git a/src/vhdl/vhdl-nodes_meta.adb b/src/vhdl/vhdl-nodes_meta.adb index 4a933e382..002b60cc0 100644 --- a/src/vhdl/vhdl-nodes_meta.adb +++ b/src/vhdl/vhdl-nodes_meta.adb @@ -77,7 +77,6 @@ package body Vhdl.Nodes_Meta is Field_After_Drivers_Flag => Type_Boolean, Field_We_Value => Type_Iir, Field_Time => Type_Iir, - Field_Choice_Order => Type_Int32, Field_Associated_Expr => Type_Iir, Field_Associated_Block => Type_Iir, Field_Associated_Chain => Type_Iir, @@ -472,8 +471,6 @@ package body Vhdl.Nodes_Meta is return "we_value"; when Field_Time => return "time"; - when Field_Choice_Order => - return "choice_order"; when Field_Associated_Expr => return "associated_expr"; when Field_Associated_Block => @@ -1682,8 +1679,6 @@ package body Vhdl.Nodes_Meta is return Attr_None; when Field_Time => return Attr_None; - when Field_Choice_Order => - return Attr_None; when Field_Associated_Expr => return Attr_None; when Field_Associated_Block => @@ -2397,7 +2392,6 @@ package body Vhdl.Nodes_Meta is Field_Chain, Field_Actual, -- Iir_Kind_Choice_By_Range - Field_Choice_Order, Field_Same_Alternative_Flag, Field_Element_Type_Flag, Field_Choice_Staticness, @@ -2407,7 +2401,6 @@ package body Vhdl.Nodes_Meta is Field_Associated_Expr, Field_Associated_Chain, -- Iir_Kind_Choice_By_Expression - Field_Choice_Order, Field_Same_Alternative_Flag, Field_Element_Type_Flag, Field_Choice_Staticness, @@ -2417,7 +2410,6 @@ package body Vhdl.Nodes_Meta is Field_Associated_Expr, Field_Associated_Chain, -- Iir_Kind_Choice_By_Others - Field_Choice_Order, Field_Same_Alternative_Flag, Field_Element_Type_Flag, Field_Parent, @@ -2425,7 +2417,6 @@ package body Vhdl.Nodes_Meta is Field_Associated_Expr, Field_Associated_Chain, -- Iir_Kind_Choice_By_None - Field_Choice_Order, Field_Same_Alternative_Flag, Field_Element_Type_Flag, Field_Parent, @@ -2433,7 +2424,6 @@ package body Vhdl.Nodes_Meta is Field_Associated_Expr, Field_Associated_Chain, -- Iir_Kind_Choice_By_Name - Field_Choice_Order, Field_Same_Alternative_Flag, Field_Element_Type_Flag, Field_Parent, @@ -4492,253 +4482,253 @@ package body Vhdl.Nodes_Meta is Iir_Kind_Association_Element_Package => 131, Iir_Kind_Association_Element_Type => 139, Iir_Kind_Association_Element_Subprogram => 145, - Iir_Kind_Choice_By_Range => 154, - Iir_Kind_Choice_By_Expression => 163, - Iir_Kind_Choice_By_Others => 170, - Iir_Kind_Choice_By_None => 177, - Iir_Kind_Choice_By_Name => 185, - Iir_Kind_Entity_Aspect_Entity => 187, - Iir_Kind_Entity_Aspect_Configuration => 188, - Iir_Kind_Entity_Aspect_Open => 188, - Iir_Kind_Block_Configuration => 194, - Iir_Kind_Block_Header => 198, - Iir_Kind_Component_Configuration => 205, - Iir_Kind_Binding_Indication => 209, - Iir_Kind_Entity_Class => 211, - Iir_Kind_Attribute_Value => 219, - Iir_Kind_Signature => 222, - Iir_Kind_Aggregate_Info => 229, - Iir_Kind_Procedure_Call => 233, - Iir_Kind_Record_Element_Constraint => 239, - Iir_Kind_Array_Element_Resolution => 241, - Iir_Kind_Record_Resolution => 242, - Iir_Kind_Record_Element_Resolution => 245, - Iir_Kind_Attribute_Specification => 253, - Iir_Kind_Disconnection_Specification => 259, - Iir_Kind_Configuration_Specification => 265, - Iir_Kind_Access_Type_Definition => 273, - Iir_Kind_Incomplete_Type_Definition => 281, - Iir_Kind_Interface_Type_Definition => 288, - Iir_Kind_File_Type_Definition => 295, - Iir_Kind_Protected_Type_Declaration => 304, - Iir_Kind_Record_Type_Definition => 315, - Iir_Kind_Array_Type_Definition => 327, - Iir_Kind_Array_Subtype_Definition => 342, - Iir_Kind_Record_Subtype_Definition => 355, - Iir_Kind_Access_Subtype_Definition => 363, - Iir_Kind_Physical_Subtype_Definition => 373, - Iir_Kind_Floating_Subtype_Definition => 384, - Iir_Kind_Integer_Subtype_Definition => 394, - Iir_Kind_Enumeration_Subtype_Definition => 404, - Iir_Kind_Enumeration_Type_Definition => 415, - Iir_Kind_Integer_Type_Definition => 423, - Iir_Kind_Floating_Type_Definition => 431, - Iir_Kind_Physical_Type_Definition => 442, - Iir_Kind_Range_Expression => 450, - Iir_Kind_Protected_Type_Body => 457, - Iir_Kind_Wildcard_Type_Definition => 462, - Iir_Kind_Subtype_Definition => 469, - Iir_Kind_Scalar_Nature_Definition => 473, - Iir_Kind_Overload_List => 474, - Iir_Kind_Type_Declaration => 481, - Iir_Kind_Anonymous_Type_Declaration => 487, - Iir_Kind_Subtype_Declaration => 494, - Iir_Kind_Nature_Declaration => 500, - Iir_Kind_Subnature_Declaration => 506, - Iir_Kind_Entity_Declaration => 518, - Iir_Kind_Configuration_Declaration => 527, - Iir_Kind_Context_Declaration => 533, - Iir_Kind_Package_Declaration => 548, - Iir_Kind_Package_Instantiation_Declaration => 562, - Iir_Kind_Package_Body => 570, - Iir_Kind_Architecture_Body => 582, - Iir_Kind_Package_Header => 584, - Iir_Kind_Unit_Declaration => 593, - Iir_Kind_Library_Declaration => 600, - Iir_Kind_Component_Declaration => 610, - Iir_Kind_Attribute_Declaration => 617, - Iir_Kind_Group_Template_Declaration => 623, - Iir_Kind_Group_Declaration => 630, - Iir_Kind_Element_Declaration => 637, - Iir_Kind_Non_Object_Alias_Declaration => 645, - Iir_Kind_Psl_Declaration => 653, - Iir_Kind_Psl_Endpoint_Declaration => 667, - Iir_Kind_Terminal_Declaration => 674, - Iir_Kind_Free_Quantity_Declaration => 685, - Iir_Kind_Across_Quantity_Declaration => 697, - Iir_Kind_Through_Quantity_Declaration => 709, - Iir_Kind_Enumeration_Literal => 720, - Iir_Kind_Function_Declaration => 745, - Iir_Kind_Procedure_Declaration => 769, - Iir_Kind_Function_Body => 779, - Iir_Kind_Procedure_Body => 790, - Iir_Kind_Object_Alias_Declaration => 801, - Iir_Kind_File_Declaration => 815, - Iir_Kind_Guard_Signal_Declaration => 828, - Iir_Kind_Signal_Declaration => 845, - Iir_Kind_Variable_Declaration => 858, - Iir_Kind_Constant_Declaration => 872, - Iir_Kind_Iterator_Declaration => 883, - Iir_Kind_Interface_Constant_Declaration => 899, - Iir_Kind_Interface_Variable_Declaration => 915, - Iir_Kind_Interface_Signal_Declaration => 936, - Iir_Kind_Interface_File_Declaration => 952, - Iir_Kind_Interface_Type_Declaration => 962, - Iir_Kind_Interface_Package_Declaration => 974, - Iir_Kind_Interface_Function_Declaration => 991, - Iir_Kind_Interface_Procedure_Declaration => 1004, - Iir_Kind_Anonymous_Signal_Declaration => 1012, - Iir_Kind_Signal_Attribute_Declaration => 1015, - Iir_Kind_Identity_Operator => 1019, - Iir_Kind_Negation_Operator => 1023, - Iir_Kind_Absolute_Operator => 1027, - Iir_Kind_Not_Operator => 1031, - Iir_Kind_Implicit_Condition_Operator => 1035, - Iir_Kind_Condition_Operator => 1039, - Iir_Kind_Reduction_And_Operator => 1043, - Iir_Kind_Reduction_Or_Operator => 1047, - Iir_Kind_Reduction_Nand_Operator => 1051, - Iir_Kind_Reduction_Nor_Operator => 1055, - Iir_Kind_Reduction_Xor_Operator => 1059, - Iir_Kind_Reduction_Xnor_Operator => 1063, - Iir_Kind_And_Operator => 1068, - Iir_Kind_Or_Operator => 1073, - Iir_Kind_Nand_Operator => 1078, - Iir_Kind_Nor_Operator => 1083, - Iir_Kind_Xor_Operator => 1088, - Iir_Kind_Xnor_Operator => 1093, - Iir_Kind_Equality_Operator => 1098, - Iir_Kind_Inequality_Operator => 1103, - Iir_Kind_Less_Than_Operator => 1108, - Iir_Kind_Less_Than_Or_Equal_Operator => 1113, - Iir_Kind_Greater_Than_Operator => 1118, - Iir_Kind_Greater_Than_Or_Equal_Operator => 1123, - Iir_Kind_Match_Equality_Operator => 1128, - Iir_Kind_Match_Inequality_Operator => 1133, - Iir_Kind_Match_Less_Than_Operator => 1138, - Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1143, - Iir_Kind_Match_Greater_Than_Operator => 1148, - Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1153, - Iir_Kind_Sll_Operator => 1158, - Iir_Kind_Sla_Operator => 1163, - Iir_Kind_Srl_Operator => 1168, - Iir_Kind_Sra_Operator => 1173, - Iir_Kind_Rol_Operator => 1178, - Iir_Kind_Ror_Operator => 1183, - Iir_Kind_Addition_Operator => 1188, - Iir_Kind_Substraction_Operator => 1193, - Iir_Kind_Concatenation_Operator => 1198, - Iir_Kind_Multiplication_Operator => 1203, - Iir_Kind_Division_Operator => 1208, - Iir_Kind_Modulus_Operator => 1213, - Iir_Kind_Remainder_Operator => 1218, - Iir_Kind_Exponentiation_Operator => 1223, - Iir_Kind_Function_Call => 1231, - Iir_Kind_Aggregate => 1238, - Iir_Kind_Parenthesis_Expression => 1241, - Iir_Kind_Qualified_Expression => 1245, - Iir_Kind_Type_Conversion => 1250, - Iir_Kind_Allocator_By_Expression => 1254, - Iir_Kind_Allocator_By_Subtype => 1259, - Iir_Kind_Selected_Element => 1267, - Iir_Kind_Dereference => 1272, - Iir_Kind_Implicit_Dereference => 1277, - Iir_Kind_Slice_Name => 1284, - Iir_Kind_Indexed_Name => 1290, - Iir_Kind_Psl_Expression => 1292, - Iir_Kind_Sensitized_Process_Statement => 1313, - Iir_Kind_Process_Statement => 1333, - Iir_Kind_Concurrent_Simple_Signal_Assignment => 1345, - Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1357, - Iir_Kind_Concurrent_Selected_Signal_Assignment => 1370, - Iir_Kind_Concurrent_Assertion_Statement => 1378, - Iir_Kind_Concurrent_Procedure_Call_Statement => 1385, - Iir_Kind_Psl_Assert_Directive => 1398, - Iir_Kind_Psl_Assume_Directive => 1409, - Iir_Kind_Psl_Cover_Directive => 1421, - Iir_Kind_Psl_Restrict_Directive => 1432, - Iir_Kind_Block_Statement => 1446, - Iir_Kind_If_Generate_Statement => 1457, - Iir_Kind_Case_Generate_Statement => 1466, - Iir_Kind_For_Generate_Statement => 1475, - Iir_Kind_Component_Instantiation_Statement => 1486, - Iir_Kind_Psl_Default_Clock => 1490, - Iir_Kind_Simple_Simultaneous_Statement => 1497, - Iir_Kind_Generate_Statement_Body => 1508, - Iir_Kind_If_Generate_Else_Clause => 1514, - Iir_Kind_Simple_Signal_Assignment_Statement => 1524, - Iir_Kind_Conditional_Signal_Assignment_Statement => 1534, - Iir_Kind_Selected_Waveform_Assignment_Statement => 1545, - Iir_Kind_Null_Statement => 1549, - Iir_Kind_Assertion_Statement => 1556, - Iir_Kind_Report_Statement => 1562, - Iir_Kind_Wait_Statement => 1570, - Iir_Kind_Variable_Assignment_Statement => 1577, - Iir_Kind_Conditional_Variable_Assignment_Statement => 1584, - Iir_Kind_Return_Statement => 1590, - Iir_Kind_For_Loop_Statement => 1599, - Iir_Kind_While_Loop_Statement => 1608, - Iir_Kind_Next_Statement => 1615, - Iir_Kind_Exit_Statement => 1622, - Iir_Kind_Case_Statement => 1630, - Iir_Kind_Procedure_Call_Statement => 1636, - Iir_Kind_If_Statement => 1646, - Iir_Kind_Elsif => 1652, - Iir_Kind_Character_Literal => 1660, - Iir_Kind_Simple_Name => 1668, - Iir_Kind_Selected_Name => 1677, - Iir_Kind_Operator_Symbol => 1683, - Iir_Kind_Reference_Name => 1687, - Iir_Kind_External_Constant_Name => 1695, - Iir_Kind_External_Signal_Name => 1703, - Iir_Kind_External_Variable_Name => 1712, - Iir_Kind_Selected_By_All_Name => 1718, - Iir_Kind_Parenthesis_Name => 1723, - Iir_Kind_Package_Pathname => 1727, - Iir_Kind_Absolute_Pathname => 1728, - Iir_Kind_Relative_Pathname => 1729, - Iir_Kind_Pathname_Element => 1734, - Iir_Kind_Base_Attribute => 1736, - Iir_Kind_Subtype_Attribute => 1741, - Iir_Kind_Element_Attribute => 1746, - Iir_Kind_Left_Type_Attribute => 1751, - Iir_Kind_Right_Type_Attribute => 1756, - Iir_Kind_High_Type_Attribute => 1761, - Iir_Kind_Low_Type_Attribute => 1766, - Iir_Kind_Ascending_Type_Attribute => 1771, - Iir_Kind_Image_Attribute => 1777, - Iir_Kind_Value_Attribute => 1783, - Iir_Kind_Pos_Attribute => 1789, - Iir_Kind_Val_Attribute => 1795, - Iir_Kind_Succ_Attribute => 1801, - Iir_Kind_Pred_Attribute => 1807, - Iir_Kind_Leftof_Attribute => 1813, - Iir_Kind_Rightof_Attribute => 1819, - Iir_Kind_Delayed_Attribute => 1828, - Iir_Kind_Stable_Attribute => 1837, - Iir_Kind_Quiet_Attribute => 1846, - Iir_Kind_Transaction_Attribute => 1855, - Iir_Kind_Event_Attribute => 1859, - Iir_Kind_Active_Attribute => 1863, - Iir_Kind_Last_Event_Attribute => 1867, - Iir_Kind_Last_Active_Attribute => 1871, - Iir_Kind_Last_Value_Attribute => 1875, - Iir_Kind_Driving_Attribute => 1879, - Iir_Kind_Driving_Value_Attribute => 1883, - Iir_Kind_Behavior_Attribute => 1883, - Iir_Kind_Structure_Attribute => 1883, - Iir_Kind_Simple_Name_Attribute => 1890, - Iir_Kind_Instance_Name_Attribute => 1895, - Iir_Kind_Path_Name_Attribute => 1900, - Iir_Kind_Left_Array_Attribute => 1907, - Iir_Kind_Right_Array_Attribute => 1914, - Iir_Kind_High_Array_Attribute => 1921, - Iir_Kind_Low_Array_Attribute => 1928, - Iir_Kind_Length_Array_Attribute => 1935, - Iir_Kind_Ascending_Array_Attribute => 1942, - Iir_Kind_Range_Array_Attribute => 1949, - Iir_Kind_Reverse_Range_Array_Attribute => 1956, - Iir_Kind_Attribute_Name => 1965 + Iir_Kind_Choice_By_Range => 153, + Iir_Kind_Choice_By_Expression => 161, + Iir_Kind_Choice_By_Others => 167, + Iir_Kind_Choice_By_None => 173, + Iir_Kind_Choice_By_Name => 180, + Iir_Kind_Entity_Aspect_Entity => 182, + Iir_Kind_Entity_Aspect_Configuration => 183, + Iir_Kind_Entity_Aspect_Open => 183, + Iir_Kind_Block_Configuration => 189, + Iir_Kind_Block_Header => 193, + Iir_Kind_Component_Configuration => 200, + Iir_Kind_Binding_Indication => 204, + Iir_Kind_Entity_Class => 206, + Iir_Kind_Attribute_Value => 214, + Iir_Kind_Signature => 217, + Iir_Kind_Aggregate_Info => 224, + Iir_Kind_Procedure_Call => 228, + Iir_Kind_Record_Element_Constraint => 234, + Iir_Kind_Array_Element_Resolution => 236, + Iir_Kind_Record_Resolution => 237, + Iir_Kind_Record_Element_Resolution => 240, + Iir_Kind_Attribute_Specification => 248, + Iir_Kind_Disconnection_Specification => 254, + Iir_Kind_Configuration_Specification => 260, + Iir_Kind_Access_Type_Definition => 268, + Iir_Kind_Incomplete_Type_Definition => 276, + Iir_Kind_Interface_Type_Definition => 283, + Iir_Kind_File_Type_Definition => 290, + Iir_Kind_Protected_Type_Declaration => 299, + Iir_Kind_Record_Type_Definition => 310, + Iir_Kind_Array_Type_Definition => 322, + Iir_Kind_Array_Subtype_Definition => 337, + Iir_Kind_Record_Subtype_Definition => 350, + Iir_Kind_Access_Subtype_Definition => 358, + Iir_Kind_Physical_Subtype_Definition => 368, + Iir_Kind_Floating_Subtype_Definition => 379, + Iir_Kind_Integer_Subtype_Definition => 389, + Iir_Kind_Enumeration_Subtype_Definition => 399, + Iir_Kind_Enumeration_Type_Definition => 410, + Iir_Kind_Integer_Type_Definition => 418, + Iir_Kind_Floating_Type_Definition => 426, + Iir_Kind_Physical_Type_Definition => 437, + Iir_Kind_Range_Expression => 445, + Iir_Kind_Protected_Type_Body => 452, + Iir_Kind_Wildcard_Type_Definition => 457, + Iir_Kind_Subtype_Definition => 464, + Iir_Kind_Scalar_Nature_Definition => 468, + Iir_Kind_Overload_List => 469, + Iir_Kind_Type_Declaration => 476, + Iir_Kind_Anonymous_Type_Declaration => 482, + Iir_Kind_Subtype_Declaration => 489, + Iir_Kind_Nature_Declaration => 495, + Iir_Kind_Subnature_Declaration => 501, + Iir_Kind_Entity_Declaration => 513, + Iir_Kind_Configuration_Declaration => 522, + Iir_Kind_Context_Declaration => 528, + Iir_Kind_Package_Declaration => 543, + Iir_Kind_Package_Instantiation_Declaration => 557, + Iir_Kind_Package_Body => 565, + Iir_Kind_Architecture_Body => 577, + Iir_Kind_Package_Header => 579, + Iir_Kind_Unit_Declaration => 588, + Iir_Kind_Library_Declaration => 595, + Iir_Kind_Component_Declaration => 605, + Iir_Kind_Attribute_Declaration => 612, + Iir_Kind_Group_Template_Declaration => 618, + Iir_Kind_Group_Declaration => 625, + Iir_Kind_Element_Declaration => 632, + Iir_Kind_Non_Object_Alias_Declaration => 640, + Iir_Kind_Psl_Declaration => 648, + Iir_Kind_Psl_Endpoint_Declaration => 662, + Iir_Kind_Terminal_Declaration => 669, + Iir_Kind_Free_Quantity_Declaration => 680, + Iir_Kind_Across_Quantity_Declaration => 692, + Iir_Kind_Through_Quantity_Declaration => 704, + Iir_Kind_Enumeration_Literal => 715, + Iir_Kind_Function_Declaration => 740, + Iir_Kind_Procedure_Declaration => 764, + Iir_Kind_Function_Body => 774, + Iir_Kind_Procedure_Body => 785, + Iir_Kind_Object_Alias_Declaration => 796, + Iir_Kind_File_Declaration => 810, + Iir_Kind_Guard_Signal_Declaration => 823, + Iir_Kind_Signal_Declaration => 840, + Iir_Kind_Variable_Declaration => 853, + Iir_Kind_Constant_Declaration => 867, + Iir_Kind_Iterator_Declaration => 878, + Iir_Kind_Interface_Constant_Declaration => 894, + Iir_Kind_Interface_Variable_Declaration => 910, + Iir_Kind_Interface_Signal_Declaration => 931, + Iir_Kind_Interface_File_Declaration => 947, + Iir_Kind_Interface_Type_Declaration => 957, + Iir_Kind_Interface_Package_Declaration => 969, + Iir_Kind_Interface_Function_Declaration => 986, + Iir_Kind_Interface_Procedure_Declaration => 999, + Iir_Kind_Anonymous_Signal_Declaration => 1007, + Iir_Kind_Signal_Attribute_Declaration => 1010, + Iir_Kind_Identity_Operator => 1014, + Iir_Kind_Negation_Operator => 1018, + Iir_Kind_Absolute_Operator => 1022, + Iir_Kind_Not_Operator => 1026, + Iir_Kind_Implicit_Condition_Operator => 1030, + Iir_Kind_Condition_Operator => 1034, + Iir_Kind_Reduction_And_Operator => 1038, + Iir_Kind_Reduction_Or_Operator => 1042, + Iir_Kind_Reduction_Nand_Operator => 1046, + Iir_Kind_Reduction_Nor_Operator => 1050, + Iir_Kind_Reduction_Xor_Operator => 1054, + Iir_Kind_Reduction_Xnor_Operator => 1058, + Iir_Kind_And_Operator => 1063, + Iir_Kind_Or_Operator => 1068, + Iir_Kind_Nand_Operator => 1073, + Iir_Kind_Nor_Operator => 1078, + Iir_Kind_Xor_Operator => 1083, + Iir_Kind_Xnor_Operator => 1088, + Iir_Kind_Equality_Operator => 1093, + Iir_Kind_Inequality_Operator => 1098, + Iir_Kind_Less_Than_Operator => 1103, + Iir_Kind_Less_Than_Or_Equal_Operator => 1108, + Iir_Kind_Greater_Than_Operator => 1113, + Iir_Kind_Greater_Than_Or_Equal_Operator => 1118, + Iir_Kind_Match_Equality_Operator => 1123, + Iir_Kind_Match_Inequality_Operator => 1128, + Iir_Kind_Match_Less_Than_Operator => 1133, + Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1138, + Iir_Kind_Match_Greater_Than_Operator => 1143, + Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1148, + Iir_Kind_Sll_Operator => 1153, + Iir_Kind_Sla_Operator => 1158, + Iir_Kind_Srl_Operator => 1163, + Iir_Kind_Sra_Operator => 1168, + Iir_Kind_Rol_Operator => 1173, + Iir_Kind_Ror_Operator => 1178, + Iir_Kind_Addition_Operator => 1183, + Iir_Kind_Substraction_Operator => 1188, + Iir_Kind_Concatenation_Operator => 1193, + Iir_Kind_Multiplication_Operator => 1198, + Iir_Kind_Division_Operator => 1203, + Iir_Kind_Modulus_Operator => 1208, + Iir_Kind_Remainder_Operator => 1213, + Iir_Kind_Exponentiation_Operator => 1218, + Iir_Kind_Function_Call => 1226, + Iir_Kind_Aggregate => 1233, + Iir_Kind_Parenthesis_Expression => 1236, + Iir_Kind_Qualified_Expression => 1240, + Iir_Kind_Type_Conversion => 1245, + Iir_Kind_Allocator_By_Expression => 1249, + Iir_Kind_Allocator_By_Subtype => 1254, + Iir_Kind_Selected_Element => 1262, + Iir_Kind_Dereference => 1267, + Iir_Kind_Implicit_Dereference => 1272, + Iir_Kind_Slice_Name => 1279, + Iir_Kind_Indexed_Name => 1285, + Iir_Kind_Psl_Expression => 1287, + Iir_Kind_Sensitized_Process_Statement => 1308, + Iir_Kind_Process_Statement => 1328, + Iir_Kind_Concurrent_Simple_Signal_Assignment => 1340, + Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1352, + Iir_Kind_Concurrent_Selected_Signal_Assignment => 1365, + Iir_Kind_Concurrent_Assertion_Statement => 1373, + Iir_Kind_Concurrent_Procedure_Call_Statement => 1380, + Iir_Kind_Psl_Assert_Directive => 1393, + Iir_Kind_Psl_Assume_Directive => 1404, + Iir_Kind_Psl_Cover_Directive => 1416, + Iir_Kind_Psl_Restrict_Directive => 1427, + Iir_Kind_Block_Statement => 1441, + Iir_Kind_If_Generate_Statement => 1452, + Iir_Kind_Case_Generate_Statement => 1461, + Iir_Kind_For_Generate_Statement => 1470, + Iir_Kind_Component_Instantiation_Statement => 1481, + Iir_Kind_Psl_Default_Clock => 1485, + Iir_Kind_Simple_Simultaneous_Statement => 1492, + Iir_Kind_Generate_Statement_Body => 1503, + Iir_Kind_If_Generate_Else_Clause => 1509, + Iir_Kind_Simple_Signal_Assignment_Statement => 1519, + Iir_Kind_Conditional_Signal_Assignment_Statement => 1529, + Iir_Kind_Selected_Waveform_Assignment_Statement => 1540, + Iir_Kind_Null_Statement => 1544, + Iir_Kind_Assertion_Statement => 1551, + Iir_Kind_Report_Statement => 1557, + Iir_Kind_Wait_Statement => 1565, + Iir_Kind_Variable_Assignment_Statement => 1572, + Iir_Kind_Conditional_Variable_Assignment_Statement => 1579, + Iir_Kind_Return_Statement => 1585, + Iir_Kind_For_Loop_Statement => 1594, + Iir_Kind_While_Loop_Statement => 1603, + Iir_Kind_Next_Statement => 1610, + Iir_Kind_Exit_Statement => 1617, + Iir_Kind_Case_Statement => 1625, + Iir_Kind_Procedure_Call_Statement => 1631, + Iir_Kind_If_Statement => 1641, + Iir_Kind_Elsif => 1647, + Iir_Kind_Character_Literal => 1655, + Iir_Kind_Simple_Name => 1663, + Iir_Kind_Selected_Name => 1672, + Iir_Kind_Operator_Symbol => 1678, + Iir_Kind_Reference_Name => 1682, + Iir_Kind_External_Constant_Name => 1690, + Iir_Kind_External_Signal_Name => 1698, + Iir_Kind_External_Variable_Name => 1707, + Iir_Kind_Selected_By_All_Name => 1713, + Iir_Kind_Parenthesis_Name => 1718, + Iir_Kind_Package_Pathname => 1722, + Iir_Kind_Absolute_Pathname => 1723, + Iir_Kind_Relative_Pathname => 1724, + Iir_Kind_Pathname_Element => 1729, + Iir_Kind_Base_Attribute => 1731, + Iir_Kind_Subtype_Attribute => 1736, + Iir_Kind_Element_Attribute => 1741, + Iir_Kind_Left_Type_Attribute => 1746, + Iir_Kind_Right_Type_Attribute => 1751, + Iir_Kind_High_Type_Attribute => 1756, + Iir_Kind_Low_Type_Attribute => 1761, + Iir_Kind_Ascending_Type_Attribute => 1766, + Iir_Kind_Image_Attribute => 1772, + Iir_Kind_Value_Attribute => 1778, + Iir_Kind_Pos_Attribute => 1784, + Iir_Kind_Val_Attribute => 1790, + Iir_Kind_Succ_Attribute => 1796, + Iir_Kind_Pred_Attribute => 1802, + Iir_Kind_Leftof_Attribute => 1808, + Iir_Kind_Rightof_Attribute => 1814, + Iir_Kind_Delayed_Attribute => 1823, + Iir_Kind_Stable_Attribute => 1832, + Iir_Kind_Quiet_Attribute => 1841, + Iir_Kind_Transaction_Attribute => 1850, + Iir_Kind_Event_Attribute => 1854, + Iir_Kind_Active_Attribute => 1858, + Iir_Kind_Last_Event_Attribute => 1862, + Iir_Kind_Last_Active_Attribute => 1866, + Iir_Kind_Last_Value_Attribute => 1870, + Iir_Kind_Driving_Attribute => 1874, + Iir_Kind_Driving_Value_Attribute => 1878, + Iir_Kind_Behavior_Attribute => 1878, + Iir_Kind_Structure_Attribute => 1878, + Iir_Kind_Simple_Name_Attribute => 1885, + Iir_Kind_Instance_Name_Attribute => 1890, + Iir_Kind_Path_Name_Attribute => 1895, + Iir_Kind_Left_Array_Attribute => 1902, + Iir_Kind_Right_Array_Attribute => 1909, + Iir_Kind_High_Array_Attribute => 1916, + Iir_Kind_Low_Array_Attribute => 1923, + Iir_Kind_Length_Array_Attribute => 1930, + Iir_Kind_Ascending_Array_Attribute => 1937, + Iir_Kind_Range_Array_Attribute => 1944, + Iir_Kind_Reverse_Range_Array_Attribute => 1951, + Iir_Kind_Attribute_Name => 1960 ); function Get_Fields_First (K : Iir_Kind) return Fields_Index is @@ -6349,8 +6339,6 @@ package body Vhdl.Nodes_Meta is return Get_String_Length (N); when Field_Literal_Length => return Get_Literal_Length (N); - when Field_Choice_Order => - return Get_Choice_Order (N); when Field_PSL_Nbr_States => return Get_PSL_Nbr_States (N); when others => @@ -6371,8 +6359,6 @@ package body Vhdl.Nodes_Meta is Set_String_Length (N, V); when Field_Literal_Length => Set_Literal_Length (N, V); - when Field_Choice_Order => - Set_Choice_Order (N, V); when Field_PSL_Nbr_States => Set_PSL_Nbr_States (N, V); when others => @@ -7105,20 +7091,6 @@ package body Vhdl.Nodes_Meta is return K = Iir_Kind_Waveform_Element; end Has_Time; - function Has_Choice_Order (K : Iir_Kind) return Boolean is - begin - case K is - when Iir_Kind_Choice_By_Range - | Iir_Kind_Choice_By_Expression - | Iir_Kind_Choice_By_Others - | Iir_Kind_Choice_By_None - | Iir_Kind_Choice_By_Name => - return True; - when others => - return False; - end case; - end Has_Choice_Order; - function Has_Associated_Expr (K : Iir_Kind) return Boolean is begin case K is diff --git a/src/vhdl/vhdl-nodes_meta.ads b/src/vhdl/vhdl-nodes_meta.ads index c9cfe3a99..34b54e8af 100644 --- a/src/vhdl/vhdl-nodes_meta.ads +++ b/src/vhdl/vhdl-nodes_meta.ads @@ -119,7 +119,6 @@ package Vhdl.Nodes_Meta is Field_After_Drivers_Flag, Field_We_Value, Field_Time, - Field_Choice_Order, Field_Associated_Expr, Field_Associated_Block, Field_Associated_Chain, @@ -648,7 +647,6 @@ package Vhdl.Nodes_Meta is function Has_After_Drivers_Flag (K : Iir_Kind) return Boolean; function Has_We_Value (K : Iir_Kind) return Boolean; function Has_Time (K : Iir_Kind) return Boolean; - function Has_Choice_Order (K : Iir_Kind) return Boolean; function Has_Associated_Expr (K : Iir_Kind) return Boolean; function Has_Associated_Block (K : Iir_Kind) return Boolean; function Has_Associated_Chain (K : Iir_Kind) return Boolean; diff --git a/src/vhdl/vhdl-sem_expr.adb b/src/vhdl/vhdl-sem_expr.adb index 4225d0802..90db825b5 100644 --- a/src/vhdl/vhdl-sem_expr.adb +++ b/src/vhdl/vhdl-sem_expr.adb @@ -2578,10 +2578,6 @@ package body Vhdl.Sem_Expr is Fill_Choices_Array (Info, Choice_Chain); Sort_Discrete_Choices (Info); - for I in Info.Arr'Range loop - Set_Choice_Order (Info.Arr (I), Int32 (I)); - end loop; - -- Set low and high bounds. if Info.Nbr_Choices > 0 then Low := Get_Assoc_Low (Info.Arr (Info.Arr'First)); -- cgit v1.2.3