|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 6329 (0x18b9)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
└─⟦d65440be7⟧ »DATA«
└─⟦this⟧
with Activity;
with Directory_Tools;
with Io;
with Object_Sets;
with Object_Sets_Renames;
use Object_Sets_Renames;
procedure Dependency_Analysis
(The_Objects : in String := "<SELECTION>";
Show_Full_Pathnames : Boolean := False;
Show_Dependencies_Only : in Boolean := True;
Process_Specs_Only : in Boolean := False;
Process_Using_Transitive_Closure : in Boolean := False;
Include_Environment_Dependencies : in Boolean := False;
Analyze_Generics_As_Code_Shared : in Boolean := True;
Use_This_Activity : in Activity.Activity_Name := Activity.Nil) is
package Dir_Object renames Directory_Tools.Object;
package Dir_Names renames Directory_Tools.Naming;
All_Objects : Dir_Object.Iterator := Dir_Names.Resolution (The_Objects);
function Simple_Name (The_Object : in Dir_Object.Handle) return String is
begin
return (Dir_Names.Simple_Name (The_Object) &
Dir_Names.Part_Attribute
(Dir_Names.Unique_Full_Name (The_Object)));
end Simple_Name;
procedure Print_Objects (These_Objects : in Object_Set;
Show_Full_Pathnames : in Boolean;
This_Header : in String) is
Indentation : constant String := " ";
Underline : constant String (This_Header'First .. This_Header'Last) :=
(others => '-');
The_Objects : Object_Set := These_Objects;
begin
Dir_Object.Reset (The_Objects);
if (Dir_Object.Done (The_Objects)) then
null;
else
Io.Put_Line (This_Header);
Io.Put_Line (Underline);
while (not Dir_Object.Done (The_Objects)) loop
if Show_Full_Pathnames then
Io.Put_Line (Indentation &
Dir_Names.Unique_Full_Name
(Dir_Object.Value (The_Objects)));
else
Io.Put_Line (Indentation &
Simple_Name (Dir_Object.Value (The_Objects)));
end if;
Dir_Object.Next (The_Objects);
end loop;
end if;
Io.New_Line;
end Print_Objects;
begin
if Dir_Object.Is_Bad (All_Objects) then
Io.Put_Line ("CANNOT RESOLVE """ & The_Objects & """!");
end if;
while not Dir_Object.Done (All_Objects) loop
declare
This_Object : Object := Dir_Object.Value (All_Objects);
Full_Object_Name : constant String :=
Dir_Names.Unique_Full_Name (This_Object);
Simple_Object_Name : constant String :=
Dir_Names.Simple_Name (This_Object) &
Dir_Names.Part_Attribute
(Dir_Names.Unique_Full_Name (This_Object));
begin
if (Dir_Object.Is_Bad (This_Object)) then
Io.Put_Line ("CANNOT RESOLVE """ & The_Objects & """!");
else
if Show_Dependencies_Only then
null;
else
if Show_Full_Pathnames then
Print_Objects
(These_Objects =>
Object_Sets.Dependencies_On
(This_Object, Process_Specs_Only,
Process_Using_Transitive_Closure,
Include_Environment_Dependencies,
Analyze_Generics_As_Code_Shared,
Use_This_Activity),
Show_Full_Pathnames => True,
This_Header =>
"The following depend upon (""with"") " &
Full_Object_Name & ":");
else
Print_Objects
(These_Objects =>
Object_Sets.Dependencies_On
(This_Object, Process_Specs_Only,
Process_Using_Transitive_Closure,
Include_Environment_Dependencies,
Analyze_Generics_As_Code_Shared,
Use_This_Activity),
Show_Full_Pathnames => False,
This_Header =>
"The following depend upon (""with"") " &
Simple_Object_Name & ":");
end if;
end if;
if Show_Full_Pathnames then
Print_Objects (These_Objects =>
Object_Sets.Dependencies_By
(This_Object, Process_Specs_Only,
Process_Using_Transitive_Closure,
Include_Environment_Dependencies,
Analyze_Generics_As_Code_Shared,
Use_This_Activity),
Show_Full_Pathnames => True,
This_Header =>
Full_Object_Name &
" depends upon (""withs""):");
else
Print_Objects (These_Objects =>
Object_Sets.Dependencies_By
(This_Object, Process_Specs_Only,
Process_Using_Transitive_Closure,
Include_Environment_Dependencies,
Analyze_Generics_As_Code_Shared,
Use_This_Activity),
Show_Full_Pathnames => False,
This_Header =>
Simple_Object_Name &
" depends upon (""withs""):");
end if;
end if;
Dir_Object.Next (All_Objects);
end;
end loop;
end Dependency_Analysis;