------------------------------------------------------------------------------ -- -- -- GNAT COMPILER COMPONENTS -- -- -- -- S I N F O -- -- -- -- B o d y -- -- -- -- 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- -- -- 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. -- -- -- -- 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 -- -- . -- -- -- -- GNAT was originally developed by the GNAT team at New York University. -- -- Extensive contributions were provided by Ada Core Technologies Inc. -- -- -- ------------------------------------------------------------------------------ pragma Style_Checks (All_Checks); -- No subprogram ordering check, due to logical grouping with Atree; use Atree; package body Sinfo is use Atree.Unchecked_Access; -- This package is one of the few packages which is allowed to make direct -- references to tree nodes (since it is in the business of providing a -- higher level of tree access which other clients are expected to use and -- which implements checks). use Atree_Private_Part; -- The only reason that we ask for direct access to the private part of -- the tree package is so that we can directly reference the Nkind field -- of nodes table entries. We do this since it helps the efficiency of -- the Sinfo debugging checks considerably (note that when we are checking -- Nkind values, we don't need to check for a valid node reference, because -- we will check that anyway when we reference the field). NT : Nodes.Table_Ptr renames Nodes.Table; -- A short hand abbreviation, useful for the debugging checks ---------------------------- -- Field Access Functions -- ---------------------------- function ABE_Is_Certain (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Formal_Package_Declaration or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Package_Instantiation or else NT (N).Nkind = N_Procedure_Call_Statement or else NT (N).Nkind = N_Procedure_Instantiation); return Flag18 (N); end ABE_Is_Certain; function Abort_Present (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Requeue_Statement); return Flag15 (N); end Abort_Present; function Abortable_Part (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Asynchronous_Select); return Node2 (N); end Abortable_Part; function Abstract_Present (N : Node_Id) return Boolean 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_Formal_Private_Type_Definition or else NT (N).Nkind = N_Private_Extension_Declaration or else NT (N).Nkind = N_Private_Type_Declaration or else NT (N).Nkind = N_Record_Definition); return Flag4 (N); end Abstract_Present; function Accept_Handler_Records (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Alternative); return List5 (N); end Accept_Handler_Records; function Accept_Statement (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Alternative); return Node2 (N); end Accept_Statement; function Access_Definition (N : Node_Id) return Node_Id is 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; function Access_To_Subprogram_Definition (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Access_Definition); return Node3 (N); end Access_To_Subprogram_Definition; function Access_Types_To_Process (N : Node_Id) return Elist_Id is begin pragma Assert (False or else NT (N).Nkind = N_Freeze_Entity); return Elist2 (N); end Access_Types_To_Process; function Actions (N : Node_Id) return List_Id is 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); end Actions; function Activation_Chain_Entity (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Block_Statement or else NT (N).Nkind = N_Entry_Body or else NT (N).Nkind = N_Generic_Package_Declaration or else NT (N).Nkind = N_Package_Declaration or else NT (N).Nkind = N_Subprogram_Body or else NT (N).Nkind = N_Task_Body); return Node3 (N); end Activation_Chain_Entity; function Acts_As_Spec (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit or else NT (N).Nkind = N_Subprogram_Body); 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 pragma Assert (False or else NT (N).Nkind = N_Aggregate); return Node3 (N); end Aggregate_Bounds; function Aliased_Present (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Component_Definition or else NT (N).Nkind = N_Object_Declaration); return Flag4 (N); end Aliased_Present; function All_Others (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Others_Choice); return Flag11 (N); end All_Others; function All_Present (N : Node_Id) return Boolean is 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_Quantified_Expression or else NT (N).Nkind = N_Use_Type_Clause); return Flag15 (N); end All_Present; function Alternatives (N : Node_Id) return List_Id is begin pragma Assert (False 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; function Ancestor_Part (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Extension_Aggregate); return Node3 (N); end Ancestor_Part; function Array_Aggregate (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Enumeration_Representation_Clause); 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 pragma Assert (False or else NT (N).Nkind = N_Object_Declaration or else NT (N).Nkind in N_Subexpr); return Flag15 (N); end Assignment_OK; function Associated_Node (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind in N_Has_Entity or else NT (N).Nkind = N_Aggregate or else NT (N).Nkind = N_Extension_Aggregate or else NT (N).Nkind = N_Selected_Component); return Node4 (N); end Associated_Node; function At_End_Proc (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Handled_Sequence_Of_Statements); return Node1 (N); end At_End_Proc; function Attribute_Name (N : Node_Id) return Name_Id is begin pragma Assert (False or else NT (N).Nkind = N_Attribute_Reference); return Name2 (N); end Attribute_Name; function Aux_Decls_Node (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit); return Node5 (N); end Aux_Decls_Node; function Backwards_OK (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Assignment_Statement); return Flag6 (N); end Backwards_OK; function Bad_Is_Detected (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Subprogram_Body); return Flag15 (N); end Bad_Is_Detected; function Body_Required (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit); return Flag13 (N); end Body_Required; function Body_To_Inline (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Subprogram_Declaration); return Node3 (N); end Body_To_Inline; function Box_Present (N : Node_Id) return Boolean is begin pragma Assert (False 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_Generic_Association); return Flag15 (N); end Box_Present; function By_Ref (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; function Char_Literal_Value (N : Node_Id) return Uint is begin pragma Assert (False or else NT (N).Nkind = N_Character_Literal); return Uint2 (N); end Char_Literal_Value; function Chars (N : Node_Id) return Name_Id is begin pragma Assert (False or else NT (N).Nkind in N_Has_Chars); return Name1 (N); end Chars; function Check_Address_Alignment (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Attribute_Definition_Clause); return Flag11 (N); end Check_Address_Alignment; function Choice_Parameter (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Exception_Handler); return Node2 (N); end Choice_Parameter; function Choices (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Component_Association); 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 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 pragma Assert (False or else NT (N).Nkind = N_Aggregate); return Flag18 (N); end Compile_Time_Known_Aggregate; function Component_Associations (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Aggregate or else NT (N).Nkind = N_Extension_Aggregate); return List2 (N); end Component_Associations; function Component_Clauses (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Record_Representation_Clause); return List3 (N); end Component_Clauses; function Component_Definition (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Component_Declaration or else NT (N).Nkind = N_Constrained_Array_Definition or else NT (N).Nkind = N_Unconstrained_Array_Definition); return Node4 (N); end Component_Definition; function Component_Items (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Component_List); return List3 (N); end Component_Items; function Component_List (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Record_Definition or else NT (N).Nkind = N_Variant); return Node1 (N); end Component_List; function Component_Name (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Component_Clause); 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 pragma Assert (False or else NT (N).Nkind = N_Accept_Alternative or else NT (N).Nkind = N_Delay_Alternative or else NT (N).Nkind = N_Elsif_Part or else NT (N).Nkind = N_Entry_Body_Formal_Part 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 or else NT (N).Nkind = N_Terminate_Alternative); return Node1 (N); end Condition; function Condition_Actions (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Elsif_Part or else NT (N).Nkind = N_Iteration_Scheme); return List3 (N); end Condition_Actions; function Config_Pragmas (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit_Aux); return List4 (N); end Config_Pragmas; function Constant_Present (N : Node_Id) return Boolean is 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_Object_Declaration); return Flag17 (N); end Constant_Present; function Constraint (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Subtype_Indication); return Node3 (N); end Constraint; function Constraints (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint); return List1 (N); end Constraints; function Context_Installed (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_With_Clause); return Flag13 (N); end Context_Installed; function Context_Items (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit); 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 pragma Assert (False or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Procedure_Call_Statement); return Node1 (N); end Controlling_Argument; function Conversion_OK (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Type_Conversion); return Flag14 (N); end Conversion_OK; function Corresponding_Body (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Entry_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_Body_Stub or else NT (N).Nkind = N_Package_Declaration or else NT (N).Nkind = N_Protected_Body_Stub or else NT (N).Nkind = N_Protected_Type_Declaration or else NT (N).Nkind = N_Subprogram_Body_Stub or else NT (N).Nkind = N_Subprogram_Declaration or else NT (N).Nkind = N_Task_Body_Stub or else NT (N).Nkind = N_Task_Type_Declaration); return Node5 (N); end Corresponding_Body; function Corresponding_Formal_Spec (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Subprogram_Renaming_Declaration); return Node3 (N); end Corresponding_Formal_Spec; function Corresponding_Generic_Association (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Object_Declaration or else NT (N).Nkind = N_Object_Renaming_Declaration); return Node5 (N); end Corresponding_Generic_Association; function Corresponding_Integer_Value (N : Node_Id) return Uint is begin pragma Assert (False or else NT (N).Nkind = N_Real_Literal); return Uint4 (N); end Corresponding_Integer_Value; function Corresponding_Spec (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Package_Body or else NT (N).Nkind = N_Protected_Body or else NT (N).Nkind = N_Subprogram_Body or else NT (N).Nkind = N_Subprogram_Renaming_Declaration or else NT (N).Nkind = N_Task_Body or else NT (N).Nkind = N_With_Clause); return Node5 (N); end Corresponding_Spec; function Corresponding_Stub (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Subunit); return Node3 (N); end Corresponding_Stub; function Dcheck_Function (N : Node_Id) return Entity_Id is begin pragma Assert (False or else NT (N).Nkind = N_Variant); return Node5 (N); end Dcheck_Function; function Declarations (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Statement or else NT (N).Nkind = N_Block_Statement or else NT (N).Nkind = N_Compilation_Unit_Aux or else NT (N).Nkind = N_Entry_Body or else NT (N).Nkind = N_Package_Body or else NT (N).Nkind = N_Protected_Body or else NT (N).Nkind = N_Subprogram_Body or else NT (N).Nkind = N_Task_Body); return List2 (N); end Declarations; function Default_Expression (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 pragma Assert (False or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration); return Node2 (N); end Default_Name; function Defining_Identifier (N : Node_Id) return Entity_Id is begin pragma Assert (False or else NT (N).Nkind = N_Component_Declaration or else NT (N).Nkind = N_Defining_Program_Unit_Name or else NT (N).Nkind = N_Discriminant_Specification or else NT (N).Nkind = N_Entry_Body or else NT (N).Nkind = N_Entry_Declaration or else NT (N).Nkind = N_Entry_Index_Specification or else NT (N).Nkind = N_Exception_Declaration or else NT (N).Nkind = N_Exception_Renaming_Declaration or else NT (N).Nkind = N_Formal_Object_Declaration or else NT (N).Nkind = N_Formal_Package_Declaration or else NT (N).Nkind = N_Formal_Type_Declaration 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 or else NT (N).Nkind = N_Object_Renaming_Declaration or else NT (N).Nkind = N_Package_Body_Stub or else NT (N).Nkind = N_Parameter_Specification or else NT (N).Nkind = N_Private_Extension_Declaration or else NT (N).Nkind = N_Private_Type_Declaration or else NT (N).Nkind = N_Protected_Body or else NT (N).Nkind = N_Protected_Body_Stub or else NT (N).Nkind = N_Protected_Type_Declaration or else NT (N).Nkind = N_Single_Protected_Declaration or else NT (N).Nkind = N_Single_Task_Declaration or else NT (N).Nkind = N_Subtype_Declaration or else NT (N).Nkind = N_Task_Body or else NT (N).Nkind = N_Task_Body_Stub or else NT (N).Nkind = N_Task_Type_Declaration); return Node1 (N); end Defining_Identifier; function Defining_Unit_Name (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Function_Specification or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration 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_Package_Body or else NT (N).Nkind = N_Package_Instantiation or else NT (N).Nkind = N_Package_Renaming_Declaration or else NT (N).Nkind = N_Package_Specification or else NT (N).Nkind = N_Procedure_Instantiation or else NT (N).Nkind = N_Procedure_Specification); return Node1 (N); end Defining_Unit_Name; function Delay_Alternative (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Timed_Entry_Call); return Node4 (N); end Delay_Alternative; function Delay_Statement (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Delay_Alternative); return Node2 (N); end Delay_Statement; function Delta_Expression (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition or else NT (N).Nkind = N_Delta_Constraint or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition); return Node3 (N); end Delta_Expression; function Digits_Expression (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition or else NT (N).Nkind = N_Digits_Constraint or else NT (N).Nkind = N_Floating_Point_Definition); return Node2 (N); end Digits_Expression; function Discr_Check_Funcs_Built (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Full_Type_Declaration); return Flag11 (N); end Discr_Check_Funcs_Built; function Discrete_Choices (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); end Discrete_Choices; function Discrete_Range (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Slice); return Node4 (N); end Discrete_Range; function Discrete_Subtype_Definition (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Declaration or else NT (N).Nkind = N_Entry_Index_Specification or else NT (N).Nkind = N_Loop_Parameter_Specification); return Node4 (N); end Discrete_Subtype_Definition; function Discrete_Subtype_Definitions (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Constrained_Array_Definition); return List2 (N); end Discrete_Subtype_Definitions; function Discriminant_Specifications (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Formal_Type_Declaration or else NT (N).Nkind = N_Full_Type_Declaration or else NT (N).Nkind = N_Incomplete_Type_Declaration or else NT (N).Nkind = N_Private_Extension_Declaration or else NT (N).Nkind = N_Private_Type_Declaration or else NT (N).Nkind = N_Protected_Type_Declaration or else NT (N).Nkind = N_Task_Type_Declaration); return List4 (N); end Discriminant_Specifications; function Discriminant_Type (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Discriminant_Specification); return Node5 (N); end Discriminant_Type; function Do_Accessibility_Check (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Parameter_Specification); return Flag13 (N); end Do_Accessibility_Check; function Do_Discriminant_Check (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Selected_Component); return Flag13 (N); end Do_Discriminant_Check; function Do_Division_Check (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Op_Divide or else NT (N).Nkind = N_Op_Mod or else NT (N).Nkind = N_Op_Rem); return Flag13 (N); end Do_Division_Check; function Do_Length_Check (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Assignment_Statement or else NT (N).Nkind = N_Op_And or else NT (N).Nkind = N_Op_Or or else NT (N).Nkind = N_Op_Xor or else NT (N).Nkind = N_Type_Conversion); return Flag4 (N); end Do_Length_Check; function Do_Overflow_Check (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind in N_Op or else NT (N).Nkind = N_Attribute_Reference or else NT (N).Nkind = N_Type_Conversion); return Flag17 (N); end Do_Overflow_Check; function Do_Range_Check (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind in N_Subexpr); return Flag9 (N); end Do_Range_Check; function Do_Storage_Check (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Allocator or else NT (N).Nkind = N_Subprogram_Body); return Flag17 (N); end Do_Storage_Check; function Do_Tag_Check (N : Node_Id) return Boolean is 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 or else NT (N).Nkind = N_Type_Conversion); 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 pragma Assert (False or else NT (N).Nkind = N_With_Clause); 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 pragma Assert (False or else NT (N).Nkind = N_With_Clause); return Flag4 (N); end Elaborate_Present; function Elaboration_Boolean (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Function_Specification or else NT (N).Nkind = N_Procedure_Specification); return Node2 (N); end Elaboration_Boolean; function Else_Actions (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Conditional_Expression); return List3 (N); end Else_Actions; function Else_Statements (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Conditional_Entry_Call or else NT (N).Nkind = N_If_Statement or else NT (N).Nkind = N_Selective_Accept); return List4 (N); end Else_Statements; function Elsif_Parts (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_If_Statement); return List3 (N); end Elsif_Parts; function Enclosing_Variant (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Variant); return Node2 (N); end Enclosing_Variant; function End_Label (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Enumeration_Type_Definition or else NT (N).Nkind = N_Handled_Sequence_Of_Statements or else NT (N).Nkind = N_Loop_Statement or else NT (N).Nkind = N_Package_Specification or else NT (N).Nkind = N_Protected_Body or else NT (N).Nkind = N_Protected_Definition or else NT (N).Nkind = N_Record_Definition or else NT (N).Nkind = N_Task_Definition); return Node4 (N); end End_Label; function End_Span (N : Node_Id) return Uint is begin pragma Assert (False or else NT (N).Nkind = N_Case_Statement or else NT (N).Nkind = N_If_Statement); return Uint5 (N); end End_Span; function Entity (N : Node_Id) return Node_Id is 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; function Entity_Or_Associated_Node (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind in N_Has_Entity or else NT (N).Nkind = N_Freeze_Entity); return Node4 (N); end Entity_Or_Associated_Node; function Entry_Body_Formal_Part (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Body); return Node5 (N); end Entry_Body_Formal_Part; function Entry_Call_Alternative (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Conditional_Entry_Call or else NT (N).Nkind = N_Timed_Entry_Call); return Node1 (N); end Entry_Call_Alternative; function Entry_Call_Statement (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Call_Alternative); return Node1 (N); end Entry_Call_Statement; function Entry_Direct_Name (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Statement); return Node1 (N); end Entry_Direct_Name; function Entry_Index (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Statement); return Node5 (N); end Entry_Index; function Entry_Index_Specification (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Body_Formal_Part); return Node4 (N); end Entry_Index_Specification; function Etype (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind in N_Has_Etype); return Node5 (N); end Etype; function Exception_Choices (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Exception_Handler); return List4 (N); end Exception_Choices; function Exception_Handlers (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Handled_Sequence_Of_Statements); return List5 (N); end Exception_Handlers; function Exception_Junk (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 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 pragma Assert (False or else NT (N).Nkind = N_Aggregate or else NT (N).Nkind = N_Extension_Aggregate); return Flag11 (N); end Expansion_Delayed; function Explicit_Actual_Parameter (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Parameter_Association); return Node3 (N); end Explicit_Actual_Parameter; function Explicit_Generic_Actual_Parameter (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Generic_Association); return Node1 (N); end Explicit_Generic_Actual_Parameter; function Expression (N : Node_Id) return Node_Id is 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_Component_Declaration or else NT (N).Nkind = N_Delay_Relative_Statement or else NT (N).Nkind = N_Delay_Until_Statement 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_Modular_Type_Definition 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_Pragma_Argument_Association or else NT (N).Nkind = N_Qualified_Expression or else NT (N).Nkind = N_Raise_Statement or else NT (N).Nkind = N_Return_Statement or else NT (N).Nkind = N_Type_Conversion or else NT (N).Nkind = N_Unchecked_Expression or else NT (N).Nkind = N_Unchecked_Type_Conversion); return Node3 (N); end Expression; function Expressions (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Aggregate or else NT (N).Nkind = N_Attribute_Reference or else NT (N).Nkind = N_Conditional_Expression or else NT (N).Nkind = N_Extension_Aggregate or else NT (N).Nkind = N_Indexed_Component); return List1 (N); end Expressions; function First_Bit (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Component_Clause); return Node3 (N); end First_Bit; function First_Inlined_Subprogram (N : Node_Id) return Entity_Id is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit); return Node3 (N); end First_Inlined_Subprogram; function First_Name (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_With_Clause); return Flag5 (N); end First_Name; function First_Named_Actual (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Call_Statement or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Procedure_Call_Statement); return Node4 (N); end First_Named_Actual; function First_Real_Statement (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Handled_Sequence_Of_Statements); return Node2 (N); end First_Real_Statement; function First_Subtype_Link (N : Node_Id) return Entity_Id is begin pragma Assert (False or else NT (N).Nkind = N_Freeze_Entity); return Node5 (N); end First_Subtype_Link; function Float_Truncate (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Type_Conversion); return Flag11 (N); end Float_Truncate; function Formal_Type_Definition (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Formal_Type_Declaration); return Node3 (N); end Formal_Type_Definition; function Forwards_OK (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Assignment_Statement); 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 pragma Assert (False or else NT (N).Nkind = N_Attribute_Definition_Clause); return Flag4 (N); end From_At_Mod; function From_Default (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Subprogram_Renaming_Declaration); 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 pragma Assert (False or else NT (N).Nkind = N_Formal_Package_Declaration or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Package_Instantiation or else NT (N).Nkind = N_Procedure_Instantiation); return List3 (N); end Generic_Associations; function Generic_Formal_Declarations (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Generic_Package_Declaration or else NT (N).Nkind = N_Generic_Subprogram_Declaration); return List2 (N); end Generic_Formal_Declarations; function Generic_Parent (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Function_Specification or else NT (N).Nkind = N_Package_Specification or else NT (N).Nkind = N_Procedure_Specification); return Node5 (N); end Generic_Parent; function Generic_Parent_Type (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Subtype_Declaration); return Node4 (N); end Generic_Parent_Type; function Handled_Statement_Sequence (N : Node_Id) return Node_Id is begin pragma Assert (False 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); return Node4 (N); end Handled_Statement_Sequence; function Handler_List_Entry (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Object_Declaration); return Node2 (N); end Handler_List_Entry; function Has_Created_Identifier (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Block_Statement or else NT (N).Nkind = N_Loop_Statement); return Flag15 (N); end Has_Created_Identifier; 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; 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 pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit); return Flag17 (N); end Has_No_Elaboration_Code; 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_Protected_Definition or else NT (N).Nkind = N_Subprogram_Body or else NT (N).Nkind = N_Task_Definition); return Flag6 (N); 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 begin pragma Assert (False or else NT (N).Nkind in N_Op or else NT (N).Nkind = N_Character_Literal or else NT (N).Nkind = N_Expanded_Name or else NT (N).Nkind = N_Identifier or else NT (N).Nkind = N_Operator_Symbol); 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 pragma Assert (False or else NT (N).Nkind = N_Task_Definition); return Flag5 (N); end Has_Storage_Size_Pragma; function Has_Task_Info_Pragma (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Task_Definition); return Flag7 (N); end Has_Task_Info_Pragma; function Has_Task_Name_Pragma (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Task_Definition); return Flag8 (N); end Has_Task_Name_Pragma; function Has_Wide_Character (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_String_Literal); 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 pragma Assert (False or else NT (N).Nkind = N_Use_Package_Clause or else NT (N).Nkind = N_Use_Type_Clause); return Elist4 (N); end Hidden_By_Use_Clause; function High_Bound (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Range or else NT (N).Nkind = N_Real_Range_Specification or else NT (N).Nkind = N_Signed_Integer_Type_Definition); return Node2 (N); end High_Bound; function Identifier (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 or else NT (N).Nkind = N_Enumeration_Representation_Clause or else NT (N).Nkind = N_Label or else NT (N).Nkind = N_Loop_Statement or else NT (N).Nkind = N_Record_Representation_Clause or else NT (N).Nkind = N_Subprogram_Info); return Node1 (N); end Identifier; function Implicit_With (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_With_Clause); return Flag16 (N); end Implicit_With; function Interface_List (N : Node_Id) return List_Id 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_Protected_Type_Declaration or else NT (N).Nkind = N_Record_Definition or else NT (N).Nkind = N_Single_Protected_Declaration or else NT (N).Nkind = N_Single_Task_Declaration or else NT (N).Nkind = N_Task_Type_Declaration); return List2 (N); end Interface_List; function Interface_Present (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Derived_Type_Definition or else NT (N).Nkind = N_Record_Definition); 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 pragma Assert (False or else NT (N).Nkind = N_Formal_Object_Declaration or else NT (N).Nkind = N_Parameter_Specification); return Flag15 (N); end In_Present; function Includes_Infinities (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Range); 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 pragma Assert (False or else NT (N).Nkind = N_Formal_Package_Declaration or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Package_Instantiation or else NT (N).Nkind = N_Procedure_Instantiation); return Node5 (N); end Instance_Spec; function Intval (N : Node_Id) return Uint is begin pragma Assert (False or else NT (N).Nkind = N_Integer_Literal); 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 pragma Assert (False or else NT (N).Nkind = N_Block_Statement); 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 pragma Assert (False or else NT (N).Nkind = N_Op_Concat); return Flag13 (N); end Is_Component_Left_Opnd; function Is_Component_Right_Opnd (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Op_Concat); return Flag14 (N); end Is_Component_Right_Opnd; function Is_Controlling_Actual (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind in N_Subexpr); 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 pragma Assert (False or else NT (N).Nkind = N_Selected_Component); return Flag11 (N); end Is_In_Discriminant_Check; function Is_Machine_Number (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Real_Literal); return Flag11 (N); end Is_Machine_Number; function Is_Null_Loop (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Loop_Statement); return Flag16 (N); end Is_Null_Loop; function Is_Overloaded (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind in N_Subexpr); return Flag5 (N); end Is_Overloaded; function Is_Power_Of_2_For_Shift (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Op_Expon); return Flag13 (N); end Is_Power_Of_2_For_Shift; function Is_Protected_Subprogram_Body (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Subprogram_Body); 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 pragma Assert (False or else NT (N).Nkind in N_Subexpr); return Flag6 (N); end Is_Static_Expression; function Is_Subprogram_Descriptor (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Object_Declaration); return Flag16 (N); end Is_Subprogram_Descriptor; function Is_Task_Allocation_Block (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Block_Statement); return Flag6 (N); end Is_Task_Allocation_Block; function Is_Task_Master (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Block_Statement or else NT (N).Nkind = N_Subprogram_Body or else NT (N).Nkind = N_Task_Body); return Flag5 (N); end Is_Task_Master; function Iteration_Scheme (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Loop_Statement); 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 pragma Assert (False or else NT (N).Nkind = N_Itype_Reference); return Node1 (N); end Itype; function Kill_Range_Check (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Unchecked_Type_Conversion); return Flag11 (N); end Kill_Range_Check; function Label_Construct (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Implicit_Label_Declaration); return Node2 (N); end Label_Construct; function Last_Bit (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Component_Clause); return Node4 (N); end Last_Bit; function Last_Name (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_With_Clause); return Flag6 (N); end Last_Name; function Left_Opnd (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_And_Then or else NT (N).Nkind = N_In or else NT (N).Nkind = N_Not_In or else NT (N).Nkind = N_Or_Else or else NT (N).Nkind in N_Binary_Op); return Node2 (N); end Left_Opnd; function Library_Unit (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit or else NT (N).Nkind = N_Package_Body_Stub or else NT (N).Nkind = N_Protected_Body_Stub or else NT (N).Nkind = N_Subprogram_Body_Stub or else NT (N).Nkind = N_Task_Body_Stub or else NT (N).Nkind = N_With_Clause); return Node4 (N); end Library_Unit; function Limited_View_Installed (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Package_Specification or else NT (N).Nkind = N_With_Clause); return Flag18 (N); end Limited_View_Installed; function Limited_Present (N : Node_Id) return Boolean 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_Formal_Private_Type_Definition or else NT (N).Nkind = N_Private_Extension_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_Clause); return Flag17 (N); end Limited_Present; function Literals (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Enumeration_Type_Definition); 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 pragma Assert (False or else NT (N).Nkind = N_Component_Association); return List2 (N); end Loop_Actions; function Loop_Parameter_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 Node4 (N); end Loop_Parameter_Specification; function Low_Bound (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Range or else NT (N).Nkind = N_Real_Range_Specification or else NT (N).Nkind = N_Signed_Integer_Type_Definition); return Node1 (N); end Low_Bound; function Mod_Clause (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Record_Representation_Clause); return Node2 (N); end Mod_Clause; function More_Ids (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Component_Declaration 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_Number_Declaration or else NT (N).Nkind = N_Object_Declaration or else NT (N).Nkind = N_Parameter_Specification); return Flag5 (N); end More_Ids; function Must_Be_Byte_Aligned (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Attribute_Reference); return Flag14 (N); end Must_Be_Byte_Aligned; function Must_Not_Freeze (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Subtype_Indication or else NT (N).Nkind in N_Subexpr); return Flag8 (N); end Must_Not_Freeze; function Must_Not_Override (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Declaration or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Function_Specification or else NT (N).Nkind = N_Procedure_Instantiation or else NT (N).Nkind = N_Procedure_Specification); return Flag15 (N); end Must_Not_Override; function Must_Override (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Declaration or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Function_Specification or else NT (N).Nkind = N_Procedure_Instantiation or else NT (N).Nkind = N_Procedure_Specification); return Flag14 (N); end Must_Override; function Name (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Assignment_Statement or else NT (N).Nkind = N_Attribute_Definition_Clause or else NT (N).Nkind = N_Defining_Program_Unit_Name or else NT (N).Nkind = N_Designator or else NT (N).Nkind = N_Entry_Call_Statement or else NT (N).Nkind = N_Exception_Renaming_Declaration or else NT (N).Nkind = N_Exit_Statement or else NT (N).Nkind = N_Formal_Package_Declaration or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration 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_Procedure_Call_Statement or else NT (N).Nkind = N_Procedure_Instantiation or else NT (N).Nkind = N_Raise_Statement or else NT (N).Nkind = N_Requeue_Statement 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); return Node2 (N); end Name; function Names (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Abort_Statement or else NT (N).Nkind = N_Use_Package_Clause); return List2 (N); end Names; function Next_Entity (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Defining_Character_Literal or else NT (N).Nkind = N_Defining_Identifier or else NT (N).Nkind = N_Defining_Operator_Symbol); 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 pragma Assert (False or else NT (N).Nkind = N_Parameter_Association); return Node4 (N); end Next_Named_Actual; 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 Node5 (N); end Next_Rep_Item; function Next_Use_Clause (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Use_Package_Clause or else NT (N).Nkind = N_Use_Type_Clause); return Node3 (N); end Next_Use_Clause; function No_Ctrl_Actions (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Assignment_Statement); return Flag7 (N); end No_Ctrl_Actions; function No_Elaboration_Check (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Procedure_Call_Statement); return Flag14 (N); end No_Elaboration_Check; function No_Entities_Ref_In_Spec (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_With_Clause); return Flag8 (N); end No_Entities_Ref_In_Spec; function No_Initialization (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Allocator or else NT (N).Nkind = N_Object_Declaration); return Flag13 (N); end No_Initialization; function No_Truncation (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Unchecked_Type_Conversion); return Flag17 (N); end No_Truncation; function Null_Present (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Component_List or else NT (N).Nkind = N_Procedure_Specification or else NT (N).Nkind = N_Record_Definition); return Flag13 (N); end Null_Present; function Null_Exclusion_Present (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Access_Definition or else NT (N).Nkind = N_Access_Function_Definition or else NT (N).Nkind = N_Access_Procedure_Definition or else NT (N).Nkind = N_Access_To_Object_Definition or else NT (N).Nkind = N_Allocator 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 pragma Assert (False or else NT (N).Nkind = N_Aggregate or else NT (N).Nkind = N_Extension_Aggregate); return Flag17 (N); end Null_Record_Present; function Object_Definition (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Object_Declaration); 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 pragma Assert (False or else NT (N).Nkind = N_Identifier); return Node2 (N); end Original_Discriminant; function Original_Entity (N : Node_Id) return Entity_Id is begin pragma Assert (False or else NT (N).Nkind = N_Integer_Literal or else NT (N).Nkind = N_Real_Literal); return Node2 (N); end Original_Entity; function Others_Discrete_Choices (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Others_Choice); return List1 (N); end Others_Discrete_Choices; function Out_Present (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Formal_Object_Declaration or else NT (N).Nkind = N_Parameter_Specification); return Flag17 (N); end Out_Present; function Parameter_Associations (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Call_Statement or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Procedure_Call_Statement); return List3 (N); end Parameter_Associations; function Parameter_List_Truncated (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Procedure_Call_Statement); return Flag17 (N); end Parameter_List_Truncated; function Parameter_Specifications (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Statement or else NT (N).Nkind = N_Access_Function_Definition or else NT (N).Nkind = N_Access_Procedure_Definition or else NT (N).Nkind = N_Entry_Body_Formal_Part or else NT (N).Nkind = N_Entry_Declaration or else NT (N).Nkind = N_Function_Specification or else NT (N).Nkind = N_Procedure_Specification); return List3 (N); end Parameter_Specifications; function Parameter_Type (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Parameter_Specification); return Node2 (N); end Parameter_Type; function Parent_Spec (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration or else NT (N).Nkind = N_Generic_Package_Declaration 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_Generic_Subprogram_Declaration or else NT (N).Nkind = N_Package_Declaration or else NT (N).Nkind = N_Package_Instantiation or else NT (N).Nkind = N_Package_Renaming_Declaration or else NT (N).Nkind = N_Procedure_Instantiation or else NT (N).Nkind = N_Subprogram_Declaration or else NT (N).Nkind = N_Subprogram_Renaming_Declaration); return Node4 (N); end Parent_Spec; function Position (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Component_Clause); return Node2 (N); end Position; function Pragma_Argument_Associations (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Pragma); return List2 (N); end Pragma_Argument_Associations; 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 pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit_Aux or else NT (N).Nkind = N_Terminate_Alternative); return List5 (N); end Pragmas_After; function Pragmas_Before (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Alternative or else NT (N).Nkind = N_Delay_Alternative or else NT (N).Nkind = N_Entry_Call_Alternative or else NT (N).Nkind = N_Mod_Clause or else NT (N).Nkind = N_Terminate_Alternative or else NT (N).Nkind = N_Triggering_Alternative); return List4 (N); end Pragmas_Before; function Prefix (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Attribute_Reference or else NT (N).Nkind = N_Expanded_Name or else NT (N).Nkind = N_Explicit_Dereference or else NT (N).Nkind = N_Indexed_Component or else NT (N).Nkind = N_Reference or else NT (N).Nkind = N_Selected_Component or else NT (N).Nkind = N_Slice); return Node3 (N); end Prefix; function Present_Expr (N : Node_Id) return Uint is begin pragma Assert (False or else NT (N).Nkind = N_Variant); return Uint3 (N); end Present_Expr; function Prev_Ids (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Component_Declaration 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_Number_Declaration or else NT (N).Nkind = N_Object_Declaration or else NT (N).Nkind = N_Parameter_Specification); return Flag6 (N); end Prev_Ids; function Print_In_Hex (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Integer_Literal); return Flag13 (N); end Print_In_Hex; function Private_Declarations (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Package_Specification or else NT (N).Nkind = N_Protected_Definition or else NT (N).Nkind = N_Task_Definition); return List3 (N); end Private_Declarations; function Private_Present (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit or else NT (N).Nkind = N_Formal_Derived_Type_Definition or else NT (N).Nkind = N_With_Clause); return Flag15 (N); end Private_Present; function Procedure_To_Call (N : Node_Id) return Node_Id is 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 Node2 (N); end Procedure_To_Call; function Proper_Body (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Subunit); return Node1 (N); end Proper_Body; function Protected_Definition (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Protected_Type_Declaration or else NT (N).Nkind = N_Single_Protected_Declaration); return Node3 (N); end Protected_Definition; function Protected_Present (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Access_Function_Definition or else NT (N).Nkind = N_Access_Procedure_Definition or else NT (N).Nkind = N_Derived_Type_Definition or else NT (N).Nkind = N_Record_Definition); return Flag6 (N); end Protected_Present; function Raises_Constraint_Error (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind in N_Subexpr); return Flag7 (N); end Raises_Constraint_Error; function Range_Constraint (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Delta_Constraint or else NT (N).Nkind = N_Digits_Constraint); return Node4 (N); end Range_Constraint; function Range_Expression (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Range_Constraint); return Node4 (N); end Range_Expression; function Real_Range_Specification (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition or else NT (N).Nkind = N_Floating_Point_Definition or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition); return Node4 (N); end Real_Range_Specification; function Realval (N : Node_Id) return Ureal is begin pragma Assert (False or else NT (N).Nkind = N_Real_Literal); return Ureal3 (N); end Realval; function Reason (N : Node_Id) return Uint is begin pragma Assert (False 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 Uint3 (N); end Reason; function Record_Extension_Part (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Derived_Type_Definition); return Node3 (N); end Record_Extension_Part; function Redundant_Use (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Attribute_Reference or else NT (N).Nkind = N_Expanded_Name or else NT (N).Nkind = N_Identifier); 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 pragma Assert (False or else NT (N).Nkind = N_Access_Function_Definition or else NT (N).Nkind = N_Function_Specification); return Node4 (N); end Result_Definition; 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 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; function Right_Opnd (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind in N_Op or else NT (N).Nkind = N_And_Then or else NT (N).Nkind = N_In or else NT (N).Nkind = N_Not_In or else NT (N).Nkind = N_Or_Else); return Node3 (N); end Right_Opnd; function Rounded_Result (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Op_Divide or else NT (N).Nkind = N_Op_Multiply or else NT (N).Nkind = N_Type_Conversion); 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 pragma Assert (False or else NT (N).Nkind = N_Defining_Character_Literal or else NT (N).Nkind = N_Defining_Identifier or else NT (N).Nkind = N_Defining_Operator_Symbol); return Node3 (N); end Scope; function Select_Alternatives (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Selective_Accept); return List1 (N); end Select_Alternatives; function Selector_Name (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Expanded_Name or else NT (N).Nkind = N_Generic_Association or else NT (N).Nkind = N_Parameter_Association or else NT (N).Nkind = N_Selected_Component); return Node2 (N); end Selector_Name; function Selector_Names (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Discriminant_Association); return List1 (N); end Selector_Names; function Shift_Count_OK (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Op_Rotate_Left or else NT (N).Nkind = N_Op_Rotate_Right or else NT (N).Nkind = N_Op_Shift_Left or else NT (N).Nkind = N_Op_Shift_Right or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic); return Flag4 (N); end Shift_Count_OK; function Source_Type (N : Node_Id) return Entity_Id is begin pragma Assert (False or else NT (N).Nkind = N_Validate_Unchecked_Conversion); 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_Subprogram_Body or else NT (N).Nkind = N_Subprogram_Body_Stub or else NT (N).Nkind = N_Subprogram_Declaration or else NT (N).Nkind = N_Subprogram_Renaming_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 pragma Assert (False or else NT (N).Nkind = N_Abortable_Part or else NT (N).Nkind = N_Accept_Alternative or else NT (N).Nkind = N_Case_Statement_Alternative or else NT (N).Nkind = N_Delay_Alternative or else NT (N).Nkind = N_Entry_Call_Alternative or else NT (N).Nkind = N_Exception_Handler or else NT (N).Nkind = N_Handled_Sequence_Of_Statements or else NT (N).Nkind = N_Loop_Statement or else NT (N).Nkind = N_Triggering_Alternative); return List3 (N); end Statements; function Static_Processing_OK (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Aggregate); return Flag4 (N); end Static_Processing_OK; function Storage_Pool (N : Node_Id) return Node_Id is 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); 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 pragma Assert (False or else NT (N).Nkind = N_Operator_Symbol or else NT (N).Nkind = N_String_Literal); return Str3 (N); end Strval; function Subtype_Indication (N : Node_Id) return Node_Id is begin pragma Assert (False 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 pragma Assert (False or else NT (N).Nkind = N_Access_Definition or else NT (N).Nkind = N_Formal_Derived_Type_Definition or else NT (N).Nkind = N_Formal_Object_Declaration or else NT (N).Nkind = N_Object_Renaming_Declaration or else NT (N).Nkind = N_Qualified_Expression or else NT (N).Nkind = N_Subtype_Indication or else NT (N).Nkind = N_Type_Conversion or else NT (N).Nkind = N_Unchecked_Type_Conversion); return Node4 (N); end Subtype_Mark; function Subtype_Marks (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Unconstrained_Array_Definition or else NT (N).Nkind = N_Use_Type_Clause); return List2 (N); end Subtype_Marks; function Synchronized_Present (N : Node_Id) return Boolean 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); return Flag7 (N); end Synchronized_Present; function Tagged_Present (N : Node_Id) return Boolean is begin pragma Assert (False 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); return Flag15 (N); end Tagged_Present; function Target_Type (N : Node_Id) return Entity_Id is begin pragma Assert (False or else NT (N).Nkind = N_Validate_Unchecked_Conversion); return Node2 (N); end Target_Type; function Task_Definition (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Single_Task_Declaration or else NT (N).Nkind = N_Task_Type_Declaration); return Node3 (N); end Task_Definition; function Task_Present (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Derived_Type_Definition or else NT (N).Nkind = N_Record_Definition); return Flag5 (N); end Task_Present; function Then_Actions (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Conditional_Expression); return List2 (N); end Then_Actions; function Then_Statements (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Elsif_Part or else NT (N).Nkind = N_If_Statement); return List2 (N); end Then_Statements; function Treat_Fixed_As_Integer (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Op_Divide or else NT (N).Nkind = N_Op_Mod or else NT (N).Nkind = N_Op_Multiply or else NT (N).Nkind = N_Op_Rem); return Flag14 (N); end Treat_Fixed_As_Integer; function Triggering_Alternative (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Asynchronous_Select); return Node1 (N); end Triggering_Alternative; function Triggering_Statement (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Triggering_Alternative); return Node1 (N); end Triggering_Statement; function TSS_Elist (N : Node_Id) return Elist_Id is begin pragma Assert (False or else NT (N).Nkind = N_Freeze_Entity); return Elist3 (N); end TSS_Elist; function Type_Definition (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Full_Type_Declaration); return Node3 (N); end Type_Definition; function Unit (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit); return Node2 (N); end Unit; function Unknown_Discriminants_Present (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_Formal_Type_Declaration or else NT (N).Nkind = N_Incomplete_Type_Declaration or else NT (N).Nkind = N_Private_Extension_Declaration or else NT (N).Nkind = N_Private_Type_Declaration); return Flag13 (N); end Unknown_Discriminants_Present; function Unreferenced_In_Spec (N : Node_Id) return Boolean is begin pragma Assert (False or else NT (N).Nkind = N_With_Clause); return Flag7 (N); end Unreferenced_In_Spec; function Variant_Part (N : Node_Id) return Node_Id is begin pragma Assert (False or else NT (N).Nkind = N_Component_List); return Node4 (N); end Variant_Part; function Variants (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Variant_Part); return List1 (N); end Variants; function Visible_Declarations (N : Node_Id) return List_Id is begin pragma Assert (False or else NT (N).Nkind = N_Package_Specification or else NT (N).Nkind = N_Protected_Definition or else NT (N).Nkind = N_Task_Definition); 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 pragma Assert (False or else NT (N).Nkind = N_Package_Body or else NT (N).Nkind = N_Protected_Body or else NT (N).Nkind = N_Subprogram_Body or else NT (N).Nkind = N_Task_Body); 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 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 -- -------------------------- procedure Set_ABE_Is_Certain (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Formal_Package_Declaration or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Package_Instantiation or else NT (N).Nkind = N_Procedure_Call_Statement or else NT (N).Nkind = N_Procedure_Instantiation); Set_Flag18 (N, Val); end Set_ABE_Is_Certain; procedure Set_Abort_Present (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Requeue_Statement); Set_Flag15 (N, Val); end Set_Abort_Present; procedure Set_Abortable_Part (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Asynchronous_Select); Set_Node2_With_Parent (N, Val); end Set_Abortable_Part; procedure Set_Abstract_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_Formal_Private_Type_Definition or else NT (N).Nkind = N_Private_Extension_Declaration or else NT (N).Nkind = N_Private_Type_Declaration or else NT (N).Nkind = N_Record_Definition); Set_Flag4 (N, Val); end Set_Abstract_Present; procedure Set_Accept_Handler_Records (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Alternative); Set_List5 (N, Val); -- semantic field, no parent set end Set_Accept_Handler_Records; procedure Set_Accept_Statement (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Alternative); Set_Node2_With_Parent (N, Val); end Set_Accept_Statement; procedure Set_Access_Definition (N : Node_Id; Val : Node_Id) is 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; procedure Set_Access_To_Subprogram_Definition (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Access_Definition); Set_Node3_With_Parent (N, Val); end Set_Access_To_Subprogram_Definition; procedure Set_Access_Types_To_Process (N : Node_Id; Val : Elist_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Freeze_Entity); Set_Elist2 (N, Val); -- semantic field, no parent set end Set_Access_Types_To_Process; procedure Set_Actions (N : Node_Id; Val : List_Id) is 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); end Set_Actions; procedure Set_Activation_Chain_Entity (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Block_Statement or else NT (N).Nkind = N_Entry_Body or else NT (N).Nkind = N_Generic_Package_Declaration or else NT (N).Nkind = N_Package_Declaration or else NT (N).Nkind = N_Subprogram_Body or else NT (N).Nkind = N_Task_Body); Set_Node3 (N, Val); -- semantic field, no parent set end Set_Activation_Chain_Entity; procedure Set_Acts_As_Spec (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit or else NT (N).Nkind = N_Subprogram_Body); 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 pragma Assert (False or else NT (N).Nkind = N_Aggregate); Set_Node3 (N, Val); -- semantic field, no parent set end Set_Aggregate_Bounds; procedure Set_Aliased_Present (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Component_Definition or else NT (N).Nkind = N_Object_Declaration); Set_Flag4 (N, Val); end Set_Aliased_Present; procedure Set_All_Others (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Others_Choice); Set_Flag11 (N, Val); end Set_All_Others; procedure Set_All_Present (N : Node_Id; Val : Boolean := True) is 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_Quantified_Expression or else NT (N).Nkind = N_Use_Type_Clause); Set_Flag15 (N, Val); end Set_All_Present; procedure Set_Alternatives (N : Node_Id; Val : List_Id) is begin pragma Assert (False 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; procedure Set_Ancestor_Part (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Extension_Aggregate); Set_Node3_With_Parent (N, Val); end Set_Ancestor_Part; procedure Set_Array_Aggregate (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Enumeration_Representation_Clause); 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 pragma Assert (False or else NT (N).Nkind = N_Object_Declaration or else NT (N).Nkind in N_Subexpr); Set_Flag15 (N, Val); end Set_Assignment_OK; procedure Set_Associated_Node (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind in N_Has_Entity or else NT (N).Nkind = N_Aggregate or else NT (N).Nkind = N_Extension_Aggregate or else NT (N).Nkind = N_Selected_Component); Set_Node4 (N, Val); -- semantic field, no parent set end Set_Associated_Node; procedure Set_At_End_Proc (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Handled_Sequence_Of_Statements); Set_Node1 (N, Val); end Set_At_End_Proc; procedure Set_Attribute_Name (N : Node_Id; Val : Name_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Attribute_Reference); Set_Name2 (N, Val); end Set_Attribute_Name; procedure Set_Aux_Decls_Node (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit); Set_Node5_With_Parent (N, Val); end Set_Aux_Decls_Node; procedure Set_Backwards_OK (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Assignment_Statement); Set_Flag6 (N, Val); end Set_Backwards_OK; procedure Set_Bad_Is_Detected (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Subprogram_Body); Set_Flag15 (N, Val); end Set_Bad_Is_Detected; procedure Set_Body_Required (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit); Set_Flag13 (N, Val); end Set_Body_Required; procedure Set_Body_To_Inline (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Subprogram_Declaration); Set_Node3 (N, Val); end Set_Body_To_Inline; procedure Set_Box_Present (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False 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_Generic_Association); Set_Flag15 (N, Val); end Set_Box_Present; procedure Set_By_Ref (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; procedure Set_Char_Literal_Value (N : Node_Id; Val : Uint) is begin pragma Assert (False or else NT (N).Nkind = N_Character_Literal); Set_Uint2 (N, Val); end Set_Char_Literal_Value; procedure Set_Chars (N : Node_Id; Val : Name_Id) is begin pragma Assert (False or else NT (N).Nkind in N_Has_Chars); Set_Name1 (N, Val); end Set_Chars; procedure Set_Check_Address_Alignment (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Attribute_Definition_Clause); Set_Flag11 (N, Val); end Set_Check_Address_Alignment; procedure Set_Choice_Parameter (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Exception_Handler); Set_Node2_With_Parent (N, Val); end Set_Choice_Parameter; procedure Set_Choices (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Component_Association); 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_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 pragma Assert (False or else NT (N).Nkind = N_Aggregate); Set_Flag18 (N, Val); end Set_Compile_Time_Known_Aggregate; procedure Set_Component_Associations (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Aggregate or else NT (N).Nkind = N_Extension_Aggregate); Set_List2_With_Parent (N, Val); end Set_Component_Associations; procedure Set_Component_Clauses (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Record_Representation_Clause); Set_List3_With_Parent (N, Val); end Set_Component_Clauses; procedure Set_Component_Definition (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Component_Declaration or else NT (N).Nkind = N_Constrained_Array_Definition or else NT (N).Nkind = N_Unconstrained_Array_Definition); Set_Node4_With_Parent (N, Val); end Set_Component_Definition; procedure Set_Component_Items (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Component_List); Set_List3_With_Parent (N, Val); end Set_Component_Items; procedure Set_Component_List (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Record_Definition or else NT (N).Nkind = N_Variant); Set_Node1_With_Parent (N, Val); end Set_Component_List; procedure Set_Component_Name (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Component_Clause); 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 pragma Assert (False or else NT (N).Nkind = N_Accept_Alternative or else NT (N).Nkind = N_Delay_Alternative or else NT (N).Nkind = N_Elsif_Part or else NT (N).Nkind = N_Entry_Body_Formal_Part 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 or else NT (N).Nkind = N_Terminate_Alternative); Set_Node1_With_Parent (N, Val); end Set_Condition; procedure Set_Condition_Actions (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Elsif_Part or else NT (N).Nkind = N_Iteration_Scheme); Set_List3 (N, Val); -- semantic field, no parent set end Set_Condition_Actions; procedure Set_Config_Pragmas (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit_Aux); Set_List4_With_Parent (N, Val); end Set_Config_Pragmas; procedure Set_Constant_Present (N : Node_Id; Val : Boolean := True) is 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_Object_Declaration); Set_Flag17 (N, Val); end Set_Constant_Present; procedure Set_Constraint (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Subtype_Indication); Set_Node3_With_Parent (N, Val); end Set_Constraint; procedure Set_Constraints (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint); Set_List1_With_Parent (N, Val); end Set_Constraints; procedure Set_Context_Installed (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_With_Clause); Set_Flag13 (N, Val); end Set_Context_Installed; procedure Set_Context_Items (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit); 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 pragma Assert (False or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Procedure_Call_Statement); Set_Node1 (N, Val); -- semantic field, no parent set end Set_Controlling_Argument; procedure Set_Conversion_OK (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Type_Conversion); Set_Flag14 (N, Val); end Set_Conversion_OK; procedure Set_Corresponding_Body (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Entry_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_Body_Stub or else NT (N).Nkind = N_Package_Declaration or else NT (N).Nkind = N_Protected_Body_Stub or else NT (N).Nkind = N_Protected_Type_Declaration or else NT (N).Nkind = N_Subprogram_Body_Stub or else NT (N).Nkind = N_Subprogram_Declaration or else NT (N).Nkind = N_Task_Body_Stub or else NT (N).Nkind = N_Task_Type_Declaration); Set_Node5 (N, Val); -- semantic field, no parent set end Set_Corresponding_Body; procedure Set_Corresponding_Formal_Spec (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Subprogram_Renaming_Declaration); Set_Node3 (N, Val); -- semantic field, no parent set end Set_Corresponding_Formal_Spec; procedure Set_Corresponding_Generic_Association (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Object_Declaration or else NT (N).Nkind = N_Object_Renaming_Declaration); Set_Node5 (N, Val); -- semantic field, no parent set end Set_Corresponding_Generic_Association; procedure Set_Corresponding_Integer_Value (N : Node_Id; Val : Uint) is begin pragma Assert (False or else NT (N).Nkind = N_Real_Literal); Set_Uint4 (N, Val); -- semantic field, no parent set end Set_Corresponding_Integer_Value; procedure Set_Corresponding_Spec (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Package_Body or else NT (N).Nkind = N_Protected_Body or else NT (N).Nkind = N_Subprogram_Body or else NT (N).Nkind = N_Subprogram_Renaming_Declaration or else NT (N).Nkind = N_Task_Body or else NT (N).Nkind = N_With_Clause); Set_Node5 (N, Val); -- semantic field, no parent set end Set_Corresponding_Spec; procedure Set_Corresponding_Stub (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Subunit); Set_Node3 (N, Val); end Set_Corresponding_Stub; procedure Set_Dcheck_Function (N : Node_Id; Val : Entity_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Variant); Set_Node5 (N, Val); -- semantic field, no parent set end Set_Dcheck_Function; procedure Set_Declarations (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Statement or else NT (N).Nkind = N_Block_Statement or else NT (N).Nkind = N_Compilation_Unit_Aux or else NT (N).Nkind = N_Entry_Body or else NT (N).Nkind = N_Package_Body or else NT (N).Nkind = N_Protected_Body or else NT (N).Nkind = N_Subprogram_Body or else NT (N).Nkind = N_Task_Body); Set_List2_With_Parent (N, Val); end Set_Declarations; procedure Set_Default_Expression (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 pragma Assert (False or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration); Set_Node2_With_Parent (N, Val); end Set_Default_Name; procedure Set_Defining_Identifier (N : Node_Id; Val : Entity_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Component_Declaration or else NT (N).Nkind = N_Defining_Program_Unit_Name or else NT (N).Nkind = N_Discriminant_Specification or else NT (N).Nkind = N_Entry_Body or else NT (N).Nkind = N_Entry_Declaration or else NT (N).Nkind = N_Entry_Index_Specification or else NT (N).Nkind = N_Exception_Declaration or else NT (N).Nkind = N_Exception_Renaming_Declaration or else NT (N).Nkind = N_Formal_Object_Declaration or else NT (N).Nkind = N_Formal_Package_Declaration or else NT (N).Nkind = N_Formal_Type_Declaration 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 or else NT (N).Nkind = N_Object_Renaming_Declaration or else NT (N).Nkind = N_Package_Body_Stub or else NT (N).Nkind = N_Parameter_Specification or else NT (N).Nkind = N_Private_Extension_Declaration or else NT (N).Nkind = N_Private_Type_Declaration or else NT (N).Nkind = N_Protected_Body or else NT (N).Nkind = N_Protected_Body_Stub or else NT (N).Nkind = N_Protected_Type_Declaration or else NT (N).Nkind = N_Single_Protected_Declaration or else NT (N).Nkind = N_Single_Task_Declaration or else NT (N).Nkind = N_Subtype_Declaration or else NT (N).Nkind = N_Task_Body or else NT (N).Nkind = N_Task_Body_Stub or else NT (N).Nkind = N_Task_Type_Declaration); Set_Node1_With_Parent (N, Val); end Set_Defining_Identifier; procedure Set_Defining_Unit_Name (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Function_Specification or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration 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_Package_Body or else NT (N).Nkind = N_Package_Instantiation or else NT (N).Nkind = N_Package_Renaming_Declaration or else NT (N).Nkind = N_Package_Specification or else NT (N).Nkind = N_Procedure_Instantiation or else NT (N).Nkind = N_Procedure_Specification); Set_Node1_With_Parent (N, Val); end Set_Defining_Unit_Name; procedure Set_Delay_Alternative (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Timed_Entry_Call); Set_Node4_With_Parent (N, Val); end Set_Delay_Alternative; procedure Set_Delay_Statement (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Delay_Alternative); Set_Node2_With_Parent (N, Val); end Set_Delay_Statement; procedure Set_Delta_Expression (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition or else NT (N).Nkind = N_Delta_Constraint or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition); Set_Node3_With_Parent (N, Val); end Set_Delta_Expression; procedure Set_Digits_Expression (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition or else NT (N).Nkind = N_Digits_Constraint or else NT (N).Nkind = N_Floating_Point_Definition); Set_Node2_With_Parent (N, Val); end Set_Digits_Expression; procedure Set_Discr_Check_Funcs_Built (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Full_Type_Declaration); Set_Flag11 (N, Val); end Set_Discr_Check_Funcs_Built; procedure Set_Discrete_Choices (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); end Set_Discrete_Choices; procedure Set_Discrete_Range (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Slice); Set_Node4_With_Parent (N, Val); end Set_Discrete_Range; procedure Set_Discrete_Subtype_Definition (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Declaration or else NT (N).Nkind = N_Entry_Index_Specification or else NT (N).Nkind = N_Loop_Parameter_Specification); Set_Node4_With_Parent (N, Val); end Set_Discrete_Subtype_Definition; procedure Set_Discrete_Subtype_Definitions (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Constrained_Array_Definition); Set_List2_With_Parent (N, Val); end Set_Discrete_Subtype_Definitions; procedure Set_Discriminant_Specifications (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Formal_Type_Declaration or else NT (N).Nkind = N_Full_Type_Declaration or else NT (N).Nkind = N_Incomplete_Type_Declaration or else NT (N).Nkind = N_Private_Extension_Declaration or else NT (N).Nkind = N_Private_Type_Declaration or else NT (N).Nkind = N_Protected_Type_Declaration or else NT (N).Nkind = N_Task_Type_Declaration); Set_List4_With_Parent (N, Val); end Set_Discriminant_Specifications; procedure Set_Discriminant_Type (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Discriminant_Specification); Set_Node5_With_Parent (N, Val); end Set_Discriminant_Type; procedure Set_Do_Accessibility_Check (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Parameter_Specification); Set_Flag13 (N, Val); end Set_Do_Accessibility_Check; procedure Set_Do_Discriminant_Check (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Selected_Component); Set_Flag13 (N, Val); end Set_Do_Discriminant_Check; procedure Set_Do_Division_Check (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Op_Divide or else NT (N).Nkind = N_Op_Mod or else NT (N).Nkind = N_Op_Rem); Set_Flag13 (N, Val); end Set_Do_Division_Check; procedure Set_Do_Length_Check (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_Op_And or else NT (N).Nkind = N_Op_Or or else NT (N).Nkind = N_Op_Xor or else NT (N).Nkind = N_Type_Conversion); Set_Flag4 (N, Val); end Set_Do_Length_Check; procedure Set_Do_Overflow_Check (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind in N_Op or else NT (N).Nkind = N_Attribute_Reference or else NT (N).Nkind = N_Type_Conversion); Set_Flag17 (N, Val); end Set_Do_Overflow_Check; procedure Set_Do_Range_Check (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind in N_Subexpr); Set_Flag9 (N, Val); end Set_Do_Range_Check; procedure Set_Do_Storage_Check (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Allocator or else NT (N).Nkind = N_Subprogram_Body); Set_Flag17 (N, Val); end Set_Do_Storage_Check; procedure Set_Do_Tag_Check (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_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 or else NT (N).Nkind = N_Type_Conversion); 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 pragma Assert (False or else NT (N).Nkind = N_With_Clause); 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 pragma Assert (False or else NT (N).Nkind = N_With_Clause); Set_Flag4 (N, Val); end Set_Elaborate_Present; procedure Set_Elaboration_Boolean (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Function_Specification or else NT (N).Nkind = N_Procedure_Specification); Set_Node2 (N, Val); end Set_Elaboration_Boolean; procedure Set_Else_Actions (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Conditional_Expression); Set_List3 (N, Val); -- semantic field, no parent set end Set_Else_Actions; procedure Set_Else_Statements (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Conditional_Entry_Call or else NT (N).Nkind = N_If_Statement or else NT (N).Nkind = N_Selective_Accept); Set_List4_With_Parent (N, Val); end Set_Else_Statements; procedure Set_Elsif_Parts (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_If_Statement); Set_List3_With_Parent (N, Val); end Set_Elsif_Parts; procedure Set_Enclosing_Variant (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Variant); Set_Node2 (N, Val); -- semantic field, no parent set end Set_Enclosing_Variant; procedure Set_End_Label (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Enumeration_Type_Definition or else NT (N).Nkind = N_Handled_Sequence_Of_Statements or else NT (N).Nkind = N_Loop_Statement or else NT (N).Nkind = N_Package_Specification or else NT (N).Nkind = N_Protected_Body or else NT (N).Nkind = N_Protected_Definition or else NT (N).Nkind = N_Record_Definition or else NT (N).Nkind = N_Task_Definition); Set_Node4_With_Parent (N, Val); end Set_End_Label; procedure Set_End_Span (N : Node_Id; Val : Uint) is begin pragma Assert (False or else NT (N).Nkind = N_Case_Statement or else NT (N).Nkind = N_If_Statement); Set_Uint5 (N, Val); end Set_End_Span; procedure Set_Entity (N : Node_Id; Val : Node_Id) is 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; procedure Set_Entry_Body_Formal_Part (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Body); Set_Node5_With_Parent (N, Val); end Set_Entry_Body_Formal_Part; procedure Set_Entry_Call_Alternative (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Conditional_Entry_Call or else NT (N).Nkind = N_Timed_Entry_Call); Set_Node1_With_Parent (N, Val); end Set_Entry_Call_Alternative; procedure Set_Entry_Call_Statement (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Call_Alternative); Set_Node1_With_Parent (N, Val); end Set_Entry_Call_Statement; procedure Set_Entry_Direct_Name (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Statement); Set_Node1_With_Parent (N, Val); end Set_Entry_Direct_Name; procedure Set_Entry_Index (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Statement); Set_Node5_With_Parent (N, Val); end Set_Entry_Index; procedure Set_Entry_Index_Specification (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Body_Formal_Part); Set_Node4_With_Parent (N, Val); end Set_Entry_Index_Specification; procedure Set_Etype (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind in N_Has_Etype); Set_Node5 (N, Val); -- semantic field, no parent set end Set_Etype; procedure Set_Exception_Choices (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Exception_Handler); Set_List4_With_Parent (N, Val); end Set_Exception_Choices; procedure Set_Exception_Handlers (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Handled_Sequence_Of_Statements); Set_List5_With_Parent (N, Val); end Set_Exception_Handlers; procedure Set_Exception_Junk (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_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 pragma Assert (False or else NT (N).Nkind = N_Aggregate or else NT (N).Nkind = N_Extension_Aggregate); Set_Flag11 (N, Val); end Set_Expansion_Delayed; procedure Set_Explicit_Actual_Parameter (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Parameter_Association); Set_Node3_With_Parent (N, Val); end Set_Explicit_Actual_Parameter; procedure Set_Explicit_Generic_Actual_Parameter (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Generic_Association); Set_Node1_With_Parent (N, Val); end Set_Explicit_Generic_Actual_Parameter; procedure Set_Expression (N : Node_Id; Val : Node_Id) is 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_Component_Declaration or else NT (N).Nkind = N_Delay_Relative_Statement or else NT (N).Nkind = N_Delay_Until_Statement 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_Modular_Type_Definition 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_Pragma_Argument_Association or else NT (N).Nkind = N_Qualified_Expression or else NT (N).Nkind = N_Raise_Statement or else NT (N).Nkind = N_Return_Statement or else NT (N).Nkind = N_Type_Conversion or else NT (N).Nkind = N_Unchecked_Expression or else NT (N).Nkind = N_Unchecked_Type_Conversion); Set_Node3_With_Parent (N, Val); end Set_Expression; procedure Set_Expressions (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Aggregate or else NT (N).Nkind = N_Attribute_Reference or else NT (N).Nkind = N_Conditional_Expression or else NT (N).Nkind = N_Extension_Aggregate or else NT (N).Nkind = N_Indexed_Component); Set_List1_With_Parent (N, Val); end Set_Expressions; procedure Set_First_Bit (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Component_Clause); Set_Node3_With_Parent (N, Val); end Set_First_Bit; procedure Set_First_Inlined_Subprogram (N : Node_Id; Val : Entity_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit); Set_Node3 (N, Val); -- semantic field, no parent set end Set_First_Inlined_Subprogram; procedure Set_First_Name (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_With_Clause); Set_Flag5 (N, Val); end Set_First_Name; procedure Set_First_Named_Actual (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Call_Statement or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Procedure_Call_Statement); Set_Node4 (N, Val); -- semantic field, no parent set end Set_First_Named_Actual; procedure Set_First_Real_Statement (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Handled_Sequence_Of_Statements); Set_Node2 (N, Val); -- semantic field, no parent set end Set_First_Real_Statement; procedure Set_First_Subtype_Link (N : Node_Id; Val : Entity_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Freeze_Entity); Set_Node5 (N, Val); -- semantic field, no parent set end Set_First_Subtype_Link; procedure Set_Float_Truncate (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Type_Conversion); Set_Flag11 (N, Val); end Set_Float_Truncate; procedure Set_Formal_Type_Definition (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Formal_Type_Declaration); Set_Node3_With_Parent (N, Val); end Set_Formal_Type_Definition; procedure Set_Forwards_OK (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Assignment_Statement); 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 pragma Assert (False or else NT (N).Nkind = N_Attribute_Definition_Clause); Set_Flag4 (N, Val); end Set_From_At_Mod; procedure Set_From_Default (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Subprogram_Renaming_Declaration); 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 pragma Assert (False or else NT (N).Nkind = N_Formal_Package_Declaration or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Package_Instantiation or else NT (N).Nkind = N_Procedure_Instantiation); Set_List3_With_Parent (N, Val); end Set_Generic_Associations; procedure Set_Generic_Formal_Declarations (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Generic_Package_Declaration or else NT (N).Nkind = N_Generic_Subprogram_Declaration); Set_List2_With_Parent (N, Val); end Set_Generic_Formal_Declarations; procedure Set_Generic_Parent (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Function_Specification or else NT (N).Nkind = N_Package_Specification or else NT (N).Nkind = N_Procedure_Specification); Set_Node5 (N, Val); end Set_Generic_Parent; procedure Set_Generic_Parent_Type (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Subtype_Declaration); Set_Node4 (N, Val); end Set_Generic_Parent_Type; procedure Set_Handled_Statement_Sequence (N : Node_Id; Val : Node_Id) is begin pragma Assert (False 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_Node4_With_Parent (N, Val); end Set_Handled_Statement_Sequence; procedure Set_Handler_List_Entry (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Object_Declaration); Set_Node2 (N, Val); end Set_Handler_List_Entry; procedure Set_Has_Created_Identifier (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_Loop_Statement); Set_Flag15 (N, Val); end Set_Has_Created_Identifier; 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; 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 pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit); Set_Flag17 (N, Val); end Set_Has_No_Elaboration_Code; 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_Protected_Definition or else NT (N).Nkind = N_Subprogram_Body or else NT (N).Nkind = N_Task_Definition); Set_Flag6 (N, Val); 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 begin pragma Assert (False or else NT (N).Nkind in N_Op or else NT (N).Nkind = N_Character_Literal or else NT (N).Nkind = N_Expanded_Name or else NT (N).Nkind = N_Identifier or else NT (N).Nkind = N_Operator_Symbol); 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 pragma Assert (False or else NT (N).Nkind = N_Task_Definition); Set_Flag5 (N, Val); end Set_Has_Storage_Size_Pragma; procedure Set_Has_Task_Info_Pragma (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Task_Definition); Set_Flag7 (N, Val); end Set_Has_Task_Info_Pragma; procedure Set_Has_Task_Name_Pragma (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Task_Definition); Set_Flag8 (N, Val); end Set_Has_Task_Name_Pragma; procedure Set_Has_Wide_Character (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_String_Literal); 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 pragma Assert (False or else NT (N).Nkind = N_Use_Package_Clause or else NT (N).Nkind = N_Use_Type_Clause); Set_Elist4 (N, Val); end Set_Hidden_By_Use_Clause; procedure Set_High_Bound (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Range or else NT (N).Nkind = N_Real_Range_Specification or else NT (N).Nkind = N_Signed_Integer_Type_Definition); Set_Node2_With_Parent (N, Val); end Set_High_Bound; procedure Set_Identifier (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 or else NT (N).Nkind = N_Enumeration_Representation_Clause or else NT (N).Nkind = N_Label or else NT (N).Nkind = N_Loop_Statement or else NT (N).Nkind = N_Record_Representation_Clause or else NT (N).Nkind = N_Subprogram_Info); Set_Node1_With_Parent (N, Val); end Set_Identifier; procedure Set_Implicit_With (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_With_Clause); Set_Flag16 (N, Val); end Set_Implicit_With; procedure Set_Interface_List (N : Node_Id; Val : List_Id) 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_Protected_Type_Declaration or else NT (N).Nkind = N_Record_Definition or else NT (N).Nkind = N_Single_Protected_Declaration or else NT (N).Nkind = N_Single_Task_Declaration or else NT (N).Nkind = N_Task_Type_Declaration); Set_List2_With_Parent (N, Val); end Set_Interface_List; procedure Set_Interface_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_Record_Definition); 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 pragma Assert (False or else NT (N).Nkind = N_Formal_Object_Declaration or else NT (N).Nkind = N_Parameter_Specification); Set_Flag15 (N, Val); end Set_In_Present; procedure Set_Includes_Infinities (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Range); 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 pragma Assert (False or else NT (N).Nkind = N_Formal_Package_Declaration or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Package_Instantiation or else NT (N).Nkind = N_Procedure_Instantiation); Set_Node5 (N, Val); -- semantic field, no Parent set end Set_Instance_Spec; procedure Set_Intval (N : Node_Id; Val : Uint) is begin pragma Assert (False or else NT (N).Nkind = N_Integer_Literal); 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 pragma Assert (False or else NT (N).Nkind = N_Block_Statement); 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 pragma Assert (False or else NT (N).Nkind = N_Op_Concat); Set_Flag13 (N, Val); end Set_Is_Component_Left_Opnd; procedure Set_Is_Component_Right_Opnd (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Op_Concat); Set_Flag14 (N, Val); end Set_Is_Component_Right_Opnd; procedure Set_Is_Controlling_Actual (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind in N_Subexpr); 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 pragma Assert (False or else NT (N).Nkind = N_Selected_Component); Set_Flag11 (N, Val); end Set_Is_In_Discriminant_Check; procedure Set_Is_Machine_Number (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Real_Literal); Set_Flag11 (N, Val); end Set_Is_Machine_Number; procedure Set_Is_Null_Loop (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Loop_Statement); Set_Flag16 (N, Val); end Set_Is_Null_Loop; procedure Set_Is_Overloaded (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind in N_Subexpr); Set_Flag5 (N, Val); end Set_Is_Overloaded; procedure Set_Is_Power_Of_2_For_Shift (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Op_Expon); Set_Flag13 (N, Val); end Set_Is_Power_Of_2_For_Shift; procedure Set_Is_Protected_Subprogram_Body (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Subprogram_Body); 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 pragma Assert (False or else NT (N).Nkind in N_Subexpr); Set_Flag6 (N, Val); end Set_Is_Static_Expression; procedure Set_Is_Subprogram_Descriptor (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Object_Declaration); Set_Flag16 (N, Val); end Set_Is_Subprogram_Descriptor; procedure Set_Is_Task_Allocation_Block (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Block_Statement); Set_Flag6 (N, Val); end Set_Is_Task_Allocation_Block; procedure Set_Is_Task_Master (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_Subprogram_Body or else NT (N).Nkind = N_Task_Body); Set_Flag5 (N, Val); end Set_Is_Task_Master; procedure Set_Iteration_Scheme (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Loop_Statement); 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 pragma Assert (False or else NT (N).Nkind = N_Itype_Reference); Set_Node1 (N, Val); -- no parent, semantic field end Set_Itype; procedure Set_Kill_Range_Check (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Unchecked_Type_Conversion); Set_Flag11 (N, Val); end Set_Kill_Range_Check; procedure Set_Label_Construct (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Implicit_Label_Declaration); Set_Node2 (N, Val); -- semantic field, no parent set end Set_Label_Construct; procedure Set_Last_Bit (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Component_Clause); Set_Node4_With_Parent (N, Val); end Set_Last_Bit; procedure Set_Last_Name (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_With_Clause); Set_Flag6 (N, Val); end Set_Last_Name; procedure Set_Left_Opnd (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_And_Then or else NT (N).Nkind = N_In or else NT (N).Nkind = N_Not_In or else NT (N).Nkind = N_Or_Else or else NT (N).Nkind in N_Binary_Op); Set_Node2_With_Parent (N, Val); end Set_Left_Opnd; procedure Set_Library_Unit (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit or else NT (N).Nkind = N_Package_Body_Stub or else NT (N).Nkind = N_Protected_Body_Stub or else NT (N).Nkind = N_Subprogram_Body_Stub or else NT (N).Nkind = N_Task_Body_Stub or else NT (N).Nkind = N_With_Clause); Set_Node4 (N, Val); -- semantic field, no parent set end Set_Library_Unit; procedure Set_Limited_View_Installed (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Package_Specification or else NT (N).Nkind = N_With_Clause); Set_Flag18 (N, Val); end Set_Limited_View_Installed; procedure Set_Limited_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_Formal_Private_Type_Definition or else NT (N).Nkind = N_Private_Extension_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_Clause); Set_Flag17 (N, Val); end Set_Limited_Present; procedure Set_Literals (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Enumeration_Type_Definition); 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 pragma Assert (False or else NT (N).Nkind = N_Component_Association); Set_List2 (N, Val); -- semantic field, no parent set end Set_Loop_Actions; procedure Set_Loop_Parameter_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_Node4_With_Parent (N, Val); end Set_Loop_Parameter_Specification; procedure Set_Low_Bound (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Range or else NT (N).Nkind = N_Real_Range_Specification or else NT (N).Nkind = N_Signed_Integer_Type_Definition); Set_Node1_With_Parent (N, Val); end Set_Low_Bound; procedure Set_Mod_Clause (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Record_Representation_Clause); Set_Node2_With_Parent (N, Val); end Set_Mod_Clause; procedure Set_More_Ids (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Component_Declaration 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_Number_Declaration or else NT (N).Nkind = N_Object_Declaration or else NT (N).Nkind = N_Parameter_Specification); Set_Flag5 (N, Val); end Set_More_Ids; procedure Set_Must_Be_Byte_Aligned (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Attribute_Reference); Set_Flag14 (N, Val); end Set_Must_Be_Byte_Aligned; procedure Set_Must_Not_Freeze (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Subtype_Indication or else NT (N).Nkind in N_Subexpr); Set_Flag8 (N, Val); end Set_Must_Not_Freeze; procedure Set_Must_Not_Override (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Declaration or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Function_Specification or else NT (N).Nkind = N_Procedure_Instantiation or else NT (N).Nkind = N_Procedure_Specification); Set_Flag15 (N, Val); end Set_Must_Not_Override; procedure Set_Must_Override (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Declaration or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Function_Specification or else NT (N).Nkind = N_Procedure_Instantiation or else NT (N).Nkind = N_Procedure_Specification); Set_Flag14 (N, Val); end Set_Must_Override; procedure Set_Name (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Assignment_Statement or else NT (N).Nkind = N_Attribute_Definition_Clause or else NT (N).Nkind = N_Defining_Program_Unit_Name or else NT (N).Nkind = N_Designator or else NT (N).Nkind = N_Entry_Call_Statement or else NT (N).Nkind = N_Exception_Renaming_Declaration or else NT (N).Nkind = N_Exit_Statement or else NT (N).Nkind = N_Formal_Package_Declaration or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration 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_Procedure_Call_Statement or else NT (N).Nkind = N_Procedure_Instantiation or else NT (N).Nkind = N_Raise_Statement or else NT (N).Nkind = N_Requeue_Statement 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); Set_Node2_With_Parent (N, Val); end Set_Name; procedure Set_Names (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Abort_Statement or else NT (N).Nkind = N_Use_Package_Clause); Set_List2_With_Parent (N, Val); end Set_Names; procedure Set_Next_Entity (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Defining_Character_Literal or else NT (N).Nkind = N_Defining_Identifier or else NT (N).Nkind = N_Defining_Operator_Symbol); 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 pragma Assert (False or else NT (N).Nkind = N_Parameter_Association); 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_Node5 (N, Val); -- semantic field, no parent set end Set_Next_Rep_Item; procedure Set_Next_Use_Clause (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Use_Package_Clause or else NT (N).Nkind = N_Use_Type_Clause); Set_Node3 (N, Val); -- semantic field, no parent set end Set_Next_Use_Clause; procedure Set_No_Ctrl_Actions (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Assignment_Statement); Set_Flag7 (N, Val); end Set_No_Ctrl_Actions; procedure Set_No_Elaboration_Check (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Procedure_Call_Statement); Set_Flag14 (N, Val); end Set_No_Elaboration_Check; procedure Set_No_Entities_Ref_In_Spec (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_With_Clause); Set_Flag8 (N, Val); end Set_No_Entities_Ref_In_Spec; procedure Set_No_Initialization (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Allocator or else NT (N).Nkind = N_Object_Declaration); Set_Flag13 (N, Val); end Set_No_Initialization; procedure Set_No_Truncation (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Unchecked_Type_Conversion); Set_Flag17 (N, Val); end Set_No_Truncation; procedure Set_Null_Present (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Component_List or else NT (N).Nkind = N_Procedure_Specification or else NT (N).Nkind = N_Record_Definition); Set_Flag13 (N, Val); end Set_Null_Present; procedure Set_Null_Exclusion_Present (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Access_Definition or else NT (N).Nkind = N_Access_Function_Definition or else NT (N).Nkind = N_Access_Procedure_Definition or else NT (N).Nkind = N_Access_To_Object_Definition or else NT (N).Nkind = N_Allocator 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 pragma Assert (False or else NT (N).Nkind = N_Aggregate or else NT (N).Nkind = N_Extension_Aggregate); Set_Flag17 (N, Val); end Set_Null_Record_Present; procedure Set_Object_Definition (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Object_Declaration); 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 pragma Assert (False or else NT (N).Nkind = N_Identifier); Set_Node2 (N, Val); -- semantic field, no parent set end Set_Original_Discriminant; procedure Set_Original_Entity (N : Node_Id; Val : Entity_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Integer_Literal or else NT (N).Nkind = N_Real_Literal); Set_Node2 (N, Val); -- semantic field, no parent set end Set_Original_Entity; procedure Set_Others_Discrete_Choices (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Others_Choice); Set_List1_With_Parent (N, Val); end Set_Others_Discrete_Choices; procedure Set_Out_Present (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Formal_Object_Declaration or else NT (N).Nkind = N_Parameter_Specification); Set_Flag17 (N, Val); end Set_Out_Present; procedure Set_Parameter_Associations (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Entry_Call_Statement or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Procedure_Call_Statement); Set_List3_With_Parent (N, Val); end Set_Parameter_Associations; procedure Set_Parameter_List_Truncated (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Function_Call or else NT (N).Nkind = N_Procedure_Call_Statement); Set_Flag17 (N, Val); end Set_Parameter_List_Truncated; procedure Set_Parameter_Specifications (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Statement or else NT (N).Nkind = N_Access_Function_Definition or else NT (N).Nkind = N_Access_Procedure_Definition or else NT (N).Nkind = N_Entry_Body_Formal_Part or else NT (N).Nkind = N_Entry_Declaration or else NT (N).Nkind = N_Function_Specification or else NT (N).Nkind = N_Procedure_Specification); Set_List3_With_Parent (N, Val); end Set_Parameter_Specifications; procedure Set_Parameter_Type (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Parameter_Specification); Set_Node2_With_Parent (N, Val); end Set_Parameter_Type; procedure Set_Parent_Spec (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Function_Instantiation or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration or else NT (N).Nkind = N_Generic_Package_Declaration 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_Generic_Subprogram_Declaration or else NT (N).Nkind = N_Package_Declaration or else NT (N).Nkind = N_Package_Instantiation or else NT (N).Nkind = N_Package_Renaming_Declaration or else NT (N).Nkind = N_Procedure_Instantiation or else NT (N).Nkind = N_Subprogram_Declaration or else NT (N).Nkind = N_Subprogram_Renaming_Declaration); Set_Node4 (N, Val); -- semantic field, no parent set end Set_Parent_Spec; procedure Set_Position (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Component_Clause); Set_Node2_With_Parent (N, Val); end Set_Position; procedure Set_Pragma_Argument_Associations (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Pragma); Set_List2_With_Parent (N, Val); end Set_Pragma_Argument_Associations; 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 pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit_Aux or else NT (N).Nkind = N_Terminate_Alternative); Set_List5_With_Parent (N, Val); end Set_Pragmas_After; procedure Set_Pragmas_Before (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Accept_Alternative or else NT (N).Nkind = N_Delay_Alternative or else NT (N).Nkind = N_Entry_Call_Alternative or else NT (N).Nkind = N_Mod_Clause or else NT (N).Nkind = N_Terminate_Alternative or else NT (N).Nkind = N_Triggering_Alternative); Set_List4_With_Parent (N, Val); end Set_Pragmas_Before; procedure Set_Prefix (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Attribute_Reference or else NT (N).Nkind = N_Expanded_Name or else NT (N).Nkind = N_Explicit_Dereference or else NT (N).Nkind = N_Indexed_Component or else NT (N).Nkind = N_Reference or else NT (N).Nkind = N_Selected_Component or else NT (N).Nkind = N_Slice); Set_Node3_With_Parent (N, Val); end Set_Prefix; procedure Set_Present_Expr (N : Node_Id; Val : Uint) is begin pragma Assert (False or else NT (N).Nkind = N_Variant); Set_Uint3 (N, Val); end Set_Present_Expr; procedure Set_Prev_Ids (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Component_Declaration 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_Number_Declaration or else NT (N).Nkind = N_Object_Declaration or else NT (N).Nkind = N_Parameter_Specification); Set_Flag6 (N, Val); end Set_Prev_Ids; procedure Set_Print_In_Hex (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Integer_Literal); Set_Flag13 (N, Val); end Set_Print_In_Hex; procedure Set_Private_Declarations (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Package_Specification or else NT (N).Nkind = N_Protected_Definition or else NT (N).Nkind = N_Task_Definition); Set_List3_With_Parent (N, Val); end Set_Private_Declarations; procedure Set_Private_Present (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit or else NT (N).Nkind = N_Formal_Derived_Type_Definition or else NT (N).Nkind = N_With_Clause); Set_Flag15 (N, Val); end Set_Private_Present; procedure Set_Procedure_To_Call (N : Node_Id; Val : Node_Id) is 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_Node2 (N, Val); -- semantic field, no parent set end Set_Procedure_To_Call; procedure Set_Proper_Body (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Subunit); Set_Node1_With_Parent (N, Val); end Set_Proper_Body; procedure Set_Protected_Definition (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Protected_Type_Declaration or else NT (N).Nkind = N_Single_Protected_Declaration); Set_Node3_With_Parent (N, Val); end Set_Protected_Definition; procedure Set_Protected_Present (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Access_Function_Definition or else NT (N).Nkind = N_Access_Procedure_Definition or else NT (N).Nkind = N_Derived_Type_Definition or else NT (N).Nkind = N_Record_Definition); Set_Flag6 (N, Val); end Set_Protected_Present; procedure Set_Raises_Constraint_Error (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind in N_Subexpr); Set_Flag7 (N, Val); end Set_Raises_Constraint_Error; procedure Set_Range_Constraint (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Delta_Constraint or else NT (N).Nkind = N_Digits_Constraint); Set_Node4_With_Parent (N, Val); end Set_Range_Constraint; procedure Set_Range_Expression (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Range_Constraint); Set_Node4_With_Parent (N, Val); end Set_Range_Expression; procedure Set_Real_Range_Specification (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition or else NT (N).Nkind = N_Floating_Point_Definition or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition); Set_Node4_With_Parent (N, Val); end Set_Real_Range_Specification; procedure Set_Realval (N : Node_Id; Val : Ureal) is begin pragma Assert (False or else NT (N).Nkind = N_Real_Literal); Set_Ureal3 (N, Val); end Set_Realval; procedure Set_Reason (N : Node_Id; Val : Uint) is begin pragma Assert (False 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_Uint3 (N, Val); end Set_Reason; procedure Set_Record_Extension_Part (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Derived_Type_Definition); Set_Node3_With_Parent (N, Val); end Set_Record_Extension_Part; procedure Set_Redundant_Use (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Attribute_Reference or else NT (N).Nkind = N_Expanded_Name or else NT (N).Nkind = N_Identifier); 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 pragma Assert (False or else NT (N).Nkind = N_Access_Function_Definition or else NT (N).Nkind = N_Function_Specification); Set_Node4_With_Parent (N, Val); end Set_Result_Definition; 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_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; procedure Set_Right_Opnd (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind in N_Op or else NT (N).Nkind = N_And_Then or else NT (N).Nkind = N_In or else NT (N).Nkind = N_Not_In or else NT (N).Nkind = N_Or_Else); Set_Node3_With_Parent (N, Val); end Set_Right_Opnd; procedure Set_Rounded_Result (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Op_Divide or else NT (N).Nkind = N_Op_Multiply or else NT (N).Nkind = N_Type_Conversion); 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 pragma Assert (False or else NT (N).Nkind = N_Defining_Character_Literal or else NT (N).Nkind = N_Defining_Identifier or else NT (N).Nkind = N_Defining_Operator_Symbol); Set_Node3 (N, Val); -- semantic field, no parent set end Set_Scope; procedure Set_Select_Alternatives (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Selective_Accept); Set_List1_With_Parent (N, Val); end Set_Select_Alternatives; procedure Set_Selector_Name (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Expanded_Name or else NT (N).Nkind = N_Generic_Association or else NT (N).Nkind = N_Parameter_Association or else NT (N).Nkind = N_Selected_Component); Set_Node2_With_Parent (N, Val); end Set_Selector_Name; procedure Set_Selector_Names (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Discriminant_Association); Set_List1_With_Parent (N, Val); end Set_Selector_Names; procedure Set_Shift_Count_OK (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Op_Rotate_Left or else NT (N).Nkind = N_Op_Rotate_Right or else NT (N).Nkind = N_Op_Shift_Left or else NT (N).Nkind = N_Op_Shift_Right or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic); Set_Flag4 (N, Val); end Set_Shift_Count_OK; procedure Set_Source_Type (N : Node_Id; Val : Entity_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Validate_Unchecked_Conversion); 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_Subprogram_Body or else NT (N).Nkind = N_Subprogram_Body_Stub or else NT (N).Nkind = N_Subprogram_Declaration or else NT (N).Nkind = N_Subprogram_Renaming_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 pragma Assert (False or else NT (N).Nkind = N_Abortable_Part or else NT (N).Nkind = N_Accept_Alternative or else NT (N).Nkind = N_Case_Statement_Alternative or else NT (N).Nkind = N_Delay_Alternative or else NT (N).Nkind = N_Entry_Call_Alternative or else NT (N).Nkind = N_Exception_Handler or else NT (N).Nkind = N_Handled_Sequence_Of_Statements or else NT (N).Nkind = N_Loop_Statement or else NT (N).Nkind = N_Triggering_Alternative); Set_List3_With_Parent (N, Val); end Set_Statements; procedure Set_Static_Processing_OK (N : Node_Id; Val : Boolean) is begin pragma Assert (False or else NT (N).Nkind = N_Aggregate); Set_Flag4 (N, Val); end Set_Static_Processing_OK; procedure Set_Storage_Pool (N : Node_Id; Val : Node_Id) is 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 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 pragma Assert (False or else NT (N).Nkind = N_Operator_Symbol or else NT (N).Nkind = N_String_Literal); Set_Str3 (N, Val); end Set_Strval; procedure Set_Subtype_Indication (N : Node_Id; Val : Node_Id) is begin pragma Assert (False 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); end Set_Subtype_Indication; procedure Set_Subtype_Mark (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Access_Definition or else NT (N).Nkind = N_Formal_Derived_Type_Definition or else NT (N).Nkind = N_Formal_Object_Declaration or else NT (N).Nkind = N_Object_Renaming_Declaration or else NT (N).Nkind = N_Qualified_Expression or else NT (N).Nkind = N_Subtype_Indication or else NT (N).Nkind = N_Type_Conversion or else NT (N).Nkind = N_Unchecked_Type_Conversion); Set_Node4_With_Parent (N, Val); end Set_Subtype_Mark; procedure Set_Subtype_Marks (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Unconstrained_Array_Definition or else NT (N).Nkind = N_Use_Type_Clause); 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; procedure Set_Tagged_Present (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False 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); Set_Flag15 (N, Val); end Set_Tagged_Present; procedure Set_Target_Type (N : Node_Id; Val : Entity_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Validate_Unchecked_Conversion); Set_Node2 (N, Val); -- semantic field, no parent set end Set_Target_Type; procedure Set_Task_Definition (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Single_Task_Declaration or else NT (N).Nkind = N_Task_Type_Declaration); Set_Node3_With_Parent (N, Val); end Set_Task_Definition; procedure Set_Task_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_Record_Definition); Set_Flag5 (N, Val); end Set_Task_Present; procedure Set_Then_Actions (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Conditional_Expression); Set_List2 (N, Val); -- semantic field, no parent set end Set_Then_Actions; procedure Set_Then_Statements (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Elsif_Part or else NT (N).Nkind = N_If_Statement); Set_List2_With_Parent (N, Val); end Set_Then_Statements; procedure Set_Treat_Fixed_As_Integer (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Op_Divide or else NT (N).Nkind = N_Op_Mod or else NT (N).Nkind = N_Op_Multiply or else NT (N).Nkind = N_Op_Rem); Set_Flag14 (N, Val); end Set_Treat_Fixed_As_Integer; procedure Set_Triggering_Alternative (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Asynchronous_Select); Set_Node1_With_Parent (N, Val); end Set_Triggering_Alternative; procedure Set_Triggering_Statement (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Triggering_Alternative); Set_Node1_With_Parent (N, Val); end Set_Triggering_Statement; procedure Set_TSS_Elist (N : Node_Id; Val : Elist_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Freeze_Entity); Set_Elist3 (N, Val); -- semantic field, no parent set end Set_TSS_Elist; procedure Set_Type_Definition (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Full_Type_Declaration); Set_Node3_With_Parent (N, Val); end Set_Type_Definition; procedure Set_Unit (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Compilation_Unit); Set_Node2_With_Parent (N, Val); end Set_Unit; procedure Set_Unknown_Discriminants_Present (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_Formal_Type_Declaration or else NT (N).Nkind = N_Incomplete_Type_Declaration or else NT (N).Nkind = N_Private_Extension_Declaration or else NT (N).Nkind = N_Private_Type_Declaration); Set_Flag13 (N, Val); end Set_Unknown_Discriminants_Present; procedure Set_Unreferenced_In_Spec (N : Node_Id; Val : Boolean := True) is begin pragma Assert (False or else NT (N).Nkind = N_With_Clause); Set_Flag7 (N, Val); end Set_Unreferenced_In_Spec; procedure Set_Variant_Part (N : Node_Id; Val : Node_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Component_List); Set_Node4_With_Parent (N, Val); end Set_Variant_Part; procedure Set_Variants (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Variant_Part); Set_List1_With_Parent (N, Val); end Set_Variants; procedure Set_Visible_Declarations (N : Node_Id; Val : List_Id) is begin pragma Assert (False or else NT (N).Nkind = N_Package_Specification or else NT (N).Nkind = N_Protected_Definition or else NT (N).Nkind = N_Task_Definition); 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 pragma Assert (False or else NT (N).Nkind = N_Package_Body or else NT (N).Nkind = N_Protected_Body or else NT (N).Nkind = N_Subprogram_Body or else NT (N).Nkind = N_Task_Body); 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 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 -- ------------------------- procedure Next_Entity (N : in out Node_Id) is begin N := Next_Entity (N); end Next_Entity; procedure Next_Named_Actual (N : in out Node_Id) is begin N := Next_Named_Actual (N); end Next_Named_Actual; procedure Next_Rep_Item (N : in out Node_Id) is begin N := Next_Rep_Item (N); end Next_Rep_Item; procedure Next_Use_Clause (N : in out Node_Id) is begin N := Next_Use_Clause (N); end Next_Use_Clause; ------------------ -- End_Location -- ------------------ 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; else return Source_Ptr (Int (Sloc (N)) + UI_To_Int (L)); 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 -- ---------------------- procedure Set_End_Location (N : Node_Id; S : Source_Ptr) is begin Set_End_Span (N, 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;