1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2005, 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
in 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 Uint
is
334 or else NT
(N
).Nkind
= N_Character_Literal
);
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_Formal_Spec
543 (N
: Node_Id
) return Node_Id
is
546 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
548 end Corresponding_Formal_Spec
;
550 function Corresponding_Generic_Association
551 (N
: Node_Id
) return Node_Id
is
554 or else NT
(N
).Nkind
= N_Object_Declaration
555 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
557 end Corresponding_Generic_Association
;
559 function Corresponding_Integer_Value
560 (N
: Node_Id
) return Uint
is
563 or else NT
(N
).Nkind
= N_Real_Literal
);
565 end Corresponding_Integer_Value
;
567 function Corresponding_Spec
568 (N
: Node_Id
) return Node_Id
is
571 or else NT
(N
).Nkind
= N_Package_Body
572 or else NT
(N
).Nkind
= N_Protected_Body
573 or else NT
(N
).Nkind
= N_Subprogram_Body
574 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
575 or else NT
(N
).Nkind
= N_Task_Body
576 or else NT
(N
).Nkind
= N_With_Clause
);
578 end Corresponding_Spec
;
580 function Corresponding_Stub
581 (N
: Node_Id
) return Node_Id
is
584 or else NT
(N
).Nkind
= N_Subunit
);
586 end Corresponding_Stub
;
588 function Dcheck_Function
589 (N
: Node_Id
) return Entity_Id
is
592 or else NT
(N
).Nkind
= N_Variant
);
596 function Debug_Statement
597 (N
: Node_Id
) return Node_Id
is
600 or else NT
(N
).Nkind
= N_Pragma
);
604 function Declarations
605 (N
: Node_Id
) return List_Id
is
608 or else NT
(N
).Nkind
= N_Accept_Statement
609 or else NT
(N
).Nkind
= N_Block_Statement
610 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
611 or else NT
(N
).Nkind
= N_Entry_Body
612 or else NT
(N
).Nkind
= N_Package_Body
613 or else NT
(N
).Nkind
= N_Protected_Body
614 or else NT
(N
).Nkind
= N_Subprogram_Body
615 or else NT
(N
).Nkind
= N_Task_Body
);
619 function Default_Expression
620 (N
: Node_Id
) return Node_Id
is
623 or else NT
(N
).Nkind
= N_Parameter_Specification
);
625 end Default_Expression
;
627 function Default_Name
628 (N
: Node_Id
) return Node_Id
is
631 or else NT
(N
).Nkind
in N_Formal_Subprogram_Declaration
);
635 function Defining_Identifier
636 (N
: Node_Id
) return Entity_Id
is
639 or else NT
(N
).Nkind
= N_Component_Declaration
640 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
641 or else NT
(N
).Nkind
= N_Discriminant_Specification
642 or else NT
(N
).Nkind
= N_Entry_Body
643 or else NT
(N
).Nkind
= N_Entry_Declaration
644 or else NT
(N
).Nkind
= N_Entry_Index_Specification
645 or else NT
(N
).Nkind
= N_Exception_Declaration
646 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
647 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
648 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
649 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
650 or else NT
(N
).Nkind
= N_Full_Type_Declaration
651 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
652 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
653 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
654 or else NT
(N
).Nkind
= N_Number_Declaration
655 or else NT
(N
).Nkind
= N_Object_Declaration
656 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
657 or else NT
(N
).Nkind
= N_Package_Body_Stub
658 or else NT
(N
).Nkind
= N_Parameter_Specification
659 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
660 or else NT
(N
).Nkind
= N_Private_Type_Declaration
661 or else NT
(N
).Nkind
= N_Protected_Body
662 or else NT
(N
).Nkind
= N_Protected_Body_Stub
663 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
664 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
665 or else NT
(N
).Nkind
= N_Single_Task_Declaration
666 or else NT
(N
).Nkind
= N_Subtype_Declaration
667 or else NT
(N
).Nkind
= N_Task_Body
668 or else NT
(N
).Nkind
= N_Task_Body_Stub
669 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
671 end Defining_Identifier
;
673 function Defining_Unit_Name
674 (N
: Node_Id
) return Node_Id
is
677 or else NT
(N
).Nkind
= N_Function_Instantiation
678 or else NT
(N
).Nkind
= N_Function_Specification
679 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
680 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
681 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
682 or else NT
(N
).Nkind
= N_Package_Body
683 or else NT
(N
).Nkind
= N_Package_Instantiation
684 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
685 or else NT
(N
).Nkind
= N_Package_Specification
686 or else NT
(N
).Nkind
= N_Procedure_Instantiation
687 or else NT
(N
).Nkind
= N_Procedure_Specification
);
689 end Defining_Unit_Name
;
691 function Delay_Alternative
692 (N
: Node_Id
) return Node_Id
is
695 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
697 end Delay_Alternative
;
699 function Delay_Finalize_Attach
700 (N
: Node_Id
) return Boolean is
703 or else NT
(N
).Nkind
= N_Object_Declaration
);
705 end Delay_Finalize_Attach
;
707 function Delay_Statement
708 (N
: Node_Id
) return Node_Id
is
711 or else NT
(N
).Nkind
= N_Delay_Alternative
);
715 function Delta_Expression
716 (N
: Node_Id
) return Node_Id
is
719 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
720 or else NT
(N
).Nkind
= N_Delta_Constraint
721 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
723 end Delta_Expression
;
725 function Digits_Expression
726 (N
: Node_Id
) return Node_Id
is
729 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
730 or else NT
(N
).Nkind
= N_Digits_Constraint
731 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
733 end Digits_Expression
;
735 function Discr_Check_Funcs_Built
736 (N
: Node_Id
) return Boolean is
739 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
741 end Discr_Check_Funcs_Built
;
743 function Discrete_Choices
744 (N
: Node_Id
) return List_Id
is
747 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
748 or else NT
(N
).Nkind
= N_Variant
);
750 end Discrete_Choices
;
752 function Discrete_Range
753 (N
: Node_Id
) return Node_Id
is
756 or else NT
(N
).Nkind
= N_Slice
);
760 function Discrete_Subtype_Definition
761 (N
: Node_Id
) return Node_Id
is
764 or else NT
(N
).Nkind
= N_Entry_Declaration
765 or else NT
(N
).Nkind
= N_Entry_Index_Specification
766 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
768 end Discrete_Subtype_Definition
;
770 function Discrete_Subtype_Definitions
771 (N
: Node_Id
) return List_Id
is
774 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
776 end Discrete_Subtype_Definitions
;
778 function Discriminant_Specifications
779 (N
: Node_Id
) return List_Id
is
782 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
783 or else NT
(N
).Nkind
= N_Full_Type_Declaration
784 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
785 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
786 or else NT
(N
).Nkind
= N_Private_Type_Declaration
787 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
788 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
790 end Discriminant_Specifications
;
792 function Discriminant_Type
793 (N
: Node_Id
) return Node_Id
is
796 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
798 end Discriminant_Type
;
800 function Do_Accessibility_Check
801 (N
: Node_Id
) return Boolean is
804 or else NT
(N
).Nkind
= N_Parameter_Specification
);
806 end Do_Accessibility_Check
;
808 function Do_Discriminant_Check
809 (N
: Node_Id
) return Boolean is
812 or else NT
(N
).Nkind
= N_Selected_Component
);
814 end Do_Discriminant_Check
;
816 function Do_Division_Check
817 (N
: Node_Id
) return Boolean is
820 or else NT
(N
).Nkind
= N_Op_Divide
821 or else NT
(N
).Nkind
= N_Op_Mod
822 or else NT
(N
).Nkind
= N_Op_Rem
);
824 end Do_Division_Check
;
826 function Do_Length_Check
827 (N
: Node_Id
) return Boolean is
830 or else NT
(N
).Nkind
= N_Assignment_Statement
831 or else NT
(N
).Nkind
= N_Op_And
832 or else NT
(N
).Nkind
= N_Op_Or
833 or else NT
(N
).Nkind
= N_Op_Xor
834 or else NT
(N
).Nkind
= N_Type_Conversion
);
838 function Do_Overflow_Check
839 (N
: Node_Id
) return Boolean is
842 or else NT
(N
).Nkind
in N_Op
843 or else NT
(N
).Nkind
= N_Attribute_Reference
844 or else NT
(N
).Nkind
= N_Type_Conversion
);
846 end Do_Overflow_Check
;
848 function Do_Range_Check
849 (N
: Node_Id
) return Boolean is
852 or else NT
(N
).Nkind
in N_Subexpr
);
856 function Do_Storage_Check
857 (N
: Node_Id
) return Boolean is
860 or else NT
(N
).Nkind
= N_Allocator
861 or else NT
(N
).Nkind
= N_Subprogram_Body
);
863 end Do_Storage_Check
;
865 function Do_Tag_Check
866 (N
: Node_Id
) return Boolean is
869 or else NT
(N
).Nkind
= N_Assignment_Statement
870 or else NT
(N
).Nkind
= N_Function_Call
871 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
872 or else NT
(N
).Nkind
= N_Return_Statement
873 or else NT
(N
).Nkind
= N_Type_Conversion
);
877 function Elaborate_All_Present
878 (N
: Node_Id
) return Boolean is
881 or else NT
(N
).Nkind
= N_With_Clause
);
883 end Elaborate_All_Present
;
885 function Elaborate_Present
886 (N
: Node_Id
) return Boolean is
889 or else NT
(N
).Nkind
= N_With_Clause
);
891 end Elaborate_Present
;
893 function Elaboration_Boolean
894 (N
: Node_Id
) return Node_Id
is
897 or else NT
(N
).Nkind
= N_Function_Specification
898 or else NT
(N
).Nkind
= N_Procedure_Specification
);
900 end Elaboration_Boolean
;
902 function Else_Actions
903 (N
: Node_Id
) return List_Id
is
906 or else NT
(N
).Nkind
= N_Conditional_Expression
);
910 function Else_Statements
911 (N
: Node_Id
) return List_Id
is
914 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
915 or else NT
(N
).Nkind
= N_If_Statement
916 or else NT
(N
).Nkind
= N_Selective_Accept
);
921 (N
: Node_Id
) return List_Id
is
924 or else NT
(N
).Nkind
= N_If_Statement
);
928 function Enclosing_Variant
929 (N
: Node_Id
) return Node_Id
is
932 or else NT
(N
).Nkind
= N_Variant
);
934 end Enclosing_Variant
;
937 (N
: Node_Id
) return Node_Id
is
940 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
941 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
942 or else NT
(N
).Nkind
= N_Loop_Statement
943 or else NT
(N
).Nkind
= N_Package_Specification
944 or else NT
(N
).Nkind
= N_Protected_Body
945 or else NT
(N
).Nkind
= N_Protected_Definition
946 or else NT
(N
).Nkind
= N_Record_Definition
947 or else NT
(N
).Nkind
= N_Task_Definition
);
952 (N
: Node_Id
) return Uint
is
955 or else NT
(N
).Nkind
= N_Case_Statement
956 or else NT
(N
).Nkind
= N_If_Statement
);
961 (N
: Node_Id
) return Node_Id
is
964 or else NT
(N
).Nkind
in N_Has_Entity
965 or else NT
(N
).Nkind
= N_Freeze_Entity
);
969 function Entity_Or_Associated_Node
970 (N
: Node_Id
) return Node_Id
is
973 or else NT
(N
).Nkind
in N_Has_Entity
974 or else NT
(N
).Nkind
= N_Freeze_Entity
);
976 end Entity_Or_Associated_Node
;
978 function Entry_Body_Formal_Part
979 (N
: Node_Id
) return Node_Id
is
982 or else NT
(N
).Nkind
= N_Entry_Body
);
984 end Entry_Body_Formal_Part
;
986 function Entry_Call_Alternative
987 (N
: Node_Id
) return Node_Id
is
990 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
991 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
993 end Entry_Call_Alternative
;
995 function Entry_Call_Statement
996 (N
: Node_Id
) return Node_Id
is
999 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
1001 end Entry_Call_Statement
;
1003 function Entry_Direct_Name
1004 (N
: Node_Id
) return Node_Id
is
1006 pragma Assert
(False
1007 or else NT
(N
).Nkind
= N_Accept_Statement
);
1009 end Entry_Direct_Name
;
1011 function Entry_Index
1012 (N
: Node_Id
) return Node_Id
is
1014 pragma Assert
(False
1015 or else NT
(N
).Nkind
= N_Accept_Statement
);
1019 function Entry_Index_Specification
1020 (N
: Node_Id
) return Node_Id
is
1022 pragma Assert
(False
1023 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
1025 end Entry_Index_Specification
;
1028 (N
: Node_Id
) return Node_Id
is
1030 pragma Assert
(False
1031 or else NT
(N
).Nkind
in N_Has_Etype
);
1035 function Exception_Choices
1036 (N
: Node_Id
) return List_Id
is
1038 pragma Assert
(False
1039 or else NT
(N
).Nkind
= N_Exception_Handler
);
1041 end Exception_Choices
;
1043 function Exception_Handlers
1044 (N
: Node_Id
) return List_Id
is
1046 pragma Assert
(False
1047 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1049 end Exception_Handlers
;
1051 function Exception_Junk
1052 (N
: Node_Id
) return Boolean is
1054 pragma Assert
(False
1055 or else NT
(N
).Nkind
= N_Goto_Statement
1056 or else NT
(N
).Nkind
= N_Label
1057 or else NT
(N
).Nkind
= N_Object_Declaration
1058 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1062 function Expansion_Delayed
1063 (N
: Node_Id
) return Boolean is
1065 pragma Assert
(False
1066 or else NT
(N
).Nkind
= N_Aggregate
1067 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1069 end Expansion_Delayed
;
1071 function Explicit_Actual_Parameter
1072 (N
: Node_Id
) return Node_Id
is
1074 pragma Assert
(False
1075 or else NT
(N
).Nkind
= N_Parameter_Association
);
1077 end Explicit_Actual_Parameter
;
1079 function Explicit_Generic_Actual_Parameter
1080 (N
: Node_Id
) return Node_Id
is
1082 pragma Assert
(False
1083 or else NT
(N
).Nkind
= N_Generic_Association
);
1085 end Explicit_Generic_Actual_Parameter
;
1088 (N
: Node_Id
) return Node_Id
is
1090 pragma Assert
(False
1091 or else NT
(N
).Nkind
= N_Allocator
1092 or else NT
(N
).Nkind
= N_Assignment_Statement
1093 or else NT
(N
).Nkind
= N_At_Clause
1094 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1095 or else NT
(N
).Nkind
= N_Case_Statement
1096 or else NT
(N
).Nkind
= N_Code_Statement
1097 or else NT
(N
).Nkind
= N_Component_Association
1098 or else NT
(N
).Nkind
= N_Component_Declaration
1099 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
1100 or else NT
(N
).Nkind
= N_Delay_Until_Statement
1101 or else NT
(N
).Nkind
= N_Discriminant_Association
1102 or else NT
(N
).Nkind
= N_Discriminant_Specification
1103 or else NT
(N
).Nkind
= N_Exception_Declaration
1104 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1105 or else NT
(N
).Nkind
= N_Free_Statement
1106 or else NT
(N
).Nkind
= N_Mod_Clause
1107 or else NT
(N
).Nkind
= N_Modular_Type_Definition
1108 or else NT
(N
).Nkind
= N_Number_Declaration
1109 or else NT
(N
).Nkind
= N_Object_Declaration
1110 or else NT
(N
).Nkind
= N_Parameter_Specification
1111 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
1112 or else NT
(N
).Nkind
= N_Qualified_Expression
1113 or else NT
(N
).Nkind
= N_Return_Statement
1114 or else NT
(N
).Nkind
= N_Type_Conversion
1115 or else NT
(N
).Nkind
= N_Unchecked_Expression
1116 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1120 function Expressions
1121 (N
: Node_Id
) return List_Id
is
1123 pragma Assert
(False
1124 or else NT
(N
).Nkind
= N_Aggregate
1125 or else NT
(N
).Nkind
= N_Attribute_Reference
1126 or else NT
(N
).Nkind
= N_Conditional_Expression
1127 or else NT
(N
).Nkind
= N_Extension_Aggregate
1128 or else NT
(N
).Nkind
= N_Indexed_Component
);
1133 (N
: Node_Id
) return Node_Id
is
1135 pragma Assert
(False
1136 or else NT
(N
).Nkind
= N_Component_Clause
);
1140 function First_Inlined_Subprogram
1141 (N
: Node_Id
) return Entity_Id
is
1143 pragma Assert
(False
1144 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1146 end First_Inlined_Subprogram
;
1149 (N
: Node_Id
) return Boolean is
1151 pragma Assert
(False
1152 or else NT
(N
).Nkind
= N_With_Clause
);
1156 function First_Named_Actual
1157 (N
: Node_Id
) return Node_Id
is
1159 pragma Assert
(False
1160 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1161 or else NT
(N
).Nkind
= N_Function_Call
1162 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1164 end First_Named_Actual
;
1166 function First_Real_Statement
1167 (N
: Node_Id
) return Node_Id
is
1169 pragma Assert
(False
1170 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1172 end First_Real_Statement
;
1174 function First_Subtype_Link
1175 (N
: Node_Id
) return Entity_Id
is
1177 pragma Assert
(False
1178 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1180 end First_Subtype_Link
;
1182 function Float_Truncate
1183 (N
: Node_Id
) return Boolean is
1185 pragma Assert
(False
1186 or else NT
(N
).Nkind
= N_Type_Conversion
);
1190 function Formal_Type_Definition
1191 (N
: Node_Id
) return Node_Id
is
1193 pragma Assert
(False
1194 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
1196 end Formal_Type_Definition
;
1198 function Forwards_OK
1199 (N
: Node_Id
) return Boolean is
1201 pragma Assert
(False
1202 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1206 function From_At_Mod
1207 (N
: Node_Id
) return Boolean is
1209 pragma Assert
(False
1210 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1214 function From_Default
1215 (N
: Node_Id
) return Boolean is
1217 pragma Assert
(False
1218 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
1222 function Generic_Associations
1223 (N
: Node_Id
) return List_Id
is
1225 pragma Assert
(False
1226 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1227 or else NT
(N
).Nkind
= N_Function_Instantiation
1228 or else NT
(N
).Nkind
= N_Package_Instantiation
1229 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1231 end Generic_Associations
;
1233 function Generic_Formal_Declarations
1234 (N
: Node_Id
) return List_Id
is
1236 pragma Assert
(False
1237 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1238 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
1240 end Generic_Formal_Declarations
;
1242 function Generic_Parent
1243 (N
: Node_Id
) return Node_Id
is
1245 pragma Assert
(False
1246 or else NT
(N
).Nkind
= N_Function_Specification
1247 or else NT
(N
).Nkind
= N_Package_Specification
1248 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1252 function Generic_Parent_Type
1253 (N
: Node_Id
) return Node_Id
is
1255 pragma Assert
(False
1256 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1258 end Generic_Parent_Type
;
1260 function Handled_Statement_Sequence
1261 (N
: Node_Id
) return Node_Id
is
1263 pragma Assert
(False
1264 or else NT
(N
).Nkind
= N_Accept_Statement
1265 or else NT
(N
).Nkind
= N_Block_Statement
1266 or else NT
(N
).Nkind
= N_Entry_Body
1267 or else NT
(N
).Nkind
= N_Package_Body
1268 or else NT
(N
).Nkind
= N_Subprogram_Body
1269 or else NT
(N
).Nkind
= N_Task_Body
);
1271 end Handled_Statement_Sequence
;
1273 function Handler_List_Entry
1274 (N
: Node_Id
) return Node_Id
is
1276 pragma Assert
(False
1277 or else NT
(N
).Nkind
= N_Object_Declaration
);
1279 end Handler_List_Entry
;
1281 function Has_Created_Identifier
1282 (N
: Node_Id
) return Boolean is
1284 pragma Assert
(False
1285 or else NT
(N
).Nkind
= N_Block_Statement
1286 or else NT
(N
).Nkind
= N_Loop_Statement
);
1288 end Has_Created_Identifier
;
1290 function Has_Dynamic_Length_Check
1291 (N
: Node_Id
) return Boolean is
1294 end Has_Dynamic_Length_Check
;
1296 function Has_Dynamic_Range_Check
1297 (N
: Node_Id
) return Boolean is
1300 end Has_Dynamic_Range_Check
;
1302 function Has_No_Elaboration_Code
1303 (N
: Node_Id
) return Boolean is
1305 pragma Assert
(False
1306 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1308 end Has_No_Elaboration_Code
;
1310 function Has_Priority_Pragma
1311 (N
: Node_Id
) return Boolean is
1313 pragma Assert
(False
1314 or else NT
(N
).Nkind
= N_Protected_Definition
1315 or else NT
(N
).Nkind
= N_Subprogram_Body
1316 or else NT
(N
).Nkind
= N_Task_Definition
);
1318 end Has_Priority_Pragma
;
1320 function Has_Private_View
1321 (N
: Node_Id
) return Boolean is
1323 pragma Assert
(False
1324 or else NT
(N
).Nkind
in N_Op
1325 or else NT
(N
).Nkind
= N_Character_Literal
1326 or else NT
(N
).Nkind
= N_Expanded_Name
1327 or else NT
(N
).Nkind
= N_Identifier
1328 or else NT
(N
).Nkind
= N_Operator_Symbol
);
1330 end Has_Private_View
;
1332 function Has_Storage_Size_Pragma
1333 (N
: Node_Id
) return Boolean is
1335 pragma Assert
(False
1336 or else NT
(N
).Nkind
= N_Task_Definition
);
1338 end Has_Storage_Size_Pragma
;
1340 function Has_Task_Info_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_Info_Pragma
;
1348 function Has_Task_Name_Pragma
1349 (N
: Node_Id
) return Boolean is
1351 pragma Assert
(False
1352 or else NT
(N
).Nkind
= N_Task_Definition
);
1354 end Has_Task_Name_Pragma
;
1356 function Has_Wide_Character
1357 (N
: Node_Id
) return Boolean is
1359 pragma Assert
(False
1360 or else NT
(N
).Nkind
= N_String_Literal
);
1362 end Has_Wide_Character
;
1364 function Hidden_By_Use_Clause
1365 (N
: Node_Id
) return Elist_Id
is
1367 pragma Assert
(False
1368 or else NT
(N
).Nkind
= N_Use_Package_Clause
1369 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1371 end Hidden_By_Use_Clause
;
1374 (N
: Node_Id
) return Node_Id
is
1376 pragma Assert
(False
1377 or else NT
(N
).Nkind
= N_Range
1378 or else NT
(N
).Nkind
= N_Real_Range_Specification
1379 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1384 (N
: Node_Id
) return Node_Id
is
1386 pragma Assert
(False
1387 or else NT
(N
).Nkind
= N_At_Clause
1388 or else NT
(N
).Nkind
= N_Block_Statement
1389 or else NT
(N
).Nkind
= N_Designator
1390 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1391 or else NT
(N
).Nkind
= N_Label
1392 or else NT
(N
).Nkind
= N_Loop_Statement
1393 or else NT
(N
).Nkind
= N_Record_Representation_Clause
1394 or else NT
(N
).Nkind
= N_Subprogram_Info
);
1398 function Implicit_With
1399 (N
: Node_Id
) return Boolean is
1401 pragma Assert
(False
1402 or else NT
(N
).Nkind
= N_With_Clause
);
1407 (N
: Node_Id
) return Boolean is
1409 pragma Assert
(False
1410 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1411 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1415 function Includes_Infinities
1416 (N
: Node_Id
) return Boolean is
1418 pragma Assert
(False
1419 or else NT
(N
).Nkind
= N_Range
);
1421 end Includes_Infinities
;
1423 function Instance_Spec
1424 (N
: Node_Id
) return Node_Id
is
1426 pragma Assert
(False
1427 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1428 or else NT
(N
).Nkind
= N_Function_Instantiation
1429 or else NT
(N
).Nkind
= N_Package_Instantiation
1430 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1435 (N
: Node_Id
) return Uint
is
1437 pragma Assert
(False
1438 or else NT
(N
).Nkind
= N_Integer_Literal
);
1442 function Is_Asynchronous_Call_Block
1443 (N
: Node_Id
) return Boolean is
1445 pragma Assert
(False
1446 or else NT
(N
).Nkind
= N_Block_Statement
);
1448 end Is_Asynchronous_Call_Block
;
1450 function Is_Component_Left_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_Left_Opnd
;
1458 function Is_Component_Right_Opnd
1459 (N
: Node_Id
) return Boolean is
1461 pragma Assert
(False
1462 or else NT
(N
).Nkind
= N_Op_Concat
);
1464 end Is_Component_Right_Opnd
;
1466 function Is_Controlling_Actual
1467 (N
: Node_Id
) return Boolean is
1469 pragma Assert
(False
1470 or else NT
(N
).Nkind
in N_Subexpr
);
1472 end Is_Controlling_Actual
;
1474 function Is_In_Discriminant_Check
1475 (N
: Node_Id
) return Boolean is
1477 pragma Assert
(False
1478 or else NT
(N
).Nkind
= N_Selected_Component
);
1480 end Is_In_Discriminant_Check
;
1482 function Is_Machine_Number
1483 (N
: Node_Id
) return Boolean is
1485 pragma Assert
(False
1486 or else NT
(N
).Nkind
= N_Real_Literal
);
1488 end Is_Machine_Number
;
1490 function Is_Null_Loop
1491 (N
: Node_Id
) return Boolean is
1493 pragma Assert
(False
1494 or else NT
(N
).Nkind
= N_Loop_Statement
);
1498 function Is_Overloaded
1499 (N
: Node_Id
) return Boolean is
1501 pragma Assert
(False
1502 or else NT
(N
).Nkind
in N_Subexpr
);
1506 function Is_Power_Of_2_For_Shift
1507 (N
: Node_Id
) return Boolean is
1509 pragma Assert
(False
1510 or else NT
(N
).Nkind
= N_Op_Expon
);
1512 end Is_Power_Of_2_For_Shift
;
1514 function Is_Protected_Subprogram_Body
1515 (N
: Node_Id
) return Boolean is
1517 pragma Assert
(False
1518 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1520 end Is_Protected_Subprogram_Body
;
1522 function Is_Static_Expression
1523 (N
: Node_Id
) return Boolean is
1525 pragma Assert
(False
1526 or else NT
(N
).Nkind
in N_Subexpr
);
1528 end Is_Static_Expression
;
1530 function Is_Subprogram_Descriptor
1531 (N
: Node_Id
) return Boolean is
1533 pragma Assert
(False
1534 or else NT
(N
).Nkind
= N_Object_Declaration
);
1536 end Is_Subprogram_Descriptor
;
1538 function Is_Task_Allocation_Block
1539 (N
: Node_Id
) return Boolean is
1541 pragma Assert
(False
1542 or else NT
(N
).Nkind
= N_Block_Statement
);
1544 end Is_Task_Allocation_Block
;
1546 function Is_Task_Master
1547 (N
: Node_Id
) return Boolean is
1549 pragma Assert
(False
1550 or else NT
(N
).Nkind
= N_Block_Statement
1551 or else NT
(N
).Nkind
= N_Subprogram_Body
1552 or else NT
(N
).Nkind
= N_Task_Body
);
1556 function Iteration_Scheme
1557 (N
: Node_Id
) return Node_Id
is
1559 pragma Assert
(False
1560 or else NT
(N
).Nkind
= N_Loop_Statement
);
1562 end Iteration_Scheme
;
1565 (N
: Node_Id
) return Node_Id
is
1567 pragma Assert
(False
1568 or else NT
(N
).Nkind
= N_Itype_Reference
);
1572 function Kill_Range_Check
1573 (N
: Node_Id
) return Boolean is
1575 pragma Assert
(False
1576 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1578 end Kill_Range_Check
;
1580 function Label_Construct
1581 (N
: Node_Id
) return Node_Id
is
1583 pragma Assert
(False
1584 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
1586 end Label_Construct
;
1589 (N
: Node_Id
) return Node_Id
is
1591 pragma Assert
(False
1592 or else NT
(N
).Nkind
= N_Component_Clause
);
1597 (N
: Node_Id
) return Boolean is
1599 pragma Assert
(False
1600 or else NT
(N
).Nkind
= N_With_Clause
);
1605 (N
: Node_Id
) return Node_Id
is
1607 pragma Assert
(False
1608 or else NT
(N
).Nkind
= N_And_Then
1609 or else NT
(N
).Nkind
= N_In
1610 or else NT
(N
).Nkind
= N_Not_In
1611 or else NT
(N
).Nkind
= N_Or_Else
1612 or else NT
(N
).Nkind
in N_Binary_Op
);
1616 function Library_Unit
1617 (N
: Node_Id
) return Node_Id
is
1619 pragma Assert
(False
1620 or else NT
(N
).Nkind
= N_Compilation_Unit
1621 or else NT
(N
).Nkind
= N_Package_Body_Stub
1622 or else NT
(N
).Nkind
= N_Protected_Body_Stub
1623 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
1624 or else NT
(N
).Nkind
= N_Task_Body_Stub
1625 or else NT
(N
).Nkind
= N_With_Clause
);
1629 function Limited_View_Installed
1630 (N
: Node_Id
) return Boolean is
1632 pragma Assert
(False
1633 or else NT
(N
).Nkind
= N_Package_Specification
1634 or else NT
(N
).Nkind
= N_With_Clause
);
1636 end Limited_View_Installed
;
1638 function Limited_Present
1639 (N
: Node_Id
) return Boolean is
1641 pragma Assert
(False
1642 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
1643 or else NT
(N
).Nkind
= N_Private_Type_Declaration
1644 or else NT
(N
).Nkind
= N_Record_Definition
1645 or else NT
(N
).Nkind
= N_With_Clause
);
1647 end Limited_Present
;
1650 (N
: Node_Id
) return List_Id
is
1652 pragma Assert
(False
1653 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
1657 function Loop_Actions
1658 (N
: Node_Id
) return List_Id
is
1660 pragma Assert
(False
1661 or else NT
(N
).Nkind
= N_Component_Association
);
1665 function Loop_Parameter_Specification
1666 (N
: Node_Id
) return Node_Id
is
1668 pragma Assert
(False
1669 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
1671 end Loop_Parameter_Specification
;
1674 (N
: Node_Id
) return Node_Id
is
1676 pragma Assert
(False
1677 or else NT
(N
).Nkind
= N_Range
1678 or else NT
(N
).Nkind
= N_Real_Range_Specification
1679 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1684 (N
: Node_Id
) return Node_Id
is
1686 pragma Assert
(False
1687 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1692 (N
: Node_Id
) return Boolean is
1694 pragma Assert
(False
1695 or else NT
(N
).Nkind
= N_Component_Declaration
1696 or else NT
(N
).Nkind
= N_Discriminant_Specification
1697 or else NT
(N
).Nkind
= N_Exception_Declaration
1698 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1699 or else NT
(N
).Nkind
= N_Number_Declaration
1700 or else NT
(N
).Nkind
= N_Object_Declaration
1701 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1705 function Must_Be_Byte_Aligned
1706 (N
: Node_Id
) return Boolean is
1708 pragma Assert
(False
1709 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1711 end Must_Be_Byte_Aligned
;
1713 function Must_Not_Freeze
1714 (N
: Node_Id
) return Boolean is
1716 pragma Assert
(False
1717 or else NT
(N
).Nkind
= N_Subtype_Indication
1718 or else NT
(N
).Nkind
in N_Subexpr
);
1720 end Must_Not_Freeze
;
1723 (N
: Node_Id
) return Node_Id
is
1725 pragma Assert
(False
1726 or else NT
(N
).Nkind
= N_Assignment_Statement
1727 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1728 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
1729 or else NT
(N
).Nkind
= N_Designator
1730 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1731 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
1732 or else NT
(N
).Nkind
= N_Exit_Statement
1733 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1734 or else NT
(N
).Nkind
= N_Function_Call
1735 or else NT
(N
).Nkind
= N_Function_Instantiation
1736 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1737 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1738 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1739 or else NT
(N
).Nkind
= N_Goto_Statement
1740 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
1741 or else NT
(N
).Nkind
= N_Package_Instantiation
1742 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1743 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
1744 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1745 or else NT
(N
).Nkind
= N_Raise_Statement
1746 or else NT
(N
).Nkind
= N_Requeue_Statement
1747 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
1748 or else NT
(N
).Nkind
= N_Subunit
1749 or else NT
(N
).Nkind
= N_Variant_Part
1750 or else NT
(N
).Nkind
= N_With_Clause
1751 or else NT
(N
).Nkind
= N_With_Type_Clause
);
1756 (N
: Node_Id
) return List_Id
is
1758 pragma Assert
(False
1759 or else NT
(N
).Nkind
= N_Abort_Statement
1760 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
1764 function Next_Entity
1765 (N
: Node_Id
) return Node_Id
is
1767 pragma Assert
(False
1768 or else NT
(N
).Nkind
= N_Defining_Character_Literal
1769 or else NT
(N
).Nkind
= N_Defining_Identifier
1770 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
1774 function Next_Named_Actual
1775 (N
: Node_Id
) return Node_Id
is
1777 pragma Assert
(False
1778 or else NT
(N
).Nkind
= N_Parameter_Association
);
1780 end Next_Named_Actual
;
1782 function Next_Rep_Item
1783 (N
: Node_Id
) return Node_Id
is
1785 pragma Assert
(False
1786 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1787 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1788 or else NT
(N
).Nkind
= N_Pragma
1789 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1793 function Next_Use_Clause
1794 (N
: Node_Id
) return Node_Id
is
1796 pragma Assert
(False
1797 or else NT
(N
).Nkind
= N_Use_Package_Clause
1798 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1800 end Next_Use_Clause
;
1802 function No_Ctrl_Actions
1803 (N
: Node_Id
) return Boolean is
1805 pragma Assert
(False
1806 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1808 end No_Ctrl_Actions
;
1810 function No_Elaboration_Check
1811 (N
: Node_Id
) return Boolean is
1813 pragma Assert
(False
1814 or else NT
(N
).Nkind
= N_Function_Call
1815 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1817 end No_Elaboration_Check
;
1819 function No_Entities_Ref_In_Spec
1820 (N
: Node_Id
) return Boolean is
1822 pragma Assert
(False
1823 or else NT
(N
).Nkind
= N_With_Clause
);
1825 end No_Entities_Ref_In_Spec
;
1827 function No_Initialization
1828 (N
: Node_Id
) return Boolean is
1830 pragma Assert
(False
1831 or else NT
(N
).Nkind
= N_Allocator
1832 or else NT
(N
).Nkind
= N_Object_Declaration
);
1834 end No_Initialization
;
1836 function No_Truncation
1837 (N
: Node_Id
) return Boolean is
1839 pragma Assert
(False
1840 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1844 function Null_Present
1845 (N
: Node_Id
) return Boolean is
1847 pragma Assert
(False
1848 or else NT
(N
).Nkind
= N_Component_List
1849 or else NT
(N
).Nkind
= N_Record_Definition
);
1853 function Null_Exclusion_Present
1854 (N
: Node_Id
) return Boolean is
1856 pragma Assert
(False
1857 or else NT
(N
).Nkind
= N_Access_Definition
1858 or else NT
(N
).Nkind
= N_Access_Function_Definition
1859 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
1860 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
1861 or else NT
(N
).Nkind
= N_Allocator
1862 or else NT
(N
).Nkind
= N_Component_Definition
1863 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1864 or else NT
(N
).Nkind
= N_Discriminant_Specification
1865 or else NT
(N
).Nkind
= N_Object_Declaration
1866 or else NT
(N
).Nkind
= N_Parameter_Specification
1867 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1869 end Null_Exclusion_Present
;
1871 function Null_Record_Present
1872 (N
: Node_Id
) return Boolean is
1874 pragma Assert
(False
1875 or else NT
(N
).Nkind
= N_Aggregate
1876 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1878 end Null_Record_Present
;
1880 function Object_Definition
1881 (N
: Node_Id
) return Node_Id
is
1883 pragma Assert
(False
1884 or else NT
(N
).Nkind
= N_Object_Declaration
);
1886 end Object_Definition
;
1888 function OK_For_Stream
1889 (N
: Node_Id
) return Boolean is
1891 pragma Assert
(False
1892 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1896 function Original_Discriminant
1897 (N
: Node_Id
) return Node_Id
is
1899 pragma Assert
(False
1900 or else NT
(N
).Nkind
= N_Identifier
);
1902 end Original_Discriminant
;
1904 function Original_Entity
1905 (N
: Node_Id
) return Entity_Id
is
1907 pragma Assert
(False
1908 or else NT
(N
).Nkind
= N_Integer_Literal
1909 or else NT
(N
).Nkind
= N_Real_Literal
);
1911 end Original_Entity
;
1913 function Others_Discrete_Choices
1914 (N
: Node_Id
) return List_Id
is
1916 pragma Assert
(False
1917 or else NT
(N
).Nkind
= N_Others_Choice
);
1919 end Others_Discrete_Choices
;
1921 function Out_Present
1922 (N
: Node_Id
) return Boolean is
1924 pragma Assert
(False
1925 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1926 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1930 function Parameter_Associations
1931 (N
: Node_Id
) return List_Id
is
1933 pragma Assert
(False
1934 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1935 or else NT
(N
).Nkind
= N_Function_Call
1936 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1938 end Parameter_Associations
;
1940 function Parameter_List_Truncated
1941 (N
: Node_Id
) return Boolean is
1943 pragma Assert
(False
1944 or else NT
(N
).Nkind
= N_Function_Call
1945 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1947 end Parameter_List_Truncated
;
1949 function Parameter_Specifications
1950 (N
: Node_Id
) return List_Id
is
1952 pragma Assert
(False
1953 or else NT
(N
).Nkind
= N_Accept_Statement
1954 or else NT
(N
).Nkind
= N_Access_Function_Definition
1955 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
1956 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
1957 or else NT
(N
).Nkind
= N_Entry_Declaration
1958 or else NT
(N
).Nkind
= N_Function_Specification
1959 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1961 end Parameter_Specifications
;
1963 function Parameter_Type
1964 (N
: Node_Id
) return Node_Id
is
1966 pragma Assert
(False
1967 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1971 function Parent_Spec
1972 (N
: Node_Id
) return Node_Id
is
1974 pragma Assert
(False
1975 or else NT
(N
).Nkind
= N_Function_Instantiation
1976 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1977 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1978 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1979 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1980 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
1981 or else NT
(N
).Nkind
= N_Package_Declaration
1982 or else NT
(N
).Nkind
= N_Package_Instantiation
1983 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1984 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1985 or else NT
(N
).Nkind
= N_Subprogram_Declaration
1986 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
1991 (N
: Node_Id
) return Node_Id
is
1993 pragma Assert
(False
1994 or else NT
(N
).Nkind
= N_Component_Clause
);
1998 function Pragma_Argument_Associations
1999 (N
: Node_Id
) return List_Id
is
2001 pragma Assert
(False
2002 or else NT
(N
).Nkind
= N_Pragma
);
2004 end Pragma_Argument_Associations
;
2006 function Pragmas_After
2007 (N
: Node_Id
) return List_Id
is
2009 pragma Assert
(False
2010 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2011 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
2015 function Pragmas_Before
2016 (N
: Node_Id
) return List_Id
is
2018 pragma Assert
(False
2019 or else NT
(N
).Nkind
= N_Accept_Alternative
2020 or else NT
(N
).Nkind
= N_Delay_Alternative
2021 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2022 or else NT
(N
).Nkind
= N_Mod_Clause
2023 or else NT
(N
).Nkind
= N_Terminate_Alternative
2024 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2029 (N
: Node_Id
) return Node_Id
is
2031 pragma Assert
(False
2032 or else NT
(N
).Nkind
= N_Attribute_Reference
2033 or else NT
(N
).Nkind
= N_Expanded_Name
2034 or else NT
(N
).Nkind
= N_Explicit_Dereference
2035 or else NT
(N
).Nkind
= N_Indexed_Component
2036 or else NT
(N
).Nkind
= N_Reference
2037 or else NT
(N
).Nkind
= N_Selected_Component
2038 or else NT
(N
).Nkind
= N_Slice
);
2042 function Present_Expr
2043 (N
: Node_Id
) return Uint
is
2045 pragma Assert
(False
2046 or else NT
(N
).Nkind
= N_Variant
);
2051 (N
: Node_Id
) return Boolean is
2053 pragma Assert
(False
2054 or else NT
(N
).Nkind
= N_Component_Declaration
2055 or else NT
(N
).Nkind
= N_Discriminant_Specification
2056 or else NT
(N
).Nkind
= N_Exception_Declaration
2057 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2058 or else NT
(N
).Nkind
= N_Number_Declaration
2059 or else NT
(N
).Nkind
= N_Object_Declaration
2060 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2064 function Print_In_Hex
2065 (N
: Node_Id
) return Boolean is
2067 pragma Assert
(False
2068 or else NT
(N
).Nkind
= N_Integer_Literal
);
2072 function Private_Declarations
2073 (N
: Node_Id
) return List_Id
is
2075 pragma Assert
(False
2076 or else NT
(N
).Nkind
= N_Package_Specification
2077 or else NT
(N
).Nkind
= N_Protected_Definition
2078 or else NT
(N
).Nkind
= N_Task_Definition
);
2080 end Private_Declarations
;
2082 function Private_Present
2083 (N
: Node_Id
) return Boolean is
2085 pragma Assert
(False
2086 or else NT
(N
).Nkind
= N_Compilation_Unit
2087 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2088 or else NT
(N
).Nkind
= N_With_Clause
);
2090 end Private_Present
;
2092 function Procedure_To_Call
2093 (N
: Node_Id
) return Node_Id
is
2095 pragma Assert
(False
2096 or else NT
(N
).Nkind
= N_Allocator
2097 or else NT
(N
).Nkind
= N_Free_Statement
2098 or else NT
(N
).Nkind
= N_Return_Statement
);
2100 end Procedure_To_Call
;
2102 function Proper_Body
2103 (N
: Node_Id
) return Node_Id
is
2105 pragma Assert
(False
2106 or else NT
(N
).Nkind
= N_Subunit
);
2110 function Protected_Definition
2111 (N
: Node_Id
) return Node_Id
is
2113 pragma Assert
(False
2114 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
2115 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
2117 end Protected_Definition
;
2119 function Protected_Present
2120 (N
: Node_Id
) return Boolean is
2122 pragma Assert
(False
2123 or else NT
(N
).Nkind
= N_Access_Function_Definition
2124 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
);
2126 end Protected_Present
;
2128 function Raises_Constraint_Error
2129 (N
: Node_Id
) return Boolean is
2131 pragma Assert
(False
2132 or else NT
(N
).Nkind
in N_Subexpr
);
2134 end Raises_Constraint_Error
;
2136 function Range_Constraint
2137 (N
: Node_Id
) return Node_Id
is
2139 pragma Assert
(False
2140 or else NT
(N
).Nkind
= N_Delta_Constraint
2141 or else NT
(N
).Nkind
= N_Digits_Constraint
);
2143 end Range_Constraint
;
2145 function Range_Expression
2146 (N
: Node_Id
) return Node_Id
is
2148 pragma Assert
(False
2149 or else NT
(N
).Nkind
= N_Range_Constraint
);
2151 end Range_Expression
;
2153 function Real_Range_Specification
2154 (N
: Node_Id
) return Node_Id
is
2156 pragma Assert
(False
2157 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
2158 or else NT
(N
).Nkind
= N_Floating_Point_Definition
2159 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
2161 end Real_Range_Specification
;
2164 (N
: Node_Id
) return Ureal
is
2166 pragma Assert
(False
2167 or else NT
(N
).Nkind
= N_Real_Literal
);
2172 (N
: Node_Id
) return Uint
is
2174 pragma Assert
(False
2175 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2176 or else NT
(N
).Nkind
= N_Raise_Program_Error
2177 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
2181 function Record_Extension_Part
2182 (N
: Node_Id
) return Node_Id
is
2184 pragma Assert
(False
2185 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
2187 end Record_Extension_Part
;
2189 function Redundant_Use
2190 (N
: Node_Id
) return Boolean is
2192 pragma Assert
(False
2193 or else NT
(N
).Nkind
= N_Attribute_Reference
2194 or else NT
(N
).Nkind
= N_Expanded_Name
2195 or else NT
(N
).Nkind
= N_Identifier
);
2199 function Return_Type
2200 (N
: Node_Id
) return Node_Id
is
2202 pragma Assert
(False
2203 or else NT
(N
).Nkind
= N_Return_Statement
);
2207 function Reverse_Present
2208 (N
: Node_Id
) return Boolean is
2210 pragma Assert
(False
2211 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
2213 end Reverse_Present
;
2216 (N
: Node_Id
) return Node_Id
is
2218 pragma Assert
(False
2219 or else NT
(N
).Nkind
in N_Op
2220 or else NT
(N
).Nkind
= N_And_Then
2221 or else NT
(N
).Nkind
= N_In
2222 or else NT
(N
).Nkind
= N_Not_In
2223 or else NT
(N
).Nkind
= N_Or_Else
);
2227 function Rounded_Result
2228 (N
: Node_Id
) return Boolean is
2230 pragma Assert
(False
2231 or else NT
(N
).Nkind
= N_Op_Divide
2232 or else NT
(N
).Nkind
= N_Op_Multiply
2233 or else NT
(N
).Nkind
= N_Type_Conversion
);
2238 (N
: Node_Id
) return Node_Id
is
2240 pragma Assert
(False
2241 or else NT
(N
).Nkind
= N_Defining_Character_Literal
2242 or else NT
(N
).Nkind
= N_Defining_Identifier
2243 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
2247 function Select_Alternatives
2248 (N
: Node_Id
) return List_Id
is
2250 pragma Assert
(False
2251 or else NT
(N
).Nkind
= N_Selective_Accept
);
2253 end Select_Alternatives
;
2255 function Selector_Name
2256 (N
: Node_Id
) return Node_Id
is
2258 pragma Assert
(False
2259 or else NT
(N
).Nkind
= N_Expanded_Name
2260 or else NT
(N
).Nkind
= N_Generic_Association
2261 or else NT
(N
).Nkind
= N_Parameter_Association
2262 or else NT
(N
).Nkind
= N_Selected_Component
);
2266 function Selector_Names
2267 (N
: Node_Id
) return List_Id
is
2269 pragma Assert
(False
2270 or else NT
(N
).Nkind
= N_Discriminant_Association
);
2274 function Shift_Count_OK
2275 (N
: Node_Id
) return Boolean is
2277 pragma Assert
(False
2278 or else NT
(N
).Nkind
= N_Op_Rotate_Left
2279 or else NT
(N
).Nkind
= N_Op_Rotate_Right
2280 or else NT
(N
).Nkind
= N_Op_Shift_Left
2281 or else NT
(N
).Nkind
= N_Op_Shift_Right
2282 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
2286 function Source_Type
2287 (N
: Node_Id
) return Entity_Id
is
2289 pragma Assert
(False
2290 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2294 function Specification
2295 (N
: Node_Id
) return Node_Id
is
2297 pragma Assert
(False
2298 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
2299 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2300 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2301 or else NT
(N
).Nkind
= N_Package_Declaration
2302 or else NT
(N
).Nkind
= N_Subprogram_Body
2303 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
2304 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2305 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
2306 or else NT
(N
).Nkind
in N_Formal_Subprogram_Declaration
);
2311 (N
: Node_Id
) return List_Id
is
2313 pragma Assert
(False
2314 or else NT
(N
).Nkind
= N_Abortable_Part
2315 or else NT
(N
).Nkind
= N_Accept_Alternative
2316 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
2317 or else NT
(N
).Nkind
= N_Delay_Alternative
2318 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2319 or else NT
(N
).Nkind
= N_Exception_Handler
2320 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
2321 or else NT
(N
).Nkind
= N_Loop_Statement
2322 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2326 function Static_Processing_OK
2327 (N
: Node_Id
) return Boolean is
2329 pragma Assert
(False
2330 or else NT
(N
).Nkind
= N_Aggregate
);
2332 end Static_Processing_OK
;
2334 function Storage_Pool
2335 (N
: Node_Id
) return Node_Id
is
2337 pragma Assert
(False
2338 or else NT
(N
).Nkind
= N_Allocator
2339 or else NT
(N
).Nkind
= N_Free_Statement
2340 or else NT
(N
).Nkind
= N_Return_Statement
);
2345 (N
: Node_Id
) return String_Id
is
2347 pragma Assert
(False
2348 or else NT
(N
).Nkind
= N_Operator_Symbol
2349 or else NT
(N
).Nkind
= N_String_Literal
);
2353 function Subtype_Indication
2354 (N
: Node_Id
) return Node_Id
is
2356 pragma Assert
(False
2357 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2358 or else NT
(N
).Nkind
= N_Component_Definition
2359 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2360 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2361 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
2363 end Subtype_Indication
;
2365 function Subtype_Mark
2366 (N
: Node_Id
) return Node_Id
is
2368 pragma Assert
(False
2369 or else NT
(N
).Nkind
= N_Access_Definition
2370 or else NT
(N
).Nkind
= N_Access_Function_Definition
2371 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2372 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2373 or else NT
(N
).Nkind
= N_Function_Specification
2374 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2375 or else NT
(N
).Nkind
= N_Qualified_Expression
2376 or else NT
(N
).Nkind
= N_Subtype_Indication
2377 or else NT
(N
).Nkind
= N_Type_Conversion
2378 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2382 function Subtype_Marks
2383 (N
: Node_Id
) return List_Id
is
2385 pragma Assert
(False
2386 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
2387 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2391 function Tagged_Present
2392 (N
: Node_Id
) return Boolean is
2394 pragma Assert
(False
2395 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2396 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2397 or else NT
(N
).Nkind
= N_Record_Definition
2398 or else NT
(N
).Nkind
= N_With_Type_Clause
);
2402 function Target_Type
2403 (N
: Node_Id
) return Entity_Id
is
2405 pragma Assert
(False
2406 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2410 function Task_Body_Procedure
2411 (N
: Node_Id
) return Entity_Id
is
2413 pragma Assert
(False
2414 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2416 end Task_Body_Procedure
;
2418 function Task_Definition
2419 (N
: Node_Id
) return Node_Id
is
2421 pragma Assert
(False
2422 or else NT
(N
).Nkind
= N_Single_Task_Declaration
2423 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2425 end Task_Definition
;
2427 function Then_Actions
2428 (N
: Node_Id
) return List_Id
is
2430 pragma Assert
(False
2431 or else NT
(N
).Nkind
= N_Conditional_Expression
);
2435 function Then_Statements
2436 (N
: Node_Id
) return List_Id
is
2438 pragma Assert
(False
2439 or else NT
(N
).Nkind
= N_Elsif_Part
2440 or else NT
(N
).Nkind
= N_If_Statement
);
2442 end Then_Statements
;
2444 function Treat_Fixed_As_Integer
2445 (N
: Node_Id
) return Boolean is
2447 pragma Assert
(False
2448 or else NT
(N
).Nkind
= N_Op_Divide
2449 or else NT
(N
).Nkind
= N_Op_Mod
2450 or else NT
(N
).Nkind
= N_Op_Multiply
2451 or else NT
(N
).Nkind
= N_Op_Rem
);
2453 end Treat_Fixed_As_Integer
;
2455 function Triggering_Alternative
2456 (N
: Node_Id
) return Node_Id
is
2458 pragma Assert
(False
2459 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2461 end Triggering_Alternative
;
2463 function Triggering_Statement
2464 (N
: Node_Id
) return Node_Id
is
2466 pragma Assert
(False
2467 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2469 end Triggering_Statement
;
2472 (N
: Node_Id
) return Elist_Id
is
2474 pragma Assert
(False
2475 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2479 function Type_Definition
2480 (N
: Node_Id
) return Node_Id
is
2482 pragma Assert
(False
2483 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
2485 end Type_Definition
;
2488 (N
: Node_Id
) return Node_Id
is
2490 pragma Assert
(False
2491 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2495 function Unknown_Discriminants_Present
2496 (N
: Node_Id
) return Boolean is
2498 pragma Assert
(False
2499 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
2500 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2501 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2502 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
2504 end Unknown_Discriminants_Present
;
2506 function Unreferenced_In_Spec
2507 (N
: Node_Id
) return Boolean is
2509 pragma Assert
(False
2510 or else NT
(N
).Nkind
= N_With_Clause
);
2512 end Unreferenced_In_Spec
;
2514 function Variant_Part
2515 (N
: Node_Id
) return Node_Id
is
2517 pragma Assert
(False
2518 or else NT
(N
).Nkind
= N_Component_List
);
2523 (N
: Node_Id
) return List_Id
is
2525 pragma Assert
(False
2526 or else NT
(N
).Nkind
= N_Variant_Part
);
2530 function Visible_Declarations
2531 (N
: Node_Id
) return List_Id
is
2533 pragma Assert
(False
2534 or else NT
(N
).Nkind
= N_Package_Specification
2535 or else NT
(N
).Nkind
= N_Protected_Definition
2536 or else NT
(N
).Nkind
= N_Task_Definition
);
2538 end Visible_Declarations
;
2540 function Was_Originally_Stub
2541 (N
: Node_Id
) return Boolean is
2543 pragma Assert
(False
2544 or else NT
(N
).Nkind
= N_Package_Body
2545 or else NT
(N
).Nkind
= N_Protected_Body
2546 or else NT
(N
).Nkind
= N_Subprogram_Body
2547 or else NT
(N
).Nkind
= N_Task_Body
);
2549 end Was_Originally_Stub
;
2551 function Zero_Cost_Handling
2552 (N
: Node_Id
) return Boolean is
2554 pragma Assert
(False
2555 or else NT
(N
).Nkind
= N_Exception_Handler
2556 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2558 end Zero_Cost_Handling
;
2560 --------------------------
2561 -- Field Set Procedures --
2562 --------------------------
2564 procedure Set_ABE_Is_Certain
2565 (N
: Node_Id
; Val
: Boolean := True) is
2567 pragma Assert
(False
2568 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2569 or else NT
(N
).Nkind
= N_Function_Call
2570 or else NT
(N
).Nkind
= N_Function_Instantiation
2571 or else NT
(N
).Nkind
= N_Package_Instantiation
2572 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
2573 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
2574 Set_Flag18
(N
, Val
);
2575 end Set_ABE_Is_Certain
;
2577 procedure Set_Abort_Present
2578 (N
: Node_Id
; Val
: Boolean := True) is
2580 pragma Assert
(False
2581 or else NT
(N
).Nkind
= N_Requeue_Statement
);
2582 Set_Flag15
(N
, Val
);
2583 end Set_Abort_Present
;
2585 procedure Set_Abortable_Part
2586 (N
: Node_Id
; Val
: Node_Id
) is
2588 pragma Assert
(False
2589 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2590 Set_Node2_With_Parent
(N
, Val
);
2591 end Set_Abortable_Part
;
2593 procedure Set_Abstract_Present
2594 (N
: Node_Id
; Val
: Boolean := True) is
2596 pragma Assert
(False
2597 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2598 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2599 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2600 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2601 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2602 or else NT
(N
).Nkind
= N_Record_Definition
);
2604 end Set_Abstract_Present
;
2606 procedure Set_Accept_Handler_Records
2607 (N
: Node_Id
; Val
: List_Id
) is
2609 pragma Assert
(False
2610 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2611 Set_List5
(N
, Val
); -- semantic field, no parent set
2612 end Set_Accept_Handler_Records
;
2614 procedure Set_Accept_Statement
2615 (N
: Node_Id
; Val
: Node_Id
) is
2617 pragma Assert
(False
2618 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2619 Set_Node2_With_Parent
(N
, Val
);
2620 end Set_Accept_Statement
;
2622 procedure Set_Access_Definition
2623 (N
: Node_Id
; Val
: Node_Id
) is
2625 pragma Assert
(False
2626 or else NT
(N
).Nkind
= N_Component_Definition
2627 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
2628 Set_Node3_With_Parent
(N
, Val
);
2629 end Set_Access_Definition
;
2631 procedure Set_Access_To_Subprogram_Definition
2632 (N
: Node_Id
; Val
: Node_Id
) is
2634 pragma Assert
(False
2635 or else NT
(N
).Nkind
= N_Access_Definition
);
2636 Set_Node3_With_Parent
(N
, Val
);
2637 end Set_Access_To_Subprogram_Definition
;
2639 procedure Set_Access_Types_To_Process
2640 (N
: Node_Id
; Val
: Elist_Id
) is
2642 pragma Assert
(False
2643 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2644 Set_Elist2
(N
, Val
); -- semantic field, no parent set
2645 end Set_Access_Types_To_Process
;
2647 procedure Set_Actions
2648 (N
: Node_Id
; Val
: List_Id
) is
2650 pragma Assert
(False
2651 or else NT
(N
).Nkind
= N_And_Then
2652 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2653 or else NT
(N
).Nkind
= N_Freeze_Entity
2654 or else NT
(N
).Nkind
= N_Or_Else
);
2655 Set_List1_With_Parent
(N
, Val
);
2658 procedure Set_Activation_Chain_Entity
2659 (N
: Node_Id
; Val
: Node_Id
) is
2661 pragma Assert
(False
2662 or else NT
(N
).Nkind
= N_Block_Statement
2663 or else NT
(N
).Nkind
= N_Entry_Body
2664 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2665 or else NT
(N
).Nkind
= N_Package_Declaration
2666 or else NT
(N
).Nkind
= N_Subprogram_Body
2667 or else NT
(N
).Nkind
= N_Task_Body
);
2668 Set_Node3
(N
, Val
); -- semantic field, no parent set
2669 end Set_Activation_Chain_Entity
;
2671 procedure Set_Acts_As_Spec
2672 (N
: Node_Id
; Val
: Boolean := True) is
2674 pragma Assert
(False
2675 or else NT
(N
).Nkind
= N_Compilation_Unit
2676 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2678 end Set_Acts_As_Spec
;
2680 procedure Set_Aggregate_Bounds
2681 (N
: Node_Id
; Val
: Node_Id
) is
2683 pragma Assert
(False
2684 or else NT
(N
).Nkind
= N_Aggregate
);
2685 Set_Node3
(N
, Val
); -- semantic field, no parent set
2686 end Set_Aggregate_Bounds
;
2688 procedure Set_Aliased_Present
2689 (N
: Node_Id
; Val
: Boolean := True) is
2691 pragma Assert
(False
2692 or else NT
(N
).Nkind
= N_Component_Definition
2693 or else NT
(N
).Nkind
= N_Object_Declaration
);
2695 end Set_Aliased_Present
;
2697 procedure Set_All_Others
2698 (N
: Node_Id
; Val
: Boolean := True) is
2700 pragma Assert
(False
2701 or else NT
(N
).Nkind
= N_Others_Choice
);
2702 Set_Flag11
(N
, Val
);
2705 procedure Set_All_Present
2706 (N
: Node_Id
; Val
: Boolean := True) is
2708 pragma Assert
(False
2709 or else NT
(N
).Nkind
= N_Access_Definition
2710 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
2711 Set_Flag15
(N
, Val
);
2712 end Set_All_Present
;
2714 procedure Set_Alternatives
2715 (N
: Node_Id
; Val
: List_Id
) is
2717 pragma Assert
(False
2718 or else NT
(N
).Nkind
= N_Case_Statement
);
2719 Set_List4_With_Parent
(N
, Val
);
2720 end Set_Alternatives
;
2722 procedure Set_Ancestor_Part
2723 (N
: Node_Id
; Val
: Node_Id
) is
2725 pragma Assert
(False
2726 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2727 Set_Node3_With_Parent
(N
, Val
);
2728 end Set_Ancestor_Part
;
2730 procedure Set_Array_Aggregate
2731 (N
: Node_Id
; Val
: Node_Id
) is
2733 pragma Assert
(False
2734 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
2735 Set_Node3_With_Parent
(N
, Val
);
2736 end Set_Array_Aggregate
;
2738 procedure Set_Assignment_OK
2739 (N
: Node_Id
; Val
: Boolean := True) is
2741 pragma Assert
(False
2742 or else NT
(N
).Nkind
= N_Object_Declaration
2743 or else NT
(N
).Nkind
in N_Subexpr
);
2744 Set_Flag15
(N
, Val
);
2745 end Set_Assignment_OK
;
2747 procedure Set_Associated_Node
2748 (N
: Node_Id
; Val
: Node_Id
) is
2750 pragma Assert
(False
2751 or else NT
(N
).Nkind
in N_Has_Entity
2752 or else NT
(N
).Nkind
= N_Aggregate
2753 or else NT
(N
).Nkind
= N_Extension_Aggregate
2754 or else NT
(N
).Nkind
= N_Selected_Component
);
2755 Set_Node4
(N
, Val
); -- semantic field, no parent set
2756 end Set_Associated_Node
;
2758 procedure Set_At_End_Proc
2759 (N
: Node_Id
; Val
: Node_Id
) is
2761 pragma Assert
(False
2762 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2764 end Set_At_End_Proc
;
2766 procedure Set_Attribute_Name
2767 (N
: Node_Id
; Val
: Name_Id
) is
2769 pragma Assert
(False
2770 or else NT
(N
).Nkind
= N_Attribute_Reference
);
2772 end Set_Attribute_Name
;
2774 procedure Set_Aux_Decls_Node
2775 (N
: Node_Id
; Val
: Node_Id
) is
2777 pragma Assert
(False
2778 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2779 Set_Node5_With_Parent
(N
, Val
);
2780 end Set_Aux_Decls_Node
;
2782 procedure Set_Backwards_OK
2783 (N
: Node_Id
; Val
: Boolean := True) is
2785 pragma Assert
(False
2786 or else NT
(N
).Nkind
= N_Assignment_Statement
);
2788 end Set_Backwards_OK
;
2790 procedure Set_Bad_Is_Detected
2791 (N
: Node_Id
; Val
: Boolean := True) is
2793 pragma Assert
(False
2794 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2795 Set_Flag15
(N
, Val
);
2796 end Set_Bad_Is_Detected
;
2798 procedure Set_Body_Required
2799 (N
: Node_Id
; Val
: Boolean := True) is
2801 pragma Assert
(False
2802 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2803 Set_Flag13
(N
, Val
);
2804 end Set_Body_Required
;
2806 procedure Set_Body_To_Inline
2807 (N
: Node_Id
; Val
: Node_Id
) is
2809 pragma Assert
(False
2810 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
2812 end Set_Body_To_Inline
;
2814 procedure Set_Box_Present
2815 (N
: Node_Id
; Val
: Boolean := True) is
2817 pragma Assert
(False
2818 or else NT
(N
).Nkind
= N_Component_Association
2819 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2820 or else NT
(N
).Nkind
in N_Formal_Subprogram_Declaration
);
2821 Set_Flag15
(N
, Val
);
2822 end Set_Box_Present
;
2824 procedure Set_By_Ref
2825 (N
: Node_Id
; Val
: Boolean := True) is
2827 pragma Assert
(False
2828 or else NT
(N
).Nkind
= N_Return_Statement
);
2832 procedure Set_Char_Literal_Value
2833 (N
: Node_Id
; Val
: Uint
) is
2835 pragma Assert
(False
2836 or else NT
(N
).Nkind
= N_Character_Literal
);
2838 end Set_Char_Literal_Value
;
2841 (N
: Node_Id
; Val
: Name_Id
) is
2843 pragma Assert
(False
2844 or else NT
(N
).Nkind
in N_Has_Chars
);
2848 procedure Set_Check_Address_Alignment
2849 (N
: Node_Id
; Val
: Boolean := True) is
2851 pragma Assert
(False
2852 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
2853 Set_Flag11
(N
, Val
);
2854 end Set_Check_Address_Alignment
;
2856 procedure Set_Choice_Parameter
2857 (N
: Node_Id
; Val
: Node_Id
) is
2859 pragma Assert
(False
2860 or else NT
(N
).Nkind
= N_Exception_Handler
);
2861 Set_Node2_With_Parent
(N
, Val
);
2862 end Set_Choice_Parameter
;
2864 procedure Set_Choices
2865 (N
: Node_Id
; Val
: List_Id
) is
2867 pragma Assert
(False
2868 or else NT
(N
).Nkind
= N_Component_Association
);
2869 Set_List1_With_Parent
(N
, Val
);
2872 procedure Set_Compile_Time_Known_Aggregate
2873 (N
: Node_Id
; Val
: Boolean := True) is
2875 pragma Assert
(False
2876 or else NT
(N
).Nkind
= N_Aggregate
);
2877 Set_Flag18
(N
, Val
);
2878 end Set_Compile_Time_Known_Aggregate
;
2880 procedure Set_Component_Associations
2881 (N
: Node_Id
; Val
: List_Id
) is
2883 pragma Assert
(False
2884 or else NT
(N
).Nkind
= N_Aggregate
2885 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2886 Set_List2_With_Parent
(N
, Val
);
2887 end Set_Component_Associations
;
2889 procedure Set_Component_Clauses
2890 (N
: Node_Id
; Val
: List_Id
) is
2892 pragma Assert
(False
2893 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
2894 Set_List3_With_Parent
(N
, Val
);
2895 end Set_Component_Clauses
;
2897 procedure Set_Component_Definition
2898 (N
: Node_Id
; Val
: Node_Id
) is
2900 pragma Assert
(False
2901 or else NT
(N
).Nkind
= N_Component_Declaration
2902 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
2903 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
2904 Set_Node4_With_Parent
(N
, Val
);
2905 end Set_Component_Definition
;
2907 procedure Set_Component_Items
2908 (N
: Node_Id
; Val
: List_Id
) is
2910 pragma Assert
(False
2911 or else NT
(N
).Nkind
= N_Component_List
);
2912 Set_List3_With_Parent
(N
, Val
);
2913 end Set_Component_Items
;
2915 procedure Set_Component_List
2916 (N
: Node_Id
; Val
: Node_Id
) is
2918 pragma Assert
(False
2919 or else NT
(N
).Nkind
= N_Record_Definition
2920 or else NT
(N
).Nkind
= N_Variant
);
2921 Set_Node1_With_Parent
(N
, Val
);
2922 end Set_Component_List
;
2924 procedure Set_Component_Name
2925 (N
: Node_Id
; Val
: Node_Id
) is
2927 pragma Assert
(False
2928 or else NT
(N
).Nkind
= N_Component_Clause
);
2929 Set_Node1_With_Parent
(N
, Val
);
2930 end Set_Component_Name
;
2932 procedure Set_Condition
2933 (N
: Node_Id
; Val
: Node_Id
) is
2935 pragma Assert
(False
2936 or else NT
(N
).Nkind
= N_Accept_Alternative
2937 or else NT
(N
).Nkind
= N_Delay_Alternative
2938 or else NT
(N
).Nkind
= N_Elsif_Part
2939 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
2940 or else NT
(N
).Nkind
= N_Exit_Statement
2941 or else NT
(N
).Nkind
= N_If_Statement
2942 or else NT
(N
).Nkind
= N_Iteration_Scheme
2943 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2944 or else NT
(N
).Nkind
= N_Raise_Program_Error
2945 or else NT
(N
).Nkind
= N_Raise_Storage_Error
2946 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
2947 Set_Node1_With_Parent
(N
, Val
);
2950 procedure Set_Condition_Actions
2951 (N
: Node_Id
; Val
: List_Id
) is
2953 pragma Assert
(False
2954 or else NT
(N
).Nkind
= N_Elsif_Part
2955 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
2956 Set_List3
(N
, Val
); -- semantic field, no parent set
2957 end Set_Condition_Actions
;
2959 procedure Set_Config_Pragmas
2960 (N
: Node_Id
; Val
: List_Id
) is
2962 pragma Assert
(False
2963 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
2964 Set_List4_With_Parent
(N
, Val
);
2965 end Set_Config_Pragmas
;
2967 procedure Set_Constant_Present
2968 (N
: Node_Id
; Val
: Boolean := True) is
2970 pragma Assert
(False
2971 or else NT
(N
).Nkind
= N_Access_Definition
2972 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2973 or else NT
(N
).Nkind
= N_Object_Declaration
);
2974 Set_Flag17
(N
, Val
);
2975 end Set_Constant_Present
;
2977 procedure Set_Constraint
2978 (N
: Node_Id
; Val
: Node_Id
) is
2980 pragma Assert
(False
2981 or else NT
(N
).Nkind
= N_Subtype_Indication
);
2982 Set_Node3_With_Parent
(N
, Val
);
2985 procedure Set_Constraints
2986 (N
: Node_Id
; Val
: List_Id
) is
2988 pragma Assert
(False
2989 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
2990 Set_List1_With_Parent
(N
, Val
);
2991 end Set_Constraints
;
2993 procedure Set_Context_Installed
2994 (N
: Node_Id
; Val
: Boolean := True) is
2996 pragma Assert
(False
2997 or else NT
(N
).Nkind
= N_With_Clause
);
2998 Set_Flag13
(N
, Val
);
2999 end Set_Context_Installed
;
3001 procedure Set_Context_Items
3002 (N
: Node_Id
; Val
: List_Id
) is
3004 pragma Assert
(False
3005 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3006 Set_List1_With_Parent
(N
, Val
);
3007 end Set_Context_Items
;
3009 procedure Set_Controlling_Argument
3010 (N
: Node_Id
; Val
: Node_Id
) is
3012 pragma Assert
(False
3013 or else NT
(N
).Nkind
= N_Function_Call
3014 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3015 Set_Node1
(N
, Val
); -- semantic field, no parent set
3016 end Set_Controlling_Argument
;
3018 procedure Set_Conversion_OK
3019 (N
: Node_Id
; Val
: Boolean := True) is
3021 pragma Assert
(False
3022 or else NT
(N
).Nkind
= N_Type_Conversion
);
3023 Set_Flag14
(N
, Val
);
3024 end Set_Conversion_OK
;
3026 procedure Set_Corresponding_Body
3027 (N
: Node_Id
; Val
: Node_Id
) is
3029 pragma Assert
(False
3030 or else NT
(N
).Nkind
= N_Entry_Declaration
3031 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3032 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
3033 or else NT
(N
).Nkind
= N_Package_Body_Stub
3034 or else NT
(N
).Nkind
= N_Package_Declaration
3035 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3036 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3037 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
3038 or else NT
(N
).Nkind
= N_Subprogram_Declaration
3039 or else NT
(N
).Nkind
= N_Task_Body_Stub
3040 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3041 Set_Node5
(N
, Val
); -- semantic field, no parent set
3042 end Set_Corresponding_Body
;
3044 procedure Set_Corresponding_Formal_Spec
3045 (N
: Node_Id
; Val
: Node_Id
) is
3047 pragma Assert
(False
3048 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
3049 Set_Node3
(N
, Val
); -- semantic field, no parent set
3050 end Set_Corresponding_Formal_Spec
;
3052 procedure Set_Corresponding_Generic_Association
3053 (N
: Node_Id
; Val
: Node_Id
) is
3055 pragma Assert
(False
3056 or else NT
(N
).Nkind
= N_Object_Declaration
3057 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
3058 Set_Node5
(N
, Val
); -- semantic field, no parent set
3059 end Set_Corresponding_Generic_Association
;
3061 procedure Set_Corresponding_Integer_Value
3062 (N
: Node_Id
; Val
: Uint
) is
3064 pragma Assert
(False
3065 or else NT
(N
).Nkind
= N_Real_Literal
);
3066 Set_Uint4
(N
, Val
); -- semantic field, no parent set
3067 end Set_Corresponding_Integer_Value
;
3069 procedure Set_Corresponding_Spec
3070 (N
: Node_Id
; Val
: Node_Id
) is
3072 pragma Assert
(False
3073 or else NT
(N
).Nkind
= N_Package_Body
3074 or else NT
(N
).Nkind
= N_Protected_Body
3075 or else NT
(N
).Nkind
= N_Subprogram_Body
3076 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
3077 or else NT
(N
).Nkind
= N_Task_Body
3078 or else NT
(N
).Nkind
= N_With_Clause
);
3079 Set_Node5
(N
, Val
); -- semantic field, no parent set
3080 end Set_Corresponding_Spec
;
3082 procedure Set_Corresponding_Stub
3083 (N
: Node_Id
; Val
: Node_Id
) is
3085 pragma Assert
(False
3086 or else NT
(N
).Nkind
= N_Subunit
);
3088 end Set_Corresponding_Stub
;
3090 procedure Set_Dcheck_Function
3091 (N
: Node_Id
; Val
: Entity_Id
) is
3093 pragma Assert
(False
3094 or else NT
(N
).Nkind
= N_Variant
);
3095 Set_Node5
(N
, Val
); -- semantic field, no parent set
3096 end Set_Dcheck_Function
;
3098 procedure Set_Debug_Statement
3099 (N
: Node_Id
; Val
: Node_Id
) is
3101 pragma Assert
(False
3102 or else NT
(N
).Nkind
= N_Pragma
);
3103 Set_Node3_With_Parent
(N
, Val
);
3104 end Set_Debug_Statement
;
3106 procedure Set_Declarations
3107 (N
: Node_Id
; Val
: List_Id
) is
3109 pragma Assert
(False
3110 or else NT
(N
).Nkind
= N_Accept_Statement
3111 or else NT
(N
).Nkind
= N_Block_Statement
3112 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
3113 or else NT
(N
).Nkind
= N_Entry_Body
3114 or else NT
(N
).Nkind
= N_Package_Body
3115 or else NT
(N
).Nkind
= N_Protected_Body
3116 or else NT
(N
).Nkind
= N_Subprogram_Body
3117 or else NT
(N
).Nkind
= N_Task_Body
);
3118 Set_List2_With_Parent
(N
, Val
);
3119 end Set_Declarations
;
3121 procedure Set_Default_Expression
3122 (N
: Node_Id
; Val
: Node_Id
) is
3124 pragma Assert
(False
3125 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3126 Set_Node5
(N
, Val
); -- semantic field, no parent set
3127 end Set_Default_Expression
;
3129 procedure Set_Default_Name
3130 (N
: Node_Id
; Val
: Node_Id
) is
3132 pragma Assert
(False
3133 or else NT
(N
).Nkind
in N_Formal_Subprogram_Declaration
);
3134 Set_Node2_With_Parent
(N
, Val
);
3135 end Set_Default_Name
;
3137 procedure Set_Defining_Identifier
3138 (N
: Node_Id
; Val
: Entity_Id
) is
3140 pragma Assert
(False
3141 or else NT
(N
).Nkind
= N_Component_Declaration
3142 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
3143 or else NT
(N
).Nkind
= N_Discriminant_Specification
3144 or else NT
(N
).Nkind
= N_Entry_Body
3145 or else NT
(N
).Nkind
= N_Entry_Declaration
3146 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3147 or else NT
(N
).Nkind
= N_Exception_Declaration
3148 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
3149 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3150 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3151 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3152 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3153 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
3154 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3155 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
3156 or else NT
(N
).Nkind
= N_Number_Declaration
3157 or else NT
(N
).Nkind
= N_Object_Declaration
3158 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
3159 or else NT
(N
).Nkind
= N_Package_Body_Stub
3160 or else NT
(N
).Nkind
= N_Parameter_Specification
3161 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3162 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3163 or else NT
(N
).Nkind
= N_Protected_Body
3164 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3165 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3166 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
3167 or else NT
(N
).Nkind
= N_Single_Task_Declaration
3168 or else NT
(N
).Nkind
= N_Subtype_Declaration
3169 or else NT
(N
).Nkind
= N_Task_Body
3170 or else NT
(N
).Nkind
= N_Task_Body_Stub
3171 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3172 Set_Node1_With_Parent
(N
, Val
);
3173 end Set_Defining_Identifier
;
3175 procedure Set_Defining_Unit_Name
3176 (N
: Node_Id
; Val
: Node_Id
) is
3178 pragma Assert
(False
3179 or else NT
(N
).Nkind
= N_Function_Instantiation
3180 or else NT
(N
).Nkind
= N_Function_Specification
3181 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
3182 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
3183 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
3184 or else NT
(N
).Nkind
= N_Package_Body
3185 or else NT
(N
).Nkind
= N_Package_Instantiation
3186 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
3187 or else NT
(N
).Nkind
= N_Package_Specification
3188 or else NT
(N
).Nkind
= N_Procedure_Instantiation
3189 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3190 Set_Node1_With_Parent
(N
, Val
);
3191 end Set_Defining_Unit_Name
;
3193 procedure Set_Delay_Alternative
3194 (N
: Node_Id
; Val
: Node_Id
) is
3196 pragma Assert
(False
3197 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3198 Set_Node4_With_Parent
(N
, Val
);
3199 end Set_Delay_Alternative
;
3201 procedure Set_Delay_Finalize_Attach
3202 (N
: Node_Id
; Val
: Boolean := True) is
3204 pragma Assert
(False
3205 or else NT
(N
).Nkind
= N_Object_Declaration
);
3206 Set_Flag14
(N
, Val
);
3207 end Set_Delay_Finalize_Attach
;
3209 procedure Set_Delay_Statement
3210 (N
: Node_Id
; Val
: Node_Id
) is
3212 pragma Assert
(False
3213 or else NT
(N
).Nkind
= N_Delay_Alternative
);
3214 Set_Node2_With_Parent
(N
, Val
);
3215 end Set_Delay_Statement
;
3217 procedure Set_Delta_Expression
3218 (N
: Node_Id
; Val
: Node_Id
) is
3220 pragma Assert
(False
3221 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3222 or else NT
(N
).Nkind
= N_Delta_Constraint
3223 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
3224 Set_Node3_With_Parent
(N
, Val
);
3225 end Set_Delta_Expression
;
3227 procedure Set_Digits_Expression
3228 (N
: Node_Id
; Val
: Node_Id
) is
3230 pragma Assert
(False
3231 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3232 or else NT
(N
).Nkind
= N_Digits_Constraint
3233 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
3234 Set_Node2_With_Parent
(N
, Val
);
3235 end Set_Digits_Expression
;
3237 procedure Set_Discr_Check_Funcs_Built
3238 (N
: Node_Id
; Val
: Boolean := True) is
3240 pragma Assert
(False
3241 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
3242 Set_Flag11
(N
, Val
);
3243 end Set_Discr_Check_Funcs_Built
;
3245 procedure Set_Discrete_Choices
3246 (N
: Node_Id
; Val
: List_Id
) is
3248 pragma Assert
(False
3249 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
3250 or else NT
(N
).Nkind
= N_Variant
);
3251 Set_List4_With_Parent
(N
, Val
);
3252 end Set_Discrete_Choices
;
3254 procedure Set_Discrete_Range
3255 (N
: Node_Id
; Val
: Node_Id
) is
3257 pragma Assert
(False
3258 or else NT
(N
).Nkind
= N_Slice
);
3259 Set_Node4_With_Parent
(N
, Val
);
3260 end Set_Discrete_Range
;
3262 procedure Set_Discrete_Subtype_Definition
3263 (N
: Node_Id
; Val
: Node_Id
) is
3265 pragma Assert
(False
3266 or else NT
(N
).Nkind
= N_Entry_Declaration
3267 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3268 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
3269 Set_Node4_With_Parent
(N
, Val
);
3270 end Set_Discrete_Subtype_Definition
;
3272 procedure Set_Discrete_Subtype_Definitions
3273 (N
: Node_Id
; Val
: List_Id
) is
3275 pragma Assert
(False
3276 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
3277 Set_List2_With_Parent
(N
, Val
);
3278 end Set_Discrete_Subtype_Definitions
;
3280 procedure Set_Discriminant_Specifications
3281 (N
: Node_Id
; Val
: List_Id
) is
3283 pragma Assert
(False
3284 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3285 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3286 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3287 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3288 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3289 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3290 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3291 Set_List4_With_Parent
(N
, Val
);
3292 end Set_Discriminant_Specifications
;
3294 procedure Set_Discriminant_Type
3295 (N
: Node_Id
; Val
: Node_Id
) is
3297 pragma Assert
(False
3298 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
3299 Set_Node5_With_Parent
(N
, Val
);
3300 end Set_Discriminant_Type
;
3302 procedure Set_Do_Accessibility_Check
3303 (N
: Node_Id
; Val
: Boolean := True) is
3305 pragma Assert
(False
3306 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3307 Set_Flag13
(N
, Val
);
3308 end Set_Do_Accessibility_Check
;
3310 procedure Set_Do_Discriminant_Check
3311 (N
: Node_Id
; Val
: Boolean := True) is
3313 pragma Assert
(False
3314 or else NT
(N
).Nkind
= N_Selected_Component
);
3315 Set_Flag13
(N
, Val
);
3316 end Set_Do_Discriminant_Check
;
3318 procedure Set_Do_Division_Check
3319 (N
: Node_Id
; Val
: Boolean := True) is
3321 pragma Assert
(False
3322 or else NT
(N
).Nkind
= N_Op_Divide
3323 or else NT
(N
).Nkind
= N_Op_Mod
3324 or else NT
(N
).Nkind
= N_Op_Rem
);
3325 Set_Flag13
(N
, Val
);
3326 end Set_Do_Division_Check
;
3328 procedure Set_Do_Length_Check
3329 (N
: Node_Id
; Val
: Boolean := True) is
3331 pragma Assert
(False
3332 or else NT
(N
).Nkind
= N_Assignment_Statement
3333 or else NT
(N
).Nkind
= N_Op_And
3334 or else NT
(N
).Nkind
= N_Op_Or
3335 or else NT
(N
).Nkind
= N_Op_Xor
3336 or else NT
(N
).Nkind
= N_Type_Conversion
);
3338 end Set_Do_Length_Check
;
3340 procedure Set_Do_Overflow_Check
3341 (N
: Node_Id
; Val
: Boolean := True) is
3343 pragma Assert
(False
3344 or else NT
(N
).Nkind
in N_Op
3345 or else NT
(N
).Nkind
= N_Attribute_Reference
3346 or else NT
(N
).Nkind
= N_Type_Conversion
);
3347 Set_Flag17
(N
, Val
);
3348 end Set_Do_Overflow_Check
;
3350 procedure Set_Do_Range_Check
3351 (N
: Node_Id
; Val
: Boolean := True) is
3353 pragma Assert
(False
3354 or else NT
(N
).Nkind
in N_Subexpr
);
3356 end Set_Do_Range_Check
;
3358 procedure Set_Do_Storage_Check
3359 (N
: Node_Id
; Val
: Boolean := True) is
3361 pragma Assert
(False
3362 or else NT
(N
).Nkind
= N_Allocator
3363 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3364 Set_Flag17
(N
, Val
);
3365 end Set_Do_Storage_Check
;
3367 procedure Set_Do_Tag_Check
3368 (N
: Node_Id
; Val
: Boolean := True) is
3370 pragma Assert
(False
3371 or else NT
(N
).Nkind
= N_Assignment_Statement
3372 or else NT
(N
).Nkind
= N_Function_Call
3373 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
3374 or else NT
(N
).Nkind
= N_Return_Statement
3375 or else NT
(N
).Nkind
= N_Type_Conversion
);
3376 Set_Flag13
(N
, Val
);
3377 end Set_Do_Tag_Check
;
3379 procedure Set_Elaborate_All_Present
3380 (N
: Node_Id
; Val
: Boolean := True) is
3382 pragma Assert
(False
3383 or else NT
(N
).Nkind
= N_With_Clause
);
3384 Set_Flag14
(N
, Val
);
3385 end Set_Elaborate_All_Present
;
3387 procedure Set_Elaborate_Present
3388 (N
: Node_Id
; Val
: Boolean := True) is
3390 pragma Assert
(False
3391 or else NT
(N
).Nkind
= N_With_Clause
);
3393 end Set_Elaborate_Present
;
3395 procedure Set_Elaboration_Boolean
3396 (N
: Node_Id
; Val
: Node_Id
) is
3398 pragma Assert
(False
3399 or else NT
(N
).Nkind
= N_Function_Specification
3400 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3402 end Set_Elaboration_Boolean
;
3404 procedure Set_Else_Actions
3405 (N
: Node_Id
; Val
: List_Id
) is
3407 pragma Assert
(False
3408 or else NT
(N
).Nkind
= N_Conditional_Expression
);
3409 Set_List3
(N
, Val
); -- semantic field, no parent set
3410 end Set_Else_Actions
;
3412 procedure Set_Else_Statements
3413 (N
: Node_Id
; Val
: List_Id
) is
3415 pragma Assert
(False
3416 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3417 or else NT
(N
).Nkind
= N_If_Statement
3418 or else NT
(N
).Nkind
= N_Selective_Accept
);
3419 Set_List4_With_Parent
(N
, Val
);
3420 end Set_Else_Statements
;
3422 procedure Set_Elsif_Parts
3423 (N
: Node_Id
; Val
: List_Id
) is
3425 pragma Assert
(False
3426 or else NT
(N
).Nkind
= N_If_Statement
);
3427 Set_List3_With_Parent
(N
, Val
);
3428 end Set_Elsif_Parts
;
3430 procedure Set_Enclosing_Variant
3431 (N
: Node_Id
; Val
: Node_Id
) is
3433 pragma Assert
(False
3434 or else NT
(N
).Nkind
= N_Variant
);
3435 Set_Node2
(N
, Val
); -- semantic field, no parent set
3436 end Set_Enclosing_Variant
;
3438 procedure Set_End_Label
3439 (N
: Node_Id
; Val
: Node_Id
) is
3441 pragma Assert
(False
3442 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
3443 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
3444 or else NT
(N
).Nkind
= N_Loop_Statement
3445 or else NT
(N
).Nkind
= N_Package_Specification
3446 or else NT
(N
).Nkind
= N_Protected_Body
3447 or else NT
(N
).Nkind
= N_Protected_Definition
3448 or else NT
(N
).Nkind
= N_Record_Definition
3449 or else NT
(N
).Nkind
= N_Task_Definition
);
3450 Set_Node4_With_Parent
(N
, Val
);
3453 procedure Set_End_Span
3454 (N
: Node_Id
; Val
: Uint
) is
3456 pragma Assert
(False
3457 or else NT
(N
).Nkind
= N_Case_Statement
3458 or else NT
(N
).Nkind
= N_If_Statement
);
3462 procedure Set_Entity
3463 (N
: Node_Id
; Val
: Node_Id
) is
3465 pragma Assert
(False
3466 or else NT
(N
).Nkind
in N_Has_Entity
3467 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3468 Set_Node4
(N
, Val
); -- semantic field, no parent set
3471 procedure Set_Entry_Body_Formal_Part
3472 (N
: Node_Id
; Val
: Node_Id
) is
3474 pragma Assert
(False
3475 or else NT
(N
).Nkind
= N_Entry_Body
);
3476 Set_Node5_With_Parent
(N
, Val
);
3477 end Set_Entry_Body_Formal_Part
;
3479 procedure Set_Entry_Call_Alternative
3480 (N
: Node_Id
; Val
: Node_Id
) is
3482 pragma Assert
(False
3483 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3484 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3485 Set_Node1_With_Parent
(N
, Val
);
3486 end Set_Entry_Call_Alternative
;
3488 procedure Set_Entry_Call_Statement
3489 (N
: Node_Id
; Val
: Node_Id
) is
3491 pragma Assert
(False
3492 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
3493 Set_Node1_With_Parent
(N
, Val
);
3494 end Set_Entry_Call_Statement
;
3496 procedure Set_Entry_Direct_Name
3497 (N
: Node_Id
; Val
: Node_Id
) is
3499 pragma Assert
(False
3500 or else NT
(N
).Nkind
= N_Accept_Statement
);
3501 Set_Node1_With_Parent
(N
, Val
);
3502 end Set_Entry_Direct_Name
;
3504 procedure Set_Entry_Index
3505 (N
: Node_Id
; Val
: Node_Id
) is
3507 pragma Assert
(False
3508 or else NT
(N
).Nkind
= N_Accept_Statement
);
3509 Set_Node5_With_Parent
(N
, Val
);
3510 end Set_Entry_Index
;
3512 procedure Set_Entry_Index_Specification
3513 (N
: Node_Id
; Val
: Node_Id
) is
3515 pragma Assert
(False
3516 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
3517 Set_Node4_With_Parent
(N
, Val
);
3518 end Set_Entry_Index_Specification
;
3521 (N
: Node_Id
; Val
: Node_Id
) is
3523 pragma Assert
(False
3524 or else NT
(N
).Nkind
in N_Has_Etype
);
3525 Set_Node5
(N
, Val
); -- semantic field, no parent set
3528 procedure Set_Exception_Choices
3529 (N
: Node_Id
; Val
: List_Id
) is
3531 pragma Assert
(False
3532 or else NT
(N
).Nkind
= N_Exception_Handler
);
3533 Set_List4_With_Parent
(N
, Val
);
3534 end Set_Exception_Choices
;
3536 procedure Set_Exception_Handlers
3537 (N
: Node_Id
; Val
: List_Id
) is
3539 pragma Assert
(False
3540 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3541 Set_List5_With_Parent
(N
, Val
);
3542 end Set_Exception_Handlers
;
3544 procedure Set_Exception_Junk
3545 (N
: Node_Id
; Val
: Boolean := True) is
3547 pragma Assert
(False
3548 or else NT
(N
).Nkind
= N_Goto_Statement
3549 or else NT
(N
).Nkind
= N_Label
3550 or else NT
(N
).Nkind
= N_Object_Declaration
3551 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3552 Set_Flag11
(N
, Val
);
3553 end Set_Exception_Junk
;
3555 procedure Set_Expansion_Delayed
3556 (N
: Node_Id
; Val
: Boolean := True) is
3558 pragma Assert
(False
3559 or else NT
(N
).Nkind
= N_Aggregate
3560 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3561 Set_Flag11
(N
, Val
);
3562 end Set_Expansion_Delayed
;
3564 procedure Set_Explicit_Actual_Parameter
3565 (N
: Node_Id
; Val
: Node_Id
) is
3567 pragma Assert
(False
3568 or else NT
(N
).Nkind
= N_Parameter_Association
);
3569 Set_Node3_With_Parent
(N
, Val
);
3570 end Set_Explicit_Actual_Parameter
;
3572 procedure Set_Explicit_Generic_Actual_Parameter
3573 (N
: Node_Id
; Val
: Node_Id
) is
3575 pragma Assert
(False
3576 or else NT
(N
).Nkind
= N_Generic_Association
);
3577 Set_Node1_With_Parent
(N
, Val
);
3578 end Set_Explicit_Generic_Actual_Parameter
;
3580 procedure Set_Expression
3581 (N
: Node_Id
; Val
: Node_Id
) is
3583 pragma Assert
(False
3584 or else NT
(N
).Nkind
= N_Allocator
3585 or else NT
(N
).Nkind
= N_Assignment_Statement
3586 or else NT
(N
).Nkind
= N_At_Clause
3587 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
3588 or else NT
(N
).Nkind
= N_Case_Statement
3589 or else NT
(N
).Nkind
= N_Code_Statement
3590 or else NT
(N
).Nkind
= N_Component_Association
3591 or else NT
(N
).Nkind
= N_Component_Declaration
3592 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
3593 or else NT
(N
).Nkind
= N_Delay_Until_Statement
3594 or else NT
(N
).Nkind
= N_Discriminant_Association
3595 or else NT
(N
).Nkind
= N_Discriminant_Specification
3596 or else NT
(N
).Nkind
= N_Exception_Declaration
3597 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3598 or else NT
(N
).Nkind
= N_Free_Statement
3599 or else NT
(N
).Nkind
= N_Mod_Clause
3600 or else NT
(N
).Nkind
= N_Modular_Type_Definition
3601 or else NT
(N
).Nkind
= N_Number_Declaration
3602 or else NT
(N
).Nkind
= N_Object_Declaration
3603 or else NT
(N
).Nkind
= N_Parameter_Specification
3604 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
3605 or else NT
(N
).Nkind
= N_Qualified_Expression
3606 or else NT
(N
).Nkind
= N_Return_Statement
3607 or else NT
(N
).Nkind
= N_Type_Conversion
3608 or else NT
(N
).Nkind
= N_Unchecked_Expression
3609 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
3610 Set_Node3_With_Parent
(N
, Val
);
3613 procedure Set_Expressions
3614 (N
: Node_Id
; Val
: List_Id
) is
3616 pragma Assert
(False
3617 or else NT
(N
).Nkind
= N_Aggregate
3618 or else NT
(N
).Nkind
= N_Attribute_Reference
3619 or else NT
(N
).Nkind
= N_Conditional_Expression
3620 or else NT
(N
).Nkind
= N_Extension_Aggregate
3621 or else NT
(N
).Nkind
= N_Indexed_Component
);
3622 Set_List1_With_Parent
(N
, Val
);
3623 end Set_Expressions
;
3625 procedure Set_First_Bit
3626 (N
: Node_Id
; Val
: Node_Id
) is
3628 pragma Assert
(False
3629 or else NT
(N
).Nkind
= N_Component_Clause
);
3630 Set_Node3_With_Parent
(N
, Val
);
3633 procedure Set_First_Inlined_Subprogram
3634 (N
: Node_Id
; Val
: Entity_Id
) is
3636 pragma Assert
(False
3637 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3638 Set_Node3
(N
, Val
); -- semantic field, no parent set
3639 end Set_First_Inlined_Subprogram
;
3641 procedure Set_First_Name
3642 (N
: Node_Id
; Val
: Boolean := True) is
3644 pragma Assert
(False
3645 or else NT
(N
).Nkind
= N_With_Clause
);
3649 procedure Set_First_Named_Actual
3650 (N
: Node_Id
; Val
: Node_Id
) is
3652 pragma Assert
(False
3653 or else NT
(N
).Nkind
= N_Entry_Call_Statement
3654 or else NT
(N
).Nkind
= N_Function_Call
3655 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3656 Set_Node4
(N
, Val
); -- semantic field, no parent set
3657 end Set_First_Named_Actual
;
3659 procedure Set_First_Real_Statement
3660 (N
: Node_Id
; Val
: Node_Id
) is
3662 pragma Assert
(False
3663 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3664 Set_Node2
(N
, Val
); -- semantic field, no parent set
3665 end Set_First_Real_Statement
;
3667 procedure Set_First_Subtype_Link
3668 (N
: Node_Id
; Val
: Entity_Id
) is
3670 pragma Assert
(False
3671 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3672 Set_Node5
(N
, Val
); -- semantic field, no parent set
3673 end Set_First_Subtype_Link
;
3675 procedure Set_Float_Truncate
3676 (N
: Node_Id
; Val
: Boolean := True) is
3678 pragma Assert
(False
3679 or else NT
(N
).Nkind
= N_Type_Conversion
);
3680 Set_Flag11
(N
, Val
);
3681 end Set_Float_Truncate
;
3683 procedure Set_Formal_Type_Definition
3684 (N
: Node_Id
; Val
: Node_Id
) is
3686 pragma Assert
(False
3687 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
3688 Set_Node3_With_Parent
(N
, Val
);
3689 end Set_Formal_Type_Definition
;
3691 procedure Set_Forwards_OK
3692 (N
: Node_Id
; Val
: Boolean := True) is
3694 pragma Assert
(False
3695 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3697 end Set_Forwards_OK
;
3699 procedure Set_From_At_Mod
3700 (N
: Node_Id
; Val
: Boolean := True) is
3702 pragma Assert
(False
3703 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3705 end Set_From_At_Mod
;
3707 procedure Set_From_Default
3708 (N
: Node_Id
; Val
: Boolean := True) is
3710 pragma Assert
(False
3711 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
3713 end Set_From_Default
;
3715 procedure Set_Generic_Associations
3716 (N
: Node_Id
; Val
: List_Id
) is
3718 pragma Assert
(False
3719 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3720 or else NT
(N
).Nkind
= N_Function_Instantiation
3721 or else NT
(N
).Nkind
= N_Package_Instantiation
3722 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
3723 Set_List3_With_Parent
(N
, Val
);
3724 end Set_Generic_Associations
;
3726 procedure Set_Generic_Formal_Declarations
3727 (N
: Node_Id
; Val
: List_Id
) is
3729 pragma Assert
(False
3730 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3731 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
3732 Set_List2_With_Parent
(N
, Val
);
3733 end Set_Generic_Formal_Declarations
;
3735 procedure Set_Generic_Parent
3736 (N
: Node_Id
; Val
: Node_Id
) is
3738 pragma Assert
(False
3739 or else NT
(N
).Nkind
= N_Function_Specification
3740 or else NT
(N
).Nkind
= N_Package_Specification
3741 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3743 end Set_Generic_Parent
;
3745 procedure Set_Generic_Parent_Type
3746 (N
: Node_Id
; Val
: Node_Id
) is
3748 pragma Assert
(False
3749 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3751 end Set_Generic_Parent_Type
;
3753 procedure Set_Handled_Statement_Sequence
3754 (N
: Node_Id
; Val
: Node_Id
) is
3756 pragma Assert
(False
3757 or else NT
(N
).Nkind
= N_Accept_Statement
3758 or else NT
(N
).Nkind
= N_Block_Statement
3759 or else NT
(N
).Nkind
= N_Entry_Body
3760 or else NT
(N
).Nkind
= N_Package_Body
3761 or else NT
(N
).Nkind
= N_Subprogram_Body
3762 or else NT
(N
).Nkind
= N_Task_Body
);
3763 Set_Node4_With_Parent
(N
, Val
);
3764 end Set_Handled_Statement_Sequence
;
3766 procedure Set_Handler_List_Entry
3767 (N
: Node_Id
; Val
: Node_Id
) is
3769 pragma Assert
(False
3770 or else NT
(N
).Nkind
= N_Object_Declaration
);
3772 end Set_Handler_List_Entry
;
3774 procedure Set_Has_Created_Identifier
3775 (N
: Node_Id
; Val
: Boolean := True) is
3777 pragma Assert
(False
3778 or else NT
(N
).Nkind
= N_Block_Statement
3779 or else NT
(N
).Nkind
= N_Loop_Statement
);
3780 Set_Flag15
(N
, Val
);
3781 end Set_Has_Created_Identifier
;
3783 procedure Set_Has_Dynamic_Length_Check
3784 (N
: Node_Id
; Val
: Boolean := True) is
3786 Set_Flag10
(N
, Val
);
3787 end Set_Has_Dynamic_Length_Check
;
3789 procedure Set_Has_Dynamic_Range_Check
3790 (N
: Node_Id
; Val
: Boolean := True) is
3792 Set_Flag12
(N
, Val
);
3793 end Set_Has_Dynamic_Range_Check
;
3795 procedure Set_Has_No_Elaboration_Code
3796 (N
: Node_Id
; Val
: Boolean := True) is
3798 pragma Assert
(False
3799 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3800 Set_Flag17
(N
, Val
);
3801 end Set_Has_No_Elaboration_Code
;
3803 procedure Set_Has_Priority_Pragma
3804 (N
: Node_Id
; Val
: Boolean := True) is
3806 pragma Assert
(False
3807 or else NT
(N
).Nkind
= N_Protected_Definition
3808 or else NT
(N
).Nkind
= N_Subprogram_Body
3809 or else NT
(N
).Nkind
= N_Task_Definition
);
3811 end Set_Has_Priority_Pragma
;
3813 procedure Set_Has_Private_View
3814 (N
: Node_Id
; Val
: Boolean := True) is
3816 pragma Assert
(False
3817 or else NT
(N
).Nkind
in N_Op
3818 or else NT
(N
).Nkind
= N_Character_Literal
3819 or else NT
(N
).Nkind
= N_Expanded_Name
3820 or else NT
(N
).Nkind
= N_Identifier
3821 or else NT
(N
).Nkind
= N_Operator_Symbol
);
3822 Set_Flag11
(N
, Val
);
3823 end Set_Has_Private_View
;
3825 procedure Set_Has_Storage_Size_Pragma
3826 (N
: Node_Id
; Val
: Boolean := True) is
3828 pragma Assert
(False
3829 or else NT
(N
).Nkind
= N_Task_Definition
);
3831 end Set_Has_Storage_Size_Pragma
;
3833 procedure Set_Has_Task_Info_Pragma
3834 (N
: Node_Id
; Val
: Boolean := True) is
3836 pragma Assert
(False
3837 or else NT
(N
).Nkind
= N_Task_Definition
);
3839 end Set_Has_Task_Info_Pragma
;
3841 procedure Set_Has_Task_Name_Pragma
3842 (N
: Node_Id
; Val
: Boolean := True) is
3844 pragma Assert
(False
3845 or else NT
(N
).Nkind
= N_Task_Definition
);
3847 end Set_Has_Task_Name_Pragma
;
3849 procedure Set_Has_Wide_Character
3850 (N
: Node_Id
; Val
: Boolean := True) is
3852 pragma Assert
(False
3853 or else NT
(N
).Nkind
= N_String_Literal
);
3854 Set_Flag11
(N
, Val
);
3855 end Set_Has_Wide_Character
;
3857 procedure Set_Hidden_By_Use_Clause
3858 (N
: Node_Id
; Val
: Elist_Id
) is
3860 pragma Assert
(False
3861 or else NT
(N
).Nkind
= N_Use_Package_Clause
3862 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
3863 Set_Elist4
(N
, Val
);
3864 end Set_Hidden_By_Use_Clause
;
3866 procedure Set_High_Bound
3867 (N
: Node_Id
; Val
: Node_Id
) is
3869 pragma Assert
(False
3870 or else NT
(N
).Nkind
= N_Range
3871 or else NT
(N
).Nkind
= N_Real_Range_Specification
3872 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
3873 Set_Node2_With_Parent
(N
, Val
);
3876 procedure Set_Identifier
3877 (N
: Node_Id
; Val
: Node_Id
) is
3879 pragma Assert
(False
3880 or else NT
(N
).Nkind
= N_At_Clause
3881 or else NT
(N
).Nkind
= N_Block_Statement
3882 or else NT
(N
).Nkind
= N_Designator
3883 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
3884 or else NT
(N
).Nkind
= N_Label
3885 or else NT
(N
).Nkind
= N_Loop_Statement
3886 or else NT
(N
).Nkind
= N_Record_Representation_Clause
3887 or else NT
(N
).Nkind
= N_Subprogram_Info
);
3888 Set_Node1_With_Parent
(N
, Val
);
3891 procedure Set_Implicit_With
3892 (N
: Node_Id
; Val
: Boolean := True) is
3894 pragma Assert
(False
3895 or else NT
(N
).Nkind
= N_With_Clause
);
3896 Set_Flag16
(N
, Val
);
3897 end Set_Implicit_With
;
3899 procedure Set_In_Present
3900 (N
: Node_Id
; Val
: Boolean := True) is
3902 pragma Assert
(False
3903 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3904 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3905 Set_Flag15
(N
, Val
);
3908 procedure Set_Includes_Infinities
3909 (N
: Node_Id
; Val
: Boolean := True) is
3911 pragma Assert
(False
3912 or else NT
(N
).Nkind
= N_Range
);
3913 Set_Flag11
(N
, Val
);
3914 end Set_Includes_Infinities
;
3916 procedure Set_Instance_Spec
3917 (N
: Node_Id
; Val
: Node_Id
) is
3919 pragma Assert
(False
3920 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3921 or else NT
(N
).Nkind
= N_Function_Instantiation
3922 or else NT
(N
).Nkind
= N_Package_Instantiation
3923 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
3924 Set_Node5
(N
, Val
); -- semantic field, no Parent set
3925 end Set_Instance_Spec
;
3927 procedure Set_Intval
3928 (N
: Node_Id
; Val
: Uint
) is
3930 pragma Assert
(False
3931 or else NT
(N
).Nkind
= N_Integer_Literal
);
3935 procedure Set_Is_Asynchronous_Call_Block
3936 (N
: Node_Id
; Val
: Boolean := True) is
3938 pragma Assert
(False
3939 or else NT
(N
).Nkind
= N_Block_Statement
);
3941 end Set_Is_Asynchronous_Call_Block
;
3943 procedure Set_Is_Component_Left_Opnd
3944 (N
: Node_Id
; Val
: Boolean := True) is
3946 pragma Assert
(False
3947 or else NT
(N
).Nkind
= N_Op_Concat
);
3948 Set_Flag13
(N
, Val
);
3949 end Set_Is_Component_Left_Opnd
;
3951 procedure Set_Is_Component_Right_Opnd
3952 (N
: Node_Id
; Val
: Boolean := True) is
3954 pragma Assert
(False
3955 or else NT
(N
).Nkind
= N_Op_Concat
);
3956 Set_Flag14
(N
, Val
);
3957 end Set_Is_Component_Right_Opnd
;
3959 procedure Set_Is_Controlling_Actual
3960 (N
: Node_Id
; Val
: Boolean := True) is
3962 pragma Assert
(False
3963 or else NT
(N
).Nkind
in N_Subexpr
);
3964 Set_Flag16
(N
, Val
);
3965 end Set_Is_Controlling_Actual
;
3967 procedure Set_Is_In_Discriminant_Check
3968 (N
: Node_Id
; Val
: Boolean := True) is
3970 pragma Assert
(False
3971 or else NT
(N
).Nkind
= N_Selected_Component
);
3972 Set_Flag11
(N
, Val
);
3973 end Set_Is_In_Discriminant_Check
;
3975 procedure Set_Is_Machine_Number
3976 (N
: Node_Id
; Val
: Boolean := True) is
3978 pragma Assert
(False
3979 or else NT
(N
).Nkind
= N_Real_Literal
);
3980 Set_Flag11
(N
, Val
);
3981 end Set_Is_Machine_Number
;
3983 procedure Set_Is_Null_Loop
3984 (N
: Node_Id
; Val
: Boolean := True) is
3986 pragma Assert
(False
3987 or else NT
(N
).Nkind
= N_Loop_Statement
);
3988 Set_Flag16
(N
, Val
);
3989 end Set_Is_Null_Loop
;
3991 procedure Set_Is_Overloaded
3992 (N
: Node_Id
; Val
: Boolean := True) is
3994 pragma Assert
(False
3995 or else NT
(N
).Nkind
in N_Subexpr
);
3997 end Set_Is_Overloaded
;
3999 procedure Set_Is_Power_Of_2_For_Shift
4000 (N
: Node_Id
; Val
: Boolean := True) is
4002 pragma Assert
(False
4003 or else NT
(N
).Nkind
= N_Op_Expon
);
4004 Set_Flag13
(N
, Val
);
4005 end Set_Is_Power_Of_2_For_Shift
;
4007 procedure Set_Is_Protected_Subprogram_Body
4008 (N
: Node_Id
; Val
: Boolean := True) is
4010 pragma Assert
(False
4011 or else NT
(N
).Nkind
= N_Subprogram_Body
);
4013 end Set_Is_Protected_Subprogram_Body
;
4015 procedure Set_Is_Static_Expression
4016 (N
: Node_Id
; Val
: Boolean := True) is
4018 pragma Assert
(False
4019 or else NT
(N
).Nkind
in N_Subexpr
);
4021 end Set_Is_Static_Expression
;
4023 procedure Set_Is_Subprogram_Descriptor
4024 (N
: Node_Id
; Val
: Boolean := True) is
4026 pragma Assert
(False
4027 or else NT
(N
).Nkind
= N_Object_Declaration
);
4028 Set_Flag16
(N
, Val
);
4029 end Set_Is_Subprogram_Descriptor
;
4031 procedure Set_Is_Task_Allocation_Block
4032 (N
: Node_Id
; Val
: Boolean := True) is
4034 pragma Assert
(False
4035 or else NT
(N
).Nkind
= N_Block_Statement
);
4037 end Set_Is_Task_Allocation_Block
;
4039 procedure Set_Is_Task_Master
4040 (N
: Node_Id
; Val
: Boolean := True) is
4042 pragma Assert
(False
4043 or else NT
(N
).Nkind
= N_Block_Statement
4044 or else NT
(N
).Nkind
= N_Subprogram_Body
4045 or else NT
(N
).Nkind
= N_Task_Body
);
4047 end Set_Is_Task_Master
;
4049 procedure Set_Iteration_Scheme
4050 (N
: Node_Id
; Val
: Node_Id
) is
4052 pragma Assert
(False
4053 or else NT
(N
).Nkind
= N_Loop_Statement
);
4054 Set_Node2_With_Parent
(N
, Val
);
4055 end Set_Iteration_Scheme
;
4058 (N
: Node_Id
; Val
: Entity_Id
) is
4060 pragma Assert
(False
4061 or else NT
(N
).Nkind
= N_Itype_Reference
);
4062 Set_Node1
(N
, Val
); -- no parent, semantic field
4065 procedure Set_Kill_Range_Check
4066 (N
: Node_Id
; Val
: Boolean := True) is
4068 pragma Assert
(False
4069 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4070 Set_Flag11
(N
, Val
);
4071 end Set_Kill_Range_Check
;
4073 procedure Set_Label_Construct
4074 (N
: Node_Id
; Val
: Node_Id
) is
4076 pragma Assert
(False
4077 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
4078 Set_Node2
(N
, Val
); -- semantic field, no parent set
4079 end Set_Label_Construct
;
4081 procedure Set_Last_Bit
4082 (N
: Node_Id
; Val
: Node_Id
) is
4084 pragma Assert
(False
4085 or else NT
(N
).Nkind
= N_Component_Clause
);
4086 Set_Node4_With_Parent
(N
, Val
);
4089 procedure Set_Last_Name
4090 (N
: Node_Id
; Val
: Boolean := True) is
4092 pragma Assert
(False
4093 or else NT
(N
).Nkind
= N_With_Clause
);
4097 procedure Set_Left_Opnd
4098 (N
: Node_Id
; Val
: Node_Id
) is
4100 pragma Assert
(False
4101 or else NT
(N
).Nkind
= N_And_Then
4102 or else NT
(N
).Nkind
= N_In
4103 or else NT
(N
).Nkind
= N_Not_In
4104 or else NT
(N
).Nkind
= N_Or_Else
4105 or else NT
(N
).Nkind
in N_Binary_Op
);
4106 Set_Node2_With_Parent
(N
, Val
);
4109 procedure Set_Library_Unit
4110 (N
: Node_Id
; Val
: Node_Id
) is
4112 pragma Assert
(False
4113 or else NT
(N
).Nkind
= N_Compilation_Unit
4114 or else NT
(N
).Nkind
= N_Package_Body_Stub
4115 or else NT
(N
).Nkind
= N_Protected_Body_Stub
4116 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4117 or else NT
(N
).Nkind
= N_Task_Body_Stub
4118 or else NT
(N
).Nkind
= N_With_Clause
);
4119 Set_Node4
(N
, Val
); -- semantic field, no parent set
4120 end Set_Library_Unit
;
4122 procedure Set_Limited_View_Installed
4123 (N
: Node_Id
; Val
: Boolean := True) is
4125 pragma Assert
(False
4126 or else NT
(N
).Nkind
= N_Package_Specification
4127 or else NT
(N
).Nkind
= N_With_Clause
);
4128 Set_Flag18
(N
, Val
);
4129 end Set_Limited_View_Installed
;
4131 procedure Set_Limited_Present
4132 (N
: Node_Id
; Val
: Boolean := True) is
4134 pragma Assert
(False
4135 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
4136 or else NT
(N
).Nkind
= N_Private_Type_Declaration
4137 or else NT
(N
).Nkind
= N_Record_Definition
4138 or else NT
(N
).Nkind
= N_With_Clause
);
4139 Set_Flag17
(N
, Val
);
4140 end Set_Limited_Present
;
4142 procedure Set_Literals
4143 (N
: Node_Id
; Val
: List_Id
) is
4145 pragma Assert
(False
4146 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
4147 Set_List1_With_Parent
(N
, Val
);
4150 procedure Set_Loop_Actions
4151 (N
: Node_Id
; Val
: List_Id
) is
4153 pragma Assert
(False
4154 or else NT
(N
).Nkind
= N_Component_Association
);
4155 Set_List2
(N
, Val
); -- semantic field, no parent set
4156 end Set_Loop_Actions
;
4158 procedure Set_Loop_Parameter_Specification
4159 (N
: Node_Id
; Val
: Node_Id
) is
4161 pragma Assert
(False
4162 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
4163 Set_Node4_With_Parent
(N
, Val
);
4164 end Set_Loop_Parameter_Specification
;
4166 procedure Set_Low_Bound
4167 (N
: Node_Id
; Val
: Node_Id
) is
4169 pragma Assert
(False
4170 or else NT
(N
).Nkind
= N_Range
4171 or else NT
(N
).Nkind
= N_Real_Range_Specification
4172 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4173 Set_Node1_With_Parent
(N
, Val
);
4176 procedure Set_Mod_Clause
4177 (N
: Node_Id
; Val
: Node_Id
) is
4179 pragma Assert
(False
4180 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4181 Set_Node2_With_Parent
(N
, Val
);
4184 procedure Set_More_Ids
4185 (N
: Node_Id
; Val
: Boolean := True) is
4187 pragma Assert
(False
4188 or else NT
(N
).Nkind
= N_Component_Declaration
4189 or else NT
(N
).Nkind
= N_Discriminant_Specification
4190 or else NT
(N
).Nkind
= N_Exception_Declaration
4191 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4192 or else NT
(N
).Nkind
= N_Number_Declaration
4193 or else NT
(N
).Nkind
= N_Object_Declaration
4194 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4198 procedure Set_Must_Be_Byte_Aligned
4199 (N
: Node_Id
; Val
: Boolean := True) is
4201 pragma Assert
(False
4202 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4203 Set_Flag14
(N
, Val
);
4204 end Set_Must_Be_Byte_Aligned
;
4206 procedure Set_Must_Not_Freeze
4207 (N
: Node_Id
; Val
: Boolean := True) is
4209 pragma Assert
(False
4210 or else NT
(N
).Nkind
= N_Subtype_Indication
4211 or else NT
(N
).Nkind
in N_Subexpr
);
4213 end Set_Must_Not_Freeze
;
4216 (N
: Node_Id
; Val
: Node_Id
) is
4218 pragma Assert
(False
4219 or else NT
(N
).Nkind
= N_Assignment_Statement
4220 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4221 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
4222 or else NT
(N
).Nkind
= N_Designator
4223 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4224 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
4225 or else NT
(N
).Nkind
= N_Exit_Statement
4226 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4227 or else NT
(N
).Nkind
= N_Function_Call
4228 or else NT
(N
).Nkind
= N_Function_Instantiation
4229 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4230 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4231 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4232 or else NT
(N
).Nkind
= N_Goto_Statement
4233 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4234 or else NT
(N
).Nkind
= N_Package_Instantiation
4235 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4236 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
4237 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4238 or else NT
(N
).Nkind
= N_Raise_Statement
4239 or else NT
(N
).Nkind
= N_Requeue_Statement
4240 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
4241 or else NT
(N
).Nkind
= N_Subunit
4242 or else NT
(N
).Nkind
= N_Variant_Part
4243 or else NT
(N
).Nkind
= N_With_Clause
4244 or else NT
(N
).Nkind
= N_With_Type_Clause
);
4245 Set_Node2_With_Parent
(N
, Val
);
4249 (N
: Node_Id
; Val
: List_Id
) is
4251 pragma Assert
(False
4252 or else NT
(N
).Nkind
= N_Abort_Statement
4253 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
4254 Set_List2_With_Parent
(N
, Val
);
4257 procedure Set_Next_Entity
4258 (N
: Node_Id
; Val
: Node_Id
) is
4260 pragma Assert
(False
4261 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4262 or else NT
(N
).Nkind
= N_Defining_Identifier
4263 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4264 Set_Node2
(N
, Val
); -- semantic field, no parent set
4265 end Set_Next_Entity
;
4267 procedure Set_Next_Named_Actual
4268 (N
: Node_Id
; Val
: Node_Id
) is
4270 pragma Assert
(False
4271 or else NT
(N
).Nkind
= N_Parameter_Association
);
4272 Set_Node4
(N
, Val
); -- semantic field, no parent set
4273 end Set_Next_Named_Actual
;
4275 procedure Set_Next_Rep_Item
4276 (N
: Node_Id
; Val
: Node_Id
) is
4278 pragma Assert
(False
4279 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4280 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4281 or else NT
(N
).Nkind
= N_Pragma
4282 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4283 Set_Node4
(N
, Val
); -- semantic field, no parent set
4284 end Set_Next_Rep_Item
;
4286 procedure Set_Next_Use_Clause
4287 (N
: Node_Id
; Val
: Node_Id
) is
4289 pragma Assert
(False
4290 or else NT
(N
).Nkind
= N_Use_Package_Clause
4291 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4292 Set_Node3
(N
, Val
); -- semantic field, no parent set
4293 end Set_Next_Use_Clause
;
4295 procedure Set_No_Ctrl_Actions
4296 (N
: Node_Id
; Val
: Boolean := True) is
4298 pragma Assert
(False
4299 or else NT
(N
).Nkind
= N_Assignment_Statement
);
4301 end Set_No_Ctrl_Actions
;
4303 procedure Set_No_Elaboration_Check
4304 (N
: Node_Id
; Val
: Boolean := True) is
4306 pragma Assert
(False
4307 or else NT
(N
).Nkind
= N_Function_Call
4308 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4309 Set_Flag14
(N
, Val
);
4310 end Set_No_Elaboration_Check
;
4312 procedure Set_No_Entities_Ref_In_Spec
4313 (N
: Node_Id
; Val
: Boolean := True) is
4315 pragma Assert
(False
4316 or else NT
(N
).Nkind
= N_With_Clause
);
4318 end Set_No_Entities_Ref_In_Spec
;
4320 procedure Set_No_Initialization
4321 (N
: Node_Id
; Val
: Boolean := True) is
4323 pragma Assert
(False
4324 or else NT
(N
).Nkind
= N_Allocator
4325 or else NT
(N
).Nkind
= N_Object_Declaration
);
4326 Set_Flag13
(N
, Val
);
4327 end Set_No_Initialization
;
4329 procedure Set_No_Truncation
4330 (N
: Node_Id
; Val
: Boolean := True) is
4332 pragma Assert
(False
4333 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4334 Set_Flag17
(N
, Val
);
4335 end Set_No_Truncation
;
4337 procedure Set_Null_Present
4338 (N
: Node_Id
; Val
: Boolean := True) is
4340 pragma Assert
(False
4341 or else NT
(N
).Nkind
= N_Component_List
4342 or else NT
(N
).Nkind
= N_Record_Definition
);
4343 Set_Flag13
(N
, Val
);
4344 end Set_Null_Present
;
4346 procedure Set_Null_Exclusion_Present
4347 (N
: Node_Id
; Val
: Boolean := True) is
4349 pragma Assert
(False
4350 or else NT
(N
).Nkind
= N_Access_Definition
4351 or else NT
(N
).Nkind
= N_Access_Function_Definition
4352 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4353 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
4354 or else NT
(N
).Nkind
= N_Allocator
4355 or else NT
(N
).Nkind
= N_Component_Definition
4356 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4357 or else NT
(N
).Nkind
= N_Discriminant_Specification
4358 or else NT
(N
).Nkind
= N_Object_Declaration
4359 or else NT
(N
).Nkind
= N_Parameter_Specification
4360 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4362 end Set_Null_Exclusion_Present
;
4364 procedure Set_Null_Record_Present
4365 (N
: Node_Id
; Val
: Boolean := True) is
4367 pragma Assert
(False
4368 or else NT
(N
).Nkind
= N_Aggregate
4369 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4370 Set_Flag17
(N
, Val
);
4371 end Set_Null_Record_Present
;
4373 procedure Set_Object_Definition
4374 (N
: Node_Id
; Val
: Node_Id
) is
4376 pragma Assert
(False
4377 or else NT
(N
).Nkind
= N_Object_Declaration
);
4378 Set_Node4_With_Parent
(N
, Val
);
4379 end Set_Object_Definition
;
4381 procedure Set_OK_For_Stream
4382 (N
: Node_Id
; Val
: Boolean := True) is
4384 pragma Assert
(False
4385 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4387 end Set_OK_For_Stream
;
4389 procedure Set_Original_Discriminant
4390 (N
: Node_Id
; Val
: Node_Id
) is
4392 pragma Assert
(False
4393 or else NT
(N
).Nkind
= N_Identifier
);
4394 Set_Node2
(N
, Val
); -- semantic field, no parent set
4395 end Set_Original_Discriminant
;
4397 procedure Set_Original_Entity
4398 (N
: Node_Id
; Val
: Entity_Id
) is
4400 pragma Assert
(False
4401 or else NT
(N
).Nkind
= N_Integer_Literal
4402 or else NT
(N
).Nkind
= N_Real_Literal
);
4403 Set_Node2
(N
, Val
); -- semantic field, no parent set
4404 end Set_Original_Entity
;
4406 procedure Set_Others_Discrete_Choices
4407 (N
: Node_Id
; Val
: List_Id
) is
4409 pragma Assert
(False
4410 or else NT
(N
).Nkind
= N_Others_Choice
);
4411 Set_List1_With_Parent
(N
, Val
);
4412 end Set_Others_Discrete_Choices
;
4414 procedure Set_Out_Present
4415 (N
: Node_Id
; Val
: Boolean := True) is
4417 pragma Assert
(False
4418 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4419 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4420 Set_Flag17
(N
, Val
);
4421 end Set_Out_Present
;
4423 procedure Set_Parameter_Associations
4424 (N
: Node_Id
; Val
: List_Id
) is
4426 pragma Assert
(False
4427 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4428 or else NT
(N
).Nkind
= N_Function_Call
4429 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4430 Set_List3_With_Parent
(N
, Val
);
4431 end Set_Parameter_Associations
;
4433 procedure Set_Parameter_List_Truncated
4434 (N
: Node_Id
; Val
: Boolean := True) is
4436 pragma Assert
(False
4437 or else NT
(N
).Nkind
= N_Function_Call
4438 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4439 Set_Flag17
(N
, Val
);
4440 end Set_Parameter_List_Truncated
;
4442 procedure Set_Parameter_Specifications
4443 (N
: Node_Id
; Val
: List_Id
) is
4445 pragma Assert
(False
4446 or else NT
(N
).Nkind
= N_Accept_Statement
4447 or else NT
(N
).Nkind
= N_Access_Function_Definition
4448 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4449 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
4450 or else NT
(N
).Nkind
= N_Entry_Declaration
4451 or else NT
(N
).Nkind
= N_Function_Specification
4452 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4453 Set_List3_With_Parent
(N
, Val
);
4454 end Set_Parameter_Specifications
;
4456 procedure Set_Parameter_Type
4457 (N
: Node_Id
; Val
: Node_Id
) is
4459 pragma Assert
(False
4460 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4461 Set_Node2_With_Parent
(N
, Val
);
4462 end Set_Parameter_Type
;
4464 procedure Set_Parent_Spec
4465 (N
: Node_Id
; Val
: Node_Id
) is
4467 pragma Assert
(False
4468 or else NT
(N
).Nkind
= N_Function_Instantiation
4469 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4470 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4471 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4472 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4473 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4474 or else NT
(N
).Nkind
= N_Package_Declaration
4475 or else NT
(N
).Nkind
= N_Package_Instantiation
4476 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4477 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4478 or else NT
(N
).Nkind
= N_Subprogram_Declaration
4479 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4480 Set_Node4
(N
, Val
); -- semantic field, no parent set
4481 end Set_Parent_Spec
;
4483 procedure Set_Position
4484 (N
: Node_Id
; Val
: Node_Id
) is
4486 pragma Assert
(False
4487 or else NT
(N
).Nkind
= N_Component_Clause
);
4488 Set_Node2_With_Parent
(N
, Val
);
4491 procedure Set_Pragma_Argument_Associations
4492 (N
: Node_Id
; Val
: List_Id
) is
4494 pragma Assert
(False
4495 or else NT
(N
).Nkind
= N_Pragma
);
4496 Set_List2_With_Parent
(N
, Val
);
4497 end Set_Pragma_Argument_Associations
;
4499 procedure Set_Pragmas_After
4500 (N
: Node_Id
; Val
: List_Id
) is
4502 pragma Assert
(False
4503 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
4504 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
4505 Set_List5_With_Parent
(N
, Val
);
4506 end Set_Pragmas_After
;
4508 procedure Set_Pragmas_Before
4509 (N
: Node_Id
; Val
: List_Id
) is
4511 pragma Assert
(False
4512 or else NT
(N
).Nkind
= N_Accept_Alternative
4513 or else NT
(N
).Nkind
= N_Delay_Alternative
4514 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
4515 or else NT
(N
).Nkind
= N_Mod_Clause
4516 or else NT
(N
).Nkind
= N_Terminate_Alternative
4517 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4518 Set_List4_With_Parent
(N
, Val
);
4519 end Set_Pragmas_Before
;
4521 procedure Set_Prefix
4522 (N
: Node_Id
; Val
: Node_Id
) is
4524 pragma Assert
(False
4525 or else NT
(N
).Nkind
= N_Attribute_Reference
4526 or else NT
(N
).Nkind
= N_Expanded_Name
4527 or else NT
(N
).Nkind
= N_Explicit_Dereference
4528 or else NT
(N
).Nkind
= N_Indexed_Component
4529 or else NT
(N
).Nkind
= N_Reference
4530 or else NT
(N
).Nkind
= N_Selected_Component
4531 or else NT
(N
).Nkind
= N_Slice
);
4532 Set_Node3_With_Parent
(N
, Val
);
4535 procedure Set_Present_Expr
4536 (N
: Node_Id
; Val
: Uint
) is
4538 pragma Assert
(False
4539 or else NT
(N
).Nkind
= N_Variant
);
4541 end Set_Present_Expr
;
4543 procedure Set_Prev_Ids
4544 (N
: Node_Id
; Val
: Boolean := True) is
4546 pragma Assert
(False
4547 or else NT
(N
).Nkind
= N_Component_Declaration
4548 or else NT
(N
).Nkind
= N_Discriminant_Specification
4549 or else NT
(N
).Nkind
= N_Exception_Declaration
4550 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4551 or else NT
(N
).Nkind
= N_Number_Declaration
4552 or else NT
(N
).Nkind
= N_Object_Declaration
4553 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4557 procedure Set_Print_In_Hex
4558 (N
: Node_Id
; Val
: Boolean := True) is
4560 pragma Assert
(False
4561 or else NT
(N
).Nkind
= N_Integer_Literal
);
4562 Set_Flag13
(N
, Val
);
4563 end Set_Print_In_Hex
;
4565 procedure Set_Private_Declarations
4566 (N
: Node_Id
; Val
: List_Id
) is
4568 pragma Assert
(False
4569 or else NT
(N
).Nkind
= N_Package_Specification
4570 or else NT
(N
).Nkind
= N_Protected_Definition
4571 or else NT
(N
).Nkind
= N_Task_Definition
);
4572 Set_List3_With_Parent
(N
, Val
);
4573 end Set_Private_Declarations
;
4575 procedure Set_Private_Present
4576 (N
: Node_Id
; Val
: Boolean := True) is
4578 pragma Assert
(False
4579 or else NT
(N
).Nkind
= N_Compilation_Unit
4580 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4581 or else NT
(N
).Nkind
= N_With_Clause
);
4582 Set_Flag15
(N
, Val
);
4583 end Set_Private_Present
;
4585 procedure Set_Procedure_To_Call
4586 (N
: Node_Id
; Val
: Node_Id
) is
4588 pragma Assert
(False
4589 or else NT
(N
).Nkind
= N_Allocator
4590 or else NT
(N
).Nkind
= N_Free_Statement
4591 or else NT
(N
).Nkind
= N_Return_Statement
);
4592 Set_Node4
(N
, Val
); -- semantic field, no parent set
4593 end Set_Procedure_To_Call
;
4595 procedure Set_Proper_Body
4596 (N
: Node_Id
; Val
: Node_Id
) is
4598 pragma Assert
(False
4599 or else NT
(N
).Nkind
= N_Subunit
);
4600 Set_Node1_With_Parent
(N
, Val
);
4601 end Set_Proper_Body
;
4603 procedure Set_Protected_Definition
4604 (N
: Node_Id
; Val
: Node_Id
) is
4606 pragma Assert
(False
4607 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
4608 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
4609 Set_Node3_With_Parent
(N
, Val
);
4610 end Set_Protected_Definition
;
4612 procedure Set_Protected_Present
4613 (N
: Node_Id
; Val
: Boolean := True) is
4615 pragma Assert
(False
4616 or else NT
(N
).Nkind
= N_Access_Function_Definition
4617 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
);
4618 Set_Flag15
(N
, Val
);
4619 end Set_Protected_Present
;
4621 procedure Set_Raises_Constraint_Error
4622 (N
: Node_Id
; Val
: Boolean := True) is
4624 pragma Assert
(False
4625 or else NT
(N
).Nkind
in N_Subexpr
);
4627 end Set_Raises_Constraint_Error
;
4629 procedure Set_Range_Constraint
4630 (N
: Node_Id
; Val
: Node_Id
) is
4632 pragma Assert
(False
4633 or else NT
(N
).Nkind
= N_Delta_Constraint
4634 or else NT
(N
).Nkind
= N_Digits_Constraint
);
4635 Set_Node4_With_Parent
(N
, Val
);
4636 end Set_Range_Constraint
;
4638 procedure Set_Range_Expression
4639 (N
: Node_Id
; Val
: Node_Id
) is
4641 pragma Assert
(False
4642 or else NT
(N
).Nkind
= N_Range_Constraint
);
4643 Set_Node4_With_Parent
(N
, Val
);
4644 end Set_Range_Expression
;
4646 procedure Set_Real_Range_Specification
4647 (N
: Node_Id
; Val
: Node_Id
) is
4649 pragma Assert
(False
4650 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
4651 or else NT
(N
).Nkind
= N_Floating_Point_Definition
4652 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
4653 Set_Node4_With_Parent
(N
, Val
);
4654 end Set_Real_Range_Specification
;
4656 procedure Set_Realval
4657 (N
: Node_Id
; Val
: Ureal
) is
4659 pragma Assert
(False
4660 or else NT
(N
).Nkind
= N_Real_Literal
);
4661 Set_Ureal3
(N
, Val
);
4664 procedure Set_Reason
4665 (N
: Node_Id
; Val
: Uint
) is
4667 pragma Assert
(False
4668 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
4669 or else NT
(N
).Nkind
= N_Raise_Program_Error
4670 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
4674 procedure Set_Record_Extension_Part
4675 (N
: Node_Id
; Val
: Node_Id
) is
4677 pragma Assert
(False
4678 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
4679 Set_Node3_With_Parent
(N
, Val
);
4680 end Set_Record_Extension_Part
;
4682 procedure Set_Redundant_Use
4683 (N
: Node_Id
; Val
: Boolean := True) is
4685 pragma Assert
(False
4686 or else NT
(N
).Nkind
= N_Attribute_Reference
4687 or else NT
(N
).Nkind
= N_Expanded_Name
4688 or else NT
(N
).Nkind
= N_Identifier
);
4689 Set_Flag13
(N
, Val
);
4690 end Set_Redundant_Use
;
4692 procedure Set_Return_Type
4693 (N
: Node_Id
; Val
: Node_Id
) is
4695 pragma Assert
(False
4696 or else NT
(N
).Nkind
= N_Return_Statement
);
4697 Set_Node2
(N
, Val
); -- semantic field, no parent set
4698 end Set_Return_Type
;
4700 procedure Set_Reverse_Present
4701 (N
: Node_Id
; Val
: Boolean := True) is
4703 pragma Assert
(False
4704 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
4705 Set_Flag15
(N
, Val
);
4706 end Set_Reverse_Present
;
4708 procedure Set_Right_Opnd
4709 (N
: Node_Id
; Val
: Node_Id
) is
4711 pragma Assert
(False
4712 or else NT
(N
).Nkind
in N_Op
4713 or else NT
(N
).Nkind
= N_And_Then
4714 or else NT
(N
).Nkind
= N_In
4715 or else NT
(N
).Nkind
= N_Not_In
4716 or else NT
(N
).Nkind
= N_Or_Else
);
4717 Set_Node3_With_Parent
(N
, Val
);
4720 procedure Set_Rounded_Result
4721 (N
: Node_Id
; Val
: Boolean := True) is
4723 pragma Assert
(False
4724 or else NT
(N
).Nkind
= N_Op_Divide
4725 or else NT
(N
).Nkind
= N_Op_Multiply
4726 or else NT
(N
).Nkind
= N_Type_Conversion
);
4727 Set_Flag18
(N
, Val
);
4728 end Set_Rounded_Result
;
4731 (N
: Node_Id
; Val
: Node_Id
) is
4733 pragma Assert
(False
4734 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4735 or else NT
(N
).Nkind
= N_Defining_Identifier
4736 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4737 Set_Node3
(N
, Val
); -- semantic field, no parent set
4740 procedure Set_Select_Alternatives
4741 (N
: Node_Id
; Val
: List_Id
) is
4743 pragma Assert
(False
4744 or else NT
(N
).Nkind
= N_Selective_Accept
);
4745 Set_List1_With_Parent
(N
, Val
);
4746 end Set_Select_Alternatives
;
4748 procedure Set_Selector_Name
4749 (N
: Node_Id
; Val
: Node_Id
) is
4751 pragma Assert
(False
4752 or else NT
(N
).Nkind
= N_Expanded_Name
4753 or else NT
(N
).Nkind
= N_Generic_Association
4754 or else NT
(N
).Nkind
= N_Parameter_Association
4755 or else NT
(N
).Nkind
= N_Selected_Component
);
4756 Set_Node2_With_Parent
(N
, Val
);
4757 end Set_Selector_Name
;
4759 procedure Set_Selector_Names
4760 (N
: Node_Id
; Val
: List_Id
) is
4762 pragma Assert
(False
4763 or else NT
(N
).Nkind
= N_Discriminant_Association
);
4764 Set_List1_With_Parent
(N
, Val
);
4765 end Set_Selector_Names
;
4767 procedure Set_Shift_Count_OK
4768 (N
: Node_Id
; Val
: Boolean := True) is
4770 pragma Assert
(False
4771 or else NT
(N
).Nkind
= N_Op_Rotate_Left
4772 or else NT
(N
).Nkind
= N_Op_Rotate_Right
4773 or else NT
(N
).Nkind
= N_Op_Shift_Left
4774 or else NT
(N
).Nkind
= N_Op_Shift_Right
4775 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
4777 end Set_Shift_Count_OK
;
4779 procedure Set_Source_Type
4780 (N
: Node_Id
; Val
: Entity_Id
) is
4782 pragma Assert
(False
4783 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
4784 Set_Node1
(N
, Val
); -- semantic field, no parent set
4785 end Set_Source_Type
;
4787 procedure Set_Specification
4788 (N
: Node_Id
; Val
: Node_Id
) is
4790 pragma Assert
(False
4791 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
4792 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4793 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4794 or else NT
(N
).Nkind
= N_Package_Declaration
4795 or else NT
(N
).Nkind
= N_Subprogram_Body
4796 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4797 or else NT
(N
).Nkind
= N_Subprogram_Declaration
4798 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
4799 or else NT
(N
).Nkind
in N_Formal_Subprogram_Declaration
);
4800 Set_Node1_With_Parent
(N
, Val
);
4801 end Set_Specification
;
4803 procedure Set_Statements
4804 (N
: Node_Id
; Val
: List_Id
) is
4806 pragma Assert
(False
4807 or else NT
(N
).Nkind
= N_Abortable_Part
4808 or else NT
(N
).Nkind
= N_Accept_Alternative
4809 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
4810 or else NT
(N
).Nkind
= N_Delay_Alternative
4811 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
4812 or else NT
(N
).Nkind
= N_Exception_Handler
4813 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
4814 or else NT
(N
).Nkind
= N_Loop_Statement
4815 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4816 Set_List3_With_Parent
(N
, Val
);
4819 procedure Set_Static_Processing_OK
4820 (N
: Node_Id
; Val
: Boolean) is
4822 pragma Assert
(False
4823 or else NT
(N
).Nkind
= N_Aggregate
);
4825 end Set_Static_Processing_OK
;
4827 procedure Set_Storage_Pool
4828 (N
: Node_Id
; Val
: Node_Id
) is
4830 pragma Assert
(False
4831 or else NT
(N
).Nkind
= N_Allocator
4832 or else NT
(N
).Nkind
= N_Free_Statement
4833 or else NT
(N
).Nkind
= N_Return_Statement
);
4834 Set_Node1
(N
, Val
); -- semantic field, no parent set
4835 end Set_Storage_Pool
;
4837 procedure Set_Strval
4838 (N
: Node_Id
; Val
: String_Id
) is
4840 pragma Assert
(False
4841 or else NT
(N
).Nkind
= N_Operator_Symbol
4842 or else NT
(N
).Nkind
= N_String_Literal
);
4846 procedure Set_Subtype_Indication
4847 (N
: Node_Id
; Val
: Node_Id
) is
4849 pragma Assert
(False
4850 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
4851 or else NT
(N
).Nkind
= N_Component_Definition
4852 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4853 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4854 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4855 Set_Node5_With_Parent
(N
, Val
);
4856 end Set_Subtype_Indication
;
4858 procedure Set_Subtype_Mark
4859 (N
: Node_Id
; Val
: Node_Id
) is
4861 pragma Assert
(False
4862 or else NT
(N
).Nkind
= N_Access_Definition
4863 or else NT
(N
).Nkind
= N_Access_Function_Definition
4864 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4865 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4866 or else NT
(N
).Nkind
= N_Function_Specification
4867 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4868 or else NT
(N
).Nkind
= N_Qualified_Expression
4869 or else NT
(N
).Nkind
= N_Subtype_Indication
4870 or else NT
(N
).Nkind
= N_Type_Conversion
4871 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4872 Set_Node4_With_Parent
(N
, Val
);
4873 end Set_Subtype_Mark
;
4875 procedure Set_Subtype_Marks
4876 (N
: Node_Id
; Val
: List_Id
) is
4878 pragma Assert
(False
4879 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
4880 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4881 Set_List2_With_Parent
(N
, Val
);
4882 end Set_Subtype_Marks
;
4884 procedure Set_Tagged_Present
4885 (N
: Node_Id
; Val
: Boolean := True) is
4887 pragma Assert
(False
4888 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
4889 or else NT
(N
).Nkind
= N_Private_Type_Declaration
4890 or else NT
(N
).Nkind
= N_Record_Definition
4891 or else NT
(N
).Nkind
= N_With_Type_Clause
);
4892 Set_Flag15
(N
, Val
);
4893 end Set_Tagged_Present
;
4895 procedure Set_Target_Type
4896 (N
: Node_Id
; Val
: Entity_Id
) is
4898 pragma Assert
(False
4899 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
4900 Set_Node2
(N
, Val
); -- semantic field, no parent set
4901 end Set_Target_Type
;
4903 procedure Set_Task_Body_Procedure
4904 (N
: Node_Id
; Val
: Entity_Id
) is
4906 pragma Assert
(False
4907 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4908 Set_Node2
(N
, Val
); -- semantic field, no parent set
4909 end Set_Task_Body_Procedure
;
4911 procedure Set_Task_Definition
4912 (N
: Node_Id
; Val
: Node_Id
) is
4914 pragma Assert
(False
4915 or else NT
(N
).Nkind
= N_Single_Task_Declaration
4916 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4917 Set_Node3_With_Parent
(N
, Val
);
4918 end Set_Task_Definition
;
4920 procedure Set_Then_Actions
4921 (N
: Node_Id
; Val
: List_Id
) is
4923 pragma Assert
(False
4924 or else NT
(N
).Nkind
= N_Conditional_Expression
);
4925 Set_List2
(N
, Val
); -- semantic field, no parent set
4926 end Set_Then_Actions
;
4928 procedure Set_Then_Statements
4929 (N
: Node_Id
; Val
: List_Id
) is
4931 pragma Assert
(False
4932 or else NT
(N
).Nkind
= N_Elsif_Part
4933 or else NT
(N
).Nkind
= N_If_Statement
);
4934 Set_List2_With_Parent
(N
, Val
);
4935 end Set_Then_Statements
;
4937 procedure Set_Treat_Fixed_As_Integer
4938 (N
: Node_Id
; Val
: Boolean := True) is
4940 pragma Assert
(False
4941 or else NT
(N
).Nkind
= N_Op_Divide
4942 or else NT
(N
).Nkind
= N_Op_Mod
4943 or else NT
(N
).Nkind
= N_Op_Multiply
4944 or else NT
(N
).Nkind
= N_Op_Rem
);
4945 Set_Flag14
(N
, Val
);
4946 end Set_Treat_Fixed_As_Integer
;
4948 procedure Set_Triggering_Alternative
4949 (N
: Node_Id
; Val
: Node_Id
) is
4951 pragma Assert
(False
4952 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
4953 Set_Node1_With_Parent
(N
, Val
);
4954 end Set_Triggering_Alternative
;
4956 procedure Set_Triggering_Statement
4957 (N
: Node_Id
; Val
: Node_Id
) is
4959 pragma Assert
(False
4960 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4961 Set_Node1_With_Parent
(N
, Val
);
4962 end Set_Triggering_Statement
;
4964 procedure Set_TSS_Elist
4965 (N
: Node_Id
; Val
: Elist_Id
) is
4967 pragma Assert
(False
4968 or else NT
(N
).Nkind
= N_Freeze_Entity
);
4969 Set_Elist3
(N
, Val
); -- semantic field, no parent set
4972 procedure Set_Type_Definition
4973 (N
: Node_Id
; Val
: Node_Id
) is
4975 pragma Assert
(False
4976 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
4977 Set_Node3_With_Parent
(N
, Val
);
4978 end Set_Type_Definition
;
4981 (N
: Node_Id
; Val
: Node_Id
) is
4983 pragma Assert
(False
4984 or else NT
(N
).Nkind
= N_Compilation_Unit
);
4985 Set_Node2_With_Parent
(N
, Val
);
4988 procedure Set_Unknown_Discriminants_Present
4989 (N
: Node_Id
; Val
: Boolean := True) is
4991 pragma Assert
(False
4992 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
4993 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
4994 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4995 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
4996 Set_Flag13
(N
, Val
);
4997 end Set_Unknown_Discriminants_Present
;
4999 procedure Set_Unreferenced_In_Spec
5000 (N
: Node_Id
; Val
: Boolean := True) is
5002 pragma Assert
(False
5003 or else NT
(N
).Nkind
= N_With_Clause
);
5005 end Set_Unreferenced_In_Spec
;
5007 procedure Set_Variant_Part
5008 (N
: Node_Id
; Val
: Node_Id
) is
5010 pragma Assert
(False
5011 or else NT
(N
).Nkind
= N_Component_List
);
5012 Set_Node4_With_Parent
(N
, Val
);
5013 end Set_Variant_Part
;
5015 procedure Set_Variants
5016 (N
: Node_Id
; Val
: List_Id
) is
5018 pragma Assert
(False
5019 or else NT
(N
).Nkind
= N_Variant_Part
);
5020 Set_List1_With_Parent
(N
, Val
);
5023 procedure Set_Visible_Declarations
5024 (N
: Node_Id
; Val
: List_Id
) is
5026 pragma Assert
(False
5027 or else NT
(N
).Nkind
= N_Package_Specification
5028 or else NT
(N
).Nkind
= N_Protected_Definition
5029 or else NT
(N
).Nkind
= N_Task_Definition
);
5030 Set_List2_With_Parent
(N
, Val
);
5031 end Set_Visible_Declarations
;
5033 procedure Set_Was_Originally_Stub
5034 (N
: Node_Id
; Val
: Boolean := True) is
5036 pragma Assert
(False
5037 or else NT
(N
).Nkind
= N_Package_Body
5038 or else NT
(N
).Nkind
= N_Protected_Body
5039 or else NT
(N
).Nkind
= N_Subprogram_Body
5040 or else NT
(N
).Nkind
= N_Task_Body
);
5041 Set_Flag13
(N
, Val
);
5042 end Set_Was_Originally_Stub
;
5044 procedure Set_Zero_Cost_Handling
5045 (N
: Node_Id
; Val
: Boolean := True) is
5047 pragma Assert
(False
5048 or else NT
(N
).Nkind
= N_Exception_Handler
5049 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
5051 end Set_Zero_Cost_Handling
;
5053 -------------------------
5054 -- Iterator Procedures --
5055 -------------------------
5057 procedure Next_Entity
(N
: in out Node_Id
) is
5059 N
:= Next_Entity
(N
);
5062 procedure Next_Named_Actual
(N
: in out Node_Id
) is
5064 N
:= Next_Named_Actual
(N
);
5065 end Next_Named_Actual
;
5067 procedure Next_Rep_Item
(N
: in out Node_Id
) is
5069 N
:= Next_Rep_Item
(N
);
5072 procedure Next_Use_Clause
(N
: in out Node_Id
) is
5074 N
:= Next_Use_Clause
(N
);
5075 end Next_Use_Clause
;
5081 function End_Location
(N
: Node_Id
) return Source_Ptr
is
5082 L
: constant Uint
:= End_Span
(N
);
5088 return Source_Ptr
(Int
(Sloc
(N
)) + UI_To_Int
(L
));
5092 ----------------------
5093 -- Set_End_Location --
5094 ----------------------
5096 procedure Set_End_Location
(N
: Node_Id
; S
: Source_Ptr
) is
5099 UI_From_Int
(Int
(S
) - Int
(Sloc
(N
))));
5100 end Set_End_Location
;