|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 9216 (0x2400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Link_Tools, pragma Module_Name 4 3975, pragma Subsystem Tools, seg_001c30
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Diana;
with Directory;
with Links_Implementation;
with Io_Exceptions;
package Link_Tools is
pragma Subsystem (Tools, Private_Part => Closed);
pragma Module_Name (4, 3975);
package Links renames Links_Implementation;
subtype World_Name is String;
This_World : constant World_Name := "$";
-- The string name for the World associated with the current naming
-- context.
subtype Link_Name is String;
-- An Ada simple name. When used as an in-parameter, except in Add and
-- Replace, it may contain wildcard characters. In Add and Replace it
-- may contain substitution characters.
subtype Source_Name is String;
-- A directory string name that specifies an existing Ada Library Unit.
-- (The unit does not have to be installed, but its declaration must be
-- in a library.) May contain wildcard characters when used as an
-- in-parameter.
subtype Link_Kind is Links.Link_Kind;
-- If the source unit is in the same world as the link,
-- the link is Internal; otherwise it is External.
Any : constant Link_Kind := Links.Any;
External : constant Link_Kind := Links.External;
Internal : constant Link_Kind := Links.Internal;
function "=" (L, R : Link_Kind) return Boolean renames Links."=";
Name_Error : exception renames Io_Exceptions.Name_Error;
-- Raised if a World parameter cannot be resolved.
Use_Error : exception renames Io_Exceptions.Use_Error;
-- Raised of the link pack cannot be opened for other reasons.
function Has (Link : Link_Name := "@";
Source : Source_Name := "?";
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Boolean;
-- Returns true iff the pack contains at least one link that matches the
-- given link, source, and kind parameters.
function Link (Source : Source_Name;
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Link_Name;
function Link (Source : Diana.Tree;
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Link_Name;
function Link (Source : Directory.Object;
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Link_Name;
-- Given a Source_Name, Def_ID, or Directory.Object for an Ada unit,
-- returns a link for that unit in the given world that matches the
-- Kind parameter. A null string is returned if no such link can be
-- found.
function Source (Link : Link_Name;
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Source_Name;
function Source (Link : Link_Name;
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Diana.Tree;
function Source (Link : Link_Name;
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World) return Directory.Object;
-- Returns either the Source_Name, Def_ID, or Directory.Object for an Ada
-- unit corresponding to a link that matches the Link and Kind parameter.
-- Returns a null object if no match can be found.
type Dependent_Iterator is private;
function Dependents (Link : Link_Name := "@";
Source : Source_Name := "?";
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World)
return Dependent_Iterator;
procedure Next (Iter : in out Dependent_Iterator);
function Value (Iter : Dependent_Iterator) return Diana.Tree;
functin Done (Iter : Dependent_Iterator) return Boolean;
-- Computes the Library Units of the world that are installed or coded
-- and reference any of the links specified by the Source, Link and Kind
-- parameters.
type Link_Iterator is private;
procedure Init (Iter : out Link_Iterator;
Source : Source_Name := "?";
Link : Link_Name := "@";
Kind : Link_Kind := Link_Tools.Any;
World : World_Name := This_World);
procedure Next (Iter : in out Link_Iterator);
function Link (Iter : Link_Iterator) return Link_Name;
function Source (Iter : Link_Iterator) return Source_Name;
function Source (Iter : Link_Iterator) return Diana.Tree;
function Source (Iter : Link_Iterator) return Directory.Object;
function Kind (Iter : Link_Iterator) return Link_Kind;
function Done (Iter : Link_Iterator) return Boolean;
-- For iterating over the Links in a link pack that match given Source
-- and Link patterns
end Link_Tools;
nblk1=8
nid=0
hdr6=10
[0x00] rec0=21 rec1=00 rec2=01 rec3=048
[0x01] rec0=1d rec1=00 rec2=02 rec3=01a
[0x02] rec0=00 rec1=00 rec2=08 rec3=00a
[0x03] rec0=18 rec1=00 rec2=03 rec3=022
[0x04] rec0=17 rec1=00 rec2=04 rec3=014
[0x05] rec0=00 rec1=00 rec2=06 rec3=002
[0x06] rec0=15 rec1=00 rec2=07 rec3=076
[0x07] rec0=06 rec1=00 rec2=05 rec3=000
tail 0x20100f5347da18d9483e4 0x42a00088462065003