-- Alignment Uint14
-- Normalized_Position Uint14
-- Postconditions_Proc Node14
- -- Shadow_Entities List14
-- Discriminant_Number Uint15
-- DT_Position Uint15
-- Corresponding_Remote_Type Node22
-- Enumeration_Rep_Expr Node22
-- Original_Record_Component Node22
- -- Private_View Node22
-- Protected_Formal Node22
-- Scope_Depth_Value Uint22
-- Shared_Var_Procs_Instance Node22
return Elist18 (Id);
end Private_Dependents;
- function Private_View (Id : E) return N is
- begin
- pragma Assert (Is_Private_Type (Id));
- return Node22 (Id);
- end Private_View;
-
function Protected_Body_Subprogram (Id : E) return E is
begin
pragma Assert (Is_Subprogram (Id) or else Is_Entry (Id));
return Flag167 (Id);
end Sec_Stack_Needed_For_Return;
- function Shadow_Entities (Id : E) return S is
- begin
- pragma Assert (Ekind_In (Id, E_Package, E_Generic_Package));
- return List14 (Id);
- end Shadow_Entities;
-
function Shared_Var_Procs_Instance (Id : E) return E is
begin
pragma Assert (Ekind (Id) = E_Variable);
Set_Elist18 (Id, V);
end Set_Private_Dependents;
- procedure Set_Private_View (Id : E; V : N) is
- begin
- pragma Assert (Is_Private_Type (Id));
- Set_Node22 (Id, V);
- end Set_Private_View;
-
procedure Set_Prev_Entity (Id : E; V : E) is
begin
Set_Node36 (Id, V);
Set_Flag167 (Id, V);
end Set_Sec_Stack_Needed_For_Return;
- procedure Set_Shadow_Entities (Id : E; V : S) is
- begin
- pragma Assert (Ekind_In (Id, E_Package, E_Generic_Package));
- Set_List14 (Id, V);
- end Set_Shadow_Entities;
-
procedure Set_Shared_Var_Procs_Instance (Id : E; V : E) is
begin
pragma Assert (Ekind (Id) = E_Variable);
=>
Write_Str ("Postconditions_Proc");
- when E_Generic_Package
- | E_Package
- =>
- Write_Str ("Shadow_Entities");
-
when others =>
Write_Str ("Field14??");
end case;
when E_Enumeration_Literal =>
Write_Str ("Enumeration_Rep_Expr");
- when E_Limited_Private_Subtype
- | E_Limited_Private_Type
- | E_Private_Subtype
- | E_Private_Type
- | E_Record_Subtype_With_Private
- | E_Record_Type_With_Private
- =>
- Write_Str ("Private_View");
-
when Formal_Kind =>
Write_Str ("Protected_Formal");
-- declaration of the type is seen. Subprograms that have such an
-- access parameter are also placed in the list of private_dependents.
--- Private_View (Node22)
--- For each private type, three entities are allocated, the private view,
--- the full view, and the shadow entity. The shadow entity contains a
--- copy of the private view and is used for restoring the proper private
--- view after a region in which the full view is visible (and is copied
--- into the entity normally used for the private view during this period
--- of visibility). The Private_View field is self-referential when the
--- private view lives in its normal entity, but in the copy that is made
--- in the shadow entity, it points to the proper location in which to
--- restore the private view saved in the shadow.
-
-- Protected_Body_Subprogram (Node11)
-- Defined in protected operations. References the entity for the
-- subprogram which implements the body of the operation.
-- returned value of a function and thus should not be released on scope
-- exit.
--- Shadow_Entities (List14)
--- Defined in package and generic package entities. Points to a list
--- of entities that correspond to private types. For each private type
--- a shadow entity is created that holds a copy of the private view.
--- In regions of the program where the full views of these private
--- entities are visible, the full view is copied into the entity that
--- is normally used to hold the private view, but the shadow entity
--- copy is unchanged. The shadow entities are then used to restore the
--- original private views at the end of the region. This list is a
--- standard format list (i.e. First (Shadow_Entities) is the first
--- entry and subsequent entries are obtained using Next.
-
-- Shared_Var_Procs_Instance (Node22)
-- Defined in variables. Set non-Empty only if Is_Shared_Passive is
-- set, in which case this is the entity for the associated instance of
-- Underlying_Full_View (Node19)
-- Last_Entity (Node20)
-- Discriminant_Constraint (Elist21)
- -- Private_View (Node22)
-- Stored_Constraint (Elist23)
-- Has_Completion (Flag26)
-- (plus type attributes)
-- Generic_Homonym (Node11) (generic case only)
-- Associated_Formal_Package (Node12)
-- Elaboration_Entity (Node13)
- -- Shadow_Entities (List14)
-- Related_Instance (Node15) (non-generic case only)
-- First_Private_Entity (Node16)
-- First_Entity (Node17)
-- Underlying_Full_View (Node19)
-- Last_Entity (Node20)
-- Discriminant_Constraint (Elist21)
- -- Private_View (Node22)
-- Stored_Constraint (Elist23)
-- Has_Completion (Flag26)
-- Is_Controlled_Active (Flag42) (base type only)
-- Underlying_Full_View (Node19)
-- Last_Entity (Node20)
-- Discriminant_Constraint (Elist21)
- -- Private_View (Node22)
-- Stored_Constraint (Elist23)
-- Interfaces (Elist25)
-- Predicated_Parent (Node38) (subtype only)
function Prival (Id : E) return E;
function Prival_Link (Id : E) return E;
function Private_Dependents (Id : E) return L;
- function Private_View (Id : E) return N;
function Protected_Body_Subprogram (Id : E) return E;
function Protected_Formal (Id : E) return E;
function Protected_Subprogram (Id : E) return N;
function Scale_Value (Id : E) return U;
function Scope_Depth_Value (Id : E) return U;
function Sec_Stack_Needed_For_Return (Id : E) return B;
- function Shadow_Entities (Id : E) return S;
function Shared_Var_Procs_Instance (Id : E) return E;
function Size_Check_Code (Id : E) return N;
function Size_Depends_On_Discriminant (Id : E) return B;
procedure Set_Prival (Id : E; V : E);
procedure Set_Prival_Link (Id : E; V : E);
procedure Set_Private_Dependents (Id : E; V : L);
- procedure Set_Private_View (Id : E; V : N);
procedure Set_Protected_Body_Subprogram (Id : E; V : E);
procedure Set_Protected_Formal (Id : E; V : E);
procedure Set_Protected_Subprogram (Id : E; V : N);
procedure Set_Scale_Value (Id : E; V : U);
procedure Set_Scope_Depth_Value (Id : E; V : U);
procedure Set_Sec_Stack_Needed_For_Return (Id : E; V : B := True);
- procedure Set_Shadow_Entities (Id : E; V : S);
procedure Set_Shared_Var_Procs_Instance (Id : E; V : E);
procedure Set_Size_Check_Code (Id : E; V : N);
procedure Set_Size_Depends_On_Discriminant (Id : E; V : B := True);
pragma Inline (Prival);
pragma Inline (Prival_Link);
pragma Inline (Private_Dependents);
- pragma Inline (Private_View);
pragma Inline (Protected_Body_Subprogram);
pragma Inline (Protected_Formal);
pragma Inline (Protected_Subprogram);
pragma Inline (Scale_Value);
pragma Inline (Scope_Depth_Value);
pragma Inline (Sec_Stack_Needed_For_Return);
- pragma Inline (Shadow_Entities);
pragma Inline (Shared_Var_Procs_Instance);
pragma Inline (Size_Check_Code);
pragma Inline (Size_Depends_On_Discriminant);
pragma Inline (Set_Prival);
pragma Inline (Set_Prival_Link);
pragma Inline (Set_Private_Dependents);
- pragma Inline (Set_Private_View);
pragma Inline (Set_Protected_Body_Subprogram);
pragma Inline (Set_Protected_Formal);
pragma Inline (Set_Protected_Subprogram);
pragma Inline (Set_Scale_Value);
pragma Inline (Set_Scope_Depth_Value);
pragma Inline (Set_Sec_Stack_Needed_For_Return);
- pragma Inline (Set_Shadow_Entities);
pragma Inline (Set_Shared_Var_Procs_Instance);
pragma Inline (Set_Size_Check_Code);
pragma Inline (Set_Size_Depends_On_Discriminant);