diff options
| -rw-r--r-- | pyGHDL/libghdl/vhdl/nodes.py | 13 | ||||
| -rw-r--r-- | pyGHDL/libghdl/vhdl/nodes_meta.py | 767 | ||||
| -rw-r--r-- | src/ghdldrv/ghdldrv.adb | 12 | ||||
| -rw-r--r-- | src/ghdldrv/ghdllocal.adb | 94 | ||||
| -rw-r--r-- | src/ghdldrv/ghdllocal.ads | 4 | ||||
| -rw-r--r-- | src/vhdl/vhdl-configuration.adb | 41 | ||||
| -rw-r--r-- | src/vhdl/vhdl-nodes.adb | 18 | ||||
| -rw-r--r-- | src/vhdl/vhdl-nodes.ads | 7 | ||||
| -rw-r--r-- | src/vhdl/vhdl-nodes_meta.adb | 659 | ||||
| -rw-r--r-- | src/vhdl/vhdl-nodes_meta.ads | 2 | 
10 files changed, 784 insertions, 833 deletions
diff --git a/pyGHDL/libghdl/vhdl/nodes.py b/pyGHDL/libghdl/vhdl/nodes.py index 9af4cacea..dad9f26a0 100644 --- a/pyGHDL/libghdl/vhdl/nodes.py +++ b/pyGHDL/libghdl/vhdl/nodes.py @@ -2081,19 +2081,6 @@ def Set_Library(obj: Iir, value: Iir) -> None:  @export -@BindToLibGHDL("vhdl__nodes__get_file_dependence_list") -def Get_File_Dependence_List(obj: Iir) -> Iir: -    """""" -    return 0 - - -@export -@BindToLibGHDL("vhdl__nodes__set_file_dependence_list") -def Set_File_Dependence_List(obj: Iir, value: Iir) -> None: -    """""" - - -@export  @BindToLibGHDL("vhdl__nodes__get_design_file_filename")  def Get_Design_File_Filename(obj: Iir) -> NameId:      """""" diff --git a/pyGHDL/libghdl/vhdl/nodes_meta.py b/pyGHDL/libghdl/vhdl/nodes_meta.py index f1d70aa22..fcacf57c5 100644 --- a/pyGHDL/libghdl/vhdl/nodes_meta.py +++ b/pyGHDL/libghdl/vhdl/nodes_meta.py @@ -124,387 +124,386 @@ class fields(IntEnum):      Analysis_Time_Stamp = 4      Design_File_Source = 5      Library = 6 -    File_Dependence_List = 7 -    Design_File_Filename = 8 -    Design_File_Directory = 9 -    Design_File = 10 -    Design_File_Chain = 11 -    Library_Directory = 12 -    Date = 13 -    Context_Items = 14 -    Dependence_List = 15 -    Analysis_Checks_List = 16 -    Date_State = 17 -    Guarded_Target_State = 18 -    Library_Unit = 19 -    Hash_Chain = 20 -    Design_Unit_Source_Pos = 21 -    Design_Unit_Source_Line = 22 -    Design_Unit_Source_Col = 23 -    Value = 24 -    Enum_Pos = 25 -    Physical_Literal = 26 -    Fp_Value = 27 -    Simple_Aggregate_List = 28 -    String8_Id = 29 -    String_Length = 30 -    Bit_String_Base = 31 -    Has_Signed = 32 -    Has_Sign = 33 -    Has_Length = 34 -    Literal_Length = 35 -    Literal_Origin = 36 -    Range_Origin = 37 -    Literal_Subtype = 38 -    Allocator_Subtype = 39 -    Entity_Class = 40 -    Entity_Name_List = 41 -    Attribute_Designator = 42 -    Attribute_Specification_Chain = 43 -    Attribute_Specification = 44 -    Static_Attribute_Flag = 45 -    Signal_List = 46 -    Quantity_List = 47 -    Designated_Entity = 48 -    Formal = 49 -    Actual = 50 -    Open_Actual = 51 -    Actual_Conversion = 52 -    Formal_Conversion = 53 -    Whole_Association_Flag = 54 -    Collapse_Signal_Flag = 55 -    Artificial_Flag = 56 -    Open_Flag = 57 -    After_Drivers_Flag = 58 -    We_Value = 59 -    Time = 60 -    Associated_Expr = 61 -    Associated_Block = 62 -    Associated_Chain = 63 -    Choice_Name = 64 -    Choice_Expression = 65 -    Choice_Range = 66 -    Same_Alternative_Flag = 67 -    Element_Type_Flag = 68 -    Architecture = 69 -    Block_Specification = 70 -    Prev_Block_Configuration = 71 -    Configuration_Item_Chain = 72 -    Attribute_Value_Chain = 73 -    Spec_Chain = 74 -    Value_Chain = 75 -    Attribute_Value_Spec_Chain = 76 -    Entity_Name = 77 -    Package = 78 -    Package_Body = 79 -    Instance_Package_Body = 80 -    Need_Body = 81 -    Macro_Expanded_Flag = 82 -    Need_Instance_Bodies = 83 -    Hierarchical_Name = 84 -    Vunit_Item_Chain = 85 -    Bound_Vunit_Chain = 86 -    Verification_Block_Configuration = 87 -    Block_Configuration = 88 -    Concurrent_Statement_Chain = 89 -    Chain = 90 -    Port_Chain = 91 -    Generic_Chain = 92 -    Type = 93 -    Subtype_Indication = 94 -    Discrete_Range = 95 -    Type_Definition = 96 -    Subtype_Definition = 97 -    Incomplete_Type_Declaration = 98 -    Interface_Type_Subprograms = 99 -    Interface_Type_Definition = 100 -    Nature_Definition = 101 -    Nature = 102 -    Subnature_Indication = 103 -    Reference_Terminal_Flag = 104 -    Mode = 105 -    Guarded_Signal_Flag = 106 -    Signal_Kind = 107 -    Base_Name = 108 -    Interface_Declaration_Chain = 109 -    Default_Subprogram = 110 -    Associated_Subprogram = 111 -    Subprogram_Specification = 112 -    Sequential_Statement_Chain = 113 -    Simultaneous_Statement_Chain = 114 -    Subprogram_Body = 115 -    Overload_Number = 116 -    Subprogram_Depth = 117 -    Subprogram_Hash = 118 -    Impure_Depth = 119 -    Return_Type = 120 -    Implicit_Definition = 121 -    Uninstantiated_Subprogram_Name = 122 -    Default_Value = 123 -    Deferred_Declaration = 124 -    Deferred_Declaration_Flag = 125 -    Shared_Flag = 126 -    Design_Unit = 127 -    Block_Statement = 128 -    Signal_Driver = 129 -    Declaration_Chain = 130 -    File_Logical_Name = 131 -    File_Open_Kind = 132 -    Element_Position = 133 -    Use_Clause_Chain = 134 -    Context_Reference_Chain = 135 -    Inherit_Spec_Chain = 136 -    Selected_Name = 137 -    Type_Declarator = 138 -    Complete_Type_Definition = 139 -    Incomplete_Type_Ref_Chain = 140 -    Associated_Type = 141 -    Enumeration_Literal_List = 142 -    Entity_Class_Entry_Chain = 143 -    Group_Constituent_List = 144 -    Unit_Chain = 145 -    Primary_Unit = 146 -    Identifier = 147 -    Label = 148 -    Return_Identifier = 149 -    Visible_Flag = 150 -    Range_Constraint = 151 -    Direction = 152 -    Left_Limit = 153 -    Right_Limit = 154 -    Left_Limit_Expr = 155 -    Right_Limit_Expr = 156 -    Parent_Type = 157 -    Simple_Nature = 158 -    Base_Nature = 159 -    Resolution_Indication = 160 -    Record_Element_Resolution_Chain = 161 -    Tolerance = 162 -    Plus_Terminal_Name = 163 -    Minus_Terminal_Name = 164 -    Plus_Terminal = 165 -    Minus_Terminal = 166 -    Magnitude_Expression = 167 -    Phase_Expression = 168 -    Power_Expression = 169 -    Simultaneous_Left = 170 -    Simultaneous_Right = 171 -    Text_File_Flag = 172 -    Only_Characters_Flag = 173 -    Is_Character_Type = 174 -    Nature_Staticness = 175 -    Type_Staticness = 176 -    Constraint_State = 177 -    Index_Subtype_List = 178 -    Index_Subtype_Definition_List = 179 -    Element_Subtype_Indication = 180 -    Element_Subtype = 181 -    Element_Subnature_Indication = 182 -    Element_Subnature = 183 -    Index_Constraint_List = 184 -    Array_Element_Constraint = 185 -    Has_Array_Constraint_Flag = 186 -    Has_Element_Constraint_Flag = 187 -    Elements_Declaration_List = 188 -    Owned_Elements_Chain = 189 -    Designated_Type = 190 -    Designated_Subtype_Indication = 191 -    Index_List = 192 -    Reference = 193 -    Nature_Declarator = 194 -    Across_Type_Mark = 195 -    Through_Type_Mark = 196 -    Across_Type_Definition = 197 -    Through_Type_Definition = 198 -    Across_Type = 199 -    Through_Type = 200 -    Target = 201 -    Waveform_Chain = 202 -    Guard = 203 -    Delay_Mechanism = 204 -    Reject_Time_Expression = 205 -    Force_Mode = 206 -    Has_Force_Mode = 207 -    Sensitivity_List = 208 -    Process_Origin = 209 -    Package_Origin = 210 -    Condition_Clause = 211 -    Break_Element = 212 -    Selector_Quantity = 213 -    Break_Quantity = 214 -    Timeout_Clause = 215 -    Postponed_Flag = 216 -    Callees_List = 217 -    Passive_Flag = 218 -    Resolution_Function_Flag = 219 -    Wait_State = 220 -    All_Sensitized_State = 221 -    Seen_Flag = 222 -    Pure_Flag = 223 -    Foreign_Flag = 224 -    Resolved_Flag = 225 -    Signal_Type_Flag = 226 -    Has_Signal_Flag = 227 -    Purity_State = 228 -    Elab_Flag = 229 -    Vendor_Library_Flag = 230 -    Configuration_Mark_Flag = 231 -    Configuration_Done_Flag = 232 -    Index_Constraint_Flag = 233 -    Hide_Implicit_Flag = 234 -    Assertion_Condition = 235 -    Report_Expression = 236 -    Severity_Expression = 237 -    Instantiated_Unit = 238 -    Instantiated_Header = 239 -    Generic_Map_Aspect_Chain = 240 -    Port_Map_Aspect_Chain = 241 -    Configuration_Name = 242 -    Component_Configuration = 243 -    Configuration_Specification = 244 -    Default_Binding_Indication = 245 -    Default_Configuration_Declaration = 246 -    Expression = 247 -    Conditional_Expression_Chain = 248 -    Allocator_Designated_Type = 249 -    Selected_Waveform_Chain = 250 -    Conditional_Waveform_Chain = 251 -    Guard_Expression = 252 -    Guard_Decl = 253 -    Guard_Sensitivity_List = 254 -    Attribute_Implicit_Chain = 255 -    Block_Block_Configuration = 256 -    Package_Header = 257 -    Block_Header = 258 -    Uninstantiated_Package_Name = 259 -    Uninstantiated_Package_Decl = 260 -    Associated_Package = 261 -    Instance_Source_File = 262 -    Generate_Block_Configuration = 263 -    Generate_Statement_Body = 264 -    Alternative_Label = 265 -    Generate_Else_Clause = 266 -    Condition = 267 -    Else_Clause = 268 -    Parameter_Specification = 269 -    Parent = 270 -    Loop_Label = 271 -    Exit_Flag = 272 -    Next_Flag = 273 -    Component_Name = 274 -    Instantiation_List = 275 -    Entity_Aspect = 276 -    Default_Entity_Aspect = 277 -    Binding_Indication = 278 -    Named_Entity = 279 -    Referenced_Name = 280 -    Expr_Staticness = 281 -    Scalar_Size = 282 -    Error_Origin = 283 -    Operand = 284 -    Left = 285 -    Right = 286 -    Unit_Name = 287 -    Name = 288 -    Group_Template_Name = 289 -    Name_Staticness = 290 -    Prefix = 291 -    Signature_Prefix = 292 -    External_Pathname = 293 -    Pathname_Suffix = 294 -    Pathname_Expression = 295 -    In_Formal_Flag = 296 -    Inertial_Flag = 297 -    Slice_Subtype = 298 -    Suffix = 299 -    Index_Subtype = 300 -    Parameter = 301 -    Parameter_2 = 302 -    Parameter_3 = 303 -    Parameter_4 = 304 -    Attr_Chain = 305 -    Attribute_Implicit_Declaration = 306 -    Actual_Type = 307 -    Actual_Type_Definition = 308 -    Association_Chain = 309 -    Individual_Association_Chain = 310 -    Subprogram_Association_Chain = 311 -    Aggregate_Info = 312 -    Sub_Aggregate_Info = 313 -    Aggr_Dynamic_Flag = 314 -    Aggr_Min_Length = 315 -    Aggr_Low_Limit = 316 -    Aggr_High_Limit = 317 -    Aggr_Others_Flag = 318 -    Aggr_Named_Flag = 319 -    Aggregate_Expand_Flag = 320 -    Determined_Aggregate_Flag = 321 -    Association_Choices_Chain = 322 -    Case_Statement_Alternative_Chain = 323 -    Matching_Flag = 324 -    Choice_Staticness = 325 -    Procedure_Call = 326 -    Implementation = 327 -    Parameter_Association_Chain = 328 -    Method_Object = 329 -    Subtype_Type_Mark = 330 -    Subnature_Nature_Mark = 331 -    Type_Conversion_Subtype = 332 -    Type_Mark = 333 -    File_Type_Mark = 334 -    Return_Type_Mark = 335 -    Has_Disconnect_Flag = 336 -    Has_Active_Flag = 337 -    Is_Within_Flag = 338 -    Type_Marks_List = 339 -    Implicit_Alias_Flag = 340 -    Alias_Signature = 341 -    Attribute_Signature = 342 -    Overload_List = 343 -    Simple_Name_Identifier = 344 -    Simple_Name_Subtype = 345 -    Protected_Type_Body = 346 -    Protected_Type_Declaration = 347 -    Use_Flag = 348 -    Elaborated_Flag = 349 -    End_Has_Reserved_Id = 350 -    End_Has_Identifier = 351 -    End_Has_Postponed = 352 -    Has_Label = 353 -    Has_Begin = 354 -    Has_End = 355 -    Has_Is = 356 -    Has_Pure = 357 -    Has_Body = 358 -    Has_Parameter = 359 -    Has_Component = 360 -    Has_Identifier_List = 361 -    Has_Mode = 362 -    Has_Class = 363 -    Has_Delay_Mechanism = 364 -    Suspend_Flag = 365 -    Stop_Flag = 366 -    Is_Ref = 367 -    Is_Forward_Ref = 368 -    Psl_Property = 369 -    Psl_Sequence = 370 -    Psl_Declaration = 371 -    Psl_Expression = 372 -    Psl_Boolean = 373 -    PSL_Clock = 374 -    PSL_NFA = 375 -    PSL_Nbr_States = 376 -    PSL_Clock_Sensitivity = 377 -    PSL_EOS_Flag = 378 -    PSL_Abort_Flag = 379 -    Count_Expression = 380 -    Clock_Expression = 381 -    Default_Clock = 382 -    Foreign_Node = 383 -    Suspend_State_Index = 384 -    Suspend_State_Chain = 385 -    Suspend_State_Last = 386 -    Suspend_State_Decl = 387 +    Design_File_Filename = 7 +    Design_File_Directory = 8 +    Design_File = 9 +    Design_File_Chain = 10 +    Library_Directory = 11 +    Date = 12 +    Context_Items = 13 +    Dependence_List = 14 +    Analysis_Checks_List = 15 +    Date_State = 16 +    Guarded_Target_State = 17 +    Library_Unit = 18 +    Hash_Chain = 19 +    Design_Unit_Source_Pos = 20 +    Design_Unit_Source_Line = 21 +    Design_Unit_Source_Col = 22 +    Value = 23 +    Enum_Pos = 24 +    Physical_Literal = 25 +    Fp_Value = 26 +    Simple_Aggregate_List = 27 +    String8_Id = 28 +    String_Length = 29 +    Bit_String_Base = 30 +    Has_Signed = 31 +    Has_Sign = 32 +    Has_Length = 33 +    Literal_Length = 34 +    Literal_Origin = 35 +    Range_Origin = 36 +    Literal_Subtype = 37 +    Allocator_Subtype = 38 +    Entity_Class = 39 +    Entity_Name_List = 40 +    Attribute_Designator = 41 +    Attribute_Specification_Chain = 42 +    Attribute_Specification = 43 +    Static_Attribute_Flag = 44 +    Signal_List = 45 +    Quantity_List = 46 +    Designated_Entity = 47 +    Formal = 48 +    Actual = 49 +    Open_Actual = 50 +    Actual_Conversion = 51 +    Formal_Conversion = 52 +    Whole_Association_Flag = 53 +    Collapse_Signal_Flag = 54 +    Artificial_Flag = 55 +    Open_Flag = 56 +    After_Drivers_Flag = 57 +    We_Value = 58 +    Time = 59 +    Associated_Expr = 60 +    Associated_Block = 61 +    Associated_Chain = 62 +    Choice_Name = 63 +    Choice_Expression = 64 +    Choice_Range = 65 +    Same_Alternative_Flag = 66 +    Element_Type_Flag = 67 +    Architecture = 68 +    Block_Specification = 69 +    Prev_Block_Configuration = 70 +    Configuration_Item_Chain = 71 +    Attribute_Value_Chain = 72 +    Spec_Chain = 73 +    Value_Chain = 74 +    Attribute_Value_Spec_Chain = 75 +    Entity_Name = 76 +    Package = 77 +    Package_Body = 78 +    Instance_Package_Body = 79 +    Need_Body = 80 +    Macro_Expanded_Flag = 81 +    Need_Instance_Bodies = 82 +    Hierarchical_Name = 83 +    Vunit_Item_Chain = 84 +    Bound_Vunit_Chain = 85 +    Verification_Block_Configuration = 86 +    Block_Configuration = 87 +    Concurrent_Statement_Chain = 88 +    Chain = 89 +    Port_Chain = 90 +    Generic_Chain = 91 +    Type = 92 +    Subtype_Indication = 93 +    Discrete_Range = 94 +    Type_Definition = 95 +    Subtype_Definition = 96 +    Incomplete_Type_Declaration = 97 +    Interface_Type_Subprograms = 98 +    Interface_Type_Definition = 99 +    Nature_Definition = 100 +    Nature = 101 +    Subnature_Indication = 102 +    Reference_Terminal_Flag = 103 +    Mode = 104 +    Guarded_Signal_Flag = 105 +    Signal_Kind = 106 +    Base_Name = 107 +    Interface_Declaration_Chain = 108 +    Default_Subprogram = 109 +    Associated_Subprogram = 110 +    Subprogram_Specification = 111 +    Sequential_Statement_Chain = 112 +    Simultaneous_Statement_Chain = 113 +    Subprogram_Body = 114 +    Overload_Number = 115 +    Subprogram_Depth = 116 +    Subprogram_Hash = 117 +    Impure_Depth = 118 +    Return_Type = 119 +    Implicit_Definition = 120 +    Uninstantiated_Subprogram_Name = 121 +    Default_Value = 122 +    Deferred_Declaration = 123 +    Deferred_Declaration_Flag = 124 +    Shared_Flag = 125 +    Design_Unit = 126 +    Block_Statement = 127 +    Signal_Driver = 128 +    Declaration_Chain = 129 +    File_Logical_Name = 130 +    File_Open_Kind = 131 +    Element_Position = 132 +    Use_Clause_Chain = 133 +    Context_Reference_Chain = 134 +    Inherit_Spec_Chain = 135 +    Selected_Name = 136 +    Type_Declarator = 137 +    Complete_Type_Definition = 138 +    Incomplete_Type_Ref_Chain = 139 +    Associated_Type = 140 +    Enumeration_Literal_List = 141 +    Entity_Class_Entry_Chain = 142 +    Group_Constituent_List = 143 +    Unit_Chain = 144 +    Primary_Unit = 145 +    Identifier = 146 +    Label = 147 +    Return_Identifier = 148 +    Visible_Flag = 149 +    Range_Constraint = 150 +    Direction = 151 +    Left_Limit = 152 +    Right_Limit = 153 +    Left_Limit_Expr = 154 +    Right_Limit_Expr = 155 +    Parent_Type = 156 +    Simple_Nature = 157 +    Base_Nature = 158 +    Resolution_Indication = 159 +    Record_Element_Resolution_Chain = 160 +    Tolerance = 161 +    Plus_Terminal_Name = 162 +    Minus_Terminal_Name = 163 +    Plus_Terminal = 164 +    Minus_Terminal = 165 +    Magnitude_Expression = 166 +    Phase_Expression = 167 +    Power_Expression = 168 +    Simultaneous_Left = 169 +    Simultaneous_Right = 170 +    Text_File_Flag = 171 +    Only_Characters_Flag = 172 +    Is_Character_Type = 173 +    Nature_Staticness = 174 +    Type_Staticness = 175 +    Constraint_State = 176 +    Index_Subtype_List = 177 +    Index_Subtype_Definition_List = 178 +    Element_Subtype_Indication = 179 +    Element_Subtype = 180 +    Element_Subnature_Indication = 181 +    Element_Subnature = 182 +    Index_Constraint_List = 183 +    Array_Element_Constraint = 184 +    Has_Array_Constraint_Flag = 185 +    Has_Element_Constraint_Flag = 186 +    Elements_Declaration_List = 187 +    Owned_Elements_Chain = 188 +    Designated_Type = 189 +    Designated_Subtype_Indication = 190 +    Index_List = 191 +    Reference = 192 +    Nature_Declarator = 193 +    Across_Type_Mark = 194 +    Through_Type_Mark = 195 +    Across_Type_Definition = 196 +    Through_Type_Definition = 197 +    Across_Type = 198 +    Through_Type = 199 +    Target = 200 +    Waveform_Chain = 201 +    Guard = 202 +    Delay_Mechanism = 203 +    Reject_Time_Expression = 204 +    Force_Mode = 205 +    Has_Force_Mode = 206 +    Sensitivity_List = 207 +    Process_Origin = 208 +    Package_Origin = 209 +    Condition_Clause = 210 +    Break_Element = 211 +    Selector_Quantity = 212 +    Break_Quantity = 213 +    Timeout_Clause = 214 +    Postponed_Flag = 215 +    Callees_List = 216 +    Passive_Flag = 217 +    Resolution_Function_Flag = 218 +    Wait_State = 219 +    All_Sensitized_State = 220 +    Seen_Flag = 221 +    Pure_Flag = 222 +    Foreign_Flag = 223 +    Resolved_Flag = 224 +    Signal_Type_Flag = 225 +    Has_Signal_Flag = 226 +    Purity_State = 227 +    Elab_Flag = 228 +    Vendor_Library_Flag = 229 +    Configuration_Mark_Flag = 230 +    Configuration_Done_Flag = 231 +    Index_Constraint_Flag = 232 +    Hide_Implicit_Flag = 233 +    Assertion_Condition = 234 +    Report_Expression = 235 +    Severity_Expression = 236 +    Instantiated_Unit = 237 +    Instantiated_Header = 238 +    Generic_Map_Aspect_Chain = 239 +    Port_Map_Aspect_Chain = 240 +    Configuration_Name = 241 +    Component_Configuration = 242 +    Configuration_Specification = 243 +    Default_Binding_Indication = 244 +    Default_Configuration_Declaration = 245 +    Expression = 246 +    Conditional_Expression_Chain = 247 +    Allocator_Designated_Type = 248 +    Selected_Waveform_Chain = 249 +    Conditional_Waveform_Chain = 250 +    Guard_Expression = 251 +    Guard_Decl = 252 +    Guard_Sensitivity_List = 253 +    Attribute_Implicit_Chain = 254 +    Block_Block_Configuration = 255 +    Package_Header = 256 +    Block_Header = 257 +    Uninstantiated_Package_Name = 258 +    Uninstantiated_Package_Decl = 259 +    Associated_Package = 260 +    Instance_Source_File = 261 +    Generate_Block_Configuration = 262 +    Generate_Statement_Body = 263 +    Alternative_Label = 264 +    Generate_Else_Clause = 265 +    Condition = 266 +    Else_Clause = 267 +    Parameter_Specification = 268 +    Parent = 269 +    Loop_Label = 270 +    Exit_Flag = 271 +    Next_Flag = 272 +    Component_Name = 273 +    Instantiation_List = 274 +    Entity_Aspect = 275 +    Default_Entity_Aspect = 276 +    Binding_Indication = 277 +    Named_Entity = 278 +    Referenced_Name = 279 +    Expr_Staticness = 280 +    Scalar_Size = 281 +    Error_Origin = 282 +    Operand = 283 +    Left = 284 +    Right = 285 +    Unit_Name = 286 +    Name = 287 +    Group_Template_Name = 288 +    Name_Staticness = 289 +    Prefix = 290 +    Signature_Prefix = 291 +    External_Pathname = 292 +    Pathname_Suffix = 293 +    Pathname_Expression = 294 +    In_Formal_Flag = 295 +    Inertial_Flag = 296 +    Slice_Subtype = 297 +    Suffix = 298 +    Index_Subtype = 299 +    Parameter = 300 +    Parameter_2 = 301 +    Parameter_3 = 302 +    Parameter_4 = 303 +    Attr_Chain = 304 +    Attribute_Implicit_Declaration = 305 +    Actual_Type = 306 +    Actual_Type_Definition = 307 +    Association_Chain = 308 +    Individual_Association_Chain = 309 +    Subprogram_Association_Chain = 310 +    Aggregate_Info = 311 +    Sub_Aggregate_Info = 312 +    Aggr_Dynamic_Flag = 313 +    Aggr_Min_Length = 314 +    Aggr_Low_Limit = 315 +    Aggr_High_Limit = 316 +    Aggr_Others_Flag = 317 +    Aggr_Named_Flag = 318 +    Aggregate_Expand_Flag = 319 +    Determined_Aggregate_Flag = 320 +    Association_Choices_Chain = 321 +    Case_Statement_Alternative_Chain = 322 +    Matching_Flag = 323 +    Choice_Staticness = 324 +    Procedure_Call = 325 +    Implementation = 326 +    Parameter_Association_Chain = 327 +    Method_Object = 328 +    Subtype_Type_Mark = 329 +    Subnature_Nature_Mark = 330 +    Type_Conversion_Subtype = 331 +    Type_Mark = 332 +    File_Type_Mark = 333 +    Return_Type_Mark = 334 +    Has_Disconnect_Flag = 335 +    Has_Active_Flag = 336 +    Is_Within_Flag = 337 +    Type_Marks_List = 338 +    Implicit_Alias_Flag = 339 +    Alias_Signature = 340 +    Attribute_Signature = 341 +    Overload_List = 342 +    Simple_Name_Identifier = 343 +    Simple_Name_Subtype = 344 +    Protected_Type_Body = 345 +    Protected_Type_Declaration = 346 +    Use_Flag = 347 +    Elaborated_Flag = 348 +    End_Has_Reserved_Id = 349 +    End_Has_Identifier = 350 +    End_Has_Postponed = 351 +    Has_Label = 352 +    Has_Begin = 353 +    Has_End = 354 +    Has_Is = 355 +    Has_Pure = 356 +    Has_Body = 357 +    Has_Parameter = 358 +    Has_Component = 359 +    Has_Identifier_List = 360 +    Has_Mode = 361 +    Has_Class = 362 +    Has_Delay_Mechanism = 363 +    Suspend_Flag = 364 +    Stop_Flag = 365 +    Is_Ref = 366 +    Is_Forward_Ref = 367 +    Psl_Property = 368 +    Psl_Sequence = 369 +    Psl_Declaration = 370 +    Psl_Expression = 371 +    Psl_Boolean = 372 +    PSL_Clock = 373 +    PSL_NFA = 374 +    PSL_Nbr_States = 375 +    PSL_Clock_Sensitivity = 376 +    PSL_EOS_Flag = 377 +    PSL_Abort_Flag = 378 +    Count_Expression = 379 +    Clock_Expression = 380 +    Default_Clock = 381 +    Foreign_Node = 382 +    Suspend_State_Index = 383 +    Suspend_State_Chain = 384 +    Suspend_State_Last = 385 +    Suspend_State_Decl = 386  def Get_Boolean(node, field): @@ -682,12 +681,6 @@ def Has_Library(kind: IirKind) -> bool:  @export -@BindToLibGHDL("vhdl__nodes_meta__has_file_dependence_list") -def Has_File_Dependence_List(kind: IirKind) -> bool: -    """""" - - -@export  @BindToLibGHDL("vhdl__nodes_meta__has_design_file_filename")  def Has_Design_File_Filename(kind: IirKind) -> bool:      """""" diff --git a/src/ghdldrv/ghdldrv.adb b/src/ghdldrv/ghdldrv.adb index 0313e6057..4a36f95c7 100644 --- a/src/ghdldrv/ghdldrv.adb +++ b/src/ghdldrv/ghdldrv.adb @@ -1659,18 +1659,19 @@ package body Ghdldrv is              if Flag_Verbose then                 Put_Line (":");                 declare -                  Dep_List : constant Iir_List := -                    Get_File_Dependence_List (File); +                  Dep_List : Iir_List;                    Dep_It : List_Iterator;                    Dep_File : Iir;                 begin -                  Dep_It := List_Iterate_Safe (Dep_List); +                  Dep_List := Build_File_Dependences (File); +                  Dep_It := List_Iterate (Dep_List);                    while Is_Valid (Dep_It) loop                       Put ("    ");                       Dep_File := Get_Element (Dep_It);                       Put_Line (Image (Get_Design_File_Filename (Dep_File)));                       Next (Dep_It);                    end loop; +                  Destroy_Iir_List (Dep_List);                 end;              else                 New_Line; @@ -2004,8 +2005,8 @@ package body Ghdldrv is           if Is_Makeable_File (File) then              Put (Get_Object_Filename (File));              Put (": "); -            Dep_List := Get_File_Dependence_List (File); -            Dep_It := List_Iterate_Safe (Dep_List); +            Dep_List := Build_File_Dependences (File); +            Dep_It := List_Iterate (Dep_List);              while Is_Valid (Dep_It) loop                 Dep_File := Get_Element (Dep_It);                 if Dep_File /= File and then Is_Makeable_File (Dep_File) @@ -2015,6 +2016,7 @@ package body Ghdldrv is                 end if;                 Next (Dep_It);              end loop; +            Destroy_Iir_List (Dep_List);              New_Line;           end if;           Next (Files_It); diff --git a/src/ghdldrv/ghdllocal.adb b/src/ghdldrv/ghdllocal.adb index e7e8f5261..ecc36db39 100644 --- a/src/ghdldrv/ghdllocal.adb +++ b/src/ghdldrv/ghdllocal.adb @@ -1532,31 +1532,73 @@ package body Ghdllocal is        end loop;     end Check_No_Elab_Flag; +   --  Append all the file on which FILE depends. +   procedure Append_File_Dependences (File : Iir_Design_File; List : Iir_List) +   is +      Unit : Iir; +      List_It : List_Iterator; +      Dep_Unit : Iir; +      Dep_Unit_File : Iir; +   begin +      --  Prepend the dependencies. +      Unit := Get_First_Design_Unit (File); +      while Unit /= Null_Iir loop +         List_It := List_Iterate_Safe (Get_Dependence_List (Unit)); +         while Is_Valid (List_It) loop +            Dep_Unit := Get_Element (List_It); +            --  TODO: exclude anonymous configurations ? +            --  A dependency could be an entity aspect. +            Dep_Unit := Libraries.Find_Design_Unit (Dep_Unit); +            if Dep_Unit /= Null_Iir then +               case Get_Kind (Dep_Unit) is +                  when Iir_Kind_Design_Unit => +                     Dep_Unit_File := Get_Parent (Dep_Unit); +                     if not Get_Elab_Flag (Dep_Unit_File) then +                        --  Add if not already in the list. +                        Set_Elab_Flag (Dep_Unit_File, True); +                        Append_File_Dependences (Dep_Unit_File, List); +                        Append_Element (List, Dep_Unit_File); +                     end if; +                  when Iir_Kind_Foreign_Module => +                     null; +                  when others => +                     raise Internal_Error; +               end case; +            end if; +            Next (List_It); +         end loop; +         Unit := Get_Chain (Unit); +      end loop; +   end Append_File_Dependences; + +   procedure Clear_Elab_Flag (List : Iir_List) +   is +      It : List_Iterator; +   begin +      It := List_Iterate (List); +      while Is_Valid (It) loop +         Set_Elab_Flag (Get_Element (It), False); +         Next (It); +      end loop; +   end Clear_Elab_Flag; + +   function Build_File_Dependences (File : Iir) return Iir_List +   is +      Res : Iir_List; +   begin +      Res := Create_Iir_List; +      Set_Elab_Flag (File, True); +      Append_File_Dependences (File, Res); + +      Clear_Elab_Flag (Res); +      Set_Elab_Flag (File, False); + +      return Res; +   end Build_File_Dependences; +     function Build_Dependence (Lib : Name_Id; Prim : Name_Id; Sec : Name_Id)                               return Iir_List     is -      procedure Build_Dependence_List (File : Iir_Design_File; List : Iir_List) -      is -         El : Iir_Design_File; -         Depend_List : Iir_List; -         Depend_It : List_Iterator; -      begin -         if Get_Elab_Flag (File) then -            return; -         end if; - -         Set_Elab_Flag (File, True); -         Depend_List := Get_File_Dependence_List (File); -         if Depend_List /= Null_Iir_List then -            Depend_It := List_Iterate (Depend_List); -            while Is_Valid (Depend_It) loop -               El := Get_Element (Depend_It); -               Build_Dependence_List (El, List); -               Next (Depend_It); -            end loop; -         end if; -         Append_Element (List, File); -      end Build_Dependence_List;        use Vhdl.Configuration; @@ -1652,9 +1694,15 @@ package body Ghdllocal is        for I in Design_Units.First .. Design_Units.Last loop           Unit := Design_Units.Table (I);           File := Get_Design_File (Unit); -         Build_Dependence_List (File, Files_List); +         if not Get_Elab_Flag (File) then +            Set_Elab_Flag (File, True); +            Append_File_Dependences (File, Files_List); +            Append_Element (Files_List, File); +         end if;        end loop; +      Clear_Elab_Flag (Files_List); +        return Files_List;     end Build_Dependence; diff --git a/src/ghdldrv/ghdllocal.ads b/src/ghdldrv/ghdllocal.ads index f476ae24c..953002923 100644 --- a/src/ghdldrv/ghdllocal.ads +++ b/src/ghdldrv/ghdllocal.ads @@ -130,9 +130,13 @@ package Ghdllocal is     --  Raise errorout.compilation_error in case of error (parse error).     procedure Load_All_Libraries_And_Files; +   --  Return an ordered list of design_files to build LIB.PRIM.SEC.     function Build_Dependence (Lib : Name_Id; Prim : Name_Id; Sec : Name_Id)                               return Iir_List; +   --  Return a list of design_file on which FILE depends. +   function Build_File_Dependences (File : Iir) return Iir_List; +     --  Return True iff file FILE has been modified (the file time stamp does     --  no correspond to what was recorded in the library).     function Source_File_Modified (File : Iir_Design_File) return Boolean; diff --git a/src/vhdl/vhdl-configuration.adb b/src/vhdl/vhdl-configuration.adb index 9777cca6a..a05009c7a 100644 --- a/src/vhdl/vhdl-configuration.adb +++ b/src/vhdl/vhdl-configuration.adb @@ -35,7 +35,6 @@ package body Vhdl.Configuration is     procedure Add_Design_Block_Configuration (Blk : Iir_Block_Configuration);     procedure Add_Design_Aspect (Aspect : Iir; Add_Default : Boolean); -   Current_File_Dependence : Iir_List := Null_Iir_List;     Current_Configuration : Iir_Configuration_Declaration := Null_Iir;     --  UNIT is a design unit of a configuration declaration. @@ -48,18 +47,7 @@ package body Vhdl.Configuration is        It : List_Iterator;        El : Iir;        Lib_Unit : Iir; -      File : Iir_Design_File; -      Prev_File_Dependence : Iir_List;     begin -      if Flag_Build_File_Dependence then -         --  The current file depends on unit. -         File := Get_Design_File (Unit); -         if Current_File_Dependence /= Null_Iir_List then -            --  (There is no dependency for default configuration). -            Add_Element (Current_File_Dependence, File); -         end if; -      end if; -        --  If already in the table, then nothing to do.        if Get_Configuration_Mark_Flag (Unit) then           --  There might be some direct recursions: @@ -82,26 +70,6 @@ package body Vhdl.Configuration is        Lib_Unit := Get_Library_Unit (Unit); -      if Flag_Build_File_Dependence then -         --  Switch current_file_dependence to the design file of Unit. -         Prev_File_Dependence := Current_File_Dependence; - -         if Get_Kind (Lib_Unit) = Iir_Kind_Configuration_Declaration -           and then Get_Identifier (Lib_Unit) = Null_Identifier -         then -            --  Do not add dependence for default configuration. -            Current_File_Dependence := Null_Iir_List; -         else -            File := Get_Design_File (Unit); -            Current_File_Dependence := Get_File_Dependence_List (File); -            --  Create a list if not yet created. -            if Current_File_Dependence = Null_Iir_List then -               Current_File_Dependence := Create_Iir_List; -               Set_File_Dependence_List (File, Current_File_Dependence); -            end if; -         end if; -      end if; -        if Flag_Load_All_Design_Units then           --  Load and analyze UNIT.           Load_Design_Unit (Unit, From); @@ -198,15 +166,6 @@ package body Vhdl.Configuration is        Set_Configuration_Done_Flag (Unit, True); -      --  Restore now the file dependence. -      --  Indeed, we may add a package body when we are in a package -      --  declaration.  However, the later does not depend on the former. -      --  The file which depends on the package declaration also depends on -      --  the package body. -      if Flag_Build_File_Dependence then -         Current_File_Dependence := Prev_File_Dependence; -      end if; -        if Get_Kind (Lib_Unit) = Iir_Kind_Package_Declaration then           --  Add body (if any).           declare diff --git a/src/vhdl/vhdl-nodes.adb b/src/vhdl/vhdl-nodes.adb index 3891f3f13..e3ece3128 100644 --- a/src/vhdl/vhdl-nodes.adb +++ b/src/vhdl/vhdl-nodes.adb @@ -1424,24 +1424,6 @@ package body Vhdl.Nodes is        Set_Field0 (File, Lib);     end Set_Library; -   function Get_File_Dependence_List (File : Iir_Design_File) return Iir_List -   is -   begin -      pragma Assert (File /= Null_Iir); -      pragma Assert (Has_File_Dependence_List (Get_Kind (File)), -                     "no field File_Dependence_List"); -      return Iir_To_Iir_List (Get_Field1 (File)); -   end Get_File_Dependence_List; - -   procedure Set_File_Dependence_List (File : Iir_Design_File; Lst : Iir_List) -   is -   begin -      pragma Assert (File /= Null_Iir); -      pragma Assert (Has_File_Dependence_List (Get_Kind (File)), -                     "no field File_Dependence_List"); -      Set_Field1 (File, Iir_List_To_Iir (Lst)); -   end Set_File_Dependence_List; -     function Get_Design_File_Filename (File : Iir_Design_File) return Name_Id     is     begin diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads index 80d8b091b..23de77b2f 100644 --- a/src/vhdl/vhdl-nodes.ads +++ b/src/vhdl/vhdl-nodes.ads @@ -187,8 +187,6 @@ package Vhdl.Nodes is     --   Get/Set_Library (Field0)     --   Get/Set_Parent (Alias Field0)     -- -   --   Get/Set_File_Dependence_List (Field1) -   --     --   Get/Set_Chain (Field2)     --     --  Time when the whole file has been analyzed.  This allows ordering @@ -7760,11 +7758,6 @@ package Vhdl.Nodes is     function Get_Library (File : Iir_Design_File) return Iir;     procedure Set_Library (File : Iir_Design_File; Lib : Iir); -   --  List of files which this design file depends on. -   --  Field: Field1 (uc) -   function Get_File_Dependence_List (File : Iir_Design_File) return Iir_List; -   procedure Set_File_Dependence_List (File : Iir_Design_File; Lst : Iir_List); -     --  Identifier for the design file file name.     --  Field: Field12 (pos)     function Get_Design_File_Filename (File : Iir_Design_File) return Name_Id; diff --git a/src/vhdl/vhdl-nodes_meta.adb b/src/vhdl/vhdl-nodes_meta.adb index 64757ba69..7fd44159b 100644 --- a/src/vhdl/vhdl-nodes_meta.adb +++ b/src/vhdl/vhdl-nodes_meta.adb @@ -24,7 +24,6 @@ package body Vhdl.Nodes_Meta is        Field_Analysis_Time_Stamp => Type_Time_Stamp_Id,        Field_Design_File_Source => Type_Source_File_Entry,        Field_Library => Type_Iir, -      Field_File_Dependence_List => Type_Iir_List,        Field_Design_File_Filename => Type_Name_Id,        Field_Design_File_Directory => Type_Name_Id,        Field_Design_File => Type_Iir, @@ -429,8 +428,6 @@ package body Vhdl.Nodes_Meta is              return "design_file_source";           when Field_Library =>              return "library"; -         when Field_File_Dependence_List => -            return "file_dependence_list";           when Field_Design_File_Filename =>              return "design_file_filename";           when Field_Design_File_Directory => @@ -1865,8 +1862,6 @@ package body Vhdl.Nodes_Meta is              return Attr_None;           when Field_Library =>              return Attr_Ref; -         when Field_File_Dependence_List => -            return Attr_None;           when Field_Design_File_Filename =>              return Attr_None;           when Field_Design_File_Directory => @@ -2649,7 +2644,6 @@ package body Vhdl.Nodes_Meta is        Field_Design_File_Source,        Field_Elab_Flag,        Field_Library, -      Field_File_Dependence_List,        Field_Chain,        Field_First_Design_Unit,        Field_Last_Design_Unit, @@ -5396,328 +5390,328 @@ package body Vhdl.Nodes_Meta is       (        Iir_Kind_Unused => -1,        Iir_Kind_Error => 6, -      Iir_Kind_Design_File => 17, -      Iir_Kind_Design_Unit => 33, -      Iir_Kind_Library_Clause => 38, -      Iir_Kind_Use_Clause => 42, -      Iir_Kind_Context_Reference => 46, -      Iir_Kind_PSL_Inherit_Spec => 50, -      Iir_Kind_Integer_Literal => 55, -      Iir_Kind_Floating_Point_Literal => 60, -      Iir_Kind_Null_Literal => 62, -      Iir_Kind_String_Literal8 => 73, -      Iir_Kind_Physical_Int_Literal => 79, -      Iir_Kind_Physical_Fp_Literal => 85, -      Iir_Kind_Simple_Aggregate => 90, -      Iir_Kind_Overflow_Literal => 93, -      Iir_Kind_Unaffected_Waveform => 94, -      Iir_Kind_Waveform_Element => 97, -      Iir_Kind_Conditional_Waveform => 101, -      Iir_Kind_Conditional_Expression => 105, -      Iir_Kind_Association_Element_By_Expression => 114, -      Iir_Kind_Association_Element_By_Name => 122, -      Iir_Kind_Association_Element_By_Individual => 131, -      Iir_Kind_Association_Element_Open => 138, -      Iir_Kind_Association_Element_Package => 144, -      Iir_Kind_Association_Element_Type => 152, -      Iir_Kind_Association_Element_Subprogram => 158, -      Iir_Kind_Association_Element_Terminal => 164, -      Iir_Kind_Choice_By_Range => 172, -      Iir_Kind_Choice_By_Expression => 180, -      Iir_Kind_Choice_By_Others => 186, -      Iir_Kind_Choice_By_None => 192, -      Iir_Kind_Choice_By_Name => 199, -      Iir_Kind_Entity_Aspect_Entity => 201, -      Iir_Kind_Entity_Aspect_Configuration => 202, -      Iir_Kind_Entity_Aspect_Open => 202, -      Iir_Kind_Psl_Hierarchical_Name => 204, -      Iir_Kind_Block_Configuration => 210, -      Iir_Kind_Block_Header => 214, -      Iir_Kind_Component_Configuration => 222, -      Iir_Kind_Binding_Indication => 226, -      Iir_Kind_Entity_Class => 228, -      Iir_Kind_Attribute_Value => 236, -      Iir_Kind_Signature => 241, -      Iir_Kind_Aggregate_Info => 248, -      Iir_Kind_Procedure_Call => 252, -      Iir_Kind_Record_Element_Constraint => 260, -      Iir_Kind_Array_Element_Resolution => 262, -      Iir_Kind_Record_Resolution => 263, -      Iir_Kind_Record_Element_Resolution => 266, -      Iir_Kind_Break_Element => 270, -      Iir_Kind_Attribute_Specification => 279, -      Iir_Kind_Disconnection_Specification => 285, -      Iir_Kind_Step_Limit_Specification => 291, -      Iir_Kind_Configuration_Specification => 298, -      Iir_Kind_Access_Type_Definition => 305, -      Iir_Kind_Incomplete_Type_Definition => 312, -      Iir_Kind_Interface_Type_Definition => 318, -      Iir_Kind_File_Type_Definition => 324, -      Iir_Kind_Protected_Type_Declaration => 335, -      Iir_Kind_Record_Type_Definition => 345, -      Iir_Kind_Array_Type_Definition => 356, -      Iir_Kind_Array_Subtype_Definition => 373, -      Iir_Kind_Record_Subtype_Definition => 386, -      Iir_Kind_Access_Subtype_Definition => 394, -      Iir_Kind_File_Subtype_Definition => 401, -      Iir_Kind_Physical_Subtype_Definition => 411, -      Iir_Kind_Floating_Subtype_Definition => 422, -      Iir_Kind_Integer_Subtype_Definition => 432, -      Iir_Kind_Enumeration_Subtype_Definition => 442, -      Iir_Kind_Enumeration_Type_Definition => 453, -      Iir_Kind_Integer_Type_Definition => 461, -      Iir_Kind_Floating_Type_Definition => 469, -      Iir_Kind_Physical_Type_Definition => 480, -      Iir_Kind_Range_Expression => 488, -      Iir_Kind_Protected_Type_Body => 496, -      Iir_Kind_Wildcard_Type_Definition => 500, -      Iir_Kind_Foreign_Vector_Type_Definition => 501, -      Iir_Kind_Subtype_Definition => 508, -      Iir_Kind_Scalar_Nature_Definition => 516, -      Iir_Kind_Record_Nature_Definition => 529, -      Iir_Kind_Array_Nature_Definition => 543, -      Iir_Kind_Array_Subnature_Definition => 558, -      Iir_Kind_Overload_List => 559, -      Iir_Kind_Foreign_Module => 564, -      Iir_Kind_Entity_Declaration => 577, -      Iir_Kind_Configuration_Declaration => 587, -      Iir_Kind_Context_Declaration => 593, -      Iir_Kind_Package_Declaration => 608, -      Iir_Kind_Package_Instantiation_Declaration => 622, -      Iir_Kind_Vmode_Declaration => 634, -      Iir_Kind_Vprop_Declaration => 646, -      Iir_Kind_Vunit_Declaration => 659, -      Iir_Kind_Package_Body => 667, -      Iir_Kind_Architecture_Body => 680, -      Iir_Kind_Type_Declaration => 687, -      Iir_Kind_Anonymous_Type_Declaration => 693, -      Iir_Kind_Subtype_Declaration => 701, -      Iir_Kind_Nature_Declaration => 707, -      Iir_Kind_Subnature_Declaration => 714, -      Iir_Kind_Package_Header => 716, -      Iir_Kind_Unit_Declaration => 725, -      Iir_Kind_Library_Declaration => 733, -      Iir_Kind_Component_Declaration => 743, -      Iir_Kind_Attribute_Declaration => 750, -      Iir_Kind_Group_Template_Declaration => 756, -      Iir_Kind_Group_Declaration => 763, -      Iir_Kind_Element_Declaration => 771, -      Iir_Kind_Nature_Element_Declaration => 778, -      Iir_Kind_Non_Object_Alias_Declaration => 786, -      Iir_Kind_Psl_Declaration => 794, -      Iir_Kind_Psl_Boolean_Parameter => 802, -      Iir_Kind_Psl_Endpoint_Declaration => 816, -      Iir_Kind_Enumeration_Literal => 828, -      Iir_Kind_Function_Declaration => 855, -      Iir_Kind_Procedure_Declaration => 879, -      Iir_Kind_Function_Body => 889, -      Iir_Kind_Procedure_Body => 900, -      Iir_Kind_Function_Instantiation_Declaration => 911, -      Iir_Kind_Procedure_Instantiation_Declaration => 921, -      Iir_Kind_Terminal_Declaration => 931, -      Iir_Kind_Object_Alias_Declaration => 943, -      Iir_Kind_Free_Quantity_Declaration => 955, -      Iir_Kind_Spectrum_Quantity_Declaration => 968, -      Iir_Kind_Noise_Quantity_Declaration => 980, -      Iir_Kind_Across_Quantity_Declaration => 996, -      Iir_Kind_Through_Quantity_Declaration => 1012, -      Iir_Kind_File_Declaration => 1027, -      Iir_Kind_Guard_Signal_Declaration => 1041, -      Iir_Kind_Signal_Declaration => 1058, -      Iir_Kind_Variable_Declaration => 1071, -      Iir_Kind_Constant_Declaration => 1086, -      Iir_Kind_Iterator_Declaration => 1098, -      Iir_Kind_Interface_Constant_Declaration => 1115, -      Iir_Kind_Interface_Variable_Declaration => 1131, -      Iir_Kind_Interface_Signal_Declaration => 1152, -      Iir_Kind_Interface_File_Declaration => 1168, -      Iir_Kind_Interface_Quantity_Declaration => 1184, -      Iir_Kind_Interface_Terminal_Declaration => 1196, -      Iir_Kind_Interface_Type_Declaration => 1208, -      Iir_Kind_Interface_Package_Declaration => 1222, -      Iir_Kind_Interface_Function_Declaration => 1242, -      Iir_Kind_Interface_Procedure_Declaration => 1258, -      Iir_Kind_Attribute_Implicit_Declaration => 1261, -      Iir_Kind_Suspend_State_Declaration => 1265, -      Iir_Kind_Identity_Operator => 1269, -      Iir_Kind_Negation_Operator => 1273, -      Iir_Kind_Absolute_Operator => 1277, -      Iir_Kind_Not_Operator => 1281, -      Iir_Kind_Implicit_Condition_Operator => 1285, -      Iir_Kind_Condition_Operator => 1289, -      Iir_Kind_Reduction_And_Operator => 1293, -      Iir_Kind_Reduction_Or_Operator => 1297, -      Iir_Kind_Reduction_Nand_Operator => 1301, -      Iir_Kind_Reduction_Nor_Operator => 1305, -      Iir_Kind_Reduction_Xor_Operator => 1309, -      Iir_Kind_Reduction_Xnor_Operator => 1313, -      Iir_Kind_And_Operator => 1318, -      Iir_Kind_Or_Operator => 1323, -      Iir_Kind_Nand_Operator => 1328, -      Iir_Kind_Nor_Operator => 1333, -      Iir_Kind_Xor_Operator => 1338, -      Iir_Kind_Xnor_Operator => 1343, -      Iir_Kind_Equality_Operator => 1348, -      Iir_Kind_Inequality_Operator => 1353, -      Iir_Kind_Less_Than_Operator => 1358, -      Iir_Kind_Less_Than_Or_Equal_Operator => 1363, -      Iir_Kind_Greater_Than_Operator => 1368, -      Iir_Kind_Greater_Than_Or_Equal_Operator => 1373, -      Iir_Kind_Match_Equality_Operator => 1378, -      Iir_Kind_Match_Inequality_Operator => 1383, -      Iir_Kind_Match_Less_Than_Operator => 1388, -      Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1393, -      Iir_Kind_Match_Greater_Than_Operator => 1398, -      Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1403, -      Iir_Kind_Sll_Operator => 1408, -      Iir_Kind_Sla_Operator => 1413, -      Iir_Kind_Srl_Operator => 1418, -      Iir_Kind_Sra_Operator => 1423, -      Iir_Kind_Rol_Operator => 1428, -      Iir_Kind_Ror_Operator => 1433, -      Iir_Kind_Addition_Operator => 1438, -      Iir_Kind_Substraction_Operator => 1443, -      Iir_Kind_Concatenation_Operator => 1448, -      Iir_Kind_Multiplication_Operator => 1453, -      Iir_Kind_Division_Operator => 1458, -      Iir_Kind_Modulus_Operator => 1463, -      Iir_Kind_Remainder_Operator => 1468, -      Iir_Kind_Exponentiation_Operator => 1473, -      Iir_Kind_Function_Call => 1481, -      Iir_Kind_Aggregate => 1489, -      Iir_Kind_Parenthesis_Expression => 1492, -      Iir_Kind_Qualified_Expression => 1496, -      Iir_Kind_Type_Conversion => 1501, -      Iir_Kind_Allocator_By_Expression => 1506, -      Iir_Kind_Allocator_By_Subtype => 1512, -      Iir_Kind_Selected_Element => 1520, -      Iir_Kind_Dereference => 1525, -      Iir_Kind_Implicit_Dereference => 1530, -      Iir_Kind_Slice_Name => 1537, -      Iir_Kind_Indexed_Name => 1543, -      Iir_Kind_Psl_Prev => 1549, -      Iir_Kind_Psl_Stable => 1554, -      Iir_Kind_Psl_Rose => 1559, -      Iir_Kind_Psl_Fell => 1564, -      Iir_Kind_Psl_Onehot => 1567, -      Iir_Kind_Psl_Onehot0 => 1570, -      Iir_Kind_Psl_Expression => 1572, -      Iir_Kind_Sensitized_Process_Statement => 1594, -      Iir_Kind_Process_Statement => 1615, -      Iir_Kind_Concurrent_Simple_Signal_Assignment => 1628, -      Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1641, -      Iir_Kind_Concurrent_Selected_Signal_Assignment => 1655, -      Iir_Kind_Concurrent_Assertion_Statement => 1663, -      Iir_Kind_Concurrent_Procedure_Call_Statement => 1670, -      Iir_Kind_Concurrent_Break_Statement => 1678, -      Iir_Kind_Psl_Assert_Directive => 1692, -      Iir_Kind_Psl_Assume_Directive => 1704, -      Iir_Kind_Psl_Cover_Directive => 1716, -      Iir_Kind_Psl_Restrict_Directive => 1727, -      Iir_Kind_Block_Statement => 1741, -      Iir_Kind_If_Generate_Statement => 1752, -      Iir_Kind_Case_Generate_Statement => 1761, -      Iir_Kind_For_Generate_Statement => 1770, -      Iir_Kind_Component_Instantiation_Statement => 1782, -      Iir_Kind_Psl_Default_Clock => 1785, -      Iir_Kind_Generate_Statement_Body => 1796, -      Iir_Kind_If_Generate_Else_Clause => 1802, -      Iir_Kind_Simple_Simultaneous_Statement => 1809, -      Iir_Kind_Simultaneous_Null_Statement => 1813, -      Iir_Kind_Simultaneous_Procedural_Statement => 1824, -      Iir_Kind_Simultaneous_Case_Statement => 1833, -      Iir_Kind_Simultaneous_If_Statement => 1842, -      Iir_Kind_Simultaneous_Elsif => 1848, -      Iir_Kind_Simple_Signal_Assignment_Statement => 1859, -      Iir_Kind_Conditional_Signal_Assignment_Statement => 1870, -      Iir_Kind_Selected_Waveform_Assignment_Statement => 1882, -      Iir_Kind_Signal_Force_Assignment_Statement => 1892, -      Iir_Kind_Signal_Release_Assignment_Statement => 1901, -      Iir_Kind_Null_Statement => 1905, -      Iir_Kind_Assertion_Statement => 1912, -      Iir_Kind_Report_Statement => 1918, -      Iir_Kind_Wait_Statement => 1926, -      Iir_Kind_Variable_Assignment_Statement => 1933, -      Iir_Kind_Conditional_Variable_Assignment_Statement => 1940, -      Iir_Kind_Return_Statement => 1946, -      Iir_Kind_For_Loop_Statement => 1957, -      Iir_Kind_While_Loop_Statement => 1968, -      Iir_Kind_Next_Statement => 1975, -      Iir_Kind_Exit_Statement => 1982, -      Iir_Kind_Case_Statement => 1991, -      Iir_Kind_Procedure_Call_Statement => 1997, -      Iir_Kind_Break_Statement => 2004, -      Iir_Kind_If_Statement => 2014, -      Iir_Kind_Suspend_State_Statement => 2019, -      Iir_Kind_Elsif => 2025, -      Iir_Kind_Character_Literal => 2032, -      Iir_Kind_Simple_Name => 2039, -      Iir_Kind_Selected_Name => 2047, -      Iir_Kind_Operator_Symbol => 2052, -      Iir_Kind_Reference_Name => 2057, -      Iir_Kind_External_Constant_Name => 2066, -      Iir_Kind_External_Signal_Name => 2076, -      Iir_Kind_External_Variable_Name => 2086, -      Iir_Kind_Selected_By_All_Name => 2092, -      Iir_Kind_Parenthesis_Name => 2097, -      Iir_Kind_Package_Pathname => 2101, -      Iir_Kind_Absolute_Pathname => 2102, -      Iir_Kind_Relative_Pathname => 2103, -      Iir_Kind_Pathname_Element => 2108, -      Iir_Kind_Base_Attribute => 2110, -      Iir_Kind_Subtype_Attribute => 2115, -      Iir_Kind_Element_Attribute => 2120, -      Iir_Kind_Across_Attribute => 2125, -      Iir_Kind_Through_Attribute => 2130, -      Iir_Kind_Nature_Reference_Attribute => 2134, -      Iir_Kind_Left_Type_Attribute => 2139, -      Iir_Kind_Right_Type_Attribute => 2144, -      Iir_Kind_High_Type_Attribute => 2149, -      Iir_Kind_Low_Type_Attribute => 2154, -      Iir_Kind_Ascending_Type_Attribute => 2159, -      Iir_Kind_Image_Attribute => 2165, -      Iir_Kind_Value_Attribute => 2171, -      Iir_Kind_Pos_Attribute => 2177, -      Iir_Kind_Val_Attribute => 2183, -      Iir_Kind_Succ_Attribute => 2189, -      Iir_Kind_Pred_Attribute => 2195, -      Iir_Kind_Leftof_Attribute => 2201, -      Iir_Kind_Rightof_Attribute => 2207, -      Iir_Kind_Signal_Slew_Attribute => 2215, -      Iir_Kind_Quantity_Slew_Attribute => 2223, -      Iir_Kind_Ramp_Attribute => 2231, -      Iir_Kind_Zoh_Attribute => 2239, -      Iir_Kind_Ltf_Attribute => 2247, -      Iir_Kind_Ztf_Attribute => 2257, -      Iir_Kind_Dot_Attribute => 2264, -      Iir_Kind_Integ_Attribute => 2271, -      Iir_Kind_Quantity_Delayed_Attribute => 2279, -      Iir_Kind_Above_Attribute => 2287, -      Iir_Kind_Delayed_Attribute => 2296, -      Iir_Kind_Stable_Attribute => 2305, -      Iir_Kind_Quiet_Attribute => 2314, -      Iir_Kind_Transaction_Attribute => 2323, -      Iir_Kind_Event_Attribute => 2327, -      Iir_Kind_Active_Attribute => 2331, -      Iir_Kind_Last_Event_Attribute => 2335, -      Iir_Kind_Last_Active_Attribute => 2339, -      Iir_Kind_Last_Value_Attribute => 2343, -      Iir_Kind_Driving_Attribute => 2347, -      Iir_Kind_Driving_Value_Attribute => 2351, -      Iir_Kind_Behavior_Attribute => 2351, -      Iir_Kind_Structure_Attribute => 2351, -      Iir_Kind_Simple_Name_Attribute => 2358, -      Iir_Kind_Instance_Name_Attribute => 2363, -      Iir_Kind_Path_Name_Attribute => 2368, -      Iir_Kind_Left_Array_Attribute => 2375, -      Iir_Kind_Right_Array_Attribute => 2382, -      Iir_Kind_High_Array_Attribute => 2389, -      Iir_Kind_Low_Array_Attribute => 2396, -      Iir_Kind_Length_Array_Attribute => 2403, -      Iir_Kind_Ascending_Array_Attribute => 2410, -      Iir_Kind_Range_Array_Attribute => 2417, -      Iir_Kind_Reverse_Range_Array_Attribute => 2424, -      Iir_Kind_Attribute_Name => 2433 +      Iir_Kind_Design_File => 16, +      Iir_Kind_Design_Unit => 32, +      Iir_Kind_Library_Clause => 37, +      Iir_Kind_Use_Clause => 41, +      Iir_Kind_Context_Reference => 45, +      Iir_Kind_PSL_Inherit_Spec => 49, +      Iir_Kind_Integer_Literal => 54, +      Iir_Kind_Floating_Point_Literal => 59, +      Iir_Kind_Null_Literal => 61, +      Iir_Kind_String_Literal8 => 72, +      Iir_Kind_Physical_Int_Literal => 78, +      Iir_Kind_Physical_Fp_Literal => 84, +      Iir_Kind_Simple_Aggregate => 89, +      Iir_Kind_Overflow_Literal => 92, +      Iir_Kind_Unaffected_Waveform => 93, +      Iir_Kind_Waveform_Element => 96, +      Iir_Kind_Conditional_Waveform => 100, +      Iir_Kind_Conditional_Expression => 104, +      Iir_Kind_Association_Element_By_Expression => 113, +      Iir_Kind_Association_Element_By_Name => 121, +      Iir_Kind_Association_Element_By_Individual => 130, +      Iir_Kind_Association_Element_Open => 137, +      Iir_Kind_Association_Element_Package => 143, +      Iir_Kind_Association_Element_Type => 151, +      Iir_Kind_Association_Element_Subprogram => 157, +      Iir_Kind_Association_Element_Terminal => 163, +      Iir_Kind_Choice_By_Range => 171, +      Iir_Kind_Choice_By_Expression => 179, +      Iir_Kind_Choice_By_Others => 185, +      Iir_Kind_Choice_By_None => 191, +      Iir_Kind_Choice_By_Name => 198, +      Iir_Kind_Entity_Aspect_Entity => 200, +      Iir_Kind_Entity_Aspect_Configuration => 201, +      Iir_Kind_Entity_Aspect_Open => 201, +      Iir_Kind_Psl_Hierarchical_Name => 203, +      Iir_Kind_Block_Configuration => 209, +      Iir_Kind_Block_Header => 213, +      Iir_Kind_Component_Configuration => 221, +      Iir_Kind_Binding_Indication => 225, +      Iir_Kind_Entity_Class => 227, +      Iir_Kind_Attribute_Value => 235, +      Iir_Kind_Signature => 240, +      Iir_Kind_Aggregate_Info => 247, +      Iir_Kind_Procedure_Call => 251, +      Iir_Kind_Record_Element_Constraint => 259, +      Iir_Kind_Array_Element_Resolution => 261, +      Iir_Kind_Record_Resolution => 262, +      Iir_Kind_Record_Element_Resolution => 265, +      Iir_Kind_Break_Element => 269, +      Iir_Kind_Attribute_Specification => 278, +      Iir_Kind_Disconnection_Specification => 284, +      Iir_Kind_Step_Limit_Specification => 290, +      Iir_Kind_Configuration_Specification => 297, +      Iir_Kind_Access_Type_Definition => 304, +      Iir_Kind_Incomplete_Type_Definition => 311, +      Iir_Kind_Interface_Type_Definition => 317, +      Iir_Kind_File_Type_Definition => 323, +      Iir_Kind_Protected_Type_Declaration => 334, +      Iir_Kind_Record_Type_Definition => 344, +      Iir_Kind_Array_Type_Definition => 355, +      Iir_Kind_Array_Subtype_Definition => 372, +      Iir_Kind_Record_Subtype_Definition => 385, +      Iir_Kind_Access_Subtype_Definition => 393, +      Iir_Kind_File_Subtype_Definition => 400, +      Iir_Kind_Physical_Subtype_Definition => 410, +      Iir_Kind_Floating_Subtype_Definition => 421, +      Iir_Kind_Integer_Subtype_Definition => 431, +      Iir_Kind_Enumeration_Subtype_Definition => 441, +      Iir_Kind_Enumeration_Type_Definition => 452, +      Iir_Kind_Integer_Type_Definition => 460, +      Iir_Kind_Floating_Type_Definition => 468, +      Iir_Kind_Physical_Type_Definition => 479, +      Iir_Kind_Range_Expression => 487, +      Iir_Kind_Protected_Type_Body => 495, +      Iir_Kind_Wildcard_Type_Definition => 499, +      Iir_Kind_Foreign_Vector_Type_Definition => 500, +      Iir_Kind_Subtype_Definition => 507, +      Iir_Kind_Scalar_Nature_Definition => 515, +      Iir_Kind_Record_Nature_Definition => 528, +      Iir_Kind_Array_Nature_Definition => 542, +      Iir_Kind_Array_Subnature_Definition => 557, +      Iir_Kind_Overload_List => 558, +      Iir_Kind_Foreign_Module => 563, +      Iir_Kind_Entity_Declaration => 576, +      Iir_Kind_Configuration_Declaration => 586, +      Iir_Kind_Context_Declaration => 592, +      Iir_Kind_Package_Declaration => 607, +      Iir_Kind_Package_Instantiation_Declaration => 621, +      Iir_Kind_Vmode_Declaration => 633, +      Iir_Kind_Vprop_Declaration => 645, +      Iir_Kind_Vunit_Declaration => 658, +      Iir_Kind_Package_Body => 666, +      Iir_Kind_Architecture_Body => 679, +      Iir_Kind_Type_Declaration => 686, +      Iir_Kind_Anonymous_Type_Declaration => 692, +      Iir_Kind_Subtype_Declaration => 700, +      Iir_Kind_Nature_Declaration => 706, +      Iir_Kind_Subnature_Declaration => 713, +      Iir_Kind_Package_Header => 715, +      Iir_Kind_Unit_Declaration => 724, +      Iir_Kind_Library_Declaration => 732, +      Iir_Kind_Component_Declaration => 742, +      Iir_Kind_Attribute_Declaration => 749, +      Iir_Kind_Group_Template_Declaration => 755, +      Iir_Kind_Group_Declaration => 762, +      Iir_Kind_Element_Declaration => 770, +      Iir_Kind_Nature_Element_Declaration => 777, +      Iir_Kind_Non_Object_Alias_Declaration => 785, +      Iir_Kind_Psl_Declaration => 793, +      Iir_Kind_Psl_Boolean_Parameter => 801, +      Iir_Kind_Psl_Endpoint_Declaration => 815, +      Iir_Kind_Enumeration_Literal => 827, +      Iir_Kind_Function_Declaration => 854, +      Iir_Kind_Procedure_Declaration => 878, +      Iir_Kind_Function_Body => 888, +      Iir_Kind_Procedure_Body => 899, +      Iir_Kind_Function_Instantiation_Declaration => 910, +      Iir_Kind_Procedure_Instantiation_Declaration => 920, +      Iir_Kind_Terminal_Declaration => 930, +      Iir_Kind_Object_Alias_Declaration => 942, +      Iir_Kind_Free_Quantity_Declaration => 954, +      Iir_Kind_Spectrum_Quantity_Declaration => 967, +      Iir_Kind_Noise_Quantity_Declaration => 979, +      Iir_Kind_Across_Quantity_Declaration => 995, +      Iir_Kind_Through_Quantity_Declaration => 1011, +      Iir_Kind_File_Declaration => 1026, +      Iir_Kind_Guard_Signal_Declaration => 1040, +      Iir_Kind_Signal_Declaration => 1057, +      Iir_Kind_Variable_Declaration => 1070, +      Iir_Kind_Constant_Declaration => 1085, +      Iir_Kind_Iterator_Declaration => 1097, +      Iir_Kind_Interface_Constant_Declaration => 1114, +      Iir_Kind_Interface_Variable_Declaration => 1130, +      Iir_Kind_Interface_Signal_Declaration => 1151, +      Iir_Kind_Interface_File_Declaration => 1167, +      Iir_Kind_Interface_Quantity_Declaration => 1183, +      Iir_Kind_Interface_Terminal_Declaration => 1195, +      Iir_Kind_Interface_Type_Declaration => 1207, +      Iir_Kind_Interface_Package_Declaration => 1221, +      Iir_Kind_Interface_Function_Declaration => 1241, +      Iir_Kind_Interface_Procedure_Declaration => 1257, +      Iir_Kind_Attribute_Implicit_Declaration => 1260, +      Iir_Kind_Suspend_State_Declaration => 1264, +      Iir_Kind_Identity_Operator => 1268, +      Iir_Kind_Negation_Operator => 1272, +      Iir_Kind_Absolute_Operator => 1276, +      Iir_Kind_Not_Operator => 1280, +      Iir_Kind_Implicit_Condition_Operator => 1284, +      Iir_Kind_Condition_Operator => 1288, +      Iir_Kind_Reduction_And_Operator => 1292, +      Iir_Kind_Reduction_Or_Operator => 1296, +      Iir_Kind_Reduction_Nand_Operator => 1300, +      Iir_Kind_Reduction_Nor_Operator => 1304, +      Iir_Kind_Reduction_Xor_Operator => 1308, +      Iir_Kind_Reduction_Xnor_Operator => 1312, +      Iir_Kind_And_Operator => 1317, +      Iir_Kind_Or_Operator => 1322, +      Iir_Kind_Nand_Operator => 1327, +      Iir_Kind_Nor_Operator => 1332, +      Iir_Kind_Xor_Operator => 1337, +      Iir_Kind_Xnor_Operator => 1342, +      Iir_Kind_Equality_Operator => 1347, +      Iir_Kind_Inequality_Operator => 1352, +      Iir_Kind_Less_Than_Operator => 1357, +      Iir_Kind_Less_Than_Or_Equal_Operator => 1362, +      Iir_Kind_Greater_Than_Operator => 1367, +      Iir_Kind_Greater_Than_Or_Equal_Operator => 1372, +      Iir_Kind_Match_Equality_Operator => 1377, +      Iir_Kind_Match_Inequality_Operator => 1382, +      Iir_Kind_Match_Less_Than_Operator => 1387, +      Iir_Kind_Match_Less_Than_Or_Equal_Operator => 1392, +      Iir_Kind_Match_Greater_Than_Operator => 1397, +      Iir_Kind_Match_Greater_Than_Or_Equal_Operator => 1402, +      Iir_Kind_Sll_Operator => 1407, +      Iir_Kind_Sla_Operator => 1412, +      Iir_Kind_Srl_Operator => 1417, +      Iir_Kind_Sra_Operator => 1422, +      Iir_Kind_Rol_Operator => 1427, +      Iir_Kind_Ror_Operator => 1432, +      Iir_Kind_Addition_Operator => 1437, +      Iir_Kind_Substraction_Operator => 1442, +      Iir_Kind_Concatenation_Operator => 1447, +      Iir_Kind_Multiplication_Operator => 1452, +      Iir_Kind_Division_Operator => 1457, +      Iir_Kind_Modulus_Operator => 1462, +      Iir_Kind_Remainder_Operator => 1467, +      Iir_Kind_Exponentiation_Operator => 1472, +      Iir_Kind_Function_Call => 1480, +      Iir_Kind_Aggregate => 1488, +      Iir_Kind_Parenthesis_Expression => 1491, +      Iir_Kind_Qualified_Expression => 1495, +      Iir_Kind_Type_Conversion => 1500, +      Iir_Kind_Allocator_By_Expression => 1505, +      Iir_Kind_Allocator_By_Subtype => 1511, +      Iir_Kind_Selected_Element => 1519, +      Iir_Kind_Dereference => 1524, +      Iir_Kind_Implicit_Dereference => 1529, +      Iir_Kind_Slice_Name => 1536, +      Iir_Kind_Indexed_Name => 1542, +      Iir_Kind_Psl_Prev => 1548, +      Iir_Kind_Psl_Stable => 1553, +      Iir_Kind_Psl_Rose => 1558, +      Iir_Kind_Psl_Fell => 1563, +      Iir_Kind_Psl_Onehot => 1566, +      Iir_Kind_Psl_Onehot0 => 1569, +      Iir_Kind_Psl_Expression => 1571, +      Iir_Kind_Sensitized_Process_Statement => 1593, +      Iir_Kind_Process_Statement => 1614, +      Iir_Kind_Concurrent_Simple_Signal_Assignment => 1627, +      Iir_Kind_Concurrent_Conditional_Signal_Assignment => 1640, +      Iir_Kind_Concurrent_Selected_Signal_Assignment => 1654, +      Iir_Kind_Concurrent_Assertion_Statement => 1662, +      Iir_Kind_Concurrent_Procedure_Call_Statement => 1669, +      Iir_Kind_Concurrent_Break_Statement => 1677, +      Iir_Kind_Psl_Assert_Directive => 1691, +      Iir_Kind_Psl_Assume_Directive => 1703, +      Iir_Kind_Psl_Cover_Directive => 1715, +      Iir_Kind_Psl_Restrict_Directive => 1726, +      Iir_Kind_Block_Statement => 1740, +      Iir_Kind_If_Generate_Statement => 1751, +      Iir_Kind_Case_Generate_Statement => 1760, +      Iir_Kind_For_Generate_Statement => 1769, +      Iir_Kind_Component_Instantiation_Statement => 1781, +      Iir_Kind_Psl_Default_Clock => 1784, +      Iir_Kind_Generate_Statement_Body => 1795, +      Iir_Kind_If_Generate_Else_Clause => 1801, +      Iir_Kind_Simple_Simultaneous_Statement => 1808, +      Iir_Kind_Simultaneous_Null_Statement => 1812, +      Iir_Kind_Simultaneous_Procedural_Statement => 1823, +      Iir_Kind_Simultaneous_Case_Statement => 1832, +      Iir_Kind_Simultaneous_If_Statement => 1841, +      Iir_Kind_Simultaneous_Elsif => 1847, +      Iir_Kind_Simple_Signal_Assignment_Statement => 1858, +      Iir_Kind_Conditional_Signal_Assignment_Statement => 1869, +      Iir_Kind_Selected_Waveform_Assignment_Statement => 1881, +      Iir_Kind_Signal_Force_Assignment_Statement => 1891, +      Iir_Kind_Signal_Release_Assignment_Statement => 1900, +      Iir_Kind_Null_Statement => 1904, +      Iir_Kind_Assertion_Statement => 1911, +      Iir_Kind_Report_Statement => 1917, +      Iir_Kind_Wait_Statement => 1925, +      Iir_Kind_Variable_Assignment_Statement => 1932, +      Iir_Kind_Conditional_Variable_Assignment_Statement => 1939, +      Iir_Kind_Return_Statement => 1945, +      Iir_Kind_For_Loop_Statement => 1956, +      Iir_Kind_While_Loop_Statement => 1967, +      Iir_Kind_Next_Statement => 1974, +      Iir_Kind_Exit_Statement => 1981, +      Iir_Kind_Case_Statement => 1990, +      Iir_Kind_Procedure_Call_Statement => 1996, +      Iir_Kind_Break_Statement => 2003, +      Iir_Kind_If_Statement => 2013, +      Iir_Kind_Suspend_State_Statement => 2018, +      Iir_Kind_Elsif => 2024, +      Iir_Kind_Character_Literal => 2031, +      Iir_Kind_Simple_Name => 2038, +      Iir_Kind_Selected_Name => 2046, +      Iir_Kind_Operator_Symbol => 2051, +      Iir_Kind_Reference_Name => 2056, +      Iir_Kind_External_Constant_Name => 2065, +      Iir_Kind_External_Signal_Name => 2075, +      Iir_Kind_External_Variable_Name => 2085, +      Iir_Kind_Selected_By_All_Name => 2091, +      Iir_Kind_Parenthesis_Name => 2096, +      Iir_Kind_Package_Pathname => 2100, +      Iir_Kind_Absolute_Pathname => 2101, +      Iir_Kind_Relative_Pathname => 2102, +      Iir_Kind_Pathname_Element => 2107, +      Iir_Kind_Base_Attribute => 2109, +      Iir_Kind_Subtype_Attribute => 2114, +      Iir_Kind_Element_Attribute => 2119, +      Iir_Kind_Across_Attribute => 2124, +      Iir_Kind_Through_Attribute => 2129, +      Iir_Kind_Nature_Reference_Attribute => 2133, +      Iir_Kind_Left_Type_Attribute => 2138, +      Iir_Kind_Right_Type_Attribute => 2143, +      Iir_Kind_High_Type_Attribute => 2148, +      Iir_Kind_Low_Type_Attribute => 2153, +      Iir_Kind_Ascending_Type_Attribute => 2158, +      Iir_Kind_Image_Attribute => 2164, +      Iir_Kind_Value_Attribute => 2170, +      Iir_Kind_Pos_Attribute => 2176, +      Iir_Kind_Val_Attribute => 2182, +      Iir_Kind_Succ_Attribute => 2188, +      Iir_Kind_Pred_Attribute => 2194, +      Iir_Kind_Leftof_Attribute => 2200, +      Iir_Kind_Rightof_Attribute => 2206, +      Iir_Kind_Signal_Slew_Attribute => 2214, +      Iir_Kind_Quantity_Slew_Attribute => 2222, +      Iir_Kind_Ramp_Attribute => 2230, +      Iir_Kind_Zoh_Attribute => 2238, +      Iir_Kind_Ltf_Attribute => 2246, +      Iir_Kind_Ztf_Attribute => 2256, +      Iir_Kind_Dot_Attribute => 2263, +      Iir_Kind_Integ_Attribute => 2270, +      Iir_Kind_Quantity_Delayed_Attribute => 2278, +      Iir_Kind_Above_Attribute => 2286, +      Iir_Kind_Delayed_Attribute => 2295, +      Iir_Kind_Stable_Attribute => 2304, +      Iir_Kind_Quiet_Attribute => 2313, +      Iir_Kind_Transaction_Attribute => 2322, +      Iir_Kind_Event_Attribute => 2326, +      Iir_Kind_Active_Attribute => 2330, +      Iir_Kind_Last_Event_Attribute => 2334, +      Iir_Kind_Last_Active_Attribute => 2338, +      Iir_Kind_Last_Value_Attribute => 2342, +      Iir_Kind_Driving_Attribute => 2346, +      Iir_Kind_Driving_Value_Attribute => 2350, +      Iir_Kind_Behavior_Attribute => 2350, +      Iir_Kind_Structure_Attribute => 2350, +      Iir_Kind_Simple_Name_Attribute => 2357, +      Iir_Kind_Instance_Name_Attribute => 2362, +      Iir_Kind_Path_Name_Attribute => 2367, +      Iir_Kind_Left_Array_Attribute => 2374, +      Iir_Kind_Right_Array_Attribute => 2381, +      Iir_Kind_High_Array_Attribute => 2388, +      Iir_Kind_Low_Array_Attribute => 2395, +      Iir_Kind_Length_Array_Attribute => 2402, +      Iir_Kind_Ascending_Array_Attribute => 2409, +      Iir_Kind_Range_Array_Attribute => 2416, +      Iir_Kind_Reverse_Range_Array_Attribute => 2423, +      Iir_Kind_Attribute_Name => 2432       );     function Get_Fields_First (K : Iir_Kind) return Fields_Index is @@ -7388,8 +7382,6 @@ package body Vhdl.Nodes_Meta is     begin        pragma Assert (Fields_Type (F) = Type_Iir_List);        case F is -         when Field_File_Dependence_List => -            return Get_File_Dependence_List (N);           when Field_Dependence_List =>              return Get_Dependence_List (N);           when Field_Analysis_Checks_List => @@ -7414,8 +7406,6 @@ package body Vhdl.Nodes_Meta is     begin        pragma Assert (Fields_Type (F) = Type_Iir_List);        case F is -         when Field_File_Dependence_List => -            Set_File_Dependence_List (N, V);           when Field_Dependence_List =>              Set_Dependence_List (N, V);           when Field_Analysis_Checks_List => @@ -7994,11 +7984,6 @@ package body Vhdl.Nodes_Meta is        return K = Iir_Kind_Design_File;     end Has_Library; -   function Has_File_Dependence_List (K : Iir_Kind) return Boolean is -   begin -      return K = Iir_Kind_Design_File; -   end Has_File_Dependence_List; -     function Has_Design_File_Filename (K : Iir_Kind) return Boolean is     begin        return K = Iir_Kind_Design_File; diff --git a/src/vhdl/vhdl-nodes_meta.ads b/src/vhdl/vhdl-nodes_meta.ads index dc148e50d..0f0fe9cb9 100644 --- a/src/vhdl/vhdl-nodes_meta.ads +++ b/src/vhdl/vhdl-nodes_meta.ads @@ -68,7 +68,6 @@ package Vhdl.Nodes_Meta is        Field_Analysis_Time_Stamp,        Field_Design_File_Source,        Field_Library, -      Field_File_Dependence_List,        Field_Design_File_Filename,        Field_Design_File_Directory,        Field_Design_File, @@ -667,7 +666,6 @@ package Vhdl.Nodes_Meta is     function Has_Analysis_Time_Stamp (K : Iir_Kind) return Boolean;     function Has_Design_File_Source (K : Iir_Kind) return Boolean;     function Has_Library (K : Iir_Kind) return Boolean; -   function Has_File_Dependence_List (K : Iir_Kind) return Boolean;     function Has_Design_File_Filename (K : Iir_Kind) return Boolean;     function Has_Design_File_Directory (K : Iir_Kind) return Boolean;     function Has_Design_File (K : Iir_Kind) return Boolean;  | 
