------------------------------------------------------------------------------
-- --
-- ASIS Tester And iNTerpreter (ASIStant) COMPONENTS --
-- --
-- A S I S T A N T . F U N C A R R --
-- --
-- S p e c --
-- --
-- Copyright (c) 1997-1999, Free Software Foundation, Inc. --
-- --
-- ASIStant is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
-- Software Foundation; either version 2, or (at your option) any later --
-- version. ASIStant is distributed in the hope that it will be useful, --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of MER- --
-- CHANTABILITY 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 distributed with GNAT; see file COPYING. If --
-- not, write to the Free Software Foundation, 59 Temple Place Suite 330, --
-- Boston, MA 02111-1307, USA. --
-- --
-- ASIStant is an evolution of ASIStint tool that was created by --
-- Vasiliy Fofanov as part of a collaboration between Software Engineering --
-- Laboratory of the Swiss Federal Institute of Technology in Lausanne, --
-- Switzerland, and the Scientific Research Computer Center of the Moscow --
-- University, Russia, supported by the Swiss National Science Foundation --
-- grant #7SUPJ048247, "Development of ASIS for GNAT with industry quality" --
-- --
-- ASIStant is distributed as a part of the ASIS implementation for GNAT --
-- (ASIS-for-GNAT) and is maintained by Ada Core Technologies Inc --
-- (http ://www.gnat.com). --
------------------------------------------------------------------------------
with Asis; use Asis;
with Asis.Ada_Environments;
with Asis.Clauses;
with Asis.Compilation_Units;
with Asis.Compilation_Units.Relations;
with Asis.Data_Decomposition;
with Asis.Declarations;
with Asis.Definitions;
with Asis.Elements;
with Asis.Expressions;
with Asis.Implementation;
with Asis.Implementation.Permissions;
with Asis.Statements;
with Asis.Text;
with ASIStant.Enum_Mapping;
with ASIStant.FuncEnum, ASIStant.FuncTypes;
use ASIStant.FuncEnum, ASIStant.FuncTypes;
with ASIStant.Add_Ons; use ASIStant.Add_Ons;
with ASIStant.Browser;
with ASIStant.Find_Element;
package ASIStant.FuncArr is
------------------------------------------------------------------------------
-- Arrays of accesses to ASIS queries
------------------------------------------------------------------------------
package DDA renames Asis.Data_Decomposition;
FCtxRetBool : array
(Exists .. Has_Associations)
of CtxRetBool :=
(
Asis.Ada_Environments.Exists'Access,
Asis.Ada_Environments.Is_Open'Access,
Asis.Ada_Environments.Has_Associations'Access
);
FCtxRetCUnitList : array
(Compilation_Unit_Bodies .. Library_Unit_Declarations)
of CtxRetCUnitList :=
(
Asis.Compilation_Units.Compilation_Unit_Bodies'Access,
Asis.Compilation_Units.Compilation_Units'Access,
Asis.Compilation_Units.Library_Unit_Declarations'Access
);
FCtxRetElemList : array
(Configuration_Pragmas .. Configuration_Pragmas)
of CtxRetElemList :=
(others =>
Asis.Elements.Configuration_Pragmas'Access
);
FCtxRetNull : array
(Close .. Open)
of CtxRetNull :=
(
Asis.Ada_Environments.Close'Access,
Asis.Ada_Environments.Dissociate'Access,
Asis.Ada_Environments.Open'Access
);
FCtxRetString : array
(Debug_Image_Ctx .. Parameters)
of CtxRetString :=
(
Asis.Ada_Environments.Debug_Image'Access,
Asis.Ada_Environments.Name'Access,
Asis.Ada_Environments.Parameters'Access
);
FCtxStringStringRetNull : array
(Associate .. Associate)
of CtxStringStringRetNull :=
(others =>
Asis.Ada_Environments.Associate'Access
);
FCUnitBoolRetElemList : array
(Context_Clause_Elements .. Context_Clause_Elements)
of CUnitBoolRetElemList :=
(others =>
Asis.Elements.Context_Clause_Elements'Access
);
FCUnitCtxRetCUnit : array
(Corresponding_Body_CU_Ctx .. Corresponding_Subunit_Parent_Body_Ctx)
of CUnitCtxRetCUnit :=
(
Asis.Compilation_Units.Corresponding_Body'Access,
Asis.Compilation_Units.Corresponding_Declaration'Access,
Asis.Compilation_Units.Corresponding_Parent_Declaration'Access,
Asis.Compilation_Units.Corresponding_Subunit_Parent_Body'Access
);
FCUnitCtxRetCUnitList : array
(Corresponding_Children_Ctx .. Subunits_Ctx)
of CUnitCtxRetCUnitList :=
(
Asis.Compilation_Units.Corresponding_Children'Access,
Asis.Compilation_Units.Subunits'Access
);
FCUnitCUnitRetBool : array
(Is_Equal_CU .. Is_Identical_CU)
of CUnitCUnitRetBool :=
(
Asis.Compilation_Units.Is_Equal'Access,
Asis.Compilation_Units.Is_Identical'Access
);
FCUnitIntIntRetElem : array
(Find_Element .. Find_Element)
of CUnitIntIntRetElem :=
(others =>
ASIStant.Find_Element'Access
);
FCUnitListRetBool : array
(Is_Nil_CUL .. Is_Nil_CUL)
of CUnitListRetBool :=
(others =>
Asis.Compilation_Units.Is_Nil'Access
);
FCUnitListCtxRetRelship : array
(Elaboration_Order .. Elaboration_Order)
of CUnitListCtxRetRelship :=
(others =>
Asis.Compilation_Units.Relations.Elaboration_Order'Access
);
FCUnitListCUnitListCtxStringRetRelship : array
(Semantic_Dependence_Order .. Semantic_Dependence_Order)
of CUnitListCUnitListCtxStringRetRelship :=
(others =>
ASIStant.Enum_Mapping.Semantic_Dependence_Order'Access
);
FCUnitRetBool : array
(Can_Be_Main_Program .. Is_Nil_CU)
of CUnitRetBool :=
(
Asis.Compilation_Units.Can_Be_Main_Program'Access,
Asis.Compilation_Units.Exists'Access,
Asis.Compilation_Units.Is_Body_Required'Access,
Asis.Compilation_Units.Is_Nil'Access
);
FCUnitRetCtx : array
(Enclosing_Context .. Enclosing_Context)
of CUnitRetCtx :=
(others =>
Asis.Compilation_Units.Enclosing_Context'Access
);
FCUnitRetCUnit : array
(Corresponding_Body_CU .. Corresponding_Subunit_Parent_Body)
of CUnitRetCUnit :=
(
Asis.Compilation_Units.Corresponding_Body'Access,
Asis.Compilation_Units.Corresponding_Declaration'Access,
Asis.Compilation_Units.Corresponding_Parent_Declaration'Access,
Asis.Compilation_Units.Corresponding_Subunit_Parent_Body'Access
);
FCUnitRetCUnitList : array
(Corresponding_Children .. Subunits)
of CUnitRetCUnitList :=
(
Asis.Compilation_Units.Corresponding_Children'Access,
Asis.Compilation_Units.Subunits'Access
);
FCUnitRetElem : array
(Browse_CU .. Unit_Declaration)
of CUnitRetElem :=
(
ASIStant.Browser.Browse'Access,
Asis.Elements.Unit_Declaration'Access
);
FCUnitRetElemList : array
(Compilation_Pragmas .. Compilation_Pragmas)
of CUnitRetElemList :=
(others =>
Asis.Elements.Compilation_Pragmas'Access
);
FCUnitRetString : array
(Compilation_Command_Line_Options .. Unique_Name)
of CUnitRetString :=
(
Asis.Compilation_Units.Compilation_Command_Line_Options'Access,
Asis.Compilation_Units.Debug_Image'Access,
Asis.Compilation_Units.Object_Form'Access,
Asis.Compilation_Units.Object_Name'Access,
Asis.Compilation_Units.Text_Form'Access,
Asis.Compilation_Units.Text_Name'Access,
ASIStant.Enum_Mapping.Unit_Class'Access,
Asis.Compilation_Units.Unit_Full_Name'Access,
ASIStant.Enum_Mapping.Unit_Kind'Access,
ASIStant.Enum_Mapping.Unit_Origin'Access,
Asis.Compilation_Units.Unique_Name'Access
);
FCUnitStringRetBool : array
(Has_Attribute .. Has_Attribute)
of CUnitStringRetBool :=
(others =>
Asis.Compilation_Units.Has_Attribute'Access
);
FCUnitStringRetString : array
(Attribute_Values .. Attribute_Values)
of CUnitStringRetString :=
(others =>
Asis.Compilation_Units.Attribute_Values'Access
);
FDDA_ArrCRetDDA_ArrC : array
(DDA_Array_Components_2 .. DDA_Array_Components_2)
of DDA_ArrCRetDDA_ArrC :=
(others =>
DDA.Array_Components'Access
);
FDDA_ArrCRetDDA_RecCList : array
(DDA_Discriminant_Components_2 .. DDA_Record_Components_2)
of DDA_ArrCRetDDA_RecCList :=
(
DDA.Discriminant_Components'Access,
DDA.Record_Components'Access
);
FDDA_ArrCRetElem : array
(DDA_Component_Indication .. DDA_Component_Indication)
of DDA_ArrCRetElem :=
(others =>
DDA.Component_Indication'Access
);
FDDA_RecCRetDDA_ArrC : array
(DDA_Array_Components_1 .. DDA_Array_Components_1)
of DDA_RecCRetDDA_ArrC :=
(others =>
DDA.Array_Components'Access
);
FDDA_RecCRetDDA_RecCList : array
(DDA_Discriminant_Components_1 .. DDA_Record_Components_1)
of DDA_RecCRetDDA_RecCList :=
(
DDA.Discriminant_Components'Access,
DDA.Record_Components'Access
);
FDDA_RecCRetElem : array
(DDA_Component_Declaration .. DDA_Component_Declaration)
of DDA_RecCRetElem :=
(others =>
DDA.Component_Declaration'Access
);
FElemBoolRetElemList : array
(Accept_Body_Exception_Handlers .. Visible_Part_Items)
of ElemBoolRetElemList :=
(
Asis.Statements.Accept_Body_Exception_Handlers'Access,
Asis.Statements.Accept_Body_Statements'Access,
Asis.Statements.Block_Declarative_Items'Access,
Asis.Statements.Block_Exception_Handlers'Access,
Asis.Statements.Block_Statements'Access,
Asis.Declarations.Body_Declarative_Items'Access,
Asis.Declarations.Body_Exception_Handlers'Access,
Asis.Declarations.Body_Statements'Access,
Asis.Statements.Call_Statement_Parameters'Access,
Asis.Clauses.Component_Clauses'Access,
Asis.Definitions.Discriminant_Associations'Access,
Asis.Expressions.Function_Call_Parameters'Access,
Asis.Declarations.Generic_Actual_Part'Access,
Asis.Declarations.Generic_Formal_Part'Access,
Asis.Statements.Handler_Statements'Access,
Asis.Statements.Loop_Statements'Access,
Asis.Declarations.Private_Part_Declarative_Items'Access,
Asis.Definitions.Private_Part_Items'Access,
Asis.Declarations.Protected_Operation_Items'Access,
Asis.Expressions.Record_Component_Associations'Access,
Asis.Definitions.Record_Components'Access,
Asis.Statements.Sequence_Of_Statements'Access,
Asis.Statements.Statement_Paths'Access,
Asis.Definitions.Variants'Access,
Asis.Declarations.Visible_Part_Declarative_Items'Access,
Asis.Definitions.Visible_Part_Items'Access
);
FElemCtxRetElem : array
(Corresponding_Body_Ctx .. Corresponding_Type_Declaration_Ctx)
of ElemCtxRetElem :=
(
Asis.Declarations.Corresponding_Body'Access,
Asis.Declarations.Corresponding_Body_Stub'Access,
Asis.Declarations.Corresponding_Declaration'Access,
Asis.Declarations.Corresponding_Subunit'Access,
Asis.Declarations.Corresponding_Type_Declaration'Access
);
FElemElemBoolRetBool : array
(Is_Referenced .. Is_Referenced)
of ElemElemBoolRetBool :=
(others =>
Asis.Expressions.Is_Referenced'Access
);
FElemElemBoolRetElemList : array
(References .. References)
of ElemElemBoolRetElemList :=
(others =>
Asis.Expressions.References'Access
);
FElemElemRetBool : array
(Is_Equal .. Is_Identical)
of ElemElemRetBool :=
(
Asis.Elements.Is_Equal'Access,
Asis.Elements.Is_Identical'Access
);
FElemElemRetElem : array
(Enclosing_Element_EEE .. Enclosing_Element_EEE)
of ElemElemRetElem :=
(others =>
Asis.Elements.Enclosing_Element'Access
);
FElemIntIntRetLineList : array
(Lines_2 .. Lines_2)
of ElemIntIntRetLineList :=
(others =>
Asis.Text.Lines'Access
);
FElemListRetBool : array
(Is_Nil_EL .. Is_Nil_EL)
of ElemListRetBool :=
(others =>
Asis.Elements.Is_Nil'Access
);
FElemRetBool : array
(Declarations_Is_Private_Present .. Is_Text_Available)
of ElemRetBool :=
(
Asis.Declarations.Is_Private_Present'Access,
Asis.Definitions.Is_Private_Present'Access,
Asis.Statements.Is_Declare_Block'Access,
Asis.Expressions.Is_Defaulted_Association'Access,
Asis.Declarations.Is_Name_Repeated'Access,
Asis.Statements.Is_Name_Repeated'Access,
Asis.Elements.Is_Nil'Access,
Asis.Expressions.Is_Normalized'Access,
Asis.Elements.Is_Part_Of_Implicit'Access,
Asis.Elements.Is_Part_Of_Inherited'Access,
Asis.Elements.Is_Part_Of_Instance'Access,
Asis.Expressions.Is_Prefix_Call'Access,
Asis.Declarations.Is_Private_Present'Access,
Asis.Declarations.Is_Subunit'Access,
Text.Is_Text_Available'Access
);
FElemRetCUnit : array
(Enclosing_Compilation_Unit .. Enclosing_Compilation_Unit)
of ElemRetCUnit :=
(others =>
Asis.Elements.Enclosing_Compilation_Unit'Access
);
FElemRetDDA_ArrC : array
(DDA_Array_Components .. DDA_Array_Components)
of ElemRetDDA_ArrC :=
(others =>
DDA.Array_Components'Access
);
FElemRetDDA_RecCList : array
(DDA_Record_Components .. DDA_Record_Components)
of ElemRetDDA_RecCList :=
(others =>
DDA.Record_Components'Access
);
FElemRetElem : array
(Accept_Entry_Direct_Name .. While_Condition)
of ElemRetElem :=
(
Asis.Statements.Accept_Entry_Direct_Name'Access,
Asis.Statements.Accept_Entry_Index'Access,
Asis.Definitions.Access_To_Function_Result_Profile'Access,
Asis.Definitions.Access_To_Object_Definition'Access,
Asis.Expressions.Actual_Parameter'Access,
Asis.Expressions.Allocator_Qualified_Expression'Access,
Asis.Expressions.Allocator_Subtype_Indication'Access,
Asis.Definitions.Ancestor_Subtype_Indication'Access,
Asis.Definitions.Array_Component_Definition'Access,
Asis.Statements.Assignment_Expression'Access,
Asis.Statements.Assignment_Variable_Name'Access,
Asis.Expressions.Attribute_Designator_Identifier'Access,
Asis.Declarations.Body_Block_Statement'Access,
ASIStant.Browser.Browse'Access,
Asis.Statements.Called_Name'Access,
Asis.Statements.Case_Expression'Access,
Asis.Statements.Choice_Parameter_Specification'Access,
Asis.Clauses.Component_Clause_Position'Access,
Asis.Clauses.Component_Clause_Range'Access,
Asis.Expressions.Component_Expression'Access,
Asis.Definitions.Component_Subtype_Indication'Access,
Asis.Statements.Condition_Expression'Access,
Asis.Expressions.Converted_Or_Qualified_Expression'Access,
Asis.Expressions.Converted_Or_Qualified_Subtype_Mark'Access,
Asis.Declarations.Corresponding_Base_Entity'Access,
Asis.Declarations.Corresponding_Body'Access,
Asis.Declarations.Corresponding_Body_Stub'Access,
Asis.Statements.Corresponding_Called_Entity'Access,
Asis.Expressions.Corresponding_Called_Function'Access,
Asis.Declarations.Corresponding_Constant_Declaration'Access,
Asis.Declarations.Corresponding_Declaration'Access,
Asis.Statements.Corresponding_Destination_Statement'Access,
Asis.Statements.Corresponding_Entry'Access,
Asis.Declarations.Corresponding_Equality_Operator'Access,
Asis.Expressions.Corresponding_Expression_Type'Access,
Asis.Declarations.Corresponding_First_Subtype'Access,
Asis.Declarations.Corresponding_Generic_Element'Access,
Asis.Declarations.Corresponding_Last_Constraint'Access,
Asis.Declarations.Corresponding_Last_Subtype'Access,
Asis.Statements.Corresponding_Loop_Exited'Access,
Asis.Expressions.Corresponding_Name_Declaration'Access,
Asis.Expressions.Corresponding_Name_Definition'Access,
Asis.Definitions.Corresponding_Parent_Subtype'Access,
Asis.Definitions.Corresponding_Root_Type'Access,
Asis.Declarations.Corresponding_Subprogram_Derivation'Access,
Asis.Declarations.Corresponding_Subunit'Access,
Asis.Declarations.Corresponding_Type'Access,
Asis.Declarations.Corresponding_Type_Declaration'Access,
Asis.Definitions.Corresponding_Type_Structure'Access,
Asis.Declarations.Declaration_Subtype_Mark'Access,
Asis.Declarations.Defining_Prefix'Access,
Asis.Declarations.Defining_Selector'Access,
Asis.Statements.Delay_Expression'Access,
Asis.Definitions.Delta_Expression'Access,
Asis.Definitions.Digits_Expression'Access,
Asis.Definitions.Discriminant_Direct_Name'Access,
Asis.Expressions.Discriminant_Expression'Access,
Asis.Declarations.Discriminant_Part'Access,
Asis.Elements.Enclosing_Element'Access,
Asis.Declarations.Entry_Barrier'Access,
Asis.Declarations.Entry_Family_Definition'Access,
Asis.Declarations.Entry_Index_Specification'Access,
Asis.Statements.Exit_Condition'Access,
Asis.Statements.Exit_Loop_Name'Access,
Asis.Expressions.Expression_Parenthesized'Access,
Asis.Expressions.Extension_Aggregate_Expression'Access,
Asis.Statements.For_Loop_Parameter_Specification'Access,
Asis.Expressions.Formal_Parameter'Access,
Asis.Declarations.Formal_Subprogram_Default'Access,
Asis.Declarations.Generic_Unit_Name'Access,
Asis.Statements.Goto_Label'Access,
Asis.Statements.Guard'Access,
Asis.Declarations.Initialization_Expression'Access,
Asis.Definitions.Integer_Constraint'Access,
Asis.Definitions.Lower_Bound'Access,
Asis.Expressions.Membership_Test_Expression'Access,
Asis.Expressions.Membership_Test_Range'Access,
Asis.Expressions.Membership_Test_Subtype_Mark'Access,
Asis.Clauses.Mod_Clause_Expression'Access,
Asis.Definitions.Mod_Static_Expression'Access,
Asis.Declarations.Object_Declaration_View'Access,
Asis.Definitions.Parent_Subtype_Indication'Access,
Asis.Expressions.Prefix'Access,
Asis.Statements.Qualified_Expression'Access,
Asis.Statements.Raised_Exception'Access,
Asis.Definitions.Range_Attribute'Access,
Asis.Definitions.Real_Range_Constraint'Access,
Asis.Definitions.Record_Definition'Access,
Asis.Declarations.Renamed_Entity'Access,
Asis.Clauses.Representation_Clause_Expression'Access,
Asis.Clauses.Representation_Clause_Name'Access,
Asis.Statements.Requeue_Entry_Name'Access,
Asis.Declarations.Result_Profile'Access,
Asis.Statements.Return_Expression'Access,
Asis.Expressions.Selector'Access,
Asis.Expressions.Short_Circuit_Operation_Left_Expression'Access,
Asis.Expressions.Short_Circuit_Operation_Right_Expression'Access,
Asis.Expressions.Slice_Range'Access,
Asis.Declarations.Specification_Subtype_Definition'Access,
Asis.Statements.Statement_Identifier'Access,
Asis.Definitions.Subtype_Constraint'Access,
Asis.Definitions.Subtype_Mark'Access,
Asis.Declarations.Type_Declaration_View'Access,
Asis.Definitions.Upper_Bound'Access,
Asis.Statements.While_Condition'Access
);
FElemRetElemList : array
(Aborted_Tasks .. Variant_Choices)
of ElemRetElemList :=
(
Asis.Statements.Aborted_Tasks'Access,
Asis.Statements.Accept_Parameters'Access,
Asis.Definitions.Access_To_Subprogram_Parameter_Profile'Access,
Asis.Expressions.Array_Component_Associations'Access,
Asis.Expressions.Array_Component_Choices'Access,
Asis.Expressions.Attribute_Designator_Expressions'Access,
Asis.Statements.Case_Statement_Alternative_Choices'Access,
Asis.Clauses.Clause_Names'Access,
Asis.Expressions.Corresponding_Name_Definition_List'Access,
Asis.Elements.Corresponding_Pragmas'Access,
Asis.Declarations.Corresponding_Representation_Clauses'Access,
Asis.Definitions.Corresponding_Type_Operators'Access,
DDA.All_Named_Components'Access,
Asis.Definitions.Discrete_Ranges'Access,
Asis.Definitions.Discrete_Subtype_Definitions'Access,
Asis.Expressions.Discriminant_Selector_Names'Access,
Asis.Definitions.Discriminants'Access,
Asis.Definitions.Enumeration_Literal_Declarations'Access,
Asis.Statements.Exception_Choices'Access,
Asis.Definitions.Implicit_Components'Access,
Asis.Definitions.Implicit_Inherited_Declarations'Access,
Asis.Definitions.Implicit_Inherited_Subprograms'Access,
Asis.Expressions.Index_Expressions'Access,
Asis.Definitions.Index_Subtype_Definitions'Access,
Asis.Statements.Label_Names'Access,
Asis.Declarations.Names'Access,
Asis.Declarations.Parameter_Profile'Access,
Asis.Elements.Pragma_Argument_Associations'Access,
Asis.Elements.Pragmas'Access,
Asis.Expressions.Record_Component_Choices'Access,
Asis.Definitions.Variant_Choices'Access
);
FElemRetInt : array
(Hash .. Hash)
of ElemRetInt :=
(others =>
-- !!! Text.First_Line_Number'Access,
Asis.Elements.Hash'Access
-- !!! Asis.Text.Last_Line_Number'Access
);
FElemRetLineList : array
(Lines .. Lines)
of ElemRetLineList :=
(others =>
Asis.Text.Lines'Access
);
FElemRetSpan : array
(Compilation_Span .. Element_Span)
of ElemRetSpan :=
(
Text.Compilation_Span'Access,
Text.Compilation_Unit_Span'Access,
Text.Element_Span'Access
);
FElemRetString : array
(Access_Type_Kind .. Value_Image)
of ElemRetString :=
(
ASIStant.Enum_Mapping.Access_Type_Kind'Access,
ASIStant.Enum_Mapping.Association_Kind'Access,
ASIStant.Enum_Mapping.Attribute_Kind'Access,
ASIStant.Enum_Mapping.Clause_Kind'Access,
ASIStant.Enum_Mapping.Constraint_Kind'Access,
Asis.Elements.Debug_Image'Access,
ASIStant.Enum_Mapping.Declaration_Kind'Access,
ASIStant.Enum_Mapping.Declaration_Origin'Access,
ASIStant.Enum_Mapping.Default_Kind'Access,
Asis.Declarations.Defining_Name_Image'Access,
ASIStant.Enum_Mapping.Defining_Name_Kind'Access,
ASIStant.Enum_Mapping.Definition_Kind'Access,
ASIStant.Enum_Mapping.Discrete_Range_Kind'Access,
Text.Element_Image'Access,
ASIStant.Enum_Mapping.Element_Kind'Access,
ASIStant.Enum_Mapping.Expression_Kind'Access,
ASIStant.Enum_Mapping.Formal_Type_Kind'Access,
ASIStant.Enum_Mapping.Mode_Kind'Access,
Asis.Expressions.Name_Image'Access,
ASIStant.Enum_Mapping.Operator_Kind'Access,
ASIStant.Enum_Mapping.Path_Kind'Access,
Asis.Declarations.Position_Number_Image'Access,
ASIStant.Enum_Mapping.Pragma_Kind'Access,
Asis.Elements.Pragma_Name_Image'Access,
ASIStant.Enum_Mapping.Representation_Clause_Kind'Access,
Asis.Declarations.Representation_Value_Image'Access,
ASIStant.Enum_Mapping.Root_Type_Kind'Access,
ASIStant.Enum_Mapping.Statement_Kind'Access,
ASIStant.Enum_Mapping.Trait_Kind'Access,
ASIStant.Enum_Mapping.Type_Kind'Access,
Asis.Expressions.Value_Image'Access
);
FElemSpanRetLineList : array
(Lines_1 .. Lines_1)
of ElemSpanRetLineList :=
(others =>
Asis.Text.Lines'Access
);
FIntIntRetBool : array
(Eq .. Lt)
of IntIntRetBool :=
(
Eq'Access,
Gt'Access,
Lt'Access
);
FIntIntRetInt : array
(Add .. Sub)
of IntIntRetInt :=
(
Add'Access,
Sub'Access
);
FLineRetString : array
(Comment_Image .. Non_Comment_Image)
of LineRetString :=
(
Asis.Text.Comment_Image'Access,
Asis.Text.Debug_Image'Access,
Asis.Text.Line_Image'Access,
Asis.Text.Non_Comment_Image'Access
);
FRelshipRetCUnitList : array
(Consistent .. Circular)
of RelshipRetCUnitList :=
(
Consistent'Access,
Inconsistent'Access,
Missing'Access,
Circular'Access
);
FRetBool : array
(Attributes_Are_Supported .. Record_Component_Associations_Normalized)
of RetBool :=
(
Asis.Implementation.Permissions.Attributes_Are_Supported'Access,
Asis.Implementation.Permissions.Default_In_Mode_Supported'Access,
Asis.Implementation.Permissions.
Discriminant_Associations_Normalized'Access,
Asis.Implementation.Permissions.
Function_Call_Parameters_Normalized'Access,
Asis.Implementation.Permissions.Generic_Actual_Part_Normalized'Access,
Asis.Implementation.Permissions.Generic_Macro_Expansion_Supported'Access,
Asis.Implementation.Permissions.Implicit_Components_Supported'Access,
Asis.Implementation.Permissions.Inherited_Declarations_Supported'Access,
Asis.Implementation.Permissions.Inherited_Subprograms_Supported'Access,
Asis.Implementation.Permissions.Is_Commentary_Supported'Access,
Asis.Implementation.Is_Finalized'Access,
Asis.Implementation.Permissions.
Is_Formal_Parameter_Named_Notation_Supported'Access,
Asis.Implementation.Is_Initialized'Access,
Asis.Implementation.Permissions.Is_Line_Number_Supported'Access,
Asis.Implementation.Permissions.Is_Prefix_Call_Supported'Access,
Asis.Implementation.Permissions.Is_Span_Column_Position_Supported'Access,
Asis.Implementation.Permissions.Object_Declarations_Normalized'Access,
Asis.Implementation.Permissions.Predefined_Operations_Supported'Access,
Asis.Implementation.Permissions.
Record_Component_Associations_Normalized'Access
);
FRetCUnit : array
(FuncEnum.Nil_Compilation_Unit .. FuncEnum.Nil_Compilation_Unit)
of RetCUnit :=
(others =>
ASIStant.Add_Ons.Nil_Compilation_Unit'Access
);
FRetCUnitList : array
(FuncEnum.Nil_Compilation_Unit_List .. FuncEnum.Nil_Compilation_Unit_List)
of RetCUnitList :=
(others =>
ASIStant.Add_Ons.Nil_Compilation_Unit_List'Access
);
FRetElem : array
(FuncEnum.Nil_Element .. FuncEnum.Nil_Element)
of RetElem :=
(others =>
ASIStant.Add_Ons.Nil_Element'Access
);
FRetElemList : array
(FuncEnum.Nil_Element_List .. FuncEnum.Nil_Element_List)
of RetElemList :=
(others =>
ASIStant.Add_Ons.Nil_Element_List'Access
);
FRetRelship : array
(Nil_Relationship .. Nil_Relationship)
of RetRelship :=
(others =>
ASIStant.Add_Ons.Nil_Relationship'Access
);
FRetString : array
(Asis_Implementor .. Status)
of RetString :=
(
Implementation.ASIS_Implementor'Access,
Implementation.ASIS_Implementor_Information'Access,
Implementation.ASIS_Implementor_Version'Access,
Implementation.ASIS_Version'Access,
Asis.Compilation_Units.Attribute_Value_Delimiter'Access,
Asis.Ada_Environments.Default_Name'Access,
Asis.Ada_Environments.Default_Parameters'Access,
Text.Delimiter_Image'Access,
Implementation.Diagnosis'Access,
ASIStant.Enum_Mapping.Status'Access
);
FSpanRetBool : array
(Is_Nil_Sp .. Is_Nil_Sp)
of SpanRetBool :=
(others =>
Text.Is_Nil'Access
);
FSpanRetInt : array
(First_Column .. Last_Line)
of SpanRetInt :=
(
First_Column'Access,
First_Line'Access,
Last_Column'Access,
Last_Line'Access
);
FStringCtxRetCUnit : array
(Compilation_Unit_Body .. Library_Unit_Declaration)
of StringCtxRetCUnit :=
(
Asis.Compilation_Units.Compilation_Unit_Body'Access,
Asis.Compilation_Units.Library_Unit_Declaration'Access
);
FStringRetNull : array
(Finalize .. Initialize)
of StringRetNull :=
(
Asis.Implementation.Finalize'Access,
Asis.Implementation.Initialize'Access
);
FStringStringRetBool : array
(Eq_SS .. Lt_SS)
of StringStringRetBool :=
(
Eq'Access,
Gt'Access,
Lt'Access
);
FStringStringRetString : array
(Concat .. Concat)
of StringStringRetString :=
(others =>
Concat'Access
);
end ASIStant.FuncArr;
syntax highlighted by Code2HTML, v. 0.9.1