-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2005 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2010, 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- --
--- ware Foundation; either version 2, or (at your option) any later ver- --
+-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
--- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
--- for more details. You should have received a copy of the GNU General --
--- Public License distributed with GNAT; see file COPYING. If not, write --
--- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
--- Boston, MA 02110-1301, USA. --
+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
--- As a special exception, if other files instantiate generics from this --
--- unit, or you link this unit with other files to produce an executable, --
--- this unit does not by itself cause the resulting executable to be --
--- covered by the GNU General Public License. This exception does not --
--- however invalidate any other reasons why the executable file might be --
--- covered by the GNU Public License. --
+-- As a special exception under Section 7 of GPL version 3, you are granted --
+-- additional permissions described in the GCC Runtime Library Exception, --
+-- version 3.1, as published by the Free Software Foundation. --
+-- --
+-- You should have received a copy of the GNU General Public License and --
+-- a copy of the GCC Runtime Library Exception along with this program; --
+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
+-- <http://www.gnu.org/licenses/>. --
-- --
-- GNAT was originally developed by the GNAT team at New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc. --
begin
pragma Assert (False
or else NT (N).Nkind = N_Component_Definition
+ or else NT (N).Nkind = N_Formal_Object_Declaration
or else NT (N).Nkind = N_Object_Renaming_Declaration);
return Node3 (N);
end Access_Definition;
begin
pragma Assert (False
or else NT (N).Nkind = N_And_Then
+ or else NT (N).Nkind = N_Case_Expression_Alternative
or else NT (N).Nkind = N_Compilation_Unit_Aux
+ or else NT (N).Nkind = N_Expression_With_Actions
or else NT (N).Nkind = N_Freeze_Entity
or else NT (N).Nkind = N_Or_Else);
return List1 (N);
return Flag4 (N);
end Acts_As_Spec;
+ function Actual_Designated_Subtype
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Explicit_Dereference
+ or else NT (N).Nkind = N_Free_Statement);
+ return Node4 (N);
+ end Actual_Designated_Subtype;
+
+ function Address_Warning_Posted
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Attribute_Definition_Clause);
+ return Flag18 (N);
+ end Address_Warning_Posted;
+
function Aggregate_Bounds
(N : Node_Id) return Node_Id is
begin
begin
pragma Assert (False
or else NT (N).Nkind = N_Access_Definition
- or else NT (N).Nkind = N_Access_To_Object_Definition);
+ or else NT (N).Nkind = N_Access_To_Object_Definition
+ or else NT (N).Nkind = N_Quantified_Expression
+ or else NT (N).Nkind = N_Use_Type_Clause);
return Flag15 (N);
end All_Present;
(N : Node_Id) return List_Id is
begin
pragma Assert (False
- or else NT (N).Nkind = N_Case_Statement);
+ or else NT (N).Nkind = N_Case_Expression
+ or else NT (N).Nkind = N_Case_Statement
+ or else NT (N).Nkind = N_In
+ or else NT (N).Nkind = N_Not_In);
return List4 (N);
end Alternatives;
return Node3 (N);
end Array_Aggregate;
+ function Aspect_Rep_Item
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Aspect_Specification);
+ return Node2 (N);
+ end Aspect_Rep_Item;
+
function Assignment_OK
(N : Node_Id) return Boolean is
begin
or else NT (N).Nkind = N_Component_Association
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_Formal_Package_Declaration);
+ or else NT (N).Nkind = N_Formal_Package_Declaration
+ or else NT (N).Nkind = N_Generic_Association);
return Flag15 (N);
end Box_Present;
(N : Node_Id) return Boolean is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Extended_Return_Statement
or else NT (N).Nkind = N_Return_Statement);
return Flag5 (N);
end By_Ref;
return List1 (N);
end Choices;
+ function Class_Present
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Aspect_Specification
+ or else NT (N).Nkind = N_Pragma);
+ 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
+ pragma Assert (False
+ or else NT (N).Nkind = N_Return_Statement);
+ return Flag18 (N);
+ end Comes_From_Extended_Return_Statement;
+
function Compile_Time_Known_Aggregate
(N : Node_Id) return Boolean is
begin
return Node1 (N);
end Component_Name;
+ function Componentwise_Assignment
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Assignment_Statement);
+ return Flag14 (N);
+ end Componentwise_Assignment;
+
function Condition
(N : Node_Id) return Node_Id is
begin
or else NT (N).Nkind = N_Exit_Statement
or else NT (N).Nkind = N_If_Statement
or else NT (N).Nkind = N_Iteration_Scheme
+ or else NT (N).Nkind = N_Quantified_Expression
or else NT (N).Nkind = N_Raise_Constraint_Error
or else NT (N).Nkind = N_Raise_Program_Error
or else NT (N).Nkind = N_Raise_Storage_Error
return List1 (N);
end Context_Items;
+ function Context_Pending
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Compilation_Unit);
+ return Flag16 (N);
+ end Context_Pending;
+
function Controlling_Argument
(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_Formal_Object_Declaration
or else NT (N).Nkind = N_Parameter_Specification);
return Node5 (N);
end Default_Expression;
+ function Default_Storage_Pool
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Compilation_Unit_Aux);
+ return Node3 (N);
+ end Default_Storage_Pool;
+
function Default_Name
(N : Node_Id) return Node_Id is
begin
or else NT (N).Nkind = N_Full_Type_Declaration
or else NT (N).Nkind = N_Implicit_Label_Declaration
or else NT (N).Nkind = N_Incomplete_Type_Declaration
+ or else NT (N).Nkind = N_Iterator_Specification
or else NT (N).Nkind = N_Loop_Parameter_Specification
or else NT (N).Nkind = N_Number_Declaration
or else NT (N).Nkind = N_Object_Declaration
return Node4 (N);
end Delay_Alternative;
- function Delay_Finalize_Attach
- (N : Node_Id) return Boolean is
- begin
- pragma Assert (False
- or else NT (N).Nkind = N_Object_Declaration);
- return Flag14 (N);
- end Delay_Finalize_Attach;
-
function Delay_Statement
(N : Node_Id) return Node_Id is
begin
(N : Node_Id) return List_Id is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Case_Expression_Alternative
or else NT (N).Nkind = N_Case_Statement_Alternative
or else NT (N).Nkind = N_Variant);
return List4 (N);
begin
pragma Assert (False
or else NT (N).Nkind = N_Assignment_Statement
+ or else NT (N).Nkind = N_Extended_Return_Statement
or else NT (N).Nkind = N_Function_Call
or else NT (N).Nkind = N_Procedure_Call_Statement
or else NT (N).Nkind = N_Return_Statement
return Flag13 (N);
end Do_Tag_Check;
+ function Elaborate_All_Desirable
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_With_Clause);
+ return Flag9 (N);
+ end Elaborate_All_Desirable;
+
function Elaborate_All_Present
(N : Node_Id) return Boolean is
begin
return Flag14 (N);
end Elaborate_All_Present;
+ function Elaborate_Desirable
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_With_Clause);
+ return Flag11 (N);
+ end Elaborate_Desirable;
+
function Elaborate_Present
(N : Node_Id) return Boolean is
begin
begin
pragma Assert (False
or else NT (N).Nkind in N_Has_Entity
+ or else NT (N).Nkind = N_Aspect_Specification
+ or else NT (N).Nkind = N_Attribute_Definition_Clause
or else NT (N).Nkind = N_Freeze_Entity);
return Node4 (N);
end Entity;
(N : Node_Id) return Boolean is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Block_Statement
or else NT (N).Nkind = N_Goto_Statement
or else NT (N).Nkind = N_Label
or else NT (N).Nkind = N_Object_Declaration
or else NT (N).Nkind = N_Subtype_Declaration);
- return Flag7 (N);
+ return Flag8 (N);
end Exception_Junk;
+ function Exception_Label
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Exception_Handler
+ or else NT (N).Nkind = N_Push_Constraint_Error_Label
+ or else NT (N).Nkind = N_Push_Program_Error_Label
+ or else NT (N).Nkind = N_Push_Storage_Error_Label);
+ return Node5 (N);
+ end Exception_Label;
+
function Expansion_Delayed
(N : Node_Id) return Boolean is
begin
begin
pragma Assert (False
or else NT (N).Nkind = N_Allocator
+ or else NT (N).Nkind = N_Aspect_Specification
or else NT (N).Nkind = N_Assignment_Statement
or else NT (N).Nkind = N_At_Clause
or else NT (N).Nkind = N_Attribute_Definition_Clause
+ or else NT (N).Nkind = N_Case_Expression
+ or else NT (N).Nkind = N_Case_Expression_Alternative
or else NT (N).Nkind = N_Case_Statement
or else NT (N).Nkind = N_Code_Statement
or else NT (N).Nkind = N_Component_Association
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_Formal_Object_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_Modular_Type_Definition
return Flag5 (N);
end Forwards_OK;
+ function From_Aspect_Specification
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Attribute_Definition_Clause
+ or else NT (N).Nkind = N_Pragma);
+ return Flag13 (N);
+ end From_Aspect_Specification;
+
+ function From_At_End
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Raise_Statement);
+ return Flag4 (N);
+ end From_At_End;
+
function From_At_Mod
(N : Node_Id) return Boolean is
begin
return Flag6 (N);
end From_Default;
+ function From_Dynamic_Predicate
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ return Flag7 (N);
+ end From_Dynamic_Predicate;
+
+ function From_Static_Predicate
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ return Flag8 (N);
+ end From_Static_Predicate;
+
function Generic_Associations
(N : Node_Id) return List_Id is
begin
or else NT (N).Nkind = N_Accept_Statement
or else NT (N).Nkind = N_Block_Statement
or else NT (N).Nkind = N_Entry_Body
+ or else NT (N).Nkind = N_Extended_Return_Statement
or else NT (N).Nkind = N_Package_Body
or else NT (N).Nkind = N_Subprogram_Body
or else NT (N).Nkind = N_Task_Body);
begin
return Flag10 (N);
end Has_Dynamic_Length_Check;
-
function Has_Dynamic_Range_Check
(N : Node_Id) return Boolean is
begin
return Flag12 (N);
end Has_Dynamic_Range_Check;
+ function Has_Init_Expression
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Object_Declaration);
+ return Flag14 (N);
+ end Has_Init_Expression;
+
+ function Has_Local_Raise
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Exception_Handler);
+ return Flag8 (N);
+ end Has_Local_Raise;
+
function Has_No_Elaboration_Code
(N : Node_Id) return Boolean is
begin
return Flag17 (N);
end Has_No_Elaboration_Code;
- function Has_Priority_Pragma
+ function Has_Pragma_CPU
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Subprogram_Body
+ or else NT (N).Nkind = N_Task_Definition);
+ return Flag14 (N);
+ end Has_Pragma_CPU;
+
+ function Has_Pragma_Priority
(N : Node_Id) return Boolean is
begin
pragma Assert (False
or else NT (N).Nkind = N_Subprogram_Body
or else NT (N).Nkind = N_Task_Definition);
return Flag6 (N);
- end Has_Priority_Pragma;
+ end Has_Pragma_Priority;
+
+ function Has_Pragma_Suppress_All
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Compilation_Unit);
+ return Flag14 (N);
+ end Has_Pragma_Suppress_All;
function Has_Private_View
(N : Node_Id) return Boolean is
return Flag11 (N);
end Has_Private_View;
+ function Has_Relative_Deadline_Pragma
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Subprogram_Body
+ or else NT (N).Nkind = N_Task_Definition);
+ return Flag9 (N);
+ end Has_Relative_Deadline_Pragma;
+
+ function Has_Self_Reference
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Aggregate
+ or else NT (N).Nkind = N_Extension_Aggregate);
+ return Flag13 (N);
+ end Has_Self_Reference;
+
function Has_Storage_Size_Pragma
(N : Node_Id) return Boolean is
begin
return Flag11 (N);
end Has_Wide_Character;
+ function Has_Wide_Wide_Character
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_String_Literal);
+ return Flag13 (N);
+ end Has_Wide_Wide_Character;
+
function Hidden_By_Use_Clause
(N : Node_Id) return Elist_Id is
begin
(N : Node_Id) return Node_Id is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Aspect_Specification
or else NT (N).Nkind = N_At_Clause
or else NT (N).Nkind = N_Block_Statement
or else NT (N).Nkind = N_Designator
return Flag16 (N);
end Interface_Present;
+ function Import_Interface_Present
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ return Flag16 (N);
+ end Import_Interface_Present;
+
function In_Present
(N : Node_Id) return Boolean is
begin
return Flag11 (N);
end Includes_Infinities;
+ function Inherited_Discriminant
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Component_Association);
+ return Flag13 (N);
+ end Inherited_Discriminant;
+
function Instance_Spec
(N : Node_Id) return Node_Id is
begin
return Uint3 (N);
end Intval;
+ function Is_Accessibility_Actual
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Parameter_Association);
+ return Flag13 (N);
+ end Is_Accessibility_Actual;
+
function Is_Asynchronous_Call_Block
(N : Node_Id) return Boolean 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
return Flag16 (N);
end Is_Controlling_Actual;
+ function Is_Delayed_Aspect
+ (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);
+ end Is_Delayed_Aspect;
+
+ function Is_Dynamic_Coextension
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Allocator);
+ return Flag18 (N);
+ end Is_Dynamic_Coextension;
+
+ function Is_Elsif
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Conditional_Expression);
+ return Flag13 (N);
+ end Is_Elsif;
+
+ function Is_Entry_Barrier_Function
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Subprogram_Body);
+ return Flag8 (N);
+ end Is_Entry_Barrier_Function;
+
+ function Is_Expanded_Build_In_Place_Call
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Function_Call);
+ return Flag11 (N);
+ end Is_Expanded_Build_In_Place_Call;
+
+ function Is_Folded_In_Parser
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_String_Literal);
+ return Flag4 (N);
+ end Is_Folded_In_Parser;
+
function Is_In_Discriminant_Check
(N : Node_Id) return Boolean is
begin
return Flag7 (N);
end Is_Protected_Subprogram_Body;
+ function Is_Static_Coextension
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Allocator);
+ return Flag14 (N);
+ end Is_Static_Coextension;
+
function Is_Static_Expression
(N : Node_Id) return Boolean is
begin
return Node2 (N);
end Iteration_Scheme;
+ function Iterator_Specification
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Iteration_Scheme
+ or else NT (N).Nkind = N_Quantified_Expression);
+ return Node2 (N);
+ end Iterator_Specification;
+
function Itype
(N : Node_Id) return Node_Id is
begin
begin
pragma Assert (False
or else NT (N).Nkind = N_Derived_Type_Definition
+ or else NT (N).Nkind = N_Formal_Derived_Type_Definition
or else NT (N).Nkind = N_Formal_Private_Type_Definition
or else NT (N).Nkind = N_Private_Extension_Declaration
or else NT (N).Nkind = N_Private_Type_Declaration
return List1 (N);
end Literals;
+ function Local_Raise_Not_OK
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Exception_Handler);
+ return Flag7 (N);
+ end Local_Raise_Not_OK;
+
+ function Local_Raise_Statements
+ (N : Node_Id) return Elist_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Exception_Handler);
+ return Elist1 (N);
+ end Local_Raise_Statements;
+
function Loop_Actions
(N : Node_Id) return List_Id is
begin
(N : Node_Id) return Node_Id is
begin
pragma Assert (False
- or else NT (N).Nkind = N_Iteration_Scheme);
+ or else NT (N).Nkind = N_Iteration_Scheme
+ or else NT (N).Nkind = N_Quantified_Expression);
return Node4 (N);
end Loop_Parameter_Specification;
or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
or else NT (N).Nkind = N_Goto_Statement
+ or else NT (N).Nkind = N_Iterator_Specification
or else NT (N).Nkind = N_Object_Renaming_Declaration
or else NT (N).Nkind = N_Package_Instantiation
or else NT (N).Nkind = N_Package_Renaming_Declaration
or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
or else NT (N).Nkind = N_Subunit
or else NT (N).Nkind = N_Variant_Part
- or else NT (N).Nkind = N_With_Clause
- or else NT (N).Nkind = N_With_Type_Clause);
+ or else NT (N).Nkind = N_With_Clause);
return Node2 (N);
end Name;
return Node2 (N);
end Next_Entity;
+ function Next_Exit_Statement
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Exit_Statement);
+ return Node3 (N);
+ end Next_Exit_Statement;
+
+ function Next_Implicit_With
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_With_Clause);
+ return Node3 (N);
+ end Next_Implicit_With;
+
function Next_Named_Actual
(N : Node_Id) return Node_Id is
begin
return Node4 (N);
end Next_Named_Actual;
- function Next_Rep_Item
+ function Next_Pragma
(N : Node_Id) return Node_Id is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ return Node1 (N);
+ end Next_Pragma;
+
+ function Next_Rep_Item
+ (N : Node_Id) return Node_Id 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_Enumeration_Representation_Clause
or else NT (N).Nkind = N_Pragma
or else NT (N).Nkind = N_Record_Representation_Clause);
- return Node4 (N);
+ return Node5 (N);
end Next_Rep_Item;
function Next_Use_Clause
or else NT (N).Nkind = N_Component_Definition
or else NT (N).Nkind = N_Derived_Type_Definition
or else NT (N).Nkind = N_Discriminant_Specification
+ or else NT (N).Nkind = N_Formal_Object_Declaration
or else NT (N).Nkind = N_Function_Specification
or else NT (N).Nkind = N_Object_Declaration
+ or else NT (N).Nkind = N_Object_Renaming_Declaration
or else NT (N).Nkind = N_Parameter_Specification
or else NT (N).Nkind = N_Subtype_Declaration);
return Flag11 (N);
end Null_Exclusion_Present;
+ function Null_Exclusion_In_Return_Present
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Access_Function_Definition);
+ return Flag14 (N);
+ end Null_Exclusion_In_Return_Present;
+
function Null_Record_Present
(N : Node_Id) return Boolean is
begin
return Node4 (N);
end Object_Definition;
+ function Of_Present
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Iterator_Specification);
+ return Flag16 (N);
+ end Of_Present;
+
function Original_Discriminant
(N : Node_Id) return Node_Id 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
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ return Node4 (N);
+ end Pragma_Identifier;
+
function Pragmas_After
(N : Node_Id) return List_Id is
begin
begin
pragma Assert (False
or else NT (N).Nkind = N_Allocator
+ or else NT (N).Nkind = N_Extended_Return_Statement
or else NT (N).Nkind = N_Free_Statement
or else NT (N).Nkind = N_Return_Statement);
- return Node4 (N);
+ return Node2 (N);
end Procedure_To_Call;
function Proper_Body
return Flag13 (N);
end Redundant_Use;
+ function Renaming_Exception
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Exception_Declaration);
+ return Node2 (N);
+ end Renaming_Exception;
+
function Result_Definition
(N : Node_Id) return Node_Id is
begin
return Node4 (N);
end Result_Definition;
- function Return_Type
- (N : Node_Id) return Node_Id is
+ function Return_Object_Declarations
+ (N : Node_Id) return List_Id is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Extended_Return_Statement);
+ return List3 (N);
+ end Return_Object_Declarations;
+
+ function Return_Statement_Entity
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Extended_Return_Statement
or else NT (N).Nkind = N_Return_Statement);
- return Node2 (N);
- end Return_Type;
+ return Node5 (N);
+ end Return_Statement_Entity;
function Reverse_Present
(N : Node_Id) return Boolean is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Iterator_Specification
or else NT (N).Nkind = N_Loop_Parameter_Specification);
return Flag15 (N);
end Reverse_Present;
return Flag18 (N);
end Rounded_Result;
+ function SCIL_Controlling_Tag
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_SCIL_Dispatching_Call);
+ return Node5 (N);
+ end SCIL_Controlling_Tag;
+
+ function SCIL_Entity
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_SCIL_Dispatch_Table_Tag_Init
+ or else NT (N).Nkind = N_SCIL_Dispatching_Call
+ or else NT (N).Nkind = N_SCIL_Membership_Test);
+ return Node4 (N);
+ end SCIL_Entity;
+
+ function SCIL_Tag_Value
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_SCIL_Membership_Test);
+ return Node5 (N);
+ end SCIL_Tag_Value;
+
+ function SCIL_Target_Prim
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_SCIL_Dispatching_Call);
+ return Node2 (N);
+ end SCIL_Target_Prim;
+
function Scope
(N : Node_Id) return Node_Id is
begin
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
return Node1 (N);
end Specification;
+ function Split_PPC
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Aspect_Specification
+ or else NT (N).Nkind = N_Pragma);
+ return Flag17 (N);
+ end Split_PPC;
+
function Statements
(N : Node_Id) return List_Id is
begin
begin
pragma Assert (False
or else NT (N).Nkind = N_Allocator
+ or else NT (N).Nkind = N_Extended_Return_Statement
or else NT (N).Nkind = N_Free_Statement
or else NT (N).Nkind = N_Return_Statement);
return Node1 (N);
or else NT (N).Nkind = N_Access_To_Object_Definition
or else NT (N).Nkind = N_Component_Definition
or else NT (N).Nkind = N_Derived_Type_Definition
+ or else NT (N).Nkind = N_Iterator_Specification
or else NT (N).Nkind = N_Private_Extension_Declaration
or else NT (N).Nkind = N_Subtype_Declaration);
return Node5 (N);
end Subtype_Indication;
+ function Suppress_Assignment_Checks
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Assignment_Statement
+ or else NT (N).Nkind = N_Object_Declaration);
+ return Flag18 (N);
+ end Suppress_Assignment_Checks;
+
+ function Suppress_Loop_Warnings
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Loop_Statement);
+ return Flag17 (N);
+ end Suppress_Loop_Warnings;
+
function Subtype_Mark
(N : Node_Id) return Node_Id is
begin
begin
pragma Assert (False
or else NT (N).Nkind = N_Derived_Type_Definition
+ or else NT (N).Nkind = N_Formal_Derived_Type_Definition
+ or else NT (N).Nkind = N_Private_Extension_Declaration
or else NT (N).Nkind = N_Record_Definition);
return Flag7 (N);
end Synchronized_Present;
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
- or else NT (N).Nkind = N_Record_Definition
- or else NT (N).Nkind = N_With_Type_Clause);
+ or else NT (N).Nkind = N_Record_Definition);
return Flag15 (N);
end Tagged_Present;
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 Flag13 (N);
end Was_Originally_Stub;
+ function Withed_Body
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_With_Clause);
+ return Node1 (N);
+ end Withed_Body;
+
function Zero_Cost_Handling
(N : Node_Id) return Boolean is
begin
begin
pragma Assert (False
or else NT (N).Nkind = N_Component_Definition
+ or else NT (N).Nkind = N_Formal_Object_Declaration
or else NT (N).Nkind = N_Object_Renaming_Declaration);
Set_Node3_With_Parent (N, Val);
end Set_Access_Definition;
begin
pragma Assert (False
or else NT (N).Nkind = N_And_Then
+ or else NT (N).Nkind = N_Case_Expression_Alternative
or else NT (N).Nkind = N_Compilation_Unit_Aux
+ or else NT (N).Nkind = N_Expression_With_Actions
or else NT (N).Nkind = N_Freeze_Entity
or else NT (N).Nkind = N_Or_Else);
Set_List1_With_Parent (N, Val);
Set_Flag4 (N, Val);
end Set_Acts_As_Spec;
+ procedure Set_Actual_Designated_Subtype
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Explicit_Dereference
+ or else NT (N).Nkind = N_Free_Statement);
+ Set_Node4 (N, Val);
+ end Set_Actual_Designated_Subtype;
+
+ procedure Set_Address_Warning_Posted
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Attribute_Definition_Clause);
+ Set_Flag18 (N, Val);
+ end Set_Address_Warning_Posted;
+
procedure Set_Aggregate_Bounds
(N : Node_Id; Val : Node_Id) is
begin
begin
pragma Assert (False
or else NT (N).Nkind = N_Access_Definition
- or else NT (N).Nkind = N_Access_To_Object_Definition);
+ or else NT (N).Nkind = N_Access_To_Object_Definition
+ or else NT (N).Nkind = N_Quantified_Expression
+ or else NT (N).Nkind = N_Use_Type_Clause);
Set_Flag15 (N, Val);
end Set_All_Present;
(N : Node_Id; Val : List_Id) is
begin
pragma Assert (False
- or else NT (N).Nkind = N_Case_Statement);
+ or else NT (N).Nkind = N_Case_Expression
+ or else NT (N).Nkind = N_Case_Statement
+ or else NT (N).Nkind = N_In
+ or else NT (N).Nkind = N_Not_In);
Set_List4_With_Parent (N, Val);
end Set_Alternatives;
Set_Node3_With_Parent (N, Val);
end Set_Array_Aggregate;
+ procedure Set_Aspect_Rep_Item
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Aspect_Specification);
+ Set_Node2 (N, Val);
+ end Set_Aspect_Rep_Item;
+
procedure Set_Assignment_OK
(N : Node_Id; Val : Boolean := True) is
begin
or else NT (N).Nkind = N_Component_Association
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_Formal_Package_Declaration);
+ or else NT (N).Nkind = N_Formal_Package_Declaration
+ or else NT (N).Nkind = N_Generic_Association);
Set_Flag15 (N, Val);
end Set_Box_Present;
(N : Node_Id; Val : Boolean := True) is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Extended_Return_Statement
or else NT (N).Nkind = N_Return_Statement);
Set_Flag5 (N, Val);
end Set_By_Ref;
Set_List1_With_Parent (N, Val);
end Set_Choices;
+ procedure Set_Class_Present
+ (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_Pragma);
+ 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
+ pragma Assert (False
+ or else NT (N).Nkind = N_Return_Statement);
+ Set_Flag18 (N, Val);
+ end Set_Comes_From_Extended_Return_Statement;
+
procedure Set_Compile_Time_Known_Aggregate
(N : Node_Id; Val : Boolean := True) is
begin
Set_Node1_With_Parent (N, Val);
end Set_Component_Name;
+ procedure Set_Componentwise_Assignment
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Assignment_Statement);
+ Set_Flag14 (N, Val);
+ end Set_Componentwise_Assignment;
+
procedure Set_Condition
(N : Node_Id; Val : Node_Id) is
begin
or else NT (N).Nkind = N_Exit_Statement
or else NT (N).Nkind = N_If_Statement
or else NT (N).Nkind = N_Iteration_Scheme
+ or else NT (N).Nkind = N_Quantified_Expression
or else NT (N).Nkind = N_Raise_Constraint_Error
or else NT (N).Nkind = N_Raise_Program_Error
or else NT (N).Nkind = N_Raise_Storage_Error
Set_List1_With_Parent (N, Val);
end Set_Context_Items;
+ procedure Set_Context_Pending
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Compilation_Unit);
+ Set_Flag16 (N, Val);
+ end Set_Context_Pending;
+
procedure Set_Controlling_Argument
(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_Formal_Object_Declaration
or else NT (N).Nkind = N_Parameter_Specification);
Set_Node5 (N, Val); -- semantic field, no parent set
end Set_Default_Expression;
+ procedure Set_Default_Storage_Pool
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Compilation_Unit_Aux);
+ Set_Node3 (N, Val); -- semantic field, no parent set
+ end Set_Default_Storage_Pool;
+
procedure Set_Default_Name
(N : Node_Id; Val : Node_Id) is
begin
or else NT (N).Nkind = N_Full_Type_Declaration
or else NT (N).Nkind = N_Implicit_Label_Declaration
or else NT (N).Nkind = N_Incomplete_Type_Declaration
+ or else NT (N).Nkind = N_Iterator_Specification
or else NT (N).Nkind = N_Loop_Parameter_Specification
or else NT (N).Nkind = N_Number_Declaration
or else NT (N).Nkind = N_Object_Declaration
Set_Node4_With_Parent (N, Val);
end Set_Delay_Alternative;
- procedure Set_Delay_Finalize_Attach
- (N : Node_Id; Val : Boolean := True) is
- begin
- pragma Assert (False
- or else NT (N).Nkind = N_Object_Declaration);
- Set_Flag14 (N, Val);
- end Set_Delay_Finalize_Attach;
-
procedure Set_Delay_Statement
(N : Node_Id; Val : Node_Id) is
begin
(N : Node_Id; Val : List_Id) is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Case_Expression_Alternative
or else NT (N).Nkind = N_Case_Statement_Alternative
or else NT (N).Nkind = N_Variant);
Set_List4_With_Parent (N, Val);
begin
pragma Assert (False
or else NT (N).Nkind = N_Assignment_Statement
+ or else NT (N).Nkind = N_Extended_Return_Statement
or else NT (N).Nkind = N_Function_Call
or else NT (N).Nkind = N_Procedure_Call_Statement
or else NT (N).Nkind = N_Return_Statement
Set_Flag13 (N, Val);
end Set_Do_Tag_Check;
+ procedure Set_Elaborate_All_Desirable
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_With_Clause);
+ Set_Flag9 (N, Val);
+ end Set_Elaborate_All_Desirable;
+
procedure Set_Elaborate_All_Present
(N : Node_Id; Val : Boolean := True) is
begin
Set_Flag14 (N, Val);
end Set_Elaborate_All_Present;
+ procedure Set_Elaborate_Desirable
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_With_Clause);
+ Set_Flag11 (N, Val);
+ end Set_Elaborate_Desirable;
+
procedure Set_Elaborate_Present
(N : Node_Id; Val : Boolean := True) is
begin
begin
pragma Assert (False
or else NT (N).Nkind in N_Has_Entity
+ or else NT (N).Nkind = N_Aspect_Specification
+ or else NT (N).Nkind = N_Attribute_Definition_Clause
or else NT (N).Nkind = N_Freeze_Entity);
Set_Node4 (N, Val); -- semantic field, no parent set
end Set_Entity;
(N : Node_Id; Val : Boolean := True) is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Block_Statement
or else NT (N).Nkind = N_Goto_Statement
or else NT (N).Nkind = N_Label
or else NT (N).Nkind = N_Object_Declaration
or else NT (N).Nkind = N_Subtype_Declaration);
- Set_Flag7 (N, Val);
+ Set_Flag8 (N, Val);
end Set_Exception_Junk;
+ procedure Set_Exception_Label
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Exception_Handler
+ or else NT (N).Nkind = N_Push_Constraint_Error_Label
+ or else NT (N).Nkind = N_Push_Program_Error_Label
+ or else NT (N).Nkind = N_Push_Storage_Error_Label);
+ Set_Node5 (N, Val); -- semantic field, no parent set
+ end Set_Exception_Label;
+
procedure Set_Expansion_Delayed
(N : Node_Id; Val : Boolean := True) is
begin
begin
pragma Assert (False
or else NT (N).Nkind = N_Allocator
+ or else NT (N).Nkind = N_Aspect_Specification
or else NT (N).Nkind = N_Assignment_Statement
or else NT (N).Nkind = N_At_Clause
or else NT (N).Nkind = N_Attribute_Definition_Clause
+ or else NT (N).Nkind = N_Case_Expression
+ or else NT (N).Nkind = N_Case_Expression_Alternative
or else NT (N).Nkind = N_Case_Statement
or else NT (N).Nkind = N_Code_Statement
or else NT (N).Nkind = N_Component_Association
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_Formal_Object_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_Modular_Type_Definition
Set_Flag5 (N, Val);
end Set_Forwards_OK;
+ procedure Set_From_Aspect_Specification
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Attribute_Definition_Clause
+ or else NT (N).Nkind = N_Pragma);
+ Set_Flag13 (N, Val);
+ end Set_From_Aspect_Specification;
+
+ procedure Set_From_At_End
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Raise_Statement);
+ Set_Flag4 (N, Val);
+ end Set_From_At_End;
+
procedure Set_From_At_Mod
(N : Node_Id; Val : Boolean := True) is
begin
Set_Flag6 (N, Val);
end Set_From_Default;
+ procedure Set_From_Dynamic_Predicate
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ Set_Flag7 (N, Val);
+ end Set_From_Dynamic_Predicate;
+
+ procedure Set_From_Static_Predicate
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ Set_Flag8 (N, Val);
+ end Set_From_Static_Predicate;
+
procedure Set_Generic_Associations
(N : Node_Id; Val : List_Id) is
begin
or else NT (N).Nkind = N_Accept_Statement
or else NT (N).Nkind = N_Block_Statement
or else NT (N).Nkind = N_Entry_Body
+ or else NT (N).Nkind = N_Extended_Return_Statement
or else NT (N).Nkind = N_Package_Body
or else NT (N).Nkind = N_Subprogram_Body
or else NT (N).Nkind = N_Task_Body);
Set_Flag12 (N, Val);
end Set_Has_Dynamic_Range_Check;
+ procedure Set_Has_Init_Expression
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Object_Declaration);
+ Set_Flag14 (N, Val);
+ end Set_Has_Init_Expression;
+
+ procedure Set_Has_Local_Raise
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Exception_Handler);
+ Set_Flag8 (N, Val);
+ end Set_Has_Local_Raise;
+
procedure Set_Has_No_Elaboration_Code
(N : Node_Id; Val : Boolean := True) is
begin
Set_Flag17 (N, Val);
end Set_Has_No_Elaboration_Code;
- procedure Set_Has_Priority_Pragma
+ procedure Set_Has_Pragma_CPU
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Subprogram_Body
+ or else NT (N).Nkind = N_Task_Definition);
+ Set_Flag14 (N, Val);
+ end Set_Has_Pragma_CPU;
+
+ procedure Set_Has_Pragma_Priority
(N : Node_Id; Val : Boolean := True) is
begin
pragma Assert (False
or else NT (N).Nkind = N_Subprogram_Body
or else NT (N).Nkind = N_Task_Definition);
Set_Flag6 (N, Val);
- end Set_Has_Priority_Pragma;
+ end Set_Has_Pragma_Priority;
+
+ procedure Set_Has_Pragma_Suppress_All
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Compilation_Unit);
+ Set_Flag14 (N, Val);
+ end Set_Has_Pragma_Suppress_All;
procedure Set_Has_Private_View
(N : Node_Id; Val : Boolean := True) is
Set_Flag11 (N, Val);
end Set_Has_Private_View;
+ procedure Set_Has_Relative_Deadline_Pragma
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Subprogram_Body
+ or else NT (N).Nkind = N_Task_Definition);
+ Set_Flag9 (N, Val);
+ end Set_Has_Relative_Deadline_Pragma;
+
+ procedure Set_Has_Self_Reference
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Aggregate
+ or else NT (N).Nkind = N_Extension_Aggregate);
+ Set_Flag13 (N, Val);
+ end Set_Has_Self_Reference;
+
procedure Set_Has_Storage_Size_Pragma
(N : Node_Id; Val : Boolean := True) is
begin
Set_Flag11 (N, Val);
end Set_Has_Wide_Character;
+ procedure Set_Has_Wide_Wide_Character
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_String_Literal);
+ Set_Flag13 (N, Val);
+ end Set_Has_Wide_Wide_Character;
+
procedure Set_Hidden_By_Use_Clause
(N : Node_Id; Val : Elist_Id) is
begin
(N : Node_Id; Val : Node_Id) is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Aspect_Specification
or else NT (N).Nkind = N_At_Clause
or else NT (N).Nkind = N_Block_Statement
or else NT (N).Nkind = N_Designator
Set_Flag16 (N, Val);
end Set_Interface_Present;
+ procedure Set_Import_Interface_Present
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ Set_Flag16 (N, Val);
+ end Set_Import_Interface_Present;
+
procedure Set_In_Present
(N : Node_Id; Val : Boolean := True) is
begin
Set_Flag11 (N, Val);
end Set_Includes_Infinities;
+ procedure Set_Inherited_Discriminant
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Component_Association);
+ Set_Flag13 (N, Val);
+ end Set_Inherited_Discriminant;
+
procedure Set_Instance_Spec
(N : Node_Id; Val : Node_Id) is
begin
Set_Uint3 (N, Val);
end Set_Intval;
+ procedure Set_Is_Accessibility_Actual
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Parameter_Association);
+ Set_Flag13 (N, Val);
+ end Set_Is_Accessibility_Actual;
+
procedure Set_Is_Asynchronous_Call_Block
(N : Node_Id; Val : Boolean := True) 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
Set_Flag16 (N, Val);
end Set_Is_Controlling_Actual;
+ procedure Set_Is_Delayed_Aspect
+ (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);
+ end Set_Is_Delayed_Aspect;
+
+ procedure Set_Is_Dynamic_Coextension
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Allocator);
+ Set_Flag18 (N, Val);
+ end Set_Is_Dynamic_Coextension;
+
+ procedure Set_Is_Elsif
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Conditional_Expression);
+ Set_Flag13 (N, Val);
+ end Set_Is_Elsif;
+
+ procedure Set_Is_Entry_Barrier_Function
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Subprogram_Body);
+ Set_Flag8 (N, Val);
+ end Set_Is_Entry_Barrier_Function;
+
+ procedure Set_Is_Expanded_Build_In_Place_Call
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Function_Call);
+ Set_Flag11 (N, Val);
+ end Set_Is_Expanded_Build_In_Place_Call;
+
+ procedure Set_Is_Folded_In_Parser
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_String_Literal);
+ Set_Flag4 (N, Val);
+ end Set_Is_Folded_In_Parser;
+
procedure Set_Is_In_Discriminant_Check
(N : Node_Id; Val : Boolean := True) is
begin
Set_Flag7 (N, Val);
end Set_Is_Protected_Subprogram_Body;
+ procedure Set_Is_Static_Coextension
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Allocator);
+ Set_Flag14 (N, Val);
+ end Set_Is_Static_Coextension;
+
procedure Set_Is_Static_Expression
(N : Node_Id; Val : Boolean := True) is
begin
Set_Node2_With_Parent (N, Val);
end Set_Iteration_Scheme;
+ procedure Set_Iterator_Specification
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Iteration_Scheme
+ or else NT (N).Nkind = N_Quantified_Expression);
+ Set_Node2_With_Parent (N, Val);
+ end Set_Iterator_Specification;
+
procedure Set_Itype
(N : Node_Id; Val : Entity_Id) is
begin
begin
pragma Assert (False
or else NT (N).Nkind = N_Derived_Type_Definition
+ or else NT (N).Nkind = N_Formal_Derived_Type_Definition
or else NT (N).Nkind = N_Formal_Private_Type_Definition
or else NT (N).Nkind = N_Private_Extension_Declaration
or else NT (N).Nkind = N_Private_Type_Declaration
Set_List1_With_Parent (N, Val);
end Set_Literals;
+ procedure Set_Local_Raise_Not_OK
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Exception_Handler);
+ Set_Flag7 (N, Val);
+ end Set_Local_Raise_Not_OK;
+
+ procedure Set_Local_Raise_Statements
+ (N : Node_Id; Val : Elist_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Exception_Handler);
+ Set_Elist1 (N, Val);
+ end Set_Local_Raise_Statements;
+
procedure Set_Loop_Actions
(N : Node_Id; Val : List_Id) is
begin
(N : Node_Id; Val : Node_Id) is
begin
pragma Assert (False
- or else NT (N).Nkind = N_Iteration_Scheme);
+ or else NT (N).Nkind = N_Iteration_Scheme
+ or else NT (N).Nkind = N_Quantified_Expression);
Set_Node4_With_Parent (N, Val);
end Set_Loop_Parameter_Specification;
or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
or else NT (N).Nkind = N_Goto_Statement
+ or else NT (N).Nkind = N_Iterator_Specification
or else NT (N).Nkind = N_Object_Renaming_Declaration
or else NT (N).Nkind = N_Package_Instantiation
or else NT (N).Nkind = N_Package_Renaming_Declaration
or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
or else NT (N).Nkind = N_Subunit
or else NT (N).Nkind = N_Variant_Part
- or else NT (N).Nkind = N_With_Clause
- or else NT (N).Nkind = N_With_Type_Clause);
+ or else NT (N).Nkind = N_With_Clause);
Set_Node2_With_Parent (N, Val);
end Set_Name;
Set_Node2 (N, Val); -- semantic field, no parent set
end Set_Next_Entity;
+ procedure Set_Next_Exit_Statement
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Exit_Statement);
+ Set_Node3 (N, Val); -- semantic field, no parent set
+ end Set_Next_Exit_Statement;
+
+ procedure Set_Next_Implicit_With
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_With_Clause);
+ Set_Node3 (N, Val); -- semantic field, no parent set
+ end Set_Next_Implicit_With;
+
procedure Set_Next_Named_Actual
(N : Node_Id; Val : Node_Id) is
begin
Set_Node4 (N, Val); -- semantic field, no parent set
end Set_Next_Named_Actual;
+ procedure Set_Next_Pragma
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ Set_Node1 (N, Val); -- semantic field, no parent set
+ end Set_Next_Pragma;
+
procedure Set_Next_Rep_Item
(N : Node_Id; Val : Node_Id) 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_Enumeration_Representation_Clause
or else NT (N).Nkind = N_Pragma
or else NT (N).Nkind = N_Record_Representation_Clause);
- Set_Node4 (N, Val); -- semantic field, no parent set
+ Set_Node5 (N, Val); -- semantic field, no parent set
end Set_Next_Rep_Item;
procedure Set_Next_Use_Clause
or else NT (N).Nkind = N_Component_Definition
or else NT (N).Nkind = N_Derived_Type_Definition
or else NT (N).Nkind = N_Discriminant_Specification
+ or else NT (N).Nkind = N_Formal_Object_Declaration
or else NT (N).Nkind = N_Function_Specification
or else NT (N).Nkind = N_Object_Declaration
+ or else NT (N).Nkind = N_Object_Renaming_Declaration
or else NT (N).Nkind = N_Parameter_Specification
or else NT (N).Nkind = N_Subtype_Declaration);
Set_Flag11 (N, Val);
end Set_Null_Exclusion_Present;
+ procedure Set_Null_Exclusion_In_Return_Present
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Access_Function_Definition);
+ Set_Flag14 (N, Val);
+ end Set_Null_Exclusion_In_Return_Present;
+
procedure Set_Null_Record_Present
(N : Node_Id; Val : Boolean := True) is
begin
Set_Node4_With_Parent (N, Val);
end Set_Object_Definition;
+ procedure Set_Of_Present
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Iterator_Specification);
+ Set_Flag16 (N, Val);
+ end Set_Of_Present;
+
procedure Set_Original_Discriminant
(N : Node_Id; Val : Node_Id) 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
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ Set_Node4_With_Parent (N, Val);
+ end Set_Pragma_Identifier;
+
procedure Set_Pragmas_After
(N : Node_Id; Val : List_Id) is
begin
begin
pragma Assert (False
or else NT (N).Nkind = N_Allocator
+ or else NT (N).Nkind = N_Extended_Return_Statement
or else NT (N).Nkind = N_Free_Statement
or else NT (N).Nkind = N_Return_Statement);
- Set_Node4 (N, Val); -- semantic field, no parent set
+ Set_Node2 (N, Val); -- semantic field, no parent set
end Set_Procedure_To_Call;
procedure Set_Proper_Body
Set_Flag13 (N, Val);
end Set_Redundant_Use;
+ procedure Set_Renaming_Exception
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Exception_Declaration);
+ Set_Node2 (N, Val);
+ end Set_Renaming_Exception;
+
procedure Set_Result_Definition
(N : Node_Id; Val : Node_Id) is
begin
Set_Node4_With_Parent (N, Val);
end Set_Result_Definition;
- procedure Set_Return_Type
- (N : Node_Id; Val : Node_Id) is
+ procedure Set_Return_Object_Declarations
+ (N : Node_Id; Val : List_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Extended_Return_Statement);
+ Set_List3_With_Parent (N, Val);
+ end Set_Return_Object_Declarations;
+
+ procedure Set_Return_Statement_Entity
+ (N : Node_Id; Val : Node_Id) is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Extended_Return_Statement
or else NT (N).Nkind = N_Return_Statement);
- Set_Node2 (N, Val); -- semantic field, no parent set
- end Set_Return_Type;
+ Set_Node5 (N, Val); -- semantic field, no parent set
+ end Set_Return_Statement_Entity;
procedure Set_Reverse_Present
(N : Node_Id; Val : Boolean := True) is
begin
pragma Assert (False
+ or else NT (N).Nkind = N_Iterator_Specification
or else NT (N).Nkind = N_Loop_Parameter_Specification);
Set_Flag15 (N, Val);
end Set_Reverse_Present;
Set_Flag18 (N, Val);
end Set_Rounded_Result;
+ procedure Set_SCIL_Controlling_Tag
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_SCIL_Dispatching_Call);
+ Set_Node5 (N, Val); -- semantic field, no parent set
+ end Set_SCIL_Controlling_Tag;
+
+ procedure Set_SCIL_Entity
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_SCIL_Dispatch_Table_Tag_Init
+ or else NT (N).Nkind = N_SCIL_Dispatching_Call
+ or else NT (N).Nkind = N_SCIL_Membership_Test);
+ Set_Node4 (N, Val); -- semantic field, no parent set
+ end Set_SCIL_Entity;
+
+ procedure Set_SCIL_Tag_Value
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_SCIL_Membership_Test);
+ Set_Node5 (N, Val); -- semantic field, no parent set
+ end Set_SCIL_Tag_Value;
+
+ procedure Set_SCIL_Target_Prim
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_SCIL_Dispatching_Call);
+ Set_Node2 (N, Val); -- semantic field, no parent set
+ end Set_SCIL_Target_Prim;
+
procedure Set_Scope
(N : Node_Id; Val : Node_Id) is
begin
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
Set_Node1_With_Parent (N, Val);
end Set_Specification;
+ procedure Set_Split_PPC
+ (N : Node_Id; Val : Boolean) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Aspect_Specification
+ or else NT (N).Nkind = N_Pragma);
+ Set_Flag17 (N, Val);
+ end Set_Split_PPC;
+
procedure Set_Statements
(N : Node_Id; Val : List_Id) is
begin
begin
pragma Assert (False
or else NT (N).Nkind = N_Allocator
+ or else NT (N).Nkind = N_Extended_Return_Statement
or else NT (N).Nkind = N_Free_Statement
or else NT (N).Nkind = N_Return_Statement);
Set_Node1 (N, Val); -- semantic field, no parent set
or else NT (N).Nkind = N_Access_To_Object_Definition
or else NT (N).Nkind = N_Component_Definition
or else NT (N).Nkind = N_Derived_Type_Definition
+ or else NT (N).Nkind = N_Iterator_Specification
or else NT (N).Nkind = N_Private_Extension_Declaration
or else NT (N).Nkind = N_Subtype_Declaration);
Set_Node5_With_Parent (N, Val);
Set_List2_With_Parent (N, Val);
end Set_Subtype_Marks;
+ procedure Set_Suppress_Assignment_Checks
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Assignment_Statement
+ or else NT (N).Nkind = N_Object_Declaration);
+ Set_Flag18 (N, Val);
+ end Set_Suppress_Assignment_Checks;
+
+ procedure Set_Suppress_Loop_Warnings
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Loop_Statement);
+ Set_Flag17 (N, Val);
+ end Set_Suppress_Loop_Warnings;
+
procedure Set_Synchronized_Present
(N : Node_Id; Val : Boolean := True) is
begin
pragma Assert (False
or else NT (N).Nkind = N_Derived_Type_Definition
+ or else NT (N).Nkind = N_Formal_Derived_Type_Definition
+ or else NT (N).Nkind = N_Private_Extension_Declaration
or else NT (N).Nkind = N_Record_Definition);
Set_Flag7 (N, Val);
end Set_Synchronized_Present;
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
- or else NT (N).Nkind = N_Record_Definition
- or else NT (N).Nkind = N_With_Type_Clause);
+ or else NT (N).Nkind = N_Record_Definition);
Set_Flag15 (N, Val);
end Set_Tagged_Present;
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_Flag13 (N, Val);
end Set_Was_Originally_Stub;
+ procedure Set_Withed_Body
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_With_Clause);
+ Set_Node1 (N, Val);
+ end Set_Withed_Body;
+
procedure Set_Zero_Cost_Handling
(N : Node_Id; Val : Boolean := True) is
begin
function End_Location (N : Node_Id) return Source_Ptr is
L : constant Uint := End_Span (N);
-
begin
if L = No_Uint then
return No_Location;
end if;
end End_Location;
+ --------------------
+ -- Get_Pragma_Arg --
+ --------------------
+
+ function Get_Pragma_Arg (Arg : Node_Id) return Node_Id is
+ begin
+ if Nkind (Arg) = N_Pragma_Argument_Association then
+ return Expression (Arg);
+ else
+ return Arg;
+ end if;
+ end Get_Pragma_Arg;
+
----------------------
-- Set_End_Location --
----------------------
UI_From_Int (Int (S) - Int (Sloc (N))));
end Set_End_Location;
+ --------------
+ -- Nkind_In --
+ --------------
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind;
+ V4 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3 or else
+ T = V4;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind;
+ V4 : Node_Kind;
+ V5 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3 or else
+ T = V4 or else
+ T = V5;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind;
+ V4 : Node_Kind;
+ V5 : Node_Kind;
+ V6 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3 or else
+ T = V4 or else
+ T = V5 or else
+ T = V6;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind;
+ V4 : Node_Kind;
+ V5 : Node_Kind;
+ V6 : Node_Kind;
+ V7 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3 or else
+ T = V4 or else
+ T = V5 or else
+ T = V6 or else
+ T = V7;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind;
+ V4 : Node_Kind;
+ V5 : Node_Kind;
+ V6 : Node_Kind;
+ V7 : Node_Kind;
+ V8 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3 or else
+ T = V4 or else
+ T = V5 or else
+ T = V6 or else
+ T = V7 or else
+ T = V8;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind;
+ V4 : Node_Kind;
+ V5 : Node_Kind;
+ V6 : Node_Kind;
+ V7 : Node_Kind;
+ V8 : Node_Kind;
+ V9 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3 or else
+ T = V4 or else
+ T = V5 or else
+ T = V6 or else
+ T = V7 or else
+ T = V8 or else
+ T = V9;
+ end Nkind_In;
+
+ -----------------
+ -- Pragma_Name --
+ -----------------
+
+ function Pragma_Name (N : Node_Id) return Name_Id is
+ begin
+ return Chars (Pragma_Identifier (N));
+ end Pragma_Name;
+
end Sinfo;