if Comes_From_Source (Typ) and then Is_Type (Typ)
and then Ekind (Typ) /= E_Incomplete_Type
then
-
-- Check that the type can be meaningfully transmitted to another
-- partition (E.2.2(8)).
-- Start of processing for Analyze_Aspects_At_Freeze_Point
begin
- -- Must be visible in current scope, but if this is a type from
- -- a nested package it may be frozen from an object declaration
- -- in the enclosing scope, so install the package declarations
- -- to complete the analysis of the aspects, if any. If the package
- -- itself is frozen the type will have been frozen as well.
+ -- Must be visible in current scope, but if this is a type from a nested
+ -- package it may be frozen from an object declaration in the enclosing
+ -- scope, so install the package declarations to complete the analysis
+ -- of the aspects, if any. If the package itself is frozen the type will
+ -- have been frozen as well.
if not Scope_Within_Or_Same (Current_Scope, Scope (E)) then
if Is_Type (E) and then From_Nested_Package (E) then
return;
end;
- else
-
- -- Aspects from other entities in different contexts are
- -- analyzed elsewhere.
+ -- Aspects from other entities in different contexts are analyzed
+ -- elsewhere.
+ else
return;
end if;
end if;
function From_Nested_Package (T : Entity_Id) return Boolean is
Pack : constant Entity_Id := Scope (T);
+
begin
- return Ekind (Pack) = E_Package
- and then not Is_Frozen (Pack)
- and then not Scope_Within_Or_Same (Current_Scope, Pack)
- and then In_Open_Scopes (Scope (Pack));
+ return
+ Ekind (Pack) = E_Package
+ and then not Is_Frozen (Pack)
+ and then not Scope_Within_Or_Same (Current_Scope, Pack)
+ and then In_Open_Scopes (Scope (Pack));
end From_Nested_Package;
-----------------------