DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦028514c3b⟧ TextFile

    Length: 3353 (0xd19)
    Types: TextFile
    Names: »V«

Derivation

└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
    └─ ⟦fc9b38f02⟧ »DATA« 
        └─⟦9b46a407a⟧ 
            └─⟦12c68c704⟧ 
                └─⟦this⟧ 
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS 
    └─ ⟦91c658230⟧ »DATA« 
        └─⟦458657fb6⟧ 
            └─⟦220843204⟧ 
                └─⟦this⟧ 

TextFile

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;