OSDN Git Service

2007-04-20 Ed Schonberg <schonberg@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / prj-pp.ads
index b43c9a3..806eb9c 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---             Copyright (C) 2001 Free Software Foundation, Inc.            --
+--          Copyright (C) 2001-2005, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
 -- 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.                                                      --
+-- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+-- Boston, MA 02110-1301, USA.                                              --
 --                                                                          --
 -- GNAT was originally developed  by the GNAT team at  New York University. --
 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
 --                                                                          --
 ------------------------------------------------------------------------------
---
---  This package is the Project File Pretty Printer.
---  It is used to output a project file from a project file tree.
---  It is used by gnatname to update or create project files.
---  It is also used GLIDE2 to display project file trees.
---  It can also be used for debugging purposes for tools that create project
---  file trees.
+
+--  This package is the Project File Pretty Printer
+
+--    Used to output a project file from a project file tree.
+--    Used by gnatname to update or create project files.
+--    Also used GPS to display project file trees.
+--    Also be used for debugging tools that create project file trees.
 
 with Prj.Tree;
 
 package Prj.PP is
 
-   --  The following access to procedure types are used
-   --  to redirect output when calling Pretty_Print.
+   --  The following access to procedure types are used to redirect output when
+   --  calling Pretty_Print.
 
    type Write_Char_Ap is access procedure (C : Character);
 
@@ -46,14 +46,16 @@ package Prj.PP is
 
    procedure Pretty_Print
      (Project                            : Prj.Tree.Project_Node_Id;
+      In_Tree                            : Prj.Tree.Project_Node_Tree_Ref;
       Increment                          : Positive      := 3;
       Eliminate_Empty_Case_Constructions : Boolean       := False;
       Minimize_Empty_Lines               : Boolean       := False;
       W_Char                             : Write_Char_Ap := null;
       W_Eol                              : Write_Eol_Ap  := null;
-      W_Str                              : Write_Str_Ap  := null);
-   --  Output a project file, using either the default output
-   --  routines, or the ones specified by W_Char, W_Eol and W_Str.
+      W_Str                              : Write_Str_Ap  := null;
+      Backward_Compatibility             : Boolean);
+   --  Output a project file, using either the default output routines, or the
+   --  ones specified by W_Char, W_Eol and W_Str.
    --
    --  Increment is the number of spaces for each indentation level.
    --
@@ -63,16 +65,21 @@ package Prj.PP is
    --  If Eliminate_Empty_Case_Constructions is True, then case constructions
    --  and case items that do not include any declarations will not be output.
    --
-   --  If Minimize_Empty_Lines is True, empty lines will be output only
-   --  after the last with clause, after the line declaring the project name,
-   --  after the last declarative item of the project and before each
-   --  package declaration. Otherwise, more empty lines are output.
+   --  If Minimize_Empty_Lines is True, empty lines will be output only after
+   --  the last with clause, after the line declaring the project name, after
+   --  the last declarative item of the project and before each package
+   --  declaration. Otherwise, more empty lines are output.
+   --
+   --  If Backward_Compatibility is True, then new attributes (Spec,
+   --  Spec_Suffix, Body, Body_Suffix) will be replaced by obsolete ones
+   --  (Specification, Specification_Suffix, Implementation,
+   --  Implementation_Suffix).
 
 private
 
    procedure Output_Statistics;
-   --  This procedure can be used after one or more calls to Pretty_Print
-   --  to display what Project_Node_Kinds have not been exercised by the
-   --  call(s) to Pretty_Print. It is used only for testing purposes.
+   --  This procedure can be used after one or more calls to Pretty_Print to
+   --  display what Project_Node_Kinds have not been exercised by the call(s)
+   --  to Pretty_Print. It is used only for testing purposes.
 
 end Prj.PP;