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

⟦fef98ed32⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Indirect_Attributes, pragma Module_Name 4 1707, pragma Subsystem Directory, seg_001cc2

Derivation

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

E3 Source Code



with Action;
with Diana;
package Indirect_Attributes is

    -- This package implements extended versions of certain
    -- semantic attributes.  In standard Diana these attributes
    -- are defined to be Void in cases which would involve forward
    -- references across separate units.  The versions here
    -- use information in the package directory system and will
    -- return a non-Void value if it is possible to compute one.
    -- This means, for example, that the version of sm_body here will
    -- return Void only if there is no installed body.  A separate,
    -- installed body would be found and returned, where the sm_body
    -- in Diana would return void in that case.


    function Sm_Type_Spec (T         : Diana.Tree;
                           Max_Wait  : Duration := Duration'Last;
                           Action_Id : Action.Id) return Diana.Tree;

    function Sm_Body (T         : Diana.Tree;
                      Max_Wait  : Duration := Duration'Last;
                      Action_Id : Action.Id) return Diana.Tree;

    function Sm_Stub (T         : Diana.Tree;
                      Max_Wait  : Duration := Duration'Last;
                      Action_Id : Action.Id) return Diana.Tree;

    function Sm_Spec (T         : Diana.Tree;
                      Max_Wait  : Duration := Duration'Last;
                      Action_Id : Action.Id) return Diana.Tree;

    function Sm_Generic_Param_S (T         : Diana.Tree;
                                 Max_Wait  : Duration := Duration'Last;
                                 Action_Id : Action.Id) return Diana.Tree;


    function Get_Body (T         : Diana.Tree;
                       Max_Wait  : Duration  := Duration'Last;
                       Action_Id : Action.Id := Action.Null_Id)
                      return Diana.Tree;
    -- same as sm_body but for T's in the visible part of an expanded
    -- instantiation spec it will try to find the body in the body of
    -- the generic being instantiated.
    -- for an instantiation id it will return the generic body.

    function Get_Type_Spec
                (T         : Diana.Tree;
                 Max_Wait  : Duration  := Duration'Last;
                 Action_Id : Action.Id := Action.Null_Id) return Diana.Tree;


    generic
        with function Resolve (Node : Diana.Tree) return Diana.Tree;
        -- mapping for subsystem spec look-through
    function Get_Body_Generic
                (T         : Diana.Tree;
                 Max_Wait  : Duration  := Duration'Last;
                 Action_Id : Action.Id := Action.Null_Id) return Diana.Tree;


    generic
        with function Resolve (Node : Diana.Tree) return Diana.Tree;
        -- mapping for subsystem spec look-through
    function Get_Type_Spec_Generic
                (T         : Diana.Tree;
                 Max_Wait  : Duration  := Duration'Last;
                 Action_Id : Action.Id := Action.Null_Id) return Diana.Tree;


    function Corresponding_Def_Id_In_Generic
                (Def_Id : Diana.Tree) return Diana.Tree;
    -- given a def_id for a decl in the visible part of an expanded generic
    -- spec, find the corresponding def_id in the actual generic spec,
    -- looking thru levels of nested generic instantiations.

    pragma Subsystem (Directory);
    pragma Module_Name (4, 1707);

end Indirect_Attributes;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=17 rec1=00 rec2=01 rec3=05a
        [0x01] rec0=15 rec1=00 rec2=02 rec3=076
        [0x02] rec0=19 rec1=00 rec2=03 rec3=058
        [0x03] rec0=0d rec1=00 rec2=04 rec3=000
    tail 0x20100f94c7da18deeba49 0x42a00088462065003