1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2003, Free Software Foundation, Inc. --
11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 2, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
17 -- for more details. You should have received a copy of the GNU General --
18 -- Public License distributed with GNAT; see file COPYING. If not, write --
19 -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
20 -- MA 02111-1307, USA. --
22 -- As a special exception, if other files instantiate generics from this --
23 -- unit, or you link this unit with other files to produce an executable, --
24 -- this unit does not by itself cause the resulting executable to be --
25 -- covered by the GNU General Public License. This exception does not --
26 -- however invalidate any other reasons why the executable file might be --
27 -- covered by the GNU Public License. --
29 -- GNAT was originally developed by the GNAT team at New York University. --
30 -- Extensive contributions were provided by Ada Core Technologies Inc. --
32 ------------------------------------------------------------------------------
34 pragma Style_Checks (All_Checks);
35 -- No subprogram ordering check, due to logical grouping
37 with Atree; use Atree;
41 use Atree.Unchecked_Access;
42 -- This package is one of the few packages which is allowed to make direct
43 -- references to tree nodes (since it is in the business of providing a
44 -- higher level of tree access which other clients are expected to use and
45 -- which implements checks).
47 use Atree_Private_Part;
48 -- The only reason that we ask for direct access to the private part of
49 -- the tree package is so that we can directly reference the Nkind field
50 -- of nodes table entries. We do this since it helps the efficiency of
51 -- the Sinfo debugging checks considerably (note that when we are checking
52 -- Nkind values, we don't need to check for a valid node reference, because
53 -- we will check that anyway when we reference the field).
55 NT : Nodes.Table_Ptr renames Nodes.Table;
56 -- A short hand abbreviation, useful for the debugging checks
58 ----------------------------
59 -- Field Access Functions --
60 ----------------------------
62 function ABE_Is_Certain
63 (N : Node_Id) return Boolean is
66 or else NT (N).Nkind = N_Formal_Package_Declaration
67 or else NT (N).Nkind = N_Function_Call
68 or else NT (N).Nkind = N_Function_Instantiation
69 or else NT (N).Nkind = N_Package_Instantiation
70 or else NT (N).Nkind = N_Procedure_Call_Statement
71 or else NT (N).Nkind = N_Procedure_Instantiation);
75 function Abort_Present
76 (N : Node_Id) return Boolean is
79 or else NT (N).Nkind = N_Requeue_Statement);
83 function Abortable_Part
84 (N : Node_Id) return Node_Id is
87 or else NT (N).Nkind = N_Asynchronous_Select);
91 function Abstract_Present
92 (N : Node_Id) return Boolean is
95 or else NT (N).Nkind = N_Derived_Type_Definition
96 or else NT (N).Nkind = N_Formal_Derived_Type_Definition
97 or else NT (N).Nkind = N_Formal_Private_Type_Definition
98 or else NT (N).Nkind = N_Private_Extension_Declaration
99 or else NT (N).Nkind = N_Private_Type_Declaration
100 or else NT (N).Nkind = N_Record_Definition);
102 end Abstract_Present;
104 function Accept_Handler_Records
105 (N : Node_Id) return List_Id is
108 or else NT (N).Nkind = N_Accept_Alternative);
110 end Accept_Handler_Records;
112 function Accept_Statement
113 (N : Node_Id) return Node_Id is
116 or else NT (N).Nkind = N_Accept_Alternative);
118 end Accept_Statement;
120 function Access_Types_To_Process
121 (N : Node_Id) return Elist_Id is
124 or else NT (N).Nkind = N_Freeze_Entity);
126 end Access_Types_To_Process;
129 (N : Node_Id) return List_Id is
132 or else NT (N).Nkind = N_And_Then
133 or else NT (N).Nkind = N_Compilation_Unit_Aux
134 or else NT (N).Nkind = N_Freeze_Entity
135 or else NT (N).Nkind = N_Or_Else);
139 function Activation_Chain_Entity
140 (N : Node_Id) return Node_Id is
143 or else NT (N).Nkind = N_Block_Statement
144 or else NT (N).Nkind = N_Entry_Body
145 or else NT (N).Nkind = N_Generic_Package_Declaration
146 or else NT (N).Nkind = N_Package_Declaration
147 or else NT (N).Nkind = N_Subprogram_Body
148 or else NT (N).Nkind = N_Task_Body);
150 end Activation_Chain_Entity;
152 function Acts_As_Spec
153 (N : Node_Id) return Boolean is
156 or else NT (N).Nkind = N_Compilation_Unit
157 or else NT (N).Nkind = N_Subprogram_Body);
161 function Aggregate_Bounds
162 (N : Node_Id) return Node_Id is
165 or else NT (N).Nkind = N_Aggregate);
167 end Aggregate_Bounds;
169 function Aliased_Present
170 (N : Node_Id) return Boolean is
173 or else NT (N).Nkind = N_Component_Declaration
174 or else NT (N).Nkind = N_Constrained_Array_Definition
175 or else NT (N).Nkind = N_Object_Declaration
176 or else NT (N).Nkind = N_Unconstrained_Array_Definition);
181 (N : Node_Id) return Boolean is
184 or else NT (N).Nkind = N_Others_Choice);
189 (N : Node_Id) return Boolean is
192 or else NT (N).Nkind = N_Access_To_Object_Definition);
196 function Alternatives
197 (N : Node_Id) return List_Id is
200 or else NT (N).Nkind = N_Case_Statement);
204 function Ancestor_Part
205 (N : Node_Id) return Node_Id is
208 or else NT (N).Nkind = N_Extension_Aggregate);
212 function Array_Aggregate
213 (N : Node_Id) return Node_Id is
216 or else NT (N).Nkind = N_Enumeration_Representation_Clause);
220 function Assignment_OK
221 (N : Node_Id) return Boolean is
224 or else NT (N).Nkind = N_Object_Declaration
225 or else NT (N).Nkind in N_Subexpr);
229 function Associated_Node
230 (N : Node_Id) return Node_Id is
233 or else NT (N).Nkind in N_Has_Entity
234 or else NT (N).Nkind = N_Aggregate
235 or else NT (N).Nkind = N_Extension_Aggregate
236 or else NT (N).Nkind = N_Selected_Component);
241 (N : Node_Id) return Node_Id is
244 or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
248 function Attribute_Name
249 (N : Node_Id) return Name_Id is
252 or else NT (N).Nkind = N_Attribute_Reference);
256 function Aux_Decls_Node
257 (N : Node_Id) return Node_Id is
260 or else NT (N).Nkind = N_Compilation_Unit);
264 function Backwards_OK
265 (N : Node_Id) return Boolean is
268 or else NT (N).Nkind = N_Assignment_Statement);
272 function Bad_Is_Detected
273 (N : Node_Id) return Boolean is
276 or else NT (N).Nkind = N_Subprogram_Body);
280 function Body_Required
281 (N : Node_Id) return Boolean is
284 or else NT (N).Nkind = N_Compilation_Unit);
288 function Body_To_Inline
289 (N : Node_Id) return Node_Id is
292 or else NT (N).Nkind = N_Subprogram_Declaration);
297 (N : Node_Id) return Boolean is
300 or else NT (N).Nkind = N_Component_Association
301 or else NT (N).Nkind = N_Formal_Package_Declaration
302 or else NT (N).Nkind = N_Formal_Subprogram_Declaration);
307 (N : Node_Id) return Boolean is
310 or else NT (N).Nkind = N_Return_Statement);
314 function Char_Literal_Value
315 (N : Node_Id) return Char_Code is
318 or else NT (N).Nkind = N_Character_Literal);
319 return Char_Code2 (N);
320 end Char_Literal_Value;
323 (N : Node_Id) return Name_Id is
326 or else NT (N).Nkind in N_Has_Chars);
330 function Check_Address_Alignment
331 (N : Node_Id) return Boolean is
334 or else NT (N).Nkind = N_Attribute_Definition_Clause);
336 end Check_Address_Alignment;
338 function Choice_Parameter
339 (N : Node_Id) return Node_Id is
342 or else NT (N).Nkind = N_Exception_Handler);
344 end Choice_Parameter;
347 (N : Node_Id) return List_Id is
350 or else NT (N).Nkind = N_Component_Association);
354 function Compile_Time_Known_Aggregate
355 (N : Node_Id) return Boolean is
358 or else NT (N).Nkind = N_Aggregate);
360 end Compile_Time_Known_Aggregate;
362 function Component_Associations
363 (N : Node_Id) return List_Id is
366 or else NT (N).Nkind = N_Aggregate
367 or else NT (N).Nkind = N_Extension_Aggregate);
369 end Component_Associations;
371 function Component_Clauses
372 (N : Node_Id) return List_Id is
375 or else NT (N).Nkind = N_Record_Representation_Clause);
377 end Component_Clauses;
379 function Component_Items
380 (N : Node_Id) return List_Id is
383 or else NT (N).Nkind = N_Component_List);
387 function Component_List
388 (N : Node_Id) return Node_Id is
391 or else NT (N).Nkind = N_Record_Definition
392 or else NT (N).Nkind = N_Variant);
396 function Component_Name
397 (N : Node_Id) return Node_Id is
400 or else NT (N).Nkind = N_Component_Clause);
405 (N : Node_Id) return Node_Id is
408 or else NT (N).Nkind = N_Accept_Alternative
409 or else NT (N).Nkind = N_Delay_Alternative
410 or else NT (N).Nkind = N_Elsif_Part
411 or else NT (N).Nkind = N_Entry_Body_Formal_Part
412 or else NT (N).Nkind = N_Exit_Statement
413 or else NT (N).Nkind = N_If_Statement
414 or else NT (N).Nkind = N_Iteration_Scheme
415 or else NT (N).Nkind = N_Raise_Constraint_Error
416 or else NT (N).Nkind = N_Raise_Program_Error
417 or else NT (N).Nkind = N_Raise_Storage_Error
418 or else NT (N).Nkind = N_Terminate_Alternative);
422 function Condition_Actions
423 (N : Node_Id) return List_Id is
426 or else NT (N).Nkind = N_Elsif_Part
427 or else NT (N).Nkind = N_Iteration_Scheme);
429 end Condition_Actions;
431 function Config_Pragmas
432 (N : Node_Id) return List_Id is
435 or else NT (N).Nkind = N_Compilation_Unit_Aux);
439 function Constant_Present
440 (N : Node_Id) return Boolean is
443 or else NT (N).Nkind = N_Access_To_Object_Definition
444 or else NT (N).Nkind = N_Object_Declaration);
446 end Constant_Present;
449 (N : Node_Id) return Node_Id is
452 or else NT (N).Nkind = N_Subtype_Indication);
457 (N : Node_Id) return List_Id is
460 or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint);
464 function Context_Installed
465 (N : Node_Id) return Boolean is
468 or else NT (N).Nkind = N_With_Clause);
470 end Context_Installed;
472 function Context_Items
473 (N : Node_Id) return List_Id is
476 or else NT (N).Nkind = N_Compilation_Unit);
480 function Controlling_Argument
481 (N : Node_Id) return Node_Id is
484 or else NT (N).Nkind = N_Function_Call
485 or else NT (N).Nkind = N_Procedure_Call_Statement);
487 end Controlling_Argument;
489 function Conversion_OK
490 (N : Node_Id) return Boolean is
493 or else NT (N).Nkind = N_Type_Conversion);
497 function Corresponding_Body
498 (N : Node_Id) return Node_Id is
501 or else NT (N).Nkind = N_Entry_Declaration
502 or else NT (N).Nkind = N_Generic_Package_Declaration
503 or else NT (N).Nkind = N_Generic_Subprogram_Declaration
504 or else NT (N).Nkind = N_Package_Body_Stub
505 or else NT (N).Nkind = N_Package_Declaration
506 or else NT (N).Nkind = N_Protected_Body_Stub
507 or else NT (N).Nkind = N_Protected_Type_Declaration
508 or else NT (N).Nkind = N_Subprogram_Body_Stub
509 or else NT (N).Nkind = N_Subprogram_Declaration
510 or else NT (N).Nkind = N_Task_Body_Stub
511 or else NT (N).Nkind = N_Task_Type_Declaration);
513 end Corresponding_Body;
515 function Corresponding_Generic_Association
516 (N : Node_Id) return Node_Id is
519 or else NT (N).Nkind = N_Object_Declaration
520 or else NT (N).Nkind = N_Object_Renaming_Declaration);
522 end Corresponding_Generic_Association;
524 function Corresponding_Integer_Value
525 (N : Node_Id) return Uint is
528 or else NT (N).Nkind = N_Real_Literal);
530 end Corresponding_Integer_Value;
532 function Corresponding_Spec
533 (N : Node_Id) return Node_Id is
536 or else NT (N).Nkind = N_Package_Body
537 or else NT (N).Nkind = N_Protected_Body
538 or else NT (N).Nkind = N_Subprogram_Body
539 or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
540 or else NT (N).Nkind = N_Task_Body
541 or else NT (N).Nkind = N_With_Clause);
543 end Corresponding_Spec;
545 function Corresponding_Stub
546 (N : Node_Id) return Node_Id is
549 or else NT (N).Nkind = N_Subunit);
551 end Corresponding_Stub;
553 function Dcheck_Function
554 (N : Node_Id) return Entity_Id is
557 or else NT (N).Nkind = N_Variant);
561 function Debug_Statement
562 (N : Node_Id) return Node_Id is
565 or else NT (N).Nkind = N_Pragma);
569 function Declarations
570 (N : Node_Id) return List_Id is
573 or else NT (N).Nkind = N_Accept_Statement
574 or else NT (N).Nkind = N_Block_Statement
575 or else NT (N).Nkind = N_Compilation_Unit_Aux
576 or else NT (N).Nkind = N_Entry_Body
577 or else NT (N).Nkind = N_Package_Body
578 or else NT (N).Nkind = N_Protected_Body
579 or else NT (N).Nkind = N_Subprogram_Body
580 or else NT (N).Nkind = N_Task_Body);
584 function Default_Expression
585 (N : Node_Id) return Node_Id is
588 or else NT (N).Nkind = N_Parameter_Specification);
590 end Default_Expression;
592 function Default_Name
593 (N : Node_Id) return Node_Id is
596 or else NT (N).Nkind = N_Formal_Subprogram_Declaration);
600 function Defining_Identifier
601 (N : Node_Id) return Entity_Id is
604 or else NT (N).Nkind = N_Component_Declaration
605 or else NT (N).Nkind = N_Defining_Program_Unit_Name
606 or else NT (N).Nkind = N_Discriminant_Specification
607 or else NT (N).Nkind = N_Entry_Body
608 or else NT (N).Nkind = N_Entry_Declaration
609 or else NT (N).Nkind = N_Entry_Index_Specification
610 or else NT (N).Nkind = N_Exception_Declaration
611 or else NT (N).Nkind = N_Exception_Renaming_Declaration
612 or else NT (N).Nkind = N_Formal_Object_Declaration
613 or else NT (N).Nkind = N_Formal_Package_Declaration
614 or else NT (N).Nkind = N_Formal_Type_Declaration
615 or else NT (N).Nkind = N_Full_Type_Declaration
616 or else NT (N).Nkind = N_Implicit_Label_Declaration
617 or else NT (N).Nkind = N_Incomplete_Type_Declaration
618 or else NT (N).Nkind = N_Loop_Parameter_Specification
619 or else NT (N).Nkind = N_Number_Declaration
620 or else NT (N).Nkind = N_Object_Declaration
621 or else NT (N).Nkind = N_Object_Renaming_Declaration
622 or else NT (N).Nkind = N_Package_Body_Stub
623 or else NT (N).Nkind = N_Parameter_Specification
624 or else NT (N).Nkind = N_Private_Extension_Declaration
625 or else NT (N).Nkind = N_Private_Type_Declaration
626 or else NT (N).Nkind = N_Protected_Body
627 or else NT (N).Nkind = N_Protected_Body_Stub
628 or else NT (N).Nkind = N_Protected_Type_Declaration
629 or else NT (N).Nkind = N_Single_Protected_Declaration
630 or else NT (N).Nkind = N_Single_Task_Declaration
631 or else NT (N).Nkind = N_Subtype_Declaration
632 or else NT (N).Nkind = N_Task_Body
633 or else NT (N).Nkind = N_Task_Body_Stub
634 or else NT (N).Nkind = N_Task_Type_Declaration);
636 end Defining_Identifier;
638 function Defining_Unit_Name
639 (N : Node_Id) return Node_Id is
642 or else NT (N).Nkind = N_Function_Instantiation
643 or else NT (N).Nkind = N_Function_Specification
644 or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
645 or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
646 or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
647 or else NT (N).Nkind = N_Package_Body
648 or else NT (N).Nkind = N_Package_Instantiation
649 or else NT (N).Nkind = N_Package_Renaming_Declaration
650 or else NT (N).Nkind = N_Package_Specification
651 or else NT (N).Nkind = N_Procedure_Instantiation
652 or else NT (N).Nkind = N_Procedure_Specification);
654 end Defining_Unit_Name;
656 function Delay_Alternative
657 (N : Node_Id) return Node_Id is
660 or else NT (N).Nkind = N_Timed_Entry_Call);
662 end Delay_Alternative;
664 function Delay_Finalize_Attach
665 (N : Node_Id) return Boolean is
668 or else NT (N).Nkind = N_Object_Declaration);
670 end Delay_Finalize_Attach;
672 function Delay_Statement
673 (N : Node_Id) return Node_Id is
676 or else NT (N).Nkind = N_Delay_Alternative);
680 function Delta_Expression
681 (N : Node_Id) return Node_Id is
684 or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
685 or else NT (N).Nkind = N_Delta_Constraint
686 or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
688 end Delta_Expression;
690 function Digits_Expression
691 (N : Node_Id) return Node_Id is
694 or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
695 or else NT (N).Nkind = N_Digits_Constraint
696 or else NT (N).Nkind = N_Floating_Point_Definition);
698 end Digits_Expression;
700 function Discr_Check_Funcs_Built
701 (N : Node_Id) return Boolean is
704 or else NT (N).Nkind = N_Full_Type_Declaration);
706 end Discr_Check_Funcs_Built;
708 function Discrete_Choices
709 (N : Node_Id) return List_Id is
712 or else NT (N).Nkind = N_Case_Statement_Alternative
713 or else NT (N).Nkind = N_Variant);
715 end Discrete_Choices;
717 function Discrete_Range
718 (N : Node_Id) return Node_Id is
721 or else NT (N).Nkind = N_Slice);
725 function Discrete_Subtype_Definition
726 (N : Node_Id) return Node_Id is
729 or else NT (N).Nkind = N_Entry_Declaration
730 or else NT (N).Nkind = N_Entry_Index_Specification
731 or else NT (N).Nkind = N_Loop_Parameter_Specification);
733 end Discrete_Subtype_Definition;
735 function Discrete_Subtype_Definitions
736 (N : Node_Id) return List_Id is
739 or else NT (N).Nkind = N_Constrained_Array_Definition);
741 end Discrete_Subtype_Definitions;
743 function Discriminant_Specifications
744 (N : Node_Id) return List_Id is
747 or else NT (N).Nkind = N_Formal_Type_Declaration
748 or else NT (N).Nkind = N_Full_Type_Declaration
749 or else NT (N).Nkind = N_Incomplete_Type_Declaration
750 or else NT (N).Nkind = N_Private_Extension_Declaration
751 or else NT (N).Nkind = N_Private_Type_Declaration
752 or else NT (N).Nkind = N_Protected_Type_Declaration
753 or else NT (N).Nkind = N_Task_Type_Declaration);
755 end Discriminant_Specifications;
757 function Discriminant_Type
758 (N : Node_Id) return Node_Id is
761 or else NT (N).Nkind = N_Discriminant_Specification);
763 end Discriminant_Type;
765 function Do_Accessibility_Check
766 (N : Node_Id) return Boolean is
769 or else NT (N).Nkind = N_Parameter_Specification);
771 end Do_Accessibility_Check;
773 function Do_Discriminant_Check
774 (N : Node_Id) return Boolean is
777 or else NT (N).Nkind = N_Selected_Component);
779 end Do_Discriminant_Check;
781 function Do_Division_Check
782 (N : Node_Id) return Boolean is
785 or else NT (N).Nkind = N_Op_Divide
786 or else NT (N).Nkind = N_Op_Mod
787 or else NT (N).Nkind = N_Op_Rem);
789 end Do_Division_Check;
791 function Do_Length_Check
792 (N : Node_Id) return Boolean is
795 or else NT (N).Nkind = N_Assignment_Statement
796 or else NT (N).Nkind = N_Op_And
797 or else NT (N).Nkind = N_Op_Or
798 or else NT (N).Nkind = N_Op_Xor
799 or else NT (N).Nkind = N_Type_Conversion);
803 function Do_Overflow_Check
804 (N : Node_Id) return Boolean is
807 or else NT (N).Nkind in N_Op
808 or else NT (N).Nkind = N_Attribute_Reference
809 or else NT (N).Nkind = N_Type_Conversion);
811 end Do_Overflow_Check;
813 function Do_Range_Check
814 (N : Node_Id) return Boolean is
817 or else NT (N).Nkind in N_Subexpr);
821 function Do_Storage_Check
822 (N : Node_Id) return Boolean is
825 or else NT (N).Nkind = N_Allocator
826 or else NT (N).Nkind = N_Subprogram_Body);
828 end Do_Storage_Check;
830 function Do_Tag_Check
831 (N : Node_Id) return Boolean is
834 or else NT (N).Nkind = N_Assignment_Statement
835 or else NT (N).Nkind = N_Function_Call
836 or else NT (N).Nkind = N_Procedure_Call_Statement
837 or else NT (N).Nkind = N_Return_Statement
838 or else NT (N).Nkind = N_Type_Conversion);
842 function Elaborate_All_Present
843 (N : Node_Id) return Boolean is
846 or else NT (N).Nkind = N_With_Clause);
848 end Elaborate_All_Present;
850 function Elaborate_Present
851 (N : Node_Id) return Boolean is
854 or else NT (N).Nkind = N_With_Clause);
856 end Elaborate_Present;
858 function Elaboration_Boolean
859 (N : Node_Id) return Node_Id is
862 or else NT (N).Nkind = N_Function_Specification
863 or else NT (N).Nkind = N_Procedure_Specification);
865 end Elaboration_Boolean;
867 function Else_Actions
868 (N : Node_Id) return List_Id is
871 or else NT (N).Nkind = N_Conditional_Expression);
875 function Else_Statements
876 (N : Node_Id) return List_Id is
879 or else NT (N).Nkind = N_Conditional_Entry_Call
880 or else NT (N).Nkind = N_If_Statement
881 or else NT (N).Nkind = N_Selective_Accept);
886 (N : Node_Id) return List_Id is
889 or else NT (N).Nkind = N_If_Statement);
893 function Enclosing_Variant
894 (N : Node_Id) return Node_Id is
897 or else NT (N).Nkind = N_Variant);
899 end Enclosing_Variant;
902 (N : Node_Id) return Node_Id is
905 or else NT (N).Nkind = N_Enumeration_Type_Definition
906 or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
907 or else NT (N).Nkind = N_Loop_Statement
908 or else NT (N).Nkind = N_Package_Specification
909 or else NT (N).Nkind = N_Protected_Body
910 or else NT (N).Nkind = N_Protected_Definition
911 or else NT (N).Nkind = N_Record_Definition
912 or else NT (N).Nkind = N_Task_Definition);
917 (N : Node_Id) return Uint is
920 or else NT (N).Nkind = N_Case_Statement
921 or else NT (N).Nkind = N_If_Statement);
926 (N : Node_Id) return Node_Id is
929 or else NT (N).Nkind in N_Has_Entity
930 or else NT (N).Nkind = N_Freeze_Entity);
934 function Entity_Or_Associated_Node
935 (N : Node_Id) return Node_Id is
938 or else NT (N).Nkind in N_Has_Entity
939 or else NT (N).Nkind = N_Freeze_Entity);
941 end Entity_Or_Associated_Node;
943 function Entry_Body_Formal_Part
944 (N : Node_Id) return Node_Id is
947 or else NT (N).Nkind = N_Entry_Body);
949 end Entry_Body_Formal_Part;
951 function Entry_Call_Alternative
952 (N : Node_Id) return Node_Id is
955 or else NT (N).Nkind = N_Conditional_Entry_Call
956 or else NT (N).Nkind = N_Timed_Entry_Call);
958 end Entry_Call_Alternative;
960 function Entry_Call_Statement
961 (N : Node_Id) return Node_Id is
964 or else NT (N).Nkind = N_Entry_Call_Alternative);
966 end Entry_Call_Statement;
968 function Entry_Direct_Name
969 (N : Node_Id) return Node_Id is
972 or else NT (N).Nkind = N_Accept_Statement);
974 end Entry_Direct_Name;
977 (N : Node_Id) return Node_Id is
980 or else NT (N).Nkind = N_Accept_Statement);
984 function Entry_Index_Specification
985 (N : Node_Id) return Node_Id is
988 or else NT (N).Nkind = N_Entry_Body_Formal_Part);
990 end Entry_Index_Specification;
993 (N : Node_Id) return Node_Id is
996 or else NT (N).Nkind in N_Has_Etype);
1000 function Exception_Choices
1001 (N : Node_Id) return List_Id is
1003 pragma Assert (False
1004 or else NT (N).Nkind = N_Exception_Handler);
1006 end Exception_Choices;
1008 function Exception_Handlers
1009 (N : Node_Id) return List_Id is
1011 pragma Assert (False
1012 or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
1014 end Exception_Handlers;
1016 function Exception_Junk
1017 (N : Node_Id) return Boolean is
1019 pragma Assert (False
1020 or else NT (N).Nkind = N_Goto_Statement
1021 or else NT (N).Nkind = N_Label
1022 or else NT (N).Nkind = N_Object_Declaration
1023 or else NT (N).Nkind = N_Subtype_Declaration);
1027 function Expansion_Delayed
1028 (N : Node_Id) return Boolean is
1030 pragma Assert (False
1031 or else NT (N).Nkind = N_Aggregate
1032 or else NT (N).Nkind = N_Extension_Aggregate);
1034 end Expansion_Delayed;
1036 function Explicit_Actual_Parameter
1037 (N : Node_Id) return Node_Id is
1039 pragma Assert (False
1040 or else NT (N).Nkind = N_Parameter_Association);
1042 end Explicit_Actual_Parameter;
1044 function Explicit_Generic_Actual_Parameter
1045 (N : Node_Id) return Node_Id is
1047 pragma Assert (False
1048 or else NT (N).Nkind = N_Generic_Association);
1050 end Explicit_Generic_Actual_Parameter;
1053 (N : Node_Id) return Node_Id is
1055 pragma Assert (False
1056 or else NT (N).Nkind = N_Allocator
1057 or else NT (N).Nkind = N_Assignment_Statement
1058 or else NT (N).Nkind = N_At_Clause
1059 or else NT (N).Nkind = N_Attribute_Definition_Clause
1060 or else NT (N).Nkind = N_Case_Statement
1061 or else NT (N).Nkind = N_Code_Statement
1062 or else NT (N).Nkind = N_Component_Association
1063 or else NT (N).Nkind = N_Component_Declaration
1064 or else NT (N).Nkind = N_Delay_Relative_Statement
1065 or else NT (N).Nkind = N_Delay_Until_Statement
1066 or else NT (N).Nkind = N_Discriminant_Association
1067 or else NT (N).Nkind = N_Discriminant_Specification
1068 or else NT (N).Nkind = N_Exception_Declaration
1069 or else NT (N).Nkind = N_Formal_Object_Declaration
1070 or else NT (N).Nkind = N_Free_Statement
1071 or else NT (N).Nkind = N_Mod_Clause
1072 or else NT (N).Nkind = N_Modular_Type_Definition
1073 or else NT (N).Nkind = N_Number_Declaration
1074 or else NT (N).Nkind = N_Object_Declaration
1075 or else NT (N).Nkind = N_Parameter_Specification
1076 or else NT (N).Nkind = N_Pragma_Argument_Association
1077 or else NT (N).Nkind = N_Qualified_Expression
1078 or else NT (N).Nkind = N_Return_Statement
1079 or else NT (N).Nkind = N_Type_Conversion
1080 or else NT (N).Nkind = N_Unchecked_Expression
1081 or else NT (N).Nkind = N_Unchecked_Type_Conversion);
1085 function Expressions
1086 (N : Node_Id) return List_Id is
1088 pragma Assert (False
1089 or else NT (N).Nkind = N_Aggregate
1090 or else NT (N).Nkind = N_Attribute_Reference
1091 or else NT (N).Nkind = N_Conditional_Expression
1092 or else NT (N).Nkind = N_Extension_Aggregate
1093 or else NT (N).Nkind = N_Indexed_Component);
1098 (N : Node_Id) return Node_Id is
1100 pragma Assert (False
1101 or else NT (N).Nkind = N_Component_Clause);
1105 function First_Inlined_Subprogram
1106 (N : Node_Id) return Entity_Id is
1108 pragma Assert (False
1109 or else NT (N).Nkind = N_Compilation_Unit);
1111 end First_Inlined_Subprogram;
1114 (N : Node_Id) return Boolean is
1116 pragma Assert (False
1117 or else NT (N).Nkind = N_With_Clause);
1121 function First_Named_Actual
1122 (N : Node_Id) return Node_Id is
1124 pragma Assert (False
1125 or else NT (N).Nkind = N_Entry_Call_Statement
1126 or else NT (N).Nkind = N_Function_Call
1127 or else NT (N).Nkind = N_Procedure_Call_Statement);
1129 end First_Named_Actual;
1131 function First_Real_Statement
1132 (N : Node_Id) return Node_Id is
1134 pragma Assert (False
1135 or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
1137 end First_Real_Statement;
1139 function First_Subtype_Link
1140 (N : Node_Id) return Entity_Id is
1142 pragma Assert (False
1143 or else NT (N).Nkind = N_Freeze_Entity);
1145 end First_Subtype_Link;
1147 function Float_Truncate
1148 (N : Node_Id) return Boolean is
1150 pragma Assert (False
1151 or else NT (N).Nkind = N_Type_Conversion);
1155 function Formal_Type_Definition
1156 (N : Node_Id) return Node_Id is
1158 pragma Assert (False
1159 or else NT (N).Nkind = N_Formal_Type_Declaration);
1161 end Formal_Type_Definition;
1163 function Forwards_OK
1164 (N : Node_Id) return Boolean is
1166 pragma Assert (False
1167 or else NT (N).Nkind = N_Assignment_Statement);
1171 function From_At_Mod
1172 (N : Node_Id) return Boolean is
1174 pragma Assert (False
1175 or else NT (N).Nkind = N_Attribute_Definition_Clause);
1179 function Generic_Associations
1180 (N : Node_Id) return List_Id is
1182 pragma Assert (False
1183 or else NT (N).Nkind = N_Formal_Package_Declaration
1184 or else NT (N).Nkind = N_Function_Instantiation
1185 or else NT (N).Nkind = N_Package_Instantiation
1186 or else NT (N).Nkind = N_Procedure_Instantiation);
1188 end Generic_Associations;
1190 function Generic_Formal_Declarations
1191 (N : Node_Id) return List_Id is
1193 pragma Assert (False
1194 or else NT (N).Nkind = N_Generic_Package_Declaration
1195 or else NT (N).Nkind = N_Generic_Subprogram_Declaration);
1197 end Generic_Formal_Declarations;
1199 function Generic_Parent
1200 (N : Node_Id) return Node_Id is
1202 pragma Assert (False
1203 or else NT (N).Nkind = N_Function_Specification
1204 or else NT (N).Nkind = N_Package_Specification
1205 or else NT (N).Nkind = N_Procedure_Specification);
1209 function Generic_Parent_Type
1210 (N : Node_Id) return Node_Id is
1212 pragma Assert (False
1213 or else NT (N).Nkind = N_Subtype_Declaration);
1215 end Generic_Parent_Type;
1217 function Handled_Statement_Sequence
1218 (N : Node_Id) return Node_Id is
1220 pragma Assert (False
1221 or else NT (N).Nkind = N_Accept_Statement
1222 or else NT (N).Nkind = N_Block_Statement
1223 or else NT (N).Nkind = N_Entry_Body
1224 or else NT (N).Nkind = N_Package_Body
1225 or else NT (N).Nkind = N_Subprogram_Body
1226 or else NT (N).Nkind = N_Task_Body);
1228 end Handled_Statement_Sequence;
1230 function Handler_List_Entry
1231 (N : Node_Id) return Node_Id is
1233 pragma Assert (False
1234 or else NT (N).Nkind = N_Object_Declaration);
1236 end Handler_List_Entry;
1238 function Has_Created_Identifier
1239 (N : Node_Id) return Boolean is
1241 pragma Assert (False
1242 or else NT (N).Nkind = N_Block_Statement
1243 or else NT (N).Nkind = N_Loop_Statement);
1245 end Has_Created_Identifier;
1247 function Has_Dynamic_Length_Check
1248 (N : Node_Id) return Boolean is
1251 end Has_Dynamic_Length_Check;
1253 function Has_Dynamic_Range_Check
1254 (N : Node_Id) return Boolean is
1257 end Has_Dynamic_Range_Check;
1259 function Has_No_Elaboration_Code
1260 (N : Node_Id) return Boolean is
1262 pragma Assert (False
1263 or else NT (N).Nkind = N_Compilation_Unit);
1265 end Has_No_Elaboration_Code;
1267 function Has_Priority_Pragma
1268 (N : Node_Id) return Boolean is
1270 pragma Assert (False
1271 or else NT (N).Nkind = N_Protected_Definition
1272 or else NT (N).Nkind = N_Subprogram_Body
1273 or else NT (N).Nkind = N_Task_Definition);
1275 end Has_Priority_Pragma;
1277 function Has_Private_View
1278 (N : Node_Id) return Boolean is
1280 pragma Assert (False
1281 or else NT (N).Nkind in N_Op
1282 or else NT (N).Nkind = N_Character_Literal
1283 or else NT (N).Nkind = N_Expanded_Name
1284 or else NT (N).Nkind = N_Identifier
1285 or else NT (N).Nkind = N_Operator_Symbol);
1287 end Has_Private_View;
1289 function Has_Storage_Size_Pragma
1290 (N : Node_Id) return Boolean is
1292 pragma Assert (False
1293 or else NT (N).Nkind = N_Task_Definition);
1295 end Has_Storage_Size_Pragma;
1297 function Has_Task_Info_Pragma
1298 (N : Node_Id) return Boolean is
1300 pragma Assert (False
1301 or else NT (N).Nkind = N_Task_Definition);
1303 end Has_Task_Info_Pragma;
1305 function Has_Task_Name_Pragma
1306 (N : Node_Id) return Boolean is
1308 pragma Assert (False
1309 or else NT (N).Nkind = N_Task_Definition);
1311 end Has_Task_Name_Pragma;
1313 function Has_Wide_Character
1314 (N : Node_Id) return Boolean is
1316 pragma Assert (False
1317 or else NT (N).Nkind = N_String_Literal);
1319 end Has_Wide_Character;
1321 function Hidden_By_Use_Clause
1322 (N : Node_Id) return Elist_Id is
1324 pragma Assert (False
1325 or else NT (N).Nkind = N_Use_Package_Clause
1326 or else NT (N).Nkind = N_Use_Type_Clause);
1328 end Hidden_By_Use_Clause;
1331 (N : Node_Id) return Node_Id is
1333 pragma Assert (False
1334 or else NT (N).Nkind = N_Range
1335 or else NT (N).Nkind = N_Real_Range_Specification
1336 or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
1341 (N : Node_Id) return Node_Id is
1343 pragma Assert (False
1344 or else NT (N).Nkind = N_At_Clause
1345 or else NT (N).Nkind = N_Block_Statement
1346 or else NT (N).Nkind = N_Designator
1347 or else NT (N).Nkind = N_Enumeration_Representation_Clause
1348 or else NT (N).Nkind = N_Label
1349 or else NT (N).Nkind = N_Loop_Statement
1350 or else NT (N).Nkind = N_Record_Representation_Clause
1351 or else NT (N).Nkind = N_Subprogram_Info);
1355 function Implicit_With
1356 (N : Node_Id) return Boolean is
1358 pragma Assert (False
1359 or else NT (N).Nkind = N_With_Clause);
1364 (N : Node_Id) return Boolean is
1366 pragma Assert (False
1367 or else NT (N).Nkind = N_Formal_Object_Declaration
1368 or else NT (N).Nkind = N_Parameter_Specification);
1372 function Includes_Infinities
1373 (N : Node_Id) return Boolean is
1375 pragma Assert (False
1376 or else NT (N).Nkind = N_Range);
1378 end Includes_Infinities;
1380 function Instance_Spec
1381 (N : Node_Id) return Node_Id is
1383 pragma Assert (False
1384 or else NT (N).Nkind = N_Formal_Package_Declaration
1385 or else NT (N).Nkind = N_Function_Instantiation
1386 or else NT (N).Nkind = N_Package_Instantiation
1387 or else NT (N).Nkind = N_Procedure_Instantiation);
1392 (N : Node_Id) return Uint is
1394 pragma Assert (False
1395 or else NT (N).Nkind = N_Integer_Literal);
1399 function Is_Asynchronous_Call_Block
1400 (N : Node_Id) return Boolean is
1402 pragma Assert (False
1403 or else NT (N).Nkind = N_Block_Statement);
1405 end Is_Asynchronous_Call_Block;
1407 function Is_Component_Left_Opnd
1408 (N : Node_Id) return Boolean is
1410 pragma Assert (False
1411 or else NT (N).Nkind = N_Op_Concat);
1413 end Is_Component_Left_Opnd;
1415 function Is_Component_Right_Opnd
1416 (N : Node_Id) return Boolean is
1418 pragma Assert (False
1419 or else NT (N).Nkind = N_Op_Concat);
1421 end Is_Component_Right_Opnd;
1423 function Is_Controlling_Actual
1424 (N : Node_Id) return Boolean is
1426 pragma Assert (False
1427 or else NT (N).Nkind in N_Subexpr);
1429 end Is_Controlling_Actual;
1431 function Is_In_Discriminant_Check
1432 (N : Node_Id) return Boolean is
1434 pragma Assert (False
1435 or else NT (N).Nkind = N_Selected_Component);
1437 end Is_In_Discriminant_Check;
1439 function Is_Machine_Number
1440 (N : Node_Id) return Boolean is
1442 pragma Assert (False
1443 or else NT (N).Nkind = N_Real_Literal);
1445 end Is_Machine_Number;
1447 function Is_Null_Loop
1448 (N : Node_Id) return Boolean is
1450 pragma Assert (False
1451 or else NT (N).Nkind = N_Loop_Statement);
1455 function Is_Overloaded
1456 (N : Node_Id) return Boolean is
1458 pragma Assert (False
1459 or else NT (N).Nkind in N_Subexpr);
1463 function Is_Power_Of_2_For_Shift
1464 (N : Node_Id) return Boolean is
1466 pragma Assert (False
1467 or else NT (N).Nkind = N_Op_Expon);
1469 end Is_Power_Of_2_For_Shift;
1471 function Is_Protected_Subprogram_Body
1472 (N : Node_Id) return Boolean is
1474 pragma Assert (False
1475 or else NT (N).Nkind = N_Subprogram_Body);
1477 end Is_Protected_Subprogram_Body;
1479 function Is_Static_Expression
1480 (N : Node_Id) return Boolean is
1482 pragma Assert (False
1483 or else NT (N).Nkind in N_Subexpr);
1485 end Is_Static_Expression;
1487 function Is_Subprogram_Descriptor
1488 (N : Node_Id) return Boolean is
1490 pragma Assert (False
1491 or else NT (N).Nkind = N_Object_Declaration);
1493 end Is_Subprogram_Descriptor;
1495 function Is_Task_Allocation_Block
1496 (N : Node_Id) return Boolean is
1498 pragma Assert (False
1499 or else NT (N).Nkind = N_Block_Statement);
1501 end Is_Task_Allocation_Block;
1503 function Is_Task_Master
1504 (N : Node_Id) return Boolean is
1506 pragma Assert (False
1507 or else NT (N).Nkind = N_Block_Statement
1508 or else NT (N).Nkind = N_Subprogram_Body
1509 or else NT (N).Nkind = N_Task_Body);
1513 function Iteration_Scheme
1514 (N : Node_Id) return Node_Id is
1516 pragma Assert (False
1517 or else NT (N).Nkind = N_Loop_Statement);
1519 end Iteration_Scheme;
1522 (N : Node_Id) return Node_Id is
1524 pragma Assert (False
1525 or else NT (N).Nkind = N_Itype_Reference);
1529 function Kill_Range_Check
1530 (N : Node_Id) return Boolean is
1532 pragma Assert (False
1533 or else NT (N).Nkind = N_Unchecked_Type_Conversion);
1535 end Kill_Range_Check;
1537 function Label_Construct
1538 (N : Node_Id) return Node_Id is
1540 pragma Assert (False
1541 or else NT (N).Nkind = N_Implicit_Label_Declaration);
1543 end Label_Construct;
1546 (N : Node_Id) return Node_Id is
1548 pragma Assert (False
1549 or else NT (N).Nkind = N_Component_Clause);
1554 (N : Node_Id) return Boolean is
1556 pragma Assert (False
1557 or else NT (N).Nkind = N_With_Clause);
1562 (N : Node_Id) return Node_Id is
1564 pragma Assert (False
1565 or else NT (N).Nkind = N_And_Then
1566 or else NT (N).Nkind = N_In
1567 or else NT (N).Nkind = N_Not_In
1568 or else NT (N).Nkind = N_Or_Else
1569 or else NT (N).Nkind in N_Binary_Op);
1573 function Library_Unit
1574 (N : Node_Id) return Node_Id is
1576 pragma Assert (False
1577 or else NT (N).Nkind = N_Compilation_Unit
1578 or else NT (N).Nkind = N_Package_Body_Stub
1579 or else NT (N).Nkind = N_Protected_Body_Stub
1580 or else NT (N).Nkind = N_Subprogram_Body_Stub
1581 or else NT (N).Nkind = N_Task_Body_Stub
1582 or else NT (N).Nkind = N_With_Clause);
1586 function Limited_View_Installed
1587 (N : Node_Id) return Boolean is
1589 pragma Assert (False
1590 or else NT (N).Nkind = N_Package_Specification
1591 or else NT (N).Nkind = N_With_Clause);
1593 end Limited_View_Installed;
1595 function Limited_Present
1596 (N : Node_Id) return Boolean is
1598 pragma Assert (False
1599 or else NT (N).Nkind = N_Formal_Private_Type_Definition
1600 or else NT (N).Nkind = N_Private_Type_Declaration
1601 or else NT (N).Nkind = N_Record_Definition
1602 or else NT (N).Nkind = N_With_Clause);
1604 end Limited_Present;
1607 (N : Node_Id) return List_Id is
1609 pragma Assert (False
1610 or else NT (N).Nkind = N_Enumeration_Type_Definition);
1614 function Loop_Actions
1615 (N : Node_Id) return List_Id is
1617 pragma Assert (False
1618 or else NT (N).Nkind = N_Component_Association);
1622 function Loop_Parameter_Specification
1623 (N : Node_Id) return Node_Id is
1625 pragma Assert (False
1626 or else NT (N).Nkind = N_Iteration_Scheme);
1628 end Loop_Parameter_Specification;
1631 (N : Node_Id) return Node_Id is
1633 pragma Assert (False
1634 or else NT (N).Nkind = N_Range
1635 or else NT (N).Nkind = N_Real_Range_Specification
1636 or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
1641 (N : Node_Id) return Node_Id is
1643 pragma Assert (False
1644 or else NT (N).Nkind = N_Record_Representation_Clause);
1649 (N : Node_Id) return Boolean is
1651 pragma Assert (False
1652 or else NT (N).Nkind = N_Component_Declaration
1653 or else NT (N).Nkind = N_Discriminant_Specification
1654 or else NT (N).Nkind = N_Exception_Declaration
1655 or else NT (N).Nkind = N_Formal_Object_Declaration
1656 or else NT (N).Nkind = N_Number_Declaration
1657 or else NT (N).Nkind = N_Object_Declaration
1658 or else NT (N).Nkind = N_Parameter_Specification);
1662 function Must_Be_Byte_Aligned
1663 (N : Node_Id) return Boolean is
1665 pragma Assert (False
1666 or else NT (N).Nkind = N_Attribute_Reference);
1668 end Must_Be_Byte_Aligned;
1670 function Must_Not_Freeze
1671 (N : Node_Id) return Boolean is
1673 pragma Assert (False
1674 or else NT (N).Nkind = N_Subtype_Indication
1675 or else NT (N).Nkind in N_Subexpr);
1677 end Must_Not_Freeze;
1680 (N : Node_Id) return Node_Id is
1682 pragma Assert (False
1683 or else NT (N).Nkind = N_Assignment_Statement
1684 or else NT (N).Nkind = N_Attribute_Definition_Clause
1685 or else NT (N).Nkind = N_Defining_Program_Unit_Name
1686 or else NT (N).Nkind = N_Designator
1687 or else NT (N).Nkind = N_Entry_Call_Statement
1688 or else NT (N).Nkind = N_Exception_Renaming_Declaration
1689 or else NT (N).Nkind = N_Exit_Statement
1690 or else NT (N).Nkind = N_Formal_Package_Declaration
1691 or else NT (N).Nkind = N_Function_Call
1692 or else NT (N).Nkind = N_Function_Instantiation
1693 or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
1694 or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
1695 or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
1696 or else NT (N).Nkind = N_Goto_Statement
1697 or else NT (N).Nkind = N_Object_Renaming_Declaration
1698 or else NT (N).Nkind = N_Package_Instantiation
1699 or else NT (N).Nkind = N_Package_Renaming_Declaration
1700 or else NT (N).Nkind = N_Procedure_Call_Statement
1701 or else NT (N).Nkind = N_Procedure_Instantiation
1702 or else NT (N).Nkind = N_Raise_Statement
1703 or else NT (N).Nkind = N_Requeue_Statement
1704 or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
1705 or else NT (N).Nkind = N_Subunit
1706 or else NT (N).Nkind = N_Variant_Part
1707 or else NT (N).Nkind = N_With_Clause
1708 or else NT (N).Nkind = N_With_Type_Clause);
1713 (N : Node_Id) return List_Id is
1715 pragma Assert (False
1716 or else NT (N).Nkind = N_Abort_Statement
1717 or else NT (N).Nkind = N_Use_Package_Clause);
1721 function Next_Entity
1722 (N : Node_Id) return Node_Id is
1724 pragma Assert (False
1725 or else NT (N).Nkind = N_Defining_Character_Literal
1726 or else NT (N).Nkind = N_Defining_Identifier
1727 or else NT (N).Nkind = N_Defining_Operator_Symbol);
1731 function Next_Named_Actual
1732 (N : Node_Id) return Node_Id is
1734 pragma Assert (False
1735 or else NT (N).Nkind = N_Parameter_Association);
1737 end Next_Named_Actual;
1739 function Next_Rep_Item
1740 (N : Node_Id) return Node_Id is
1742 pragma Assert (False
1743 or else NT (N).Nkind = N_Attribute_Definition_Clause
1744 or else NT (N).Nkind = N_Enumeration_Representation_Clause
1745 or else NT (N).Nkind = N_Pragma
1746 or else NT (N).Nkind = N_Record_Representation_Clause);
1750 function Next_Use_Clause
1751 (N : Node_Id) return Node_Id is
1753 pragma Assert (False
1754 or else NT (N).Nkind = N_Use_Package_Clause
1755 or else NT (N).Nkind = N_Use_Type_Clause);
1757 end Next_Use_Clause;
1759 function No_Ctrl_Actions
1760 (N : Node_Id) return Boolean is
1762 pragma Assert (False
1763 or else NT (N).Nkind = N_Assignment_Statement);
1765 end No_Ctrl_Actions;
1767 function No_Elaboration_Check
1768 (N : Node_Id) return Boolean is
1770 pragma Assert (False
1771 or else NT (N).Nkind = N_Function_Call
1772 or else NT (N).Nkind = N_Procedure_Call_Statement);
1774 end No_Elaboration_Check;
1776 function No_Entities_Ref_In_Spec
1777 (N : Node_Id) return Boolean is
1779 pragma Assert (False
1780 or else NT (N).Nkind = N_With_Clause);
1782 end No_Entities_Ref_In_Spec;
1784 function No_Initialization
1785 (N : Node_Id) return Boolean is
1787 pragma Assert (False
1788 or else NT (N).Nkind = N_Allocator
1789 or else NT (N).Nkind = N_Object_Declaration);
1791 end No_Initialization;
1793 function No_Truncation
1794 (N : Node_Id) return Boolean is
1796 pragma Assert (False
1797 or else NT (N).Nkind = N_Unchecked_Type_Conversion);
1801 function Null_Present
1802 (N : Node_Id) return Boolean is
1804 pragma Assert (False
1805 or else NT (N).Nkind = N_Component_List
1806 or else NT (N).Nkind = N_Record_Definition);
1810 function Null_Record_Present
1811 (N : Node_Id) return Boolean is
1813 pragma Assert (False
1814 or else NT (N).Nkind = N_Aggregate
1815 or else NT (N).Nkind = N_Extension_Aggregate);
1817 end Null_Record_Present;
1819 function Object_Definition
1820 (N : Node_Id) return Node_Id is
1822 pragma Assert (False
1823 or else NT (N).Nkind = N_Object_Declaration);
1825 end Object_Definition;
1827 function OK_For_Stream
1828 (N : Node_Id) return Boolean is
1830 pragma Assert (False
1831 or else NT (N).Nkind = N_Attribute_Reference);
1835 function Original_Discriminant
1836 (N : Node_Id) return Node_Id is
1838 pragma Assert (False
1839 or else NT (N).Nkind = N_Identifier);
1841 end Original_Discriminant;
1843 function Original_Entity
1844 (N : Node_Id) return Entity_Id is
1846 pragma Assert (False
1847 or else NT (N).Nkind = N_Integer_Literal
1848 or else NT (N).Nkind = N_Real_Literal);
1850 end Original_Entity;
1852 function Others_Discrete_Choices
1853 (N : Node_Id) return List_Id is
1855 pragma Assert (False
1856 or else NT (N).Nkind = N_Others_Choice);
1858 end Others_Discrete_Choices;
1860 function Out_Present
1861 (N : Node_Id) return Boolean is
1863 pragma Assert (False
1864 or else NT (N).Nkind = N_Formal_Object_Declaration
1865 or else NT (N).Nkind = N_Parameter_Specification);
1869 function Parameter_Associations
1870 (N : Node_Id) return List_Id is
1872 pragma Assert (False
1873 or else NT (N).Nkind = N_Entry_Call_Statement
1874 or else NT (N).Nkind = N_Function_Call
1875 or else NT (N).Nkind = N_Procedure_Call_Statement);
1877 end Parameter_Associations;
1879 function Parameter_List_Truncated
1880 (N : Node_Id) return Boolean is
1882 pragma Assert (False
1883 or else NT (N).Nkind = N_Function_Call
1884 or else NT (N).Nkind = N_Procedure_Call_Statement);
1886 end Parameter_List_Truncated;
1888 function Parameter_Specifications
1889 (N : Node_Id) return List_Id is
1891 pragma Assert (False
1892 or else NT (N).Nkind = N_Accept_Statement
1893 or else NT (N).Nkind = N_Access_Function_Definition
1894 or else NT (N).Nkind = N_Access_Procedure_Definition
1895 or else NT (N).Nkind = N_Entry_Body_Formal_Part
1896 or else NT (N).Nkind = N_Entry_Declaration
1897 or else NT (N).Nkind = N_Function_Specification
1898 or else NT (N).Nkind = N_Procedure_Specification);
1900 end Parameter_Specifications;
1902 function Parameter_Type
1903 (N : Node_Id) return Node_Id is
1905 pragma Assert (False
1906 or else NT (N).Nkind = N_Parameter_Specification);
1910 function Parent_Spec
1911 (N : Node_Id) return Node_Id is
1913 pragma Assert (False
1914 or else NT (N).Nkind = N_Function_Instantiation
1915 or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
1916 or else NT (N).Nkind = N_Generic_Package_Declaration
1917 or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
1918 or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
1919 or else NT (N).Nkind = N_Generic_Subprogram_Declaration
1920 or else NT (N).Nkind = N_Package_Declaration
1921 or else NT (N).Nkind = N_Package_Instantiation
1922 or else NT (N).Nkind = N_Package_Renaming_Declaration
1923 or else NT (N).Nkind = N_Procedure_Instantiation
1924 or else NT (N).Nkind = N_Subprogram_Declaration
1925 or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
1930 (N : Node_Id) return Node_Id is
1932 pragma Assert (False
1933 or else NT (N).Nkind = N_Component_Clause);
1937 function Pragma_Argument_Associations
1938 (N : Node_Id) return List_Id is
1940 pragma Assert (False
1941 or else NT (N).Nkind = N_Pragma);
1943 end Pragma_Argument_Associations;
1945 function Pragmas_After
1946 (N : Node_Id) return List_Id is
1948 pragma Assert (False
1949 or else NT (N).Nkind = N_Compilation_Unit_Aux
1950 or else NT (N).Nkind = N_Terminate_Alternative);
1954 function Pragmas_Before
1955 (N : Node_Id) return List_Id is
1957 pragma Assert (False
1958 or else NT (N).Nkind = N_Accept_Alternative
1959 or else NT (N).Nkind = N_Delay_Alternative
1960 or else NT (N).Nkind = N_Entry_Call_Alternative
1961 or else NT (N).Nkind = N_Mod_Clause
1962 or else NT (N).Nkind = N_Terminate_Alternative
1963 or else NT (N).Nkind = N_Triggering_Alternative);
1968 (N : Node_Id) return Node_Id is
1970 pragma Assert (False
1971 or else NT (N).Nkind = N_Attribute_Reference
1972 or else NT (N).Nkind = N_Expanded_Name
1973 or else NT (N).Nkind = N_Explicit_Dereference
1974 or else NT (N).Nkind = N_Indexed_Component
1975 or else NT (N).Nkind = N_Reference
1976 or else NT (N).Nkind = N_Selected_Component
1977 or else NT (N).Nkind = N_Slice);
1981 function Present_Expr
1982 (N : Node_Id) return Uint is
1984 pragma Assert (False
1985 or else NT (N).Nkind = N_Variant);
1990 (N : Node_Id) return Boolean is
1992 pragma Assert (False
1993 or else NT (N).Nkind = N_Component_Declaration
1994 or else NT (N).Nkind = N_Discriminant_Specification
1995 or else NT (N).Nkind = N_Exception_Declaration
1996 or else NT (N).Nkind = N_Formal_Object_Declaration
1997 or else NT (N).Nkind = N_Number_Declaration
1998 or else NT (N).Nkind = N_Object_Declaration
1999 or else NT (N).Nkind = N_Parameter_Specification);
2003 function Print_In_Hex
2004 (N : Node_Id) return Boolean is
2006 pragma Assert (False
2007 or else NT (N).Nkind = N_Integer_Literal);
2011 function Private_Declarations
2012 (N : Node_Id) return List_Id is
2014 pragma Assert (False
2015 or else NT (N).Nkind = N_Package_Specification
2016 or else NT (N).Nkind = N_Protected_Definition
2017 or else NT (N).Nkind = N_Task_Definition);
2019 end Private_Declarations;
2021 function Private_Present
2022 (N : Node_Id) return Boolean is
2024 pragma Assert (False
2025 or else NT (N).Nkind = N_Compilation_Unit
2026 or else NT (N).Nkind = N_Formal_Derived_Type_Definition);
2028 end Private_Present;
2030 function Procedure_To_Call
2031 (N : Node_Id) return Node_Id is
2033 pragma Assert (False
2034 or else NT (N).Nkind = N_Allocator
2035 or else NT (N).Nkind = N_Free_Statement
2036 or else NT (N).Nkind = N_Return_Statement);
2038 end Procedure_To_Call;
2040 function Proper_Body
2041 (N : Node_Id) return Node_Id is
2043 pragma Assert (False
2044 or else NT (N).Nkind = N_Subunit);
2048 function Protected_Definition
2049 (N : Node_Id) return Node_Id is
2051 pragma Assert (False
2052 or else NT (N).Nkind = N_Protected_Type_Declaration
2053 or else NT (N).Nkind = N_Single_Protected_Declaration);
2055 end Protected_Definition;
2057 function Protected_Present
2058 (N : Node_Id) return Boolean is
2060 pragma Assert (False
2061 or else NT (N).Nkind = N_Access_Function_Definition
2062 or else NT (N).Nkind = N_Access_Procedure_Definition);
2064 end Protected_Present;
2066 function Raises_Constraint_Error
2067 (N : Node_Id) return Boolean is
2069 pragma Assert (False
2070 or else NT (N).Nkind in N_Subexpr);
2072 end Raises_Constraint_Error;
2074 function Range_Constraint
2075 (N : Node_Id) return Node_Id is
2077 pragma Assert (False
2078 or else NT (N).Nkind = N_Delta_Constraint
2079 or else NT (N).Nkind = N_Digits_Constraint);
2081 end Range_Constraint;
2083 function Range_Expression
2084 (N : Node_Id) return Node_Id is
2086 pragma Assert (False
2087 or else NT (N).Nkind = N_Range_Constraint);
2089 end Range_Expression;
2091 function Real_Range_Specification
2092 (N : Node_Id) return Node_Id is
2094 pragma Assert (False
2095 or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
2096 or else NT (N).Nkind = N_Floating_Point_Definition
2097 or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
2099 end Real_Range_Specification;
2102 (N : Node_Id) return Ureal is
2104 pragma Assert (False
2105 or else NT (N).Nkind = N_Real_Literal);
2110 (N : Node_Id) return Uint is
2112 pragma Assert (False
2113 or else NT (N).Nkind = N_Raise_Constraint_Error
2114 or else NT (N).Nkind = N_Raise_Program_Error
2115 or else NT (N).Nkind = N_Raise_Storage_Error);
2119 function Record_Extension_Part
2120 (N : Node_Id) return Node_Id is
2122 pragma Assert (False
2123 or else NT (N).Nkind = N_Derived_Type_Definition);
2125 end Record_Extension_Part;
2127 function Redundant_Use
2128 (N : Node_Id) return Boolean is
2130 pragma Assert (False
2131 or else NT (N).Nkind = N_Attribute_Reference
2132 or else NT (N).Nkind = N_Expanded_Name
2133 or else NT (N).Nkind = N_Identifier);
2137 function Return_Type
2138 (N : Node_Id) return Node_Id is
2140 pragma Assert (False
2141 or else NT (N).Nkind = N_Return_Statement);
2145 function Reverse_Present
2146 (N : Node_Id) return Boolean is
2148 pragma Assert (False
2149 or else NT (N).Nkind = N_Loop_Parameter_Specification);
2151 end Reverse_Present;
2154 (N : Node_Id) return Node_Id is
2156 pragma Assert (False
2157 or else NT (N).Nkind in N_Op
2158 or else NT (N).Nkind = N_And_Then
2159 or else NT (N).Nkind = N_In
2160 or else NT (N).Nkind = N_Not_In
2161 or else NT (N).Nkind = N_Or_Else);
2165 function Rounded_Result
2166 (N : Node_Id) return Boolean is
2168 pragma Assert (False
2169 or else NT (N).Nkind = N_Op_Divide
2170 or else NT (N).Nkind = N_Op_Multiply
2171 or else NT (N).Nkind = N_Type_Conversion);
2176 (N : Node_Id) return Node_Id is
2178 pragma Assert (False
2179 or else NT (N).Nkind = N_Defining_Character_Literal
2180 or else NT (N).Nkind = N_Defining_Identifier
2181 or else NT (N).Nkind = N_Defining_Operator_Symbol);
2185 function Select_Alternatives
2186 (N : Node_Id) return List_Id is
2188 pragma Assert (False
2189 or else NT (N).Nkind = N_Selective_Accept);
2191 end Select_Alternatives;
2193 function Selector_Name
2194 (N : Node_Id) return Node_Id is
2196 pragma Assert (False
2197 or else NT (N).Nkind = N_Expanded_Name
2198 or else NT (N).Nkind = N_Generic_Association
2199 or else NT (N).Nkind = N_Parameter_Association
2200 or else NT (N).Nkind = N_Selected_Component);
2204 function Selector_Names
2205 (N : Node_Id) return List_Id is
2207 pragma Assert (False
2208 or else NT (N).Nkind = N_Discriminant_Association);
2212 function Shift_Count_OK
2213 (N : Node_Id) return Boolean is
2215 pragma Assert (False
2216 or else NT (N).Nkind = N_Op_Rotate_Left
2217 or else NT (N).Nkind = N_Op_Rotate_Right
2218 or else NT (N).Nkind = N_Op_Shift_Left
2219 or else NT (N).Nkind = N_Op_Shift_Right
2220 or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
2224 function Source_Type
2225 (N : Node_Id) return Entity_Id is
2227 pragma Assert (False
2228 or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
2232 function Specification
2233 (N : Node_Id) return Node_Id is
2235 pragma Assert (False
2236 or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
2237 or else NT (N).Nkind = N_Formal_Subprogram_Declaration
2238 or else NT (N).Nkind = N_Generic_Package_Declaration
2239 or else NT (N).Nkind = N_Generic_Subprogram_Declaration
2240 or else NT (N).Nkind = N_Package_Declaration
2241 or else NT (N).Nkind = N_Subprogram_Body
2242 or else NT (N).Nkind = N_Subprogram_Body_Stub
2243 or else NT (N).Nkind = N_Subprogram_Declaration
2244 or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
2249 (N : Node_Id) return List_Id is
2251 pragma Assert (False
2252 or else NT (N).Nkind = N_Abortable_Part
2253 or else NT (N).Nkind = N_Accept_Alternative
2254 or else NT (N).Nkind = N_Case_Statement_Alternative
2255 or else NT (N).Nkind = N_Delay_Alternative
2256 or else NT (N).Nkind = N_Entry_Call_Alternative
2257 or else NT (N).Nkind = N_Exception_Handler
2258 or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
2259 or else NT (N).Nkind = N_Loop_Statement
2260 or else NT (N).Nkind = N_Triggering_Alternative);
2264 function Static_Processing_OK
2265 (N : Node_Id) return Boolean is
2267 pragma Assert (False
2268 or else NT (N).Nkind = N_Aggregate);
2270 end Static_Processing_OK;
2272 function Storage_Pool
2273 (N : Node_Id) return Node_Id is
2275 pragma Assert (False
2276 or else NT (N).Nkind = N_Allocator
2277 or else NT (N).Nkind = N_Free_Statement
2278 or else NT (N).Nkind = N_Return_Statement);
2283 (N : Node_Id) return String_Id is
2285 pragma Assert (False
2286 or else NT (N).Nkind = N_Operator_Symbol
2287 or else NT (N).Nkind = N_String_Literal);
2291 function Subtype_Indication
2292 (N : Node_Id) return Node_Id is
2294 pragma Assert (False
2295 or else NT (N).Nkind = N_Access_To_Object_Definition
2296 or else NT (N).Nkind = N_Component_Declaration
2297 or else NT (N).Nkind = N_Constrained_Array_Definition
2298 or else NT (N).Nkind = N_Derived_Type_Definition
2299 or else NT (N).Nkind = N_Private_Extension_Declaration
2300 or else NT (N).Nkind = N_Subtype_Declaration
2301 or else NT (N).Nkind = N_Unconstrained_Array_Definition);
2303 end Subtype_Indication;
2305 function Subtype_Mark
2306 (N : Node_Id) return Node_Id is
2308 pragma Assert (False
2309 or else NT (N).Nkind = N_Access_Definition
2310 or else NT (N).Nkind = N_Access_Function_Definition
2311 or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2312 or else NT (N).Nkind = N_Formal_Object_Declaration
2313 or else NT (N).Nkind = N_Function_Specification
2314 or else NT (N).Nkind = N_Object_Renaming_Declaration
2315 or else NT (N).Nkind = N_Qualified_Expression
2316 or else NT (N).Nkind = N_Subtype_Indication
2317 or else NT (N).Nkind = N_Type_Conversion
2318 or else NT (N).Nkind = N_Unchecked_Type_Conversion);
2322 function Subtype_Marks
2323 (N : Node_Id) return List_Id is
2325 pragma Assert (False
2326 or else NT (N).Nkind = N_Unconstrained_Array_Definition
2327 or else NT (N).Nkind = N_Use_Type_Clause);
2331 function Tagged_Present
2332 (N : Node_Id) return Boolean is
2334 pragma Assert (False
2335 or else NT (N).Nkind = N_Formal_Private_Type_Definition
2336 or else NT (N).Nkind = N_Private_Type_Declaration
2337 or else NT (N).Nkind = N_Record_Definition
2338 or else NT (N).Nkind = N_With_Type_Clause);
2342 function Target_Type
2343 (N : Node_Id) return Entity_Id is
2345 pragma Assert (False
2346 or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
2350 function Task_Body_Procedure
2351 (N : Node_Id) return Entity_Id is
2353 pragma Assert (False
2354 or else NT (N).Nkind = N_Task_Type_Declaration);
2356 end Task_Body_Procedure;
2358 function Task_Definition
2359 (N : Node_Id) return Node_Id is
2361 pragma Assert (False
2362 or else NT (N).Nkind = N_Single_Task_Declaration
2363 or else NT (N).Nkind = N_Task_Type_Declaration);
2365 end Task_Definition;
2367 function Then_Actions
2368 (N : Node_Id) return List_Id is
2370 pragma Assert (False
2371 or else NT (N).Nkind = N_Conditional_Expression);
2375 function Then_Statements
2376 (N : Node_Id) return List_Id is
2378 pragma Assert (False
2379 or else NT (N).Nkind = N_Elsif_Part
2380 or else NT (N).Nkind = N_If_Statement);
2382 end Then_Statements;
2384 function Treat_Fixed_As_Integer
2385 (N : Node_Id) return Boolean is
2387 pragma Assert (False
2388 or else NT (N).Nkind = N_Op_Divide
2389 or else NT (N).Nkind = N_Op_Mod
2390 or else NT (N).Nkind = N_Op_Multiply
2391 or else NT (N).Nkind = N_Op_Rem);
2393 end Treat_Fixed_As_Integer;
2395 function Triggering_Alternative
2396 (N : Node_Id) return Node_Id is
2398 pragma Assert (False
2399 or else NT (N).Nkind = N_Asynchronous_Select);
2401 end Triggering_Alternative;
2403 function Triggering_Statement
2404 (N : Node_Id) return Node_Id is
2406 pragma Assert (False
2407 or else NT (N).Nkind = N_Triggering_Alternative);
2409 end Triggering_Statement;
2412 (N : Node_Id) return Elist_Id is
2414 pragma Assert (False
2415 or else NT (N).Nkind = N_Freeze_Entity);
2419 function Type_Definition
2420 (N : Node_Id) return Node_Id is
2422 pragma Assert (False
2423 or else NT (N).Nkind = N_Full_Type_Declaration);
2425 end Type_Definition;
2428 (N : Node_Id) return Node_Id is
2430 pragma Assert (False
2431 or else NT (N).Nkind = N_Compilation_Unit);
2435 function Unknown_Discriminants_Present
2436 (N : Node_Id) return Boolean is
2438 pragma Assert (False
2439 or else NT (N).Nkind = N_Formal_Type_Declaration
2440 or else NT (N).Nkind = N_Incomplete_Type_Declaration
2441 or else NT (N).Nkind = N_Private_Extension_Declaration
2442 or else NT (N).Nkind = N_Private_Type_Declaration);
2444 end Unknown_Discriminants_Present;
2446 function Unreferenced_In_Spec
2447 (N : Node_Id) return Boolean is
2449 pragma Assert (False
2450 or else NT (N).Nkind = N_With_Clause);
2452 end Unreferenced_In_Spec;
2454 function Variant_Part
2455 (N : Node_Id) return Node_Id is
2457 pragma Assert (False
2458 or else NT (N).Nkind = N_Component_List);
2463 (N : Node_Id) return List_Id is
2465 pragma Assert (False
2466 or else NT (N).Nkind = N_Variant_Part);
2470 function Visible_Declarations
2471 (N : Node_Id) return List_Id is
2473 pragma Assert (False
2474 or else NT (N).Nkind = N_Package_Specification
2475 or else NT (N).Nkind = N_Protected_Definition
2476 or else NT (N).Nkind = N_Task_Definition);
2478 end Visible_Declarations;
2480 function Was_Originally_Stub
2481 (N : Node_Id) return Boolean is
2483 pragma Assert (False
2484 or else NT (N).Nkind = N_Package_Body
2485 or else NT (N).Nkind = N_Protected_Body
2486 or else NT (N).Nkind = N_Subprogram_Body
2487 or else NT (N).Nkind = N_Task_Body);
2489 end Was_Originally_Stub;
2491 function Zero_Cost_Handling
2492 (N : Node_Id) return Boolean is
2494 pragma Assert (False
2495 or else NT (N).Nkind = N_Exception_Handler
2496 or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
2498 end Zero_Cost_Handling;
2500 --------------------------
2501 -- Field Set Procedures --
2502 --------------------------
2504 procedure Set_ABE_Is_Certain
2505 (N : Node_Id; Val : Boolean := True) is
2507 pragma Assert (False
2508 or else NT (N).Nkind = N_Formal_Package_Declaration
2509 or else NT (N).Nkind = N_Function_Call
2510 or else NT (N).Nkind = N_Function_Instantiation
2511 or else NT (N).Nkind = N_Package_Instantiation
2512 or else NT (N).Nkind = N_Procedure_Call_Statement
2513 or else NT (N).Nkind = N_Procedure_Instantiation);
2514 Set_Flag18 (N, Val);
2515 end Set_ABE_Is_Certain;
2517 procedure Set_Abort_Present
2518 (N : Node_Id; Val : Boolean := True) is
2520 pragma Assert (False
2521 or else NT (N).Nkind = N_Requeue_Statement);
2522 Set_Flag15 (N, Val);
2523 end Set_Abort_Present;
2525 procedure Set_Abortable_Part
2526 (N : Node_Id; Val : Node_Id) is
2528 pragma Assert (False
2529 or else NT (N).Nkind = N_Asynchronous_Select);
2530 Set_Node2_With_Parent (N, Val);
2531 end Set_Abortable_Part;
2533 procedure Set_Abstract_Present
2534 (N : Node_Id; Val : Boolean := True) is
2536 pragma Assert (False
2537 or else NT (N).Nkind = N_Derived_Type_Definition
2538 or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2539 or else NT (N).Nkind = N_Formal_Private_Type_Definition
2540 or else NT (N).Nkind = N_Private_Extension_Declaration
2541 or else NT (N).Nkind = N_Private_Type_Declaration
2542 or else NT (N).Nkind = N_Record_Definition);
2544 end Set_Abstract_Present;
2546 procedure Set_Accept_Handler_Records
2547 (N : Node_Id; Val : List_Id) is
2549 pragma Assert (False
2550 or else NT (N).Nkind = N_Accept_Alternative);
2551 Set_List5 (N, Val); -- semantic field, no parent set
2552 end Set_Accept_Handler_Records;
2554 procedure Set_Accept_Statement
2555 (N : Node_Id; Val : Node_Id) is
2557 pragma Assert (False
2558 or else NT (N).Nkind = N_Accept_Alternative);
2559 Set_Node2_With_Parent (N, Val);
2560 end Set_Accept_Statement;
2562 procedure Set_Access_Types_To_Process
2563 (N : Node_Id; Val : Elist_Id) is
2565 pragma Assert (False
2566 or else NT (N).Nkind = N_Freeze_Entity);
2567 Set_Elist2 (N, Val); -- semantic field, no parent set
2568 end Set_Access_Types_To_Process;
2570 procedure Set_Actions
2571 (N : Node_Id; Val : List_Id) is
2573 pragma Assert (False
2574 or else NT (N).Nkind = N_And_Then
2575 or else NT (N).Nkind = N_Compilation_Unit_Aux
2576 or else NT (N).Nkind = N_Freeze_Entity
2577 or else NT (N).Nkind = N_Or_Else);
2578 Set_List1_With_Parent (N, Val);
2581 procedure Set_Activation_Chain_Entity
2582 (N : Node_Id; Val : Node_Id) is
2584 pragma Assert (False
2585 or else NT (N).Nkind = N_Block_Statement
2586 or else NT (N).Nkind = N_Entry_Body
2587 or else NT (N).Nkind = N_Generic_Package_Declaration
2588 or else NT (N).Nkind = N_Package_Declaration
2589 or else NT (N).Nkind = N_Subprogram_Body
2590 or else NT (N).Nkind = N_Task_Body);
2591 Set_Node3 (N, Val); -- semantic field, no parent set
2592 end Set_Activation_Chain_Entity;
2594 procedure Set_Acts_As_Spec
2595 (N : Node_Id; Val : Boolean := True) is
2597 pragma Assert (False
2598 or else NT (N).Nkind = N_Compilation_Unit
2599 or else NT (N).Nkind = N_Subprogram_Body);
2601 end Set_Acts_As_Spec;
2603 procedure Set_Aggregate_Bounds
2604 (N : Node_Id; Val : Node_Id) is
2606 pragma Assert (False
2607 or else NT (N).Nkind = N_Aggregate);
2608 Set_Node3 (N, Val); -- semantic field, no parent set
2609 end Set_Aggregate_Bounds;
2611 procedure Set_Aliased_Present
2612 (N : Node_Id; Val : Boolean := True) is
2614 pragma Assert (False
2615 or else NT (N).Nkind = N_Component_Declaration
2616 or else NT (N).Nkind = N_Constrained_Array_Definition
2617 or else NT (N).Nkind = N_Object_Declaration
2618 or else NT (N).Nkind = N_Unconstrained_Array_Definition);
2620 end Set_Aliased_Present;
2622 procedure Set_All_Others
2623 (N : Node_Id; Val : Boolean := True) is
2625 pragma Assert (False
2626 or else NT (N).Nkind = N_Others_Choice);
2627 Set_Flag11 (N, Val);
2630 procedure Set_All_Present
2631 (N : Node_Id; Val : Boolean := True) is
2633 pragma Assert (False
2634 or else NT (N).Nkind = N_Access_To_Object_Definition);
2635 Set_Flag15 (N, Val);
2636 end Set_All_Present;
2638 procedure Set_Alternatives
2639 (N : Node_Id; Val : List_Id) is
2641 pragma Assert (False
2642 or else NT (N).Nkind = N_Case_Statement);
2643 Set_List4_With_Parent (N, Val);
2644 end Set_Alternatives;
2646 procedure Set_Ancestor_Part
2647 (N : Node_Id; Val : Node_Id) is
2649 pragma Assert (False
2650 or else NT (N).Nkind = N_Extension_Aggregate);
2651 Set_Node3_With_Parent (N, Val);
2652 end Set_Ancestor_Part;
2654 procedure Set_Array_Aggregate
2655 (N : Node_Id; Val : Node_Id) is
2657 pragma Assert (False
2658 or else NT (N).Nkind = N_Enumeration_Representation_Clause);
2659 Set_Node3_With_Parent (N, Val);
2660 end Set_Array_Aggregate;
2662 procedure Set_Assignment_OK
2663 (N : Node_Id; Val : Boolean := True) is
2665 pragma Assert (False
2666 or else NT (N).Nkind = N_Object_Declaration
2667 or else NT (N).Nkind in N_Subexpr);
2668 Set_Flag15 (N, Val);
2669 end Set_Assignment_OK;
2671 procedure Set_Associated_Node
2672 (N : Node_Id; Val : Node_Id) is
2674 pragma Assert (False
2675 or else NT (N).Nkind in N_Has_Entity
2676 or else NT (N).Nkind = N_Aggregate
2677 or else NT (N).Nkind = N_Extension_Aggregate
2678 or else NT (N).Nkind = N_Selected_Component);
2679 Set_Node4 (N, Val); -- semantic field, no parent set
2680 end Set_Associated_Node;
2682 procedure Set_At_End_Proc
2683 (N : Node_Id; Val : Node_Id) is
2685 pragma Assert (False
2686 or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
2688 end Set_At_End_Proc;
2690 procedure Set_Attribute_Name
2691 (N : Node_Id; Val : Name_Id) is
2693 pragma Assert (False
2694 or else NT (N).Nkind = N_Attribute_Reference);
2696 end Set_Attribute_Name;
2698 procedure Set_Aux_Decls_Node
2699 (N : Node_Id; Val : Node_Id) is
2701 pragma Assert (False
2702 or else NT (N).Nkind = N_Compilation_Unit);
2703 Set_Node5_With_Parent (N, Val);
2704 end Set_Aux_Decls_Node;
2706 procedure Set_Backwards_OK
2707 (N : Node_Id; Val : Boolean := True) is
2709 pragma Assert (False
2710 or else NT (N).Nkind = N_Assignment_Statement);
2712 end Set_Backwards_OK;
2714 procedure Set_Bad_Is_Detected
2715 (N : Node_Id; Val : Boolean := True) is
2717 pragma Assert (False
2718 or else NT (N).Nkind = N_Subprogram_Body);
2719 Set_Flag15 (N, Val);
2720 end Set_Bad_Is_Detected;
2722 procedure Set_Body_Required
2723 (N : Node_Id; Val : Boolean := True) is
2725 pragma Assert (False
2726 or else NT (N).Nkind = N_Compilation_Unit);
2727 Set_Flag13 (N, Val);
2728 end Set_Body_Required;
2730 procedure Set_Body_To_Inline
2731 (N : Node_Id; Val : Node_Id) is
2733 pragma Assert (False
2734 or else NT (N).Nkind = N_Subprogram_Declaration);
2736 end Set_Body_To_Inline;
2738 procedure Set_Box_Present
2739 (N : Node_Id; Val : Boolean := True) is
2741 pragma Assert (False
2742 or else NT (N).Nkind = N_Component_Association
2743 or else NT (N).Nkind = N_Formal_Package_Declaration
2744 or else NT (N).Nkind = N_Formal_Subprogram_Declaration);
2745 Set_Flag15 (N, Val);
2746 end Set_Box_Present;
2748 procedure Set_By_Ref
2749 (N : Node_Id; Val : Boolean := True) is
2751 pragma Assert (False
2752 or else NT (N).Nkind = N_Return_Statement);
2756 procedure Set_Char_Literal_Value
2757 (N : Node_Id; Val : Char_Code) is
2759 pragma Assert (False
2760 or else NT (N).Nkind = N_Character_Literal);
2761 Set_Char_Code2 (N, Val);
2762 end Set_Char_Literal_Value;
2765 (N : Node_Id; Val : Name_Id) is
2767 pragma Assert (False
2768 or else NT (N).Nkind in N_Has_Chars);
2772 procedure Set_Check_Address_Alignment
2773 (N : Node_Id; Val : Boolean := True) is
2775 pragma Assert (False
2776 or else NT (N).Nkind = N_Attribute_Definition_Clause);
2777 Set_Flag11 (N, Val);
2778 end Set_Check_Address_Alignment;
2780 procedure Set_Choice_Parameter
2781 (N : Node_Id; Val : Node_Id) is
2783 pragma Assert (False
2784 or else NT (N).Nkind = N_Exception_Handler);
2785 Set_Node2_With_Parent (N, Val);
2786 end Set_Choice_Parameter;
2788 procedure Set_Choices
2789 (N : Node_Id; Val : List_Id) is
2791 pragma Assert (False
2792 or else NT (N).Nkind = N_Component_Association);
2793 Set_List1_With_Parent (N, Val);
2796 procedure Set_Compile_Time_Known_Aggregate
2797 (N : Node_Id; Val : Boolean := True) is
2799 pragma Assert (False
2800 or else NT (N).Nkind = N_Aggregate);
2801 Set_Flag18 (N, Val);
2802 end Set_Compile_Time_Known_Aggregate;
2804 procedure Set_Component_Associations
2805 (N : Node_Id; Val : List_Id) is
2807 pragma Assert (False
2808 or else NT (N).Nkind = N_Aggregate
2809 or else NT (N).Nkind = N_Extension_Aggregate);
2810 Set_List2_With_Parent (N, Val);
2811 end Set_Component_Associations;
2813 procedure Set_Component_Clauses
2814 (N : Node_Id; Val : List_Id) is
2816 pragma Assert (False
2817 or else NT (N).Nkind = N_Record_Representation_Clause);
2818 Set_List3_With_Parent (N, Val);
2819 end Set_Component_Clauses;
2821 procedure Set_Component_Items
2822 (N : Node_Id; Val : List_Id) is
2824 pragma Assert (False
2825 or else NT (N).Nkind = N_Component_List);
2826 Set_List3_With_Parent (N, Val);
2827 end Set_Component_Items;
2829 procedure Set_Component_List
2830 (N : Node_Id; Val : Node_Id) is
2832 pragma Assert (False
2833 or else NT (N).Nkind = N_Record_Definition
2834 or else NT (N).Nkind = N_Variant);
2835 Set_Node1_With_Parent (N, Val);
2836 end Set_Component_List;
2838 procedure Set_Component_Name
2839 (N : Node_Id; Val : Node_Id) is
2841 pragma Assert (False
2842 or else NT (N).Nkind = N_Component_Clause);
2843 Set_Node1_With_Parent (N, Val);
2844 end Set_Component_Name;
2846 procedure Set_Condition
2847 (N : Node_Id; Val : Node_Id) is
2849 pragma Assert (False
2850 or else NT (N).Nkind = N_Accept_Alternative
2851 or else NT (N).Nkind = N_Delay_Alternative
2852 or else NT (N).Nkind = N_Elsif_Part
2853 or else NT (N).Nkind = N_Entry_Body_Formal_Part
2854 or else NT (N).Nkind = N_Exit_Statement
2855 or else NT (N).Nkind = N_If_Statement
2856 or else NT (N).Nkind = N_Iteration_Scheme
2857 or else NT (N).Nkind = N_Raise_Constraint_Error
2858 or else NT (N).Nkind = N_Raise_Program_Error
2859 or else NT (N).Nkind = N_Raise_Storage_Error
2860 or else NT (N).Nkind = N_Terminate_Alternative);
2861 Set_Node1_With_Parent (N, Val);
2864 procedure Set_Condition_Actions
2865 (N : Node_Id; Val : List_Id) is
2867 pragma Assert (False
2868 or else NT (N).Nkind = N_Elsif_Part
2869 or else NT (N).Nkind = N_Iteration_Scheme);
2870 Set_List3 (N, Val); -- semantic field, no parent set
2871 end Set_Condition_Actions;
2873 procedure Set_Config_Pragmas
2874 (N : Node_Id; Val : List_Id) is
2876 pragma Assert (False
2877 or else NT (N).Nkind = N_Compilation_Unit_Aux);
2878 Set_List4_With_Parent (N, Val);
2879 end Set_Config_Pragmas;
2881 procedure Set_Constant_Present
2882 (N : Node_Id; Val : Boolean := True) is
2884 pragma Assert (False
2885 or else NT (N).Nkind = N_Access_To_Object_Definition
2886 or else NT (N).Nkind = N_Object_Declaration);
2887 Set_Flag17 (N, Val);
2888 end Set_Constant_Present;
2890 procedure Set_Constraint
2891 (N : Node_Id; Val : Node_Id) is
2893 pragma Assert (False
2894 or else NT (N).Nkind = N_Subtype_Indication);
2895 Set_Node3_With_Parent (N, Val);
2898 procedure Set_Constraints
2899 (N : Node_Id; Val : List_Id) is
2901 pragma Assert (False
2902 or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint);
2903 Set_List1_With_Parent (N, Val);
2904 end Set_Constraints;
2906 procedure Set_Context_Installed
2907 (N : Node_Id; Val : Boolean := True) is
2909 pragma Assert (False
2910 or else NT (N).Nkind = N_With_Clause);
2911 Set_Flag13 (N, Val);
2912 end Set_Context_Installed;
2914 procedure Set_Context_Items
2915 (N : Node_Id; Val : List_Id) is
2917 pragma Assert (False
2918 or else NT (N).Nkind = N_Compilation_Unit);
2919 Set_List1_With_Parent (N, Val);
2920 end Set_Context_Items;
2922 procedure Set_Controlling_Argument
2923 (N : Node_Id; Val : Node_Id) is
2925 pragma Assert (False
2926 or else NT (N).Nkind = N_Function_Call
2927 or else NT (N).Nkind = N_Procedure_Call_Statement);
2928 Set_Node1 (N, Val); -- semantic field, no parent set
2929 end Set_Controlling_Argument;
2931 procedure Set_Conversion_OK
2932 (N : Node_Id; Val : Boolean := True) is
2934 pragma Assert (False
2935 or else NT (N).Nkind = N_Type_Conversion);
2936 Set_Flag14 (N, Val);
2937 end Set_Conversion_OK;
2939 procedure Set_Corresponding_Body
2940 (N : Node_Id; Val : Node_Id) is
2942 pragma Assert (False
2943 or else NT (N).Nkind = N_Entry_Declaration
2944 or else NT (N).Nkind = N_Generic_Package_Declaration
2945 or else NT (N).Nkind = N_Generic_Subprogram_Declaration
2946 or else NT (N).Nkind = N_Package_Body_Stub
2947 or else NT (N).Nkind = N_Package_Declaration
2948 or else NT (N).Nkind = N_Protected_Body_Stub
2949 or else NT (N).Nkind = N_Protected_Type_Declaration
2950 or else NT (N).Nkind = N_Subprogram_Body_Stub
2951 or else NT (N).Nkind = N_Subprogram_Declaration
2952 or else NT (N).Nkind = N_Task_Body_Stub
2953 or else NT (N).Nkind = N_Task_Type_Declaration);
2954 Set_Node5 (N, Val); -- semantic field, no parent set
2955 end Set_Corresponding_Body;
2957 procedure Set_Corresponding_Generic_Association
2958 (N : Node_Id; Val : Node_Id) is
2960 pragma Assert (False
2961 or else NT (N).Nkind = N_Object_Declaration
2962 or else NT (N).Nkind = N_Object_Renaming_Declaration);
2963 Set_Node5 (N, Val); -- semantic field, no parent set
2964 end Set_Corresponding_Generic_Association;
2965 procedure Set_Corresponding_Integer_Value
2966 (N : Node_Id; Val : Uint) is
2968 pragma Assert (False
2969 or else NT (N).Nkind = N_Real_Literal);
2970 Set_Uint4 (N, Val); -- semantic field, no parent set
2971 end Set_Corresponding_Integer_Value;
2973 procedure Set_Corresponding_Spec
2974 (N : Node_Id; Val : Node_Id) is
2976 pragma Assert (False
2977 or else NT (N).Nkind = N_Package_Body
2978 or else NT (N).Nkind = N_Protected_Body
2979 or else NT (N).Nkind = N_Subprogram_Body
2980 or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
2981 or else NT (N).Nkind = N_Task_Body
2982 or else NT (N).Nkind = N_With_Clause);
2983 Set_Node5 (N, Val); -- semantic field, no parent set
2984 end Set_Corresponding_Spec;
2986 procedure Set_Corresponding_Stub
2987 (N : Node_Id; Val : Node_Id) is
2989 pragma Assert (False
2990 or else NT (N).Nkind = N_Subunit);
2992 end Set_Corresponding_Stub;
2994 procedure Set_Dcheck_Function
2995 (N : Node_Id; Val : Entity_Id) is
2997 pragma Assert (False
2998 or else NT (N).Nkind = N_Variant);
2999 Set_Node5 (N, Val); -- semantic field, no parent set
3000 end Set_Dcheck_Function;
3002 procedure Set_Debug_Statement
3003 (N : Node_Id; Val : Node_Id) is
3005 pragma Assert (False
3006 or else NT (N).Nkind = N_Pragma);
3007 Set_Node3_With_Parent (N, Val);
3008 end Set_Debug_Statement;
3010 procedure Set_Declarations
3011 (N : Node_Id; Val : List_Id) is
3013 pragma Assert (False
3014 or else NT (N).Nkind = N_Accept_Statement
3015 or else NT (N).Nkind = N_Block_Statement
3016 or else NT (N).Nkind = N_Compilation_Unit_Aux
3017 or else NT (N).Nkind = N_Entry_Body
3018 or else NT (N).Nkind = N_Package_Body
3019 or else NT (N).Nkind = N_Protected_Body
3020 or else NT (N).Nkind = N_Subprogram_Body
3021 or else NT (N).Nkind = N_Task_Body);
3022 Set_List2_With_Parent (N, Val);
3023 end Set_Declarations;
3025 procedure Set_Default_Expression
3026 (N : Node_Id; Val : Node_Id) is
3028 pragma Assert (False
3029 or else NT (N).Nkind = N_Parameter_Specification);
3030 Set_Node5 (N, Val); -- semantic field, no parent set
3031 end Set_Default_Expression;
3033 procedure Set_Default_Name
3034 (N : Node_Id; Val : Node_Id) is
3036 pragma Assert (False
3037 or else NT (N).Nkind = N_Formal_Subprogram_Declaration);
3038 Set_Node2_With_Parent (N, Val);
3039 end Set_Default_Name;
3041 procedure Set_Defining_Identifier
3042 (N : Node_Id; Val : Entity_Id) is
3044 pragma Assert (False
3045 or else NT (N).Nkind = N_Component_Declaration
3046 or else NT (N).Nkind = N_Defining_Program_Unit_Name
3047 or else NT (N).Nkind = N_Discriminant_Specification
3048 or else NT (N).Nkind = N_Entry_Body
3049 or else NT (N).Nkind = N_Entry_Declaration
3050 or else NT (N).Nkind = N_Entry_Index_Specification
3051 or else NT (N).Nkind = N_Exception_Declaration
3052 or else NT (N).Nkind = N_Exception_Renaming_Declaration
3053 or else NT (N).Nkind = N_Formal_Object_Declaration
3054 or else NT (N).Nkind = N_Formal_Package_Declaration
3055 or else NT (N).Nkind = N_Formal_Type_Declaration
3056 or else NT (N).Nkind = N_Full_Type_Declaration
3057 or else NT (N).Nkind = N_Implicit_Label_Declaration
3058 or else NT (N).Nkind = N_Incomplete_Type_Declaration
3059 or else NT (N).Nkind = N_Loop_Parameter_Specification
3060 or else NT (N).Nkind = N_Number_Declaration
3061 or else NT (N).Nkind = N_Object_Declaration
3062 or else NT (N).Nkind = N_Object_Renaming_Declaration
3063 or else NT (N).Nkind = N_Package_Body_Stub
3064 or else NT (N).Nkind = N_Parameter_Specification
3065 or else NT (N).Nkind = N_Private_Extension_Declaration
3066 or else NT (N).Nkind = N_Private_Type_Declaration
3067 or else NT (N).Nkind = N_Protected_Body
3068 or else NT (N).Nkind = N_Protected_Body_Stub
3069 or else NT (N).Nkind = N_Protected_Type_Declaration
3070 or else NT (N).Nkind = N_Single_Protected_Declaration
3071 or else NT (N).Nkind = N_Single_Task_Declaration
3072 or else NT (N).Nkind = N_Subtype_Declaration
3073 or else NT (N).Nkind = N_Task_Body
3074 or else NT (N).Nkind = N_Task_Body_Stub
3075 or else NT (N).Nkind = N_Task_Type_Declaration);
3076 Set_Node1_With_Parent (N, Val);
3077 end Set_Defining_Identifier;
3079 procedure Set_Defining_Unit_Name
3080 (N : Node_Id; Val : Node_Id) is
3082 pragma Assert (False
3083 or else NT (N).Nkind = N_Function_Instantiation
3084 or else NT (N).Nkind = N_Function_Specification
3085 or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
3086 or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
3087 or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
3088 or else NT (N).Nkind = N_Package_Body
3089 or else NT (N).Nkind = N_Package_Instantiation
3090 or else NT (N).Nkind = N_Package_Renaming_Declaration
3091 or else NT (N).Nkind = N_Package_Specification
3092 or else NT (N).Nkind = N_Procedure_Instantiation
3093 or else NT (N).Nkind = N_Procedure_Specification);
3094 Set_Node1_With_Parent (N, Val);
3095 end Set_Defining_Unit_Name;
3097 procedure Set_Delay_Alternative
3098 (N : Node_Id; Val : Node_Id) is
3100 pragma Assert (False
3101 or else NT (N).Nkind = N_Timed_Entry_Call);
3102 Set_Node4_With_Parent (N, Val);
3103 end Set_Delay_Alternative;
3105 procedure Set_Delay_Finalize_Attach
3106 (N : Node_Id; Val : Boolean := True) is
3108 pragma Assert (False
3109 or else NT (N).Nkind = N_Object_Declaration);
3110 Set_Flag14 (N, Val);
3111 end Set_Delay_Finalize_Attach;
3113 procedure Set_Delay_Statement
3114 (N : Node_Id; Val : Node_Id) is
3116 pragma Assert (False
3117 or else NT (N).Nkind = N_Delay_Alternative);
3118 Set_Node2_With_Parent (N, Val);
3119 end Set_Delay_Statement;
3121 procedure Set_Delta_Expression
3122 (N : Node_Id; Val : Node_Id) is
3124 pragma Assert (False
3125 or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
3126 or else NT (N).Nkind = N_Delta_Constraint
3127 or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
3128 Set_Node3_With_Parent (N, Val);
3129 end Set_Delta_Expression;
3131 procedure Set_Digits_Expression
3132 (N : Node_Id; Val : Node_Id) is
3134 pragma Assert (False
3135 or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
3136 or else NT (N).Nkind = N_Digits_Constraint
3137 or else NT (N).Nkind = N_Floating_Point_Definition);
3138 Set_Node2_With_Parent (N, Val);
3139 end Set_Digits_Expression;
3141 procedure Set_Discr_Check_Funcs_Built
3142 (N : Node_Id; Val : Boolean := True) is
3144 pragma Assert (False
3145 or else NT (N).Nkind = N_Full_Type_Declaration);
3146 Set_Flag11 (N, Val);
3147 end Set_Discr_Check_Funcs_Built;
3149 procedure Set_Discrete_Choices
3150 (N : Node_Id; Val : List_Id) is
3152 pragma Assert (False
3153 or else NT (N).Nkind = N_Case_Statement_Alternative
3154 or else NT (N).Nkind = N_Variant);
3155 Set_List4_With_Parent (N, Val);
3156 end Set_Discrete_Choices;
3158 procedure Set_Discrete_Range
3159 (N : Node_Id; Val : Node_Id) is
3161 pragma Assert (False
3162 or else NT (N).Nkind = N_Slice);
3163 Set_Node4_With_Parent (N, Val);
3164 end Set_Discrete_Range;
3166 procedure Set_Discrete_Subtype_Definition
3167 (N : Node_Id; Val : Node_Id) is
3169 pragma Assert (False
3170 or else NT (N).Nkind = N_Entry_Declaration
3171 or else NT (N).Nkind = N_Entry_Index_Specification
3172 or else NT (N).Nkind = N_Loop_Parameter_Specification);
3173 Set_Node4_With_Parent (N, Val);
3174 end Set_Discrete_Subtype_Definition;
3176 procedure Set_Discrete_Subtype_Definitions
3177 (N : Node_Id; Val : List_Id) is
3179 pragma Assert (False
3180 or else NT (N).Nkind = N_Constrained_Array_Definition);
3181 Set_List2_With_Parent (N, Val);
3182 end Set_Discrete_Subtype_Definitions;
3184 procedure Set_Discriminant_Specifications
3185 (N : Node_Id; Val : List_Id) is
3187 pragma Assert (False
3188 or else NT (N).Nkind = N_Formal_Type_Declaration
3189 or else NT (N).Nkind = N_Full_Type_Declaration
3190 or else NT (N).Nkind = N_Incomplete_Type_Declaration
3191 or else NT (N).Nkind = N_Private_Extension_Declaration
3192 or else NT (N).Nkind = N_Private_Type_Declaration
3193 or else NT (N).Nkind = N_Protected_Type_Declaration
3194 or else NT (N).Nkind = N_Task_Type_Declaration);
3195 Set_List4_With_Parent (N, Val);
3196 end Set_Discriminant_Specifications;
3198 procedure Set_Discriminant_Type
3199 (N : Node_Id; Val : Node_Id) is
3201 pragma Assert (False
3202 or else NT (N).Nkind = N_Discriminant_Specification);
3203 Set_Node5_With_Parent (N, Val);
3204 end Set_Discriminant_Type;
3206 procedure Set_Do_Accessibility_Check
3207 (N : Node_Id; Val : Boolean := True) is
3209 pragma Assert (False
3210 or else NT (N).Nkind = N_Parameter_Specification);
3211 Set_Flag13 (N, Val);
3212 end Set_Do_Accessibility_Check;
3214 procedure Set_Do_Discriminant_Check
3215 (N : Node_Id; Val : Boolean := True) is
3217 pragma Assert (False
3218 or else NT (N).Nkind = N_Selected_Component);
3219 Set_Flag13 (N, Val);
3220 end Set_Do_Discriminant_Check;
3222 procedure Set_Do_Division_Check
3223 (N : Node_Id; Val : Boolean := True) is
3225 pragma Assert (False
3226 or else NT (N).Nkind = N_Op_Divide
3227 or else NT (N).Nkind = N_Op_Mod
3228 or else NT (N).Nkind = N_Op_Rem);
3229 Set_Flag13 (N, Val);
3230 end Set_Do_Division_Check;
3232 procedure Set_Do_Length_Check
3233 (N : Node_Id; Val : Boolean := True) is
3235 pragma Assert (False
3236 or else NT (N).Nkind = N_Assignment_Statement
3237 or else NT (N).Nkind = N_Op_And
3238 or else NT (N).Nkind = N_Op_Or
3239 or else NT (N).Nkind = N_Op_Xor
3240 or else NT (N).Nkind = N_Type_Conversion);
3242 end Set_Do_Length_Check;
3244 procedure Set_Do_Overflow_Check
3245 (N : Node_Id; Val : Boolean := True) is
3247 pragma Assert (False
3248 or else NT (N).Nkind in N_Op
3249 or else NT (N).Nkind = N_Attribute_Reference
3250 or else NT (N).Nkind = N_Type_Conversion);
3251 Set_Flag17 (N, Val);
3252 end Set_Do_Overflow_Check;
3254 procedure Set_Do_Range_Check
3255 (N : Node_Id; Val : Boolean := True) is
3257 pragma Assert (False
3258 or else NT (N).Nkind in N_Subexpr);
3260 end Set_Do_Range_Check;
3262 procedure Set_Do_Storage_Check
3263 (N : Node_Id; Val : Boolean := True) is
3265 pragma Assert (False
3266 or else NT (N).Nkind = N_Allocator
3267 or else NT (N).Nkind = N_Subprogram_Body);
3268 Set_Flag17 (N, Val);
3269 end Set_Do_Storage_Check;
3271 procedure Set_Do_Tag_Check
3272 (N : Node_Id; Val : Boolean := True) is
3274 pragma Assert (False
3275 or else NT (N).Nkind = N_Assignment_Statement
3276 or else NT (N).Nkind = N_Function_Call
3277 or else NT (N).Nkind = N_Procedure_Call_Statement
3278 or else NT (N).Nkind = N_Return_Statement
3279 or else NT (N).Nkind = N_Type_Conversion);
3280 Set_Flag13 (N, Val);
3281 end Set_Do_Tag_Check;
3283 procedure Set_Elaborate_All_Present
3284 (N : Node_Id; Val : Boolean := True) is
3286 pragma Assert (False
3287 or else NT (N).Nkind = N_With_Clause);
3288 Set_Flag15 (N, Val);
3289 end Set_Elaborate_All_Present;
3291 procedure Set_Elaborate_Present
3292 (N : Node_Id; Val : Boolean := True) is
3294 pragma Assert (False
3295 or else NT (N).Nkind = N_With_Clause);
3297 end Set_Elaborate_Present;
3299 procedure Set_Elaboration_Boolean
3300 (N : Node_Id; Val : Node_Id) is
3302 pragma Assert (False
3303 or else NT (N).Nkind = N_Function_Specification
3304 or else NT (N).Nkind = N_Procedure_Specification);
3306 end Set_Elaboration_Boolean;
3308 procedure Set_Else_Actions
3309 (N : Node_Id; Val : List_Id) is
3311 pragma Assert (False
3312 or else NT (N).Nkind = N_Conditional_Expression);
3313 Set_List3 (N, Val); -- semantic field, no parent set
3314 end Set_Else_Actions;
3316 procedure Set_Else_Statements
3317 (N : Node_Id; Val : List_Id) is
3319 pragma Assert (False
3320 or else NT (N).Nkind = N_Conditional_Entry_Call
3321 or else NT (N).Nkind = N_If_Statement
3322 or else NT (N).Nkind = N_Selective_Accept);
3323 Set_List4_With_Parent (N, Val);
3324 end Set_Else_Statements;
3326 procedure Set_Elsif_Parts
3327 (N : Node_Id; Val : List_Id) is
3329 pragma Assert (False
3330 or else NT (N).Nkind = N_If_Statement);
3331 Set_List3_With_Parent (N, Val);
3332 end Set_Elsif_Parts;
3334 procedure Set_Enclosing_Variant
3335 (N : Node_Id; Val : Node_Id) is
3337 pragma Assert (False
3338 or else NT (N).Nkind = N_Variant);
3339 Set_Node2 (N, Val); -- semantic field, no parent set
3340 end Set_Enclosing_Variant;
3342 procedure Set_End_Label
3343 (N : Node_Id; Val : Node_Id) is
3345 pragma Assert (False
3346 or else NT (N).Nkind = N_Enumeration_Type_Definition
3347 or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
3348 or else NT (N).Nkind = N_Loop_Statement
3349 or else NT (N).Nkind = N_Package_Specification
3350 or else NT (N).Nkind = N_Protected_Body
3351 or else NT (N).Nkind = N_Protected_Definition
3352 or else NT (N).Nkind = N_Record_Definition
3353 or else NT (N).Nkind = N_Task_Definition);
3354 Set_Node4_With_Parent (N, Val);
3357 procedure Set_End_Span
3358 (N : Node_Id; Val : Uint) is
3360 pragma Assert (False
3361 or else NT (N).Nkind = N_Case_Statement
3362 or else NT (N).Nkind = N_If_Statement);
3366 procedure Set_Entity
3367 (N : Node_Id; Val : Node_Id) is
3369 pragma Assert (False
3370 or else NT (N).Nkind in N_Has_Entity
3371 or else NT (N).Nkind = N_Freeze_Entity);
3372 Set_Node4 (N, Val); -- semantic field, no parent set
3375 procedure Set_Entry_Body_Formal_Part
3376 (N : Node_Id; Val : Node_Id) is
3378 pragma Assert (False
3379 or else NT (N).Nkind = N_Entry_Body);
3380 Set_Node5_With_Parent (N, Val);
3381 end Set_Entry_Body_Formal_Part;
3383 procedure Set_Entry_Call_Alternative
3384 (N : Node_Id; Val : Node_Id) is
3386 pragma Assert (False
3387 or else NT (N).Nkind = N_Conditional_Entry_Call
3388 or else NT (N).Nkind = N_Timed_Entry_Call);
3389 Set_Node1_With_Parent (N, Val);
3390 end Set_Entry_Call_Alternative;
3392 procedure Set_Entry_Call_Statement
3393 (N : Node_Id; Val : Node_Id) is
3395 pragma Assert (False
3396 or else NT (N).Nkind = N_Entry_Call_Alternative);
3397 Set_Node1_With_Parent (N, Val);
3398 end Set_Entry_Call_Statement;
3400 procedure Set_Entry_Direct_Name
3401 (N : Node_Id; Val : Node_Id) is
3403 pragma Assert (False
3404 or else NT (N).Nkind = N_Accept_Statement);
3405 Set_Node1_With_Parent (N, Val);
3406 end Set_Entry_Direct_Name;
3408 procedure Set_Entry_Index
3409 (N : Node_Id; Val : Node_Id) is
3411 pragma Assert (False
3412 or else NT (N).Nkind = N_Accept_Statement);
3413 Set_Node5_With_Parent (N, Val);
3414 end Set_Entry_Index;
3416 procedure Set_Entry_Index_Specification
3417 (N : Node_Id; Val : Node_Id) is
3419 pragma Assert (False
3420 or else NT (N).Nkind = N_Entry_Body_Formal_Part);
3421 Set_Node4_With_Parent (N, Val);
3422 end Set_Entry_Index_Specification;
3425 (N : Node_Id; Val : Node_Id) is
3427 pragma Assert (False
3428 or else NT (N).Nkind in N_Has_Etype);
3429 Set_Node5 (N, Val); -- semantic field, no parent set
3432 procedure Set_Exception_Choices
3433 (N : Node_Id; Val : List_Id) is
3435 pragma Assert (False
3436 or else NT (N).Nkind = N_Exception_Handler);
3437 Set_List4_With_Parent (N, Val);
3438 end Set_Exception_Choices;
3440 procedure Set_Exception_Handlers
3441 (N : Node_Id; Val : List_Id) is
3443 pragma Assert (False
3444 or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3445 Set_List5_With_Parent (N, Val);
3446 end Set_Exception_Handlers;
3448 procedure Set_Exception_Junk
3449 (N : Node_Id; Val : Boolean := True) is
3451 pragma Assert (False
3452 or else NT (N).Nkind = N_Goto_Statement
3453 or else NT (N).Nkind = N_Label
3454 or else NT (N).Nkind = N_Object_Declaration
3455 or else NT (N).Nkind = N_Subtype_Declaration);
3456 Set_Flag11 (N, Val);
3457 end Set_Exception_Junk;
3459 procedure Set_Expansion_Delayed
3460 (N : Node_Id; Val : Boolean := True) is
3462 pragma Assert (False
3463 or else NT (N).Nkind = N_Aggregate
3464 or else NT (N).Nkind = N_Extension_Aggregate);
3465 Set_Flag11 (N, Val);
3466 end Set_Expansion_Delayed;
3468 procedure Set_Explicit_Actual_Parameter
3469 (N : Node_Id; Val : Node_Id) is
3471 pragma Assert (False
3472 or else NT (N).Nkind = N_Parameter_Association);
3473 Set_Node3_With_Parent (N, Val);
3474 end Set_Explicit_Actual_Parameter;
3476 procedure Set_Explicit_Generic_Actual_Parameter
3477 (N : Node_Id; Val : Node_Id) is
3479 pragma Assert (False
3480 or else NT (N).Nkind = N_Generic_Association);
3481 Set_Node1_With_Parent (N, Val);
3482 end Set_Explicit_Generic_Actual_Parameter;
3484 procedure Set_Expression
3485 (N : Node_Id; Val : Node_Id) is
3487 pragma Assert (False
3488 or else NT (N).Nkind = N_Allocator
3489 or else NT (N).Nkind = N_Assignment_Statement
3490 or else NT (N).Nkind = N_At_Clause
3491 or else NT (N).Nkind = N_Attribute_Definition_Clause
3492 or else NT (N).Nkind = N_Case_Statement
3493 or else NT (N).Nkind = N_Code_Statement
3494 or else NT (N).Nkind = N_Component_Association
3495 or else NT (N).Nkind = N_Component_Declaration
3496 or else NT (N).Nkind = N_Delay_Relative_Statement
3497 or else NT (N).Nkind = N_Delay_Until_Statement
3498 or else NT (N).Nkind = N_Discriminant_Association
3499 or else NT (N).Nkind = N_Discriminant_Specification
3500 or else NT (N).Nkind = N_Exception_Declaration
3501 or else NT (N).Nkind = N_Formal_Object_Declaration
3502 or else NT (N).Nkind = N_Free_Statement
3503 or else NT (N).Nkind = N_Mod_Clause
3504 or else NT (N).Nkind = N_Modular_Type_Definition
3505 or else NT (N).Nkind = N_Number_Declaration
3506 or else NT (N).Nkind = N_Object_Declaration
3507 or else NT (N).Nkind = N_Parameter_Specification
3508 or else NT (N).Nkind = N_Pragma_Argument_Association
3509 or else NT (N).Nkind = N_Qualified_Expression
3510 or else NT (N).Nkind = N_Return_Statement
3511 or else NT (N).Nkind = N_Type_Conversion
3512 or else NT (N).Nkind = N_Unchecked_Expression
3513 or else NT (N).Nkind = N_Unchecked_Type_Conversion);
3514 Set_Node3_With_Parent (N, Val);
3517 procedure Set_Expressions
3518 (N : Node_Id; Val : List_Id) is
3520 pragma Assert (False
3521 or else NT (N).Nkind = N_Aggregate
3522 or else NT (N).Nkind = N_Attribute_Reference
3523 or else NT (N).Nkind = N_Conditional_Expression
3524 or else NT (N).Nkind = N_Extension_Aggregate
3525 or else NT (N).Nkind = N_Indexed_Component);
3526 Set_List1_With_Parent (N, Val);
3527 end Set_Expressions;
3529 procedure Set_First_Bit
3530 (N : Node_Id; Val : Node_Id) is
3532 pragma Assert (False
3533 or else NT (N).Nkind = N_Component_Clause);
3534 Set_Node3_With_Parent (N, Val);
3537 procedure Set_First_Inlined_Subprogram
3538 (N : Node_Id; Val : Entity_Id) is
3540 pragma Assert (False
3541 or else NT (N).Nkind = N_Compilation_Unit);
3542 Set_Node3 (N, Val); -- semantic field, no parent set
3543 end Set_First_Inlined_Subprogram;
3545 procedure Set_First_Name
3546 (N : Node_Id; Val : Boolean := True) is
3548 pragma Assert (False
3549 or else NT (N).Nkind = N_With_Clause);
3553 procedure Set_First_Named_Actual
3554 (N : Node_Id; Val : Node_Id) is
3556 pragma Assert (False
3557 or else NT (N).Nkind = N_Entry_Call_Statement
3558 or else NT (N).Nkind = N_Function_Call
3559 or else NT (N).Nkind = N_Procedure_Call_Statement);
3560 Set_Node4 (N, Val); -- semantic field, no parent set
3561 end Set_First_Named_Actual;
3563 procedure Set_First_Real_Statement
3564 (N : Node_Id; Val : Node_Id) is
3566 pragma Assert (False
3567 or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3568 Set_Node2 (N, Val); -- semantic field, no parent set
3569 end Set_First_Real_Statement;
3571 procedure Set_First_Subtype_Link
3572 (N : Node_Id; Val : Entity_Id) is
3574 pragma Assert (False
3575 or else NT (N).Nkind = N_Freeze_Entity);
3576 Set_Node5 (N, Val); -- semantic field, no parent set
3577 end Set_First_Subtype_Link;
3579 procedure Set_Float_Truncate
3580 (N : Node_Id; Val : Boolean := True) is
3582 pragma Assert (False
3583 or else NT (N).Nkind = N_Type_Conversion);
3584 Set_Flag11 (N, Val);
3585 end Set_Float_Truncate;
3587 procedure Set_Formal_Type_Definition
3588 (N : Node_Id; Val : Node_Id) is
3590 pragma Assert (False
3591 or else NT (N).Nkind = N_Formal_Type_Declaration);
3592 Set_Node3_With_Parent (N, Val);
3593 end Set_Formal_Type_Definition;
3595 procedure Set_Forwards_OK
3596 (N : Node_Id; Val : Boolean := True) is
3598 pragma Assert (False
3599 or else NT (N).Nkind = N_Assignment_Statement);
3601 end Set_Forwards_OK;
3603 procedure Set_From_At_Mod
3604 (N : Node_Id; Val : Boolean := True) is
3606 pragma Assert (False
3607 or else NT (N).Nkind = N_Attribute_Definition_Clause);
3609 end Set_From_At_Mod;
3611 procedure Set_Generic_Associations
3612 (N : Node_Id; Val : List_Id) is
3614 pragma Assert (False
3615 or else NT (N).Nkind = N_Formal_Package_Declaration
3616 or else NT (N).Nkind = N_Function_Instantiation
3617 or else NT (N).Nkind = N_Package_Instantiation
3618 or else NT (N).Nkind = N_Procedure_Instantiation);
3619 Set_List3_With_Parent (N, Val);
3620 end Set_Generic_Associations;
3622 procedure Set_Generic_Formal_Declarations
3623 (N : Node_Id; Val : List_Id) is
3625 pragma Assert (False
3626 or else NT (N).Nkind = N_Generic_Package_Declaration
3627 or else NT (N).Nkind = N_Generic_Subprogram_Declaration);
3628 Set_List2_With_Parent (N, Val);
3629 end Set_Generic_Formal_Declarations;
3631 procedure Set_Generic_Parent
3632 (N : Node_Id; Val : Node_Id) is
3634 pragma Assert (False
3635 or else NT (N).Nkind = N_Function_Specification
3636 or else NT (N).Nkind = N_Package_Specification
3637 or else NT (N).Nkind = N_Procedure_Specification);
3639 end Set_Generic_Parent;
3641 procedure Set_Generic_Parent_Type
3642 (N : Node_Id; Val : Node_Id) is
3644 pragma Assert (False
3645 or else NT (N).Nkind = N_Subtype_Declaration);
3647 end Set_Generic_Parent_Type;
3649 procedure Set_Handled_Statement_Sequence
3650 (N : Node_Id; Val : Node_Id) is
3652 pragma Assert (False
3653 or else NT (N).Nkind = N_Accept_Statement
3654 or else NT (N).Nkind = N_Block_Statement
3655 or else NT (N).Nkind = N_Entry_Body
3656 or else NT (N).Nkind = N_Package_Body
3657 or else NT (N).Nkind = N_Subprogram_Body
3658 or else NT (N).Nkind = N_Task_Body);
3659 Set_Node4_With_Parent (N, Val);
3660 end Set_Handled_Statement_Sequence;
3662 procedure Set_Handler_List_Entry
3663 (N : Node_Id; Val : Node_Id) is
3665 pragma Assert (False
3666 or else NT (N).Nkind = N_Object_Declaration);
3668 end Set_Handler_List_Entry;
3670 procedure Set_Has_Created_Identifier
3671 (N : Node_Id; Val : Boolean := True) is
3673 pragma Assert (False
3674 or else NT (N).Nkind = N_Block_Statement
3675 or else NT (N).Nkind = N_Loop_Statement);
3676 Set_Flag15 (N, Val);
3677 end Set_Has_Created_Identifier;
3679 procedure Set_Has_Dynamic_Length_Check
3680 (N : Node_Id; Val : Boolean := True) is
3682 Set_Flag10 (N, Val);
3683 end Set_Has_Dynamic_Length_Check;
3685 procedure Set_Has_Dynamic_Range_Check
3686 (N : Node_Id; Val : Boolean := True) is
3688 Set_Flag12 (N, Val);
3689 end Set_Has_Dynamic_Range_Check;
3691 procedure Set_Has_No_Elaboration_Code
3692 (N : Node_Id; Val : Boolean := True) is
3694 pragma Assert (False
3695 or else NT (N).Nkind = N_Compilation_Unit);
3696 Set_Flag17 (N, Val);
3697 end Set_Has_No_Elaboration_Code;
3699 procedure Set_Has_Priority_Pragma
3700 (N : Node_Id; Val : Boolean := True) is
3702 pragma Assert (False
3703 or else NT (N).Nkind = N_Protected_Definition
3704 or else NT (N).Nkind = N_Subprogram_Body
3705 or else NT (N).Nkind = N_Task_Definition);
3707 end Set_Has_Priority_Pragma;
3709 procedure Set_Has_Private_View
3710 (N : Node_Id; Val : Boolean := True) is
3712 pragma Assert (False
3713 or else NT (N).Nkind in N_Op
3714 or else NT (N).Nkind = N_Character_Literal
3715 or else NT (N).Nkind = N_Expanded_Name
3716 or else NT (N).Nkind = N_Identifier
3717 or else NT (N).Nkind = N_Operator_Symbol);
3718 Set_Flag11 (N, Val);
3719 end Set_Has_Private_View;
3721 procedure Set_Has_Storage_Size_Pragma
3722 (N : Node_Id; Val : Boolean := True) is
3724 pragma Assert (False
3725 or else NT (N).Nkind = N_Task_Definition);
3727 end Set_Has_Storage_Size_Pragma;
3729 procedure Set_Has_Task_Info_Pragma
3730 (N : Node_Id; Val : Boolean := True) is
3732 pragma Assert (False
3733 or else NT (N).Nkind = N_Task_Definition);
3735 end Set_Has_Task_Info_Pragma;
3737 procedure Set_Has_Task_Name_Pragma
3738 (N : Node_Id; Val : Boolean := True) is
3740 pragma Assert (False
3741 or else NT (N).Nkind = N_Task_Definition);
3743 end Set_Has_Task_Name_Pragma;
3745 procedure Set_Has_Wide_Character
3746 (N : Node_Id; Val : Boolean := True) is
3748 pragma Assert (False
3749 or else NT (N).Nkind = N_String_Literal);
3750 Set_Flag11 (N, Val);
3751 end Set_Has_Wide_Character;
3753 procedure Set_Hidden_By_Use_Clause
3754 (N : Node_Id; Val : Elist_Id) is
3756 pragma Assert (False
3757 or else NT (N).Nkind = N_Use_Package_Clause
3758 or else NT (N).Nkind = N_Use_Type_Clause);
3759 Set_Elist4 (N, Val);
3760 end Set_Hidden_By_Use_Clause;
3762 procedure Set_High_Bound
3763 (N : Node_Id; Val : Node_Id) is
3765 pragma Assert (False
3766 or else NT (N).Nkind = N_Range
3767 or else NT (N).Nkind = N_Real_Range_Specification
3768 or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
3769 Set_Node2_With_Parent (N, Val);
3772 procedure Set_Identifier
3773 (N : Node_Id; Val : Node_Id) is
3775 pragma Assert (False
3776 or else NT (N).Nkind = N_At_Clause
3777 or else NT (N).Nkind = N_Block_Statement
3778 or else NT (N).Nkind = N_Designator
3779 or else NT (N).Nkind = N_Enumeration_Representation_Clause
3780 or else NT (N).Nkind = N_Label
3781 or else NT (N).Nkind = N_Loop_Statement
3782 or else NT (N).Nkind = N_Record_Representation_Clause
3783 or else NT (N).Nkind = N_Subprogram_Info);
3784 Set_Node1_With_Parent (N, Val);
3787 procedure Set_Implicit_With
3788 (N : Node_Id; Val : Boolean := True) is
3790 pragma Assert (False
3791 or else NT (N).Nkind = N_With_Clause);
3792 Set_Flag16 (N, Val);
3793 end Set_Implicit_With;
3795 procedure Set_In_Present
3796 (N : Node_Id; Val : Boolean := True) is
3798 pragma Assert (False
3799 or else NT (N).Nkind = N_Formal_Object_Declaration
3800 or else NT (N).Nkind = N_Parameter_Specification);
3801 Set_Flag15 (N, Val);
3804 procedure Set_Includes_Infinities
3805 (N : Node_Id; Val : Boolean := True) is
3807 pragma Assert (False
3808 or else NT (N).Nkind = N_Range);
3809 Set_Flag11 (N, Val);
3810 end Set_Includes_Infinities;
3812 procedure Set_Instance_Spec
3813 (N : Node_Id; Val : Node_Id) is
3815 pragma Assert (False
3816 or else NT (N).Nkind = N_Formal_Package_Declaration
3817 or else NT (N).Nkind = N_Function_Instantiation
3818 or else NT (N).Nkind = N_Package_Instantiation
3819 or else NT (N).Nkind = N_Procedure_Instantiation);
3820 Set_Node5 (N, Val); -- semantic field, no Parent set
3821 end Set_Instance_Spec;
3823 procedure Set_Intval
3824 (N : Node_Id; Val : Uint) is
3826 pragma Assert (False
3827 or else NT (N).Nkind = N_Integer_Literal);
3831 procedure Set_Is_Asynchronous_Call_Block
3832 (N : Node_Id; Val : Boolean := True) is
3834 pragma Assert (False
3835 or else NT (N).Nkind = N_Block_Statement);
3837 end Set_Is_Asynchronous_Call_Block;
3839 procedure Set_Is_Component_Left_Opnd
3840 (N : Node_Id; Val : Boolean := True) is
3842 pragma Assert (False
3843 or else NT (N).Nkind = N_Op_Concat);
3844 Set_Flag13 (N, Val);
3845 end Set_Is_Component_Left_Opnd;
3847 procedure Set_Is_Component_Right_Opnd
3848 (N : Node_Id; Val : Boolean := True) is
3850 pragma Assert (False
3851 or else NT (N).Nkind = N_Op_Concat);
3852 Set_Flag14 (N, Val);
3853 end Set_Is_Component_Right_Opnd;
3855 procedure Set_Is_Controlling_Actual
3856 (N : Node_Id; Val : Boolean := True) is
3858 pragma Assert (False
3859 or else NT (N).Nkind in N_Subexpr);
3860 Set_Flag16 (N, Val);
3861 end Set_Is_Controlling_Actual;
3863 procedure Set_Is_In_Discriminant_Check
3864 (N : Node_Id; Val : Boolean := True) is
3866 pragma Assert (False
3867 or else NT (N).Nkind = N_Selected_Component);
3868 Set_Flag11 (N, Val);
3869 end Set_Is_In_Discriminant_Check;
3871 procedure Set_Is_Machine_Number
3872 (N : Node_Id; Val : Boolean := True) is
3874 pragma Assert (False
3875 or else NT (N).Nkind = N_Real_Literal);
3876 Set_Flag11 (N, Val);
3877 end Set_Is_Machine_Number;
3879 procedure Set_Is_Null_Loop
3880 (N : Node_Id; Val : Boolean := True) is
3882 pragma Assert (False
3883 or else NT (N).Nkind = N_Loop_Statement);
3884 Set_Flag16 (N, Val);
3885 end Set_Is_Null_Loop;
3887 procedure Set_Is_Overloaded
3888 (N : Node_Id; Val : Boolean := True) is
3890 pragma Assert (False
3891 or else NT (N).Nkind in N_Subexpr);
3893 end Set_Is_Overloaded;
3895 procedure Set_Is_Power_Of_2_For_Shift
3896 (N : Node_Id; Val : Boolean := True) is
3898 pragma Assert (False
3899 or else NT (N).Nkind = N_Op_Expon);
3900 Set_Flag13 (N, Val);
3901 end Set_Is_Power_Of_2_For_Shift;
3903 procedure Set_Is_Protected_Subprogram_Body
3904 (N : Node_Id; Val : Boolean := True) is
3906 pragma Assert (False
3907 or else NT (N).Nkind = N_Subprogram_Body);
3909 end Set_Is_Protected_Subprogram_Body;
3911 procedure Set_Is_Static_Expression
3912 (N : Node_Id; Val : Boolean := True) is
3914 pragma Assert (False
3915 or else NT (N).Nkind in N_Subexpr);
3917 end Set_Is_Static_Expression;
3919 procedure Set_Is_Subprogram_Descriptor
3920 (N : Node_Id; Val : Boolean := True) is
3922 pragma Assert (False
3923 or else NT (N).Nkind = N_Object_Declaration);
3924 Set_Flag16 (N, Val);
3925 end Set_Is_Subprogram_Descriptor;
3927 procedure Set_Is_Task_Allocation_Block
3928 (N : Node_Id; Val : Boolean := True) is
3930 pragma Assert (False
3931 or else NT (N).Nkind = N_Block_Statement);
3933 end Set_Is_Task_Allocation_Block;
3935 procedure Set_Is_Task_Master
3936 (N : Node_Id; Val : Boolean := True) is
3938 pragma Assert (False
3939 or else NT (N).Nkind = N_Block_Statement
3940 or else NT (N).Nkind = N_Subprogram_Body
3941 or else NT (N).Nkind = N_Task_Body);
3943 end Set_Is_Task_Master;
3945 procedure Set_Iteration_Scheme
3946 (N : Node_Id; Val : Node_Id) is
3948 pragma Assert (False
3949 or else NT (N).Nkind = N_Loop_Statement);
3950 Set_Node2_With_Parent (N, Val);
3951 end Set_Iteration_Scheme;
3954 (N : Node_Id; Val : Entity_Id) is
3956 pragma Assert (False
3957 or else NT (N).Nkind = N_Itype_Reference);
3958 Set_Node1 (N, Val); -- no parent, semantic field
3961 procedure Set_Kill_Range_Check
3962 (N : Node_Id; Val : Boolean := True) is
3964 pragma Assert (False
3965 or else NT (N).Nkind = N_Unchecked_Type_Conversion);
3966 Set_Flag11 (N, Val);
3967 end Set_Kill_Range_Check;
3969 procedure Set_Label_Construct
3970 (N : Node_Id; Val : Node_Id) is
3972 pragma Assert (False
3973 or else NT (N).Nkind = N_Implicit_Label_Declaration);
3974 Set_Node2 (N, Val); -- semantic field, no parent set
3975 end Set_Label_Construct;
3977 procedure Set_Last_Bit
3978 (N : Node_Id; Val : Node_Id) is
3980 pragma Assert (False
3981 or else NT (N).Nkind = N_Component_Clause);
3982 Set_Node4_With_Parent (N, Val);
3985 procedure Set_Last_Name
3986 (N : Node_Id; Val : Boolean := True) is
3988 pragma Assert (False
3989 or else NT (N).Nkind = N_With_Clause);
3993 procedure Set_Left_Opnd
3994 (N : Node_Id; Val : Node_Id) is
3996 pragma Assert (False
3997 or else NT (N).Nkind = N_And_Then
3998 or else NT (N).Nkind = N_In
3999 or else NT (N).Nkind = N_Not_In
4000 or else NT (N).Nkind = N_Or_Else
4001 or else NT (N).Nkind in N_Binary_Op);
4002 Set_Node2_With_Parent (N, Val);
4005 procedure Set_Library_Unit
4006 (N : Node_Id; Val : Node_Id) is
4008 pragma Assert (False
4009 or else NT (N).Nkind = N_Compilation_Unit
4010 or else NT (N).Nkind = N_Package_Body_Stub
4011 or else NT (N).Nkind = N_Protected_Body_Stub
4012 or else NT (N).Nkind = N_Subprogram_Body_Stub
4013 or else NT (N).Nkind = N_Task_Body_Stub
4014 or else NT (N).Nkind = N_With_Clause);
4015 Set_Node4 (N, Val); -- semantic field, no parent set
4016 end Set_Library_Unit;
4018 procedure Set_Limited_View_Installed
4019 (N : Node_Id; Val : Boolean := True) is
4021 pragma Assert (False
4022 or else NT (N).Nkind = N_Package_Specification
4023 or else NT (N).Nkind = N_With_Clause);
4024 Set_Flag18 (N, Val);
4025 end Set_Limited_View_Installed;
4027 procedure Set_Limited_Present
4028 (N : Node_Id; Val : Boolean := True) is
4030 pragma Assert (False
4031 or else NT (N).Nkind = N_Formal_Private_Type_Definition
4032 or else NT (N).Nkind = N_Private_Type_Declaration
4033 or else NT (N).Nkind = N_Record_Definition
4034 or else NT (N).Nkind = N_With_Clause);
4035 Set_Flag17 (N, Val);
4036 end Set_Limited_Present;
4038 procedure Set_Literals
4039 (N : Node_Id; Val : List_Id) is
4041 pragma Assert (False
4042 or else NT (N).Nkind = N_Enumeration_Type_Definition);
4043 Set_List1_With_Parent (N, Val);
4046 procedure Set_Loop_Actions
4047 (N : Node_Id; Val : List_Id) is
4049 pragma Assert (False
4050 or else NT (N).Nkind = N_Component_Association);
4051 Set_List2 (N, Val); -- semantic field, no parent set
4052 end Set_Loop_Actions;
4054 procedure Set_Loop_Parameter_Specification
4055 (N : Node_Id; Val : Node_Id) is
4057 pragma Assert (False
4058 or else NT (N).Nkind = N_Iteration_Scheme);
4059 Set_Node4_With_Parent (N, Val);
4060 end Set_Loop_Parameter_Specification;
4062 procedure Set_Low_Bound
4063 (N : Node_Id; Val : Node_Id) is
4065 pragma Assert (False
4066 or else NT (N).Nkind = N_Range
4067 or else NT (N).Nkind = N_Real_Range_Specification
4068 or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
4069 Set_Node1_With_Parent (N, Val);
4072 procedure Set_Mod_Clause
4073 (N : Node_Id; Val : Node_Id) is
4075 pragma Assert (False
4076 or else NT (N).Nkind = N_Record_Representation_Clause);
4077 Set_Node2_With_Parent (N, Val);
4080 procedure Set_More_Ids
4081 (N : Node_Id; Val : Boolean := True) is
4083 pragma Assert (False
4084 or else NT (N).Nkind = N_Component_Declaration
4085 or else NT (N).Nkind = N_Discriminant_Specification
4086 or else NT (N).Nkind = N_Exception_Declaration
4087 or else NT (N).Nkind = N_Formal_Object_Declaration
4088 or else NT (N).Nkind = N_Number_Declaration
4089 or else NT (N).Nkind = N_Object_Declaration
4090 or else NT (N).Nkind = N_Parameter_Specification);
4094 procedure Set_Must_Be_Byte_Aligned
4095 (N : Node_Id; Val : Boolean := True) is
4097 pragma Assert (False
4098 or else NT (N).Nkind = N_Attribute_Reference);
4099 Set_Flag14 (N, Val);
4100 end Set_Must_Be_Byte_Aligned;
4102 procedure Set_Must_Not_Freeze
4103 (N : Node_Id; Val : Boolean := True) is
4105 pragma Assert (False
4106 or else NT (N).Nkind = N_Subtype_Indication
4107 or else NT (N).Nkind in N_Subexpr);
4109 end Set_Must_Not_Freeze;
4112 (N : Node_Id; Val : Node_Id) is
4114 pragma Assert (False
4115 or else NT (N).Nkind = N_Assignment_Statement
4116 or else NT (N).Nkind = N_Attribute_Definition_Clause
4117 or else NT (N).Nkind = N_Defining_Program_Unit_Name
4118 or else NT (N).Nkind = N_Designator
4119 or else NT (N).Nkind = N_Entry_Call_Statement
4120 or else NT (N).Nkind = N_Exception_Renaming_Declaration
4121 or else NT (N).Nkind = N_Exit_Statement
4122 or else NT (N).Nkind = N_Formal_Package_Declaration
4123 or else NT (N).Nkind = N_Function_Call
4124 or else NT (N).Nkind = N_Function_Instantiation
4125 or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4126 or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4127 or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4128 or else NT (N).Nkind = N_Goto_Statement
4129 or else NT (N).Nkind = N_Object_Renaming_Declaration
4130 or else NT (N).Nkind = N_Package_Instantiation
4131 or else NT (N).Nkind = N_Package_Renaming_Declaration
4132 or else NT (N).Nkind = N_Procedure_Call_Statement
4133 or else NT (N).Nkind = N_Procedure_Instantiation
4134 or else NT (N).Nkind = N_Raise_Statement
4135 or else NT (N).Nkind = N_Requeue_Statement
4136 or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
4137 or else NT (N).Nkind = N_Subunit
4138 or else NT (N).Nkind = N_Variant_Part
4139 or else NT (N).Nkind = N_With_Clause
4140 or else NT (N).Nkind = N_With_Type_Clause);
4141 Set_Node2_With_Parent (N, Val);
4145 (N : Node_Id; Val : List_Id) is
4147 pragma Assert (False
4148 or else NT (N).Nkind = N_Abort_Statement
4149 or else NT (N).Nkind = N_Use_Package_Clause);
4150 Set_List2_With_Parent (N, Val);
4153 procedure Set_Next_Entity
4154 (N : Node_Id; Val : Node_Id) is
4156 pragma Assert (False
4157 or else NT (N).Nkind = N_Defining_Character_Literal
4158 or else NT (N).Nkind = N_Defining_Identifier
4159 or else NT (N).Nkind = N_Defining_Operator_Symbol);
4160 Set_Node2 (N, Val); -- semantic field, no parent set
4161 end Set_Next_Entity;
4163 procedure Set_Next_Named_Actual
4164 (N : Node_Id; Val : Node_Id) is
4166 pragma Assert (False
4167 or else NT (N).Nkind = N_Parameter_Association);
4168 Set_Node4 (N, Val); -- semantic field, no parent set
4169 end Set_Next_Named_Actual;
4171 procedure Set_Next_Rep_Item
4172 (N : Node_Id; Val : Node_Id) is
4174 pragma Assert (False
4175 or else NT (N).Nkind = N_Attribute_Definition_Clause
4176 or else NT (N).Nkind = N_Enumeration_Representation_Clause
4177 or else NT (N).Nkind = N_Pragma
4178 or else NT (N).Nkind = N_Record_Representation_Clause);
4179 Set_Node4 (N, Val); -- semantic field, no parent set
4180 end Set_Next_Rep_Item;
4182 procedure Set_Next_Use_Clause
4183 (N : Node_Id; Val : Node_Id) is
4185 pragma Assert (False
4186 or else NT (N).Nkind = N_Use_Package_Clause
4187 or else NT (N).Nkind = N_Use_Type_Clause);
4188 Set_Node3 (N, Val); -- semantic field, no parent set
4189 end Set_Next_Use_Clause;
4191 procedure Set_No_Ctrl_Actions
4192 (N : Node_Id; Val : Boolean := True) is
4194 pragma Assert (False
4195 or else NT (N).Nkind = N_Assignment_Statement);
4197 end Set_No_Ctrl_Actions;
4199 procedure Set_No_Elaboration_Check
4200 (N : Node_Id; Val : Boolean := True) is
4202 pragma Assert (False
4203 or else NT (N).Nkind = N_Function_Call
4204 or else NT (N).Nkind = N_Procedure_Call_Statement);
4205 Set_Flag14 (N, Val);
4206 end Set_No_Elaboration_Check;
4208 procedure Set_No_Entities_Ref_In_Spec
4209 (N : Node_Id; Val : Boolean := True) is
4211 pragma Assert (False
4212 or else NT (N).Nkind = N_With_Clause);
4214 end Set_No_Entities_Ref_In_Spec;
4216 procedure Set_No_Initialization
4217 (N : Node_Id; Val : Boolean := True) is
4219 pragma Assert (False
4220 or else NT (N).Nkind = N_Allocator
4221 or else NT (N).Nkind = N_Object_Declaration);
4222 Set_Flag13 (N, Val);
4223 end Set_No_Initialization;
4225 procedure Set_No_Truncation
4226 (N : Node_Id; Val : Boolean := True) is
4228 pragma Assert (False
4229 or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4230 Set_Flag17 (N, Val);
4231 end Set_No_Truncation;
4233 procedure Set_Null_Present
4234 (N : Node_Id; Val : Boolean := True) is
4236 pragma Assert (False
4237 or else NT (N).Nkind = N_Component_List
4238 or else NT (N).Nkind = N_Record_Definition);
4239 Set_Flag13 (N, Val);
4240 end Set_Null_Present;
4242 procedure Set_Null_Record_Present
4243 (N : Node_Id; Val : Boolean := True) is
4245 pragma Assert (False
4246 or else NT (N).Nkind = N_Aggregate
4247 or else NT (N).Nkind = N_Extension_Aggregate);
4248 Set_Flag17 (N, Val);
4249 end Set_Null_Record_Present;
4251 procedure Set_Object_Definition
4252 (N : Node_Id; Val : Node_Id) is
4254 pragma Assert (False
4255 or else NT (N).Nkind = N_Object_Declaration);
4256 Set_Node4_With_Parent (N, Val);
4257 end Set_Object_Definition;
4259 procedure Set_OK_For_Stream
4260 (N : Node_Id; Val : Boolean := True) is
4262 pragma Assert (False
4263 or else NT (N).Nkind = N_Attribute_Reference);
4265 end Set_OK_For_Stream;
4267 procedure Set_Original_Discriminant
4268 (N : Node_Id; Val : Node_Id) is
4270 pragma Assert (False
4271 or else NT (N).Nkind = N_Identifier);
4272 Set_Node2 (N, Val); -- semantic field, no parent set
4273 end Set_Original_Discriminant;
4275 procedure Set_Original_Entity
4276 (N : Node_Id; Val : Entity_Id) is
4278 pragma Assert (False
4279 or else NT (N).Nkind = N_Integer_Literal
4280 or else NT (N).Nkind = N_Real_Literal);
4281 Set_Node2 (N, Val); -- semantic field, no parent set
4282 end Set_Original_Entity;
4284 procedure Set_Others_Discrete_Choices
4285 (N : Node_Id; Val : List_Id) is
4287 pragma Assert (False
4288 or else NT (N).Nkind = N_Others_Choice);
4289 Set_List1_With_Parent (N, Val);
4290 end Set_Others_Discrete_Choices;
4292 procedure Set_Out_Present
4293 (N : Node_Id; Val : Boolean := True) is
4295 pragma Assert (False
4296 or else NT (N).Nkind = N_Formal_Object_Declaration
4297 or else NT (N).Nkind = N_Parameter_Specification);
4298 Set_Flag17 (N, Val);
4299 end Set_Out_Present;
4301 procedure Set_Parameter_Associations
4302 (N : Node_Id; Val : List_Id) is
4304 pragma Assert (False
4305 or else NT (N).Nkind = N_Entry_Call_Statement
4306 or else NT (N).Nkind = N_Function_Call
4307 or else NT (N).Nkind = N_Procedure_Call_Statement);
4308 Set_List3_With_Parent (N, Val);
4309 end Set_Parameter_Associations;
4311 procedure Set_Parameter_List_Truncated
4312 (N : Node_Id; Val : Boolean := True) is
4314 pragma Assert (False
4315 or else NT (N).Nkind = N_Function_Call
4316 or else NT (N).Nkind = N_Procedure_Call_Statement);
4317 Set_Flag17 (N, Val);
4318 end Set_Parameter_List_Truncated;
4320 procedure Set_Parameter_Specifications
4321 (N : Node_Id; Val : List_Id) is
4323 pragma Assert (False
4324 or else NT (N).Nkind = N_Accept_Statement
4325 or else NT (N).Nkind = N_Access_Function_Definition
4326 or else NT (N).Nkind = N_Access_Procedure_Definition
4327 or else NT (N).Nkind = N_Entry_Body_Formal_Part
4328 or else NT (N).Nkind = N_Entry_Declaration
4329 or else NT (N).Nkind = N_Function_Specification
4330 or else NT (N).Nkind = N_Procedure_Specification);
4331 Set_List3_With_Parent (N, Val);
4332 end Set_Parameter_Specifications;
4334 procedure Set_Parameter_Type
4335 (N : Node_Id; Val : Node_Id) is
4337 pragma Assert (False
4338 or else NT (N).Nkind = N_Parameter_Specification);
4339 Set_Node2_With_Parent (N, Val);
4340 end Set_Parameter_Type;
4342 procedure Set_Parent_Spec
4343 (N : Node_Id; Val : Node_Id) is
4345 pragma Assert (False
4346 or else NT (N).Nkind = N_Function_Instantiation
4347 or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4348 or else NT (N).Nkind = N_Generic_Package_Declaration
4349 or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4350 or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4351 or else NT (N).Nkind = N_Generic_Subprogram_Declaration
4352 or else NT (N).Nkind = N_Package_Declaration
4353 or else NT (N).Nkind = N_Package_Instantiation
4354 or else NT (N).Nkind = N_Package_Renaming_Declaration
4355 or else NT (N).Nkind = N_Procedure_Instantiation
4356 or else NT (N).Nkind = N_Subprogram_Declaration
4357 or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4358 Set_Node4 (N, Val); -- semantic field, no parent set
4359 end Set_Parent_Spec;
4361 procedure Set_Position
4362 (N : Node_Id; Val : Node_Id) is
4364 pragma Assert (False
4365 or else NT (N).Nkind = N_Component_Clause);
4366 Set_Node2_With_Parent (N, Val);
4369 procedure Set_Pragma_Argument_Associations
4370 (N : Node_Id; Val : List_Id) is
4372 pragma Assert (False
4373 or else NT (N).Nkind = N_Pragma);
4374 Set_List2_With_Parent (N, Val);
4375 end Set_Pragma_Argument_Associations;
4377 procedure Set_Pragmas_After
4378 (N : Node_Id; Val : List_Id) is
4380 pragma Assert (False
4381 or else NT (N).Nkind = N_Compilation_Unit_Aux
4382 or else NT (N).Nkind = N_Terminate_Alternative);
4383 Set_List5_With_Parent (N, Val);
4384 end Set_Pragmas_After;
4386 procedure Set_Pragmas_Before
4387 (N : Node_Id; Val : List_Id) is
4389 pragma Assert (False
4390 or else NT (N).Nkind = N_Accept_Alternative
4391 or else NT (N).Nkind = N_Delay_Alternative
4392 or else NT (N).Nkind = N_Entry_Call_Alternative
4393 or else NT (N).Nkind = N_Mod_Clause
4394 or else NT (N).Nkind = N_Terminate_Alternative
4395 or else NT (N).Nkind = N_Triggering_Alternative);
4396 Set_List4_With_Parent (N, Val);
4397 end Set_Pragmas_Before;
4399 procedure Set_Prefix
4400 (N : Node_Id; Val : Node_Id) is
4402 pragma Assert (False
4403 or else NT (N).Nkind = N_Attribute_Reference
4404 or else NT (N).Nkind = N_Expanded_Name
4405 or else NT (N).Nkind = N_Explicit_Dereference
4406 or else NT (N).Nkind = N_Indexed_Component
4407 or else NT (N).Nkind = N_Reference
4408 or else NT (N).Nkind = N_Selected_Component
4409 or else NT (N).Nkind = N_Slice);
4410 Set_Node3_With_Parent (N, Val);
4413 procedure Set_Present_Expr
4414 (N : Node_Id; Val : Uint) is
4416 pragma Assert (False
4417 or else NT (N).Nkind = N_Variant);
4419 end Set_Present_Expr;
4421 procedure Set_Prev_Ids
4422 (N : Node_Id; Val : Boolean := True) is
4424 pragma Assert (False
4425 or else NT (N).Nkind = N_Component_Declaration
4426 or else NT (N).Nkind = N_Discriminant_Specification
4427 or else NT (N).Nkind = N_Exception_Declaration
4428 or else NT (N).Nkind = N_Formal_Object_Declaration
4429 or else NT (N).Nkind = N_Number_Declaration
4430 or else NT (N).Nkind = N_Object_Declaration
4431 or else NT (N).Nkind = N_Parameter_Specification);
4435 procedure Set_Print_In_Hex
4436 (N : Node_Id; Val : Boolean := True) is
4438 pragma Assert (False
4439 or else NT (N).Nkind = N_Integer_Literal);
4440 Set_Flag13 (N, Val);
4441 end Set_Print_In_Hex;
4443 procedure Set_Private_Declarations
4444 (N : Node_Id; Val : List_Id) is
4446 pragma Assert (False
4447 or else NT (N).Nkind = N_Package_Specification
4448 or else NT (N).Nkind = N_Protected_Definition
4449 or else NT (N).Nkind = N_Task_Definition);
4450 Set_List3_With_Parent (N, Val);
4451 end Set_Private_Declarations;
4453 procedure Set_Private_Present
4454 (N : Node_Id; Val : Boolean := True) is
4456 pragma Assert (False
4457 or else NT (N).Nkind = N_Compilation_Unit
4458 or else NT (N).Nkind = N_Formal_Derived_Type_Definition);
4459 Set_Flag15 (N, Val);
4460 end Set_Private_Present;
4462 procedure Set_Procedure_To_Call
4463 (N : Node_Id; Val : Node_Id) is
4465 pragma Assert (False
4466 or else NT (N).Nkind = N_Allocator
4467 or else NT (N).Nkind = N_Free_Statement
4468 or else NT (N).Nkind = N_Return_Statement);
4469 Set_Node4 (N, Val); -- semantic field, no parent set
4470 end Set_Procedure_To_Call;
4472 procedure Set_Proper_Body
4473 (N : Node_Id; Val : Node_Id) is
4475 pragma Assert (False
4476 or else NT (N).Nkind = N_Subunit);
4477 Set_Node1_With_Parent (N, Val);
4478 end Set_Proper_Body;
4480 procedure Set_Protected_Definition
4481 (N : Node_Id; Val : Node_Id) is
4483 pragma Assert (False
4484 or else NT (N).Nkind = N_Protected_Type_Declaration
4485 or else NT (N).Nkind = N_Single_Protected_Declaration);
4486 Set_Node3_With_Parent (N, Val);
4487 end Set_Protected_Definition;
4489 procedure Set_Protected_Present
4490 (N : Node_Id; Val : Boolean := True) is
4492 pragma Assert (False
4493 or else NT (N).Nkind = N_Access_Function_Definition
4494 or else NT (N).Nkind = N_Access_Procedure_Definition);
4495 Set_Flag15 (N, Val);
4496 end Set_Protected_Present;
4498 procedure Set_Raises_Constraint_Error
4499 (N : Node_Id; Val : Boolean := True) is
4501 pragma Assert (False
4502 or else NT (N).Nkind in N_Subexpr);
4504 end Set_Raises_Constraint_Error;
4506 procedure Set_Range_Constraint
4507 (N : Node_Id; Val : Node_Id) is
4509 pragma Assert (False
4510 or else NT (N).Nkind = N_Delta_Constraint
4511 or else NT (N).Nkind = N_Digits_Constraint);
4512 Set_Node4_With_Parent (N, Val);
4513 end Set_Range_Constraint;
4515 procedure Set_Range_Expression
4516 (N : Node_Id; Val : Node_Id) is
4518 pragma Assert (False
4519 or else NT (N).Nkind = N_Range_Constraint);
4520 Set_Node4_With_Parent (N, Val);
4521 end Set_Range_Expression;
4523 procedure Set_Real_Range_Specification
4524 (N : Node_Id; Val : Node_Id) is
4526 pragma Assert (False
4527 or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
4528 or else NT (N).Nkind = N_Floating_Point_Definition
4529 or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
4530 Set_Node4_With_Parent (N, Val);
4531 end Set_Real_Range_Specification;
4533 procedure Set_Realval
4534 (N : Node_Id; Val : Ureal) is
4536 pragma Assert (False
4537 or else NT (N).Nkind = N_Real_Literal);
4538 Set_Ureal3 (N, Val);
4541 procedure Set_Reason
4542 (N : Node_Id; Val : Uint) is
4544 pragma Assert (False
4545 or else NT (N).Nkind = N_Raise_Constraint_Error
4546 or else NT (N).Nkind = N_Raise_Program_Error
4547 or else NT (N).Nkind = N_Raise_Storage_Error);
4551 procedure Set_Record_Extension_Part
4552 (N : Node_Id; Val : Node_Id) is
4554 pragma Assert (False
4555 or else NT (N).Nkind = N_Derived_Type_Definition);
4556 Set_Node3_With_Parent (N, Val);
4557 end Set_Record_Extension_Part;
4559 procedure Set_Redundant_Use
4560 (N : Node_Id; Val : Boolean := True) is
4562 pragma Assert (False
4563 or else NT (N).Nkind = N_Attribute_Reference
4564 or else NT (N).Nkind = N_Expanded_Name
4565 or else NT (N).Nkind = N_Identifier);
4566 Set_Flag13 (N, Val);
4567 end Set_Redundant_Use;
4569 procedure Set_Return_Type
4570 (N : Node_Id; Val : Node_Id) is
4572 pragma Assert (False
4573 or else NT (N).Nkind = N_Return_Statement);
4574 Set_Node2 (N, Val); -- semantic field, no parent set
4575 end Set_Return_Type;
4577 procedure Set_Reverse_Present
4578 (N : Node_Id; Val : Boolean := True) is
4580 pragma Assert (False
4581 or else NT (N).Nkind = N_Loop_Parameter_Specification);
4582 Set_Flag15 (N, Val);
4583 end Set_Reverse_Present;
4585 procedure Set_Right_Opnd
4586 (N : Node_Id; Val : Node_Id) is
4588 pragma Assert (False
4589 or else NT (N).Nkind in N_Op
4590 or else NT (N).Nkind = N_And_Then
4591 or else NT (N).Nkind = N_In
4592 or else NT (N).Nkind = N_Not_In
4593 or else NT (N).Nkind = N_Or_Else);
4594 Set_Node3_With_Parent (N, Val);
4597 procedure Set_Rounded_Result
4598 (N : Node_Id; Val : Boolean := True) is
4600 pragma Assert (False
4601 or else NT (N).Nkind = N_Op_Divide
4602 or else NT (N).Nkind = N_Op_Multiply
4603 or else NT (N).Nkind = N_Type_Conversion);
4604 Set_Flag18 (N, Val);
4605 end Set_Rounded_Result;
4608 (N : Node_Id; Val : Node_Id) is
4610 pragma Assert (False
4611 or else NT (N).Nkind = N_Defining_Character_Literal
4612 or else NT (N).Nkind = N_Defining_Identifier
4613 or else NT (N).Nkind = N_Defining_Operator_Symbol);
4614 Set_Node3 (N, Val); -- semantic field, no parent set
4617 procedure Set_Select_Alternatives
4618 (N : Node_Id; Val : List_Id) is
4620 pragma Assert (False
4621 or else NT (N).Nkind = N_Selective_Accept);
4622 Set_List1_With_Parent (N, Val);
4623 end Set_Select_Alternatives;
4625 procedure Set_Selector_Name
4626 (N : Node_Id; Val : Node_Id) is
4628 pragma Assert (False
4629 or else NT (N).Nkind = N_Expanded_Name
4630 or else NT (N).Nkind = N_Generic_Association
4631 or else NT (N).Nkind = N_Parameter_Association
4632 or else NT (N).Nkind = N_Selected_Component);
4633 Set_Node2_With_Parent (N, Val);
4634 end Set_Selector_Name;
4636 procedure Set_Selector_Names
4637 (N : Node_Id; Val : List_Id) is
4639 pragma Assert (False
4640 or else NT (N).Nkind = N_Discriminant_Association);
4641 Set_List1_With_Parent (N, Val);
4642 end Set_Selector_Names;
4644 procedure Set_Shift_Count_OK
4645 (N : Node_Id; Val : Boolean := True) is
4647 pragma Assert (False
4648 or else NT (N).Nkind = N_Op_Rotate_Left
4649 or else NT (N).Nkind = N_Op_Rotate_Right
4650 or else NT (N).Nkind = N_Op_Shift_Left
4651 or else NT (N).Nkind = N_Op_Shift_Right
4652 or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
4654 end Set_Shift_Count_OK;
4656 procedure Set_Source_Type
4657 (N : Node_Id; Val : Entity_Id) is
4659 pragma Assert (False
4660 or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
4661 Set_Node1 (N, Val); -- semantic field, no parent set
4662 end Set_Source_Type;
4664 procedure Set_Specification
4665 (N : Node_Id; Val : Node_Id) is
4667 pragma Assert (False
4668 or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
4669 or else NT (N).Nkind = N_Formal_Subprogram_Declaration
4670 or else NT (N).Nkind = N_Generic_Package_Declaration
4671 or else NT (N).Nkind = N_Generic_Subprogram_Declaration
4672 or else NT (N).Nkind = N_Package_Declaration
4673 or else NT (N).Nkind = N_Subprogram_Body
4674 or else NT (N).Nkind = N_Subprogram_Body_Stub
4675 or else NT (N).Nkind = N_Subprogram_Declaration
4676 or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4677 Set_Node1_With_Parent (N, Val);
4678 end Set_Specification;
4680 procedure Set_Statements
4681 (N : Node_Id; Val : List_Id) is
4683 pragma Assert (False
4684 or else NT (N).Nkind = N_Abortable_Part
4685 or else NT (N).Nkind = N_Accept_Alternative
4686 or else NT (N).Nkind = N_Case_Statement_Alternative
4687 or else NT (N).Nkind = N_Delay_Alternative
4688 or else NT (N).Nkind = N_Entry_Call_Alternative
4689 or else NT (N).Nkind = N_Exception_Handler
4690 or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
4691 or else NT (N).Nkind = N_Loop_Statement
4692 or else NT (N).Nkind = N_Triggering_Alternative);
4693 Set_List3_With_Parent (N, Val);
4696 procedure Set_Static_Processing_OK
4697 (N : Node_Id; Val : Boolean) is
4699 pragma Assert (False
4700 or else NT (N).Nkind = N_Aggregate);
4702 end Set_Static_Processing_OK;
4704 procedure Set_Storage_Pool
4705 (N : Node_Id; Val : Node_Id) is
4707 pragma Assert (False
4708 or else NT (N).Nkind = N_Allocator
4709 or else NT (N).Nkind = N_Free_Statement
4710 or else NT (N).Nkind = N_Return_Statement);
4711 Set_Node1 (N, Val); -- semantic field, no parent set
4712 end Set_Storage_Pool;
4714 procedure Set_Strval
4715 (N : Node_Id; Val : String_Id) is
4717 pragma Assert (False
4718 or else NT (N).Nkind = N_Operator_Symbol
4719 or else NT (N).Nkind = N_String_Literal);
4723 procedure Set_Subtype_Indication
4724 (N : Node_Id; Val : Node_Id) is
4726 pragma Assert (False
4727 or else NT (N).Nkind = N_Access_To_Object_Definition
4728 or else NT (N).Nkind = N_Component_Declaration
4729 or else NT (N).Nkind = N_Constrained_Array_Definition
4730 or else NT (N).Nkind = N_Derived_Type_Definition
4731 or else NT (N).Nkind = N_Private_Extension_Declaration
4732 or else NT (N).Nkind = N_Subtype_Declaration
4733 or else NT (N).Nkind = N_Unconstrained_Array_Definition);
4734 Set_Node5_With_Parent (N, Val);
4735 end Set_Subtype_Indication;
4737 procedure Set_Subtype_Mark
4738 (N : Node_Id; Val : Node_Id) is
4740 pragma Assert (False
4741 or else NT (N).Nkind = N_Access_Definition
4742 or else NT (N).Nkind = N_Access_Function_Definition
4743 or else NT (N).Nkind = N_Formal_Derived_Type_Definition
4744 or else NT (N).Nkind = N_Formal_Object_Declaration
4745 or else NT (N).Nkind = N_Function_Specification
4746 or else NT (N).Nkind = N_Object_Renaming_Declaration
4747 or else NT (N).Nkind = N_Qualified_Expression
4748 or else NT (N).Nkind = N_Subtype_Indication
4749 or else NT (N).Nkind = N_Type_Conversion
4750 or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4751 Set_Node4_With_Parent (N, Val);
4752 end Set_Subtype_Mark;
4754 procedure Set_Subtype_Marks
4755 (N : Node_Id; Val : List_Id) is
4757 pragma Assert (False
4758 or else NT (N).Nkind = N_Unconstrained_Array_Definition
4759 or else NT (N).Nkind = N_Use_Type_Clause);
4760 Set_List2_With_Parent (N, Val);
4761 end Set_Subtype_Marks;
4763 procedure Set_Tagged_Present
4764 (N : Node_Id; Val : Boolean := True) is
4766 pragma Assert (False
4767 or else NT (N).Nkind = N_Formal_Private_Type_Definition
4768 or else NT (N).Nkind = N_Private_Type_Declaration
4769 or else NT (N).Nkind = N_Record_Definition
4770 or else NT (N).Nkind = N_With_Type_Clause);
4771 Set_Flag15 (N, Val);
4772 end Set_Tagged_Present;
4774 procedure Set_Target_Type
4775 (N : Node_Id; Val : Entity_Id) is
4777 pragma Assert (False
4778 or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
4779 Set_Node2 (N, Val); -- semantic field, no parent set
4780 end Set_Target_Type;
4782 procedure Set_Task_Body_Procedure
4783 (N : Node_Id; Val : Entity_Id) is
4785 pragma Assert (False
4786 or else NT (N).Nkind = N_Task_Type_Declaration);
4787 Set_Node2 (N, Val); -- semantic field, no parent set
4788 end Set_Task_Body_Procedure;
4790 procedure Set_Task_Definition
4791 (N : Node_Id; Val : Node_Id) is
4793 pragma Assert (False
4794 or else NT (N).Nkind = N_Single_Task_Declaration
4795 or else NT (N).Nkind = N_Task_Type_Declaration);
4796 Set_Node3_With_Parent (N, Val);
4797 end Set_Task_Definition;
4799 procedure Set_Then_Actions
4800 (N : Node_Id; Val : List_Id) is
4802 pragma Assert (False
4803 or else NT (N).Nkind = N_Conditional_Expression);
4804 Set_List2 (N, Val); -- semantic field, no parent set
4805 end Set_Then_Actions;
4807 procedure Set_Then_Statements
4808 (N : Node_Id; Val : List_Id) is
4810 pragma Assert (False
4811 or else NT (N).Nkind = N_Elsif_Part
4812 or else NT (N).Nkind = N_If_Statement);
4813 Set_List2_With_Parent (N, Val);
4814 end Set_Then_Statements;
4816 procedure Set_Treat_Fixed_As_Integer
4817 (N : Node_Id; Val : Boolean := True) is
4819 pragma Assert (False
4820 or else NT (N).Nkind = N_Op_Divide
4821 or else NT (N).Nkind = N_Op_Mod
4822 or else NT (N).Nkind = N_Op_Multiply
4823 or else NT (N).Nkind = N_Op_Rem);
4824 Set_Flag14 (N, Val);
4825 end Set_Treat_Fixed_As_Integer;
4827 procedure Set_Triggering_Alternative
4828 (N : Node_Id; Val : Node_Id) is
4830 pragma Assert (False
4831 or else NT (N).Nkind = N_Asynchronous_Select);
4832 Set_Node1_With_Parent (N, Val);
4833 end Set_Triggering_Alternative;
4835 procedure Set_Triggering_Statement
4836 (N : Node_Id; Val : Node_Id) is
4838 pragma Assert (False
4839 or else NT (N).Nkind = N_Triggering_Alternative);
4840 Set_Node1_With_Parent (N, Val);
4841 end Set_Triggering_Statement;
4843 procedure Set_TSS_Elist
4844 (N : Node_Id; Val : Elist_Id) is
4846 pragma Assert (False
4847 or else NT (N).Nkind = N_Freeze_Entity);
4848 Set_Elist3 (N, Val); -- semantic field, no parent set
4851 procedure Set_Type_Definition
4852 (N : Node_Id; Val : Node_Id) is
4854 pragma Assert (False
4855 or else NT (N).Nkind = N_Full_Type_Declaration);
4856 Set_Node3_With_Parent (N, Val);
4857 end Set_Type_Definition;
4860 (N : Node_Id; Val : Node_Id) is
4862 pragma Assert (False
4863 or else NT (N).Nkind = N_Compilation_Unit);
4864 Set_Node2_With_Parent (N, Val);
4867 procedure Set_Unknown_Discriminants_Present
4868 (N : Node_Id; Val : Boolean := True) is
4870 pragma Assert (False
4871 or else NT (N).Nkind = N_Formal_Type_Declaration
4872 or else NT (N).Nkind = N_Incomplete_Type_Declaration
4873 or else NT (N).Nkind = N_Private_Extension_Declaration
4874 or else NT (N).Nkind = N_Private_Type_Declaration);
4875 Set_Flag13 (N, Val);
4876 end Set_Unknown_Discriminants_Present;
4878 procedure Set_Unreferenced_In_Spec
4879 (N : Node_Id; Val : Boolean := True) is
4881 pragma Assert (False
4882 or else NT (N).Nkind = N_With_Clause);
4884 end Set_Unreferenced_In_Spec;
4886 procedure Set_Variant_Part
4887 (N : Node_Id; Val : Node_Id) is
4889 pragma Assert (False
4890 or else NT (N).Nkind = N_Component_List);
4891 Set_Node4_With_Parent (N, Val);
4892 end Set_Variant_Part;
4894 procedure Set_Variants
4895 (N : Node_Id; Val : List_Id) is
4897 pragma Assert (False
4898 or else NT (N).Nkind = N_Variant_Part);
4899 Set_List1_With_Parent (N, Val);
4902 procedure Set_Visible_Declarations
4903 (N : Node_Id; Val : List_Id) is
4905 pragma Assert (False
4906 or else NT (N).Nkind = N_Package_Specification
4907 or else NT (N).Nkind = N_Protected_Definition
4908 or else NT (N).Nkind = N_Task_Definition);
4909 Set_List2_With_Parent (N, Val);
4910 end Set_Visible_Declarations;
4912 procedure Set_Was_Originally_Stub
4913 (N : Node_Id; Val : Boolean := True) is
4915 pragma Assert (False
4916 or else NT (N).Nkind = N_Package_Body
4917 or else NT (N).Nkind = N_Protected_Body
4918 or else NT (N).Nkind = N_Subprogram_Body
4919 or else NT (N).Nkind = N_Task_Body);
4920 Set_Flag13 (N, Val);
4921 end Set_Was_Originally_Stub;
4923 procedure Set_Zero_Cost_Handling
4924 (N : Node_Id; Val : Boolean := True) is
4926 pragma Assert (False
4927 or else NT (N).Nkind = N_Exception_Handler
4928 or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
4930 end Set_Zero_Cost_Handling;
4932 -------------------------
4933 -- Iterator Procedures --
4934 -------------------------
4936 procedure Next_Entity (N : in out Node_Id) is
4938 N := Next_Entity (N);
4941 procedure Next_Named_Actual (N : in out Node_Id) is
4943 N := Next_Named_Actual (N);
4944 end Next_Named_Actual;
4946 procedure Next_Rep_Item (N : in out Node_Id) is
4948 N := Next_Rep_Item (N);
4951 procedure Next_Use_Clause (N : in out Node_Id) is
4953 N := Next_Use_Clause (N);
4954 end Next_Use_Clause;
4960 function End_Location (N : Node_Id) return Source_Ptr is
4961 L : constant Uint := End_Span (N);
4967 return Source_Ptr (Int (Sloc (N)) + UI_To_Int (L));
4971 ----------------------
4972 -- Set_End_Location --
4973 ----------------------
4975 procedure Set_End_Location (N : Node_Id; S : Source_Ptr) is
4978 UI_From_Int (Int (S) - Int (Sloc (N))));
4979 end Set_End_Location;