Changeset 388


Ignore:
Timestamp:
Jan 11, 2015, 8:29:31 AM (5 years ago)
Author:
Maxim Reznik
Message:

More implementation code for Asis.Elements.*_Kind

Location:
trunk/ada-2012
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/ada-2012/gnat/gela_common.gpr

    r380 r388  
    1111
    1212   Check_Ada_Switches := Default_Ada_Switches &
    13      ("-gnatVa", "-gnatwea", "-gnaty");
     13     ("-gnatVa", "-gnatwea", "-gnaty", "-gnata");
    1414
    1515   package Compiler is
  • trunk/ada-2012/src/asis/asis-declarations.adb

    r383 r388  
    4242with Gela.Elements.Type_Definitions;
    4343with Gela.Lexical_Types;
     44with Gela.Elements.Defining_Enumeration_Literals;
     45with Gela.Elements.Defining_Operator_Symbols;
    4446
    4547package body Asis.Declarations is
     
    734736      package Get is
    735737         type Visiter is new Gela.Element_Visiters.Visiter with record
    736             Symbol : Gela.Lexical_Types.Symbol;
     738            Symbol : Gela.Lexical_Types.Symbol := 0;
    737739         end record;
     740
     741         overriding procedure Defining_Enumeration_Literal
     742           (Self : in out Visiter;
     743            Node : not null Gela.Elements.Defining_Enumeration_Literals.
     744              Defining_Enumeration_Literal_Access);
    738745
    739746         overriding procedure Defining_Identifier
     
    741748            Node : not null Gela.Elements.Defining_Identifiers.
    742749              Defining_Identifier_Access);
     750
     751         overriding procedure Defining_Operator_Symbol
     752           (Self : in out Visiter;
     753            Node : not null Gela.Elements.Defining_Operator_Symbols.
     754              Defining_Operator_Symbol_Access);
    743755      end Get;
    744756
    745757      package body Get is
     758
     759         overriding procedure Defining_Enumeration_Literal
     760           (Self : in out Visiter;
     761            Node : not null Gela.Elements.Defining_Enumeration_Literals.
     762              Defining_Enumeration_Literal_Access)
     763         is
     764            Token : constant Gela.Lexical_Types.Token_Count :=
     765              Node.Identifier;
     766            Comp  : constant Gela.Compilations.Compilation_Access :=
     767              Node.Enclosing_Compilation;
     768         begin
     769            Self.Symbol := Comp.Get_Token (Token).Symbol;
     770         end Defining_Enumeration_Literal;
    746771
    747772         overriding procedure Defining_Identifier
     
    757782            Self.Symbol := Comp.Get_Token (Token).Symbol;
    758783         end Defining_Identifier;
     784
     785         overriding procedure Defining_Operator_Symbol
     786           (Self : in out Visiter;
     787            Node : not null Gela.Elements.Defining_Operator_Symbols.
     788              Defining_Operator_Symbol_Access)
     789         is
     790            Token : constant Gela.Lexical_Types.Token_Count :=
     791              Node.Operator_Symbol_Token;
     792            Comp  : constant Gela.Compilations.Compilation_Access :=
     793              Node.Enclosing_Compilation;
     794         begin
     795            Self.Symbol := Comp.Get_Token (Token).Symbol;
     796         end Defining_Operator_Symbol;
    759797      end Get;
    760798
  • trunk/ada-2012/src/asis/asis-elements.adb

    r383 r388  
    11001100
    11011101   function Path_Kind (Path : in Asis.Path) return Asis.Path_Kinds is
    1102    begin
    1103       if Assigned (Path) then
    1104          Raise_Not_Implemented ("");
    1105          return Not_A_Path;
     1102      Map : constant array (F.A_Path) of Asis.Path_Kinds
     1103        := (F.An_If_Path => Asis.An_If_Path,
     1104            F.An_Elsif_Path => Asis.An_Elsif_Path,
     1105            F.An_Else_Path => Asis.An_Else_Path,
     1106            F.A_Case_Path => Asis.A_Case_Path,
     1107            F.A_Select_Path => Asis.A_Select_Path,
     1108            F.An_Or_Path => Asis.An_Or_Path,
     1109            F.A_Then_Abort_Path => Asis.A_Then_Abort_Path);
     1110
     1111      Kind : constant Asis.Extensions.Flat_Kinds.Element_Flat_Kind :=
     1112        Asis.Extensions.Flat_Kinds.Flat_Kind (Path);
     1113   begin
     1114      if Kind in Map'Range then
     1115         return Map (Kind);
    11061116      else
    11071117         return Not_A_Path;
     
    12781288   is
    12791289   begin
    1280       if Assigned (Definition) then
    1281          Raise_Not_Implemented ("");
    1282          return Not_A_Type_Definition;
    1283       else
    1284          return Not_A_Type_Definition;
    1285       end if;
     1290      case F.Flat_Kind (Definition) is
     1291         when F.A_Derived_Type_Definition =>
     1292            return Asis.A_Derived_Type_Definition;
     1293         when F.A_Derived_Record_Extension_Definition =>
     1294            return Asis.A_Derived_Record_Extension_Definition;
     1295         when F.An_Enumeration_Type_Definition =>
     1296            return Asis.An_Enumeration_Type_Definition;
     1297         when F.A_Signed_Integer_Type_Definition =>
     1298            return Asis.A_Signed_Integer_Type_Definition;
     1299         when F.A_Modular_Type_Definition =>
     1300            return Asis.A_Modular_Type_Definition;
     1301         when F.A_Root_Type_Definition =>
     1302            return Asis.A_Root_Type_Definition;
     1303         when F.A_Floating_Point_Definition =>
     1304            return A_Floating_Point_Definition;
     1305         when F.An_Ordinary_Fixed_Point_Definition =>
     1306            return An_Ordinary_Fixed_Point_Definition;
     1307         when F.A_Decimal_Fixed_Point_Definition =>
     1308            return A_Decimal_Fixed_Point_Definition;
     1309         when F.An_Unconstrained_Array_Definition =>
     1310            return An_Unconstrained_Array_Definition;
     1311         when F.A_Constrained_Array_Definition =>
     1312            return A_Constrained_Array_Definition;
     1313         when F.A_Record_Type_Definition =>
     1314            return A_Record_Type_Definition;
     1315         when F.A_Tagged_Record_Type_Definition =>
     1316            return A_Tagged_Record_Type_Definition;
     1317         when F.An_Interface_Type_Definition =>
     1318            return Asis.An_Interface_Type_Definition;
     1319         when F.An_Access_Type_Definition =>
     1320            return Asis.An_Access_Type_Definition;
     1321         when others =>
     1322            return Not_A_Type_Definition;
     1323      end case;
    12861324   end Type_Kind;
    12871325
  • trunk/ada-2012/src/asis/asis-extensions-flat_kinds.adb

    r387 r388  
    319319   overriding procedure Case_Path
    320320     (Self : in out Visiter;
    321       Node : not null Gela.Elements.Case_Paths.Case_Path_Access)
    322    is null;
     321      Node : not null Gela.Elements.Case_Paths.Case_Path_Access);
    323322
    324323   overriding procedure Case_Statement
    325324     (Self : in out Visiter;
    326       Node : not null Gela.Elements.Case_Statements.Case_Statement_Access)
    327    is null;
     325      Node : not null Gela.Elements.Case_Statements.Case_Statement_Access);
    328326
    329327   overriding procedure Character_Literal
     
    359357     (Self : in out Visiter;
    360358      Node : not null Gela.Elements.Component_Declarations.
     359        Component_Declaration_Access);
     360
     361   overriding procedure Component_Definition
     362     (Self : in out Visiter;
     363      Node : not null Gela.Elements.Component_Definitions.
     364        Component_Definition_Access);
     365
     366   overriding procedure Composite_Constraint
     367     (Self : in out Visiter;
     368      Node : not null Gela.Elements.Composite_Constraints.
     369        Composite_Constraint_Access);
     370
     371   overriding procedure Constrained_Array_Definition
     372     (Self : in out Visiter;
     373      Node : not null Gela.Elements.Constrained_Array_Definitions.
     374        Constrained_Array_Definition_Access)
     375   is null;
     376
     377   overriding procedure Decimal_Fixed_Point_Definition
     378     (Self : in out Visiter;
     379      Node : not null Gela.Elements.Decimal_Fixed_Point_Definitions.
     380        Decimal_Fixed_Point_Definition_Access)
     381   is null;
     382
     383   overriding procedure Defining_Character_Literal
     384     (Self : in out Visiter;
     385      Node : not null Gela.Elements.Defining_Character_Literals.
     386        Defining_Character_Literal_Access)
     387   is null;
     388
     389   overriding procedure Defining_Enumeration_Literal
     390     (Self : in out Visiter;
     391      Node : not null Gela.Elements.Defining_Enumeration_Literals.
     392        Defining_Enumeration_Literal_Access);
     393
     394   overriding procedure Defining_Expanded_Unit_Name
     395     (Self : in out Visiter;
     396      Node : not null Gela.Elements.Defining_Expanded_Unit_Names.
     397        Defining_Expanded_Unit_Name_Access)
     398   is null;
     399
     400   overriding procedure Defining_Identifier
     401     (Self : in out Visiter;
     402      Node : not null Gela.Elements.Defining_Identifiers.
     403        Defining_Identifier_Access);
     404
     405   overriding procedure Defining_Operator_Symbol
     406     (Self : in out Visiter;
     407      Node : not null Gela.Elements.Defining_Operator_Symbols.
     408        Defining_Operator_Symbol_Access)
     409   is null;
     410
     411   overriding procedure Delay_Statement
     412     (Self : in out Visiter;
     413      Node : not null Gela.Elements.Delay_Statements.Delay_Statement_Access)
     414   is null;
     415
     416   overriding procedure Delta_Constraint
     417     (Self : in out Visiter;
     418      Node : not null Gela.Elements.Delta_Constraints.Delta_Constraint_Access)
     419   is null;
     420
     421   overriding procedure Derived_Record_Definition
     422     (Self : in out Visiter;
     423      Node : not null Gela.Elements.Derived_Record_Definitions.
     424        Derived_Record_Definition_Access)
     425   is null;
     426
     427   overriding procedure Derived_Type_Definition
     428     (Self : in out Visiter;
     429      Node : not null Gela.Elements.Derived_Type_Definitions.
     430        Derived_Type_Definition_Access)
     431   is null;
     432
     433   overriding procedure Digits_Constraint
     434     (Self : in out Visiter;
     435      Node : not null Gela.Elements.Digits_Constraints.
     436        Digits_Constraint_Access)
     437   is null;
     438
     439   overriding procedure Discrete_Range_Attribute_Reference
     440     (Self : in out Visiter;
     441      Node : not null Gela.Elements.Discrete_Range_Attribute_References.
     442        Discrete_Range_Attribute_Reference_Access)
     443   is null;
     444
     445   overriding procedure Discrete_Simple_Expression_Range
     446     (Self : in out Visiter;
     447      Node : not null Gela.Elements.Discrete_Simple_Expression_Ranges.
     448        Discrete_Simple_Expression_Range_Access)
     449   is null;
     450
     451   overriding procedure Discrete_Subtype_Indication
     452     (Self : in out Visiter;
     453      Node : not null Gela.Elements.Discrete_Subtype_Indications.
     454        Discrete_Subtype_Indication_Access)
     455   is null;
     456
     457   overriding procedure Discrete_Subtype_Indication_Dr
     458     (Self : in out Visiter;
     459      Node : not null Gela.Elements.Discrete_Subtype_Indication_Drs.
     460        Discrete_Subtype_Indication_Dr_Access)
     461   is null;
     462
     463   overriding procedure Discriminant_Specification
     464     (Self : in out Visiter;
     465      Node : not null Gela.Elements.Discriminant_Specifications.
     466        Discriminant_Specification_Access);
     467
     468   overriding procedure Element_Iterator_Specification
     469     (Self : in out Visiter;
     470      Node : not null Gela.Elements.Element_Iterator_Specifications.
     471        Element_Iterator_Specification_Access)
     472   is null;
     473
     474   overriding procedure Else_Expression_Path
     475     (Self : in out Visiter;
     476      Node : not null Gela.Elements.Else_Expression_Paths.
     477        Else_Expression_Path_Access)
     478   is null;
     479
     480   overriding procedure Else_Path
     481     (Self : in out Visiter;
     482      Node : not null Gela.Elements.Else_Paths.Else_Path_Access)
     483   is null;
     484
     485   overriding procedure Elsif_Expression_Path
     486     (Self : in out Visiter;
     487      Node : not null Gela.Elements.Elsif_Expression_Paths.
     488        Elsif_Expression_Path_Access)
     489   is null;
     490
     491   overriding procedure Elsif_Path
     492     (Self : in out Visiter;
     493      Node : not null Gela.Elements.Elsif_Paths.Elsif_Path_Access)
     494   is null;
     495
     496   overriding procedure Entry_Body
     497     (Self : in out Visiter;
     498      Node : not null Gela.Elements.Entry_Bodies.Entry_Body_Access)
     499   is null;
     500
     501   overriding procedure Entry_Declaration
     502     (Self : in out Visiter;
     503      Node : not null Gela.Elements.Entry_Declarations.
     504        Entry_Declaration_Access)
     505   is null;
     506
     507   overriding procedure Entry_Index_Specification
     508     (Self : in out Visiter;
     509      Node : not null Gela.Elements.Entry_Index_Specifications.
     510        Entry_Index_Specification_Access)
     511   is null;
     512
     513   overriding procedure Enumeration_Literal
     514     (Self : in out Visiter;
     515      Node : not null Gela.Elements.Enumeration_Literals.
     516        Enumeration_Literal_Access)
     517   is null;
     518
     519   overriding procedure Enumeration_Literal_Specification
     520     (Self : in out Visiter;
     521      Node : not null Gela.Elements.Enumeration_Literal_Specifications.
     522        Enumeration_Literal_Specification_Access);
     523
     524   overriding procedure Enumeration_Type_Definition
     525     (Self : in out Visiter;
     526      Node : not null Gela.Elements.Enumeration_Type_Definitions.
     527        Enumeration_Type_Definition_Access);
     528
     529   overriding procedure Exception_Declaration
     530     (Self : in out Visiter;
     531      Node : not null Gela.Elements.Exception_Declarations.
     532        Exception_Declaration_Access);
     533
     534   overriding procedure Exception_Handler
     535     (Self : in out Visiter;
     536      Node : not null Gela.Elements.Exception_Handlers.
     537        Exception_Handler_Access);
     538
     539   overriding procedure Exception_Renaming_Declaration
     540     (Self : in out Visiter;
     541      Node : not null Gela.Elements.Exception_Renaming_Declarations.
     542        Exception_Renaming_Declaration_Access)
     543   is null;
     544
     545   overriding procedure Exit_Statement
     546     (Self : in out Visiter;
     547      Node : not null Gela.Elements.Exit_Statements.Exit_Statement_Access)
     548   is null;
     549
     550   overriding procedure Explicit_Dereference
     551     (Self : in out Visiter;
     552      Node : not null Gela.Elements.Explicit_Dereferences.
     553        Explicit_Dereference_Access)
     554   is null;
     555
     556   overriding procedure Extended_Return_Statement
     557     (Self : in out Visiter;
     558      Node : not null Gela.Elements.Extended_Return_Statements.
     559        Extended_Return_Statement_Access)
     560   is null;
     561
     562   overriding procedure Extension_Aggregate
     563     (Self : in out Visiter;
     564      Node : not null Gela.Elements.Extension_Aggregates.
     565        Extension_Aggregate_Access)
     566   is null;
     567
     568   overriding procedure Floating_Point_Definition
     569     (Self : in out Visiter;
     570      Node : not null Gela.Elements.Floating_Point_Definitions.
     571        Floating_Point_Definition_Access)
     572   is null;
     573
     574   overriding procedure For_Loop_Statement
     575     (Self : in out Visiter;
     576      Node : not null Gela.Elements.For_Loop_Statements.
     577        For_Loop_Statement_Access)
     578   is null;
     579
     580   overriding procedure Formal_Access_To_Function_Definition
     581     (Self : in out Visiter;
     582      Node : not null Gela.Elements.Formal_Access_To_Function_Definitions.
     583        Formal_Access_To_Function_Definition_Access)
     584   is null;
     585
     586   overriding procedure Formal_Access_To_Object_Definition
     587     (Self : in out Visiter;
     588      Node : not null Gela.Elements.Formal_Access_To_Object_Definitions.
     589        Formal_Access_To_Object_Definition_Access)
     590   is null;
     591
     592   overriding procedure Formal_Access_To_Procedure_Definition
     593     (Self : in out Visiter;
     594      Node : not null Gela.Elements.Formal_Access_To_Procedure_Definitions.
     595        Formal_Access_To_Procedure_Definition_Access)
     596   is null;
     597
     598   overriding procedure Formal_Constrained_Array_Definition
     599     (Self : in out Visiter;
     600      Node : not null Gela.Elements.Formal_Constrained_Array_Definitions.
     601        Formal_Constrained_Array_Definition_Access)
     602   is null;
     603
     604   overriding procedure Formal_Decimal_Fixed_Point_Definition
     605     (Self : in out Visiter;
     606      Node : not null Gela.Elements.Formal_Decimal_Fixed_Point_Definitions.
     607        Formal_Decimal_Fixed_Point_Definition_Access)
     608   is null;
     609
     610   overriding procedure Formal_Derived_Type_Definition
     611     (Self : in out Visiter;
     612      Node : not null Gela.Elements.Formal_Derived_Type_Definitions.
     613        Formal_Derived_Type_Definition_Access)
     614   is null;
     615
     616   overriding procedure Formal_Discrete_Type_Definition
     617     (Self : in out Visiter;
     618      Node : not null Gela.Elements.Formal_Discrete_Type_Definitions.
     619        Formal_Discrete_Type_Definition_Access)
     620   is null;
     621
     622   overriding procedure Formal_Floating_Point_Definition
     623     (Self : in out Visiter;
     624      Node : not null Gela.Elements.Formal_Floating_Point_Definitions.
     625        Formal_Floating_Point_Definition_Access)
     626   is null;
     627
     628   overriding procedure Formal_Function_Declaration
     629     (Self : in out Visiter;
     630      Node : not null Gela.Elements.Formal_Function_Declarations.
     631        Formal_Function_Declaration_Access)
     632   is null;
     633
     634   overriding procedure Formal_Incomplete_Type_Declaration
     635     (Self : in out Visiter;
     636      Node : not null Gela.Elements.Formal_Incomplete_Type_Declarations.
     637        Formal_Incomplete_Type_Declaration_Access)
     638   is null;
     639
     640   overriding procedure Formal_Interface_Type_Definition
     641     (Self : in out Visiter;
     642      Node : not null Gela.Elements.Formal_Interface_Type_Definitions.
     643        Formal_Interface_Type_Definition_Access)
     644   is null;
     645
     646   overriding procedure Formal_Modular_Type_Definition
     647     (Self : in out Visiter;
     648      Node : not null Gela.Elements.Formal_Modular_Type_Definitions.
     649        Formal_Modular_Type_Definition_Access)
     650   is null;
     651
     652   overriding procedure Formal_Object_Declaration
     653     (Self : in out Visiter;
     654      Node : not null Gela.Elements.Formal_Object_Declarations.
     655        Formal_Object_Declaration_Access)
     656   is null;
     657
     658   overriding procedure Formal_Ordinary_Fixed_Point_Definition
     659     (Self : in out Visiter;
     660      Node : not null Gela.Elements.Formal_Ordinary_Fixed_Point_Definitions.
     661        Formal_Ordinary_Fixed_Point_Definition_Access)
     662   is null;
     663
     664   overriding procedure Formal_Package_Declaration
     665     (Self : in out Visiter;
     666      Node : not null Gela.Elements.Formal_Package_Declarations.
     667        Formal_Package_Declaration_Access)
     668   is null;
     669
     670   overriding procedure Formal_Private_Type_Definition
     671     (Self : in out Visiter;
     672      Node : not null Gela.Elements.Formal_Private_Type_Definitions.
     673        Formal_Private_Type_Definition_Access)
     674   is null;
     675
     676   overriding procedure Formal_Procedure_Declaration
     677     (Self : in out Visiter;
     678      Node : not null Gela.Elements.Formal_Procedure_Declarations.
     679        Formal_Procedure_Declaration_Access)
     680   is null;
     681
     682   overriding procedure Formal_Signed_Integer_Type_Definition
     683     (Self : in out Visiter;
     684      Node : not null Gela.Elements.Formal_Signed_Integer_Type_Definitions.
     685        Formal_Signed_Integer_Type_Definition_Access)
     686   is null;
     687
     688   overriding procedure Formal_Type_Declaration
     689     (Self : in out Visiter;
     690      Node : not null Gela.Elements.Formal_Type_Declarations.
     691        Formal_Type_Declaration_Access)
     692   is null;
     693
     694   overriding procedure Formal_Unconstrained_Array_Definition
     695     (Self : in out Visiter;
     696      Node : not null Gela.Elements.Formal_Unconstrained_Array_Definitions.
     697        Formal_Unconstrained_Array_Definition_Access)
     698   is null;
     699
     700   overriding procedure Full_Type_Declaration
     701     (Self : in out Visiter;
     702      Node : not null Gela.Elements.Full_Type_Declarations.
     703        Full_Type_Declaration_Access);
     704
     705   overriding procedure Function_Body
     706     (Self : in out Visiter;
     707      Node : not null Gela.Elements.Function_Bodies.Function_Body_Access)
     708   is null;
     709
     710   overriding procedure Function_Declaration
     711     (Self : in out Visiter;
     712      Node : not null Gela.Elements.Function_Declarations.
     713        Function_Declaration_Access);
     714
     715   overriding procedure Function_Instantiation
     716     (Self : in out Visiter;
     717      Node : not null Gela.Elements.Function_Instantiations.
     718        Function_Instantiation_Access)
     719   is null;
     720
     721   overriding procedure Generalized_Iterator_Specification
     722     (Self : in out Visiter;
     723      Node : not null Gela.Elements.Generalized_Iterator_Specifications.
     724        Generalized_Iterator_Specification_Access)
     725   is null;
     726
     727   overriding procedure Generic_Association
     728     (Self : in out Visiter;
     729      Node : not null Gela.Elements.Generic_Associations.
     730        Generic_Association_Access)
     731   is null;
     732
     733   overriding procedure Generic_Function_Declaration
     734     (Self : in out Visiter;
     735      Node : not null Gela.Elements.Generic_Function_Declarations.
     736        Generic_Function_Declaration_Access)
     737   is null;
     738
     739   overriding procedure Generic_Function_Renaming
     740     (Self : in out Visiter;
     741      Node : not null Gela.Elements.Generic_Function_Renamings.
     742        Generic_Function_Renaming_Access)
     743   is null;
     744
     745   overriding procedure Generic_Package_Declaration
     746     (Self : in out Visiter;
     747      Node : not null Gela.Elements.Generic_Package_Declarations.
     748        Generic_Package_Declaration_Access)
     749   is null;
     750
     751   overriding procedure Generic_Package_Renaming
     752     (Self : in out Visiter;
     753      Node : not null Gela.Elements.Generic_Package_Renamings.
     754        Generic_Package_Renaming_Access)
     755   is null;
     756
     757   overriding procedure Generic_Procedure_Declaration
     758     (Self : in out Visiter;
     759      Node : not null Gela.Elements.Generic_Procedure_Declarations.
     760        Generic_Procedure_Declaration_Access)
     761   is null;
     762
     763   overriding procedure Generic_Procedure_Renaming
     764     (Self : in out Visiter;
     765      Node : not null Gela.Elements.Generic_Procedure_Renamings.
     766        Generic_Procedure_Renaming_Access)
     767   is null;
     768
     769   overriding procedure Goto_Statement
     770     (Self : in out Visiter;
     771      Node : not null Gela.Elements.Goto_Statements.Goto_Statement_Access)
     772   is null;
     773
     774   overriding procedure Identifier
     775     (Self : in out Visiter;
     776      Node : not null Gela.Elements.Identifiers.Identifier_Access);
     777
     778   overriding procedure If_Expression
     779     (Self : in out Visiter;
     780      Node : not null Gela.Elements.If_Expressions.If_Expression_Access)
     781   is null;
     782
     783   overriding procedure If_Expression_Path
     784     (Self : in out Visiter;
     785      Node : not null Gela.Elements.If_Expression_Paths.
     786        If_Expression_Path_Access)
     787   is null;
     788
     789   overriding procedure If_Path
     790     (Self : in out Visiter;
     791      Node : not null Gela.Elements.If_Paths.If_Path_Access)
     792   is null;
     793
     794   overriding procedure If_Statement
     795     (Self : in out Visiter;
     796      Node : not null Gela.Elements.If_Statements.If_Statement_Access)
     797   is null;
     798
     799   overriding procedure Incomplete_Type_Declaration
     800     (Self : in out Visiter;
     801      Node : not null Gela.Elements.Incomplete_Type_Declarations.
     802        Incomplete_Type_Declaration_Access)
     803   is null;
     804
     805   overriding procedure Incomplete_Type_Definition
     806     (Self : in out Visiter;
     807      Node : not null Gela.Elements.Incomplete_Type_Definitions.
     808        Incomplete_Type_Definition_Access)
     809   is null;
     810
     811   overriding procedure Interface_Type_Definition
     812     (Self : in out Visiter;
     813      Node : not null Gela.Elements.Interface_Type_Definitions.
     814        Interface_Type_Definition_Access)
     815   is null;
     816
     817   overriding procedure Known_Discriminant_Part
     818     (Self : in out Visiter;
     819      Node : not null Gela.Elements.Known_Discriminant_Parts.
     820        Known_Discriminant_Part_Access);
     821
     822   overriding procedure Label_Decorator
     823     (Self : in out Visiter;
     824      Node : not null Gela.Elements.Label_Decorators.Label_Decorator_Access)
     825   is null;
     826
     827   overriding procedure Loop_Parameter_Specification
     828     (Self : in out Visiter;
     829      Node : not null Gela.Elements.Loop_Parameter_Specifications.
     830        Loop_Parameter_Specification_Access)
     831   is null;
     832
     833   overriding procedure Loop_Statement
     834     (Self : in out Visiter;
     835      Node : not null Gela.Elements.Loop_Statements.Loop_Statement_Access)
     836   is null;
     837
     838   overriding procedure Membership_Test
     839     (Self : in out Visiter;
     840      Node : not null Gela.Elements.Membership_Tests.Membership_Test_Access)
     841   is null;
     842
     843   overriding procedure Modular_Type_Definition
     844     (Self : in out Visiter;
     845      Node : not null Gela.Elements.Modular_Type_Definitions.
     846        Modular_Type_Definition_Access)
     847   is null;
     848
     849   overriding procedure Null_Component
     850     (Self : in out Visiter;
     851      Node : not null Gela.Elements.Null_Components.Null_Component_Access)
     852   is null;
     853
     854   overriding procedure Null_Literal
     855     (Self : in out Visiter;
     856      Node : not null Gela.Elements.Null_Literals.Null_Literal_Access)
     857   is null;
     858
     859   overriding procedure Null_Record_Definition
     860     (Self : in out Visiter;
     861      Node : not null Gela.Elements.Null_Record_Definitions.
     862        Null_Record_Definition_Access)
     863   is null;
     864
     865   overriding procedure Null_Statement
     866     (Self : in out Visiter;
     867      Node : not null Gela.Elements.Null_Statements.Null_Statement_Access);
     868
     869   overriding procedure Number_Declaration
     870     (Self : in out Visiter;
     871      Node : not null Gela.Elements.Number_Declarations.
     872        Number_Declaration_Access)
     873   is null;
     874
     875   overriding procedure Numeric_Literal
     876     (Self : in out Visiter;
     877      Node : not null Gela.Elements.Numeric_Literals.Numeric_Literal_Access);
     878
     879   overriding procedure Object_Declaration
     880     (Self : in out Visiter;
     881      Node : not null Gela.Elements.Object_Declarations.
     882        Object_Declaration_Access);
     883
     884   overriding procedure Object_Renaming_Declaration
     885     (Self : in out Visiter;
     886      Node : not null Gela.Elements.Object_Renaming_Declarations.
     887        Object_Renaming_Declaration_Access)
     888   is null;
     889
     890   overriding procedure Operator_Symbol
     891     (Self : in out Visiter;
     892      Node : not null Gela.Elements.Operator_Symbols.Operator_Symbol_Access);
     893
     894   overriding procedure Ordinary_Fixed_Point_Definition
     895     (Self : in out Visiter;
     896      Node : not null Gela.Elements.Ordinary_Fixed_Point_Definitions.
     897        Ordinary_Fixed_Point_Definition_Access)
     898   is null;
     899
     900   overriding procedure Others_Choice
     901     (Self : in out Visiter;
     902      Node : not null Gela.Elements.Others_Choices.Others_Choice_Access)
     903   is null;
     904
     905   overriding procedure Package_Body
     906     (Self : in out Visiter;
     907      Node : not null Gela.Elements.Package_Bodies.Package_Body_Access)
     908   is null;
     909
     910   overriding procedure Package_Body_Stub
     911     (Self : in out Visiter;
     912      Node : not null Gela.Elements.Package_Body_Stubs.
     913        Package_Body_Stub_Access)
     914   is null;
     915
     916   overriding procedure Package_Declaration
     917     (Self : in out Visiter;
     918      Node : not null Gela.Elements.Package_Declarations.
     919        Package_Declaration_Access)
     920   is null;
     921
     922   overriding procedure Package_Instantiation
     923     (Self : in out Visiter;
     924      Node : not null Gela.Elements.Package_Instantiations.
     925        Package_Instantiation_Access)
     926   is null;
     927
     928   overriding procedure Package_Renaming_Declaration
     929     (Self : in out Visiter;
     930      Node : not null Gela.Elements.Package_Renaming_Declarations.
     931        Package_Renaming_Declaration_Access)
     932   is null;
     933
     934   overriding procedure Parameter_Association
     935     (Self : in out Visiter;
     936      Node : not null Gela.Elements.Parameter_Associations.
     937        Parameter_Association_Access)
     938   is null;
     939
     940   overriding procedure Parameter_Specification
     941     (Self : in out Visiter;
     942      Node : not null Gela.Elements.Parameter_Specifications.
     943        Parameter_Specification_Access)
     944   is null;
     945
     946   overriding procedure Pragma_Argument_Association
     947     (Self : in out Visiter;
     948      Node : not null Gela.Elements.Pragma_Argument_Associations.
     949        Pragma_Argument_Association_Access)
     950   is null;
     951
     952   overriding procedure Pragma_Node
     953     (Self : in out Visiter;
     954      Node : not null Gela.Elements.Pragma_Nodes.Pragma_Node_Access)
     955   is null;
     956
     957   overriding procedure Private_Extension_Declaration
     958     (Self : in out Visiter;
     959      Node : not null Gela.Elements.Private_Extension_Declarations.
     960        Private_Extension_Declaration_Access)
     961   is null;
     962
     963   overriding procedure Private_Extension_Definition
     964     (Self : in out Visiter;
     965      Node : not null Gela.Elements.Private_Extension_Definitions.
     966        Private_Extension_Definition_Access)
     967   is null;
     968
     969   overriding procedure Private_Type_Declaration
     970     (Self : in out Visiter;
     971      Node : not null Gela.Elements.Private_Type_Declarations.
     972        Private_Type_Declaration_Access)
     973   is null;
     974
     975   overriding procedure Private_Type_Definition
     976     (Self : in out Visiter;
     977      Node : not null Gela.Elements.Private_Type_Definitions.
     978        Private_Type_Definition_Access)
     979   is null;
     980
     981   overriding procedure Procedure_Body
     982     (Self : in out Visiter;
     983      Node : not null Gela.Elements.Procedure_Bodies.Procedure_Body_Access);
     984
     985   overriding procedure Procedure_Call_Statement
     986     (Self : in out Visiter;
     987      Node : not null Gela.Elements.Procedure_Call_Statements.
     988        Procedure_Call_Statement_Access);
     989
     990   overriding procedure Procedure_Declaration
     991     (Self : in out Visiter;
     992      Node : not null Gela.Elements.Procedure_Declarations.
     993        Procedure_Declaration_Access);
     994
     995   overriding procedure Procedure_Instantiation
     996     (Self : in out Visiter;
     997      Node : not null Gela.Elements.Procedure_Instantiations.
     998        Procedure_Instantiation_Access)
     999   is null;
     1000
     1001   overriding procedure Protected_Body
     1002     (Self : in out Visiter;
     1003      Node : not null Gela.Elements.Protected_Bodies.Protected_Body_Access)
     1004   is null;
     1005
     1006   overriding procedure Protected_Body_Stub
     1007     (Self : in out Visiter;
     1008      Node : not null Gela.Elements.Protected_Body_Stubs.
     1009        Protected_Body_Stub_Access)
     1010   is null;
     1011
     1012   overriding procedure Protected_Definition
     1013     (Self : in out Visiter;
     1014      Node : not null Gela.Elements.Protected_Definitions.
     1015        Protected_Definition_Access)
     1016   is null;
     1017
     1018   overriding procedure Protected_Type_Declaration
     1019     (Self : in out Visiter;
     1020      Node : not null Gela.Elements.Protected_Type_Declarations.
     1021        Protected_Type_Declaration_Access)
     1022   is null;
     1023
     1024   overriding procedure Qualified_Expression
     1025     (Self : in out Visiter;
     1026      Node : not null Gela.Elements.Qualified_Expressions.
     1027        Qualified_Expression_Access)
     1028   is null;
     1029
     1030   overriding procedure Quantified_Expression
     1031     (Self : in out Visiter;
     1032      Node : not null Gela.Elements.Quantified_Expressions.
     1033        Quantified_Expression_Access)
     1034   is null;
     1035
     1036   overriding procedure Raise_Statement
     1037     (Self : in out Visiter;
     1038      Node : not null Gela.Elements.Raise_Statements.Raise_Statement_Access)
     1039   is null;
     1040
     1041   overriding procedure Range_Attribute_Reference
     1042     (Self : in out Visiter;
     1043      Node : not null Gela.Elements.Range_Attribute_References.
     1044        Range_Attribute_Reference_Access)
     1045   is null;
     1046
     1047   overriding procedure Range_Attribute_Reference_Dr
     1048     (Self : in out Visiter;
     1049      Node : not null Gela.Elements.Range_Attribute_Reference_Drs.
     1050        Range_Attribute_Reference_Dr_Access)
     1051   is null;
     1052
     1053   overriding procedure Record_Aggregate
     1054     (Self : in out Visiter;
     1055      Node : not null Gela.Elements.Record_Aggregates.
     1056        Record_Aggregate_Access);
     1057
     1058   overriding procedure Record_Definition
     1059     (Self : in out Visiter;
     1060      Node : not null Gela.Elements.Record_Definitions.
     1061        Record_Definition_Access);
     1062
     1063   overriding procedure Record_Representation_Clause
     1064     (Self : in out Visiter;
     1065      Node : not null Gela.Elements.Record_Representation_Clauses.
     1066        Record_Representation_Clause_Access)
     1067   is null;
     1068
     1069   overriding procedure Record_Type_Definition
     1070     (Self : in out Visiter;
     1071      Node : not null Gela.Elements.Record_Type_Definitions.
     1072        Record_Type_Definition_Access);
     1073
     1074   overriding procedure Requeue_Statement
     1075     (Self : in out Visiter;
     1076      Node : not null Gela.Elements.Requeue_Statements.
     1077        Requeue_Statement_Access)
     1078   is null;
     1079
     1080   overriding procedure Return_Object_Specification
     1081     (Self : in out Visiter;
     1082      Node : not null Gela.Elements.Return_Object_Specifications.
     1083        Return_Object_Specification_Access)
     1084   is null;
     1085
     1086   overriding procedure Select_Or_Path
     1087     (Self : in out Visiter;
     1088      Node : not null Gela.Elements.Select_Or_Paths.Select_Or_Path_Access)
     1089   is null;
     1090
     1091   overriding procedure Selected_Component
     1092     (Self : in out Visiter;
     1093      Node : not null Gela.Elements.Selected_Components.
     1094        Selected_Component_Access);
     1095
     1096   overriding procedure Selected_Identifier
     1097     (Self : in out Visiter;
     1098      Node : not null Gela.Elements.Selected_Identifiers.
     1099        Selected_Identifier_Access);
     1100
     1101   overriding procedure Selective_Accept
     1102     (Self : in out Visiter;
     1103      Node : not null Gela.Elements.Selective_Accepts.Selective_Accept_Access)
     1104   is null;
     1105
     1106   overriding procedure Short_Circuit
     1107     (Self : in out Visiter;
     1108      Node : not null Gela.Elements.Short_Circuits.Short_Circuit_Access)
     1109   is null;
     1110
     1111   overriding procedure Signed_Integer_Type_Definition
     1112     (Self : in out Visiter;
     1113      Node : not null Gela.Elements.Signed_Integer_Type_Definitions.
     1114        Signed_Integer_Type_Definition_Access)
     1115   is null;
     1116
     1117   overriding procedure Simple_Expression_Range
     1118     (Self : in out Visiter;
     1119      Node : not null Gela.Elements.Simple_Expression_Ranges.
     1120        Simple_Expression_Range_Access)
     1121   is null;
     1122
     1123   overriding procedure Simple_Expression_Range_Dr
     1124     (Self : in out Visiter;
     1125      Node : not null Gela.Elements.Simple_Expression_Range_Drs.
     1126        Simple_Expression_Range_Dr_Access);
     1127
     1128   overriding procedure Simple_Return_Statement
     1129     (Self : in out Visiter;
     1130      Node : not null Gela.Elements.Simple_Return_Statements.
     1131        Simple_Return_Statement_Access)
     1132   is null;
     1133
     1134   overriding procedure Single_Protected_Declaration
     1135     (Self : in out Visiter;
     1136      Node : not null Gela.Elements.Single_Protected_Declarations.
     1137        Single_Protected_Declaration_Access)
     1138   is null;
     1139
     1140   overriding procedure Single_Task_Declaration
     1141     (Self : in out Visiter;
     1142      Node : not null Gela.Elements.Single_Task_Declarations.
     1143        Single_Task_Declaration_Access)
     1144   is null;
     1145
     1146   overriding procedure String_Literal
     1147     (Self : in out Visiter;
     1148      Node : not null Gela.Elements.String_Literals.String_Literal_Access);
     1149
     1150   overriding procedure Subtype_Declaration
     1151     (Self : in out Visiter;
     1152      Node : not null Gela.Elements.Subtype_Declarations.
     1153        Subtype_Declaration_Access);
     1154
     1155   overriding procedure Subtype_Indication
     1156     (Self : in out Visiter;
     1157      Node : not null Gela.Elements.Subtype_Indications.
     1158        Subtype_Indication_Access);
     1159
     1160   overriding procedure Subunit
     1161     (Self : in out Visiter;
     1162      Node : not null Gela.Elements.Subunits.Subunit_Access)
     1163   is null;
     1164
     1165   overriding procedure Task_Body
     1166     (Self : in out Visiter;
     1167      Node : not null Gela.Elements.Task_Bodies.Task_Body_Access)
     1168   is null;
     1169
     1170   overriding procedure Task_Body_Stub
     1171     (Self : in out Visiter;
     1172      Node : not null Gela.Elements.Task_Body_Stubs.Task_Body_Stub_Access)
     1173   is null;
     1174
     1175   overriding procedure Task_Definition
     1176     (Self : in out Visiter;
     1177      Node : not null Gela.Elements.Task_Definitions.Task_Definition_Access)
     1178   is null;
     1179
     1180   overriding procedure Task_Type_Declaration
     1181     (Self : in out Visiter;
     1182      Node : not null Gela.Elements.Task_Type_Declarations.
     1183        Task_Type_Declaration_Access)
     1184   is null;
     1185
     1186   overriding procedure Terminate_Alternative_Statement
     1187     (Self : in out Visiter;
     1188      Node : not null Gela.Elements.Terminate_Alternative_Statements.
     1189        Terminate_Alternative_Statement_Access)
     1190   is null;
     1191
     1192   overriding procedure Then_Abort_Path
     1193     (Self : in out Visiter;
     1194      Node : not null Gela.Elements.Then_Abort_Paths.Then_Abort_Path_Access)
     1195   is null;
     1196
     1197   overriding procedure Unconstrained_Array_Definition
     1198     (Self : in out Visiter;
     1199      Node : not null Gela.Elements.Unconstrained_Array_Definitions.
     1200        Unconstrained_Array_Definition_Access)
     1201   is null;
     1202
     1203   overriding procedure Unknown_Discriminant_Part
     1204     (Self : in out Visiter;
     1205      Node : not null Gela.Elements.Unknown_Discriminant_Parts.
     1206        Unknown_Discriminant_Part_Access)
     1207   is null;
     1208
     1209   overriding procedure Use_Package_Clause
     1210     (Self : in out Visiter;
     1211      Node : not null Gela.Elements.Use_Package_Clauses.
     1212        Use_Package_Clause_Access);
     1213
     1214   overriding procedure Use_Type_Clause
     1215     (Self : in out Visiter;
     1216      Node : not null Gela.Elements.Use_Type_Clauses.Use_Type_Clause_Access)
     1217   is null;
     1218
     1219   overriding procedure Variant
     1220     (Self : in out Visiter;
     1221      Node : not null Gela.Elements.Variants.Variant_Access);
     1222
     1223   overriding procedure Variant_Part
     1224     (Self : in out Visiter;
     1225      Node : not null Gela.Elements.Variant_Parts.Variant_Part_Access);
     1226
     1227   overriding procedure While_Loop_Statement
     1228     (Self : in out Visiter;
     1229      Node : not null Gela.Elements.While_Loop_Statements.
     1230        While_Loop_Statement_Access)
     1231   is null;
     1232
     1233   overriding procedure With_Clause
     1234     (Self : in out Visiter;
     1235      Node : not null Gela.Elements.With_Clauses.With_Clause_Access);
     1236
     1237   overriding procedure Assignment_Statement
     1238     (Self : in out Visiter;
     1239      Node : not null Gela.Elements.Assignment_Statements.
     1240        Assignment_Statement_Access)
     1241   is
     1242      pragma Unreferenced (Node);
     1243   begin
     1244      Self.Result := An_Assignment_Statement;
     1245   end Assignment_Statement;
     1246
     1247   overriding procedure Association
     1248     (Self : in out Visiter;
     1249      Node : not null Gela.Elements.Associations.Association_Access)
     1250   is
     1251      pragma Unreferenced (Node);
     1252   begin
     1253      Self.Result := A_Parameter_Association;
     1254   end Association;
     1255
     1256   overriding procedure Auxiliary_Apply
     1257     (Self : in out Visiter;
     1258      Node : not null Gela.Elements.Auxiliary_Applies.Auxiliary_Apply_Access)
     1259   is
     1260      pragma Unreferenced (Node);
     1261   begin
     1262      Self.Result := A_Function_Call;
     1263   end Auxiliary_Apply;
     1264
     1265   overriding procedure Case_Path
     1266     (Self : in out Visiter;
     1267      Node : not null Gela.Elements.Case_Paths.Case_Path_Access)
     1268   is
     1269      pragma Unreferenced (Node);
     1270   begin
     1271      Self.Result := A_Case_Path;
     1272   end Case_Path;
     1273
     1274   overriding procedure Case_Statement
     1275     (Self : in out Visiter;
     1276      Node : not null Gela.Elements.Case_Statements.Case_Statement_Access)
     1277   is
     1278      pragma Unreferenced (Node);
     1279   begin
     1280      Self.Result := A_Case_Statement;
     1281   end Case_Statement;
     1282
     1283   overriding procedure Component_Declaration
     1284     (Self : in out Visiter;
     1285      Node : not null Gela.Elements.Component_Declarations.
    3611286        Component_Declaration_Access)
    362    is null;
     1287   is
     1288      pragma Unreferenced (Node);
     1289   begin
     1290      Self.Result := A_Component_Declaration;
     1291   end Component_Declaration;
    3631292
    3641293   overriding procedure Component_Definition
     
    3661295      Node : not null Gela.Elements.Component_Definitions.
    3671296        Component_Definition_Access)
    368    is null;
     1297   is
     1298      pragma Unreferenced (Node);
     1299   begin
     1300      Self.Result := A_Component_Definition;
     1301   end Component_Definition;
    3691302
    3701303   overriding procedure Composite_Constraint
    3711304     (Self : in out Visiter;
    3721305      Node : not null Gela.Elements.Composite_Constraints.
    373         Composite_Constraint_Access);
    374 
    375    overriding procedure Constrained_Array_Definition
    376      (Self : in out Visiter;
    377       Node : not null Gela.Elements.Constrained_Array_Definitions.
    378         Constrained_Array_Definition_Access)
    379    is null;
    380 
    381    overriding procedure Decimal_Fixed_Point_Definition
    382      (Self : in out Visiter;
    383       Node : not null Gela.Elements.Decimal_Fixed_Point_Definitions.
    384         Decimal_Fixed_Point_Definition_Access)
    385    is null;
    386 
    387    overriding procedure Defining_Character_Literal
    388      (Self : in out Visiter;
    389       Node : not null Gela.Elements.Defining_Character_Literals.
    390         Defining_Character_Literal_Access)
    391    is null;
     1306        Composite_Constraint_Access)
     1307   is
     1308      pragma Unreferenced (Node);
     1309   begin
     1310      Self.Result := An_Index_Constraint;  --  FIXME
     1311   end Composite_Constraint;
    3921312
    3931313   overriding procedure Defining_Enumeration_Literal
     
    3951315      Node : not null Gela.Elements.Defining_Enumeration_Literals.
    3961316        Defining_Enumeration_Literal_Access)
    397    is null;
    398 
    399    overriding procedure Defining_Expanded_Unit_Name
    400      (Self : in out Visiter;
    401       Node : not null Gela.Elements.Defining_Expanded_Unit_Names.
    402         Defining_Expanded_Unit_Name_Access)
    403    is null;
     1317   is
     1318      pragma Unreferenced (Node);
     1319   begin
     1320      Self.Result := A_Defining_Enumeration_Literal;
     1321   end Defining_Enumeration_Literal;
    4041322
    4051323   overriding procedure Defining_Identifier
    4061324     (Self : in out Visiter;
    4071325      Node : not null Gela.Elements.Defining_Identifiers.
    408         Defining_Identifier_Access);
    409 
    410    overriding procedure Defining_Operator_Symbol
    411      (Self : in out Visiter;
    412       Node : not null Gela.Elements.Defining_Operator_Symbols.
    413         Defining_Operator_Symbol_Access)
    414    is null;
    415 
    416    overriding procedure Delay_Statement
    417      (Self : in out Visiter;
    418       Node : not null Gela.Elements.Delay_Statements.Delay_Statement_Access)
    419    is null;
    420 
    421    overriding procedure Delta_Constraint
    422      (Self : in out Visiter;
    423       Node : not null Gela.Elements.Delta_Constraints.Delta_Constraint_Access)
    424    is null;
    425 
    426    overriding procedure Derived_Record_Definition
    427      (Self : in out Visiter;
    428       Node : not null Gela.Elements.Derived_Record_Definitions.
    429         Derived_Record_Definition_Access)
    430    is null;
    431 
    432    overriding procedure Derived_Type_Definition
    433      (Self : in out Visiter;
    434       Node : not null Gela.Elements.Derived_Type_Definitions.
    435         Derived_Type_Definition_Access)
    436    is null;
    437 
    438    overriding procedure Digits_Constraint
    439      (Self : in out Visiter;
    440       Node : not null Gela.Elements.Digits_Constraints.
    441         Digits_Constraint_Access)
    442    is null;
    443 
    444    overriding procedure Discrete_Range_Attribute_Reference
    445      (Self : in out Visiter;
    446       Node : not null Gela.Elements.Discrete_Range_Attribute_References.
    447         Discrete_Range_Attribute_Reference_Access)
    448    is null;
    449 
    450    overriding procedure Discrete_Simple_Expression_Range
    451      (Self : in out Visiter;
    452       Node : not null Gela.Elements.Discrete_Simple_Expression_Ranges.
    453         Discrete_Simple_Expression_Range_Access)
    454    is null;
    455 
    456    overriding procedure Discrete_Subtype_Indication
    457      (Self : in out Visiter;
    458       Node : not null Gela.Elements.Discrete_Subtype_Indications.
    459         Discrete_Subtype_Indication_Access)
    460    is null;
    461 
    462    overriding procedure Discrete_Subtype_Indication_Dr
    463      (Self : in out Visiter;
    464       Node : not null Gela.Elements.Discrete_Subtype_Indication_Drs.
    465         Discrete_Subtype_Indication_Dr_Access)
    466    is null;
     1326        Defining_Identifier_Access)
     1327   is
     1328      pragma Unreferenced (Node);
     1329   begin
     1330      Self.Result := A_Defining_Identifier;
     1331   end Defining_Identifier;
    4671332
    4681333   overriding procedure Discriminant_Specification
     
    4701335      Node : not null Gela.Elements.Discriminant_Specifications.
    4711336        Discriminant_Specification_Access)
    472    is null;
    473 
    474    overriding procedure Element_Iterator_Specification
    475      (Self : in out Visiter;
    476       Node : not null Gela.Elements.Element_Iterator_Specifications.
    477         Element_Iterator_Specification_Access)
    478    is null;
    479 
    480    overriding procedure Else_Expression_Path
    481      (Self : in out Visiter;
    482       Node : not null Gela.Elements.Else_Expression_Paths.
    483         Else_Expression_Path_Access)
    484    is null;
    485 
    486    overriding procedure Else_Path
    487      (Self : in out Visiter;
    488       Node : not null Gela.Elements.Else_Paths.Else_Path_Access)
    489    is null;
    490 
    491    overriding procedure Elsif_Expression_Path
    492      (Self : in out Visiter;
    493       Node : not null Gela.Elements.Elsif_Expression_Paths.
    494         Elsif_Expression_Path_Access)
    495    is null;
    496 
    497    overriding procedure Elsif_Path
    498      (Self : in out Visiter;
    499       Node : not null Gela.Elements.Elsif_Paths.Elsif_Path_Access)
    500    is null;
    501 
    502    overriding procedure Entry_Body
    503      (Self : in out Visiter;
    504       Node : not null Gela.Elements.Entry_Bodies.Entry_Body_Access)
    505    is null;
    506 
    507    overriding procedure Entry_Declaration
    508      (Self : in out Visiter;
    509       Node : not null Gela.Elements.Entry_Declarations.
    510         Entry_Declaration_Access)
    511    is null;
    512 
    513    overriding procedure Entry_Index_Specification
    514      (Self : in out Visiter;
    515       Node : not null Gela.Elements.Entry_Index_Specifications.
    516         Entry_Index_Specification_Access)
    517    is null;
    518 
    519    overriding procedure Enumeration_Literal
    520      (Self : in out Visiter;
    521       Node : not null Gela.Elements.Enumeration_Literals.
    522         Enumeration_Literal_Access)
    523    is null;
     1337   is
     1338      pragma Unreferenced (Node);
     1339   begin
     1340      Self.Result := A_Discriminant_Specification;
     1341   end Discriminant_Specification;
    5241342
    5251343   overriding procedure Enumeration_Literal_Specification
     
    5271345      Node : not null Gela.Elements.Enumeration_Literal_Specifications.
    5281346        Enumeration_Literal_Specification_Access)
    529    is null;
     1347   is
     1348      pragma Unreferenced (Node);
     1349   begin
     1350      Self.Result := An_Enumeration_Literal_Specification;
     1351   end Enumeration_Literal_Specification;
    5301352
    5311353   overriding procedure Enumeration_Type_Definition
     
    5331355      Node : not null Gela.Elements.Enumeration_Type_Definitions.
    5341356        Enumeration_Type_Definition_Access)
    535    is null;
     1357   is
     1358      pragma Unreferenced (Node);
     1359   begin
     1360      Self.Result := An_Enumeration_Type_Definition;
     1361   end Enumeration_Type_Definition;
    5361362
    5371363   overriding procedure Exception_Declaration
     
    5391365      Node : not null Gela.Elements.Exception_Declarations.
    5401366        Exception_Declaration_Access)
    541    is null;
     1367   is
     1368      pragma Unreferenced (Node);
     1369   begin
     1370      Self.Result := An_Exception_Declaration;
     1371   end Exception_Declaration;
    5421372
    5431373   overriding procedure Exception_Handler
     
    5451375      Node : not null Gela.Elements.Exception_Handlers.
    5461376        Exception_Handler_Access)
    547    is null;
    548 
    549    overriding procedure Exception_Renaming_Declaration
    550      (Self : in out Visiter;
    551       Node : not null Gela.Elements.Exception_Renaming_Declarations.
    552         Exception_Renaming_Declaration_Access)
    553    is null;
    554 
    555    overriding procedure Exit_Statement
    556      (Self : in out Visiter;
    557       Node : not null Gela.Elements.Exit_Statements.Exit_Statement_Access)
    558    is null;
    559 
    560    overriding procedure Explicit_Dereference
    561      (Self : in out Visiter;
    562       Node : not null Gela.Elements.Explicit_Dereferences.
    563         Explicit_Dereference_Access)
    564    is null;
    565 
    566    overriding procedure Extended_Return_Statement
    567      (Self : in out Visiter;
    568       Node : not null Gela.Elements.Extended_Return_Statements.
    569         Extended_Return_Statement_Access)
    570    is null;
    571 
    572    overriding procedure Extension_Aggregate
    573      (Self : in out Visiter;
    574       Node : not null Gela.Elements.Extension_Aggregates.
    575         Extension_Aggregate_Access)
    576    is null;
    577 
    578    overriding procedure Floating_Point_Definition
    579      (Self : in out Visiter;
    580       Node : not null Gela.Elements.Floating_Point_Definitions.
    581         Floating_Point_Definition_Access)
    582    is null;
    583 
    584    overriding procedure For_Loop_Statement
    585      (Self : in out Visiter;
    586       Node : not null Gela.Elements.For_Loop_Statements.
    587         For_Loop_Statement_Access)
    588    is null;
    589 
    590    overriding procedure Formal_Access_To_Function_Definition
    591      (Self : in out Visiter;
    592       Node : not null Gela.Elements.Formal_Access_To_Function_Definitions.
    593         Formal_Access_To_Function_Definition_Access)
    594    is null;
    595 
    596    overriding procedure Formal_Access_To_Object_Definition
    597      (Self : in out Visiter;
    598       Node : not null Gela.Elements.Formal_Access_To_Object_Definitions.
    599         Formal_Access_To_Object_Definition_Access)
    600    is null;
    601 
    602    overriding procedure Formal_Access_To_Procedure_Definition
    603      (Self : in out Visiter;
    604       Node : not null Gela.Elements.Formal_Access_To_Procedure_Definitions.
    605         Formal_Access_To_Procedure_Definition_Access)
    606    is null;
    607 
    608    overriding procedure Formal_Constrained_Array_Definition
    609      (Self : in out Visiter;
    610       Node : not null Gela.Elements.Formal_Constrained_Array_Definitions.
    611         Formal_Constrained_Array_Definition_Access)
    612    is null;
    613 
    614    overriding procedure Formal_Decimal_Fixed_Point_Definition
    615      (Self : in out Visiter;
    616       Node : not null Gela.Elements.Formal_Decimal_Fixed_Point_Definitions.
    617         Formal_Decimal_Fixed_Point_Definition_Access)
    618    is null;
    619 
    620    overriding procedure Formal_Derived_Type_Definition
    621      (Self : in out Visiter;
    622       Node : not null Gela.Elements.Formal_Derived_Type_Definitions.
    623         Formal_Derived_Type_Definition_Access)
    624    is null;
    625 
    626    overriding procedure Formal_Discrete_Type_Definition
    627      (Self : in out Visiter;
    628       Node : not null Gela.Elements.Formal_Discrete_Type_Definitions.
    629         Formal_Discrete_Type_Definition_Access)
    630    is null;
    631 
    632    overriding procedure Formal_Floating_Point_Definition
    633      (Self : in out Visiter;
    634       Node : not null Gela.Elements.Formal_Floating_Point_Definitions.
    635         Formal_Floating_Point_Definition_Access)
    636    is null;
    637 
    638    overriding procedure Formal_Function_Declaration
    639      (Self : in out Visiter;
    640       Node : not null Gela.Elements.Formal_Function_Declarations.
    641         Formal_Function_Declaration_Access)
    642    is null;
    643 
    644    overriding procedure Formal_Incomplete_Type_Declaration
    645      (Self : in out Visiter;
    646       Node : not null Gela.Elements.Formal_Incomplete_Type_Declarations.
    647         Formal_Incomplete_Type_Declaration_Access)
    648    is null;
    649 
    650    overriding procedure Formal_Interface_Type_Definition
    651      (Self : in out Visiter;
    652       Node : not null Gela.Elements.Formal_Interface_Type_Definitions.
    653         Formal_Interface_Type_Definition_Access)
    654    is null;
    655 
    656    overriding procedure Formal_Modular_Type_Definition
    657      (Self : in out Visiter;
    658       Node : not null Gela.Elements.Formal_Modular_Type_Definitions.
    659         Formal_Modular_Type_Definition_Access)
    660    is null;
    661 
    662    overriding procedure Formal_Object_Declaration
    663      (Self : in out Visiter;
    664       Node : not null Gela.Elements.Formal_Object_Declarations.
    665         Formal_Object_Declaration_Access)
    666    is null;
    667 
    668    overriding procedure Formal_Ordinary_Fixed_Point_Definition
    669      (Self : in out Visiter;
    670       Node : not null Gela.Elements.Formal_Ordinary_Fixed_Point_Definitions.
    671         Formal_Ordinary_Fixed_Point_Definition_Access)
    672    is null;
    673 
    674    overriding procedure Formal_Package_Declaration
    675      (Self : in out Visiter;
    676       Node : not null Gela.Elements.Formal_Package_Declarations.
    677         Formal_Package_Declaration_Access)
    678    is null;
    679 
    680    overriding procedure Formal_Private_Type_Definition
    681      (Self : in out Visiter;
    682       Node : not null Gela.Elements.Formal_Private_Type_Definitions.
    683         Formal_Private_Type_Definition_Access)
    684    is null;
    685 
    686    overriding procedure Formal_Procedure_Declaration
    687      (Self : in out Visiter;
    688       Node : not null Gela.Elements.Formal_Procedure_Declarations.
    689         Formal_Procedure_Declaration_Access)
    690    is null;
    691 
    692    overriding procedure Formal_Signed_Integer_Type_Definition
    693      (Self : in out Visiter;
    694       Node : not null Gela.Elements.Formal_Signed_Integer_Type_Definitions.
    695         Formal_Signed_Integer_Type_Definition_Access)
    696    is null;
    697 
    698    overriding procedure Formal_Type_Declaration
    699      (Self : in out Visiter;
    700       Node : not null Gela.Elements.Formal_Type_Declarations.
    701         Formal_Type_Declaration_Access)
    702    is null;
    703 
    704    overriding procedure Formal_Unconstrained_Array_Definition
    705      (Self : in out Visiter;
    706       Node : not null Gela.Elements.Formal_Unconstrained_Array_Definitions.
    707         Formal_Unconstrained_Array_Definition_Access)
    708    is null;
     1377   is
     1378      pragma Unreferenced (Node);
     1379   begin
     1380      Self.Result := An_Exception_Handler;
     1381   end Exception_Handler;
    7091382
    7101383   overriding procedure Full_Type_Declaration
     
    7121385      Node : not null Gela.Elements.Full_Type_Declarations.
    7131386        Full_Type_Declaration_Access)
    714    is null;
    715 
    716    overriding procedure Function_Body
    717      (Self : in out Visiter;
    718       Node : not null Gela.Elements.Function_Bodies.Function_Body_Access)
    719    is null;
    720 
    721    overriding procedure Function_Declaration
    722      (Self : in out Visiter;
    723       Node : not null Gela.Elements.Function_Declarations.
    724         Function_Declaration_Access);
    725 
    726    overriding procedure Function_Instantiation
    727      (Self : in out Visiter;
    728       Node : not null Gela.Elements.Function_Instantiations.
    729         Function_Instantiation_Access)
    730    is null;
    731 
    732    overriding procedure Generalized_Iterator_Specification
    733      (Self : in out Visiter;
    734       Node : not null Gela.Elements.Generalized_Iterator_Specifications.
    735         Generalized_Iterator_Specification_Access)
    736    is null;
    737 
    738    overriding procedure Generic_Association
    739      (Self : in out Visiter;
    740       Node : not null Gela.Elements.Generic_Associations.
    741         Generic_Association_Access)
    742    is null;
    743 
    744    overriding procedure Generic_Function_Declaration
    745      (Self : in out Visiter;
    746       Node : not null Gela.Elements.Generic_Function_Declarations.
    747         Generic_Function_Declaration_Access)
    748    is null;
    749 
    750    overriding procedure Generic_Function_Renaming
    751      (Self : in out Visiter;
    752       Node : not null Gela.Elements.Generic_Function_Renamings.
    753         Generic_Function_Renaming_Access)
    754    is null;
    755 
    756    overriding procedure Generic_Package_Declaration
    757      (Self : in out Visiter;
    758       Node : not null Gela.Elements.Generic_Package_Declarations.
    759         Generic_Package_Declaration_Access)
    760    is null;
    761 
    762    overriding procedure Generic_Package_Renaming
    763      (Self : in out Visiter;
    764       Node : not null Gela.Elements.Generic_Package_Renamings.
    765         Generic_Package_Renaming_Access)
    766    is null;
    767 
    768    overriding procedure Generic_Procedure_Declaration
    769      (Self : in out Visiter;
    770       Node : not null Gela.Elements.Generic_Procedure_Declarations.
    771         Generic_Procedure_Declaration_Access)
    772    is null;
    773 
    774    overriding procedure Generic_Procedure_Renaming
    775      (Self : in out Visiter;
    776       Node : not null Gela.Elements.Generic_Procedure_Renamings.
    777         Generic_Procedure_Renaming_Access)
    778    is null;
    779 
    780    overriding procedure Goto_Statement
    781      (Self : in out Visiter;
    782       Node : not null Gela.Elements.Goto_Statements.Goto_Statement_Access)
    783    is null;
    784 
    785    overriding procedure Identifier
    786      (Self : in out Visiter;
    787       Node : not null Gela.Elements.Identifiers.Identifier_Access);
    788 
    789    overriding procedure If_Expression
    790      (Self : in out Visiter;
    791       Node : not null Gela.Elements.If_Expressions.If_Expression_Access)
    792    is null;
    793 
    794    overriding procedure If_Expression_Path
    795      (Self : in out Visiter;
    796       Node : not null Gela.Elements.If_Expression_Paths.
    797         If_Expression_Path_Access)
    798    is null;
    799 
    800    overriding procedure If_Path
    801      (Self : in out Visiter;
    802       Node : not null Gela.Elements.If_Paths.If_Path_Access)
    803    is null;
    804 
    805    overriding procedure If_Statement
    806      (Self : in out Visiter;
    807       Node : not null Gela.Elements.If_Statements.If_Statement_Access)
    808    is null;
    809 
    810    overriding procedure Incomplete_Type_Declaration
    811      (Self : in out Visiter;
    812       Node : not null Gela.Elements.Incomplete_Type_Declarations.
    813         Incomplete_Type_Declaration_Access)
    814    is null;
    815 
    816    overriding procedure Incomplete_Type_Definition
    817      (Self : in out Visiter;
    818       Node : not null Gela.Elements.Incomplete_Type_Definitions.
    819         Incomplete_Type_Definition_Access)
    820    is null;
    821 
    822    overriding procedure Interface_Type_Definition
    823      (Self : in out Visiter;
    824       Node : not null Gela.Elements.Interface_Type_Definitions.
    825         Interface_Type_Definition_Access)
    826    is null;
    827 
    828    overriding procedure Known_Discriminant_Part
    829      (Self : in out Visiter;
    830       Node : not null Gela.Elements.Known_Discriminant_Parts.
    831         Known_Discriminant_Part_Access)
    832    is null;
    833 
    834    overriding procedure Label_Decorator
    835      (Self : in out Visiter;
    836       Node : not null Gela.Elements.Label_Decorators.Label_Decorator_Access)
    837    is null;
    838 
    839    overriding procedure Loop_Parameter_Specification
    840      (Self : in out Visiter;
    841       Node : not null Gela.Elements.Loop_Parameter_Specifications.
    842         Loop_Parameter_Specification_Access)
    843    is null;
    844 
    845    overriding procedure Loop_Statement
    846      (Self : in out Visiter;
    847       Node : not null Gela.Elements.Loop_Statements.Loop_Statement_Access)
    848    is null;
    849 
    850    overriding procedure Membership_Test
    851      (Self : in out Visiter;
    852       Node : not null Gela.Elements.Membership_Tests.Membership_Test_Access)
    853    is null;
    854 
    855    overriding procedure Modular_Type_Definition
    856      (Self : in out Visiter;
    857       Node : not null Gela.Elements.Modular_Type_Definitions.
    858         Modular_Type_Definition_Access)
    859    is null;
    860 
    861    overriding procedure Null_Component
    862      (Self : in out Visiter;
    863       Node : not null Gela.Elements.Null_Components.Null_Component_Access)
    864    is null;
    865 
    866    overriding procedure Null_Literal
    867      (Self : in out Visiter;
    868       Node : not null Gela.Elements.Null_Literals.Null_Literal_Access)
    869    is null;
    870 
    871    overriding procedure Null_Record_Definition
    872      (Self : in out Visiter;
    873       Node : not null Gela.Elements.Null_Record_Definitions.
    874         Null_Record_Definition_Access)
    875    is null;
    876 
    877    overriding procedure Null_Statement
    878      (Self : in out Visiter;
    879       Node : not null Gela.Elements.Null_Statements.Null_Statement_Access)
    880    is null;
    881 
    882    overriding procedure Number_Declaration
    883      (Self : in out Visiter;
    884       Node : not null Gela.Elements.Number_Declarations.
    885         Number_Declaration_Access)
    886    is null;
    887 
    888    overriding procedure Numeric_Literal
    889      (Self : in out Visiter;
    890       Node : not null Gela.Elements.Numeric_Literals.Numeric_Literal_Access);
    891 
    892    overriding procedure Object_Declaration
    893      (Self : in out Visiter;
    894       Node : not null Gela.Elements.Object_Declarations.
    895         Object_Declaration_Access);
    896 
    897    overriding procedure Object_Renaming_Declaration
    898      (Self : in out Visiter;
    899       Node : not null Gela.Elements.Object_Renaming_Declarations.
    900         Object_Renaming_Declaration_Access)
    901    is null;
    902 
    903    overriding procedure Operator_Symbol
    904      (Self : in out Visiter;
    905       Node : not null Gela.Elements.Operator_Symbols.Operator_Symbol_Access);
    906 
    907    overriding procedure Ordinary_Fixed_Point_Definition
    908      (Self : in out Visiter;
    909       Node : not null Gela.Elements.Ordinary_Fixed_Point_Definitions.
    910         Ordinary_Fixed_Point_Definition_Access)
    911    is null;
    912 
    913    overriding procedure Others_Choice
    914      (Self : in out Visiter;
    915       Node : not null Gela.Elements.Others_Choices.Others_Choice_Access)
    916    is null;
    917 
    918    overriding procedure Package_Body
    919      (Self : in out Visiter;
    920       Node : not null Gela.Elements.Package_Bodies.Package_Body_Access)
    921    is null;
    922 
    923    overriding procedure Package_Body_Stub
    924      (Self : in out Visiter;
    925       Node : not null Gela.Elements.Package_Body_Stubs.
    926         Package_Body_Stub_Access)
    927    is null;
    928 
    929    overriding procedure Package_Declaration
    930      (Self : in out Visiter;
    931       Node : not null Gela.Elements.Package_Declarations.
    932         Package_Declaration_Access)
    933    is null;
    934 
    935    overriding procedure Package_Instantiation
    936      (Self : in out Visiter;
    937       Node : not null Gela.Elements.Package_Instantiations.
    938         Package_Instantiation_Access)
    939    is null;
    940 
    941    overriding procedure Package_Renaming_Declaration
    942      (Self : in out Visiter;
    943       Node : not null Gela.Elements.Package_Renaming_Declarations.
    944         Package_Renaming_Declaration_Access)
    945    is null;
    946 
    947    overriding procedure Parameter_Association
    948      (Self : in out Visiter;
    949       Node : not null Gela.Elements.Parameter_Associations.
    950         Parameter_Association_Access)
    951    is null;
    952 
    953    overriding procedure Parameter_Specification
    954      (Self : in out Visiter;
    955       Node : not null Gela.Elements.Parameter_Specifications.
    956         Parameter_Specification_Access)
    957    is null;
    958 
    959    overriding procedure Pragma_Argument_Association
    960      (Self : in out Visiter;
    961       Node : not null Gela.Elements.Pragma_Argument_Associations.
    962         Pragma_Argument_Association_Access)
    963    is null;
    964 
    965    overriding procedure Pragma_Node
    966      (Self : in out Visiter;
    967       Node : not null Gela.Elements.Pragma_Nodes.Pragma_Node_Access)
    968    is null;
    969 
    970    overriding procedure Private_Extension_Declaration
    971      (Self : in out Visiter;
    972       Node : not null Gela.Elements.Private_Extension_Declarations.
    973         Private_Extension_Declaration_Access)
    974    is null;
    975 
    976    overriding procedure Private_Extension_Definition
    977      (Self : in out Visiter;
    978       Node : not null Gela.Elements.Private_Extension_Definitions.
    979         Private_Extension_Definition_Access)
    980    is null;
    981 
    982    overriding procedure Private_Type_Declaration
    983      (Self : in out Visiter;
    984       Node : not null Gela.Elements.Private_Type_Declarations.
    985         Private_Type_Declaration_Access)
    986    is null;
    987 
    988    overriding procedure Private_Type_Definition
    989      (Self : in out Visiter;
    990       Node : not null Gela.Elements.Private_Type_Definitions.
    991         Private_Type_Definition_Access)
    992    is null;
    993 
    994    overriding procedure Procedure_Body
    995      (Self : in out Visiter;
    996       Node : not null Gela.Elements.Procedure_Bodies.Procedure_Body_Access);
    997 
    998    overriding procedure Procedure_Call_Statement
    999      (Self : in out Visiter;
    1000       Node : not null Gela.Elements.Procedure_Call_Statements.
    1001         Procedure_Call_Statement_Access);
    1002 
    1003    overriding procedure Procedure_Declaration
    1004      (Self : in out Visiter;
    1005       Node : not null Gela.Elements.Procedure_Declarations.
    1006         Procedure_Declaration_Access);
    1007 
    1008    overriding procedure Procedure_Instantiation
    1009      (Self : in out Visiter;
    1010       Node : not null Gela.Elements.Procedure_Instantiations.
    1011         Procedure_Instantiation_Access)
    1012    is null;
    1013 
    1014    overriding procedure Protected_Body
    1015      (Self : in out Visiter;
    1016       Node : not null Gela.Elements.Protected_Bodies.Protected_Body_Access)
    1017    is null;
    1018 
    1019    overriding procedure Protected_Body_Stub
    1020      (Self : in out Visiter;
    1021       Node : not null Gela.Elements.Protected_Body_Stubs.
    1022         Protected_Body_Stub_Access)
    1023    is null;
    1024 
    1025    overriding procedure Protected_Definition
    1026      (Self : in out Visiter;
    1027       Node : not null Gela.Elements.Protected_Definitions.
    1028         Protected_Definition_Access)
    1029    is null;
    1030 
    1031    overriding procedure Protected_Type_Declaration
    1032      (Self : in out Visiter;
    1033       Node : not null Gela.Elements.Protected_Type_Declarations.
    1034         Protected_Type_Declaration_Access)
    1035    is null;
    1036 
    1037    overriding procedure Qualified_Expression
    1038      (Self : in out Visiter;
    1039       Node : not null Gela.Elements.Qualified_Expressions.
    1040         Qualified_Expression_Access)
    1041    is null;
    1042 
    1043    overriding procedure Quantified_Expression
    1044      (Self : in out Visiter;
    1045       Node : not null Gela.Elements.Quantified_Expressions.
    1046         Quantified_Expression_Access)
    1047    is null;
    1048 
    1049    overriding procedure Raise_Statement
    1050      (Self : in out Visiter;
    1051       Node : not null Gela.Elements.Raise_Statements.Raise_Statement_Access)
    1052    is null;
    1053 
    1054    overriding procedure Range_Attribute_Reference
    1055      (Self : in out Visiter;
    1056       Node : not null Gela.Elements.Range_Attribute_References.
    1057         Range_Attribute_Reference_Access)
    1058    is null;
    1059 
    1060    overriding procedure Range_Attribute_Reference_Dr
    1061      (Self : in out Visiter;
    1062       Node : not null Gela.Elements.Range_Attribute_Reference_Drs.
    1063         Range_Attribute_Reference_Dr_Access)
    1064    is null;
    1065 
    1066    overriding procedure Record_Aggregate
    1067      (Self : in out Visiter;
    1068       Node : not null Gela.Elements.Record_Aggregates.
    1069         Record_Aggregate_Access);
    1070 
    1071    overriding procedure Record_Definition
    1072      (Self : in out Visiter;
    1073       Node : not null Gela.Elements.Record_Definitions.
    1074         Record_Definition_Access)
    1075    is null;
    1076 
    1077    overriding procedure Record_Representation_Clause
    1078      (Self : in out Visiter;
    1079       Node : not null Gela.Elements.Record_Representation_Clauses.
    1080         Record_Representation_Clause_Access)
    1081    is null;
    1082 
    1083    overriding procedure Record_Type_Definition
    1084      (Self : in out Visiter;
    1085       Node : not null Gela.Elements.Record_Type_Definitions.
    1086         Record_Type_Definition_Access)
    1087    is null;
    1088 
    1089    overriding procedure Requeue_Statement
    1090      (Self : in out Visiter;
    1091       Node : not null Gela.Elements.Requeue_Statements.
    1092         Requeue_Statement_Access)
    1093    is null;
    1094 
    1095    overriding procedure Return_Object_Specification
    1096      (Self : in out Visiter;
    1097       Node : not null Gela.Elements.Return_Object_Specifications.
    1098         Return_Object_Specification_Access)
    1099    is null;
    1100 
    1101    overriding procedure Select_Or_Path
    1102      (Self : in out Visiter;
    1103       Node : not null Gela.Elements.Select_Or_Paths.Select_Or_Path_Access)
    1104    is null;
    1105 
    1106    overriding procedure Selected_Component
    1107      (Self : in out Visiter;
    1108       Node : not null Gela.Elements.Selected_Components.
    1109         Selected_Component_Access);
    1110 
    1111    overriding procedure Selected_Identifier
    1112      (Self : in out Visiter;
    1113       Node : not null Gela.Elements.Selected_Identifiers.
    1114         Selected_Identifier_Access);
    1115 
    1116    overriding procedure Selective_Accept
    1117      (Self : in out Visiter;
    1118       Node : not null Gela.Elements.Selective_Accepts.Selective_Accept_Access)
    1119    is null;
    1120 
    1121    overriding procedure Short_Circuit
    1122      (Self : in out Visiter;
    1123       Node : not null Gela.Elements.Short_Circuits.Short_Circuit_Access)
    1124    is null;
    1125 
    1126    overriding procedure Signed_Integer_Type_Definition
    1127      (Self : in out Visiter;
    1128       Node : not null Gela.Elements.Signed_Integer_Type_Definitions.
    1129         Signed_Integer_Type_Definition_Access)
    1130    is null;
    1131 
    1132    overriding procedure Simple_Expression_Range
    1133      (Self : in out Visiter;
    1134       Node : not null Gela.Elements.Simple_Expression_Ranges.
    1135         Simple_Expression_Range_Access)
    1136    is null;
    1137 
    1138    overriding procedure Simple_Expression_Range_Dr
    1139      (Self : in out Visiter;
    1140       Node : not null Gela.Elements.Simple_Expression_Range_Drs.
    1141         Simple_Expression_Range_Dr_Access);
    1142 
    1143    overriding procedure Simple_Return_Statement
    1144      (Self : in out Visiter;
    1145       Node : not null Gela.Elements.Simple_Return_Statements.
    1146         Simple_Return_Statement_Access)
    1147    is null;
    1148 
    1149    overriding procedure Single_Protected_Declaration
    1150      (Self : in out Visiter;
    1151       Node : not null Gela.Elements.Single_Protected_Declarations.
    1152         Single_Protected_Declaration_Access)
    1153    is null;
    1154 
    1155    overriding procedure Single_Task_Declaration
    1156      (Self : in out Visiter;
    1157       Node : not null Gela.Elements.Single_Task_Declarations.
    1158         Single_Task_Declaration_Access)
    1159    is null;
    1160 
    1161    overriding procedure String_Literal
    1162      (Self : in out Visiter;
    1163       Node : not null Gela.Elements.String_Literals.String_Literal_Access);
    1164 
    1165    overriding procedure Subtype_Declaration
    1166      (Self : in out Visiter;
    1167       Node : not null Gela.Elements.Subtype_Declarations.
    1168         Subtype_Declaration_Access);
    1169 
    1170    overriding procedure Subtype_Indication
    1171      (Self : in out Visiter;
    1172       Node : not null Gela.Elements.Subtype_Indications.
    1173         Subtype_Indication_Access);
    1174 
    1175    overriding procedure Subunit
    1176      (Self : in out Visiter;
    1177       Node : not null Gela.Elements.Subunits.Subunit_Access)
    1178    is null;
    1179 
    1180    overriding procedure Task_Body
    1181      (Self : in out Visiter;
    1182       Node : not null Gela.Elements.Task_Bodies.Task_Body_Access)
    1183    is null;
    1184 
    1185    overriding procedure Task_Body_Stub
    1186      (Self : in out Visiter;
    1187       Node : not null Gela.Elements.Task_Body_Stubs.Task_Body_Stub_Access)
    1188    is null;
    1189 
    1190    overriding procedure Task_Definition
    1191      (Self : in out Visiter;
    1192       Node : not null Gela.Elements.Task_Definitions.Task_Definition_Access)
    1193    is null;
    1194 
    1195    overriding procedure Task_Type_Declaration
    1196      (Self : in out Visiter;
    1197       Node : not null Gela.Elements.Task_Type_Declarations.
    1198         Task_Type_Declaration_Access)
    1199    is null;
    1200 
    1201    overriding procedure Terminate_Alternative_Statement
    1202      (Self : in out Visiter;
    1203       Node : not null Gela.Elements.Terminate_Alternative_Statements.
    1204         Terminate_Alternative_Statement_Access)
    1205    is null;
    1206 
    1207    overriding procedure Then_Abort_Path
    1208      (Self : in out Visiter;
    1209       Node : not null Gela.Elements.Then_Abort_Paths.Then_Abort_Path_Access)
    1210    is null;
    1211 
    1212    overriding procedure Unconstrained_Array_Definition
    1213      (Self : in out Visiter;
    1214       Node : not null Gela.Elements.Unconstrained_Array_Definitions.
    1215         Unconstrained_Array_Definition_Access)
    1216    is null;
    1217 
    1218    overriding procedure Unknown_Discriminant_Part
    1219      (Self : in out Visiter;
    1220       Node : not null Gela.Elements.Unknown_Discriminant_Parts.
    1221         Unknown_Discriminant_Part_Access)
    1222    is null;
    1223 
    1224    overriding procedure Use_Package_Clause
    1225      (Self : in out Visiter;
    1226       Node : not null Gela.Elements.Use_Package_Clauses.
    1227         Use_Package_Clause_Access);
    1228 
    1229    overriding procedure Use_Type_Clause
    1230      (Self : in out Visiter;
    1231       Node : not null Gela.Elements.Use_Type_Clauses.Use_Type_Clause_Access)
    1232    is null;
    1233 
    1234    overriding procedure Variant
    1235      (Self : in out Visiter;
    1236       Node : not null Gela.Elements.Variants.Variant_Access)
    1237    is null;
    1238 
    1239    overriding procedure Variant_Part
    1240      (Self : in out Visiter;
    1241       Node : not null Gela.Elements.Variant_Parts.Variant_Part_Access)
    1242    is null;
    1243 
    1244    overriding procedure While_Loop_Statement
    1245      (Self : in out Visiter;
    1246       Node : not null Gela.Elements.While_Loop_Statements.
    1247         While_Loop_Statement_Access)
    1248    is null;
    1249 
    1250    overriding procedure With_Clause
    1251      (Self : in out Visiter;
    1252       Node : not null Gela.Elements.With_Clauses.With_Clause_Access);
    1253 
    1254    overriding procedure Assignment_Statement
    1255      (Self : in out Visiter;
    1256       Node : not null Gela.Elements.Assignment_Statements.
    1257         Assignment_Statement_Access)
    1258    is
    1259       pragma Unreferenced (Node);
    1260    begin
    1261       Self.Result := An_Assignment_Statement;
    1262    end Assignment_Statement;
    1263 
    1264    overriding procedure Association
    1265      (Self : in out Visiter;
    1266       Node : not null Gela.Elements.Associations.Association_Access)
    1267    is
    1268       pragma Unreferenced (Node);
    1269    begin
    1270       Self.Result := A_Parameter_Association;
    1271    end Association;
    1272 
    1273    overriding procedure Auxiliary_Apply
    1274      (Self : in out Visiter;
    1275       Node : not null Gela.Elements.Auxiliary_Applies.Auxiliary_Apply_Access)
    1276    is
    1277       pragma Unreferenced (Node);
    1278    begin
    1279       Self.Result := A_Function_Call;
    1280    end Auxiliary_Apply;
    1281 
    1282    overriding procedure Composite_Constraint
    1283      (Self : in out Visiter;
    1284       Node : not null Gela.Elements.Composite_Constraints.
    1285         Composite_Constraint_Access)
    1286    is
    1287       pragma Unreferenced (Node);
    1288    begin
    1289       Self.Result := An_Index_Constraint;  --  FIXME
    1290    end Composite_Constraint;
    1291 
    1292    -------------------------
    1293    -- Defining_Identifier --
    1294    -------------------------
    1295 
    1296    overriding procedure Defining_Identifier
    1297      (Self : in out Visiter;
    1298       Node : not null Gela.Elements.Defining_Identifiers.
    1299         Defining_Identifier_Access)
    1300    is
    1301       pragma Unreferenced (Node);
    1302    begin
    1303       Self.Result := A_Defining_Identifier;
    1304    end Defining_Identifier;
     1387   is
     1388      pragma Unreferenced (Node);
     1389   begin
     1390      Self.Result := An_Ordinary_Type_Declaration;
     1391   end Full_Type_Declaration;
    13051392
    13061393   overriding procedure Function_Declaration
     
    13261413   end Identifier;
    13271414
     1415   overriding procedure Known_Discriminant_Part
     1416     (Self : in out Visiter;
     1417      Node : not null Gela.Elements.Known_Discriminant_Parts.
     1418        Known_Discriminant_Part_Access)
     1419   is
     1420      pragma Unreferenced (Node);
     1421   begin
     1422      Self.Result := A_Known_Discriminant_Part;
     1423   end Known_Discriminant_Part;
     1424
    13281425   ---------------
    13291426   -- Flat_Kind --
     
    13341431   begin
    13351432      Element.Data.Visit (V);
     1433      pragma Assert
     1434        (Element.Data.Assigned and then V.Result /= Not_An_Element);
    13361435      return V.Result;
    13371436   end Flat_Kind;
     1437
     1438   overriding procedure Null_Statement
     1439     (Self : in out Visiter;
     1440      Node : not null Gela.Elements.Null_Statements.Null_Statement_Access)
     1441   is
     1442      pragma Unreferenced (Node);
     1443   begin
     1444      Self.Result := A_Null_Statement;
     1445   end Null_Statement;
    13381446
    13391447   overriding procedure Numeric_Literal
     
    14301538   end Record_Aggregate;
    14311539
     1540   overriding procedure Record_Definition
     1541     (Self : in out Visiter;
     1542      Node : not null Gela.Elements.Record_Definitions.
     1543        Record_Definition_Access)
     1544   is
     1545      pragma Unreferenced (Node);
     1546   begin
     1547      Self.Result := A_Record_Definition;
     1548   end Record_Definition;
     1549
     1550   overriding procedure Record_Type_Definition
     1551     (Self : in out Visiter;
     1552      Node : not null Gela.Elements.Record_Type_Definitions.
     1553        Record_Type_Definition_Access)
     1554   is
     1555      pragma Unreferenced (Node);
     1556   begin
     1557      Self.Result := A_Record_Type_Definition;
     1558   end Record_Type_Definition;
     1559
    14321560   ------------------------
    14331561   -- Selected_Component --
     
    15151643   end Use_Package_Clause;
    15161644
     1645   overriding procedure Variant
     1646     (Self : in out Visiter;
     1647      Node : not null Gela.Elements.Variants.Variant_Access)
     1648   is
     1649      pragma Unreferenced (Node);
     1650   begin
     1651      Self.Result := A_Variant;
     1652   end Variant;
     1653
     1654   overriding procedure Variant_Part
     1655     (Self : in out Visiter;
     1656      Node : not null Gela.Elements.Variant_Parts.Variant_Part_Access)
     1657   is
     1658      pragma Unreferenced (Node);
     1659   begin
     1660      Self.Result := A_Variant_Part;
     1661   end Variant_Part;
     1662
    15171663   -----------------
    15181664   -- With_Clause --
  • trunk/ada-2012/src/asis/asis-extensions-flat_kinds.ads

    r341 r388  
    500500     An_Attribute_Definition_Clause .. An_At_Clause;
    501501
     502   subtype A_Root_Type_Definition is Element_Flat_Kind range
     503      A_Root_Integer_Definition .. A_Universal_Access_Definition;
     504
     505   subtype An_Interface_Type_Definition is Element_Flat_Kind range
     506     An_Ordinary_Interface .. A_Synchronized_Interface;
     507
     508   subtype An_Access_Type_Definition is Element_Flat_Kind range
     509      A_Pool_Specific_Access_To_Variable .. An_Access_To_Protected_Function;
     510
    502511   function Flat_Kind (Element : Asis.Element) return Element_Flat_Kind;
    503512
Note: See TracChangeset for help on using the changeset viewer.