g-comlin.ads, [...] (Expansion): Remove unreachable return statement.

2008-04-08  Emmanuel Briot  <briot@adacore.com>

	* g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return
	statement.
	(Get_Configuration): New subprogram.

	* prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree
	These optional parameters help preserve the casing of the project's name
	when pretty-printing.

From-SVN: r134065
This commit is contained in:
Emmanuel Briot 2008-04-08 08:58:02 +02:00 committed by Arnaud Charlet
parent 7dbc8918c6
commit 77e5104283
4 changed files with 44 additions and 14 deletions

View File

@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 1999-2007, Free Software Foundation, Inc. --
-- Copyright (C) 1999-2008, 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- --
@ -264,8 +264,6 @@ package body GNAT.Command_Line is
end;
end if;
end loop;
return String'(1 .. 0 => ' ');
end Expansion;
-----------------
@ -1110,13 +1108,23 @@ package body GNAT.Command_Line is
-----------------------
procedure Set_Configuration
(Cmd : in out Command_Line;
Config : Command_Line_Configuration)
(Cmd : in out Command_Line;
Config : Command_Line_Configuration)
is
begin
Cmd.Config := Config;
end Set_Configuration;
-----------------------
-- Get_Configuration --
-----------------------
function Get_Configuration
(Cmd : Command_Line) return Command_Line_Configuration is
begin
return Cmd.Config;
end Get_Configuration;
----------------------
-- Set_Command_Line --
----------------------

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 1999-2007, AdaCore --
-- Copyright (C) 1999-2008, AdaCore --
-- --
-- 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- --
@ -523,10 +523,14 @@ package GNAT.Command_Line is
type Command_Line is private;
procedure Set_Configuration
(Cmd : in out Command_Line;
Config : Command_Line_Configuration);
(Cmd : in out Command_Line;
Config : Command_Line_Configuration);
-- Set the configuration for this command line
function Get_Configuration
(Cmd : Command_Line) return Command_Line_Configuration;
-- Return the configuration used for that command line
procedure Set_Command_Line
(Cmd : in out Command_Line;
Switches : String;

View File

@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2001-2007, Free Software Foundation, Inc. --
-- Copyright (C) 2001-2008, 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- --
@ -73,7 +73,9 @@ package body Prj.PP is
W_Char : Write_Char_Ap := null;
W_Eol : Write_Eol_Ap := null;
W_Str : Write_Str_Ap := null;
Backward_Compatibility : Boolean)
Backward_Compatibility : Boolean;
Id : Prj.Project_Id := Prj.No_Project;
Id_Tree : Prj.Project_Tree_Ref := null)
is
procedure Print (Node : Project_Node_Id; Indent : Natural);
-- A recursive procedure that traverses a project file tree and outputs
@ -335,7 +337,12 @@ package body Prj.PP is
Print (First_Comment_Before (Node, In_Tree), Indent);
Start_Line (Indent);
Write_String ("project ");
Output_Name (Name_Of (Node, In_Tree));
if Id /= Prj.No_Project then
Output_Name (Id_Tree.Projects.Table (Id).Display_Name);
else
Output_Name (Name_Of (Node, In_Tree));
end if;
-- Check if this project extends another project
@ -363,7 +370,13 @@ package body Prj.PP is
Indent + Increment);
Start_Line (Indent);
Write_String ("end ");
Output_Name (Name_Of (Node, In_Tree));
if Id /= Prj.No_Project then
Output_Name (Id_Tree.Projects.Table (Id).Display_Name);
else
Output_Name (Name_Of (Node, In_Tree));
end if;
Write_Line (";");
Print (First_Comment_After_End (Node, In_Tree), Indent);

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 2001-2007, Free Software Foundation, Inc. --
-- Copyright (C) 2001-2008, 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- --
@ -52,7 +52,9 @@ package Prj.PP is
W_Char : Write_Char_Ap := null;
W_Eol : Write_Eol_Ap := null;
W_Str : Write_Str_Ap := null;
Backward_Compatibility : Boolean);
Backward_Compatibility : Boolean;
Id : Prj.Project_Id := Prj.No_Project;
Id_Tree : Prj.Project_Tree_Ref := null);
-- Output a project file, using either the default output routines, or the
-- ones specified by W_Char, W_Eol and W_Str.
--
@ -73,6 +75,9 @@ package Prj.PP is
-- Spec_Suffix, Body, Body_Suffix) will be replaced by obsolete ones
-- (Specification, Specification_Suffix, Implementation,
-- Implementation_Suffix).
--
-- Id is used to compute the display name of the project including its
-- proper casing.
private