aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-elocations.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-05-05 08:22:05 +0200
committerTristan Gingold <tgingold@free.fr>2019-05-05 13:55:18 +0200
commit46100a0f24670f4d01ecc114da2ac5fedbab13af (patch)
treeb1fe717065b2047325d4bfefb1f235e8ded10aff /src/vhdl/vhdl-elocations.ads
parentda19fd319d2e54afa2cf230aab044a65b51d77c7 (diff)
downloadghdl-46100a0f24670f4d01ecc114da2ac5fedbab13af.tar.gz
ghdl-46100a0f24670f4d01ecc114da2ac5fedbab13af.tar.bz2
ghdl-46100a0f24670f4d01ecc114da2ac5fedbab13af.zip
vhdl: move elocations* packages to vhdl children.
Diffstat (limited to 'src/vhdl/vhdl-elocations.ads')
-rw-r--r--src/vhdl/vhdl-elocations.ads699
1 files changed, 699 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-elocations.ads b/src/vhdl/vhdl-elocations.ads
new file mode 100644
index 000000000..8772aec1b
--- /dev/null
+++ b/src/vhdl/vhdl-elocations.ads
@@ -0,0 +1,699 @@
+-- Extended locations for iir nodes
+-- Copyright (C) 2017 Tristan Gingold
+--
+-- GHDL is free software; you can redistribute it and/or modify it under
+-- the terms of the GNU General Public License as published by the Free
+-- Software Foundation; either version 2, or (at your option) any later
+-- version.
+--
+-- GHDL is distributed in the hope that it will be useful, but WITHOUT ANY
+-- WARRANTY; without even the implied warranty of MERCHANTABILITY or
+-- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+-- for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with GHDL; see the file COPYING. If not, write to the Free
+-- Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+-- 02111-1307, USA.
+
+with Types; use Types;
+with Iirs; use Iirs;
+
+package Vhdl.Elocations is
+
+ -- Start of Iir_Kind.
+
+ -- Iir_Kind_Design_File (None)
+
+ -- Iir_Kind_Design_Unit (None)
+
+ -- Iir_Kind_Library_Clause (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_String_Literal8 (None)
+
+ -- Iir_Kind_Integer_Literal (None)
+
+ -- Iir_Kind_Floating_Point_Literal (None)
+
+ -- Iir_Kind_Null_Literal (None)
+
+ -- Iir_Kind_Physical_Int_Literal (None)
+ -- Iir_Kind_Physical_Fp_Literal (None)
+
+ -- Iir_Kind_Simple_Aggregate (None)
+
+ -- Iir_Kind_Overflow_Literal (None)
+
+ -- Iir_Kind_Unaffected_Waveform (None)
+
+ -------------
+ -- Tuples --
+ -------------
+
+ -- Iir_Kind_Association_Element_By_Expression (L1)
+ -- Iir_Kind_Association_Element_Open (L1)
+ -- Iir_Kind_Association_Element_By_Individual (L1)
+ -- Iir_Kind_Association_Element_Package (L1)
+ -- Iir_Kind_Association_Element_Type (L1)
+ -- Iir_Kind_Association_Element_Subprogram (L1)
+ --
+ -- Get/Set_Arrow_Location (Field1)
+
+ -- Iir_Kind_Waveform_Element (None)
+
+ -- Iir_Kind_Conditional_Waveform (None)
+
+ -- Iir_Kind_Conditional_Expression (None)
+
+ -- Iir_Kind_Choice_By_Others (None)
+ -- Iir_Kind_Choice_By_None (None)
+ -- Iir_Kind_Choice_By_Range (None)
+ -- Iir_Kind_Choice_By_Name (None)
+ -- Iir_Kind_Choice_By_Expression (None)
+
+ -- Iir_Kind_Entity_Aspect_Entity (None)
+
+ -- Iir_Kind_Entity_Aspect_Open (None)
+
+ -- Iir_Kind_Entity_Aspect_Configuration (None)
+
+ -- Iir_Kind_Block_Configuration (None)
+
+ -- Iir_Kind_Binding_Indication (None)
+
+ -- Iir_Kind_Component_Configuration (None)
+ -- Iir_Kind_Configuration_Specification (None)
+
+ -- Iir_Kind_Disconnection_Specification (None)
+
+ -- Iir_Kind_Block_Header (L6)
+ --
+ -- Get/Set_Generic_Location (Field5)
+ --
+ -- Get/Set_Port_Location (Field6)
+ --
+ -- Get/Set_Generic_Map_Location (Field3)
+ --
+ -- Get/Set_Port_Map_Location (Field2)
+
+ -- Iir_Kind_Entity_Class (None)
+
+ -- Iir_Kind_Attribute_Specification (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_Attribute_Value (None)
+
+ -- Iir_Kind_Psl_Expression (None)
+
+ -- Iir_Kind_Signature (None)
+
+ -- Iir_Kind_Overload_List (None)
+
+ -------------------
+ -- Declarations --
+ -------------------
+
+ -- Iir_Kind_Entity_Declaration (L6)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+ --
+ -- Get/Set_Generic_Location (Field5)
+ --
+ -- Get/Set_Port_Location (Field6)
+ --
+ -- Get/Set_Begin_Location (Field3)
+ --
+ -- Get/Set_Is_Location (Field4)
+
+ -- Iir_Kind_Architecture_Body (L4)
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+ --
+ -- Get/Set_Begin_Location (Field3)
+ --
+ -- Get/Set_Is_Location (Field4)
+
+ -- Iir_Kind_Configuration_Declaration (L2)
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+
+ -- Iir_Kind_Package_Header (L5)
+ --
+ -- Get/Set_Generic_Location (Field5)
+ --
+ -- Get/Set_Generic_Map_Location (Field3)
+
+ -- Iir_Kind_Package_Declaration (L2)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+
+ -- Iir_Kind_Package_Body (L2)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+
+ -- Iir_Kind_Package_Instantiation_Declaration (L3)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Correspond to the final ';'.
+ -- Get/Set_End_Location (Field2)
+ --
+ -- Get/Set_Generic_Map_Location (Field3)
+
+ -- Iir_Kind_Context_Declaration (L2)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+
+ -- Iir_Kind_Library_Declaration (None)
+
+ -- Iir_Kind_Component_Declaration (L6)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+ --
+ -- Get/Set_Generic_Location (Field5)
+ --
+ -- Get/Set_Port_Location (Field6)
+
+ -- Iir_Kind_Object_Alias_Declaration (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_Non_Object_Alias_Declaration (None)
+
+ -- Iir_Kind_Anonymous_Type_Declaration (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_Type_Declaration (L4)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_Is_Location (Field4)
+
+ -- Iir_Kind_Subtype_Declaration (L4)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_Is_Location (Field4)
+
+ -- Iir_Kind_Nature_Declaration (None)
+
+ -- Iir_Kind_Subnature_Declaration (None)
+
+ -- Iir_Kind_Interface_Signal_Declaration (L3)
+ -- Iir_Kind_Interface_Constant_Declaration (L3)
+ -- Iir_Kind_Interface_Variable_Declaration (L3)
+ -- Iir_Kind_Interface_File_Declaration (L3)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_Colon_Location (Field2)
+ --
+ -- Get/Set_Assign_Location (Field3)
+
+ -- Iir_Kind_Interface_Type_Declaration (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_Interface_Package_Declaration (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_Function_Declaration (L1)
+ -- Iir_Kind_Procedure_Declaration (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_Function_Body (L4)
+ -- Iir_Kind_Procedure_Body (L4)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+ --
+ -- Get/Set_Begin_Location (Field3)
+ --
+ -- Get/Set_Is_Location (Field4)
+
+ -- Iir_Kind_Interface_Function_Declaration (None)
+ -- Iir_Kind_Interface_Procedure_Declaration (None)
+
+ -- Iir_Kind_Signal_Declaration (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_Guard_Signal_Declaration (None)
+
+ -- Iir_Kind_Signal_Attribute_Declaration (None)
+
+ -- Iir_Kind_Constant_Declaration (L1)
+ -- Iir_Kind_Iterator_Declaration (L1)
+ -- Iir_Kind_Variable_Declaration (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_File_Declaration (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_Element_Declaration (None)
+
+ -- Iir_Kind_Record_Resolution (None)
+
+ -- Iir_Kind_Record_Element_Constraint (None)
+
+ -- Iir_Kind_Attribute_Declaration (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_Group_Template_Declaration (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_Group_Declaration (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_Psl_Endpoint_Declaration (None)
+
+ -- Iir_Kind_Psl_Declaration (None)
+
+ -- Iir_Kind_Terminal_Declaration (None)
+
+ -- Iir_Kind_Free_Quantity_Declaration (None)
+
+ -- Iir_Kind_Across_Quantity_Declaration (None)
+ -- Iir_Kind_Through_Quantity_Declaration (None)
+
+ -- Iir_Kind_Use_Clause (None)
+
+ -- Iir_Kind_Context_Reference (None)
+
+ -----------------------
+ -- type definitions --
+ -----------------------
+
+ -- Iir_Kind_Enumeration_Type_Definition (None)
+
+ -- Iir_Kind_Enumeration_Literal (None)
+
+ -- Iir_Kind_Physical_Type_Definition (None)
+
+ -- Iir_Kind_Unit_Declaration (None)
+
+ -- Iir_Kind_Integer_Type_Definition (None)
+ -- Iir_Kind_Floating_Type_Definition (None)
+
+ -- Iir_Kind_Array_Type_Definition (None)
+
+ -- Iir_Kind_Record_Type_Definition (L2)
+ --
+ -- Get/Set_End_Location (Field2)
+
+ -- Iir_Kind_Access_Type_Definition (None)
+
+ -- Iir_Kind_File_Type_Definition (None)
+
+ -- Iir_Kind_Incomplete_Type_Definition (None)
+
+ -- Iir_Kind_Interface_Type_Definition (None)
+
+ -- Iir_Kind_Protected_Type_Declaration (L2)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+
+ -- Iir_Kind_Protected_Type_Body (L2)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+
+ -- Iir_Kind_Wildcard_Type_Definition (None)
+
+ --------------------------
+ -- subtype definitions --
+ --------------------------
+
+ -- Iir_Kind_Enumeration_Subtype_Definition (None)
+ -- Iir_Kind_Integer_Subtype_Definition (None)
+ -- Iir_Kind_Physical_Subtype_Definition (None)
+
+ -- Iir_Kind_Floating_Subtype_Definition (None)
+
+ -- Iir_Kind_Access_Subtype_Definition (None)
+
+ -- Iir_Kind_Array_Element_Resolution (None)
+
+ -- Iir_Kind_Record_Element_Resolution (None)
+
+ -- Iir_Kind_Record_Subtype_Definition (None)
+
+ -- Iir_Kind_Array_Subtype_Definition (None)
+
+ -- Iir_Kind_Range_Expression (None)
+
+ -- Iir_Kind_Subtype_Definition (None)
+
+ -------------------------
+ -- Nature definitions --
+ -------------------------
+
+ -- Iir_Kind_Scalar_Nature_Definition (None)
+
+ ----------------------------
+ -- concurrent statements --
+ ----------------------------
+
+ -- Iir_Kind_Concurrent_Conditional_Signal_Assignment (L1)
+ -- Iir_Kind_Concurrent_Selected_Signal_Assignment (L1)
+ -- Iir_Kind_Concurrent_Simple_Signal_Assignment (L1)
+ --
+ -- Get/Set_Start_Location (Field1)
+
+ -- Iir_Kind_Sensitized_Process_Statement (L4)
+ -- Iir_Kind_Process_Statement (L4)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+ --
+ -- Get/Set_Begin_Location (Field3)
+ --
+ -- Get/Set_Is_Location (Field4)
+
+ -- Iir_Kind_Concurrent_Assertion_Statement (None)
+
+ -- Iir_Kind_Psl_Default_Clock (None)
+
+ -- Iir_Kind_Psl_Assert_Statement (None)
+ -- Iir_Kind_Psl_Cover_Statement (None)
+
+ -- Iir_Kind_Component_Instantiation_Statement (L3)
+ --
+ -- Get/Set_Generic_Map_Location (Field3)
+ --
+ -- Get/Set_Port_Map_Location (Field2)
+
+ -- Iir_Kind_Block_Statement (L4)
+ --
+ -- Get/Set_End_Location (Field2)
+ --
+ -- Get/Set_Begin_Location (Field3)
+ --
+ -- Get/Set_Is_Location (Field4)
+
+ -- Iir_Kind_Generate_Statement_Body (L3)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+ --
+ -- Get/Set_Begin_Location (Field3)
+
+ -- Iir_Kind_For_Generate_Statement (L3)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+ --
+ -- Get/Set_Generate_Location (Field3)
+
+ -- Iir_Kind_If_Generate_Else_Clause (L3)
+ -- Iir_Kind_If_Generate_Statement (L3)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+ --
+ -- Get/Set_Generate_Location (Field3)
+
+ -- Iir_Kind_Case_Generate_Statement (None)
+
+ -- Iir_Kind_Simple_Simultaneous_Statement (None)
+
+ ----------------------------
+ -- sequential statements --
+ ----------------------------
+
+ -- Iir_Kind_If_Statement (L3)
+ -- Iir_Kind_Elsif (L3)
+ --
+ -- Location of 'if', 'else' or 'elsif'.
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Location of the next 'elsif', 'else' or 'end if'.
+ -- Get/Set_End_Location (Field2)
+ --
+ -- Get/Set_Then_Location (Field3)
+
+ -- Iir_Kind_For_Loop_Statement (L3)
+ -- Iir_Kind_While_Loop_Statement (L3)
+ --
+ -- Get/Set_Start_Location (Field1)
+ --
+ -- Get/Set_End_Location (Field2)
+ --
+ -- Get/Set_Loop_Location (Field3)
+
+ -- Iir_Kind_Exit_Statement (None)
+ -- Iir_Kind_Next_Statement (None)
+
+ -- Iir_Kind_Simple_Signal_Assignment_Statement (None)
+ -- Iir_Kind_Conditional_Signal_Assignment_Statement (None)
+ -- Iir_Kind_Selected_Waveform_Assignment_Statement (None)
+
+ -- Iir_Kind_Variable_Assignment_Statement (None)
+
+ -- Iir_Kind_Conditional_Variable_Assignment_Statement (None)
+
+ -- Iir_Kind_Assertion_Statement (None)
+
+ -- Iir_Kind_Report_Statement (None)
+
+ -- Iir_Kind_Wait_Statement (None)
+
+ -- Iir_Kind_Return_Statement (None)
+
+ -- Iir_Kind_Case_Statement (L2)
+ --
+ -- Get/Set_End_Location (Field2)
+
+ -- Iir_Kind_Procedure_Call_Statement (None)
+ -- Iir_Kind_Concurrent_Procedure_Call_Statement (None)
+
+ -- Iir_Kind_Procedure_Call (None)
+
+ -- Iir_Kind_Null_Statement (None)
+
+ ----------------
+ -- operators --
+ ----------------
+
+ -- Iir_Kinds_Monadic_Operator (None)
+
+ -- Iir_Kinds_Dyadic_Operator (None)
+
+ -- Iir_Kind_Function_Call (None)
+
+ -- Iir_Kind_Aggregate (None)
+
+ -- Iir_Kind_Aggregate_Info (None)
+
+ -- Iir_Kind_Parenthesis_Expression (L1)
+ --
+ -- Get/Set_Right_Paren_Location (Field1)
+
+ -- Iir_Kind_Qualified_Expression (None)
+
+ -- Iir_Kind_Type_Conversion (None)
+
+ -- Iir_Kind_Allocator_By_Expression (None)
+ -- Iir_Kind_Allocator_By_Subtype (None)
+
+ ------------
+ -- Names --
+ ------------
+
+ -- Iir_Kind_Simple_Name (None)
+ -- Iir_Kind_Character_Literal (None)
+
+ -- Iir_Kind_Operator_Symbol (None)
+
+ -- Iir_Kind_Reference_Name (None)
+
+ -- Iir_Kind_Selected_Name (None)
+
+ -- Iir_Kind_Selected_By_All_Name (None)
+
+ -- Iir_Kind_Indexed_Name (None)
+
+ -- Iir_Kind_Slice_Name (None)
+
+ -- Iir_Kind_Parenthesis_Name (None)
+
+ -- Iir_Kind_Selected_Element (None)
+
+ -- Iir_Kind_Implicit_Dereference (None)
+ -- Iir_Kind_Dereference (None)
+
+ -- Iir_Kind_External_Constant_Name (None)
+ -- Iir_Kind_External_Signal_Name (None)
+ -- Iir_Kind_External_Variable_Name (None)
+
+ -- Iir_Kind_Package_Pathname (None)
+
+ -- Iir_Kind_Absolute_Pathname (None)
+
+ -- Iir_Kind_Relative_Pathname (None)
+
+ -- Iir_Kind_Pathname_Element (None)
+
+ -----------------
+ -- Attributes --
+ -----------------
+
+ -- Iir_Kind_Attribute_Name (None)
+
+ -- Iir_Kind_Base_Attribute (None)
+ -- Iir_Kind_Left_Type_Attribute (None)
+ -- Iir_Kind_Right_Type_Attribute (None)
+ -- Iir_Kind_High_Type_Attribute (None)
+ -- Iir_Kind_Low_Type_Attribute (None)
+ -- Iir_Kind_Ascending_Type_Attribute (None)
+
+ -- Iir_Kind_Range_Array_Attribute (None)
+ -- Iir_Kind_Reverse_Range_Array_Attribute (None)
+ -- Iir_Kind_Left_Array_Attribute (None)
+ -- Iir_Kind_Right_Array_Attribute (None)
+ -- Iir_Kind_High_Array_Attribute (None)
+ -- Iir_Kind_Low_Array_Attribute (None)
+ -- Iir_Kind_Ascending_Array_Attribute (None)
+ -- Iir_Kind_Length_Array_Attribute (None)
+
+ -- Iir_Kind_Subtype_Attribute (None)
+ -- Iir_Kind_Element_Attribute (None)
+
+ -- Iir_Kind_Stable_Attribute (None)
+ -- Iir_Kind_Delayed_Attribute (None)
+ -- Iir_Kind_Quiet_Attribute (None)
+ -- Iir_Kind_Transaction_Attribute (None)
+ -- (Iir_Kinds_Signal_Attribute)
+
+ -- Iir_Kind_Event_Attribute (None)
+ -- Iir_Kind_Last_Event_Attribute (None)
+ -- Iir_Kind_Last_Value_Attribute (None)
+ -- Iir_Kind_Active_Attribute (None)
+ -- Iir_Kind_Last_Active_Attribute (None)
+ -- Iir_Kind_Driving_Attribute (None)
+ -- Iir_Kind_Driving_Value_Attribute (None)
+
+ -- Iir_Kind_Pos_Attribute (None)
+ -- Iir_Kind_Val_Attribute (None)
+ -- Iir_Kind_Succ_Attribute (None)
+ -- Iir_Kind_Pred_Attribute (None)
+ -- Iir_Kind_Leftof_Attribute (None)
+ -- Iir_Kind_Rightof_Attribute (None)
+
+ -- Iir_Kind_Image_Attribute (None)
+ -- Iir_Kind_Value_Attribute (None)
+
+ -- Iir_Kind_Simple_Name_Attribute (None)
+ -- Iir_Kind_Instance_Name_Attribute (None)
+ -- Iir_Kind_Path_Name_Attribute (None)
+
+ -- Iir_Kind_Behavior_Attribute (None)
+ -- Iir_Kind_Structure_Attribute (None)
+ -- FIXME: to describe (None)
+
+ -- Iir_Kind_Error (None)
+
+ -- Iir_Kind_Unused (None)
+
+ -- End of Iir_Kind.
+
+ -- Allocate memory to store elocations for node N. Must be called once.
+ procedure Create_Elocations (N : Iir);
+
+ -- Delete locations. Memory is not yet reclaimed (but doesn't happen
+ -- frequently).
+ procedure Delete_Elocations (N : Iir);
+
+ -- General methods.
+
+ -- Field: Field1
+ function Get_Start_Location (N : Iir) return Location_Type;
+ procedure Set_Start_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field1
+ function Get_Right_Paren_Location (N : Iir) return Location_Type;
+ procedure Set_Right_Paren_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field2
+ function Get_End_Location (N : Iir) return Location_Type;
+ procedure Set_End_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field4
+ function Get_Is_Location (N : Iir) return Location_Type;
+ procedure Set_Is_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field3
+ function Get_Begin_Location (N : Iir) return Location_Type;
+ procedure Set_Begin_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field3
+ function Get_Then_Location (N : Iir) return Location_Type;
+ procedure Set_Then_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field3
+ function Get_Loop_Location (N : Iir) return Location_Type;
+ procedure Set_Loop_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field3
+ function Get_Generate_Location (N : Iir) return Location_Type;
+ procedure Set_Generate_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field5
+ function Get_Generic_Location (N : Iir) return Location_Type;
+ procedure Set_Generic_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field6
+ function Get_Port_Location (N : Iir) return Location_Type;
+ procedure Set_Port_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field3
+ function Get_Generic_Map_Location (N : Iir) return Location_Type;
+ procedure Set_Generic_Map_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field2
+ function Get_Port_Map_Location (N : Iir) return Location_Type;
+ procedure Set_Port_Map_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field1
+ function Get_Arrow_Location (N : Iir) return Location_Type;
+ procedure Set_Arrow_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field2
+ function Get_Colon_Location (N : Iir) return Location_Type;
+ procedure Set_Colon_Location (N : Iir; Loc : Location_Type);
+
+ -- Field: Field3
+ function Get_Assign_Location (N : Iir) return Location_Type;
+ procedure Set_Assign_Location (N : Iir; Loc : Location_Type);
+end Vhdl.Elocations;