-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
begin
pragma Assert (False
or else NT (N).Nkind = N_Component_Definition
- or else NT (N).Nkind = N_Object_Declaration);
+ or else NT (N).Nkind = N_Object_Declaration
+ or else NT (N).Nkind = N_Parameter_Specification);
return Flag4 (N);
end Aliased_Present;
return Node3 (N);
end Ancestor_Part;
+ function Atomic_Sync_Required
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Expanded_Name
+ or else NT (N).Nkind = N_Explicit_Dereference
+ or else NT (N).Nkind = N_Identifier
+ or else NT (N).Nkind = N_Indexed_Component
+ or else NT (N).Nkind = N_Selected_Component);
+ return Flag14 (N);
+ end Atomic_Sync_Required;
+
function Array_Aggregate
(N : Node_Id) return Node_Id is
begin
return Node3 (N);
end Array_Aggregate;
- function Aspect_Cancel
- (N : Node_Id) return Boolean is
- begin
- pragma Assert (False
- or else NT (N).Nkind = N_Pragma);
- return Flag11 (N);
- end Aspect_Cancel;
-
function Aspect_Rep_Item
(N : Node_Id) return Node_Id is
begin
return Flag6 (N);
end Class_Present;
- function Coextensions
- (N : Node_Id) return Elist_Id is
- begin
- pragma Assert (False
- or else NT (N).Nkind = N_Allocator);
- return Elist4 (N);
- end Coextensions;
-
function Comes_From_Extended_Return_Statement
(N : Node_Id) return Boolean is
begin
return Flag14 (N);
end Conversion_OK;
+ function Corresponding_Aspect
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ return Node3 (N);
+ end Corresponding_Aspect;
+
function Corresponding_Body
(N : Node_Id) return Node_Id is
begin
(N : Node_Id) return Node_Id is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Expression_Function
or else NT (N).Nkind = N_Package_Body
or else NT (N).Nkind = N_Protected_Body
or else NT (N).Nkind = N_Subprogram_Body
return Node5 (N);
end Dcheck_Function;
- function Debug_Statement
- (N : Node_Id) return Node_Id is
- begin
- pragma Assert (False
- or else NT (N).Nkind = N_Pragma);
- return Node3 (N);
- end Debug_Statement;
-
function Declarations
(N : Node_Id) return List_Id is
begin
or else NT (N).Nkind = N_Discriminant_Association
or else NT (N).Nkind = N_Discriminant_Specification
or else NT (N).Nkind = N_Exception_Declaration
+ or else NT (N).Nkind = N_Expression_Function
or else NT (N).Nkind = N_Expression_With_Actions
or else NT (N).Nkind = N_Free_Statement
or else NT (N).Nkind = N_Mod_Clause
or else NT (N).Nkind = N_Number_Declaration
or else NT (N).Nkind = N_Object_Declaration
or else NT (N).Nkind = N_Parameter_Specification
- or else NT (N).Nkind = N_Parameterized_Expression
or else NT (N).Nkind = N_Pragma_Argument_Association
or else NT (N).Nkind = N_Qualified_Expression
or else NT (N).Nkind = N_Raise_Statement
function Has_Dynamic_Length_Check
(N : Node_Id) return Boolean is
begin
+ pragma Assert (False
+ or else NT (N).Nkind in N_Subexpr);
return Flag10 (N);
end Has_Dynamic_Length_Check;
+
function Has_Dynamic_Range_Check
(N : Node_Id) return Boolean is
begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Subtype_Declaration
+ or else NT (N).Nkind in N_Subexpr);
return Flag12 (N);
end Has_Dynamic_Range_Check;
return Flag14 (N);
end Has_Pragma_CPU;
+ function Has_Pragma_Dispatching_Domain
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Task_Definition);
+ return Flag15 (N);
+ end Has_Pragma_Dispatching_Domain;
+
function Has_Pragma_Priority
(N : Node_Id) return Boolean is
begin
return Flag13 (N);
end Has_Wide_Wide_Character;
+ function Header_Size_Added
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Attribute_Reference);
+ return Flag11 (N);
+ end Header_Size_Added;
+
function Hidden_By_Use_Clause
(N : Node_Id) return Elist_Id is
begin
return Flag7 (N);
end Is_Asynchronous_Call_Block;
+ function Is_Boolean_Aspect
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Aspect_Specification);
+ return Flag16 (N);
+ end Is_Boolean_Aspect;
+
function Is_Component_Left_Opnd
(N : Node_Id) return Boolean is
begin
(N : Node_Id) return Boolean is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Aspect_Specification
or else NT (N).Nkind = N_Attribute_Definition_Clause
or else NT (N).Nkind = N_Pragma);
return Flag14 (N);
return Flag13 (N);
end Is_Power_Of_2_For_Shift;
+ function Is_Prefixed_Call
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Selected_Component);
+ return Flag17 (N);
+ end Is_Prefixed_Call;
+
function Is_Protected_Subprogram_Body
(N : Node_Id) return Boolean is
begin
return List2 (N);
end Pragma_Argument_Associations;
- function Pragma_Enabled
- (N : Node_Id) return Boolean is
- begin
- pragma Assert (False
- or else NT (N).Nkind = N_Pragma);
- return Flag5 (N);
- end Pragma_Enabled;
-
function Pragma_Identifier
(N : Node_Id) return Node_Id is
begin
return Node3 (N);
end Prefix;
+ function Premature_Use
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Incomplete_Type_Declaration);
+ return Node5 (N);
+ end Premature_Use;
+
function Present_Expr
(N : Node_Id) return Uint is
begin
return Node1 (N);
end Source_Type;
+ function Spec_PPC_List
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Contract);
+ return Node1 (N);
+ end Spec_PPC_List;
+
+ function Spec_TC_List
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Contract);
+ return Node2 (N);
+ end Spec_TC_List;
+
function Specification
(N : Node_Id) return Node_Id is
begin
pragma Assert (False
or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
+ or else NT (N).Nkind = N_Expression_Function
or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
or else NT (N).Nkind = N_Generic_Package_Declaration
or else NT (N).Nkind = N_Generic_Subprogram_Declaration
or else NT (N).Nkind = N_Package_Declaration
- or else NT (N).Nkind = N_Parameterized_Expression
or else NT (N).Nkind = N_Subprogram_Body
or else NT (N).Nkind = N_Subprogram_Body_Stub
or else NT (N).Nkind = N_Subprogram_Declaration
return Node1 (N);
end Storage_Pool;
+ function Subpool_Handle_Name
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Allocator);
+ return Node4 (N);
+ end Subpool_Handle_Name;
+
function Strval
(N : Node_Id) return String_Id is
begin
(N : Node_Id) return Boolean is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Formal_Incomplete_Type_Definition
or else NT (N).Nkind = N_Formal_Private_Type_Definition
or else NT (N).Nkind = N_Incomplete_Type_Declaration
or else NT (N).Nkind = N_Private_Type_Declaration
return List2 (N);
end Visible_Declarations;
+ function Used_Operations
+ (N : Node_Id) return Elist_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Use_Type_Clause);
+ return Elist5 (N);
+ end Used_Operations;
+
function Was_Originally_Stub
(N : Node_Id) return Boolean is
begin
return Node1 (N);
end Withed_Body;
- function Zero_Cost_Handling
- (N : Node_Id) return Boolean is
- begin
- pragma Assert (False
- or else NT (N).Nkind = N_Exception_Handler
- or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
- return Flag5 (N);
- end Zero_Cost_Handling;
-
--------------------------
-- Field Set Procedures --
--------------------------
begin
pragma Assert (False
or else NT (N).Nkind = N_Component_Definition
- or else NT (N).Nkind = N_Object_Declaration);
+ or else NT (N).Nkind = N_Object_Declaration
+ or else NT (N).Nkind = N_Parameter_Specification);
Set_Flag4 (N, Val);
end Set_Aliased_Present;
Set_Node3_With_Parent (N, Val);
end Set_Ancestor_Part;
+ procedure Set_Atomic_Sync_Required
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Expanded_Name
+ or else NT (N).Nkind = N_Explicit_Dereference
+ or else NT (N).Nkind = N_Identifier
+ or else NT (N).Nkind = N_Indexed_Component
+ or else NT (N).Nkind = N_Selected_Component);
+ Set_Flag14 (N, Val);
+ end Set_Atomic_Sync_Required;
+
procedure Set_Array_Aggregate
(N : Node_Id; Val : Node_Id) is
begin
Set_Node3_With_Parent (N, Val);
end Set_Array_Aggregate;
- procedure Set_Aspect_Cancel
- (N : Node_Id; Val : Boolean := True) is
- begin
- pragma Assert (False
- or else NT (N).Nkind = N_Pragma);
- Set_Flag11 (N, Val);
- end Set_Aspect_Cancel;
-
procedure Set_Aspect_Rep_Item
(N : Node_Id; Val : Node_Id) is
begin
Set_Flag6 (N, Val);
end Set_Class_Present;
- procedure Set_Coextensions
- (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (False
- or else NT (N).Nkind = N_Allocator);
- Set_Elist4 (N, Val);
- end Set_Coextensions;
-
procedure Set_Comes_From_Extended_Return_Statement
(N : Node_Id; Val : Boolean := True) is
begin
Set_Flag14 (N, Val);
end Set_Conversion_OK;
+ procedure Set_Corresponding_Aspect
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ Set_Node3 (N, Val);
+ end Set_Corresponding_Aspect;
+
procedure Set_Corresponding_Body
(N : Node_Id; Val : Node_Id) is
begin
(N : Node_Id; Val : Node_Id) is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Expression_Function
or else NT (N).Nkind = N_Package_Body
or else NT (N).Nkind = N_Protected_Body
or else NT (N).Nkind = N_Subprogram_Body
Set_Node5 (N, Val); -- semantic field, no parent set
end Set_Dcheck_Function;
- procedure Set_Debug_Statement
- (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (False
- or else NT (N).Nkind = N_Pragma);
- Set_Node3_With_Parent (N, Val);
- end Set_Debug_Statement;
-
procedure Set_Declarations
(N : Node_Id; Val : List_Id) is
begin
or else NT (N).Nkind = N_Discriminant_Association
or else NT (N).Nkind = N_Discriminant_Specification
or else NT (N).Nkind = N_Exception_Declaration
+ or else NT (N).Nkind = N_Expression_Function
or else NT (N).Nkind = N_Expression_With_Actions
or else NT (N).Nkind = N_Free_Statement
or else NT (N).Nkind = N_Mod_Clause
or else NT (N).Nkind = N_Number_Declaration
or else NT (N).Nkind = N_Object_Declaration
or else NT (N).Nkind = N_Parameter_Specification
- or else NT (N).Nkind = N_Parameterized_Expression
or else NT (N).Nkind = N_Pragma_Argument_Association
or else NT (N).Nkind = N_Qualified_Expression
or else NT (N).Nkind = N_Raise_Statement
procedure Set_Has_Dynamic_Length_Check
(N : Node_Id; Val : Boolean := True) is
begin
+ pragma Assert (False
+ or else NT (N).Nkind in N_Subexpr);
Set_Flag10 (N, Val);
end Set_Has_Dynamic_Length_Check;
procedure Set_Has_Dynamic_Range_Check
(N : Node_Id; Val : Boolean := True) is
begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Subtype_Declaration
+ or else NT (N).Nkind in N_Subexpr);
Set_Flag12 (N, Val);
end Set_Has_Dynamic_Range_Check;
Set_Flag14 (N, Val);
end Set_Has_Pragma_CPU;
+ procedure Set_Has_Pragma_Dispatching_Domain
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Task_Definition);
+ Set_Flag15 (N, Val);
+ end Set_Has_Pragma_Dispatching_Domain;
+
procedure Set_Has_Pragma_Priority
(N : Node_Id; Val : Boolean := True) is
begin
Set_Flag13 (N, Val);
end Set_Has_Wide_Wide_Character;
+ procedure Set_Header_Size_Added
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Attribute_Reference);
+ Set_Flag11 (N, Val);
+ end Set_Header_Size_Added;
+
procedure Set_Hidden_By_Use_Clause
(N : Node_Id; Val : Elist_Id) is
begin
Set_Flag7 (N, Val);
end Set_Is_Asynchronous_Call_Block;
+ procedure Set_Is_Boolean_Aspect
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Aspect_Specification);
+ Set_Flag16 (N, Val);
+ end Set_Is_Boolean_Aspect;
+
procedure Set_Is_Component_Left_Opnd
(N : Node_Id; Val : Boolean := True) is
begin
(N : Node_Id; Val : Boolean := True) is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Aspect_Specification
or else NT (N).Nkind = N_Attribute_Definition_Clause
or else NT (N).Nkind = N_Pragma);
Set_Flag14 (N, Val);
Set_Flag13 (N, Val);
end Set_Is_Power_Of_2_For_Shift;
+ procedure Set_Is_Prefixed_Call
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Selected_Component);
+ Set_Flag17 (N, Val);
+ end Set_Is_Prefixed_Call;
+
procedure Set_Is_Protected_Subprogram_Body
(N : Node_Id; Val : Boolean := True) is
begin
Set_List2_With_Parent (N, Val);
end Set_Pragma_Argument_Associations;
- procedure Set_Pragma_Enabled
- (N : Node_Id; Val : Boolean := True) is
- begin
- pragma Assert (False
- or else NT (N).Nkind = N_Pragma);
- Set_Flag5 (N, Val);
- end Set_Pragma_Enabled;
-
procedure Set_Pragma_Identifier
(N : Node_Id; Val : Node_Id) is
begin
Set_Node3_With_Parent (N, Val);
end Set_Prefix;
+ procedure Set_Premature_Use
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Incomplete_Type_Declaration);
+ Set_Node5 (N, Val);
+ end Set_Premature_Use;
+
procedure Set_Present_Expr
(N : Node_Id; Val : Uint) is
begin
Set_Node1 (N, Val); -- semantic field, no parent set
end Set_Source_Type;
+ procedure Set_Spec_PPC_List
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Contract);
+ Set_Node1 (N, Val); -- semantic field, no parent set
+ end Set_Spec_PPC_List;
+
+ procedure Set_Spec_TC_List
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Contract);
+ Set_Node2 (N, Val); -- semantic field, no parent set
+ end Set_Spec_TC_List;
+
procedure Set_Specification
(N : Node_Id; Val : Node_Id) is
begin
pragma Assert (False
or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
+ or else NT (N).Nkind = N_Expression_Function
or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
or else NT (N).Nkind = N_Generic_Package_Declaration
or else NT (N).Nkind = N_Generic_Subprogram_Declaration
or else NT (N).Nkind = N_Package_Declaration
- or else NT (N).Nkind = N_Parameterized_Expression
or else NT (N).Nkind = N_Subprogram_Body
or else NT (N).Nkind = N_Subprogram_Body_Stub
or else NT (N).Nkind = N_Subprogram_Declaration
Set_Node1 (N, Val); -- semantic field, no parent set
end Set_Storage_Pool;
+ procedure Set_Subpool_Handle_Name
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Allocator);
+ Set_Node4_With_Parent (N, Val);
+ end Set_Subpool_Handle_Name;
+
procedure Set_Strval
(N : Node_Id; Val : String_Id) is
begin
(N : Node_Id; Val : Boolean := True) is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Formal_Incomplete_Type_Definition
or else NT (N).Nkind = N_Formal_Private_Type_Definition
or else NT (N).Nkind = N_Incomplete_Type_Declaration
or else NT (N).Nkind = N_Private_Type_Declaration
Set_List2_With_Parent (N, Val);
end Set_Visible_Declarations;
+ procedure Set_Used_Operations
+ (N : Node_Id; Val : Elist_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Use_Type_Clause);
+ Set_Elist5 (N, Val);
+ end Set_Used_Operations;
+
procedure Set_Was_Originally_Stub
(N : Node_Id; Val : Boolean := True) is
begin
Set_Node1 (N, Val);
end Set_Withed_Body;
- procedure Set_Zero_Cost_Handling
- (N : Node_Id; Val : Boolean := True) is
- begin
- pragma Assert (False
- or else NT (N).Nkind = N_Exception_Handler
- or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
- Set_Flag5 (N, Val);
- end Set_Zero_Cost_Handling;
-
-------------------------
-- Iterator Procedures --
-------------------------