DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦0f2b2cb99⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Display, seg_004536, separate Display_Lib

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Directory;
with Access_List_Tools;
separate (Display_Lib)
procedure Display (Obj         : Object.Handle;
                   Indentation : String;
                   Document    : Abstract_Document.Handle) is

    package Acl_Tools renames Access_List_Tools;

begin
    Table.Item (S => Indentation & Su.Capitalize (Naming.Simple_Name (Obj)),
                Object_Linkage => Obj,
                Explanation => "The name of the object.");

    if Showing_Class then
        Table.Item (S              => Class_Image (Obj),
                    Object_Linkage => Obj,
                    Explanation    => "Class and subclass of this object.");
    end if;

    if Showing_State then
        if Object.Class (Obj) = Object.Ada_Class then
            declare
                State_Image : constant String :=
                   Ada_Object.Unit_State'Image (Ada_Object.State (Obj));
            begin
                Table.Item (S => State_Image
                                    (State_Image'First .. State_Image'First),
                            Object_Linkage => Obj,
                            Explanation =>
                               "The compilation state of this unit: " &
                                  State_Image);
            end;  
        else -- not an Ada unit, no state field
            Table.Item (S              => " ",
                        Object_Linkage => Obj,
                        Explanation    =>
                           "There is no state associated with non-ada objects");
        end if;
    end if;

    if Showing_Sizes then
        Table.Item (S => Long_Integer'Image (Statistics.Object_Size (Obj)),
                    Object_Linkage => Obj,
                    Explanation => "Total size, in bytes, of this object.");
    end if;

    if Showing_Locks then
        Table.Item
           (S              => "*locks*",
            Object_Linkage => Obj,
            Explanation    =>
               "Indicates whether or not there are locks on this object." &
                  Ascii.Cr & "Hit [EXPLAIN] to see those locks.");
    end if;

    if Showing_Acls then
        declare  
            Ver    : Directory.Version;  
            Status : Directory.Error_Status;
        begin  
            Object.Low_Level.Get_Version (Obj, Ver, Status);
            declare
                Acl : constant String := Acl_Tools.Get (Ver);
            begin
                Table.Item
                   (S              =>  
                       "<" & Su.Strip (Natural'Image (Get_Acl_Index (Acl))) &
                          ">",
                    Object_Linkage => Obj,
                    Explanation    => Acl);
            end;  
        end;
    end if;
end Display;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=1d rec1=00 rec2=01 rec3=018
        [0x01] rec0=18 rec1=00 rec2=02 rec3=028
        [0x02] rec0=18 rec1=00 rec2=03 rec3=000
    tail 0x217001d0e815c64b7030a 0x42a00088462061e03