1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2004, 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_Definition
121 (N
: Node_Id
) return Node_Id
is
124 or else NT
(N
).Nkind
= N_Component_Definition
125 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
127 end Access_Definition
;
129 function Access_To_Subprogram_Definition
130 (N
: Node_Id
) return Node_Id
is
133 or else NT
(N
).Nkind
= N_Access_Definition
);
135 end Access_To_Subprogram_Definition
;
137 function Access_Types_To_Process
138 (N
: Node_Id
) return Elist_Id
is
141 or else NT
(N
).Nkind
= N_Freeze_Entity
);
143 end Access_Types_To_Process
;
146 (N
: Node_Id
) return List_Id
is
149 or else NT
(N
).Nkind
= N_And_Then
150 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
151 or else NT
(N
).Nkind
= N_Freeze_Entity
152 or else NT
(N
).Nkind
= N_Or_Else
);
156 function Activation_Chain_Entity
157 (N
: Node_Id
) return Node_Id
is
160 or else NT
(N
).Nkind
= N_Block_Statement
161 or else NT
(N
).Nkind
= N_Entry_Body
162 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
163 or else NT
(N
).Nkind
= N_Package_Declaration
164 or else NT
(N
).Nkind
= N_Subprogram_Body
165 or else NT
(N
).Nkind
= N_Task_Body
);
167 end Activation_Chain_Entity
;
169 function Acts_As_Spec
170 (N
: Node_Id
) return Boolean is
173 or else NT
(N
).Nkind
= N_Compilation_Unit
174 or else NT
(N
).Nkind
= N_Subprogram_Body
);
178 function Aggregate_Bounds
179 (N
: Node_Id
) return Node_Id
is
182 or else NT
(N
).Nkind
= N_Aggregate
);
184 end Aggregate_Bounds
;
186 function Aliased_Present
187 (N
: Node_Id
) return Boolean is
190 or else NT
(N
).Nkind
= N_Component_Definition
191 or else NT
(N
).Nkind
= N_Object_Declaration
);
196 (N
: Node_Id
) return Boolean is
199 or else NT
(N
).Nkind
= N_Others_Choice
);
204 (N
: Node_Id
) return Boolean is
207 or else NT
(N
).Nkind
= N_Access_Definition
208 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
212 function Alternatives
213 (N
: Node_Id
) return List_Id
is
216 or else NT
(N
).Nkind
= N_Case_Statement
);
220 function Ancestor_Part
221 (N
: Node_Id
) return Node_Id
is
224 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
228 function Array_Aggregate
229 (N
: Node_Id
) return Node_Id
is
232 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
236 function Assignment_OK
237 (N
: Node_Id
) return Boolean is
240 or else NT
(N
).Nkind
= N_Object_Declaration
241 or else NT
(N
).Nkind
in N_Subexpr
);
245 function Associated_Node
246 (N
: Node_Id
) return Node_Id
is
249 or else NT
(N
).Nkind
in N_Has_Entity
250 or else NT
(N
).Nkind
= N_Aggregate
251 or else NT
(N
).Nkind
= N_Extension_Aggregate
252 or else NT
(N
).Nkind
= N_Selected_Component
);
257 (N
: Node_Id
) return Node_Id
is
260 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
264 function Attribute_Name
265 (N
: Node_Id
) return Name_Id
is
268 or else NT
(N
).Nkind
= N_Attribute_Reference
);
272 function Aux_Decls_Node
273 (N
: Node_Id
) return Node_Id
is
276 or else NT
(N
).Nkind
= N_Compilation_Unit
);
280 function Backwards_OK
281 (N
: Node_Id
) return Boolean is
284 or else NT
(N
).Nkind
= N_Assignment_Statement
);
288 function Bad_Is_Detected
289 (N
: Node_Id
) return Boolean is
292 or else NT
(N
).Nkind
= N_Subprogram_Body
);
296 function Body_Required
297 (N
: Node_Id
) return Boolean is
300 or else NT
(N
).Nkind
= N_Compilation_Unit
);
304 function Body_To_Inline
305 (N
: Node_Id
) return Node_Id
is
308 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
313 (N
: Node_Id
) return Boolean is
316 or else NT
(N
).Nkind
= N_Component_Association
317 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
318 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
);
323 (N
: Node_Id
) return Boolean is
326 or else NT
(N
).Nkind
= N_Return_Statement
);
330 function Char_Literal_Value
331 (N
: Node_Id
) return Char_Code
is
334 or else NT
(N
).Nkind
= N_Character_Literal
);
335 return Char_Code2
(N
);
336 end Char_Literal_Value
;
339 (N
: Node_Id
) return Name_Id
is
342 or else NT
(N
).Nkind
in N_Has_Chars
);
346 function Check_Address_Alignment
347 (N
: Node_Id
) return Boolean is
350 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
352 end Check_Address_Alignment
;
354 function Choice_Parameter
355 (N
: Node_Id
) return Node_Id
is
358 or else NT
(N
).Nkind
= N_Exception_Handler
);
360 end Choice_Parameter
;
363 (N
: Node_Id
) return List_Id
is
366 or else NT
(N
).Nkind
= N_Component_Association
);
370 function Compile_Time_Known_Aggregate
371 (N
: Node_Id
) return Boolean is
374 or else NT
(N
).Nkind
= N_Aggregate
);
376 end Compile_Time_Known_Aggregate
;
378 function Component_Associations
379 (N
: Node_Id
) return List_Id
is
382 or else NT
(N
).Nkind
= N_Aggregate
383 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
385 end Component_Associations
;
387 function Component_Clauses
388 (N
: Node_Id
) return List_Id
is
391 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
393 end Component_Clauses
;
395 function Component_Definition
396 (N
: Node_Id
) return Node_Id
is
399 or else NT
(N
).Nkind
= N_Component_Declaration
400 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
401 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
403 end Component_Definition
;
405 function Component_Items
406 (N
: Node_Id
) return List_Id
is
409 or else NT
(N
).Nkind
= N_Component_List
);
413 function Component_List
414 (N
: Node_Id
) return Node_Id
is
417 or else NT
(N
).Nkind
= N_Record_Definition
418 or else NT
(N
).Nkind
= N_Variant
);
422 function Component_Name
423 (N
: Node_Id
) return Node_Id
is
426 or else NT
(N
).Nkind
= N_Component_Clause
);
431 (N
: Node_Id
) return Node_Id
is
434 or else NT
(N
).Nkind
= N_Accept_Alternative
435 or else NT
(N
).Nkind
= N_Delay_Alternative
436 or else NT
(N
).Nkind
= N_Elsif_Part
437 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
438 or else NT
(N
).Nkind
= N_Exit_Statement
439 or else NT
(N
).Nkind
= N_If_Statement
440 or else NT
(N
).Nkind
= N_Iteration_Scheme
441 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
442 or else NT
(N
).Nkind
= N_Raise_Program_Error
443 or else NT
(N
).Nkind
= N_Raise_Storage_Error
444 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
448 function Condition_Actions
449 (N
: Node_Id
) return List_Id
is
452 or else NT
(N
).Nkind
= N_Elsif_Part
453 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
455 end Condition_Actions
;
457 function Config_Pragmas
458 (N
: Node_Id
) return List_Id
is
461 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
465 function Constant_Present
466 (N
: Node_Id
) return Boolean is
469 or else NT
(N
).Nkind
= N_Access_Definition
470 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
471 or else NT
(N
).Nkind
= N_Object_Declaration
);
473 end Constant_Present
;
476 (N
: Node_Id
) return Node_Id
is
479 or else NT
(N
).Nkind
= N_Subtype_Indication
);
484 (N
: Node_Id
) return List_Id
is
487 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
491 function Context_Installed
492 (N
: Node_Id
) return Boolean is
495 or else NT
(N
).Nkind
= N_With_Clause
);
497 end Context_Installed
;
499 function Context_Items
500 (N
: Node_Id
) return List_Id
is
503 or else NT
(N
).Nkind
= N_Compilation_Unit
);
507 function Controlling_Argument
508 (N
: Node_Id
) return Node_Id
is
511 or else NT
(N
).Nkind
= N_Function_Call
512 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
514 end Controlling_Argument
;
516 function Conversion_OK
517 (N
: Node_Id
) return Boolean is
520 or else NT
(N
).Nkind
= N_Type_Conversion
);
524 function Corresponding_Body
525 (N
: Node_Id
) return Node_Id
is
528 or else NT
(N
).Nkind
= N_Entry_Declaration
529 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
530 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
531 or else NT
(N
).Nkind
= N_Package_Body_Stub
532 or else NT
(N
).Nkind
= N_Package_Declaration
533 or else NT
(N
).Nkind
= N_Protected_Body_Stub
534 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
535 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
536 or else NT
(N
).Nkind
= N_Subprogram_Declaration
537 or else NT
(N
).Nkind
= N_Task_Body_Stub
538 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
540 end Corresponding_Body
;
542 function Corresponding_Generic_Association
543 (N
: Node_Id
) return Node_Id
is
546 or else NT
(N
).Nkind
= N_Object_Declaration
547 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
549 end Corresponding_Generic_Association
;
551 function Corresponding_Integer_Value
552 (N
: Node_Id
) return Uint
is
555 or else NT
(N
).Nkind
= N_Real_Literal
);
557 end Corresponding_Integer_Value
;
559 function Corresponding_Spec
560 (N
: Node_Id
) return Node_Id
is
563 or else NT
(N
).Nkind
= N_Package_Body
564 or else NT
(N
).Nkind
= N_Protected_Body
565 or else NT
(N
).Nkind
= N_Subprogram_Body
566 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
567 or else NT
(N
).Nkind
= N_Task_Body
568 or else NT
(N
).Nkind
= N_With_Clause
);
570 end Corresponding_Spec
;
572 function Corresponding_Stub
573 (N
: Node_Id
) return Node_Id
is
576 or else NT
(N
).Nkind
= N_Subunit
);
578 end Corresponding_Stub
;
580 function Dcheck_Function
581 (N
: Node_Id
) return Entity_Id
is
584 or else NT
(N
).Nkind
= N_Variant
);
588 function Debug_Statement
589 (N
: Node_Id
) return Node_Id
is
592 or else NT
(N
).Nkind
= N_Pragma
);
596 function Declarations
597 (N
: Node_Id
) return List_Id
is
600 or else NT
(N
).Nkind
= N_Accept_Statement
601 or else NT
(N
).Nkind
= N_Block_Statement
602 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
603 or else NT
(N
).Nkind
= N_Entry_Body
604 or else NT
(N
).Nkind
= N_Package_Body
605 or else NT
(N
).Nkind
= N_Protected_Body
606 or else NT
(N
).Nkind
= N_Subprogram_Body
607 or else NT
(N
).Nkind
= N_Task_Body
);
611 function Default_Expression
612 (N
: Node_Id
) return Node_Id
is
615 or else NT
(N
).Nkind
= N_Parameter_Specification
);
617 end Default_Expression
;
619 function Default_Name
620 (N
: Node_Id
) return Node_Id
is
623 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
);
627 function Defining_Identifier
628 (N
: Node_Id
) return Entity_Id
is
631 or else NT
(N
).Nkind
= N_Component_Declaration
632 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
633 or else NT
(N
).Nkind
= N_Discriminant_Specification
634 or else NT
(N
).Nkind
= N_Entry_Body
635 or else NT
(N
).Nkind
= N_Entry_Declaration
636 or else NT
(N
).Nkind
= N_Entry_Index_Specification
637 or else NT
(N
).Nkind
= N_Exception_Declaration
638 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
639 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
640 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
641 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
642 or else NT
(N
).Nkind
= N_Full_Type_Declaration
643 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
644 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
645 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
646 or else NT
(N
).Nkind
= N_Number_Declaration
647 or else NT
(N
).Nkind
= N_Object_Declaration
648 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
649 or else NT
(N
).Nkind
= N_Package_Body_Stub
650 or else NT
(N
).Nkind
= N_Parameter_Specification
651 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
652 or else NT
(N
).Nkind
= N_Private_Type_Declaration
653 or else NT
(N
).Nkind
= N_Protected_Body
654 or else NT
(N
).Nkind
= N_Protected_Body_Stub
655 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
656 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
657 or else NT
(N
).Nkind
= N_Single_Task_Declaration
658 or else NT
(N
).Nkind
= N_Subtype_Declaration
659 or else NT
(N
).Nkind
= N_Task_Body
660 or else NT
(N
).Nkind
= N_Task_Body_Stub
661 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
663 end Defining_Identifier
;
665 function Defining_Unit_Name
666 (N
: Node_Id
) return Node_Id
is
669 or else NT
(N
).Nkind
= N_Function_Instantiation
670 or else NT
(N
).Nkind
= N_Function_Specification
671 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
672 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
673 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
674 or else NT
(N
).Nkind
= N_Package_Body
675 or else NT
(N
).Nkind
= N_Package_Instantiation
676 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
677 or else NT
(N
).Nkind
= N_Package_Specification
678 or else NT
(N
).Nkind
= N_Procedure_Instantiation
679 or else NT
(N
).Nkind
= N_Procedure_Specification
);
681 end Defining_Unit_Name
;
683 function Delay_Alternative
684 (N
: Node_Id
) return Node_Id
is
687 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
689 end Delay_Alternative
;
691 function Delay_Finalize_Attach
692 (N
: Node_Id
) return Boolean is
695 or else NT
(N
).Nkind
= N_Object_Declaration
);
697 end Delay_Finalize_Attach
;
699 function Delay_Statement
700 (N
: Node_Id
) return Node_Id
is
703 or else NT
(N
).Nkind
= N_Delay_Alternative
);
707 function Delta_Expression
708 (N
: Node_Id
) return Node_Id
is
711 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
712 or else NT
(N
).Nkind
= N_Delta_Constraint
713 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
715 end Delta_Expression
;
717 function Digits_Expression
718 (N
: Node_Id
) return Node_Id
is
721 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
722 or else NT
(N
).Nkind
= N_Digits_Constraint
723 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
725 end Digits_Expression
;
727 function Discr_Check_Funcs_Built
728 (N
: Node_Id
) return Boolean is
731 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
733 end Discr_Check_Funcs_Built
;
735 function Discrete_Choices
736 (N
: Node_Id
) return List_Id
is
739 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
740 or else NT
(N
).Nkind
= N_Variant
);
742 end Discrete_Choices
;
744 function Discrete_Range
745 (N
: Node_Id
) return Node_Id
is
748 or else NT
(N
).Nkind
= N_Slice
);
752 function Discrete_Subtype_Definition
753 (N
: Node_Id
) return Node_Id
is
756 or else NT
(N
).Nkind
= N_Entry_Declaration
757 or else NT
(N
).Nkind
= N_Entry_Index_Specification
758 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
760 end Discrete_Subtype_Definition
;
762 function Discrete_Subtype_Definitions
763 (N
: Node_Id
) return List_Id
is
766 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
768 end Discrete_Subtype_Definitions
;
770 function Discriminant_Specifications
771 (N
: Node_Id
) return List_Id
is
774 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
775 or else NT
(N
).Nkind
= N_Full_Type_Declaration
776 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
777 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
778 or else NT
(N
).Nkind
= N_Private_Type_Declaration
779 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
780 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
782 end Discriminant_Specifications
;
784 function Discriminant_Type
785 (N
: Node_Id
) return Node_Id
is
788 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
790 end Discriminant_Type
;
792 function Do_Accessibility_Check
793 (N
: Node_Id
) return Boolean is
796 or else NT
(N
).Nkind
= N_Parameter_Specification
);
798 end Do_Accessibility_Check
;
800 function Do_Discriminant_Check
801 (N
: Node_Id
) return Boolean is
804 or else NT
(N
).Nkind
= N_Selected_Component
);
806 end Do_Discriminant_Check
;
808 function Do_Division_Check
809 (N
: Node_Id
) return Boolean is
812 or else NT
(N
).Nkind
= N_Op_Divide
813 or else NT
(N
).Nkind
= N_Op_Mod
814 or else NT
(N
).Nkind
= N_Op_Rem
);
816 end Do_Division_Check
;
818 function Do_Length_Check
819 (N
: Node_Id
) return Boolean is
822 or else NT
(N
).Nkind
= N_Assignment_Statement
823 or else NT
(N
).Nkind
= N_Op_And
824 or else NT
(N
).Nkind
= N_Op_Or
825 or else NT
(N
).Nkind
= N_Op_Xor
826 or else NT
(N
).Nkind
= N_Type_Conversion
);
830 function Do_Overflow_Check
831 (N
: Node_Id
) return Boolean is
834 or else NT
(N
).Nkind
in N_Op
835 or else NT
(N
).Nkind
= N_Attribute_Reference
836 or else NT
(N
).Nkind
= N_Type_Conversion
);
838 end Do_Overflow_Check
;
840 function Do_Range_Check
841 (N
: Node_Id
) return Boolean is
844 or else NT
(N
).Nkind
in N_Subexpr
);
848 function Do_Storage_Check
849 (N
: Node_Id
) return Boolean is
852 or else NT
(N
).Nkind
= N_Allocator
853 or else NT
(N
).Nkind
= N_Subprogram_Body
);
855 end Do_Storage_Check
;
857 function Do_Tag_Check
858 (N
: Node_Id
) return Boolean is
861 or else NT
(N
).Nkind
= N_Assignment_Statement
862 or else NT
(N
).Nkind
= N_Function_Call
863 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
864 or else NT
(N
).Nkind
= N_Return_Statement
865 or else NT
(N
).Nkind
= N_Type_Conversion
);
869 function Elaborate_All_Present
870 (N
: Node_Id
) return Boolean is
873 or else NT
(N
).Nkind
= N_With_Clause
);
875 end Elaborate_All_Present
;
877 function Elaborate_Present
878 (N
: Node_Id
) return Boolean is
881 or else NT
(N
).Nkind
= N_With_Clause
);
883 end Elaborate_Present
;
885 function Elaboration_Boolean
886 (N
: Node_Id
) return Node_Id
is
889 or else NT
(N
).Nkind
= N_Function_Specification
890 or else NT
(N
).Nkind
= N_Procedure_Specification
);
892 end Elaboration_Boolean
;
894 function Else_Actions
895 (N
: Node_Id
) return List_Id
is
898 or else NT
(N
).Nkind
= N_Conditional_Expression
);
902 function Else_Statements
903 (N
: Node_Id
) return List_Id
is
906 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
907 or else NT
(N
).Nkind
= N_If_Statement
908 or else NT
(N
).Nkind
= N_Selective_Accept
);
913 (N
: Node_Id
) return List_Id
is
916 or else NT
(N
).Nkind
= N_If_Statement
);
920 function Enclosing_Variant
921 (N
: Node_Id
) return Node_Id
is
924 or else NT
(N
).Nkind
= N_Variant
);
926 end Enclosing_Variant
;
929 (N
: Node_Id
) return Node_Id
is
932 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
933 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
934 or else NT
(N
).Nkind
= N_Loop_Statement
935 or else NT
(N
).Nkind
= N_Package_Specification
936 or else NT
(N
).Nkind
= N_Protected_Body
937 or else NT
(N
).Nkind
= N_Protected_Definition
938 or else NT
(N
).Nkind
= N_Record_Definition
939 or else NT
(N
).Nkind
= N_Task_Definition
);
944 (N
: Node_Id
) return Uint
is
947 or else NT
(N
).Nkind
= N_Case_Statement
948 or else NT
(N
).Nkind
= N_If_Statement
);
953 (N
: Node_Id
) return Node_Id
is
956 or else NT
(N
).Nkind
in N_Has_Entity
957 or else NT
(N
).Nkind
= N_Freeze_Entity
);
961 function Entity_Or_Associated_Node
962 (N
: Node_Id
) return Node_Id
is
965 or else NT
(N
).Nkind
in N_Has_Entity
966 or else NT
(N
).Nkind
= N_Freeze_Entity
);
968 end Entity_Or_Associated_Node
;
970 function Entry_Body_Formal_Part
971 (N
: Node_Id
) return Node_Id
is
974 or else NT
(N
).Nkind
= N_Entry_Body
);
976 end Entry_Body_Formal_Part
;
978 function Entry_Call_Alternative
979 (N
: Node_Id
) return Node_Id
is
982 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
983 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
985 end Entry_Call_Alternative
;
987 function Entry_Call_Statement
988 (N
: Node_Id
) return Node_Id
is
991 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
993 end Entry_Call_Statement
;
995 function Entry_Direct_Name
996 (N
: Node_Id
) return Node_Id
is
999 or else NT
(N
).Nkind
= N_Accept_Statement
);
1001 end Entry_Direct_Name
;
1003 function Entry_Index
1004 (N
: Node_Id
) return Node_Id
is
1006 pragma Assert
(False
1007 or else NT
(N
).Nkind
= N_Accept_Statement
);
1011 function Entry_Index_Specification
1012 (N
: Node_Id
) return Node_Id
is
1014 pragma Assert
(False
1015 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
1017 end Entry_Index_Specification
;
1020 (N
: Node_Id
) return Node_Id
is
1022 pragma Assert
(False
1023 or else NT
(N
).Nkind
in N_Has_Etype
);
1027 function Exception_Choices
1028 (N
: Node_Id
) return List_Id
is
1030 pragma Assert
(False
1031 or else NT
(N
).Nkind
= N_Exception_Handler
);
1033 end Exception_Choices
;
1035 function Exception_Handlers
1036 (N
: Node_Id
) return List_Id
is
1038 pragma Assert
(False
1039 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1041 end Exception_Handlers
;
1043 function Exception_Junk
1044 (N
: Node_Id
) return Boolean is
1046 pragma Assert
(False
1047 or else NT
(N
).Nkind
= N_Goto_Statement
1048 or else NT
(N
).Nkind
= N_Label
1049 or else NT
(N
).Nkind
= N_Object_Declaration
1050 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1054 function Expansion_Delayed
1055 (N
: Node_Id
) return Boolean is
1057 pragma Assert
(False
1058 or else NT
(N
).Nkind
= N_Aggregate
1059 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1061 end Expansion_Delayed
;
1063 function Explicit_Actual_Parameter
1064 (N
: Node_Id
) return Node_Id
is
1066 pragma Assert
(False
1067 or else NT
(N
).Nkind
= N_Parameter_Association
);
1069 end Explicit_Actual_Parameter
;
1071 function Explicit_Generic_Actual_Parameter
1072 (N
: Node_Id
) return Node_Id
is
1074 pragma Assert
(False
1075 or else NT
(N
).Nkind
= N_Generic_Association
);
1077 end Explicit_Generic_Actual_Parameter
;
1080 (N
: Node_Id
) return Node_Id
is
1082 pragma Assert
(False
1083 or else NT
(N
).Nkind
= N_Allocator
1084 or else NT
(N
).Nkind
= N_Assignment_Statement
1085 or else NT
(N
).Nkind
= N_At_Clause
1086 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1087 or else NT
(N
).Nkind
= N_Case_Statement
1088 or else NT
(N
).Nkind
= N_Code_Statement
1089 or else NT
(N
).Nkind
= N_Component_Association
1090 or else NT
(N
).Nkind
= N_Component_Declaration
1091 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
1092 or else NT
(N
).Nkind
= N_Delay_Until_Statement
1093 or else NT
(N
).Nkind
= N_Discriminant_Association
1094 or else NT
(N
).Nkind
= N_Discriminant_Specification
1095 or else NT
(N
).Nkind
= N_Exception_Declaration
1096 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1097 or else NT
(N
).Nkind
= N_Free_Statement
1098 or else NT
(N
).Nkind
= N_Mod_Clause
1099 or else NT
(N
).Nkind
= N_Modular_Type_Definition
1100 or else NT
(N
).Nkind
= N_Number_Declaration
1101 or else NT
(N
).Nkind
= N_Object_Declaration
1102 or else NT
(N
).Nkind
= N_Parameter_Specification
1103 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
1104 or else NT
(N
).Nkind
= N_Qualified_Expression
1105 or else NT
(N
).Nkind
= N_Return_Statement
1106 or else NT
(N
).Nkind
= N_Type_Conversion
1107 or else NT
(N
).Nkind
= N_Unchecked_Expression
1108 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1112 function Expressions
1113 (N
: Node_Id
) return List_Id
is
1115 pragma Assert
(False
1116 or else NT
(N
).Nkind
= N_Aggregate
1117 or else NT
(N
).Nkind
= N_Attribute_Reference
1118 or else NT
(N
).Nkind
= N_Conditional_Expression
1119 or else NT
(N
).Nkind
= N_Extension_Aggregate
1120 or else NT
(N
).Nkind
= N_Indexed_Component
);
1125 (N
: Node_Id
) return Node_Id
is
1127 pragma Assert
(False
1128 or else NT
(N
).Nkind
= N_Component_Clause
);
1132 function First_Inlined_Subprogram
1133 (N
: Node_Id
) return Entity_Id
is
1135 pragma Assert
(False
1136 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1138 end First_Inlined_Subprogram
;
1141 (N
: Node_Id
) return Boolean is
1143 pragma Assert
(False
1144 or else NT
(N
).Nkind
= N_With_Clause
);
1148 function First_Named_Actual
1149 (N
: Node_Id
) return Node_Id
is
1151 pragma Assert
(False
1152 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1153 or else NT
(N
).Nkind
= N_Function_Call
1154 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1156 end First_Named_Actual
;
1158 function First_Real_Statement
1159 (N
: Node_Id
) return Node_Id
is
1161 pragma Assert
(False
1162 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1164 end First_Real_Statement
;
1166 function First_Subtype_Link
1167 (N
: Node_Id
) return Entity_Id
is
1169 pragma Assert
(False
1170 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1172 end First_Subtype_Link
;
1174 function Float_Truncate
1175 (N
: Node_Id
) return Boolean is
1177 pragma Assert
(False
1178 or else NT
(N
).Nkind
= N_Type_Conversion
);
1182 function Formal_Type_Definition
1183 (N
: Node_Id
) return Node_Id
is
1185 pragma Assert
(False
1186 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
1188 end Formal_Type_Definition
;
1190 function Forwards_OK
1191 (N
: Node_Id
) return Boolean is
1193 pragma Assert
(False
1194 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1198 function From_At_Mod
1199 (N
: Node_Id
) return Boolean is
1201 pragma Assert
(False
1202 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1206 function From_Default
1207 (N
: Node_Id
) return Boolean is
1209 pragma Assert
(False
1210 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
1214 function Generic_Associations
1215 (N
: Node_Id
) return List_Id
is
1217 pragma Assert
(False
1218 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1219 or else NT
(N
).Nkind
= N_Function_Instantiation
1220 or else NT
(N
).Nkind
= N_Package_Instantiation
1221 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1223 end Generic_Associations
;
1225 function Generic_Formal_Declarations
1226 (N
: Node_Id
) return List_Id
is
1228 pragma Assert
(False
1229 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1230 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
1232 end Generic_Formal_Declarations
;
1234 function Generic_Parent
1235 (N
: Node_Id
) return Node_Id
is
1237 pragma Assert
(False
1238 or else NT
(N
).Nkind
= N_Function_Specification
1239 or else NT
(N
).Nkind
= N_Package_Specification
1240 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1244 function Generic_Parent_Type
1245 (N
: Node_Id
) return Node_Id
is
1247 pragma Assert
(False
1248 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1250 end Generic_Parent_Type
;
1252 function Handled_Statement_Sequence
1253 (N
: Node_Id
) return Node_Id
is
1255 pragma Assert
(False
1256 or else NT
(N
).Nkind
= N_Accept_Statement
1257 or else NT
(N
).Nkind
= N_Block_Statement
1258 or else NT
(N
).Nkind
= N_Entry_Body
1259 or else NT
(N
).Nkind
= N_Package_Body
1260 or else NT
(N
).Nkind
= N_Subprogram_Body
1261 or else NT
(N
).Nkind
= N_Task_Body
);
1263 end Handled_Statement_Sequence
;
1265 function Handler_List_Entry
1266 (N
: Node_Id
) return Node_Id
is
1268 pragma Assert
(False
1269 or else NT
(N
).Nkind
= N_Object_Declaration
);
1271 end Handler_List_Entry
;
1273 function Has_Created_Identifier
1274 (N
: Node_Id
) return Boolean is
1276 pragma Assert
(False
1277 or else NT
(N
).Nkind
= N_Block_Statement
1278 or else NT
(N
).Nkind
= N_Loop_Statement
);
1280 end Has_Created_Identifier
;
1282 function Has_Dynamic_Length_Check
1283 (N
: Node_Id
) return Boolean is
1286 end Has_Dynamic_Length_Check
;
1288 function Has_Dynamic_Range_Check
1289 (N
: Node_Id
) return Boolean is
1292 end Has_Dynamic_Range_Check
;
1294 function Has_No_Elaboration_Code
1295 (N
: Node_Id
) return Boolean is
1297 pragma Assert
(False
1298 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1300 end Has_No_Elaboration_Code
;
1302 function Has_Priority_Pragma
1303 (N
: Node_Id
) return Boolean is
1305 pragma Assert
(False
1306 or else NT
(N
).Nkind
= N_Protected_Definition
1307 or else NT
(N
).Nkind
= N_Subprogram_Body
1308 or else NT
(N
).Nkind
= N_Task_Definition
);
1310 end Has_Priority_Pragma
;
1312 function Has_Private_View
1313 (N
: Node_Id
) return Boolean is
1315 pragma Assert
(False
1316 or else NT
(N
).Nkind
in N_Op
1317 or else NT
(N
).Nkind
= N_Character_Literal
1318 or else NT
(N
).Nkind
= N_Expanded_Name
1319 or else NT
(N
).Nkind
= N_Identifier
1320 or else NT
(N
).Nkind
= N_Operator_Symbol
);
1322 end Has_Private_View
;
1324 function Has_Storage_Size_Pragma
1325 (N
: Node_Id
) return Boolean is
1327 pragma Assert
(False
1328 or else NT
(N
).Nkind
= N_Task_Definition
);
1330 end Has_Storage_Size_Pragma
;
1332 function Has_Task_Info_Pragma
1333 (N
: Node_Id
) return Boolean is
1335 pragma Assert
(False
1336 or else NT
(N
).Nkind
= N_Task_Definition
);
1338 end Has_Task_Info_Pragma
;
1340 function Has_Task_Name_Pragma
1341 (N
: Node_Id
) return Boolean is
1343 pragma Assert
(False
1344 or else NT
(N
).Nkind
= N_Task_Definition
);
1346 end Has_Task_Name_Pragma
;
1348 function Has_Wide_Character
1349 (N
: Node_Id
) return Boolean is
1351 pragma Assert
(False
1352 or else NT
(N
).Nkind
= N_String_Literal
);
1354 end Has_Wide_Character
;
1356 function Hidden_By_Use_Clause
1357 (N
: Node_Id
) return Elist_Id
is
1359 pragma Assert
(False
1360 or else NT
(N
).Nkind
= N_Use_Package_Clause
1361 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1363 end Hidden_By_Use_Clause
;
1366 (N
: Node_Id
) return Node_Id
is
1368 pragma Assert
(False
1369 or else NT
(N
).Nkind
= N_Range
1370 or else NT
(N
).Nkind
= N_Real_Range_Specification
1371 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1376 (N
: Node_Id
) return Node_Id
is
1378 pragma Assert
(False
1379 or else NT
(N
).Nkind
= N_At_Clause
1380 or else NT
(N
).Nkind
= N_Block_Statement
1381 or else NT
(N
).Nkind
= N_Designator
1382 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1383 or else NT
(N
).Nkind
= N_Label
1384 or else NT
(N
).Nkind
= N_Loop_Statement
1385 or else NT
(N
).Nkind
= N_Record_Representation_Clause
1386 or else NT
(N
).Nkind
= N_Subprogram_Info
);
1390 function Implicit_With
1391 (N
: Node_Id
) return Boolean is
1393 pragma Assert
(False
1394 or else NT
(N
).Nkind
= N_With_Clause
);
1399 (N
: Node_Id
) return Boolean is
1401 pragma Assert
(False
1402 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1403 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1407 function Includes_Infinities
1408 (N
: Node_Id
) return Boolean is
1410 pragma Assert
(False
1411 or else NT
(N
).Nkind
= N_Range
);
1413 end Includes_Infinities
;
1415 function Instance_Spec
1416 (N
: Node_Id
) return Node_Id
is
1418 pragma Assert
(False
1419 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1420 or else NT
(N
).Nkind
= N_Function_Instantiation
1421 or else NT
(N
).Nkind
= N_Package_Instantiation
1422 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1427 (N
: Node_Id
) return Uint
is
1429 pragma Assert
(False
1430 or else NT
(N
).Nkind
= N_Integer_Literal
);
1434 function Is_Asynchronous_Call_Block
1435 (N
: Node_Id
) return Boolean is
1437 pragma Assert
(False
1438 or else NT
(N
).Nkind
= N_Block_Statement
);
1440 end Is_Asynchronous_Call_Block
;
1442 function Is_Component_Left_Opnd
1443 (N
: Node_Id
) return Boolean is
1445 pragma Assert
(False
1446 or else NT
(N
).Nkind
= N_Op_Concat
);
1448 end Is_Component_Left_Opnd
;
1450 function Is_Component_Right_Opnd
1451 (N
: Node_Id
) return Boolean is
1453 pragma Assert
(False
1454 or else NT
(N
).Nkind
= N_Op_Concat
);
1456 end Is_Component_Right_Opnd
;
1458 function Is_Controlling_Actual
1459 (N
: Node_Id
) return Boolean is
1461 pragma Assert
(False
1462 or else NT
(N
).Nkind
in N_Subexpr
);
1464 end Is_Controlling_Actual
;
1466 function Is_In_Discriminant_Check
1467 (N
: Node_Id
) return Boolean is
1469 pragma Assert
(False
1470 or else NT
(N
).Nkind
= N_Selected_Component
);
1472 end Is_In_Discriminant_Check
;
1474 function Is_Machine_Number
1475 (N
: Node_Id
) return Boolean is
1477 pragma Assert
(False
1478 or else NT
(N
).Nkind
= N_Real_Literal
);
1480 end Is_Machine_Number
;
1482 function Is_Null_Loop
1483 (N
: Node_Id
) return Boolean is
1485 pragma Assert
(False
1486 or else NT
(N
).Nkind
= N_Loop_Statement
);
1490 function Is_Overloaded
1491 (N
: Node_Id
) return Boolean is
1493 pragma Assert
(False
1494 or else NT
(N
).Nkind
in N_Subexpr
);
1498 function Is_Power_Of_2_For_Shift
1499 (N
: Node_Id
) return Boolean is
1501 pragma Assert
(False
1502 or else NT
(N
).Nkind
= N_Op_Expon
);
1504 end Is_Power_Of_2_For_Shift
;
1506 function Is_Protected_Subprogram_Body
1507 (N
: Node_Id
) return Boolean is
1509 pragma Assert
(False
1510 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1512 end Is_Protected_Subprogram_Body
;
1514 function Is_Static_Expression
1515 (N
: Node_Id
) return Boolean is
1517 pragma Assert
(False
1518 or else NT
(N
).Nkind
in N_Subexpr
);
1520 end Is_Static_Expression
;
1522 function Is_Subprogram_Descriptor
1523 (N
: Node_Id
) return Boolean is
1525 pragma Assert
(False
1526 or else NT
(N
).Nkind
= N_Object_Declaration
);
1528 end Is_Subprogram_Descriptor
;
1530 function Is_Task_Allocation_Block
1531 (N
: Node_Id
) return Boolean is
1533 pragma Assert
(False
1534 or else NT
(N
).Nkind
= N_Block_Statement
);
1536 end Is_Task_Allocation_Block
;
1538 function Is_Task_Master
1539 (N
: Node_Id
) return Boolean is
1541 pragma Assert
(False
1542 or else NT
(N
).Nkind
= N_Block_Statement
1543 or else NT
(N
).Nkind
= N_Subprogram_Body
1544 or else NT
(N
).Nkind
= N_Task_Body
);
1548 function Iteration_Scheme
1549 (N
: Node_Id
) return Node_Id
is
1551 pragma Assert
(False
1552 or else NT
(N
).Nkind
= N_Loop_Statement
);
1554 end Iteration_Scheme
;
1557 (N
: Node_Id
) return Node_Id
is
1559 pragma Assert
(False
1560 or else NT
(N
).Nkind
= N_Itype_Reference
);
1564 function Kill_Range_Check
1565 (N
: Node_Id
) return Boolean is
1567 pragma Assert
(False
1568 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1570 end Kill_Range_Check
;
1572 function Label_Construct
1573 (N
: Node_Id
) return Node_Id
is
1575 pragma Assert
(False
1576 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
1578 end Label_Construct
;
1581 (N
: Node_Id
) return Node_Id
is
1583 pragma Assert
(False
1584 or else NT
(N
).Nkind
= N_Component_Clause
);
1589 (N
: Node_Id
) return Boolean is
1591 pragma Assert
(False
1592 or else NT
(N
).Nkind
= N_With_Clause
);
1597 (N
: Node_Id
) return Node_Id
is
1599 pragma Assert
(False
1600 or else NT
(N
).Nkind
= N_And_Then
1601 or else NT
(N
).Nkind
= N_In
1602 or else NT
(N
).Nkind
= N_Not_In
1603 or else NT
(N
).Nkind
= N_Or_Else
1604 or else NT
(N
).Nkind
in N_Binary_Op
);
1608 function Library_Unit
1609 (N
: Node_Id
) return Node_Id
is
1611 pragma Assert
(False
1612 or else NT
(N
).Nkind
= N_Compilation_Unit
1613 or else NT
(N
).Nkind
= N_Package_Body_Stub
1614 or else NT
(N
).Nkind
= N_Protected_Body_Stub
1615 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
1616 or else NT
(N
).Nkind
= N_Task_Body_Stub
1617 or else NT
(N
).Nkind
= N_With_Clause
);
1621 function Limited_View_Installed
1622 (N
: Node_Id
) return Boolean is
1624 pragma Assert
(False
1625 or else NT
(N
).Nkind
= N_Package_Specification
1626 or else NT
(N
).Nkind
= N_With_Clause
);
1628 end Limited_View_Installed
;
1630 function Limited_Present
1631 (N
: Node_Id
) return Boolean is
1633 pragma Assert
(False
1634 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
1635 or else NT
(N
).Nkind
= N_Private_Type_Declaration
1636 or else NT
(N
).Nkind
= N_Record_Definition
1637 or else NT
(N
).Nkind
= N_With_Clause
);
1639 end Limited_Present
;
1642 (N
: Node_Id
) return List_Id
is
1644 pragma Assert
(False
1645 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
1649 function Loop_Actions
1650 (N
: Node_Id
) return List_Id
is
1652 pragma Assert
(False
1653 or else NT
(N
).Nkind
= N_Component_Association
);
1657 function Loop_Parameter_Specification
1658 (N
: Node_Id
) return Node_Id
is
1660 pragma Assert
(False
1661 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
1663 end Loop_Parameter_Specification
;
1666 (N
: Node_Id
) return Node_Id
is
1668 pragma Assert
(False
1669 or else NT
(N
).Nkind
= N_Range
1670 or else NT
(N
).Nkind
= N_Real_Range_Specification
1671 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1676 (N
: Node_Id
) return Node_Id
is
1678 pragma Assert
(False
1679 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1684 (N
: Node_Id
) return Boolean is
1686 pragma Assert
(False
1687 or else NT
(N
).Nkind
= N_Component_Declaration
1688 or else NT
(N
).Nkind
= N_Discriminant_Specification
1689 or else NT
(N
).Nkind
= N_Exception_Declaration
1690 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1691 or else NT
(N
).Nkind
= N_Number_Declaration
1692 or else NT
(N
).Nkind
= N_Object_Declaration
1693 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1697 function Must_Be_Byte_Aligned
1698 (N
: Node_Id
) return Boolean is
1700 pragma Assert
(False
1701 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1703 end Must_Be_Byte_Aligned
;
1705 function Must_Not_Freeze
1706 (N
: Node_Id
) return Boolean is
1708 pragma Assert
(False
1709 or else NT
(N
).Nkind
= N_Subtype_Indication
1710 or else NT
(N
).Nkind
in N_Subexpr
);
1712 end Must_Not_Freeze
;
1715 (N
: Node_Id
) return Node_Id
is
1717 pragma Assert
(False
1718 or else NT
(N
).Nkind
= N_Assignment_Statement
1719 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1720 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
1721 or else NT
(N
).Nkind
= N_Designator
1722 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1723 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
1724 or else NT
(N
).Nkind
= N_Exit_Statement
1725 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1726 or else NT
(N
).Nkind
= N_Function_Call
1727 or else NT
(N
).Nkind
= N_Function_Instantiation
1728 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1729 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1730 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1731 or else NT
(N
).Nkind
= N_Goto_Statement
1732 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
1733 or else NT
(N
).Nkind
= N_Package_Instantiation
1734 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1735 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
1736 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1737 or else NT
(N
).Nkind
= N_Raise_Statement
1738 or else NT
(N
).Nkind
= N_Requeue_Statement
1739 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
1740 or else NT
(N
).Nkind
= N_Subunit
1741 or else NT
(N
).Nkind
= N_Variant_Part
1742 or else NT
(N
).Nkind
= N_With_Clause
1743 or else NT
(N
).Nkind
= N_With_Type_Clause
);
1748 (N
: Node_Id
) return List_Id
is
1750 pragma Assert
(False
1751 or else NT
(N
).Nkind
= N_Abort_Statement
1752 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
1756 function Next_Entity
1757 (N
: Node_Id
) return Node_Id
is
1759 pragma Assert
(False
1760 or else NT
(N
).Nkind
= N_Defining_Character_Literal
1761 or else NT
(N
).Nkind
= N_Defining_Identifier
1762 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
1766 function Next_Named_Actual
1767 (N
: Node_Id
) return Node_Id
is
1769 pragma Assert
(False
1770 or else NT
(N
).Nkind
= N_Parameter_Association
);
1772 end Next_Named_Actual
;
1774 function Next_Rep_Item
1775 (N
: Node_Id
) return Node_Id
is
1777 pragma Assert
(False
1778 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1779 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1780 or else NT
(N
).Nkind
= N_Pragma
1781 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1785 function Next_Use_Clause
1786 (N
: Node_Id
) return Node_Id
is
1788 pragma Assert
(False
1789 or else NT
(N
).Nkind
= N_Use_Package_Clause
1790 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1792 end Next_Use_Clause
;
1794 function No_Ctrl_Actions
1795 (N
: Node_Id
) return Boolean is
1797 pragma Assert
(False
1798 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1800 end No_Ctrl_Actions
;
1802 function No_Elaboration_Check
1803 (N
: Node_Id
) return Boolean is
1805 pragma Assert
(False
1806 or else NT
(N
).Nkind
= N_Function_Call
1807 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1809 end No_Elaboration_Check
;
1811 function No_Entities_Ref_In_Spec
1812 (N
: Node_Id
) return Boolean is
1814 pragma Assert
(False
1815 or else NT
(N
).Nkind
= N_With_Clause
);
1817 end No_Entities_Ref_In_Spec
;
1819 function No_Initialization
1820 (N
: Node_Id
) return Boolean is
1822 pragma Assert
(False
1823 or else NT
(N
).Nkind
= N_Allocator
1824 or else NT
(N
).Nkind
= N_Object_Declaration
);
1826 end No_Initialization
;
1828 function No_Truncation
1829 (N
: Node_Id
) return Boolean is
1831 pragma Assert
(False
1832 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1836 function Null_Present
1837 (N
: Node_Id
) return Boolean is
1839 pragma Assert
(False
1840 or else NT
(N
).Nkind
= N_Component_List
1841 or else NT
(N
).Nkind
= N_Record_Definition
);
1845 function Null_Exclusion_Present
1846 (N
: Node_Id
) return Boolean is
1848 pragma Assert
(False
1849 or else NT
(N
).Nkind
= N_Access_Definition
1850 or else NT
(N
).Nkind
= N_Access_Function_Definition
1851 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
1852 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
1853 or else NT
(N
).Nkind
= N_Allocator
1854 or else NT
(N
).Nkind
= N_Component_Definition
1855 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1856 or else NT
(N
).Nkind
= N_Discriminant_Specification
1857 or else NT
(N
).Nkind
= N_Object_Declaration
1858 or else NT
(N
).Nkind
= N_Parameter_Specification
1859 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1861 end Null_Exclusion_Present
;
1863 function Null_Record_Present
1864 (N
: Node_Id
) return Boolean is
1866 pragma Assert
(False
1867 or else NT
(N
).Nkind
= N_Aggregate
1868 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1870 end Null_Record_Present
;
1872 function Object_Definition
1873 (N
: Node_Id
) return Node_Id
is
1875 pragma Assert
(False
1876 or else NT
(N
).Nkind
= N_Object_Declaration
);
1878 end Object_Definition
;
1880 function OK_For_Stream
1881 (N
: Node_Id
) return Boolean is
1883 pragma Assert
(False
1884 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1888 function Original_Discriminant
1889 (N
: Node_Id
) return Node_Id
is
1891 pragma Assert
(False
1892 or else NT
(N
).Nkind
= N_Identifier
);
1894 end Original_Discriminant
;
1896 function Original_Entity
1897 (N
: Node_Id
) return Entity_Id
is
1899 pragma Assert
(False
1900 or else NT
(N
).Nkind
= N_Integer_Literal
1901 or else NT
(N
).Nkind
= N_Real_Literal
);
1903 end Original_Entity
;
1905 function Others_Discrete_Choices
1906 (N
: Node_Id
) return List_Id
is
1908 pragma Assert
(False
1909 or else NT
(N
).Nkind
= N_Others_Choice
);
1911 end Others_Discrete_Choices
;
1913 function Out_Present
1914 (N
: Node_Id
) return Boolean is
1916 pragma Assert
(False
1917 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1918 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1922 function Parameter_Associations
1923 (N
: Node_Id
) return List_Id
is
1925 pragma Assert
(False
1926 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1927 or else NT
(N
).Nkind
= N_Function_Call
1928 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1930 end Parameter_Associations
;
1932 function Parameter_List_Truncated
1933 (N
: Node_Id
) return Boolean is
1935 pragma Assert
(False
1936 or else NT
(N
).Nkind
= N_Function_Call
1937 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1939 end Parameter_List_Truncated
;
1941 function Parameter_Specifications
1942 (N
: Node_Id
) return List_Id
is
1944 pragma Assert
(False
1945 or else NT
(N
).Nkind
= N_Accept_Statement
1946 or else NT
(N
).Nkind
= N_Access_Function_Definition
1947 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
1948 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
1949 or else NT
(N
).Nkind
= N_Entry_Declaration
1950 or else NT
(N
).Nkind
= N_Function_Specification
1951 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1953 end Parameter_Specifications
;
1955 function Parameter_Type
1956 (N
: Node_Id
) return Node_Id
is
1958 pragma Assert
(False
1959 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1963 function Parent_Spec
1964 (N
: Node_Id
) return Node_Id
is
1966 pragma Assert
(False
1967 or else NT
(N
).Nkind
= N_Function_Instantiation
1968 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1969 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1970 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1971 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1972 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
1973 or else NT
(N
).Nkind
= N_Package_Declaration
1974 or else NT
(N
).Nkind
= N_Package_Instantiation
1975 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1976 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1977 or else NT
(N
).Nkind
= N_Subprogram_Declaration
1978 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
1983 (N
: Node_Id
) return Node_Id
is
1985 pragma Assert
(False
1986 or else NT
(N
).Nkind
= N_Component_Clause
);
1990 function Pragma_Argument_Associations
1991 (N
: Node_Id
) return List_Id
is
1993 pragma Assert
(False
1994 or else NT
(N
).Nkind
= N_Pragma
);
1996 end Pragma_Argument_Associations
;
1998 function Pragmas_After
1999 (N
: Node_Id
) return List_Id
is
2001 pragma Assert
(False
2002 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2003 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
2007 function Pragmas_Before
2008 (N
: Node_Id
) return List_Id
is
2010 pragma Assert
(False
2011 or else NT
(N
).Nkind
= N_Accept_Alternative
2012 or else NT
(N
).Nkind
= N_Delay_Alternative
2013 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2014 or else NT
(N
).Nkind
= N_Mod_Clause
2015 or else NT
(N
).Nkind
= N_Terminate_Alternative
2016 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2021 (N
: Node_Id
) return Node_Id
is
2023 pragma Assert
(False
2024 or else NT
(N
).Nkind
= N_Attribute_Reference
2025 or else NT
(N
).Nkind
= N_Expanded_Name
2026 or else NT
(N
).Nkind
= N_Explicit_Dereference
2027 or else NT
(N
).Nkind
= N_Indexed_Component
2028 or else NT
(N
).Nkind
= N_Reference
2029 or else NT
(N
).Nkind
= N_Selected_Component
2030 or else NT
(N
).Nkind
= N_Slice
);
2034 function Present_Expr
2035 (N
: Node_Id
) return Uint
is
2037 pragma Assert
(False
2038 or else NT
(N
).Nkind
= N_Variant
);
2043 (N
: Node_Id
) return Boolean is
2045 pragma Assert
(False
2046 or else NT
(N
).Nkind
= N_Component_Declaration
2047 or else NT
(N
).Nkind
= N_Discriminant_Specification
2048 or else NT
(N
).Nkind
= N_Exception_Declaration
2049 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2050 or else NT
(N
).Nkind
= N_Number_Declaration
2051 or else NT
(N
).Nkind
= N_Object_Declaration
2052 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2056 function Print_In_Hex
2057 (N
: Node_Id
) return Boolean is
2059 pragma Assert
(False
2060 or else NT
(N
).Nkind
= N_Integer_Literal
);
2064 function Private_Declarations
2065 (N
: Node_Id
) return List_Id
is
2067 pragma Assert
(False
2068 or else NT
(N
).Nkind
= N_Package_Specification
2069 or else NT
(N
).Nkind
= N_Protected_Definition
2070 or else NT
(N
).Nkind
= N_Task_Definition
);
2072 end Private_Declarations
;
2074 function Private_Present
2075 (N
: Node_Id
) return Boolean is
2077 pragma Assert
(False
2078 or else NT
(N
).Nkind
= N_Compilation_Unit
2079 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2080 or else NT
(N
).Nkind
= N_With_Clause
);
2082 end Private_Present
;
2084 function Procedure_To_Call
2085 (N
: Node_Id
) return Node_Id
is
2087 pragma Assert
(False
2088 or else NT
(N
).Nkind
= N_Allocator
2089 or else NT
(N
).Nkind
= N_Free_Statement
2090 or else NT
(N
).Nkind
= N_Return_Statement
);
2092 end Procedure_To_Call
;
2094 function Proper_Body
2095 (N
: Node_Id
) return Node_Id
is
2097 pragma Assert
(False
2098 or else NT
(N
).Nkind
= N_Subunit
);
2102 function Protected_Definition
2103 (N
: Node_Id
) return Node_Id
is
2105 pragma Assert
(False
2106 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
2107 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
2109 end Protected_Definition
;
2111 function Protected_Present
2112 (N
: Node_Id
) return Boolean is
2114 pragma Assert
(False
2115 or else NT
(N
).Nkind
= N_Access_Function_Definition
2116 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
);
2118 end Protected_Present
;
2120 function Raises_Constraint_Error
2121 (N
: Node_Id
) return Boolean is
2123 pragma Assert
(False
2124 or else NT
(N
).Nkind
in N_Subexpr
);
2126 end Raises_Constraint_Error
;
2128 function Range_Constraint
2129 (N
: Node_Id
) return Node_Id
is
2131 pragma Assert
(False
2132 or else NT
(N
).Nkind
= N_Delta_Constraint
2133 or else NT
(N
).Nkind
= N_Digits_Constraint
);
2135 end Range_Constraint
;
2137 function Range_Expression
2138 (N
: Node_Id
) return Node_Id
is
2140 pragma Assert
(False
2141 or else NT
(N
).Nkind
= N_Range_Constraint
);
2143 end Range_Expression
;
2145 function Real_Range_Specification
2146 (N
: Node_Id
) return Node_Id
is
2148 pragma Assert
(False
2149 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
2150 or else NT
(N
).Nkind
= N_Floating_Point_Definition
2151 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
2153 end Real_Range_Specification
;
2156 (N
: Node_Id
) return Ureal
is
2158 pragma Assert
(False
2159 or else NT
(N
).Nkind
= N_Real_Literal
);
2164 (N
: Node_Id
) return Uint
is
2166 pragma Assert
(False
2167 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2168 or else NT
(N
).Nkind
= N_Raise_Program_Error
2169 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
2173 function Record_Extension_Part
2174 (N
: Node_Id
) return Node_Id
is
2176 pragma Assert
(False
2177 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
2179 end Record_Extension_Part
;
2181 function Redundant_Use
2182 (N
: Node_Id
) return Boolean is
2184 pragma Assert
(False
2185 or else NT
(N
).Nkind
= N_Attribute_Reference
2186 or else NT
(N
).Nkind
= N_Expanded_Name
2187 or else NT
(N
).Nkind
= N_Identifier
);
2191 function Return_Type
2192 (N
: Node_Id
) return Node_Id
is
2194 pragma Assert
(False
2195 or else NT
(N
).Nkind
= N_Return_Statement
);
2199 function Reverse_Present
2200 (N
: Node_Id
) return Boolean is
2202 pragma Assert
(False
2203 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
2205 end Reverse_Present
;
2208 (N
: Node_Id
) return Node_Id
is
2210 pragma Assert
(False
2211 or else NT
(N
).Nkind
in N_Op
2212 or else NT
(N
).Nkind
= N_And_Then
2213 or else NT
(N
).Nkind
= N_In
2214 or else NT
(N
).Nkind
= N_Not_In
2215 or else NT
(N
).Nkind
= N_Or_Else
);
2219 function Rounded_Result
2220 (N
: Node_Id
) return Boolean is
2222 pragma Assert
(False
2223 or else NT
(N
).Nkind
= N_Op_Divide
2224 or else NT
(N
).Nkind
= N_Op_Multiply
2225 or else NT
(N
).Nkind
= N_Type_Conversion
);
2230 (N
: Node_Id
) return Node_Id
is
2232 pragma Assert
(False
2233 or else NT
(N
).Nkind
= N_Defining_Character_Literal
2234 or else NT
(N
).Nkind
= N_Defining_Identifier
2235 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
2239 function Select_Alternatives
2240 (N
: Node_Id
) return List_Id
is
2242 pragma Assert
(False
2243 or else NT
(N
).Nkind
= N_Selective_Accept
);
2245 end Select_Alternatives
;
2247 function Selector_Name
2248 (N
: Node_Id
) return Node_Id
is
2250 pragma Assert
(False
2251 or else NT
(N
).Nkind
= N_Expanded_Name
2252 or else NT
(N
).Nkind
= N_Generic_Association
2253 or else NT
(N
).Nkind
= N_Parameter_Association
2254 or else NT
(N
).Nkind
= N_Selected_Component
);
2258 function Selector_Names
2259 (N
: Node_Id
) return List_Id
is
2261 pragma Assert
(False
2262 or else NT
(N
).Nkind
= N_Discriminant_Association
);
2266 function Shift_Count_OK
2267 (N
: Node_Id
) return Boolean is
2269 pragma Assert
(False
2270 or else NT
(N
).Nkind
= N_Op_Rotate_Left
2271 or else NT
(N
).Nkind
= N_Op_Rotate_Right
2272 or else NT
(N
).Nkind
= N_Op_Shift_Left
2273 or else NT
(N
).Nkind
= N_Op_Shift_Right
2274 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
2278 function Source_Type
2279 (N
: Node_Id
) return Entity_Id
is
2281 pragma Assert
(False
2282 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2286 function Specification
2287 (N
: Node_Id
) return Node_Id
is
2289 pragma Assert
(False
2290 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
2291 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
2292 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2293 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2294 or else NT
(N
).Nkind
= N_Package_Declaration
2295 or else NT
(N
).Nkind
= N_Subprogram_Body
2296 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
2297 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2298 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2303 (N
: Node_Id
) return List_Id
is
2305 pragma Assert
(False
2306 or else NT
(N
).Nkind
= N_Abortable_Part
2307 or else NT
(N
).Nkind
= N_Accept_Alternative
2308 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
2309 or else NT
(N
).Nkind
= N_Delay_Alternative
2310 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2311 or else NT
(N
).Nkind
= N_Exception_Handler
2312 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
2313 or else NT
(N
).Nkind
= N_Loop_Statement
2314 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2318 function Static_Processing_OK
2319 (N
: Node_Id
) return Boolean is
2321 pragma Assert
(False
2322 or else NT
(N
).Nkind
= N_Aggregate
);
2324 end Static_Processing_OK
;
2326 function Storage_Pool
2327 (N
: Node_Id
) return Node_Id
is
2329 pragma Assert
(False
2330 or else NT
(N
).Nkind
= N_Allocator
2331 or else NT
(N
).Nkind
= N_Free_Statement
2332 or else NT
(N
).Nkind
= N_Return_Statement
);
2337 (N
: Node_Id
) return String_Id
is
2339 pragma Assert
(False
2340 or else NT
(N
).Nkind
= N_Operator_Symbol
2341 or else NT
(N
).Nkind
= N_String_Literal
);
2345 function Subtype_Indication
2346 (N
: Node_Id
) return Node_Id
is
2348 pragma Assert
(False
2349 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2350 or else NT
(N
).Nkind
= N_Component_Definition
2351 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2352 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2353 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
2355 end Subtype_Indication
;
2357 function Subtype_Mark
2358 (N
: Node_Id
) return Node_Id
is
2360 pragma Assert
(False
2361 or else NT
(N
).Nkind
= N_Access_Definition
2362 or else NT
(N
).Nkind
= N_Access_Function_Definition
2363 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2364 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2365 or else NT
(N
).Nkind
= N_Function_Specification
2366 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2367 or else NT
(N
).Nkind
= N_Qualified_Expression
2368 or else NT
(N
).Nkind
= N_Subtype_Indication
2369 or else NT
(N
).Nkind
= N_Type_Conversion
2370 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2374 function Subtype_Marks
2375 (N
: Node_Id
) return List_Id
is
2377 pragma Assert
(False
2378 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
2379 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2383 function Tagged_Present
2384 (N
: Node_Id
) return Boolean is
2386 pragma Assert
(False
2387 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2388 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2389 or else NT
(N
).Nkind
= N_Record_Definition
2390 or else NT
(N
).Nkind
= N_With_Type_Clause
);
2394 function Target_Type
2395 (N
: Node_Id
) return Entity_Id
is
2397 pragma Assert
(False
2398 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2402 function Task_Body_Procedure
2403 (N
: Node_Id
) return Entity_Id
is
2405 pragma Assert
(False
2406 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2408 end Task_Body_Procedure
;
2410 function Task_Definition
2411 (N
: Node_Id
) return Node_Id
is
2413 pragma Assert
(False
2414 or else NT
(N
).Nkind
= N_Single_Task_Declaration
2415 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2417 end Task_Definition
;
2419 function Then_Actions
2420 (N
: Node_Id
) return List_Id
is
2422 pragma Assert
(False
2423 or else NT
(N
).Nkind
= N_Conditional_Expression
);
2427 function Then_Statements
2428 (N
: Node_Id
) return List_Id
is
2430 pragma Assert
(False
2431 or else NT
(N
).Nkind
= N_Elsif_Part
2432 or else NT
(N
).Nkind
= N_If_Statement
);
2434 end Then_Statements
;
2436 function Treat_Fixed_As_Integer
2437 (N
: Node_Id
) return Boolean is
2439 pragma Assert
(False
2440 or else NT
(N
).Nkind
= N_Op_Divide
2441 or else NT
(N
).Nkind
= N_Op_Mod
2442 or else NT
(N
).Nkind
= N_Op_Multiply
2443 or else NT
(N
).Nkind
= N_Op_Rem
);
2445 end Treat_Fixed_As_Integer
;
2447 function Triggering_Alternative
2448 (N
: Node_Id
) return Node_Id
is
2450 pragma Assert
(False
2451 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2453 end Triggering_Alternative
;
2455 function Triggering_Statement
2456 (N
: Node_Id
) return Node_Id
is
2458 pragma Assert
(False
2459 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2461 end Triggering_Statement
;
2464 (N
: Node_Id
) return Elist_Id
is
2466 pragma Assert
(False
2467 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2471 function Type_Definition
2472 (N
: Node_Id
) return Node_Id
is
2474 pragma Assert
(False
2475 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
2477 end Type_Definition
;
2480 (N
: Node_Id
) return Node_Id
is
2482 pragma Assert
(False
2483 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2487 function Unknown_Discriminants_Present
2488 (N
: Node_Id
) return Boolean is
2490 pragma Assert
(False
2491 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
2492 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2493 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2494 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
2496 end Unknown_Discriminants_Present
;
2498 function Unreferenced_In_Spec
2499 (N
: Node_Id
) return Boolean is
2501 pragma Assert
(False
2502 or else NT
(N
).Nkind
= N_With_Clause
);
2504 end Unreferenced_In_Spec
;
2506 function Variant_Part
2507 (N
: Node_Id
) return Node_Id
is
2509 pragma Assert
(False
2510 or else NT
(N
).Nkind
= N_Component_List
);
2515 (N
: Node_Id
) return List_Id
is
2517 pragma Assert
(False
2518 or else NT
(N
).Nkind
= N_Variant_Part
);
2522 function Visible_Declarations
2523 (N
: Node_Id
) return List_Id
is
2525 pragma Assert
(False
2526 or else NT
(N
).Nkind
= N_Package_Specification
2527 or else NT
(N
).Nkind
= N_Protected_Definition
2528 or else NT
(N
).Nkind
= N_Task_Definition
);
2530 end Visible_Declarations
;
2532 function Was_Originally_Stub
2533 (N
: Node_Id
) return Boolean is
2535 pragma Assert
(False
2536 or else NT
(N
).Nkind
= N_Package_Body
2537 or else NT
(N
).Nkind
= N_Protected_Body
2538 or else NT
(N
).Nkind
= N_Subprogram_Body
2539 or else NT
(N
).Nkind
= N_Task_Body
);
2541 end Was_Originally_Stub
;
2543 function Zero_Cost_Handling
2544 (N
: Node_Id
) return Boolean is
2546 pragma Assert
(False
2547 or else NT
(N
).Nkind
= N_Exception_Handler
2548 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2550 end Zero_Cost_Handling
;
2552 --------------------------
2553 -- Field Set Procedures --
2554 --------------------------
2556 procedure Set_ABE_Is_Certain
2557 (N
: Node_Id
; Val
: Boolean := True) is
2559 pragma Assert
(False
2560 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2561 or else NT
(N
).Nkind
= N_Function_Call
2562 or else NT
(N
).Nkind
= N_Function_Instantiation
2563 or else NT
(N
).Nkind
= N_Package_Instantiation
2564 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
2565 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
2566 Set_Flag18
(N
, Val
);
2567 end Set_ABE_Is_Certain
;
2569 procedure Set_Abort_Present
2570 (N
: Node_Id
; Val
: Boolean := True) is
2572 pragma Assert
(False
2573 or else NT
(N
).Nkind
= N_Requeue_Statement
);
2574 Set_Flag15
(N
, Val
);
2575 end Set_Abort_Present
;
2577 procedure Set_Abortable_Part
2578 (N
: Node_Id
; Val
: Node_Id
) is
2580 pragma Assert
(False
2581 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2582 Set_Node2_With_Parent
(N
, Val
);
2583 end Set_Abortable_Part
;
2585 procedure Set_Abstract_Present
2586 (N
: Node_Id
; Val
: Boolean := True) is
2588 pragma Assert
(False
2589 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2590 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2591 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2592 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2593 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2594 or else NT
(N
).Nkind
= N_Record_Definition
);
2596 end Set_Abstract_Present
;
2598 procedure Set_Accept_Handler_Records
2599 (N
: Node_Id
; Val
: List_Id
) is
2601 pragma Assert
(False
2602 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2603 Set_List5
(N
, Val
); -- semantic field, no parent set
2604 end Set_Accept_Handler_Records
;
2606 procedure Set_Accept_Statement
2607 (N
: Node_Id
; Val
: Node_Id
) is
2609 pragma Assert
(False
2610 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2611 Set_Node2_With_Parent
(N
, Val
);
2612 end Set_Accept_Statement
;
2614 procedure Set_Access_Definition
2615 (N
: Node_Id
; Val
: Node_Id
) is
2617 pragma Assert
(False
2618 or else NT
(N
).Nkind
= N_Component_Definition
2619 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
2620 Set_Node3_With_Parent
(N
, Val
);
2621 end Set_Access_Definition
;
2623 procedure Set_Access_To_Subprogram_Definition
2624 (N
: Node_Id
; Val
: Node_Id
) is
2626 pragma Assert
(False
2627 or else NT
(N
).Nkind
= N_Access_Definition
);
2628 Set_Node3_With_Parent
(N
, Val
);
2629 end Set_Access_To_Subprogram_Definition
;
2631 procedure Set_Access_Types_To_Process
2632 (N
: Node_Id
; Val
: Elist_Id
) is
2634 pragma Assert
(False
2635 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2636 Set_Elist2
(N
, Val
); -- semantic field, no parent set
2637 end Set_Access_Types_To_Process
;
2639 procedure Set_Actions
2640 (N
: Node_Id
; Val
: List_Id
) is
2642 pragma Assert
(False
2643 or else NT
(N
).Nkind
= N_And_Then
2644 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2645 or else NT
(N
).Nkind
= N_Freeze_Entity
2646 or else NT
(N
).Nkind
= N_Or_Else
);
2647 Set_List1_With_Parent
(N
, Val
);
2650 procedure Set_Activation_Chain_Entity
2651 (N
: Node_Id
; Val
: Node_Id
) is
2653 pragma Assert
(False
2654 or else NT
(N
).Nkind
= N_Block_Statement
2655 or else NT
(N
).Nkind
= N_Entry_Body
2656 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2657 or else NT
(N
).Nkind
= N_Package_Declaration
2658 or else NT
(N
).Nkind
= N_Subprogram_Body
2659 or else NT
(N
).Nkind
= N_Task_Body
);
2660 Set_Node3
(N
, Val
); -- semantic field, no parent set
2661 end Set_Activation_Chain_Entity
;
2663 procedure Set_Acts_As_Spec
2664 (N
: Node_Id
; Val
: Boolean := True) is
2666 pragma Assert
(False
2667 or else NT
(N
).Nkind
= N_Compilation_Unit
2668 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2670 end Set_Acts_As_Spec
;
2672 procedure Set_Aggregate_Bounds
2673 (N
: Node_Id
; Val
: Node_Id
) is
2675 pragma Assert
(False
2676 or else NT
(N
).Nkind
= N_Aggregate
);
2677 Set_Node3
(N
, Val
); -- semantic field, no parent set
2678 end Set_Aggregate_Bounds
;
2680 procedure Set_Aliased_Present
2681 (N
: Node_Id
; Val
: Boolean := True) is
2683 pragma Assert
(False
2684 or else NT
(N
).Nkind
= N_Component_Definition
2685 or else NT
(N
).Nkind
= N_Object_Declaration
);
2687 end Set_Aliased_Present
;
2689 procedure Set_All_Others
2690 (N
: Node_Id
; Val
: Boolean := True) is
2692 pragma Assert
(False
2693 or else NT
(N
).Nkind
= N_Others_Choice
);
2694 Set_Flag11
(N
, Val
);
2697 procedure Set_All_Present
2698 (N
: Node_Id
; Val
: Boolean := True) is
2700 pragma Assert
(False
2701 or else NT
(N
).Nkind
= N_Access_Definition
2702 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
2703 Set_Flag15
(N
, Val
);
2704 end Set_All_Present
;
2706 procedure Set_Alternatives
2707 (N
: Node_Id
; Val
: List_Id
) is
2709 pragma Assert
(False
2710 or else NT
(N
).Nkind
= N_Case_Statement
);
2711 Set_List4_With_Parent
(N
, Val
);
2712 end Set_Alternatives
;
2714 procedure Set_Ancestor_Part
2715 (N
: Node_Id
; Val
: Node_Id
) is
2717 pragma Assert
(False
2718 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2719 Set_Node3_With_Parent
(N
, Val
);
2720 end Set_Ancestor_Part
;
2722 procedure Set_Array_Aggregate
2723 (N
: Node_Id
; Val
: Node_Id
) is
2725 pragma Assert
(False
2726 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
2727 Set_Node3_With_Parent
(N
, Val
);
2728 end Set_Array_Aggregate
;
2730 procedure Set_Assignment_OK
2731 (N
: Node_Id
; Val
: Boolean := True) is
2733 pragma Assert
(False
2734 or else NT
(N
).Nkind
= N_Object_Declaration
2735 or else NT
(N
).Nkind
in N_Subexpr
);
2736 Set_Flag15
(N
, Val
);
2737 end Set_Assignment_OK
;
2739 procedure Set_Associated_Node
2740 (N
: Node_Id
; Val
: Node_Id
) is
2742 pragma Assert
(False
2743 or else NT
(N
).Nkind
in N_Has_Entity
2744 or else NT
(N
).Nkind
= N_Aggregate
2745 or else NT
(N
).Nkind
= N_Extension_Aggregate
2746 or else NT
(N
).Nkind
= N_Selected_Component
);
2747 Set_Node4
(N
, Val
); -- semantic field, no parent set
2748 end Set_Associated_Node
;
2750 procedure Set_At_End_Proc
2751 (N
: Node_Id
; Val
: Node_Id
) is
2753 pragma Assert
(False
2754 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2756 end Set_At_End_Proc
;
2758 procedure Set_Attribute_Name
2759 (N
: Node_Id
; Val
: Name_Id
) is
2761 pragma Assert
(False
2762 or else NT
(N
).Nkind
= N_Attribute_Reference
);
2764 end Set_Attribute_Name
;
2766 procedure Set_Aux_Decls_Node
2767 (N
: Node_Id
; Val
: Node_Id
) is
2769 pragma Assert
(False
2770 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2771 Set_Node5_With_Parent
(N
, Val
);
2772 end Set_Aux_Decls_Node
;
2774 procedure Set_Backwards_OK
2775 (N
: Node_Id
; Val
: Boolean := True) is
2777 pragma Assert
(False
2778 or else NT
(N
).Nkind
= N_Assignment_Statement
);
2780 end Set_Backwards_OK
;
2782 procedure Set_Bad_Is_Detected
2783 (N
: Node_Id
; Val
: Boolean := True) is
2785 pragma Assert
(False
2786 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2787 Set_Flag15
(N
, Val
);
2788 end Set_Bad_Is_Detected
;
2790 procedure Set_Body_Required
2791 (N
: Node_Id
; Val
: Boolean := True) is
2793 pragma Assert
(False
2794 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2795 Set_Flag13
(N
, Val
);
2796 end Set_Body_Required
;
2798 procedure Set_Body_To_Inline
2799 (N
: Node_Id
; Val
: Node_Id
) is
2801 pragma Assert
(False
2802 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
2804 end Set_Body_To_Inline
;
2806 procedure Set_Box_Present
2807 (N
: Node_Id
; Val
: Boolean := True) is
2809 pragma Assert
(False
2810 or else NT
(N
).Nkind
= N_Component_Association
2811 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2812 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
);
2813 Set_Flag15
(N
, Val
);
2814 end Set_Box_Present
;
2816 procedure Set_By_Ref
2817 (N
: Node_Id
; Val
: Boolean := True) is
2819 pragma Assert
(False
2820 or else NT
(N
).Nkind
= N_Return_Statement
);
2824 procedure Set_Char_Literal_Value
2825 (N
: Node_Id
; Val
: Char_Code
) is
2827 pragma Assert
(False
2828 or else NT
(N
).Nkind
= N_Character_Literal
);
2829 Set_Char_Code2
(N
, Val
);
2830 end Set_Char_Literal_Value
;
2833 (N
: Node_Id
; Val
: Name_Id
) is
2835 pragma Assert
(False
2836 or else NT
(N
).Nkind
in N_Has_Chars
);
2840 procedure Set_Check_Address_Alignment
2841 (N
: Node_Id
; Val
: Boolean := True) is
2843 pragma Assert
(False
2844 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
2845 Set_Flag11
(N
, Val
);
2846 end Set_Check_Address_Alignment
;
2848 procedure Set_Choice_Parameter
2849 (N
: Node_Id
; Val
: Node_Id
) is
2851 pragma Assert
(False
2852 or else NT
(N
).Nkind
= N_Exception_Handler
);
2853 Set_Node2_With_Parent
(N
, Val
);
2854 end Set_Choice_Parameter
;
2856 procedure Set_Choices
2857 (N
: Node_Id
; Val
: List_Id
) is
2859 pragma Assert
(False
2860 or else NT
(N
).Nkind
= N_Component_Association
);
2861 Set_List1_With_Parent
(N
, Val
);
2864 procedure Set_Compile_Time_Known_Aggregate
2865 (N
: Node_Id
; Val
: Boolean := True) is
2867 pragma Assert
(False
2868 or else NT
(N
).Nkind
= N_Aggregate
);
2869 Set_Flag18
(N
, Val
);
2870 end Set_Compile_Time_Known_Aggregate
;
2872 procedure Set_Component_Associations
2873 (N
: Node_Id
; Val
: List_Id
) is
2875 pragma Assert
(False
2876 or else NT
(N
).Nkind
= N_Aggregate
2877 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2878 Set_List2_With_Parent
(N
, Val
);
2879 end Set_Component_Associations
;
2881 procedure Set_Component_Clauses
2882 (N
: Node_Id
; Val
: List_Id
) is
2884 pragma Assert
(False
2885 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
2886 Set_List3_With_Parent
(N
, Val
);
2887 end Set_Component_Clauses
;
2889 procedure Set_Component_Definition
2890 (N
: Node_Id
; Val
: Node_Id
) is
2892 pragma Assert
(False
2893 or else NT
(N
).Nkind
= N_Component_Declaration
2894 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
2895 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
2896 Set_Node4_With_Parent
(N
, Val
);
2897 end Set_Component_Definition
;
2899 procedure Set_Component_Items
2900 (N
: Node_Id
; Val
: List_Id
) is
2902 pragma Assert
(False
2903 or else NT
(N
).Nkind
= N_Component_List
);
2904 Set_List3_With_Parent
(N
, Val
);
2905 end Set_Component_Items
;
2907 procedure Set_Component_List
2908 (N
: Node_Id
; Val
: Node_Id
) is
2910 pragma Assert
(False
2911 or else NT
(N
).Nkind
= N_Record_Definition
2912 or else NT
(N
).Nkind
= N_Variant
);
2913 Set_Node1_With_Parent
(N
, Val
);
2914 end Set_Component_List
;
2916 procedure Set_Component_Name
2917 (N
: Node_Id
; Val
: Node_Id
) is
2919 pragma Assert
(False
2920 or else NT
(N
).Nkind
= N_Component_Clause
);
2921 Set_Node1_With_Parent
(N
, Val
);
2922 end Set_Component_Name
;
2924 procedure Set_Condition
2925 (N
: Node_Id
; Val
: Node_Id
) is
2927 pragma Assert
(False
2928 or else NT
(N
).Nkind
= N_Accept_Alternative
2929 or else NT
(N
).Nkind
= N_Delay_Alternative
2930 or else NT
(N
).Nkind
= N_Elsif_Part
2931 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
2932 or else NT
(N
).Nkind
= N_Exit_Statement
2933 or else NT
(N
).Nkind
= N_If_Statement
2934 or else NT
(N
).Nkind
= N_Iteration_Scheme
2935 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2936 or else NT
(N
).Nkind
= N_Raise_Program_Error
2937 or else NT
(N
).Nkind
= N_Raise_Storage_Error
2938 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
2939 Set_Node1_With_Parent
(N
, Val
);
2942 procedure Set_Condition_Actions
2943 (N
: Node_Id
; Val
: List_Id
) is
2945 pragma Assert
(False
2946 or else NT
(N
).Nkind
= N_Elsif_Part
2947 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
2948 Set_List3
(N
, Val
); -- semantic field, no parent set
2949 end Set_Condition_Actions
;
2951 procedure Set_Config_Pragmas
2952 (N
: Node_Id
; Val
: List_Id
) is
2954 pragma Assert
(False
2955 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
2956 Set_List4_With_Parent
(N
, Val
);
2957 end Set_Config_Pragmas
;
2959 procedure Set_Constant_Present
2960 (N
: Node_Id
; Val
: Boolean := True) is
2962 pragma Assert
(False
2963 or else NT
(N
).Nkind
= N_Access_Definition
2964 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2965 or else NT
(N
).Nkind
= N_Object_Declaration
);
2966 Set_Flag17
(N
, Val
);
2967 end Set_Constant_Present
;
2969 procedure Set_Constraint
2970 (N
: Node_Id
; Val
: Node_Id
) is
2972 pragma Assert
(False
2973 or else NT
(N
).Nkind
= N_Subtype_Indication
);
2974 Set_Node3_With_Parent
(N
, Val
);
2977 procedure Set_Constraints
2978 (N
: Node_Id
; Val
: List_Id
) is
2980 pragma Assert
(False
2981 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
2982 Set_List1_With_Parent
(N
, Val
);
2983 end Set_Constraints
;
2985 procedure Set_Context_Installed
2986 (N
: Node_Id
; Val
: Boolean := True) is
2988 pragma Assert
(False
2989 or else NT
(N
).Nkind
= N_With_Clause
);
2990 Set_Flag13
(N
, Val
);
2991 end Set_Context_Installed
;
2993 procedure Set_Context_Items
2994 (N
: Node_Id
; Val
: List_Id
) is
2996 pragma Assert
(False
2997 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2998 Set_List1_With_Parent
(N
, Val
);
2999 end Set_Context_Items
;
3001 procedure Set_Controlling_Argument
3002 (N
: Node_Id
; Val
: Node_Id
) is
3004 pragma Assert
(False
3005 or else NT
(N
).Nkind
= N_Function_Call
3006 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3007 Set_Node1
(N
, Val
); -- semantic field, no parent set
3008 end Set_Controlling_Argument
;
3010 procedure Set_Conversion_OK
3011 (N
: Node_Id
; Val
: Boolean := True) is
3013 pragma Assert
(False
3014 or else NT
(N
).Nkind
= N_Type_Conversion
);
3015 Set_Flag14
(N
, Val
);
3016 end Set_Conversion_OK
;
3018 procedure Set_Corresponding_Body
3019 (N
: Node_Id
; Val
: Node_Id
) is
3021 pragma Assert
(False
3022 or else NT
(N
).Nkind
= N_Entry_Declaration
3023 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3024 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
3025 or else NT
(N
).Nkind
= N_Package_Body_Stub
3026 or else NT
(N
).Nkind
= N_Package_Declaration
3027 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3028 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3029 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
3030 or else NT
(N
).Nkind
= N_Subprogram_Declaration
3031 or else NT
(N
).Nkind
= N_Task_Body_Stub
3032 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3033 Set_Node5
(N
, Val
); -- semantic field, no parent set
3034 end Set_Corresponding_Body
;
3036 procedure Set_Corresponding_Generic_Association
3037 (N
: Node_Id
; Val
: Node_Id
) is
3039 pragma Assert
(False
3040 or else NT
(N
).Nkind
= N_Object_Declaration
3041 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
3042 Set_Node5
(N
, Val
); -- semantic field, no parent set
3043 end Set_Corresponding_Generic_Association
;
3044 procedure Set_Corresponding_Integer_Value
3045 (N
: Node_Id
; Val
: Uint
) is
3047 pragma Assert
(False
3048 or else NT
(N
).Nkind
= N_Real_Literal
);
3049 Set_Uint4
(N
, Val
); -- semantic field, no parent set
3050 end Set_Corresponding_Integer_Value
;
3052 procedure Set_Corresponding_Spec
3053 (N
: Node_Id
; Val
: Node_Id
) is
3055 pragma Assert
(False
3056 or else NT
(N
).Nkind
= N_Package_Body
3057 or else NT
(N
).Nkind
= N_Protected_Body
3058 or else NT
(N
).Nkind
= N_Subprogram_Body
3059 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
3060 or else NT
(N
).Nkind
= N_Task_Body
3061 or else NT
(N
).Nkind
= N_With_Clause
);
3062 Set_Node5
(N
, Val
); -- semantic field, no parent set
3063 end Set_Corresponding_Spec
;
3065 procedure Set_Corresponding_Stub
3066 (N
: Node_Id
; Val
: Node_Id
) is
3068 pragma Assert
(False
3069 or else NT
(N
).Nkind
= N_Subunit
);
3071 end Set_Corresponding_Stub
;
3073 procedure Set_Dcheck_Function
3074 (N
: Node_Id
; Val
: Entity_Id
) is
3076 pragma Assert
(False
3077 or else NT
(N
).Nkind
= N_Variant
);
3078 Set_Node5
(N
, Val
); -- semantic field, no parent set
3079 end Set_Dcheck_Function
;
3081 procedure Set_Debug_Statement
3082 (N
: Node_Id
; Val
: Node_Id
) is
3084 pragma Assert
(False
3085 or else NT
(N
).Nkind
= N_Pragma
);
3086 Set_Node3_With_Parent
(N
, Val
);
3087 end Set_Debug_Statement
;
3089 procedure Set_Declarations
3090 (N
: Node_Id
; Val
: List_Id
) is
3092 pragma Assert
(False
3093 or else NT
(N
).Nkind
= N_Accept_Statement
3094 or else NT
(N
).Nkind
= N_Block_Statement
3095 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
3096 or else NT
(N
).Nkind
= N_Entry_Body
3097 or else NT
(N
).Nkind
= N_Package_Body
3098 or else NT
(N
).Nkind
= N_Protected_Body
3099 or else NT
(N
).Nkind
= N_Subprogram_Body
3100 or else NT
(N
).Nkind
= N_Task_Body
);
3101 Set_List2_With_Parent
(N
, Val
);
3102 end Set_Declarations
;
3104 procedure Set_Default_Expression
3105 (N
: Node_Id
; Val
: Node_Id
) is
3107 pragma Assert
(False
3108 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3109 Set_Node5
(N
, Val
); -- semantic field, no parent set
3110 end Set_Default_Expression
;
3112 procedure Set_Default_Name
3113 (N
: Node_Id
; Val
: Node_Id
) is
3115 pragma Assert
(False
3116 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
);
3117 Set_Node2_With_Parent
(N
, Val
);
3118 end Set_Default_Name
;
3120 procedure Set_Defining_Identifier
3121 (N
: Node_Id
; Val
: Entity_Id
) is
3123 pragma Assert
(False
3124 or else NT
(N
).Nkind
= N_Component_Declaration
3125 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
3126 or else NT
(N
).Nkind
= N_Discriminant_Specification
3127 or else NT
(N
).Nkind
= N_Entry_Body
3128 or else NT
(N
).Nkind
= N_Entry_Declaration
3129 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3130 or else NT
(N
).Nkind
= N_Exception_Declaration
3131 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
3132 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3133 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3134 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3135 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3136 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
3137 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3138 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
3139 or else NT
(N
).Nkind
= N_Number_Declaration
3140 or else NT
(N
).Nkind
= N_Object_Declaration
3141 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
3142 or else NT
(N
).Nkind
= N_Package_Body_Stub
3143 or else NT
(N
).Nkind
= N_Parameter_Specification
3144 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3145 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3146 or else NT
(N
).Nkind
= N_Protected_Body
3147 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3148 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3149 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
3150 or else NT
(N
).Nkind
= N_Single_Task_Declaration
3151 or else NT
(N
).Nkind
= N_Subtype_Declaration
3152 or else NT
(N
).Nkind
= N_Task_Body
3153 or else NT
(N
).Nkind
= N_Task_Body_Stub
3154 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3155 Set_Node1_With_Parent
(N
, Val
);
3156 end Set_Defining_Identifier
;
3158 procedure Set_Defining_Unit_Name
3159 (N
: Node_Id
; Val
: Node_Id
) is
3161 pragma Assert
(False
3162 or else NT
(N
).Nkind
= N_Function_Instantiation
3163 or else NT
(N
).Nkind
= N_Function_Specification
3164 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
3165 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
3166 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
3167 or else NT
(N
).Nkind
= N_Package_Body
3168 or else NT
(N
).Nkind
= N_Package_Instantiation
3169 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
3170 or else NT
(N
).Nkind
= N_Package_Specification
3171 or else NT
(N
).Nkind
= N_Procedure_Instantiation
3172 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3173 Set_Node1_With_Parent
(N
, Val
);
3174 end Set_Defining_Unit_Name
;
3176 procedure Set_Delay_Alternative
3177 (N
: Node_Id
; Val
: Node_Id
) is
3179 pragma Assert
(False
3180 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3181 Set_Node4_With_Parent
(N
, Val
);
3182 end Set_Delay_Alternative
;
3184 procedure Set_Delay_Finalize_Attach
3185 (N
: Node_Id
; Val
: Boolean := True) is
3187 pragma Assert
(False
3188 or else NT
(N
).Nkind
= N_Object_Declaration
);
3189 Set_Flag14
(N
, Val
);
3190 end Set_Delay_Finalize_Attach
;
3192 procedure Set_Delay_Statement
3193 (N
: Node_Id
; Val
: Node_Id
) is
3195 pragma Assert
(False
3196 or else NT
(N
).Nkind
= N_Delay_Alternative
);
3197 Set_Node2_With_Parent
(N
, Val
);
3198 end Set_Delay_Statement
;
3200 procedure Set_Delta_Expression
3201 (N
: Node_Id
; Val
: Node_Id
) is
3203 pragma Assert
(False
3204 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3205 or else NT
(N
).Nkind
= N_Delta_Constraint
3206 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
3207 Set_Node3_With_Parent
(N
, Val
);
3208 end Set_Delta_Expression
;
3210 procedure Set_Digits_Expression
3211 (N
: Node_Id
; Val
: Node_Id
) is
3213 pragma Assert
(False
3214 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3215 or else NT
(N
).Nkind
= N_Digits_Constraint
3216 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
3217 Set_Node2_With_Parent
(N
, Val
);
3218 end Set_Digits_Expression
;
3220 procedure Set_Discr_Check_Funcs_Built
3221 (N
: Node_Id
; Val
: Boolean := True) is
3223 pragma Assert
(False
3224 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
3225 Set_Flag11
(N
, Val
);
3226 end Set_Discr_Check_Funcs_Built
;
3228 procedure Set_Discrete_Choices
3229 (N
: Node_Id
; Val
: List_Id
) is
3231 pragma Assert
(False
3232 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
3233 or else NT
(N
).Nkind
= N_Variant
);
3234 Set_List4_With_Parent
(N
, Val
);
3235 end Set_Discrete_Choices
;
3237 procedure Set_Discrete_Range
3238 (N
: Node_Id
; Val
: Node_Id
) is
3240 pragma Assert
(False
3241 or else NT
(N
).Nkind
= N_Slice
);
3242 Set_Node4_With_Parent
(N
, Val
);
3243 end Set_Discrete_Range
;
3245 procedure Set_Discrete_Subtype_Definition
3246 (N
: Node_Id
; Val
: Node_Id
) is
3248 pragma Assert
(False
3249 or else NT
(N
).Nkind
= N_Entry_Declaration
3250 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3251 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
3252 Set_Node4_With_Parent
(N
, Val
);
3253 end Set_Discrete_Subtype_Definition
;
3255 procedure Set_Discrete_Subtype_Definitions
3256 (N
: Node_Id
; Val
: List_Id
) is
3258 pragma Assert
(False
3259 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
3260 Set_List2_With_Parent
(N
, Val
);
3261 end Set_Discrete_Subtype_Definitions
;
3263 procedure Set_Discriminant_Specifications
3264 (N
: Node_Id
; Val
: List_Id
) is
3266 pragma Assert
(False
3267 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3268 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3269 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3270 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3271 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3272 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3273 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3274 Set_List4_With_Parent
(N
, Val
);
3275 end Set_Discriminant_Specifications
;
3277 procedure Set_Discriminant_Type
3278 (N
: Node_Id
; Val
: Node_Id
) is
3280 pragma Assert
(False
3281 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
3282 Set_Node5_With_Parent
(N
, Val
);
3283 end Set_Discriminant_Type
;
3285 procedure Set_Do_Accessibility_Check
3286 (N
: Node_Id
; Val
: Boolean := True) is
3288 pragma Assert
(False
3289 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3290 Set_Flag13
(N
, Val
);
3291 end Set_Do_Accessibility_Check
;
3293 procedure Set_Do_Discriminant_Check
3294 (N
: Node_Id
; Val
: Boolean := True) is
3296 pragma Assert
(False
3297 or else NT
(N
).Nkind
= N_Selected_Component
);
3298 Set_Flag13
(N
, Val
);
3299 end Set_Do_Discriminant_Check
;
3301 procedure Set_Do_Division_Check
3302 (N
: Node_Id
; Val
: Boolean := True) is
3304 pragma Assert
(False
3305 or else NT
(N
).Nkind
= N_Op_Divide
3306 or else NT
(N
).Nkind
= N_Op_Mod
3307 or else NT
(N
).Nkind
= N_Op_Rem
);
3308 Set_Flag13
(N
, Val
);
3309 end Set_Do_Division_Check
;
3311 procedure Set_Do_Length_Check
3312 (N
: Node_Id
; Val
: Boolean := True) is
3314 pragma Assert
(False
3315 or else NT
(N
).Nkind
= N_Assignment_Statement
3316 or else NT
(N
).Nkind
= N_Op_And
3317 or else NT
(N
).Nkind
= N_Op_Or
3318 or else NT
(N
).Nkind
= N_Op_Xor
3319 or else NT
(N
).Nkind
= N_Type_Conversion
);
3321 end Set_Do_Length_Check
;
3323 procedure Set_Do_Overflow_Check
3324 (N
: Node_Id
; Val
: Boolean := True) is
3326 pragma Assert
(False
3327 or else NT
(N
).Nkind
in N_Op
3328 or else NT
(N
).Nkind
= N_Attribute_Reference
3329 or else NT
(N
).Nkind
= N_Type_Conversion
);
3330 Set_Flag17
(N
, Val
);
3331 end Set_Do_Overflow_Check
;
3333 procedure Set_Do_Range_Check
3334 (N
: Node_Id
; Val
: Boolean := True) is
3336 pragma Assert
(False
3337 or else NT
(N
).Nkind
in N_Subexpr
);
3339 end Set_Do_Range_Check
;
3341 procedure Set_Do_Storage_Check
3342 (N
: Node_Id
; Val
: Boolean := True) is
3344 pragma Assert
(False
3345 or else NT
(N
).Nkind
= N_Allocator
3346 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3347 Set_Flag17
(N
, Val
);
3348 end Set_Do_Storage_Check
;
3350 procedure Set_Do_Tag_Check
3351 (N
: Node_Id
; Val
: Boolean := True) is
3353 pragma Assert
(False
3354 or else NT
(N
).Nkind
= N_Assignment_Statement
3355 or else NT
(N
).Nkind
= N_Function_Call
3356 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
3357 or else NT
(N
).Nkind
= N_Return_Statement
3358 or else NT
(N
).Nkind
= N_Type_Conversion
);
3359 Set_Flag13
(N
, Val
);
3360 end Set_Do_Tag_Check
;
3362 procedure Set_Elaborate_All_Present
3363 (N
: Node_Id
; Val
: Boolean := True) is
3365 pragma Assert
(False
3366 or else NT
(N
).Nkind
= N_With_Clause
);
3367 Set_Flag14
(N
, Val
);
3368 end Set_Elaborate_All_Present
;
3370 procedure Set_Elaborate_Present
3371 (N
: Node_Id
; Val
: Boolean := True) is
3373 pragma Assert
(False
3374 or else NT
(N
).Nkind
= N_With_Clause
);
3376 end Set_Elaborate_Present
;
3378 procedure Set_Elaboration_Boolean
3379 (N
: Node_Id
; Val
: Node_Id
) is
3381 pragma Assert
(False
3382 or else NT
(N
).Nkind
= N_Function_Specification
3383 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3385 end Set_Elaboration_Boolean
;
3387 procedure Set_Else_Actions
3388 (N
: Node_Id
; Val
: List_Id
) is
3390 pragma Assert
(False
3391 or else NT
(N
).Nkind
= N_Conditional_Expression
);
3392 Set_List3
(N
, Val
); -- semantic field, no parent set
3393 end Set_Else_Actions
;
3395 procedure Set_Else_Statements
3396 (N
: Node_Id
; Val
: List_Id
) is
3398 pragma Assert
(False
3399 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3400 or else NT
(N
).Nkind
= N_If_Statement
3401 or else NT
(N
).Nkind
= N_Selective_Accept
);
3402 Set_List4_With_Parent
(N
, Val
);
3403 end Set_Else_Statements
;
3405 procedure Set_Elsif_Parts
3406 (N
: Node_Id
; Val
: List_Id
) is
3408 pragma Assert
(False
3409 or else NT
(N
).Nkind
= N_If_Statement
);
3410 Set_List3_With_Parent
(N
, Val
);
3411 end Set_Elsif_Parts
;
3413 procedure Set_Enclosing_Variant
3414 (N
: Node_Id
; Val
: Node_Id
) is
3416 pragma Assert
(False
3417 or else NT
(N
).Nkind
= N_Variant
);
3418 Set_Node2
(N
, Val
); -- semantic field, no parent set
3419 end Set_Enclosing_Variant
;
3421 procedure Set_End_Label
3422 (N
: Node_Id
; Val
: Node_Id
) is
3424 pragma Assert
(False
3425 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
3426 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
3427 or else NT
(N
).Nkind
= N_Loop_Statement
3428 or else NT
(N
).Nkind
= N_Package_Specification
3429 or else NT
(N
).Nkind
= N_Protected_Body
3430 or else NT
(N
).Nkind
= N_Protected_Definition
3431 or else NT
(N
).Nkind
= N_Record_Definition
3432 or else NT
(N
).Nkind
= N_Task_Definition
);
3433 Set_Node4_With_Parent
(N
, Val
);
3436 procedure Set_End_Span
3437 (N
: Node_Id
; Val
: Uint
) is
3439 pragma Assert
(False
3440 or else NT
(N
).Nkind
= N_Case_Statement
3441 or else NT
(N
).Nkind
= N_If_Statement
);
3445 procedure Set_Entity
3446 (N
: Node_Id
; Val
: Node_Id
) is
3448 pragma Assert
(False
3449 or else NT
(N
).Nkind
in N_Has_Entity
3450 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3451 Set_Node4
(N
, Val
); -- semantic field, no parent set
3454 procedure Set_Entry_Body_Formal_Part
3455 (N
: Node_Id
; Val
: Node_Id
) is
3457 pragma Assert
(False
3458 or else NT
(N
).Nkind
= N_Entry_Body
);
3459 Set_Node5_With_Parent
(N
, Val
);
3460 end Set_Entry_Body_Formal_Part
;
3462 procedure Set_Entry_Call_Alternative
3463 (N
: Node_Id
; Val
: Node_Id
) is
3465 pragma Assert
(False
3466 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3467 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3468 Set_Node1_With_Parent
(N
, Val
);
3469 end Set_Entry_Call_Alternative
;
3471 procedure Set_Entry_Call_Statement
3472 (N
: Node_Id
; Val
: Node_Id
) is
3474 pragma Assert
(False
3475 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
3476 Set_Node1_With_Parent
(N
, Val
);
3477 end Set_Entry_Call_Statement
;
3479 procedure Set_Entry_Direct_Name
3480 (N
: Node_Id
; Val
: Node_Id
) is
3482 pragma Assert
(False
3483 or else NT
(N
).Nkind
= N_Accept_Statement
);
3484 Set_Node1_With_Parent
(N
, Val
);
3485 end Set_Entry_Direct_Name
;
3487 procedure Set_Entry_Index
3488 (N
: Node_Id
; Val
: Node_Id
) is
3490 pragma Assert
(False
3491 or else NT
(N
).Nkind
= N_Accept_Statement
);
3492 Set_Node5_With_Parent
(N
, Val
);
3493 end Set_Entry_Index
;
3495 procedure Set_Entry_Index_Specification
3496 (N
: Node_Id
; Val
: Node_Id
) is
3498 pragma Assert
(False
3499 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
3500 Set_Node4_With_Parent
(N
, Val
);
3501 end Set_Entry_Index_Specification
;
3504 (N
: Node_Id
; Val
: Node_Id
) is
3506 pragma Assert
(False
3507 or else NT
(N
).Nkind
in N_Has_Etype
);
3508 Set_Node5
(N
, Val
); -- semantic field, no parent set
3511 procedure Set_Exception_Choices
3512 (N
: Node_Id
; Val
: List_Id
) is
3514 pragma Assert
(False
3515 or else NT
(N
).Nkind
= N_Exception_Handler
);
3516 Set_List4_With_Parent
(N
, Val
);
3517 end Set_Exception_Choices
;
3519 procedure Set_Exception_Handlers
3520 (N
: Node_Id
; Val
: List_Id
) is
3522 pragma Assert
(False
3523 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3524 Set_List5_With_Parent
(N
, Val
);
3525 end Set_Exception_Handlers
;
3527 procedure Set_Exception_Junk
3528 (N
: Node_Id
; Val
: Boolean := True) is
3530 pragma Assert
(False
3531 or else NT
(N
).Nkind
= N_Goto_Statement
3532 or else NT
(N
).Nkind
= N_Label
3533 or else NT
(N
).Nkind
= N_Object_Declaration
3534 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3535 Set_Flag11
(N
, Val
);
3536 end Set_Exception_Junk
;
3538 procedure Set_Expansion_Delayed
3539 (N
: Node_Id
; Val
: Boolean := True) is
3541 pragma Assert
(False
3542 or else NT
(N
).Nkind
= N_Aggregate
3543 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3544 Set_Flag11
(N
, Val
);
3545 end Set_Expansion_Delayed
;
3547 procedure Set_Explicit_Actual_Parameter
3548 (N
: Node_Id
; Val
: Node_Id
) is
3550 pragma Assert
(False
3551 or else NT
(N
).Nkind
= N_Parameter_Association
);
3552 Set_Node3_With_Parent
(N
, Val
);
3553 end Set_Explicit_Actual_Parameter
;
3555 procedure Set_Explicit_Generic_Actual_Parameter
3556 (N
: Node_Id
; Val
: Node_Id
) is
3558 pragma Assert
(False
3559 or else NT
(N
).Nkind
= N_Generic_Association
);
3560 Set_Node1_With_Parent
(N
, Val
);
3561 end Set_Explicit_Generic_Actual_Parameter
;
3563 procedure Set_Expression
3564 (N
: Node_Id
; Val
: Node_Id
) is
3566 pragma Assert
(False
3567 or else NT
(N
).Nkind
= N_Allocator
3568 or else NT
(N
).Nkind
= N_Assignment_Statement
3569 or else NT
(N
).Nkind
= N_At_Clause
3570 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
3571 or else NT
(N
).Nkind
= N_Case_Statement
3572 or else NT
(N
).Nkind
= N_Code_Statement
3573 or else NT
(N
).Nkind
= N_Component_Association
3574 or else NT
(N
).Nkind
= N_Component_Declaration
3575 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
3576 or else NT
(N
).Nkind
= N_Delay_Until_Statement
3577 or else NT
(N
).Nkind
= N_Discriminant_Association
3578 or else NT
(N
).Nkind
= N_Discriminant_Specification
3579 or else NT
(N
).Nkind
= N_Exception_Declaration
3580 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3581 or else NT
(N
).Nkind
= N_Free_Statement
3582 or else NT
(N
).Nkind
= N_Mod_Clause
3583 or else NT
(N
).Nkind
= N_Modular_Type_Definition
3584 or else NT
(N
).Nkind
= N_Number_Declaration
3585 or else NT
(N
).Nkind
= N_Object_Declaration
3586 or else NT
(N
).Nkind
= N_Parameter_Specification
3587 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
3588 or else NT
(N
).Nkind
= N_Qualified_Expression
3589 or else NT
(N
).Nkind
= N_Return_Statement
3590 or else NT
(N
).Nkind
= N_Type_Conversion
3591 or else NT
(N
).Nkind
= N_Unchecked_Expression
3592 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
3593 Set_Node3_With_Parent
(N
, Val
);
3596 procedure Set_Expressions
3597 (N
: Node_Id
; Val
: List_Id
) is
3599 pragma Assert
(False
3600 or else NT
(N
).Nkind
= N_Aggregate
3601 or else NT
(N
).Nkind
= N_Attribute_Reference
3602 or else NT
(N
).Nkind
= N_Conditional_Expression
3603 or else NT
(N
).Nkind
= N_Extension_Aggregate
3604 or else NT
(N
).Nkind
= N_Indexed_Component
);
3605 Set_List1_With_Parent
(N
, Val
);
3606 end Set_Expressions
;
3608 procedure Set_First_Bit
3609 (N
: Node_Id
; Val
: Node_Id
) is
3611 pragma Assert
(False
3612 or else NT
(N
).Nkind
= N_Component_Clause
);
3613 Set_Node3_With_Parent
(N
, Val
);
3616 procedure Set_First_Inlined_Subprogram
3617 (N
: Node_Id
; Val
: Entity_Id
) is
3619 pragma Assert
(False
3620 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3621 Set_Node3
(N
, Val
); -- semantic field, no parent set
3622 end Set_First_Inlined_Subprogram
;
3624 procedure Set_First_Name
3625 (N
: Node_Id
; Val
: Boolean := True) is
3627 pragma Assert
(False
3628 or else NT
(N
).Nkind
= N_With_Clause
);
3632 procedure Set_First_Named_Actual
3633 (N
: Node_Id
; Val
: Node_Id
) is
3635 pragma Assert
(False
3636 or else NT
(N
).Nkind
= N_Entry_Call_Statement
3637 or else NT
(N
).Nkind
= N_Function_Call
3638 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3639 Set_Node4
(N
, Val
); -- semantic field, no parent set
3640 end Set_First_Named_Actual
;
3642 procedure Set_First_Real_Statement
3643 (N
: Node_Id
; Val
: Node_Id
) is
3645 pragma Assert
(False
3646 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3647 Set_Node2
(N
, Val
); -- semantic field, no parent set
3648 end Set_First_Real_Statement
;
3650 procedure Set_First_Subtype_Link
3651 (N
: Node_Id
; Val
: Entity_Id
) is
3653 pragma Assert
(False
3654 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3655 Set_Node5
(N
, Val
); -- semantic field, no parent set
3656 end Set_First_Subtype_Link
;
3658 procedure Set_Float_Truncate
3659 (N
: Node_Id
; Val
: Boolean := True) is
3661 pragma Assert
(False
3662 or else NT
(N
).Nkind
= N_Type_Conversion
);
3663 Set_Flag11
(N
, Val
);
3664 end Set_Float_Truncate
;
3666 procedure Set_Formal_Type_Definition
3667 (N
: Node_Id
; Val
: Node_Id
) is
3669 pragma Assert
(False
3670 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
3671 Set_Node3_With_Parent
(N
, Val
);
3672 end Set_Formal_Type_Definition
;
3674 procedure Set_Forwards_OK
3675 (N
: Node_Id
; Val
: Boolean := True) is
3677 pragma Assert
(False
3678 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3680 end Set_Forwards_OK
;
3682 procedure Set_From_At_Mod
3683 (N
: Node_Id
; Val
: Boolean := True) is
3685 pragma Assert
(False
3686 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3688 end Set_From_At_Mod
;
3690 procedure Set_From_Default
3691 (N
: Node_Id
; Val
: Boolean := True) is
3693 pragma Assert
(False
3694 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
3696 end Set_From_Default
;
3698 procedure Set_Generic_Associations
3699 (N
: Node_Id
; Val
: List_Id
) is
3701 pragma Assert
(False
3702 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3703 or else NT
(N
).Nkind
= N_Function_Instantiation
3704 or else NT
(N
).Nkind
= N_Package_Instantiation
3705 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
3706 Set_List3_With_Parent
(N
, Val
);
3707 end Set_Generic_Associations
;
3709 procedure Set_Generic_Formal_Declarations
3710 (N
: Node_Id
; Val
: List_Id
) is
3712 pragma Assert
(False
3713 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3714 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
3715 Set_List2_With_Parent
(N
, Val
);
3716 end Set_Generic_Formal_Declarations
;
3718 procedure Set_Generic_Parent
3719 (N
: Node_Id
; Val
: Node_Id
) is
3721 pragma Assert
(False
3722 or else NT
(N
).Nkind
= N_Function_Specification
3723 or else NT
(N
).Nkind
= N_Package_Specification
3724 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3726 end Set_Generic_Parent
;
3728 procedure Set_Generic_Parent_Type
3729 (N
: Node_Id
; Val
: Node_Id
) is
3731 pragma Assert
(False
3732 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3734 end Set_Generic_Parent_Type
;
3736 procedure Set_Handled_Statement_Sequence
3737 (N
: Node_Id
; Val
: Node_Id
) is
3739 pragma Assert
(False
3740 or else NT
(N
).Nkind
= N_Accept_Statement
3741 or else NT
(N
).Nkind
= N_Block_Statement
3742 or else NT
(N
).Nkind
= N_Entry_Body
3743 or else NT
(N
).Nkind
= N_Package_Body
3744 or else NT
(N
).Nkind
= N_Subprogram_Body
3745 or else NT
(N
).Nkind
= N_Task_Body
);
3746 Set_Node4_With_Parent
(N
, Val
);
3747 end Set_Handled_Statement_Sequence
;
3749 procedure Set_Handler_List_Entry
3750 (N
: Node_Id
; Val
: Node_Id
) is
3752 pragma Assert
(False
3753 or else NT
(N
).Nkind
= N_Object_Declaration
);
3755 end Set_Handler_List_Entry
;
3757 procedure Set_Has_Created_Identifier
3758 (N
: Node_Id
; Val
: Boolean := True) is
3760 pragma Assert
(False
3761 or else NT
(N
).Nkind
= N_Block_Statement
3762 or else NT
(N
).Nkind
= N_Loop_Statement
);
3763 Set_Flag15
(N
, Val
);
3764 end Set_Has_Created_Identifier
;
3766 procedure Set_Has_Dynamic_Length_Check
3767 (N
: Node_Id
; Val
: Boolean := True) is
3769 Set_Flag10
(N
, Val
);
3770 end Set_Has_Dynamic_Length_Check
;
3772 procedure Set_Has_Dynamic_Range_Check
3773 (N
: Node_Id
; Val
: Boolean := True) is
3775 Set_Flag12
(N
, Val
);
3776 end Set_Has_Dynamic_Range_Check
;
3778 procedure Set_Has_No_Elaboration_Code
3779 (N
: Node_Id
; Val
: Boolean := True) is
3781 pragma Assert
(False
3782 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3783 Set_Flag17
(N
, Val
);
3784 end Set_Has_No_Elaboration_Code
;
3786 procedure Set_Has_Priority_Pragma
3787 (N
: Node_Id
; Val
: Boolean := True) is
3789 pragma Assert
(False
3790 or else NT
(N
).Nkind
= N_Protected_Definition
3791 or else NT
(N
).Nkind
= N_Subprogram_Body
3792 or else NT
(N
).Nkind
= N_Task_Definition
);
3794 end Set_Has_Priority_Pragma
;
3796 procedure Set_Has_Private_View
3797 (N
: Node_Id
; Val
: Boolean := True) is
3799 pragma Assert
(False
3800 or else NT
(N
).Nkind
in N_Op
3801 or else NT
(N
).Nkind
= N_Character_Literal
3802 or else NT
(N
).Nkind
= N_Expanded_Name
3803 or else NT
(N
).Nkind
= N_Identifier
3804 or else NT
(N
).Nkind
= N_Operator_Symbol
);
3805 Set_Flag11
(N
, Val
);
3806 end Set_Has_Private_View
;
3808 procedure Set_Has_Storage_Size_Pragma
3809 (N
: Node_Id
; Val
: Boolean := True) is
3811 pragma Assert
(False
3812 or else NT
(N
).Nkind
= N_Task_Definition
);
3814 end Set_Has_Storage_Size_Pragma
;
3816 procedure Set_Has_Task_Info_Pragma
3817 (N
: Node_Id
; Val
: Boolean := True) is
3819 pragma Assert
(False
3820 or else NT
(N
).Nkind
= N_Task_Definition
);
3822 end Set_Has_Task_Info_Pragma
;
3824 procedure Set_Has_Task_Name_Pragma
3825 (N
: Node_Id
; Val
: Boolean := True) is
3827 pragma Assert
(False
3828 or else NT
(N
).Nkind
= N_Task_Definition
);
3830 end Set_Has_Task_Name_Pragma
;
3832 procedure Set_Has_Wide_Character
3833 (N
: Node_Id
; Val
: Boolean := True) is
3835 pragma Assert
(False
3836 or else NT
(N
).Nkind
= N_String_Literal
);
3837 Set_Flag11
(N
, Val
);
3838 end Set_Has_Wide_Character
;
3840 procedure Set_Hidden_By_Use_Clause
3841 (N
: Node_Id
; Val
: Elist_Id
) is
3843 pragma Assert
(False
3844 or else NT
(N
).Nkind
= N_Use_Package_Clause
3845 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
3846 Set_Elist4
(N
, Val
);
3847 end Set_Hidden_By_Use_Clause
;
3849 procedure Set_High_Bound
3850 (N
: Node_Id
; Val
: Node_Id
) is
3852 pragma Assert
(False
3853 or else NT
(N
).Nkind
= N_Range
3854 or else NT
(N
).Nkind
= N_Real_Range_Specification
3855 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
3856 Set_Node2_With_Parent
(N
, Val
);
3859 procedure Set_Identifier
3860 (N
: Node_Id
; Val
: Node_Id
) is
3862 pragma Assert
(False
3863 or else NT
(N
).Nkind
= N_At_Clause
3864 or else NT
(N
).Nkind
= N_Block_Statement
3865 or else NT
(N
).Nkind
= N_Designator
3866 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
3867 or else NT
(N
).Nkind
= N_Label
3868 or else NT
(N
).Nkind
= N_Loop_Statement
3869 or else NT
(N
).Nkind
= N_Record_Representation_Clause
3870 or else NT
(N
).Nkind
= N_Subprogram_Info
);
3871 Set_Node1_With_Parent
(N
, Val
);
3874 procedure Set_Implicit_With
3875 (N
: Node_Id
; Val
: Boolean := True) is
3877 pragma Assert
(False
3878 or else NT
(N
).Nkind
= N_With_Clause
);
3879 Set_Flag16
(N
, Val
);
3880 end Set_Implicit_With
;
3882 procedure Set_In_Present
3883 (N
: Node_Id
; Val
: Boolean := True) is
3885 pragma Assert
(False
3886 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3887 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3888 Set_Flag15
(N
, Val
);
3891 procedure Set_Includes_Infinities
3892 (N
: Node_Id
; Val
: Boolean := True) is
3894 pragma Assert
(False
3895 or else NT
(N
).Nkind
= N_Range
);
3896 Set_Flag11
(N
, Val
);
3897 end Set_Includes_Infinities
;
3899 procedure Set_Instance_Spec
3900 (N
: Node_Id
; Val
: Node_Id
) is
3902 pragma Assert
(False
3903 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3904 or else NT
(N
).Nkind
= N_Function_Instantiation
3905 or else NT
(N
).Nkind
= N_Package_Instantiation
3906 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
3907 Set_Node5
(N
, Val
); -- semantic field, no Parent set
3908 end Set_Instance_Spec
;
3910 procedure Set_Intval
3911 (N
: Node_Id
; Val
: Uint
) is
3913 pragma Assert
(False
3914 or else NT
(N
).Nkind
= N_Integer_Literal
);
3918 procedure Set_Is_Asynchronous_Call_Block
3919 (N
: Node_Id
; Val
: Boolean := True) is
3921 pragma Assert
(False
3922 or else NT
(N
).Nkind
= N_Block_Statement
);
3924 end Set_Is_Asynchronous_Call_Block
;
3926 procedure Set_Is_Component_Left_Opnd
3927 (N
: Node_Id
; Val
: Boolean := True) is
3929 pragma Assert
(False
3930 or else NT
(N
).Nkind
= N_Op_Concat
);
3931 Set_Flag13
(N
, Val
);
3932 end Set_Is_Component_Left_Opnd
;
3934 procedure Set_Is_Component_Right_Opnd
3935 (N
: Node_Id
; Val
: Boolean := True) is
3937 pragma Assert
(False
3938 or else NT
(N
).Nkind
= N_Op_Concat
);
3939 Set_Flag14
(N
, Val
);
3940 end Set_Is_Component_Right_Opnd
;
3942 procedure Set_Is_Controlling_Actual
3943 (N
: Node_Id
; Val
: Boolean := True) is
3945 pragma Assert
(False
3946 or else NT
(N
).Nkind
in N_Subexpr
);
3947 Set_Flag16
(N
, Val
);
3948 end Set_Is_Controlling_Actual
;
3950 procedure Set_Is_In_Discriminant_Check
3951 (N
: Node_Id
; Val
: Boolean := True) is
3953 pragma Assert
(False
3954 or else NT
(N
).Nkind
= N_Selected_Component
);
3955 Set_Flag11
(N
, Val
);
3956 end Set_Is_In_Discriminant_Check
;
3958 procedure Set_Is_Machine_Number
3959 (N
: Node_Id
; Val
: Boolean := True) is
3961 pragma Assert
(False
3962 or else NT
(N
).Nkind
= N_Real_Literal
);
3963 Set_Flag11
(N
, Val
);
3964 end Set_Is_Machine_Number
;
3966 procedure Set_Is_Null_Loop
3967 (N
: Node_Id
; Val
: Boolean := True) is
3969 pragma Assert
(False
3970 or else NT
(N
).Nkind
= N_Loop_Statement
);
3971 Set_Flag16
(N
, Val
);
3972 end Set_Is_Null_Loop
;
3974 procedure Set_Is_Overloaded
3975 (N
: Node_Id
; Val
: Boolean := True) is
3977 pragma Assert
(False
3978 or else NT
(N
).Nkind
in N_Subexpr
);
3980 end Set_Is_Overloaded
;
3982 procedure Set_Is_Power_Of_2_For_Shift
3983 (N
: Node_Id
; Val
: Boolean := True) is
3985 pragma Assert
(False
3986 or else NT
(N
).Nkind
= N_Op_Expon
);
3987 Set_Flag13
(N
, Val
);
3988 end Set_Is_Power_Of_2_For_Shift
;
3990 procedure Set_Is_Protected_Subprogram_Body
3991 (N
: Node_Id
; Val
: Boolean := True) is
3993 pragma Assert
(False
3994 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3996 end Set_Is_Protected_Subprogram_Body
;
3998 procedure Set_Is_Static_Expression
3999 (N
: Node_Id
; Val
: Boolean := True) is
4001 pragma Assert
(False
4002 or else NT
(N
).Nkind
in N_Subexpr
);
4004 end Set_Is_Static_Expression
;
4006 procedure Set_Is_Subprogram_Descriptor
4007 (N
: Node_Id
; Val
: Boolean := True) is
4009 pragma Assert
(False
4010 or else NT
(N
).Nkind
= N_Object_Declaration
);
4011 Set_Flag16
(N
, Val
);
4012 end Set_Is_Subprogram_Descriptor
;
4014 procedure Set_Is_Task_Allocation_Block
4015 (N
: Node_Id
; Val
: Boolean := True) is
4017 pragma Assert
(False
4018 or else NT
(N
).Nkind
= N_Block_Statement
);
4020 end Set_Is_Task_Allocation_Block
;
4022 procedure Set_Is_Task_Master
4023 (N
: Node_Id
; Val
: Boolean := True) is
4025 pragma Assert
(False
4026 or else NT
(N
).Nkind
= N_Block_Statement
4027 or else NT
(N
).Nkind
= N_Subprogram_Body
4028 or else NT
(N
).Nkind
= N_Task_Body
);
4030 end Set_Is_Task_Master
;
4032 procedure Set_Iteration_Scheme
4033 (N
: Node_Id
; Val
: Node_Id
) is
4035 pragma Assert
(False
4036 or else NT
(N
).Nkind
= N_Loop_Statement
);
4037 Set_Node2_With_Parent
(N
, Val
);
4038 end Set_Iteration_Scheme
;
4041 (N
: Node_Id
; Val
: Entity_Id
) is
4043 pragma Assert
(False
4044 or else NT
(N
).Nkind
= N_Itype_Reference
);
4045 Set_Node1
(N
, Val
); -- no parent, semantic field
4048 procedure Set_Kill_Range_Check
4049 (N
: Node_Id
; Val
: Boolean := True) is
4051 pragma Assert
(False
4052 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4053 Set_Flag11
(N
, Val
);
4054 end Set_Kill_Range_Check
;
4056 procedure Set_Label_Construct
4057 (N
: Node_Id
; Val
: Node_Id
) is
4059 pragma Assert
(False
4060 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
4061 Set_Node2
(N
, Val
); -- semantic field, no parent set
4062 end Set_Label_Construct
;
4064 procedure Set_Last_Bit
4065 (N
: Node_Id
; Val
: Node_Id
) is
4067 pragma Assert
(False
4068 or else NT
(N
).Nkind
= N_Component_Clause
);
4069 Set_Node4_With_Parent
(N
, Val
);
4072 procedure Set_Last_Name
4073 (N
: Node_Id
; Val
: Boolean := True) is
4075 pragma Assert
(False
4076 or else NT
(N
).Nkind
= N_With_Clause
);
4080 procedure Set_Left_Opnd
4081 (N
: Node_Id
; Val
: Node_Id
) is
4083 pragma Assert
(False
4084 or else NT
(N
).Nkind
= N_And_Then
4085 or else NT
(N
).Nkind
= N_In
4086 or else NT
(N
).Nkind
= N_Not_In
4087 or else NT
(N
).Nkind
= N_Or_Else
4088 or else NT
(N
).Nkind
in N_Binary_Op
);
4089 Set_Node2_With_Parent
(N
, Val
);
4092 procedure Set_Library_Unit
4093 (N
: Node_Id
; Val
: Node_Id
) is
4095 pragma Assert
(False
4096 or else NT
(N
).Nkind
= N_Compilation_Unit
4097 or else NT
(N
).Nkind
= N_Package_Body_Stub
4098 or else NT
(N
).Nkind
= N_Protected_Body_Stub
4099 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4100 or else NT
(N
).Nkind
= N_Task_Body_Stub
4101 or else NT
(N
).Nkind
= N_With_Clause
);
4102 Set_Node4
(N
, Val
); -- semantic field, no parent set
4103 end Set_Library_Unit
;
4105 procedure Set_Limited_View_Installed
4106 (N
: Node_Id
; Val
: Boolean := True) is
4108 pragma Assert
(False
4109 or else NT
(N
).Nkind
= N_Package_Specification
4110 or else NT
(N
).Nkind
= N_With_Clause
);
4111 Set_Flag18
(N
, Val
);
4112 end Set_Limited_View_Installed
;
4114 procedure Set_Limited_Present
4115 (N
: Node_Id
; Val
: Boolean := True) is
4117 pragma Assert
(False
4118 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
4119 or else NT
(N
).Nkind
= N_Private_Type_Declaration
4120 or else NT
(N
).Nkind
= N_Record_Definition
4121 or else NT
(N
).Nkind
= N_With_Clause
);
4122 Set_Flag17
(N
, Val
);
4123 end Set_Limited_Present
;
4125 procedure Set_Literals
4126 (N
: Node_Id
; Val
: List_Id
) is
4128 pragma Assert
(False
4129 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
4130 Set_List1_With_Parent
(N
, Val
);
4133 procedure Set_Loop_Actions
4134 (N
: Node_Id
; Val
: List_Id
) is
4136 pragma Assert
(False
4137 or else NT
(N
).Nkind
= N_Component_Association
);
4138 Set_List2
(N
, Val
); -- semantic field, no parent set
4139 end Set_Loop_Actions
;
4141 procedure Set_Loop_Parameter_Specification
4142 (N
: Node_Id
; Val
: Node_Id
) is
4144 pragma Assert
(False
4145 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
4146 Set_Node4_With_Parent
(N
, Val
);
4147 end Set_Loop_Parameter_Specification
;
4149 procedure Set_Low_Bound
4150 (N
: Node_Id
; Val
: Node_Id
) is
4152 pragma Assert
(False
4153 or else NT
(N
).Nkind
= N_Range
4154 or else NT
(N
).Nkind
= N_Real_Range_Specification
4155 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4156 Set_Node1_With_Parent
(N
, Val
);
4159 procedure Set_Mod_Clause
4160 (N
: Node_Id
; Val
: Node_Id
) is
4162 pragma Assert
(False
4163 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4164 Set_Node2_With_Parent
(N
, Val
);
4167 procedure Set_More_Ids
4168 (N
: Node_Id
; Val
: Boolean := True) is
4170 pragma Assert
(False
4171 or else NT
(N
).Nkind
= N_Component_Declaration
4172 or else NT
(N
).Nkind
= N_Discriminant_Specification
4173 or else NT
(N
).Nkind
= N_Exception_Declaration
4174 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4175 or else NT
(N
).Nkind
= N_Number_Declaration
4176 or else NT
(N
).Nkind
= N_Object_Declaration
4177 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4181 procedure Set_Must_Be_Byte_Aligned
4182 (N
: Node_Id
; Val
: Boolean := True) is
4184 pragma Assert
(False
4185 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4186 Set_Flag14
(N
, Val
);
4187 end Set_Must_Be_Byte_Aligned
;
4189 procedure Set_Must_Not_Freeze
4190 (N
: Node_Id
; Val
: Boolean := True) is
4192 pragma Assert
(False
4193 or else NT
(N
).Nkind
= N_Subtype_Indication
4194 or else NT
(N
).Nkind
in N_Subexpr
);
4196 end Set_Must_Not_Freeze
;
4199 (N
: Node_Id
; Val
: Node_Id
) is
4201 pragma Assert
(False
4202 or else NT
(N
).Nkind
= N_Assignment_Statement
4203 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4204 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
4205 or else NT
(N
).Nkind
= N_Designator
4206 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4207 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
4208 or else NT
(N
).Nkind
= N_Exit_Statement
4209 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4210 or else NT
(N
).Nkind
= N_Function_Call
4211 or else NT
(N
).Nkind
= N_Function_Instantiation
4212 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4213 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4214 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4215 or else NT
(N
).Nkind
= N_Goto_Statement
4216 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4217 or else NT
(N
).Nkind
= N_Package_Instantiation
4218 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4219 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
4220 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4221 or else NT
(N
).Nkind
= N_Raise_Statement
4222 or else NT
(N
).Nkind
= N_Requeue_Statement
4223 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
4224 or else NT
(N
).Nkind
= N_Subunit
4225 or else NT
(N
).Nkind
= N_Variant_Part
4226 or else NT
(N
).Nkind
= N_With_Clause
4227 or else NT
(N
).Nkind
= N_With_Type_Clause
);
4228 Set_Node2_With_Parent
(N
, Val
);
4232 (N
: Node_Id
; Val
: List_Id
) is
4234 pragma Assert
(False
4235 or else NT
(N
).Nkind
= N_Abort_Statement
4236 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
4237 Set_List2_With_Parent
(N
, Val
);
4240 procedure Set_Next_Entity
4241 (N
: Node_Id
; Val
: Node_Id
) is
4243 pragma Assert
(False
4244 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4245 or else NT
(N
).Nkind
= N_Defining_Identifier
4246 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4247 Set_Node2
(N
, Val
); -- semantic field, no parent set
4248 end Set_Next_Entity
;
4250 procedure Set_Next_Named_Actual
4251 (N
: Node_Id
; Val
: Node_Id
) is
4253 pragma Assert
(False
4254 or else NT
(N
).Nkind
= N_Parameter_Association
);
4255 Set_Node4
(N
, Val
); -- semantic field, no parent set
4256 end Set_Next_Named_Actual
;
4258 procedure Set_Next_Rep_Item
4259 (N
: Node_Id
; Val
: Node_Id
) is
4261 pragma Assert
(False
4262 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4263 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4264 or else NT
(N
).Nkind
= N_Pragma
4265 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4266 Set_Node4
(N
, Val
); -- semantic field, no parent set
4267 end Set_Next_Rep_Item
;
4269 procedure Set_Next_Use_Clause
4270 (N
: Node_Id
; Val
: Node_Id
) is
4272 pragma Assert
(False
4273 or else NT
(N
).Nkind
= N_Use_Package_Clause
4274 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4275 Set_Node3
(N
, Val
); -- semantic field, no parent set
4276 end Set_Next_Use_Clause
;
4278 procedure Set_No_Ctrl_Actions
4279 (N
: Node_Id
; Val
: Boolean := True) is
4281 pragma Assert
(False
4282 or else NT
(N
).Nkind
= N_Assignment_Statement
);
4284 end Set_No_Ctrl_Actions
;
4286 procedure Set_No_Elaboration_Check
4287 (N
: Node_Id
; Val
: Boolean := True) is
4289 pragma Assert
(False
4290 or else NT
(N
).Nkind
= N_Function_Call
4291 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4292 Set_Flag14
(N
, Val
);
4293 end Set_No_Elaboration_Check
;
4295 procedure Set_No_Entities_Ref_In_Spec
4296 (N
: Node_Id
; Val
: Boolean := True) is
4298 pragma Assert
(False
4299 or else NT
(N
).Nkind
= N_With_Clause
);
4301 end Set_No_Entities_Ref_In_Spec
;
4303 procedure Set_No_Initialization
4304 (N
: Node_Id
; Val
: Boolean := True) is
4306 pragma Assert
(False
4307 or else NT
(N
).Nkind
= N_Allocator
4308 or else NT
(N
).Nkind
= N_Object_Declaration
);
4309 Set_Flag13
(N
, Val
);
4310 end Set_No_Initialization
;
4312 procedure Set_No_Truncation
4313 (N
: Node_Id
; Val
: Boolean := True) is
4315 pragma Assert
(False
4316 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4317 Set_Flag17
(N
, Val
);
4318 end Set_No_Truncation
;
4320 procedure Set_Null_Present
4321 (N
: Node_Id
; Val
: Boolean := True) is
4323 pragma Assert
(False
4324 or else NT
(N
).Nkind
= N_Component_List
4325 or else NT
(N
).Nkind
= N_Record_Definition
);
4326 Set_Flag13
(N
, Val
);
4327 end Set_Null_Present
;
4329 procedure Set_Null_Exclusion_Present
4330 (N
: Node_Id
; Val
: Boolean := True) is
4332 pragma Assert
(False
4333 or else NT
(N
).Nkind
= N_Access_Definition
4334 or else NT
(N
).Nkind
= N_Access_Function_Definition
4335 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4336 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
4337 or else NT
(N
).Nkind
= N_Allocator
4338 or else NT
(N
).Nkind
= N_Component_Definition
4339 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4340 or else NT
(N
).Nkind
= N_Discriminant_Specification
4341 or else NT
(N
).Nkind
= N_Object_Declaration
4342 or else NT
(N
).Nkind
= N_Parameter_Specification
4343 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4345 end Set_Null_Exclusion_Present
;
4347 procedure Set_Null_Record_Present
4348 (N
: Node_Id
; Val
: Boolean := True) is
4350 pragma Assert
(False
4351 or else NT
(N
).Nkind
= N_Aggregate
4352 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4353 Set_Flag17
(N
, Val
);
4354 end Set_Null_Record_Present
;
4356 procedure Set_Object_Definition
4357 (N
: Node_Id
; Val
: Node_Id
) is
4359 pragma Assert
(False
4360 or else NT
(N
).Nkind
= N_Object_Declaration
);
4361 Set_Node4_With_Parent
(N
, Val
);
4362 end Set_Object_Definition
;
4364 procedure Set_OK_For_Stream
4365 (N
: Node_Id
; Val
: Boolean := True) is
4367 pragma Assert
(False
4368 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4370 end Set_OK_For_Stream
;
4372 procedure Set_Original_Discriminant
4373 (N
: Node_Id
; Val
: Node_Id
) is
4375 pragma Assert
(False
4376 or else NT
(N
).Nkind
= N_Identifier
);
4377 Set_Node2
(N
, Val
); -- semantic field, no parent set
4378 end Set_Original_Discriminant
;
4380 procedure Set_Original_Entity
4381 (N
: Node_Id
; Val
: Entity_Id
) is
4383 pragma Assert
(False
4384 or else NT
(N
).Nkind
= N_Integer_Literal
4385 or else NT
(N
).Nkind
= N_Real_Literal
);
4386 Set_Node2
(N
, Val
); -- semantic field, no parent set
4387 end Set_Original_Entity
;
4389 procedure Set_Others_Discrete_Choices
4390 (N
: Node_Id
; Val
: List_Id
) is
4392 pragma Assert
(False
4393 or else NT
(N
).Nkind
= N_Others_Choice
);
4394 Set_List1_With_Parent
(N
, Val
);
4395 end Set_Others_Discrete_Choices
;
4397 procedure Set_Out_Present
4398 (N
: Node_Id
; Val
: Boolean := True) is
4400 pragma Assert
(False
4401 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4402 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4403 Set_Flag17
(N
, Val
);
4404 end Set_Out_Present
;
4406 procedure Set_Parameter_Associations
4407 (N
: Node_Id
; Val
: List_Id
) is
4409 pragma Assert
(False
4410 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4411 or else NT
(N
).Nkind
= N_Function_Call
4412 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4413 Set_List3_With_Parent
(N
, Val
);
4414 end Set_Parameter_Associations
;
4416 procedure Set_Parameter_List_Truncated
4417 (N
: Node_Id
; Val
: Boolean := True) is
4419 pragma Assert
(False
4420 or else NT
(N
).Nkind
= N_Function_Call
4421 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4422 Set_Flag17
(N
, Val
);
4423 end Set_Parameter_List_Truncated
;
4425 procedure Set_Parameter_Specifications
4426 (N
: Node_Id
; Val
: List_Id
) is
4428 pragma Assert
(False
4429 or else NT
(N
).Nkind
= N_Accept_Statement
4430 or else NT
(N
).Nkind
= N_Access_Function_Definition
4431 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4432 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
4433 or else NT
(N
).Nkind
= N_Entry_Declaration
4434 or else NT
(N
).Nkind
= N_Function_Specification
4435 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4436 Set_List3_With_Parent
(N
, Val
);
4437 end Set_Parameter_Specifications
;
4439 procedure Set_Parameter_Type
4440 (N
: Node_Id
; Val
: Node_Id
) is
4442 pragma Assert
(False
4443 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4444 Set_Node2_With_Parent
(N
, Val
);
4445 end Set_Parameter_Type
;
4447 procedure Set_Parent_Spec
4448 (N
: Node_Id
; Val
: Node_Id
) is
4450 pragma Assert
(False
4451 or else NT
(N
).Nkind
= N_Function_Instantiation
4452 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4453 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4454 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4455 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4456 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4457 or else NT
(N
).Nkind
= N_Package_Declaration
4458 or else NT
(N
).Nkind
= N_Package_Instantiation
4459 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4460 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4461 or else NT
(N
).Nkind
= N_Subprogram_Declaration
4462 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4463 Set_Node4
(N
, Val
); -- semantic field, no parent set
4464 end Set_Parent_Spec
;
4466 procedure Set_Position
4467 (N
: Node_Id
; Val
: Node_Id
) is
4469 pragma Assert
(False
4470 or else NT
(N
).Nkind
= N_Component_Clause
);
4471 Set_Node2_With_Parent
(N
, Val
);
4474 procedure Set_Pragma_Argument_Associations
4475 (N
: Node_Id
; Val
: List_Id
) is
4477 pragma Assert
(False
4478 or else NT
(N
).Nkind
= N_Pragma
);
4479 Set_List2_With_Parent
(N
, Val
);
4480 end Set_Pragma_Argument_Associations
;
4482 procedure Set_Pragmas_After
4483 (N
: Node_Id
; Val
: List_Id
) is
4485 pragma Assert
(False
4486 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
4487 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
4488 Set_List5_With_Parent
(N
, Val
);
4489 end Set_Pragmas_After
;
4491 procedure Set_Pragmas_Before
4492 (N
: Node_Id
; Val
: List_Id
) is
4494 pragma Assert
(False
4495 or else NT
(N
).Nkind
= N_Accept_Alternative
4496 or else NT
(N
).Nkind
= N_Delay_Alternative
4497 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
4498 or else NT
(N
).Nkind
= N_Mod_Clause
4499 or else NT
(N
).Nkind
= N_Terminate_Alternative
4500 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4501 Set_List4_With_Parent
(N
, Val
);
4502 end Set_Pragmas_Before
;
4504 procedure Set_Prefix
4505 (N
: Node_Id
; Val
: Node_Id
) is
4507 pragma Assert
(False
4508 or else NT
(N
).Nkind
= N_Attribute_Reference
4509 or else NT
(N
).Nkind
= N_Expanded_Name
4510 or else NT
(N
).Nkind
= N_Explicit_Dereference
4511 or else NT
(N
).Nkind
= N_Indexed_Component
4512 or else NT
(N
).Nkind
= N_Reference
4513 or else NT
(N
).Nkind
= N_Selected_Component
4514 or else NT
(N
).Nkind
= N_Slice
);
4515 Set_Node3_With_Parent
(N
, Val
);
4518 procedure Set_Present_Expr
4519 (N
: Node_Id
; Val
: Uint
) is
4521 pragma Assert
(False
4522 or else NT
(N
).Nkind
= N_Variant
);
4524 end Set_Present_Expr
;
4526 procedure Set_Prev_Ids
4527 (N
: Node_Id
; Val
: Boolean := True) is
4529 pragma Assert
(False
4530 or else NT
(N
).Nkind
= N_Component_Declaration
4531 or else NT
(N
).Nkind
= N_Discriminant_Specification
4532 or else NT
(N
).Nkind
= N_Exception_Declaration
4533 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4534 or else NT
(N
).Nkind
= N_Number_Declaration
4535 or else NT
(N
).Nkind
= N_Object_Declaration
4536 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4540 procedure Set_Print_In_Hex
4541 (N
: Node_Id
; Val
: Boolean := True) is
4543 pragma Assert
(False
4544 or else NT
(N
).Nkind
= N_Integer_Literal
);
4545 Set_Flag13
(N
, Val
);
4546 end Set_Print_In_Hex
;
4548 procedure Set_Private_Declarations
4549 (N
: Node_Id
; Val
: List_Id
) is
4551 pragma Assert
(False
4552 or else NT
(N
).Nkind
= N_Package_Specification
4553 or else NT
(N
).Nkind
= N_Protected_Definition
4554 or else NT
(N
).Nkind
= N_Task_Definition
);
4555 Set_List3_With_Parent
(N
, Val
);
4556 end Set_Private_Declarations
;
4558 procedure Set_Private_Present
4559 (N
: Node_Id
; Val
: Boolean := True) is
4561 pragma Assert
(False
4562 or else NT
(N
).Nkind
= N_Compilation_Unit
4563 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4564 or else NT
(N
).Nkind
= N_With_Clause
);
4565 Set_Flag15
(N
, Val
);
4566 end Set_Private_Present
;
4568 procedure Set_Procedure_To_Call
4569 (N
: Node_Id
; Val
: Node_Id
) is
4571 pragma Assert
(False
4572 or else NT
(N
).Nkind
= N_Allocator
4573 or else NT
(N
).Nkind
= N_Free_Statement
4574 or else NT
(N
).Nkind
= N_Return_Statement
);
4575 Set_Node4
(N
, Val
); -- semantic field, no parent set
4576 end Set_Procedure_To_Call
;
4578 procedure Set_Proper_Body
4579 (N
: Node_Id
; Val
: Node_Id
) is
4581 pragma Assert
(False
4582 or else NT
(N
).Nkind
= N_Subunit
);
4583 Set_Node1_With_Parent
(N
, Val
);
4584 end Set_Proper_Body
;
4586 procedure Set_Protected_Definition
4587 (N
: Node_Id
; Val
: Node_Id
) is
4589 pragma Assert
(False
4590 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
4591 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
4592 Set_Node3_With_Parent
(N
, Val
);
4593 end Set_Protected_Definition
;
4595 procedure Set_Protected_Present
4596 (N
: Node_Id
; Val
: Boolean := True) is
4598 pragma Assert
(False
4599 or else NT
(N
).Nkind
= N_Access_Function_Definition
4600 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
);
4601 Set_Flag15
(N
, Val
);
4602 end Set_Protected_Present
;
4604 procedure Set_Raises_Constraint_Error
4605 (N
: Node_Id
; Val
: Boolean := True) is
4607 pragma Assert
(False
4608 or else NT
(N
).Nkind
in N_Subexpr
);
4610 end Set_Raises_Constraint_Error
;
4612 procedure Set_Range_Constraint
4613 (N
: Node_Id
; Val
: Node_Id
) is
4615 pragma Assert
(False
4616 or else NT
(N
).Nkind
= N_Delta_Constraint
4617 or else NT
(N
).Nkind
= N_Digits_Constraint
);
4618 Set_Node4_With_Parent
(N
, Val
);
4619 end Set_Range_Constraint
;
4621 procedure Set_Range_Expression
4622 (N
: Node_Id
; Val
: Node_Id
) is
4624 pragma Assert
(False
4625 or else NT
(N
).Nkind
= N_Range_Constraint
);
4626 Set_Node4_With_Parent
(N
, Val
);
4627 end Set_Range_Expression
;
4629 procedure Set_Real_Range_Specification
4630 (N
: Node_Id
; Val
: Node_Id
) is
4632 pragma Assert
(False
4633 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
4634 or else NT
(N
).Nkind
= N_Floating_Point_Definition
4635 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
4636 Set_Node4_With_Parent
(N
, Val
);
4637 end Set_Real_Range_Specification
;
4639 procedure Set_Realval
4640 (N
: Node_Id
; Val
: Ureal
) is
4642 pragma Assert
(False
4643 or else NT
(N
).Nkind
= N_Real_Literal
);
4644 Set_Ureal3
(N
, Val
);
4647 procedure Set_Reason
4648 (N
: Node_Id
; Val
: Uint
) is
4650 pragma Assert
(False
4651 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
4652 or else NT
(N
).Nkind
= N_Raise_Program_Error
4653 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
4657 procedure Set_Record_Extension_Part
4658 (N
: Node_Id
; Val
: Node_Id
) is
4660 pragma Assert
(False
4661 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
4662 Set_Node3_With_Parent
(N
, Val
);
4663 end Set_Record_Extension_Part
;
4665 procedure Set_Redundant_Use
4666 (N
: Node_Id
; Val
: Boolean := True) is
4668 pragma Assert
(False
4669 or else NT
(N
).Nkind
= N_Attribute_Reference
4670 or else NT
(N
).Nkind
= N_Expanded_Name
4671 or else NT
(N
).Nkind
= N_Identifier
);
4672 Set_Flag13
(N
, Val
);
4673 end Set_Redundant_Use
;
4675 procedure Set_Return_Type
4676 (N
: Node_Id
; Val
: Node_Id
) is
4678 pragma Assert
(False
4679 or else NT
(N
).Nkind
= N_Return_Statement
);
4680 Set_Node2
(N
, Val
); -- semantic field, no parent set
4681 end Set_Return_Type
;
4683 procedure Set_Reverse_Present
4684 (N
: Node_Id
; Val
: Boolean := True) is
4686 pragma Assert
(False
4687 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
4688 Set_Flag15
(N
, Val
);
4689 end Set_Reverse_Present
;
4691 procedure Set_Right_Opnd
4692 (N
: Node_Id
; Val
: Node_Id
) is
4694 pragma Assert
(False
4695 or else NT
(N
).Nkind
in N_Op
4696 or else NT
(N
).Nkind
= N_And_Then
4697 or else NT
(N
).Nkind
= N_In
4698 or else NT
(N
).Nkind
= N_Not_In
4699 or else NT
(N
).Nkind
= N_Or_Else
);
4700 Set_Node3_With_Parent
(N
, Val
);
4703 procedure Set_Rounded_Result
4704 (N
: Node_Id
; Val
: Boolean := True) is
4706 pragma Assert
(False
4707 or else NT
(N
).Nkind
= N_Op_Divide
4708 or else NT
(N
).Nkind
= N_Op_Multiply
4709 or else NT
(N
).Nkind
= N_Type_Conversion
);
4710 Set_Flag18
(N
, Val
);
4711 end Set_Rounded_Result
;
4714 (N
: Node_Id
; Val
: Node_Id
) is
4716 pragma Assert
(False
4717 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4718 or else NT
(N
).Nkind
= N_Defining_Identifier
4719 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4720 Set_Node3
(N
, Val
); -- semantic field, no parent set
4723 procedure Set_Select_Alternatives
4724 (N
: Node_Id
; Val
: List_Id
) is
4726 pragma Assert
(False
4727 or else NT
(N
).Nkind
= N_Selective_Accept
);
4728 Set_List1_With_Parent
(N
, Val
);
4729 end Set_Select_Alternatives
;
4731 procedure Set_Selector_Name
4732 (N
: Node_Id
; Val
: Node_Id
) is
4734 pragma Assert
(False
4735 or else NT
(N
).Nkind
= N_Expanded_Name
4736 or else NT
(N
).Nkind
= N_Generic_Association
4737 or else NT
(N
).Nkind
= N_Parameter_Association
4738 or else NT
(N
).Nkind
= N_Selected_Component
);
4739 Set_Node2_With_Parent
(N
, Val
);
4740 end Set_Selector_Name
;
4742 procedure Set_Selector_Names
4743 (N
: Node_Id
; Val
: List_Id
) is
4745 pragma Assert
(False
4746 or else NT
(N
).Nkind
= N_Discriminant_Association
);
4747 Set_List1_With_Parent
(N
, Val
);
4748 end Set_Selector_Names
;
4750 procedure Set_Shift_Count_OK
4751 (N
: Node_Id
; Val
: Boolean := True) is
4753 pragma Assert
(False
4754 or else NT
(N
).Nkind
= N_Op_Rotate_Left
4755 or else NT
(N
).Nkind
= N_Op_Rotate_Right
4756 or else NT
(N
).Nkind
= N_Op_Shift_Left
4757 or else NT
(N
).Nkind
= N_Op_Shift_Right
4758 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
4760 end Set_Shift_Count_OK
;
4762 procedure Set_Source_Type
4763 (N
: Node_Id
; Val
: Entity_Id
) is
4765 pragma Assert
(False
4766 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
4767 Set_Node1
(N
, Val
); -- semantic field, no parent set
4768 end Set_Source_Type
;
4770 procedure Set_Specification
4771 (N
: Node_Id
; Val
: Node_Id
) is
4773 pragma Assert
(False
4774 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
4775 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
4776 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4777 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4778 or else NT
(N
).Nkind
= N_Package_Declaration
4779 or else NT
(N
).Nkind
= N_Subprogram_Body
4780 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4781 or else NT
(N
).Nkind
= N_Subprogram_Declaration
4782 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4783 Set_Node1_With_Parent
(N
, Val
);
4784 end Set_Specification
;
4786 procedure Set_Statements
4787 (N
: Node_Id
; Val
: List_Id
) is
4789 pragma Assert
(False
4790 or else NT
(N
).Nkind
= N_Abortable_Part
4791 or else NT
(N
).Nkind
= N_Accept_Alternative
4792 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
4793 or else NT
(N
).Nkind
= N_Delay_Alternative
4794 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
4795 or else NT
(N
).Nkind
= N_Exception_Handler
4796 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
4797 or else NT
(N
).Nkind
= N_Loop_Statement
4798 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4799 Set_List3_With_Parent
(N
, Val
);
4802 procedure Set_Static_Processing_OK
4803 (N
: Node_Id
; Val
: Boolean) is
4805 pragma Assert
(False
4806 or else NT
(N
).Nkind
= N_Aggregate
);
4808 end Set_Static_Processing_OK
;
4810 procedure Set_Storage_Pool
4811 (N
: Node_Id
; Val
: Node_Id
) is
4813 pragma Assert
(False
4814 or else NT
(N
).Nkind
= N_Allocator
4815 or else NT
(N
).Nkind
= N_Free_Statement
4816 or else NT
(N
).Nkind
= N_Return_Statement
);
4817 Set_Node1
(N
, Val
); -- semantic field, no parent set
4818 end Set_Storage_Pool
;
4820 procedure Set_Strval
4821 (N
: Node_Id
; Val
: String_Id
) is
4823 pragma Assert
(False
4824 or else NT
(N
).Nkind
= N_Operator_Symbol
4825 or else NT
(N
).Nkind
= N_String_Literal
);
4829 procedure Set_Subtype_Indication
4830 (N
: Node_Id
; Val
: Node_Id
) is
4832 pragma Assert
(False
4833 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
4834 or else NT
(N
).Nkind
= N_Component_Definition
4835 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4836 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4837 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4838 Set_Node5_With_Parent
(N
, Val
);
4839 end Set_Subtype_Indication
;
4841 procedure Set_Subtype_Mark
4842 (N
: Node_Id
; Val
: Node_Id
) is
4844 pragma Assert
(False
4845 or else NT
(N
).Nkind
= N_Access_Definition
4846 or else NT
(N
).Nkind
= N_Access_Function_Definition
4847 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4848 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4849 or else NT
(N
).Nkind
= N_Function_Specification
4850 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4851 or else NT
(N
).Nkind
= N_Qualified_Expression
4852 or else NT
(N
).Nkind
= N_Subtype_Indication
4853 or else NT
(N
).Nkind
= N_Type_Conversion
4854 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4855 Set_Node4_With_Parent
(N
, Val
);
4856 end Set_Subtype_Mark
;
4858 procedure Set_Subtype_Marks
4859 (N
: Node_Id
; Val
: List_Id
) is
4861 pragma Assert
(False
4862 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
4863 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4864 Set_List2_With_Parent
(N
, Val
);
4865 end Set_Subtype_Marks
;
4867 procedure Set_Tagged_Present
4868 (N
: Node_Id
; Val
: Boolean := True) is
4870 pragma Assert
(False
4871 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
4872 or else NT
(N
).Nkind
= N_Private_Type_Declaration
4873 or else NT
(N
).Nkind
= N_Record_Definition
4874 or else NT
(N
).Nkind
= N_With_Type_Clause
);
4875 Set_Flag15
(N
, Val
);
4876 end Set_Tagged_Present
;
4878 procedure Set_Target_Type
4879 (N
: Node_Id
; Val
: Entity_Id
) is
4881 pragma Assert
(False
4882 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
4883 Set_Node2
(N
, Val
); -- semantic field, no parent set
4884 end Set_Target_Type
;
4886 procedure Set_Task_Body_Procedure
4887 (N
: Node_Id
; Val
: Entity_Id
) is
4889 pragma Assert
(False
4890 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4891 Set_Node2
(N
, Val
); -- semantic field, no parent set
4892 end Set_Task_Body_Procedure
;
4894 procedure Set_Task_Definition
4895 (N
: Node_Id
; Val
: Node_Id
) is
4897 pragma Assert
(False
4898 or else NT
(N
).Nkind
= N_Single_Task_Declaration
4899 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4900 Set_Node3_With_Parent
(N
, Val
);
4901 end Set_Task_Definition
;
4903 procedure Set_Then_Actions
4904 (N
: Node_Id
; Val
: List_Id
) is
4906 pragma Assert
(False
4907 or else NT
(N
).Nkind
= N_Conditional_Expression
);
4908 Set_List2
(N
, Val
); -- semantic field, no parent set
4909 end Set_Then_Actions
;
4911 procedure Set_Then_Statements
4912 (N
: Node_Id
; Val
: List_Id
) is
4914 pragma Assert
(False
4915 or else NT
(N
).Nkind
= N_Elsif_Part
4916 or else NT
(N
).Nkind
= N_If_Statement
);
4917 Set_List2_With_Parent
(N
, Val
);
4918 end Set_Then_Statements
;
4920 procedure Set_Treat_Fixed_As_Integer
4921 (N
: Node_Id
; Val
: Boolean := True) is
4923 pragma Assert
(False
4924 or else NT
(N
).Nkind
= N_Op_Divide
4925 or else NT
(N
).Nkind
= N_Op_Mod
4926 or else NT
(N
).Nkind
= N_Op_Multiply
4927 or else NT
(N
).Nkind
= N_Op_Rem
);
4928 Set_Flag14
(N
, Val
);
4929 end Set_Treat_Fixed_As_Integer
;
4931 procedure Set_Triggering_Alternative
4932 (N
: Node_Id
; Val
: Node_Id
) is
4934 pragma Assert
(False
4935 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
4936 Set_Node1_With_Parent
(N
, Val
);
4937 end Set_Triggering_Alternative
;
4939 procedure Set_Triggering_Statement
4940 (N
: Node_Id
; Val
: Node_Id
) is
4942 pragma Assert
(False
4943 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4944 Set_Node1_With_Parent
(N
, Val
);
4945 end Set_Triggering_Statement
;
4947 procedure Set_TSS_Elist
4948 (N
: Node_Id
; Val
: Elist_Id
) is
4950 pragma Assert
(False
4951 or else NT
(N
).Nkind
= N_Freeze_Entity
);
4952 Set_Elist3
(N
, Val
); -- semantic field, no parent set
4955 procedure Set_Type_Definition
4956 (N
: Node_Id
; Val
: Node_Id
) is
4958 pragma Assert
(False
4959 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
4960 Set_Node3_With_Parent
(N
, Val
);
4961 end Set_Type_Definition
;
4964 (N
: Node_Id
; Val
: Node_Id
) is
4966 pragma Assert
(False
4967 or else NT
(N
).Nkind
= N_Compilation_Unit
);
4968 Set_Node2_With_Parent
(N
, Val
);
4971 procedure Set_Unknown_Discriminants_Present
4972 (N
: Node_Id
; Val
: Boolean := True) is
4974 pragma Assert
(False
4975 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
4976 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
4977 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4978 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
4979 Set_Flag13
(N
, Val
);
4980 end Set_Unknown_Discriminants_Present
;
4982 procedure Set_Unreferenced_In_Spec
4983 (N
: Node_Id
; Val
: Boolean := True) is
4985 pragma Assert
(False
4986 or else NT
(N
).Nkind
= N_With_Clause
);
4988 end Set_Unreferenced_In_Spec
;
4990 procedure Set_Variant_Part
4991 (N
: Node_Id
; Val
: Node_Id
) is
4993 pragma Assert
(False
4994 or else NT
(N
).Nkind
= N_Component_List
);
4995 Set_Node4_With_Parent
(N
, Val
);
4996 end Set_Variant_Part
;
4998 procedure Set_Variants
4999 (N
: Node_Id
; Val
: List_Id
) is
5001 pragma Assert
(False
5002 or else NT
(N
).Nkind
= N_Variant_Part
);
5003 Set_List1_With_Parent
(N
, Val
);
5006 procedure Set_Visible_Declarations
5007 (N
: Node_Id
; Val
: List_Id
) is
5009 pragma Assert
(False
5010 or else NT
(N
).Nkind
= N_Package_Specification
5011 or else NT
(N
).Nkind
= N_Protected_Definition
5012 or else NT
(N
).Nkind
= N_Task_Definition
);
5013 Set_List2_With_Parent
(N
, Val
);
5014 end Set_Visible_Declarations
;
5016 procedure Set_Was_Originally_Stub
5017 (N
: Node_Id
; Val
: Boolean := True) is
5019 pragma Assert
(False
5020 or else NT
(N
).Nkind
= N_Package_Body
5021 or else NT
(N
).Nkind
= N_Protected_Body
5022 or else NT
(N
).Nkind
= N_Subprogram_Body
5023 or else NT
(N
).Nkind
= N_Task_Body
);
5024 Set_Flag13
(N
, Val
);
5025 end Set_Was_Originally_Stub
;
5027 procedure Set_Zero_Cost_Handling
5028 (N
: Node_Id
; Val
: Boolean := True) is
5030 pragma Assert
(False
5031 or else NT
(N
).Nkind
= N_Exception_Handler
5032 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
5034 end Set_Zero_Cost_Handling
;
5036 -------------------------
5037 -- Iterator Procedures --
5038 -------------------------
5040 procedure Next_Entity
(N
: in out Node_Id
) is
5042 N
:= Next_Entity
(N
);
5045 procedure Next_Named_Actual
(N
: in out Node_Id
) is
5047 N
:= Next_Named_Actual
(N
);
5048 end Next_Named_Actual
;
5050 procedure Next_Rep_Item
(N
: in out Node_Id
) is
5052 N
:= Next_Rep_Item
(N
);
5055 procedure Next_Use_Clause
(N
: in out Node_Id
) is
5057 N
:= Next_Use_Clause
(N
);
5058 end Next_Use_Clause
;
5064 function End_Location
(N
: Node_Id
) return Source_Ptr
is
5065 L
: constant Uint
:= End_Span
(N
);
5071 return Source_Ptr
(Int
(Sloc
(N
)) + UI_To_Int
(L
));
5075 ----------------------
5076 -- Set_End_Location --
5077 ----------------------
5079 procedure Set_End_Location
(N
: Node_Id
; S
: Source_Ptr
) is
5082 UI_From_Int
(Int
(S
) - Int
(Sloc
(N
))));
5083 end Set_End_Location
;