1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2009, 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 3, 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. --
18 -- As a special exception under Section 7 of GPL version 3, you are granted --
19 -- additional permissions described in the GCC Runtime Library Exception, --
20 -- version 3.1, as published by the Free Software Foundation. --
22 -- You should have received a copy of the GNU General Public License and --
23 -- a copy of the GCC Runtime Library Exception along with this program; --
24 -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
25 -- <http://www.gnu.org/licenses/>. --
27 -- GNAT was originally developed by the GNAT team at New York University. --
28 -- Extensive contributions were provided by Ada Core Technologies Inc. --
30 ------------------------------------------------------------------------------
32 pragma Style_Checks
(All_Checks
);
33 -- No subprogram ordering check, due to logical grouping
35 with Atree
; use Atree
;
39 use Atree
.Unchecked_Access
;
40 -- This package is one of the few packages which is allowed to make direct
41 -- references to tree nodes (since it is in the business of providing a
42 -- higher level of tree access which other clients are expected to use and
43 -- which implements checks).
45 use Atree_Private_Part
;
46 -- The only reason that we ask for direct access to the private part of
47 -- the tree package is so that we can directly reference the Nkind field
48 -- of nodes table entries. We do this since it helps the efficiency of
49 -- the Sinfo debugging checks considerably (note that when we are checking
50 -- Nkind values, we don't need to check for a valid node reference, because
51 -- we will check that anyway when we reference the field).
53 NT
: Nodes
.Table_Ptr
renames Nodes
.Table
;
54 -- A short hand abbreviation, useful for the debugging checks
56 ----------------------------
57 -- Field Access Functions --
58 ----------------------------
60 function ABE_Is_Certain
61 (N
: Node_Id
) return Boolean is
64 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
65 or else NT
(N
).Nkind
= N_Function_Call
66 or else NT
(N
).Nkind
= N_Function_Instantiation
67 or else NT
(N
).Nkind
= N_Package_Instantiation
68 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
69 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
73 function Abort_Present
74 (N
: Node_Id
) return Boolean is
77 or else NT
(N
).Nkind
= N_Requeue_Statement
);
81 function Abortable_Part
82 (N
: Node_Id
) return Node_Id
is
85 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
89 function Abstract_Present
90 (N
: Node_Id
) return Boolean is
93 or else NT
(N
).Nkind
= N_Derived_Type_Definition
94 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
95 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
96 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
97 or else NT
(N
).Nkind
= N_Private_Type_Declaration
98 or else NT
(N
).Nkind
= N_Record_Definition
);
100 end Abstract_Present
;
102 function Accept_Handler_Records
103 (N
: Node_Id
) return List_Id
is
106 or else NT
(N
).Nkind
= N_Accept_Alternative
);
108 end Accept_Handler_Records
;
110 function Accept_Statement
111 (N
: Node_Id
) return Node_Id
is
114 or else NT
(N
).Nkind
= N_Accept_Alternative
);
116 end Accept_Statement
;
118 function Access_Definition
119 (N
: Node_Id
) return Node_Id
is
122 or else NT
(N
).Nkind
= N_Component_Definition
123 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
124 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
126 end Access_Definition
;
128 function Access_To_Subprogram_Definition
129 (N
: Node_Id
) return Node_Id
is
132 or else NT
(N
).Nkind
= N_Access_Definition
);
134 end Access_To_Subprogram_Definition
;
136 function Access_Types_To_Process
137 (N
: Node_Id
) return Elist_Id
is
140 or else NT
(N
).Nkind
= N_Freeze_Entity
);
142 end Access_Types_To_Process
;
145 (N
: Node_Id
) return List_Id
is
148 or else NT
(N
).Nkind
= N_And_Then
149 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
150 or else NT
(N
).Nkind
= N_Freeze_Entity
151 or else NT
(N
).Nkind
= N_Or_Else
);
155 function Activation_Chain_Entity
156 (N
: Node_Id
) return Node_Id
is
159 or else NT
(N
).Nkind
= N_Block_Statement
160 or else NT
(N
).Nkind
= N_Entry_Body
161 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
162 or else NT
(N
).Nkind
= N_Package_Declaration
163 or else NT
(N
).Nkind
= N_Subprogram_Body
164 or else NT
(N
).Nkind
= N_Task_Body
);
166 end Activation_Chain_Entity
;
168 function Acts_As_Spec
169 (N
: Node_Id
) return Boolean is
172 or else NT
(N
).Nkind
= N_Compilation_Unit
173 or else NT
(N
).Nkind
= N_Subprogram_Body
);
177 function Actual_Designated_Subtype
178 (N
: Node_Id
) return Node_Id
is
181 or else NT
(N
).Nkind
= N_Explicit_Dereference
182 or else NT
(N
).Nkind
= N_Free_Statement
);
184 end Actual_Designated_Subtype
;
186 function Address_Warning_Posted
187 (N
: Node_Id
) return Boolean is
190 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
192 end Address_Warning_Posted
;
194 function Aggregate_Bounds
195 (N
: Node_Id
) return Node_Id
is
198 or else NT
(N
).Nkind
= N_Aggregate
);
200 end Aggregate_Bounds
;
202 function Aliased_Present
203 (N
: Node_Id
) return Boolean is
206 or else NT
(N
).Nkind
= N_Component_Definition
207 or else NT
(N
).Nkind
= N_Object_Declaration
);
212 (N
: Node_Id
) return Boolean is
215 or else NT
(N
).Nkind
= N_Others_Choice
);
220 (N
: Node_Id
) return Boolean is
223 or else NT
(N
).Nkind
= N_Access_Definition
224 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
228 function Alternatives
229 (N
: Node_Id
) return List_Id
is
232 or else NT
(N
).Nkind
= N_Case_Statement
);
236 function Ancestor_Part
237 (N
: Node_Id
) return Node_Id
is
240 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
244 function Array_Aggregate
245 (N
: Node_Id
) return Node_Id
is
248 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
252 function Assignment_OK
253 (N
: Node_Id
) return Boolean is
256 or else NT
(N
).Nkind
= N_Object_Declaration
257 or else NT
(N
).Nkind
in N_Subexpr
);
261 function Associated_Node
262 (N
: Node_Id
) return Node_Id
is
265 or else NT
(N
).Nkind
in N_Has_Entity
266 or else NT
(N
).Nkind
= N_Aggregate
267 or else NT
(N
).Nkind
= N_Extension_Aggregate
268 or else NT
(N
).Nkind
= N_Selected_Component
);
273 (N
: Node_Id
) return Node_Id
is
276 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
280 function Attribute_Name
281 (N
: Node_Id
) return Name_Id
is
284 or else NT
(N
).Nkind
= N_Attribute_Reference
);
288 function Aux_Decls_Node
289 (N
: Node_Id
) return Node_Id
is
292 or else NT
(N
).Nkind
= N_Compilation_Unit
);
296 function Backwards_OK
297 (N
: Node_Id
) return Boolean is
300 or else NT
(N
).Nkind
= N_Assignment_Statement
);
304 function Bad_Is_Detected
305 (N
: Node_Id
) return Boolean is
308 or else NT
(N
).Nkind
= N_Subprogram_Body
);
312 function Body_Required
313 (N
: Node_Id
) return Boolean is
316 or else NT
(N
).Nkind
= N_Compilation_Unit
);
320 function Body_To_Inline
321 (N
: Node_Id
) return Node_Id
is
324 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
329 (N
: Node_Id
) return Boolean is
332 or else NT
(N
).Nkind
= N_Component_Association
333 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
334 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
335 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
336 or else NT
(N
).Nkind
= N_Generic_Association
);
341 (N
: Node_Id
) return Boolean is
344 or else NT
(N
).Nkind
= N_Extended_Return_Statement
345 or else NT
(N
).Nkind
= N_Return_Statement
);
349 function Char_Literal_Value
350 (N
: Node_Id
) return Uint
is
353 or else NT
(N
).Nkind
= N_Character_Literal
);
355 end Char_Literal_Value
;
358 (N
: Node_Id
) return Name_Id
is
361 or else NT
(N
).Nkind
in N_Has_Chars
);
365 function Check_Address_Alignment
366 (N
: Node_Id
) return Boolean is
369 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
371 end Check_Address_Alignment
;
373 function Choice_Parameter
374 (N
: Node_Id
) return Node_Id
is
377 or else NT
(N
).Nkind
= N_Exception_Handler
);
379 end Choice_Parameter
;
382 (N
: Node_Id
) return List_Id
is
385 or else NT
(N
).Nkind
= N_Component_Association
);
389 function Coextensions
390 (N
: Node_Id
) return Elist_Id
is
393 or else NT
(N
).Nkind
= N_Allocator
);
397 function Comes_From_Extended_Return_Statement
398 (N
: Node_Id
) return Boolean is
401 or else NT
(N
).Nkind
= N_Return_Statement
);
403 end Comes_From_Extended_Return_Statement
;
405 function Compile_Time_Known_Aggregate
406 (N
: Node_Id
) return Boolean is
409 or else NT
(N
).Nkind
= N_Aggregate
);
411 end Compile_Time_Known_Aggregate
;
413 function Component_Associations
414 (N
: Node_Id
) return List_Id
is
417 or else NT
(N
).Nkind
= N_Aggregate
418 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
420 end Component_Associations
;
422 function Component_Clauses
423 (N
: Node_Id
) return List_Id
is
426 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
428 end Component_Clauses
;
430 function Component_Definition
431 (N
: Node_Id
) return Node_Id
is
434 or else NT
(N
).Nkind
= N_Component_Declaration
435 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
436 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
438 end Component_Definition
;
440 function Component_Items
441 (N
: Node_Id
) return List_Id
is
444 or else NT
(N
).Nkind
= N_Component_List
);
448 function Component_List
449 (N
: Node_Id
) return Node_Id
is
452 or else NT
(N
).Nkind
= N_Record_Definition
453 or else NT
(N
).Nkind
= N_Variant
);
457 function Component_Name
458 (N
: Node_Id
) return Node_Id
is
461 or else NT
(N
).Nkind
= N_Component_Clause
);
466 (N
: Node_Id
) return Node_Id
is
469 or else NT
(N
).Nkind
= N_Accept_Alternative
470 or else NT
(N
).Nkind
= N_Delay_Alternative
471 or else NT
(N
).Nkind
= N_Elsif_Part
472 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
473 or else NT
(N
).Nkind
= N_Exit_Statement
474 or else NT
(N
).Nkind
= N_If_Statement
475 or else NT
(N
).Nkind
= N_Iteration_Scheme
476 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
477 or else NT
(N
).Nkind
= N_Raise_Program_Error
478 or else NT
(N
).Nkind
= N_Raise_Storage_Error
479 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
483 function Condition_Actions
484 (N
: Node_Id
) return List_Id
is
487 or else NT
(N
).Nkind
= N_Elsif_Part
488 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
490 end Condition_Actions
;
492 function Config_Pragmas
493 (N
: Node_Id
) return List_Id
is
496 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
500 function Constant_Present
501 (N
: Node_Id
) return Boolean is
504 or else NT
(N
).Nkind
= N_Access_Definition
505 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
506 or else NT
(N
).Nkind
= N_Object_Declaration
);
508 end Constant_Present
;
511 (N
: Node_Id
) return Node_Id
is
514 or else NT
(N
).Nkind
= N_Subtype_Indication
);
519 (N
: Node_Id
) return List_Id
is
522 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
526 function Context_Installed
527 (N
: Node_Id
) return Boolean is
530 or else NT
(N
).Nkind
= N_With_Clause
);
532 end Context_Installed
;
534 function Context_Items
535 (N
: Node_Id
) return List_Id
is
538 or else NT
(N
).Nkind
= N_Compilation_Unit
);
542 function Controlling_Argument
543 (N
: Node_Id
) return Node_Id
is
546 or else NT
(N
).Nkind
= N_Function_Call
547 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
549 end Controlling_Argument
;
551 function Conversion_OK
552 (N
: Node_Id
) return Boolean is
555 or else NT
(N
).Nkind
= N_Type_Conversion
);
559 function Corresponding_Body
560 (N
: Node_Id
) return Node_Id
is
563 or else NT
(N
).Nkind
= N_Entry_Declaration
564 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
565 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
566 or else NT
(N
).Nkind
= N_Package_Body_Stub
567 or else NT
(N
).Nkind
= N_Package_Declaration
568 or else NT
(N
).Nkind
= N_Protected_Body_Stub
569 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
570 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
571 or else NT
(N
).Nkind
= N_Subprogram_Declaration
572 or else NT
(N
).Nkind
= N_Task_Body_Stub
573 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
575 end Corresponding_Body
;
577 function Corresponding_Formal_Spec
578 (N
: Node_Id
) return Node_Id
is
581 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
583 end Corresponding_Formal_Spec
;
585 function Corresponding_Generic_Association
586 (N
: Node_Id
) return Node_Id
is
589 or else NT
(N
).Nkind
= N_Object_Declaration
590 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
592 end Corresponding_Generic_Association
;
594 function Corresponding_Integer_Value
595 (N
: Node_Id
) return Uint
is
598 or else NT
(N
).Nkind
= N_Real_Literal
);
600 end Corresponding_Integer_Value
;
602 function Corresponding_Spec
603 (N
: Node_Id
) return Node_Id
is
606 or else NT
(N
).Nkind
= N_Package_Body
607 or else NT
(N
).Nkind
= N_Protected_Body
608 or else NT
(N
).Nkind
= N_Subprogram_Body
609 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
610 or else NT
(N
).Nkind
= N_Task_Body
611 or else NT
(N
).Nkind
= N_With_Clause
);
613 end Corresponding_Spec
;
615 function Corresponding_Stub
616 (N
: Node_Id
) return Node_Id
is
619 or else NT
(N
).Nkind
= N_Subunit
);
621 end Corresponding_Stub
;
623 function Dcheck_Function
624 (N
: Node_Id
) return Entity_Id
is
627 or else NT
(N
).Nkind
= N_Variant
);
631 function Debug_Statement
632 (N
: Node_Id
) return Node_Id
is
635 or else NT
(N
).Nkind
= N_Pragma
);
639 function Declarations
640 (N
: Node_Id
) return List_Id
is
643 or else NT
(N
).Nkind
= N_Accept_Statement
644 or else NT
(N
).Nkind
= N_Block_Statement
645 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
646 or else NT
(N
).Nkind
= N_Entry_Body
647 or else NT
(N
).Nkind
= N_Package_Body
648 or else NT
(N
).Nkind
= N_Protected_Body
649 or else NT
(N
).Nkind
= N_Subprogram_Body
650 or else NT
(N
).Nkind
= N_Task_Body
);
654 function Default_Expression
655 (N
: Node_Id
) return Node_Id
is
658 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
659 or else NT
(N
).Nkind
= N_Parameter_Specification
);
661 end Default_Expression
;
663 function Default_Name
664 (N
: Node_Id
) return Node_Id
is
667 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
668 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
);
672 function Defining_Identifier
673 (N
: Node_Id
) return Entity_Id
is
676 or else NT
(N
).Nkind
= N_Component_Declaration
677 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
678 or else NT
(N
).Nkind
= N_Discriminant_Specification
679 or else NT
(N
).Nkind
= N_Entry_Body
680 or else NT
(N
).Nkind
= N_Entry_Declaration
681 or else NT
(N
).Nkind
= N_Entry_Index_Specification
682 or else NT
(N
).Nkind
= N_Exception_Declaration
683 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
684 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
685 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
686 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
687 or else NT
(N
).Nkind
= N_Full_Type_Declaration
688 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
689 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
690 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
691 or else NT
(N
).Nkind
= N_Number_Declaration
692 or else NT
(N
).Nkind
= N_Object_Declaration
693 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
694 or else NT
(N
).Nkind
= N_Package_Body_Stub
695 or else NT
(N
).Nkind
= N_Parameter_Specification
696 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
697 or else NT
(N
).Nkind
= N_Private_Type_Declaration
698 or else NT
(N
).Nkind
= N_Protected_Body
699 or else NT
(N
).Nkind
= N_Protected_Body_Stub
700 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
701 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
702 or else NT
(N
).Nkind
= N_Single_Task_Declaration
703 or else NT
(N
).Nkind
= N_Subtype_Declaration
704 or else NT
(N
).Nkind
= N_Task_Body
705 or else NT
(N
).Nkind
= N_Task_Body_Stub
706 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
708 end Defining_Identifier
;
710 function Defining_Unit_Name
711 (N
: Node_Id
) return Node_Id
is
714 or else NT
(N
).Nkind
= N_Function_Instantiation
715 or else NT
(N
).Nkind
= N_Function_Specification
716 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
717 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
718 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
719 or else NT
(N
).Nkind
= N_Package_Body
720 or else NT
(N
).Nkind
= N_Package_Instantiation
721 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
722 or else NT
(N
).Nkind
= N_Package_Specification
723 or else NT
(N
).Nkind
= N_Procedure_Instantiation
724 or else NT
(N
).Nkind
= N_Procedure_Specification
);
726 end Defining_Unit_Name
;
728 function Delay_Alternative
729 (N
: Node_Id
) return Node_Id
is
732 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
734 end Delay_Alternative
;
736 function Delay_Statement
737 (N
: Node_Id
) return Node_Id
is
740 or else NT
(N
).Nkind
= N_Delay_Alternative
);
744 function Delta_Expression
745 (N
: Node_Id
) return Node_Id
is
748 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
749 or else NT
(N
).Nkind
= N_Delta_Constraint
750 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
752 end Delta_Expression
;
754 function Digits_Expression
755 (N
: Node_Id
) return Node_Id
is
758 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
759 or else NT
(N
).Nkind
= N_Digits_Constraint
760 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
762 end Digits_Expression
;
764 function Discr_Check_Funcs_Built
765 (N
: Node_Id
) return Boolean is
768 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
770 end Discr_Check_Funcs_Built
;
772 function Discrete_Choices
773 (N
: Node_Id
) return List_Id
is
776 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
777 or else NT
(N
).Nkind
= N_Variant
);
779 end Discrete_Choices
;
781 function Discrete_Range
782 (N
: Node_Id
) return Node_Id
is
785 or else NT
(N
).Nkind
= N_Slice
);
789 function Discrete_Subtype_Definition
790 (N
: Node_Id
) return Node_Id
is
793 or else NT
(N
).Nkind
= N_Entry_Declaration
794 or else NT
(N
).Nkind
= N_Entry_Index_Specification
795 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
797 end Discrete_Subtype_Definition
;
799 function Discrete_Subtype_Definitions
800 (N
: Node_Id
) return List_Id
is
803 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
805 end Discrete_Subtype_Definitions
;
807 function Discriminant_Specifications
808 (N
: Node_Id
) return List_Id
is
811 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
812 or else NT
(N
).Nkind
= N_Full_Type_Declaration
813 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
814 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
815 or else NT
(N
).Nkind
= N_Private_Type_Declaration
816 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
817 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
819 end Discriminant_Specifications
;
821 function Discriminant_Type
822 (N
: Node_Id
) return Node_Id
is
825 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
827 end Discriminant_Type
;
829 function Do_Accessibility_Check
830 (N
: Node_Id
) return Boolean is
833 or else NT
(N
).Nkind
= N_Parameter_Specification
);
835 end Do_Accessibility_Check
;
837 function Do_Discriminant_Check
838 (N
: Node_Id
) return Boolean is
841 or else NT
(N
).Nkind
= N_Selected_Component
);
843 end Do_Discriminant_Check
;
845 function Do_Division_Check
846 (N
: Node_Id
) return Boolean is
849 or else NT
(N
).Nkind
= N_Op_Divide
850 or else NT
(N
).Nkind
= N_Op_Mod
851 or else NT
(N
).Nkind
= N_Op_Rem
);
853 end Do_Division_Check
;
855 function Do_Length_Check
856 (N
: Node_Id
) return Boolean is
859 or else NT
(N
).Nkind
= N_Assignment_Statement
860 or else NT
(N
).Nkind
= N_Op_And
861 or else NT
(N
).Nkind
= N_Op_Or
862 or else NT
(N
).Nkind
= N_Op_Xor
863 or else NT
(N
).Nkind
= N_Type_Conversion
);
867 function Do_Overflow_Check
868 (N
: Node_Id
) return Boolean is
871 or else NT
(N
).Nkind
in N_Op
872 or else NT
(N
).Nkind
= N_Attribute_Reference
873 or else NT
(N
).Nkind
= N_Type_Conversion
);
875 end Do_Overflow_Check
;
877 function Do_Range_Check
878 (N
: Node_Id
) return Boolean is
881 or else NT
(N
).Nkind
in N_Subexpr
);
885 function Do_Storage_Check
886 (N
: Node_Id
) return Boolean is
889 or else NT
(N
).Nkind
= N_Allocator
890 or else NT
(N
).Nkind
= N_Subprogram_Body
);
892 end Do_Storage_Check
;
894 function Do_Tag_Check
895 (N
: Node_Id
) return Boolean is
898 or else NT
(N
).Nkind
= N_Assignment_Statement
899 or else NT
(N
).Nkind
= N_Extended_Return_Statement
900 or else NT
(N
).Nkind
= N_Function_Call
901 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
902 or else NT
(N
).Nkind
= N_Return_Statement
903 or else NT
(N
).Nkind
= N_Type_Conversion
);
907 function Elaborate_All_Desirable
908 (N
: Node_Id
) return Boolean is
911 or else NT
(N
).Nkind
= N_With_Clause
);
913 end Elaborate_All_Desirable
;
915 function Elaborate_All_Present
916 (N
: Node_Id
) return Boolean is
919 or else NT
(N
).Nkind
= N_With_Clause
);
921 end Elaborate_All_Present
;
923 function Elaborate_Desirable
924 (N
: Node_Id
) return Boolean is
927 or else NT
(N
).Nkind
= N_With_Clause
);
929 end Elaborate_Desirable
;
931 function Elaborate_Present
932 (N
: Node_Id
) return Boolean is
935 or else NT
(N
).Nkind
= N_With_Clause
);
937 end Elaborate_Present
;
939 function Elaboration_Boolean
940 (N
: Node_Id
) return Node_Id
is
943 or else NT
(N
).Nkind
= N_Function_Specification
944 or else NT
(N
).Nkind
= N_Procedure_Specification
);
946 end Elaboration_Boolean
;
948 function Else_Actions
949 (N
: Node_Id
) return List_Id
is
952 or else NT
(N
).Nkind
= N_Conditional_Expression
);
956 function Else_Statements
957 (N
: Node_Id
) return List_Id
is
960 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
961 or else NT
(N
).Nkind
= N_If_Statement
962 or else NT
(N
).Nkind
= N_Selective_Accept
);
967 (N
: Node_Id
) return List_Id
is
970 or else NT
(N
).Nkind
= N_If_Statement
);
974 function Enclosing_Variant
975 (N
: Node_Id
) return Node_Id
is
978 or else NT
(N
).Nkind
= N_Variant
);
980 end Enclosing_Variant
;
983 (N
: Node_Id
) return Node_Id
is
986 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
987 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
988 or else NT
(N
).Nkind
= N_Loop_Statement
989 or else NT
(N
).Nkind
= N_Package_Specification
990 or else NT
(N
).Nkind
= N_Protected_Body
991 or else NT
(N
).Nkind
= N_Protected_Definition
992 or else NT
(N
).Nkind
= N_Record_Definition
993 or else NT
(N
).Nkind
= N_Task_Definition
);
998 (N
: Node_Id
) return Uint
is
1000 pragma Assert
(False
1001 or else NT
(N
).Nkind
= N_Case_Statement
1002 or else NT
(N
).Nkind
= N_If_Statement
);
1007 (N
: Node_Id
) return Node_Id
is
1009 pragma Assert
(False
1010 or else NT
(N
).Nkind
in N_Has_Entity
1011 or else NT
(N
).Nkind
= N_Freeze_Entity
1012 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1016 function Entity_Or_Associated_Node
1017 (N
: Node_Id
) return Node_Id
is
1019 pragma Assert
(False
1020 or else NT
(N
).Nkind
in N_Has_Entity
1021 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1023 end Entity_Or_Associated_Node
;
1025 function Entry_Body_Formal_Part
1026 (N
: Node_Id
) return Node_Id
is
1028 pragma Assert
(False
1029 or else NT
(N
).Nkind
= N_Entry_Body
);
1031 end Entry_Body_Formal_Part
;
1033 function Entry_Call_Alternative
1034 (N
: Node_Id
) return Node_Id
is
1036 pragma Assert
(False
1037 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
1038 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
1040 end Entry_Call_Alternative
;
1042 function Entry_Call_Statement
1043 (N
: Node_Id
) return Node_Id
is
1045 pragma Assert
(False
1046 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
1048 end Entry_Call_Statement
;
1050 function Entry_Direct_Name
1051 (N
: Node_Id
) return Node_Id
is
1053 pragma Assert
(False
1054 or else NT
(N
).Nkind
= N_Accept_Statement
);
1056 end Entry_Direct_Name
;
1058 function Entry_Index
1059 (N
: Node_Id
) return Node_Id
is
1061 pragma Assert
(False
1062 or else NT
(N
).Nkind
= N_Accept_Statement
);
1066 function Entry_Index_Specification
1067 (N
: Node_Id
) return Node_Id
is
1069 pragma Assert
(False
1070 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
1072 end Entry_Index_Specification
;
1075 (N
: Node_Id
) return Node_Id
is
1077 pragma Assert
(False
1078 or else NT
(N
).Nkind
in N_Has_Etype
);
1082 function Exception_Choices
1083 (N
: Node_Id
) return List_Id
is
1085 pragma Assert
(False
1086 or else NT
(N
).Nkind
= N_Exception_Handler
);
1088 end Exception_Choices
;
1090 function Exception_Handlers
1091 (N
: Node_Id
) return List_Id
is
1093 pragma Assert
(False
1094 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1096 end Exception_Handlers
;
1098 function Exception_Junk
1099 (N
: Node_Id
) return Boolean is
1101 pragma Assert
(False
1102 or else NT
(N
).Nkind
= N_Block_Statement
1103 or else NT
(N
).Nkind
= N_Goto_Statement
1104 or else NT
(N
).Nkind
= N_Label
1105 or else NT
(N
).Nkind
= N_Object_Declaration
1106 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1110 function Exception_Label
1111 (N
: Node_Id
) return Node_Id
is
1113 pragma Assert
(False
1114 or else NT
(N
).Nkind
= N_Exception_Handler
1115 or else NT
(N
).Nkind
= N_Push_Constraint_Error_Label
1116 or else NT
(N
).Nkind
= N_Push_Program_Error_Label
1117 or else NT
(N
).Nkind
= N_Push_Storage_Error_Label
);
1119 end Exception_Label
;
1121 function Expansion_Delayed
1122 (N
: Node_Id
) return Boolean is
1124 pragma Assert
(False
1125 or else NT
(N
).Nkind
= N_Aggregate
1126 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1128 end Expansion_Delayed
;
1130 function Explicit_Actual_Parameter
1131 (N
: Node_Id
) return Node_Id
is
1133 pragma Assert
(False
1134 or else NT
(N
).Nkind
= N_Parameter_Association
);
1136 end Explicit_Actual_Parameter
;
1138 function Explicit_Generic_Actual_Parameter
1139 (N
: Node_Id
) return Node_Id
is
1141 pragma Assert
(False
1142 or else NT
(N
).Nkind
= N_Generic_Association
);
1144 end Explicit_Generic_Actual_Parameter
;
1147 (N
: Node_Id
) return Node_Id
is
1149 pragma Assert
(False
1150 or else NT
(N
).Nkind
= N_Allocator
1151 or else NT
(N
).Nkind
= N_Assignment_Statement
1152 or else NT
(N
).Nkind
= N_At_Clause
1153 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1154 or else NT
(N
).Nkind
= N_Case_Statement
1155 or else NT
(N
).Nkind
= N_Code_Statement
1156 or else NT
(N
).Nkind
= N_Component_Association
1157 or else NT
(N
).Nkind
= N_Component_Declaration
1158 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
1159 or else NT
(N
).Nkind
= N_Delay_Until_Statement
1160 or else NT
(N
).Nkind
= N_Discriminant_Association
1161 or else NT
(N
).Nkind
= N_Discriminant_Specification
1162 or else NT
(N
).Nkind
= N_Exception_Declaration
1163 or else NT
(N
).Nkind
= N_Free_Statement
1164 or else NT
(N
).Nkind
= N_Mod_Clause
1165 or else NT
(N
).Nkind
= N_Modular_Type_Definition
1166 or else NT
(N
).Nkind
= N_Number_Declaration
1167 or else NT
(N
).Nkind
= N_Object_Declaration
1168 or else NT
(N
).Nkind
= N_Parameter_Specification
1169 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
1170 or else NT
(N
).Nkind
= N_Qualified_Expression
1171 or else NT
(N
).Nkind
= N_Raise_Statement
1172 or else NT
(N
).Nkind
= N_Return_Statement
1173 or else NT
(N
).Nkind
= N_Type_Conversion
1174 or else NT
(N
).Nkind
= N_Unchecked_Expression
1175 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1179 function Expressions
1180 (N
: Node_Id
) return List_Id
is
1182 pragma Assert
(False
1183 or else NT
(N
).Nkind
= N_Aggregate
1184 or else NT
(N
).Nkind
= N_Attribute_Reference
1185 or else NT
(N
).Nkind
= N_Conditional_Expression
1186 or else NT
(N
).Nkind
= N_Extension_Aggregate
1187 or else NT
(N
).Nkind
= N_Indexed_Component
);
1192 (N
: Node_Id
) return Node_Id
is
1194 pragma Assert
(False
1195 or else NT
(N
).Nkind
= N_Component_Clause
);
1199 function First_Inlined_Subprogram
1200 (N
: Node_Id
) return Entity_Id
is
1202 pragma Assert
(False
1203 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1205 end First_Inlined_Subprogram
;
1208 (N
: Node_Id
) return Boolean is
1210 pragma Assert
(False
1211 or else NT
(N
).Nkind
= N_With_Clause
);
1215 function First_Named_Actual
1216 (N
: Node_Id
) return Node_Id
is
1218 pragma Assert
(False
1219 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1220 or else NT
(N
).Nkind
= N_Function_Call
1221 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1223 end First_Named_Actual
;
1225 function First_Real_Statement
1226 (N
: Node_Id
) return Node_Id
is
1228 pragma Assert
(False
1229 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1231 end First_Real_Statement
;
1233 function First_Subtype_Link
1234 (N
: Node_Id
) return Entity_Id
is
1236 pragma Assert
(False
1237 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1239 end First_Subtype_Link
;
1241 function Float_Truncate
1242 (N
: Node_Id
) return Boolean is
1244 pragma Assert
(False
1245 or else NT
(N
).Nkind
= N_Type_Conversion
);
1249 function Formal_Type_Definition
1250 (N
: Node_Id
) return Node_Id
is
1252 pragma Assert
(False
1253 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
1255 end Formal_Type_Definition
;
1257 function Forwards_OK
1258 (N
: Node_Id
) return Boolean is
1260 pragma Assert
(False
1261 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1265 function From_At_End
1266 (N
: Node_Id
) return Boolean is
1268 pragma Assert
(False
1269 or else NT
(N
).Nkind
= N_Raise_Statement
);
1273 function From_At_Mod
1274 (N
: Node_Id
) return Boolean is
1276 pragma Assert
(False
1277 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1281 function From_Default
1282 (N
: Node_Id
) return Boolean is
1284 pragma Assert
(False
1285 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
1289 function Generic_Associations
1290 (N
: Node_Id
) return List_Id
is
1292 pragma Assert
(False
1293 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1294 or else NT
(N
).Nkind
= N_Function_Instantiation
1295 or else NT
(N
).Nkind
= N_Package_Instantiation
1296 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1298 end Generic_Associations
;
1300 function Generic_Formal_Declarations
1301 (N
: Node_Id
) return List_Id
is
1303 pragma Assert
(False
1304 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1305 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
1307 end Generic_Formal_Declarations
;
1309 function Generic_Parent
1310 (N
: Node_Id
) return Node_Id
is
1312 pragma Assert
(False
1313 or else NT
(N
).Nkind
= N_Function_Specification
1314 or else NT
(N
).Nkind
= N_Package_Specification
1315 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1319 function Generic_Parent_Type
1320 (N
: Node_Id
) return Node_Id
is
1322 pragma Assert
(False
1323 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1325 end Generic_Parent_Type
;
1327 function Handled_Statement_Sequence
1328 (N
: Node_Id
) return Node_Id
is
1330 pragma Assert
(False
1331 or else NT
(N
).Nkind
= N_Accept_Statement
1332 or else NT
(N
).Nkind
= N_Block_Statement
1333 or else NT
(N
).Nkind
= N_Entry_Body
1334 or else NT
(N
).Nkind
= N_Extended_Return_Statement
1335 or else NT
(N
).Nkind
= N_Package_Body
1336 or else NT
(N
).Nkind
= N_Subprogram_Body
1337 or else NT
(N
).Nkind
= N_Task_Body
);
1339 end Handled_Statement_Sequence
;
1341 function Handler_List_Entry
1342 (N
: Node_Id
) return Node_Id
is
1344 pragma Assert
(False
1345 or else NT
(N
).Nkind
= N_Object_Declaration
);
1347 end Handler_List_Entry
;
1349 function Has_Created_Identifier
1350 (N
: Node_Id
) return Boolean is
1352 pragma Assert
(False
1353 or else NT
(N
).Nkind
= N_Block_Statement
1354 or else NT
(N
).Nkind
= N_Loop_Statement
);
1356 end Has_Created_Identifier
;
1358 function Has_Dynamic_Length_Check
1359 (N
: Node_Id
) return Boolean is
1362 end Has_Dynamic_Length_Check
;
1364 function Has_Dynamic_Range_Check
1365 (N
: Node_Id
) return Boolean is
1368 end Has_Dynamic_Range_Check
;
1370 function Has_Init_Expression
1371 (N
: Node_Id
) return Boolean is
1373 pragma Assert
(False
1374 or else NT
(N
).Nkind
= N_Object_Declaration
);
1376 end Has_Init_Expression
;
1378 function Has_Local_Raise
1379 (N
: Node_Id
) return Boolean is
1381 pragma Assert
(False
1382 or else NT
(N
).Nkind
= N_Exception_Handler
);
1384 end Has_Local_Raise
;
1386 function Has_No_Elaboration_Code
1387 (N
: Node_Id
) return Boolean is
1389 pragma Assert
(False
1390 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1392 end Has_No_Elaboration_Code
;
1394 function Has_Priority_Pragma
1395 (N
: Node_Id
) return Boolean is
1397 pragma Assert
(False
1398 or else NT
(N
).Nkind
= N_Protected_Definition
1399 or else NT
(N
).Nkind
= N_Subprogram_Body
1400 or else NT
(N
).Nkind
= N_Task_Definition
);
1402 end Has_Priority_Pragma
;
1404 function Has_Private_View
1405 (N
: Node_Id
) return Boolean is
1407 pragma Assert
(False
1408 or else NT
(N
).Nkind
in N_Op
1409 or else NT
(N
).Nkind
= N_Character_Literal
1410 or else NT
(N
).Nkind
= N_Expanded_Name
1411 or else NT
(N
).Nkind
= N_Identifier
1412 or else NT
(N
).Nkind
= N_Operator_Symbol
);
1414 end Has_Private_View
;
1416 function Has_Relative_Deadline_Pragma
1417 (N
: Node_Id
) return Boolean is
1419 pragma Assert
(False
1420 or else NT
(N
).Nkind
= N_Subprogram_Body
1421 or else NT
(N
).Nkind
= N_Task_Definition
);
1423 end Has_Relative_Deadline_Pragma
;
1425 function Has_Self_Reference
1426 (N
: Node_Id
) return Boolean is
1428 pragma Assert
(False
1429 or else NT
(N
).Nkind
= N_Aggregate
1430 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1432 end Has_Self_Reference
;
1434 function Has_Storage_Size_Pragma
1435 (N
: Node_Id
) return Boolean is
1437 pragma Assert
(False
1438 or else NT
(N
).Nkind
= N_Task_Definition
);
1440 end Has_Storage_Size_Pragma
;
1442 function Has_Task_Info_Pragma
1443 (N
: Node_Id
) return Boolean is
1445 pragma Assert
(False
1446 or else NT
(N
).Nkind
= N_Task_Definition
);
1448 end Has_Task_Info_Pragma
;
1450 function Has_Task_Name_Pragma
1451 (N
: Node_Id
) return Boolean is
1453 pragma Assert
(False
1454 or else NT
(N
).Nkind
= N_Task_Definition
);
1456 end Has_Task_Name_Pragma
;
1458 function Has_Wide_Character
1459 (N
: Node_Id
) return Boolean is
1461 pragma Assert
(False
1462 or else NT
(N
).Nkind
= N_String_Literal
);
1464 end Has_Wide_Character
;
1466 function Hidden_By_Use_Clause
1467 (N
: Node_Id
) return Elist_Id
is
1469 pragma Assert
(False
1470 or else NT
(N
).Nkind
= N_Use_Package_Clause
1471 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1473 end Hidden_By_Use_Clause
;
1476 (N
: Node_Id
) return Node_Id
is
1478 pragma Assert
(False
1479 or else NT
(N
).Nkind
= N_Range
1480 or else NT
(N
).Nkind
= N_Real_Range_Specification
1481 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1486 (N
: Node_Id
) return Node_Id
is
1488 pragma Assert
(False
1489 or else NT
(N
).Nkind
= N_At_Clause
1490 or else NT
(N
).Nkind
= N_Block_Statement
1491 or else NT
(N
).Nkind
= N_Designator
1492 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1493 or else NT
(N
).Nkind
= N_Label
1494 or else NT
(N
).Nkind
= N_Loop_Statement
1495 or else NT
(N
).Nkind
= N_Record_Representation_Clause
1496 or else NT
(N
).Nkind
= N_Subprogram_Info
);
1500 function Implicit_With
1501 (N
: Node_Id
) return Boolean is
1503 pragma Assert
(False
1504 or else NT
(N
).Nkind
= N_With_Clause
);
1508 function Interface_List
1509 (N
: Node_Id
) return List_Id
is
1511 pragma Assert
(False
1512 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1513 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
1514 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
1515 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
1516 or else NT
(N
).Nkind
= N_Record_Definition
1517 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
1518 or else NT
(N
).Nkind
= N_Single_Task_Declaration
1519 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
1523 function Interface_Present
1524 (N
: Node_Id
) return Boolean is
1526 pragma Assert
(False
1527 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1528 or else NT
(N
).Nkind
= N_Record_Definition
);
1530 end Interface_Present
;
1533 (N
: Node_Id
) return Boolean is
1535 pragma Assert
(False
1536 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1537 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1541 function Includes_Infinities
1542 (N
: Node_Id
) return Boolean is
1544 pragma Assert
(False
1545 or else NT
(N
).Nkind
= N_Range
);
1547 end Includes_Infinities
;
1549 function Instance_Spec
1550 (N
: Node_Id
) return Node_Id
is
1552 pragma Assert
(False
1553 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1554 or else NT
(N
).Nkind
= N_Function_Instantiation
1555 or else NT
(N
).Nkind
= N_Package_Instantiation
1556 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1561 (N
: Node_Id
) return Uint
is
1563 pragma Assert
(False
1564 or else NT
(N
).Nkind
= N_Integer_Literal
);
1568 function Is_Asynchronous_Call_Block
1569 (N
: Node_Id
) return Boolean is
1571 pragma Assert
(False
1572 or else NT
(N
).Nkind
= N_Block_Statement
);
1574 end Is_Asynchronous_Call_Block
;
1576 function Is_Component_Left_Opnd
1577 (N
: Node_Id
) return Boolean is
1579 pragma Assert
(False
1580 or else NT
(N
).Nkind
= N_Op_Concat
);
1582 end Is_Component_Left_Opnd
;
1584 function Is_Component_Right_Opnd
1585 (N
: Node_Id
) return Boolean is
1587 pragma Assert
(False
1588 or else NT
(N
).Nkind
= N_Op_Concat
);
1590 end Is_Component_Right_Opnd
;
1592 function Is_Controlling_Actual
1593 (N
: Node_Id
) return Boolean is
1595 pragma Assert
(False
1596 or else NT
(N
).Nkind
in N_Subexpr
);
1598 end Is_Controlling_Actual
;
1600 function Is_Dynamic_Coextension
1601 (N
: Node_Id
) return Boolean is
1603 pragma Assert
(False
1604 or else NT
(N
).Nkind
= N_Allocator
);
1606 end Is_Dynamic_Coextension
;
1608 function Is_Entry_Barrier_Function
1609 (N
: Node_Id
) return Boolean is
1611 pragma Assert
(False
1612 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1614 end Is_Entry_Barrier_Function
;
1616 function Is_Expanded_Build_In_Place_Call
1617 (N
: Node_Id
) return Boolean is
1619 pragma Assert
(False
1620 or else NT
(N
).Nkind
= N_Function_Call
);
1622 end Is_Expanded_Build_In_Place_Call
;
1624 function Is_Folded_In_Parser
1625 (N
: Node_Id
) return Boolean is
1627 pragma Assert
(False
1628 or else NT
(N
).Nkind
= N_String_Literal
);
1630 end Is_Folded_In_Parser
;
1632 function Is_In_Discriminant_Check
1633 (N
: Node_Id
) return Boolean is
1635 pragma Assert
(False
1636 or else NT
(N
).Nkind
= N_Selected_Component
);
1638 end Is_In_Discriminant_Check
;
1640 function Is_Machine_Number
1641 (N
: Node_Id
) return Boolean is
1643 pragma Assert
(False
1644 or else NT
(N
).Nkind
= N_Real_Literal
);
1646 end Is_Machine_Number
;
1648 function Is_Null_Loop
1649 (N
: Node_Id
) return Boolean is
1651 pragma Assert
(False
1652 or else NT
(N
).Nkind
= N_Loop_Statement
);
1656 function Is_Overloaded
1657 (N
: Node_Id
) return Boolean is
1659 pragma Assert
(False
1660 or else NT
(N
).Nkind
in N_Subexpr
);
1664 function Is_Power_Of_2_For_Shift
1665 (N
: Node_Id
) return Boolean is
1667 pragma Assert
(False
1668 or else NT
(N
).Nkind
= N_Op_Expon
);
1670 end Is_Power_Of_2_For_Shift
;
1672 function Is_Protected_Subprogram_Body
1673 (N
: Node_Id
) return Boolean is
1675 pragma Assert
(False
1676 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1678 end Is_Protected_Subprogram_Body
;
1680 function Is_Static_Coextension
1681 (N
: Node_Id
) return Boolean is
1683 pragma Assert
(False
1684 or else NT
(N
).Nkind
= N_Allocator
);
1686 end Is_Static_Coextension
;
1688 function Is_Static_Expression
1689 (N
: Node_Id
) return Boolean is
1691 pragma Assert
(False
1692 or else NT
(N
).Nkind
in N_Subexpr
);
1694 end Is_Static_Expression
;
1696 function Is_Subprogram_Descriptor
1697 (N
: Node_Id
) return Boolean is
1699 pragma Assert
(False
1700 or else NT
(N
).Nkind
= N_Object_Declaration
);
1702 end Is_Subprogram_Descriptor
;
1704 function Is_Task_Allocation_Block
1705 (N
: Node_Id
) return Boolean is
1707 pragma Assert
(False
1708 or else NT
(N
).Nkind
= N_Block_Statement
);
1710 end Is_Task_Allocation_Block
;
1712 function Is_Task_Master
1713 (N
: Node_Id
) return Boolean is
1715 pragma Assert
(False
1716 or else NT
(N
).Nkind
= N_Block_Statement
1717 or else NT
(N
).Nkind
= N_Subprogram_Body
1718 or else NT
(N
).Nkind
= N_Task_Body
);
1722 function Iteration_Scheme
1723 (N
: Node_Id
) return Node_Id
is
1725 pragma Assert
(False
1726 or else NT
(N
).Nkind
= N_Loop_Statement
);
1728 end Iteration_Scheme
;
1731 (N
: Node_Id
) return Node_Id
is
1733 pragma Assert
(False
1734 or else NT
(N
).Nkind
= N_Itype_Reference
);
1738 function Kill_Range_Check
1739 (N
: Node_Id
) return Boolean is
1741 pragma Assert
(False
1742 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1744 end Kill_Range_Check
;
1746 function Label_Construct
1747 (N
: Node_Id
) return Node_Id
is
1749 pragma Assert
(False
1750 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
1752 end Label_Construct
;
1755 (N
: Node_Id
) return Node_Id
is
1757 pragma Assert
(False
1758 or else NT
(N
).Nkind
= N_Component_Clause
);
1763 (N
: Node_Id
) return Boolean is
1765 pragma Assert
(False
1766 or else NT
(N
).Nkind
= N_With_Clause
);
1771 (N
: Node_Id
) return Node_Id
is
1773 pragma Assert
(False
1774 or else NT
(N
).Nkind
= N_And_Then
1775 or else NT
(N
).Nkind
= N_In
1776 or else NT
(N
).Nkind
= N_Not_In
1777 or else NT
(N
).Nkind
= N_Or_Else
1778 or else NT
(N
).Nkind
in N_Binary_Op
);
1782 function Library_Unit
1783 (N
: Node_Id
) return Node_Id
is
1785 pragma Assert
(False
1786 or else NT
(N
).Nkind
= N_Compilation_Unit
1787 or else NT
(N
).Nkind
= N_Package_Body_Stub
1788 or else NT
(N
).Nkind
= N_Protected_Body_Stub
1789 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
1790 or else NT
(N
).Nkind
= N_Task_Body_Stub
1791 or else NT
(N
).Nkind
= N_With_Clause
);
1795 function Limited_View_Installed
1796 (N
: Node_Id
) return Boolean is
1798 pragma Assert
(False
1799 or else NT
(N
).Nkind
= N_Package_Specification
1800 or else NT
(N
).Nkind
= N_With_Clause
);
1802 end Limited_View_Installed
;
1804 function Limited_Present
1805 (N
: Node_Id
) return Boolean is
1807 pragma Assert
(False
1808 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1809 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
1810 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
1811 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
1812 or else NT
(N
).Nkind
= N_Private_Type_Declaration
1813 or else NT
(N
).Nkind
= N_Record_Definition
1814 or else NT
(N
).Nkind
= N_With_Clause
);
1816 end Limited_Present
;
1819 (N
: Node_Id
) return List_Id
is
1821 pragma Assert
(False
1822 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
1826 function Local_Raise_Not_OK
1827 (N
: Node_Id
) return Boolean is
1829 pragma Assert
(False
1830 or else NT
(N
).Nkind
= N_Exception_Handler
);
1832 end Local_Raise_Not_OK
;
1834 function Local_Raise_Statements
1835 (N
: Node_Id
) return Elist_Id
is
1837 pragma Assert
(False
1838 or else NT
(N
).Nkind
= N_Exception_Handler
);
1840 end Local_Raise_Statements
;
1842 function Loop_Actions
1843 (N
: Node_Id
) return List_Id
is
1845 pragma Assert
(False
1846 or else NT
(N
).Nkind
= N_Component_Association
);
1850 function Loop_Parameter_Specification
1851 (N
: Node_Id
) return Node_Id
is
1853 pragma Assert
(False
1854 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
1856 end Loop_Parameter_Specification
;
1859 (N
: Node_Id
) return Node_Id
is
1861 pragma Assert
(False
1862 or else NT
(N
).Nkind
= N_Range
1863 or else NT
(N
).Nkind
= N_Real_Range_Specification
1864 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1869 (N
: Node_Id
) return Node_Id
is
1871 pragma Assert
(False
1872 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1877 (N
: Node_Id
) return Boolean is
1879 pragma Assert
(False
1880 or else NT
(N
).Nkind
= N_Component_Declaration
1881 or else NT
(N
).Nkind
= N_Discriminant_Specification
1882 or else NT
(N
).Nkind
= N_Exception_Declaration
1883 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1884 or else NT
(N
).Nkind
= N_Number_Declaration
1885 or else NT
(N
).Nkind
= N_Object_Declaration
1886 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1890 function Must_Be_Byte_Aligned
1891 (N
: Node_Id
) return Boolean is
1893 pragma Assert
(False
1894 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1896 end Must_Be_Byte_Aligned
;
1898 function Must_Not_Freeze
1899 (N
: Node_Id
) return Boolean is
1901 pragma Assert
(False
1902 or else NT
(N
).Nkind
= N_Subtype_Indication
1903 or else NT
(N
).Nkind
in N_Subexpr
);
1905 end Must_Not_Freeze
;
1907 function Must_Not_Override
1908 (N
: Node_Id
) return Boolean is
1910 pragma Assert
(False
1911 or else NT
(N
).Nkind
= N_Entry_Declaration
1912 or else NT
(N
).Nkind
= N_Function_Instantiation
1913 or else NT
(N
).Nkind
= N_Function_Specification
1914 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1915 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1917 end Must_Not_Override
;
1919 function Must_Override
1920 (N
: Node_Id
) return Boolean is
1922 pragma Assert
(False
1923 or else NT
(N
).Nkind
= N_Entry_Declaration
1924 or else NT
(N
).Nkind
= N_Function_Instantiation
1925 or else NT
(N
).Nkind
= N_Function_Specification
1926 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1927 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1932 (N
: Node_Id
) return Node_Id
is
1934 pragma Assert
(False
1935 or else NT
(N
).Nkind
= N_Assignment_Statement
1936 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1937 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
1938 or else NT
(N
).Nkind
= N_Designator
1939 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1940 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
1941 or else NT
(N
).Nkind
= N_Exit_Statement
1942 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1943 or else NT
(N
).Nkind
= N_Function_Call
1944 or else NT
(N
).Nkind
= N_Function_Instantiation
1945 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1946 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1947 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1948 or else NT
(N
).Nkind
= N_Goto_Statement
1949 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
1950 or else NT
(N
).Nkind
= N_Package_Instantiation
1951 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1952 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
1953 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1954 or else NT
(N
).Nkind
= N_Raise_Statement
1955 or else NT
(N
).Nkind
= N_Requeue_Statement
1956 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
1957 or else NT
(N
).Nkind
= N_Subunit
1958 or else NT
(N
).Nkind
= N_Variant_Part
1959 or else NT
(N
).Nkind
= N_With_Clause
);
1964 (N
: Node_Id
) return List_Id
is
1966 pragma Assert
(False
1967 or else NT
(N
).Nkind
= N_Abort_Statement
1968 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
1972 function Next_Entity
1973 (N
: Node_Id
) return Node_Id
is
1975 pragma Assert
(False
1976 or else NT
(N
).Nkind
= N_Defining_Character_Literal
1977 or else NT
(N
).Nkind
= N_Defining_Identifier
1978 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
1982 function Next_Implicit_With
1983 (N
: Node_Id
) return Node_Id
is
1985 pragma Assert
(False
1986 or else NT
(N
).Nkind
= N_With_Clause
);
1988 end Next_Implicit_With
;
1990 function Next_Named_Actual
1991 (N
: Node_Id
) return Node_Id
is
1993 pragma Assert
(False
1994 or else NT
(N
).Nkind
= N_Parameter_Association
);
1996 end Next_Named_Actual
;
1998 function Next_Pragma
1999 (N
: Node_Id
) return Node_Id
is
2001 pragma Assert
(False
2002 or else NT
(N
).Nkind
= N_Pragma
);
2006 function Next_Rep_Item
2007 (N
: Node_Id
) return Node_Id
is
2009 pragma Assert
(False
2010 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
2011 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
2012 or else NT
(N
).Nkind
= N_Pragma
2013 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
2017 function Next_Use_Clause
2018 (N
: Node_Id
) return Node_Id
is
2020 pragma Assert
(False
2021 or else NT
(N
).Nkind
= N_Use_Package_Clause
2022 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2024 end Next_Use_Clause
;
2026 function No_Ctrl_Actions
2027 (N
: Node_Id
) return Boolean is
2029 pragma Assert
(False
2030 or else NT
(N
).Nkind
= N_Assignment_Statement
);
2032 end No_Ctrl_Actions
;
2034 function No_Elaboration_Check
2035 (N
: Node_Id
) return Boolean is
2037 pragma Assert
(False
2038 or else NT
(N
).Nkind
= N_Function_Call
2039 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2041 end No_Elaboration_Check
;
2043 function No_Entities_Ref_In_Spec
2044 (N
: Node_Id
) return Boolean is
2046 pragma Assert
(False
2047 or else NT
(N
).Nkind
= N_With_Clause
);
2049 end No_Entities_Ref_In_Spec
;
2051 function No_Initialization
2052 (N
: Node_Id
) return Boolean is
2054 pragma Assert
(False
2055 or else NT
(N
).Nkind
= N_Allocator
2056 or else NT
(N
).Nkind
= N_Object_Declaration
);
2058 end No_Initialization
;
2060 function No_Truncation
2061 (N
: Node_Id
) return Boolean is
2063 pragma Assert
(False
2064 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2068 function Null_Present
2069 (N
: Node_Id
) return Boolean is
2071 pragma Assert
(False
2072 or else NT
(N
).Nkind
= N_Component_List
2073 or else NT
(N
).Nkind
= N_Procedure_Specification
2074 or else NT
(N
).Nkind
= N_Record_Definition
);
2078 function Null_Exclusion_Present
2079 (N
: Node_Id
) return Boolean is
2081 pragma Assert
(False
2082 or else NT
(N
).Nkind
= N_Access_Definition
2083 or else NT
(N
).Nkind
= N_Access_Function_Definition
2084 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2085 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2086 or else NT
(N
).Nkind
= N_Allocator
2087 or else NT
(N
).Nkind
= N_Component_Definition
2088 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2089 or else NT
(N
).Nkind
= N_Discriminant_Specification
2090 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2091 or else NT
(N
).Nkind
= N_Function_Specification
2092 or else NT
(N
).Nkind
= N_Object_Declaration
2093 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2094 or else NT
(N
).Nkind
= N_Parameter_Specification
2095 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
2097 end Null_Exclusion_Present
;
2099 function Null_Exclusion_In_Return_Present
2100 (N
: Node_Id
) return Boolean is
2102 pragma Assert
(False
2103 or else NT
(N
).Nkind
= N_Access_Function_Definition
);
2105 end Null_Exclusion_In_Return_Present
;
2107 function Null_Record_Present
2108 (N
: Node_Id
) return Boolean is
2110 pragma Assert
(False
2111 or else NT
(N
).Nkind
= N_Aggregate
2112 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2114 end Null_Record_Present
;
2116 function Object_Definition
2117 (N
: Node_Id
) return Node_Id
is
2119 pragma Assert
(False
2120 or else NT
(N
).Nkind
= N_Object_Declaration
);
2122 end Object_Definition
;
2124 function Original_Discriminant
2125 (N
: Node_Id
) return Node_Id
is
2127 pragma Assert
(False
2128 or else NT
(N
).Nkind
= N_Identifier
);
2130 end Original_Discriminant
;
2132 function Original_Entity
2133 (N
: Node_Id
) return Entity_Id
is
2135 pragma Assert
(False
2136 or else NT
(N
).Nkind
= N_Integer_Literal
2137 or else NT
(N
).Nkind
= N_Real_Literal
);
2139 end Original_Entity
;
2141 function Others_Discrete_Choices
2142 (N
: Node_Id
) return List_Id
is
2144 pragma Assert
(False
2145 or else NT
(N
).Nkind
= N_Others_Choice
);
2147 end Others_Discrete_Choices
;
2149 function Out_Present
2150 (N
: Node_Id
) return Boolean is
2152 pragma Assert
(False
2153 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2154 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2158 function Parameter_Associations
2159 (N
: Node_Id
) return List_Id
is
2161 pragma Assert
(False
2162 or else NT
(N
).Nkind
= N_Entry_Call_Statement
2163 or else NT
(N
).Nkind
= N_Function_Call
2164 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2166 end Parameter_Associations
;
2168 function Parameter_List_Truncated
2169 (N
: Node_Id
) return Boolean is
2171 pragma Assert
(False
2172 or else NT
(N
).Nkind
= N_Function_Call
2173 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2175 end Parameter_List_Truncated
;
2177 function Parameter_Specifications
2178 (N
: Node_Id
) return List_Id
is
2180 pragma Assert
(False
2181 or else NT
(N
).Nkind
= N_Accept_Statement
2182 or else NT
(N
).Nkind
= N_Access_Function_Definition
2183 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2184 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
2185 or else NT
(N
).Nkind
= N_Entry_Declaration
2186 or else NT
(N
).Nkind
= N_Function_Specification
2187 or else NT
(N
).Nkind
= N_Procedure_Specification
);
2189 end Parameter_Specifications
;
2191 function Parameter_Type
2192 (N
: Node_Id
) return Node_Id
is
2194 pragma Assert
(False
2195 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2199 function Parent_Spec
2200 (N
: Node_Id
) return Node_Id
is
2202 pragma Assert
(False
2203 or else NT
(N
).Nkind
= N_Function_Instantiation
2204 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
2205 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2206 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
2207 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
2208 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2209 or else NT
(N
).Nkind
= N_Package_Declaration
2210 or else NT
(N
).Nkind
= N_Package_Instantiation
2211 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
2212 or else NT
(N
).Nkind
= N_Procedure_Instantiation
2213 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2214 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2218 function PPC_Enabled
2219 (N
: Node_Id
) return Boolean is
2221 pragma Assert
(False
2222 or else NT
(N
).Nkind
= N_Pragma
);
2227 (N
: Node_Id
) return Node_Id
is
2229 pragma Assert
(False
2230 or else NT
(N
).Nkind
= N_Component_Clause
);
2234 function Pragma_Argument_Associations
2235 (N
: Node_Id
) return List_Id
is
2237 pragma Assert
(False
2238 or else NT
(N
).Nkind
= N_Pragma
);
2240 end Pragma_Argument_Associations
;
2242 function Pragma_Identifier
2243 (N
: Node_Id
) return Node_Id
is
2245 pragma Assert
(False
2246 or else NT
(N
).Nkind
= N_Pragma
);
2248 end Pragma_Identifier
;
2250 function Pragmas_After
2251 (N
: Node_Id
) return List_Id
is
2253 pragma Assert
(False
2254 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2255 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
2259 function Pragmas_Before
2260 (N
: Node_Id
) return List_Id
is
2262 pragma Assert
(False
2263 or else NT
(N
).Nkind
= N_Accept_Alternative
2264 or else NT
(N
).Nkind
= N_Delay_Alternative
2265 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2266 or else NT
(N
).Nkind
= N_Mod_Clause
2267 or else NT
(N
).Nkind
= N_Terminate_Alternative
2268 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2273 (N
: Node_Id
) return Node_Id
is
2275 pragma Assert
(False
2276 or else NT
(N
).Nkind
= N_Attribute_Reference
2277 or else NT
(N
).Nkind
= N_Expanded_Name
2278 or else NT
(N
).Nkind
= N_Explicit_Dereference
2279 or else NT
(N
).Nkind
= N_Indexed_Component
2280 or else NT
(N
).Nkind
= N_Reference
2281 or else NT
(N
).Nkind
= N_Selected_Component
2282 or else NT
(N
).Nkind
= N_Slice
);
2286 function Present_Expr
2287 (N
: Node_Id
) return Uint
is
2289 pragma Assert
(False
2290 or else NT
(N
).Nkind
= N_Variant
);
2295 (N
: Node_Id
) return Boolean is
2297 pragma Assert
(False
2298 or else NT
(N
).Nkind
= N_Component_Declaration
2299 or else NT
(N
).Nkind
= N_Discriminant_Specification
2300 or else NT
(N
).Nkind
= N_Exception_Declaration
2301 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2302 or else NT
(N
).Nkind
= N_Number_Declaration
2303 or else NT
(N
).Nkind
= N_Object_Declaration
2304 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2308 function Print_In_Hex
2309 (N
: Node_Id
) return Boolean is
2311 pragma Assert
(False
2312 or else NT
(N
).Nkind
= N_Integer_Literal
);
2316 function Private_Declarations
2317 (N
: Node_Id
) return List_Id
is
2319 pragma Assert
(False
2320 or else NT
(N
).Nkind
= N_Package_Specification
2321 or else NT
(N
).Nkind
= N_Protected_Definition
2322 or else NT
(N
).Nkind
= N_Task_Definition
);
2324 end Private_Declarations
;
2326 function Private_Present
2327 (N
: Node_Id
) return Boolean is
2329 pragma Assert
(False
2330 or else NT
(N
).Nkind
= N_Compilation_Unit
2331 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2332 or else NT
(N
).Nkind
= N_With_Clause
);
2334 end Private_Present
;
2336 function Procedure_To_Call
2337 (N
: Node_Id
) return Node_Id
is
2339 pragma Assert
(False
2340 or else NT
(N
).Nkind
= N_Allocator
2341 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2342 or else NT
(N
).Nkind
= N_Free_Statement
2343 or else NT
(N
).Nkind
= N_Return_Statement
);
2345 end Procedure_To_Call
;
2347 function Proper_Body
2348 (N
: Node_Id
) return Node_Id
is
2350 pragma Assert
(False
2351 or else NT
(N
).Nkind
= N_Subunit
);
2355 function Protected_Definition
2356 (N
: Node_Id
) return Node_Id
is
2358 pragma Assert
(False
2359 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
2360 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
2362 end Protected_Definition
;
2364 function Protected_Present
2365 (N
: Node_Id
) return Boolean is
2367 pragma Assert
(False
2368 or else NT
(N
).Nkind
= N_Access_Function_Definition
2369 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2370 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2371 or else NT
(N
).Nkind
= N_Record_Definition
);
2373 end Protected_Present
;
2375 function Raises_Constraint_Error
2376 (N
: Node_Id
) return Boolean is
2378 pragma Assert
(False
2379 or else NT
(N
).Nkind
in N_Subexpr
);
2381 end Raises_Constraint_Error
;
2383 function Range_Constraint
2384 (N
: Node_Id
) return Node_Id
is
2386 pragma Assert
(False
2387 or else NT
(N
).Nkind
= N_Delta_Constraint
2388 or else NT
(N
).Nkind
= N_Digits_Constraint
);
2390 end Range_Constraint
;
2392 function Range_Expression
2393 (N
: Node_Id
) return Node_Id
is
2395 pragma Assert
(False
2396 or else NT
(N
).Nkind
= N_Range_Constraint
);
2398 end Range_Expression
;
2400 function Real_Range_Specification
2401 (N
: Node_Id
) return Node_Id
is
2403 pragma Assert
(False
2404 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
2405 or else NT
(N
).Nkind
= N_Floating_Point_Definition
2406 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
2408 end Real_Range_Specification
;
2411 (N
: Node_Id
) return Ureal
is
2413 pragma Assert
(False
2414 or else NT
(N
).Nkind
= N_Real_Literal
);
2419 (N
: Node_Id
) return Uint
is
2421 pragma Assert
(False
2422 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2423 or else NT
(N
).Nkind
= N_Raise_Program_Error
2424 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
2428 function Record_Extension_Part
2429 (N
: Node_Id
) return Node_Id
is
2431 pragma Assert
(False
2432 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
2434 end Record_Extension_Part
;
2436 function Redundant_Use
2437 (N
: Node_Id
) return Boolean is
2439 pragma Assert
(False
2440 or else NT
(N
).Nkind
= N_Attribute_Reference
2441 or else NT
(N
).Nkind
= N_Expanded_Name
2442 or else NT
(N
).Nkind
= N_Identifier
);
2446 function Renaming_Exception
2447 (N
: Node_Id
) return Node_Id
is
2449 pragma Assert
(False
2450 or else NT
(N
).Nkind
= N_Exception_Declaration
);
2452 end Renaming_Exception
;
2454 function Result_Definition
2455 (N
: Node_Id
) return Node_Id
is
2457 pragma Assert
(False
2458 or else NT
(N
).Nkind
= N_Access_Function_Definition
2459 or else NT
(N
).Nkind
= N_Function_Specification
);
2461 end Result_Definition
;
2463 function Return_Object_Declarations
2464 (N
: Node_Id
) return List_Id
is
2466 pragma Assert
(False
2467 or else NT
(N
).Nkind
= N_Extended_Return_Statement
);
2469 end Return_Object_Declarations
;
2471 function Return_Statement_Entity
2472 (N
: Node_Id
) return Node_Id
is
2474 pragma Assert
(False
2475 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2476 or else NT
(N
).Nkind
= N_Return_Statement
);
2478 end Return_Statement_Entity
;
2480 function Reverse_Present
2481 (N
: Node_Id
) return Boolean is
2483 pragma Assert
(False
2484 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
2486 end Reverse_Present
;
2489 (N
: Node_Id
) return Node_Id
is
2491 pragma Assert
(False
2492 or else NT
(N
).Nkind
in N_Op
2493 or else NT
(N
).Nkind
= N_And_Then
2494 or else NT
(N
).Nkind
= N_In
2495 or else NT
(N
).Nkind
= N_Not_In
2496 or else NT
(N
).Nkind
= N_Or_Else
);
2500 function Rounded_Result
2501 (N
: Node_Id
) return Boolean is
2503 pragma Assert
(False
2504 or else NT
(N
).Nkind
= N_Op_Divide
2505 or else NT
(N
).Nkind
= N_Op_Multiply
2506 or else NT
(N
).Nkind
= N_Type_Conversion
);
2511 (N
: Node_Id
) return Node_Id
is
2513 pragma Assert
(False
2514 or else NT
(N
).Nkind
= N_Defining_Character_Literal
2515 or else NT
(N
).Nkind
= N_Defining_Identifier
2516 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
2520 function Select_Alternatives
2521 (N
: Node_Id
) return List_Id
is
2523 pragma Assert
(False
2524 or else NT
(N
).Nkind
= N_Selective_Accept
);
2526 end Select_Alternatives
;
2528 function Selector_Name
2529 (N
: Node_Id
) return Node_Id
is
2531 pragma Assert
(False
2532 or else NT
(N
).Nkind
= N_Expanded_Name
2533 or else NT
(N
).Nkind
= N_Generic_Association
2534 or else NT
(N
).Nkind
= N_Parameter_Association
2535 or else NT
(N
).Nkind
= N_Selected_Component
);
2539 function Selector_Names
2540 (N
: Node_Id
) return List_Id
is
2542 pragma Assert
(False
2543 or else NT
(N
).Nkind
= N_Discriminant_Association
);
2547 function Shift_Count_OK
2548 (N
: Node_Id
) return Boolean is
2550 pragma Assert
(False
2551 or else NT
(N
).Nkind
= N_Op_Rotate_Left
2552 or else NT
(N
).Nkind
= N_Op_Rotate_Right
2553 or else NT
(N
).Nkind
= N_Op_Shift_Left
2554 or else NT
(N
).Nkind
= N_Op_Shift_Right
2555 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
2559 function Source_Type
2560 (N
: Node_Id
) return Entity_Id
is
2562 pragma Assert
(False
2563 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2567 function Specification
2568 (N
: Node_Id
) return Node_Id
is
2570 pragma Assert
(False
2571 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
2572 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
2573 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
2574 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2575 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2576 or else NT
(N
).Nkind
= N_Package_Declaration
2577 or else NT
(N
).Nkind
= N_Subprogram_Body
2578 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
2579 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2580 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2585 (N
: Node_Id
) return List_Id
is
2587 pragma Assert
(False
2588 or else NT
(N
).Nkind
= N_Abortable_Part
2589 or else NT
(N
).Nkind
= N_Accept_Alternative
2590 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
2591 or else NT
(N
).Nkind
= N_Delay_Alternative
2592 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2593 or else NT
(N
).Nkind
= N_Exception_Handler
2594 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
2595 or else NT
(N
).Nkind
= N_Loop_Statement
2596 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2600 function Static_Processing_OK
2601 (N
: Node_Id
) return Boolean is
2603 pragma Assert
(False
2604 or else NT
(N
).Nkind
= N_Aggregate
);
2606 end Static_Processing_OK
;
2608 function Storage_Pool
2609 (N
: Node_Id
) return Node_Id
is
2611 pragma Assert
(False
2612 or else NT
(N
).Nkind
= N_Allocator
2613 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2614 or else NT
(N
).Nkind
= N_Free_Statement
2615 or else NT
(N
).Nkind
= N_Return_Statement
);
2620 (N
: Node_Id
) return String_Id
is
2622 pragma Assert
(False
2623 or else NT
(N
).Nkind
= N_Operator_Symbol
2624 or else NT
(N
).Nkind
= N_String_Literal
);
2628 function Subtype_Indication
2629 (N
: Node_Id
) return Node_Id
is
2631 pragma Assert
(False
2632 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2633 or else NT
(N
).Nkind
= N_Component_Definition
2634 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2635 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2636 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
2638 end Subtype_Indication
;
2640 function Suppress_Loop_Warnings
2641 (N
: Node_Id
) return Boolean is
2643 pragma Assert
(False
2644 or else NT
(N
).Nkind
= N_Loop_Statement
);
2646 end Suppress_Loop_Warnings
;
2648 function Subtype_Mark
2649 (N
: Node_Id
) return Node_Id
is
2651 pragma Assert
(False
2652 or else NT
(N
).Nkind
= N_Access_Definition
2653 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2654 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2655 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2656 or else NT
(N
).Nkind
= N_Qualified_Expression
2657 or else NT
(N
).Nkind
= N_Subtype_Indication
2658 or else NT
(N
).Nkind
= N_Type_Conversion
2659 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2663 function Subtype_Marks
2664 (N
: Node_Id
) return List_Id
is
2666 pragma Assert
(False
2667 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
2668 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2672 function Synchronized_Present
2673 (N
: Node_Id
) return Boolean is
2675 pragma Assert
(False
2676 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2677 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2678 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2679 or else NT
(N
).Nkind
= N_Record_Definition
);
2681 end Synchronized_Present
;
2683 function Tagged_Present
2684 (N
: Node_Id
) return Boolean is
2686 pragma Assert
(False
2687 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2688 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2689 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2690 or else NT
(N
).Nkind
= N_Record_Definition
);
2694 function Target_Type
2695 (N
: Node_Id
) return Entity_Id
is
2697 pragma Assert
(False
2698 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2702 function Task_Definition
2703 (N
: Node_Id
) return Node_Id
is
2705 pragma Assert
(False
2706 or else NT
(N
).Nkind
= N_Single_Task_Declaration
2707 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2709 end Task_Definition
;
2711 function Task_Present
2712 (N
: Node_Id
) return Boolean is
2714 pragma Assert
(False
2715 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2716 or else NT
(N
).Nkind
= N_Record_Definition
);
2720 function Then_Actions
2721 (N
: Node_Id
) return List_Id
is
2723 pragma Assert
(False
2724 or else NT
(N
).Nkind
= N_Conditional_Expression
);
2728 function Then_Statements
2729 (N
: Node_Id
) return List_Id
is
2731 pragma Assert
(False
2732 or else NT
(N
).Nkind
= N_Elsif_Part
2733 or else NT
(N
).Nkind
= N_If_Statement
);
2735 end Then_Statements
;
2737 function Treat_Fixed_As_Integer
2738 (N
: Node_Id
) return Boolean is
2740 pragma Assert
(False
2741 or else NT
(N
).Nkind
= N_Op_Divide
2742 or else NT
(N
).Nkind
= N_Op_Mod
2743 or else NT
(N
).Nkind
= N_Op_Multiply
2744 or else NT
(N
).Nkind
= N_Op_Rem
);
2746 end Treat_Fixed_As_Integer
;
2748 function Triggering_Alternative
2749 (N
: Node_Id
) return Node_Id
is
2751 pragma Assert
(False
2752 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2754 end Triggering_Alternative
;
2756 function Triggering_Statement
2757 (N
: Node_Id
) return Node_Id
is
2759 pragma Assert
(False
2760 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2762 end Triggering_Statement
;
2765 (N
: Node_Id
) return Elist_Id
is
2767 pragma Assert
(False
2768 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2772 function Type_Definition
2773 (N
: Node_Id
) return Node_Id
is
2775 pragma Assert
(False
2776 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
2778 end Type_Definition
;
2781 (N
: Node_Id
) return Node_Id
is
2783 pragma Assert
(False
2784 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2788 function Unknown_Discriminants_Present
2789 (N
: Node_Id
) return Boolean is
2791 pragma Assert
(False
2792 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
2793 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2794 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2795 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
2797 end Unknown_Discriminants_Present
;
2799 function Unreferenced_In_Spec
2800 (N
: Node_Id
) return Boolean is
2802 pragma Assert
(False
2803 or else NT
(N
).Nkind
= N_With_Clause
);
2805 end Unreferenced_In_Spec
;
2807 function Variant_Part
2808 (N
: Node_Id
) return Node_Id
is
2810 pragma Assert
(False
2811 or else NT
(N
).Nkind
= N_Component_List
);
2816 (N
: Node_Id
) return List_Id
is
2818 pragma Assert
(False
2819 or else NT
(N
).Nkind
= N_Variant_Part
);
2823 function Visible_Declarations
2824 (N
: Node_Id
) return List_Id
is
2826 pragma Assert
(False
2827 or else NT
(N
).Nkind
= N_Package_Specification
2828 or else NT
(N
).Nkind
= N_Protected_Definition
2829 or else NT
(N
).Nkind
= N_Task_Definition
);
2831 end Visible_Declarations
;
2833 function Was_Originally_Stub
2834 (N
: Node_Id
) return Boolean is
2836 pragma Assert
(False
2837 or else NT
(N
).Nkind
= N_Package_Body
2838 or else NT
(N
).Nkind
= N_Protected_Body
2839 or else NT
(N
).Nkind
= N_Subprogram_Body
2840 or else NT
(N
).Nkind
= N_Task_Body
);
2842 end Was_Originally_Stub
;
2844 function Zero_Cost_Handling
2845 (N
: Node_Id
) return Boolean is
2847 pragma Assert
(False
2848 or else NT
(N
).Nkind
= N_Exception_Handler
2849 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2851 end Zero_Cost_Handling
;
2853 --------------------------
2854 -- Field Set Procedures --
2855 --------------------------
2857 procedure Set_ABE_Is_Certain
2858 (N
: Node_Id
; Val
: Boolean := True) is
2860 pragma Assert
(False
2861 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2862 or else NT
(N
).Nkind
= N_Function_Call
2863 or else NT
(N
).Nkind
= N_Function_Instantiation
2864 or else NT
(N
).Nkind
= N_Package_Instantiation
2865 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
2866 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
2867 Set_Flag18
(N
, Val
);
2868 end Set_ABE_Is_Certain
;
2870 procedure Set_Abort_Present
2871 (N
: Node_Id
; Val
: Boolean := True) is
2873 pragma Assert
(False
2874 or else NT
(N
).Nkind
= N_Requeue_Statement
);
2875 Set_Flag15
(N
, Val
);
2876 end Set_Abort_Present
;
2878 procedure Set_Abortable_Part
2879 (N
: Node_Id
; Val
: Node_Id
) is
2881 pragma Assert
(False
2882 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2883 Set_Node2_With_Parent
(N
, Val
);
2884 end Set_Abortable_Part
;
2886 procedure Set_Abstract_Present
2887 (N
: Node_Id
; Val
: Boolean := True) is
2889 pragma Assert
(False
2890 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2891 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2892 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2893 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2894 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2895 or else NT
(N
).Nkind
= N_Record_Definition
);
2897 end Set_Abstract_Present
;
2899 procedure Set_Accept_Handler_Records
2900 (N
: Node_Id
; Val
: List_Id
) is
2902 pragma Assert
(False
2903 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2904 Set_List5
(N
, Val
); -- semantic field, no parent set
2905 end Set_Accept_Handler_Records
;
2907 procedure Set_Accept_Statement
2908 (N
: Node_Id
; Val
: Node_Id
) is
2910 pragma Assert
(False
2911 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2912 Set_Node2_With_Parent
(N
, Val
);
2913 end Set_Accept_Statement
;
2915 procedure Set_Access_Definition
2916 (N
: Node_Id
; Val
: Node_Id
) is
2918 pragma Assert
(False
2919 or else NT
(N
).Nkind
= N_Component_Definition
2920 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2921 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
2922 Set_Node3_With_Parent
(N
, Val
);
2923 end Set_Access_Definition
;
2925 procedure Set_Access_To_Subprogram_Definition
2926 (N
: Node_Id
; Val
: Node_Id
) is
2928 pragma Assert
(False
2929 or else NT
(N
).Nkind
= N_Access_Definition
);
2930 Set_Node3_With_Parent
(N
, Val
);
2931 end Set_Access_To_Subprogram_Definition
;
2933 procedure Set_Access_Types_To_Process
2934 (N
: Node_Id
; Val
: Elist_Id
) is
2936 pragma Assert
(False
2937 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2938 Set_Elist2
(N
, Val
); -- semantic field, no parent set
2939 end Set_Access_Types_To_Process
;
2941 procedure Set_Actions
2942 (N
: Node_Id
; Val
: List_Id
) is
2944 pragma Assert
(False
2945 or else NT
(N
).Nkind
= N_And_Then
2946 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2947 or else NT
(N
).Nkind
= N_Freeze_Entity
2948 or else NT
(N
).Nkind
= N_Or_Else
);
2949 Set_List1_With_Parent
(N
, Val
);
2952 procedure Set_Activation_Chain_Entity
2953 (N
: Node_Id
; Val
: Node_Id
) is
2955 pragma Assert
(False
2956 or else NT
(N
).Nkind
= N_Block_Statement
2957 or else NT
(N
).Nkind
= N_Entry_Body
2958 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2959 or else NT
(N
).Nkind
= N_Package_Declaration
2960 or else NT
(N
).Nkind
= N_Subprogram_Body
2961 or else NT
(N
).Nkind
= N_Task_Body
);
2962 Set_Node3
(N
, Val
); -- semantic field, no parent set
2963 end Set_Activation_Chain_Entity
;
2965 procedure Set_Acts_As_Spec
2966 (N
: Node_Id
; Val
: Boolean := True) is
2968 pragma Assert
(False
2969 or else NT
(N
).Nkind
= N_Compilation_Unit
2970 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2972 end Set_Acts_As_Spec
;
2974 procedure Set_Actual_Designated_Subtype
2975 (N
: Node_Id
; Val
: Node_Id
) is
2977 pragma Assert
(False
2978 or else NT
(N
).Nkind
= N_Explicit_Dereference
2979 or else NT
(N
).Nkind
= N_Free_Statement
);
2981 end Set_Actual_Designated_Subtype
;
2983 procedure Set_Address_Warning_Posted
2984 (N
: Node_Id
; Val
: Boolean := True) is
2986 pragma Assert
(False
2987 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
2988 Set_Flag18
(N
, Val
);
2989 end Set_Address_Warning_Posted
;
2991 procedure Set_Aggregate_Bounds
2992 (N
: Node_Id
; Val
: Node_Id
) is
2994 pragma Assert
(False
2995 or else NT
(N
).Nkind
= N_Aggregate
);
2996 Set_Node3
(N
, Val
); -- semantic field, no parent set
2997 end Set_Aggregate_Bounds
;
2999 procedure Set_Aliased_Present
3000 (N
: Node_Id
; Val
: Boolean := True) is
3002 pragma Assert
(False
3003 or else NT
(N
).Nkind
= N_Component_Definition
3004 or else NT
(N
).Nkind
= N_Object_Declaration
);
3006 end Set_Aliased_Present
;
3008 procedure Set_All_Others
3009 (N
: Node_Id
; Val
: Boolean := True) is
3011 pragma Assert
(False
3012 or else NT
(N
).Nkind
= N_Others_Choice
);
3013 Set_Flag11
(N
, Val
);
3016 procedure Set_All_Present
3017 (N
: Node_Id
; Val
: Boolean := True) is
3019 pragma Assert
(False
3020 or else NT
(N
).Nkind
= N_Access_Definition
3021 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
3022 Set_Flag15
(N
, Val
);
3023 end Set_All_Present
;
3025 procedure Set_Alternatives
3026 (N
: Node_Id
; Val
: List_Id
) is
3028 pragma Assert
(False
3029 or else NT
(N
).Nkind
= N_Case_Statement
);
3030 Set_List4_With_Parent
(N
, Val
);
3031 end Set_Alternatives
;
3033 procedure Set_Ancestor_Part
3034 (N
: Node_Id
; Val
: Node_Id
) is
3036 pragma Assert
(False
3037 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3038 Set_Node3_With_Parent
(N
, Val
);
3039 end Set_Ancestor_Part
;
3041 procedure Set_Array_Aggregate
3042 (N
: Node_Id
; Val
: Node_Id
) is
3044 pragma Assert
(False
3045 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
3046 Set_Node3_With_Parent
(N
, Val
);
3047 end Set_Array_Aggregate
;
3049 procedure Set_Assignment_OK
3050 (N
: Node_Id
; Val
: Boolean := True) is
3052 pragma Assert
(False
3053 or else NT
(N
).Nkind
= N_Object_Declaration
3054 or else NT
(N
).Nkind
in N_Subexpr
);
3055 Set_Flag15
(N
, Val
);
3056 end Set_Assignment_OK
;
3058 procedure Set_Associated_Node
3059 (N
: Node_Id
; Val
: Node_Id
) is
3061 pragma Assert
(False
3062 or else NT
(N
).Nkind
in N_Has_Entity
3063 or else NT
(N
).Nkind
= N_Aggregate
3064 or else NT
(N
).Nkind
= N_Extension_Aggregate
3065 or else NT
(N
).Nkind
= N_Selected_Component
);
3066 Set_Node4
(N
, Val
); -- semantic field, no parent set
3067 end Set_Associated_Node
;
3069 procedure Set_At_End_Proc
3070 (N
: Node_Id
; Val
: Node_Id
) is
3072 pragma Assert
(False
3073 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3075 end Set_At_End_Proc
;
3077 procedure Set_Attribute_Name
3078 (N
: Node_Id
; Val
: Name_Id
) is
3080 pragma Assert
(False
3081 or else NT
(N
).Nkind
= N_Attribute_Reference
);
3083 end Set_Attribute_Name
;
3085 procedure Set_Aux_Decls_Node
3086 (N
: Node_Id
; Val
: Node_Id
) is
3088 pragma Assert
(False
3089 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3090 Set_Node5_With_Parent
(N
, Val
);
3091 end Set_Aux_Decls_Node
;
3093 procedure Set_Backwards_OK
3094 (N
: Node_Id
; Val
: Boolean := True) is
3096 pragma Assert
(False
3097 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3099 end Set_Backwards_OK
;
3101 procedure Set_Bad_Is_Detected
3102 (N
: Node_Id
; Val
: Boolean := True) is
3104 pragma Assert
(False
3105 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3106 Set_Flag15
(N
, Val
);
3107 end Set_Bad_Is_Detected
;
3109 procedure Set_Body_Required
3110 (N
: Node_Id
; Val
: Boolean := True) is
3112 pragma Assert
(False
3113 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3114 Set_Flag13
(N
, Val
);
3115 end Set_Body_Required
;
3117 procedure Set_Body_To_Inline
3118 (N
: Node_Id
; Val
: Node_Id
) is
3120 pragma Assert
(False
3121 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
3123 end Set_Body_To_Inline
;
3125 procedure Set_Box_Present
3126 (N
: Node_Id
; Val
: Boolean := True) is
3128 pragma Assert
(False
3129 or else NT
(N
).Nkind
= N_Component_Association
3130 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
3131 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
3132 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3133 or else NT
(N
).Nkind
= N_Generic_Association
);
3134 Set_Flag15
(N
, Val
);
3135 end Set_Box_Present
;
3137 procedure Set_By_Ref
3138 (N
: Node_Id
; Val
: Boolean := True) is
3140 pragma Assert
(False
3141 or else NT
(N
).Nkind
= N_Extended_Return_Statement
3142 or else NT
(N
).Nkind
= N_Return_Statement
);
3146 procedure Set_Char_Literal_Value
3147 (N
: Node_Id
; Val
: Uint
) is
3149 pragma Assert
(False
3150 or else NT
(N
).Nkind
= N_Character_Literal
);
3152 end Set_Char_Literal_Value
;
3155 (N
: Node_Id
; Val
: Name_Id
) is
3157 pragma Assert
(False
3158 or else NT
(N
).Nkind
in N_Has_Chars
);
3162 procedure Set_Check_Address_Alignment
3163 (N
: Node_Id
; Val
: Boolean := True) is
3165 pragma Assert
(False
3166 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3167 Set_Flag11
(N
, Val
);
3168 end Set_Check_Address_Alignment
;
3170 procedure Set_Choice_Parameter
3171 (N
: Node_Id
; Val
: Node_Id
) is
3173 pragma Assert
(False
3174 or else NT
(N
).Nkind
= N_Exception_Handler
);
3175 Set_Node2_With_Parent
(N
, Val
);
3176 end Set_Choice_Parameter
;
3178 procedure Set_Choices
3179 (N
: Node_Id
; Val
: List_Id
) is
3181 pragma Assert
(False
3182 or else NT
(N
).Nkind
= N_Component_Association
);
3183 Set_List1_With_Parent
(N
, Val
);
3186 procedure Set_Coextensions
3187 (N
: Node_Id
; Val
: Elist_Id
) is
3189 pragma Assert
(False
3190 or else NT
(N
).Nkind
= N_Allocator
);
3191 Set_Elist4
(N
, Val
);
3192 end Set_Coextensions
;
3194 procedure Set_Comes_From_Extended_Return_Statement
3195 (N
: Node_Id
; Val
: Boolean := True) is
3197 pragma Assert
(False
3198 or else NT
(N
).Nkind
= N_Return_Statement
);
3199 Set_Flag18
(N
, Val
);
3200 end Set_Comes_From_Extended_Return_Statement
;
3202 procedure Set_Compile_Time_Known_Aggregate
3203 (N
: Node_Id
; Val
: Boolean := True) is
3205 pragma Assert
(False
3206 or else NT
(N
).Nkind
= N_Aggregate
);
3207 Set_Flag18
(N
, Val
);
3208 end Set_Compile_Time_Known_Aggregate
;
3210 procedure Set_Component_Associations
3211 (N
: Node_Id
; Val
: List_Id
) is
3213 pragma Assert
(False
3214 or else NT
(N
).Nkind
= N_Aggregate
3215 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3216 Set_List2_With_Parent
(N
, Val
);
3217 end Set_Component_Associations
;
3219 procedure Set_Component_Clauses
3220 (N
: Node_Id
; Val
: List_Id
) is
3222 pragma Assert
(False
3223 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
3224 Set_List3_With_Parent
(N
, Val
);
3225 end Set_Component_Clauses
;
3227 procedure Set_Component_Definition
3228 (N
: Node_Id
; Val
: Node_Id
) is
3230 pragma Assert
(False
3231 or else NT
(N
).Nkind
= N_Component_Declaration
3232 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
3233 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
3234 Set_Node4_With_Parent
(N
, Val
);
3235 end Set_Component_Definition
;
3237 procedure Set_Component_Items
3238 (N
: Node_Id
; Val
: List_Id
) is
3240 pragma Assert
(False
3241 or else NT
(N
).Nkind
= N_Component_List
);
3242 Set_List3_With_Parent
(N
, Val
);
3243 end Set_Component_Items
;
3245 procedure Set_Component_List
3246 (N
: Node_Id
; Val
: Node_Id
) is
3248 pragma Assert
(False
3249 or else NT
(N
).Nkind
= N_Record_Definition
3250 or else NT
(N
).Nkind
= N_Variant
);
3251 Set_Node1_With_Parent
(N
, Val
);
3252 end Set_Component_List
;
3254 procedure Set_Component_Name
3255 (N
: Node_Id
; Val
: Node_Id
) is
3257 pragma Assert
(False
3258 or else NT
(N
).Nkind
= N_Component_Clause
);
3259 Set_Node1_With_Parent
(N
, Val
);
3260 end Set_Component_Name
;
3262 procedure Set_Condition
3263 (N
: Node_Id
; Val
: Node_Id
) is
3265 pragma Assert
(False
3266 or else NT
(N
).Nkind
= N_Accept_Alternative
3267 or else NT
(N
).Nkind
= N_Delay_Alternative
3268 or else NT
(N
).Nkind
= N_Elsif_Part
3269 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
3270 or else NT
(N
).Nkind
= N_Exit_Statement
3271 or else NT
(N
).Nkind
= N_If_Statement
3272 or else NT
(N
).Nkind
= N_Iteration_Scheme
3273 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
3274 or else NT
(N
).Nkind
= N_Raise_Program_Error
3275 or else NT
(N
).Nkind
= N_Raise_Storage_Error
3276 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
3277 Set_Node1_With_Parent
(N
, Val
);
3280 procedure Set_Condition_Actions
3281 (N
: Node_Id
; Val
: List_Id
) is
3283 pragma Assert
(False
3284 or else NT
(N
).Nkind
= N_Elsif_Part
3285 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
3286 Set_List3
(N
, Val
); -- semantic field, no parent set
3287 end Set_Condition_Actions
;
3289 procedure Set_Config_Pragmas
3290 (N
: Node_Id
; Val
: List_Id
) is
3292 pragma Assert
(False
3293 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
3294 Set_List4_With_Parent
(N
, Val
);
3295 end Set_Config_Pragmas
;
3297 procedure Set_Constant_Present
3298 (N
: Node_Id
; Val
: Boolean := True) is
3300 pragma Assert
(False
3301 or else NT
(N
).Nkind
= N_Access_Definition
3302 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
3303 or else NT
(N
).Nkind
= N_Object_Declaration
);
3304 Set_Flag17
(N
, Val
);
3305 end Set_Constant_Present
;
3307 procedure Set_Constraint
3308 (N
: Node_Id
; Val
: Node_Id
) is
3310 pragma Assert
(False
3311 or else NT
(N
).Nkind
= N_Subtype_Indication
);
3312 Set_Node3_With_Parent
(N
, Val
);
3315 procedure Set_Constraints
3316 (N
: Node_Id
; Val
: List_Id
) is
3318 pragma Assert
(False
3319 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
3320 Set_List1_With_Parent
(N
, Val
);
3321 end Set_Constraints
;
3323 procedure Set_Context_Installed
3324 (N
: Node_Id
; Val
: Boolean := True) is
3326 pragma Assert
(False
3327 or else NT
(N
).Nkind
= N_With_Clause
);
3328 Set_Flag13
(N
, Val
);
3329 end Set_Context_Installed
;
3331 procedure Set_Context_Items
3332 (N
: Node_Id
; Val
: List_Id
) is
3334 pragma Assert
(False
3335 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3336 Set_List1_With_Parent
(N
, Val
);
3337 end Set_Context_Items
;
3339 procedure Set_Controlling_Argument
3340 (N
: Node_Id
; Val
: Node_Id
) is
3342 pragma Assert
(False
3343 or else NT
(N
).Nkind
= N_Function_Call
3344 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3345 Set_Node1
(N
, Val
); -- semantic field, no parent set
3346 end Set_Controlling_Argument
;
3348 procedure Set_Conversion_OK
3349 (N
: Node_Id
; Val
: Boolean := True) is
3351 pragma Assert
(False
3352 or else NT
(N
).Nkind
= N_Type_Conversion
);
3353 Set_Flag14
(N
, Val
);
3354 end Set_Conversion_OK
;
3356 procedure Set_Corresponding_Body
3357 (N
: Node_Id
; Val
: Node_Id
) is
3359 pragma Assert
(False
3360 or else NT
(N
).Nkind
= N_Entry_Declaration
3361 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3362 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
3363 or else NT
(N
).Nkind
= N_Package_Body_Stub
3364 or else NT
(N
).Nkind
= N_Package_Declaration
3365 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3366 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3367 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
3368 or else NT
(N
).Nkind
= N_Subprogram_Declaration
3369 or else NT
(N
).Nkind
= N_Task_Body_Stub
3370 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3371 Set_Node5
(N
, Val
); -- semantic field, no parent set
3372 end Set_Corresponding_Body
;
3374 procedure Set_Corresponding_Formal_Spec
3375 (N
: Node_Id
; Val
: Node_Id
) is
3377 pragma Assert
(False
3378 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
3379 Set_Node3
(N
, Val
); -- semantic field, no parent set
3380 end Set_Corresponding_Formal_Spec
;
3382 procedure Set_Corresponding_Generic_Association
3383 (N
: Node_Id
; Val
: Node_Id
) is
3385 pragma Assert
(False
3386 or else NT
(N
).Nkind
= N_Object_Declaration
3387 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
3388 Set_Node5
(N
, Val
); -- semantic field, no parent set
3389 end Set_Corresponding_Generic_Association
;
3391 procedure Set_Corresponding_Integer_Value
3392 (N
: Node_Id
; Val
: Uint
) is
3394 pragma Assert
(False
3395 or else NT
(N
).Nkind
= N_Real_Literal
);
3396 Set_Uint4
(N
, Val
); -- semantic field, no parent set
3397 end Set_Corresponding_Integer_Value
;
3399 procedure Set_Corresponding_Spec
3400 (N
: Node_Id
; Val
: Node_Id
) is
3402 pragma Assert
(False
3403 or else NT
(N
).Nkind
= N_Package_Body
3404 or else NT
(N
).Nkind
= N_Protected_Body
3405 or else NT
(N
).Nkind
= N_Subprogram_Body
3406 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
3407 or else NT
(N
).Nkind
= N_Task_Body
3408 or else NT
(N
).Nkind
= N_With_Clause
);
3409 Set_Node5
(N
, Val
); -- semantic field, no parent set
3410 end Set_Corresponding_Spec
;
3412 procedure Set_Corresponding_Stub
3413 (N
: Node_Id
; Val
: Node_Id
) is
3415 pragma Assert
(False
3416 or else NT
(N
).Nkind
= N_Subunit
);
3418 end Set_Corresponding_Stub
;
3420 procedure Set_Dcheck_Function
3421 (N
: Node_Id
; Val
: Entity_Id
) is
3423 pragma Assert
(False
3424 or else NT
(N
).Nkind
= N_Variant
);
3425 Set_Node5
(N
, Val
); -- semantic field, no parent set
3426 end Set_Dcheck_Function
;
3428 procedure Set_Debug_Statement
3429 (N
: Node_Id
; Val
: Node_Id
) is
3431 pragma Assert
(False
3432 or else NT
(N
).Nkind
= N_Pragma
);
3433 Set_Node3_With_Parent
(N
, Val
);
3434 end Set_Debug_Statement
;
3436 procedure Set_Declarations
3437 (N
: Node_Id
; Val
: List_Id
) is
3439 pragma Assert
(False
3440 or else NT
(N
).Nkind
= N_Accept_Statement
3441 or else NT
(N
).Nkind
= N_Block_Statement
3442 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
3443 or else NT
(N
).Nkind
= N_Entry_Body
3444 or else NT
(N
).Nkind
= N_Package_Body
3445 or else NT
(N
).Nkind
= N_Protected_Body
3446 or else NT
(N
).Nkind
= N_Subprogram_Body
3447 or else NT
(N
).Nkind
= N_Task_Body
);
3448 Set_List2_With_Parent
(N
, Val
);
3449 end Set_Declarations
;
3451 procedure Set_Default_Expression
3452 (N
: Node_Id
; Val
: Node_Id
) is
3454 pragma Assert
(False
3455 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3456 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3457 Set_Node5
(N
, Val
); -- semantic field, no parent set
3458 end Set_Default_Expression
;
3460 procedure Set_Default_Name
3461 (N
: Node_Id
; Val
: Node_Id
) is
3463 pragma Assert
(False
3464 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
3465 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
);
3466 Set_Node2_With_Parent
(N
, Val
);
3467 end Set_Default_Name
;
3469 procedure Set_Defining_Identifier
3470 (N
: Node_Id
; Val
: Entity_Id
) is
3472 pragma Assert
(False
3473 or else NT
(N
).Nkind
= N_Component_Declaration
3474 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
3475 or else NT
(N
).Nkind
= N_Discriminant_Specification
3476 or else NT
(N
).Nkind
= N_Entry_Body
3477 or else NT
(N
).Nkind
= N_Entry_Declaration
3478 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3479 or else NT
(N
).Nkind
= N_Exception_Declaration
3480 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
3481 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3482 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3483 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3484 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3485 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
3486 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3487 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
3488 or else NT
(N
).Nkind
= N_Number_Declaration
3489 or else NT
(N
).Nkind
= N_Object_Declaration
3490 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
3491 or else NT
(N
).Nkind
= N_Package_Body_Stub
3492 or else NT
(N
).Nkind
= N_Parameter_Specification
3493 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3494 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3495 or else NT
(N
).Nkind
= N_Protected_Body
3496 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3497 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3498 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
3499 or else NT
(N
).Nkind
= N_Single_Task_Declaration
3500 or else NT
(N
).Nkind
= N_Subtype_Declaration
3501 or else NT
(N
).Nkind
= N_Task_Body
3502 or else NT
(N
).Nkind
= N_Task_Body_Stub
3503 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3504 Set_Node1_With_Parent
(N
, Val
);
3505 end Set_Defining_Identifier
;
3507 procedure Set_Defining_Unit_Name
3508 (N
: Node_Id
; Val
: Node_Id
) is
3510 pragma Assert
(False
3511 or else NT
(N
).Nkind
= N_Function_Instantiation
3512 or else NT
(N
).Nkind
= N_Function_Specification
3513 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
3514 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
3515 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
3516 or else NT
(N
).Nkind
= N_Package_Body
3517 or else NT
(N
).Nkind
= N_Package_Instantiation
3518 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
3519 or else NT
(N
).Nkind
= N_Package_Specification
3520 or else NT
(N
).Nkind
= N_Procedure_Instantiation
3521 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3522 Set_Node1_With_Parent
(N
, Val
);
3523 end Set_Defining_Unit_Name
;
3525 procedure Set_Delay_Alternative
3526 (N
: Node_Id
; Val
: Node_Id
) is
3528 pragma Assert
(False
3529 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3530 Set_Node4_With_Parent
(N
, Val
);
3531 end Set_Delay_Alternative
;
3533 procedure Set_Delay_Statement
3534 (N
: Node_Id
; Val
: Node_Id
) is
3536 pragma Assert
(False
3537 or else NT
(N
).Nkind
= N_Delay_Alternative
);
3538 Set_Node2_With_Parent
(N
, Val
);
3539 end Set_Delay_Statement
;
3541 procedure Set_Delta_Expression
3542 (N
: Node_Id
; Val
: Node_Id
) is
3544 pragma Assert
(False
3545 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3546 or else NT
(N
).Nkind
= N_Delta_Constraint
3547 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
3548 Set_Node3_With_Parent
(N
, Val
);
3549 end Set_Delta_Expression
;
3551 procedure Set_Digits_Expression
3552 (N
: Node_Id
; Val
: Node_Id
) is
3554 pragma Assert
(False
3555 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3556 or else NT
(N
).Nkind
= N_Digits_Constraint
3557 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
3558 Set_Node2_With_Parent
(N
, Val
);
3559 end Set_Digits_Expression
;
3561 procedure Set_Discr_Check_Funcs_Built
3562 (N
: Node_Id
; Val
: Boolean := True) is
3564 pragma Assert
(False
3565 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
3566 Set_Flag11
(N
, Val
);
3567 end Set_Discr_Check_Funcs_Built
;
3569 procedure Set_Discrete_Choices
3570 (N
: Node_Id
; Val
: List_Id
) is
3572 pragma Assert
(False
3573 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
3574 or else NT
(N
).Nkind
= N_Variant
);
3575 Set_List4_With_Parent
(N
, Val
);
3576 end Set_Discrete_Choices
;
3578 procedure Set_Discrete_Range
3579 (N
: Node_Id
; Val
: Node_Id
) is
3581 pragma Assert
(False
3582 or else NT
(N
).Nkind
= N_Slice
);
3583 Set_Node4_With_Parent
(N
, Val
);
3584 end Set_Discrete_Range
;
3586 procedure Set_Discrete_Subtype_Definition
3587 (N
: Node_Id
; Val
: Node_Id
) is
3589 pragma Assert
(False
3590 or else NT
(N
).Nkind
= N_Entry_Declaration
3591 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3592 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
3593 Set_Node4_With_Parent
(N
, Val
);
3594 end Set_Discrete_Subtype_Definition
;
3596 procedure Set_Discrete_Subtype_Definitions
3597 (N
: Node_Id
; Val
: List_Id
) is
3599 pragma Assert
(False
3600 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
3601 Set_List2_With_Parent
(N
, Val
);
3602 end Set_Discrete_Subtype_Definitions
;
3604 procedure Set_Discriminant_Specifications
3605 (N
: Node_Id
; Val
: List_Id
) is
3607 pragma Assert
(False
3608 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3609 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3610 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3611 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3612 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3613 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3614 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3615 Set_List4_With_Parent
(N
, Val
);
3616 end Set_Discriminant_Specifications
;
3618 procedure Set_Discriminant_Type
3619 (N
: Node_Id
; Val
: Node_Id
) is
3621 pragma Assert
(False
3622 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
3623 Set_Node5_With_Parent
(N
, Val
);
3624 end Set_Discriminant_Type
;
3626 procedure Set_Do_Accessibility_Check
3627 (N
: Node_Id
; Val
: Boolean := True) is
3629 pragma Assert
(False
3630 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3631 Set_Flag13
(N
, Val
);
3632 end Set_Do_Accessibility_Check
;
3634 procedure Set_Do_Discriminant_Check
3635 (N
: Node_Id
; Val
: Boolean := True) is
3637 pragma Assert
(False
3638 or else NT
(N
).Nkind
= N_Selected_Component
);
3639 Set_Flag13
(N
, Val
);
3640 end Set_Do_Discriminant_Check
;
3642 procedure Set_Do_Division_Check
3643 (N
: Node_Id
; Val
: Boolean := True) is
3645 pragma Assert
(False
3646 or else NT
(N
).Nkind
= N_Op_Divide
3647 or else NT
(N
).Nkind
= N_Op_Mod
3648 or else NT
(N
).Nkind
= N_Op_Rem
);
3649 Set_Flag13
(N
, Val
);
3650 end Set_Do_Division_Check
;
3652 procedure Set_Do_Length_Check
3653 (N
: Node_Id
; Val
: Boolean := True) is
3655 pragma Assert
(False
3656 or else NT
(N
).Nkind
= N_Assignment_Statement
3657 or else NT
(N
).Nkind
= N_Op_And
3658 or else NT
(N
).Nkind
= N_Op_Or
3659 or else NT
(N
).Nkind
= N_Op_Xor
3660 or else NT
(N
).Nkind
= N_Type_Conversion
);
3662 end Set_Do_Length_Check
;
3664 procedure Set_Do_Overflow_Check
3665 (N
: Node_Id
; Val
: Boolean := True) is
3667 pragma Assert
(False
3668 or else NT
(N
).Nkind
in N_Op
3669 or else NT
(N
).Nkind
= N_Attribute_Reference
3670 or else NT
(N
).Nkind
= N_Type_Conversion
);
3671 Set_Flag17
(N
, Val
);
3672 end Set_Do_Overflow_Check
;
3674 procedure Set_Do_Range_Check
3675 (N
: Node_Id
; Val
: Boolean := True) is
3677 pragma Assert
(False
3678 or else NT
(N
).Nkind
in N_Subexpr
);
3680 end Set_Do_Range_Check
;
3682 procedure Set_Do_Storage_Check
3683 (N
: Node_Id
; Val
: Boolean := True) is
3685 pragma Assert
(False
3686 or else NT
(N
).Nkind
= N_Allocator
3687 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3688 Set_Flag17
(N
, Val
);
3689 end Set_Do_Storage_Check
;
3691 procedure Set_Do_Tag_Check
3692 (N
: Node_Id
; Val
: Boolean := True) is
3694 pragma Assert
(False
3695 or else NT
(N
).Nkind
= N_Assignment_Statement
3696 or else NT
(N
).Nkind
= N_Extended_Return_Statement
3697 or else NT
(N
).Nkind
= N_Function_Call
3698 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
3699 or else NT
(N
).Nkind
= N_Return_Statement
3700 or else NT
(N
).Nkind
= N_Type_Conversion
);
3701 Set_Flag13
(N
, Val
);
3702 end Set_Do_Tag_Check
;
3704 procedure Set_Elaborate_All_Desirable
3705 (N
: Node_Id
; Val
: Boolean := True) is
3707 pragma Assert
(False
3708 or else NT
(N
).Nkind
= N_With_Clause
);
3710 end Set_Elaborate_All_Desirable
;
3712 procedure Set_Elaborate_All_Present
3713 (N
: Node_Id
; Val
: Boolean := True) is
3715 pragma Assert
(False
3716 or else NT
(N
).Nkind
= N_With_Clause
);
3717 Set_Flag14
(N
, Val
);
3718 end Set_Elaborate_All_Present
;
3720 procedure Set_Elaborate_Desirable
3721 (N
: Node_Id
; Val
: Boolean := True) is
3723 pragma Assert
(False
3724 or else NT
(N
).Nkind
= N_With_Clause
);
3725 Set_Flag11
(N
, Val
);
3726 end Set_Elaborate_Desirable
;
3728 procedure Set_Elaborate_Present
3729 (N
: Node_Id
; Val
: Boolean := True) is
3731 pragma Assert
(False
3732 or else NT
(N
).Nkind
= N_With_Clause
);
3734 end Set_Elaborate_Present
;
3736 procedure Set_Elaboration_Boolean
3737 (N
: Node_Id
; Val
: Node_Id
) is
3739 pragma Assert
(False
3740 or else NT
(N
).Nkind
= N_Function_Specification
3741 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3743 end Set_Elaboration_Boolean
;
3745 procedure Set_Else_Actions
3746 (N
: Node_Id
; Val
: List_Id
) is
3748 pragma Assert
(False
3749 or else NT
(N
).Nkind
= N_Conditional_Expression
);
3750 Set_List3
(N
, Val
); -- semantic field, no parent set
3751 end Set_Else_Actions
;
3753 procedure Set_Else_Statements
3754 (N
: Node_Id
; Val
: List_Id
) is
3756 pragma Assert
(False
3757 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3758 or else NT
(N
).Nkind
= N_If_Statement
3759 or else NT
(N
).Nkind
= N_Selective_Accept
);
3760 Set_List4_With_Parent
(N
, Val
);
3761 end Set_Else_Statements
;
3763 procedure Set_Elsif_Parts
3764 (N
: Node_Id
; Val
: List_Id
) is
3766 pragma Assert
(False
3767 or else NT
(N
).Nkind
= N_If_Statement
);
3768 Set_List3_With_Parent
(N
, Val
);
3769 end Set_Elsif_Parts
;
3771 procedure Set_Enclosing_Variant
3772 (N
: Node_Id
; Val
: Node_Id
) is
3774 pragma Assert
(False
3775 or else NT
(N
).Nkind
= N_Variant
);
3776 Set_Node2
(N
, Val
); -- semantic field, no parent set
3777 end Set_Enclosing_Variant
;
3779 procedure Set_End_Label
3780 (N
: Node_Id
; Val
: Node_Id
) is
3782 pragma Assert
(False
3783 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
3784 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
3785 or else NT
(N
).Nkind
= N_Loop_Statement
3786 or else NT
(N
).Nkind
= N_Package_Specification
3787 or else NT
(N
).Nkind
= N_Protected_Body
3788 or else NT
(N
).Nkind
= N_Protected_Definition
3789 or else NT
(N
).Nkind
= N_Record_Definition
3790 or else NT
(N
).Nkind
= N_Task_Definition
);
3791 Set_Node4_With_Parent
(N
, Val
);
3794 procedure Set_End_Span
3795 (N
: Node_Id
; Val
: Uint
) is
3797 pragma Assert
(False
3798 or else NT
(N
).Nkind
= N_Case_Statement
3799 or else NT
(N
).Nkind
= N_If_Statement
);
3803 procedure Set_Entity
3804 (N
: Node_Id
; Val
: Node_Id
) is
3806 pragma Assert
(False
3807 or else NT
(N
).Nkind
in N_Has_Entity
3808 or else NT
(N
).Nkind
= N_Freeze_Entity
3809 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3810 Set_Node4
(N
, Val
); -- semantic field, no parent set
3813 procedure Set_Entry_Body_Formal_Part
3814 (N
: Node_Id
; Val
: Node_Id
) is
3816 pragma Assert
(False
3817 or else NT
(N
).Nkind
= N_Entry_Body
);
3818 Set_Node5_With_Parent
(N
, Val
);
3819 end Set_Entry_Body_Formal_Part
;
3821 procedure Set_Entry_Call_Alternative
3822 (N
: Node_Id
; Val
: Node_Id
) is
3824 pragma Assert
(False
3825 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3826 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3827 Set_Node1_With_Parent
(N
, Val
);
3828 end Set_Entry_Call_Alternative
;
3830 procedure Set_Entry_Call_Statement
3831 (N
: Node_Id
; Val
: Node_Id
) is
3833 pragma Assert
(False
3834 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
3835 Set_Node1_With_Parent
(N
, Val
);
3836 end Set_Entry_Call_Statement
;
3838 procedure Set_Entry_Direct_Name
3839 (N
: Node_Id
; Val
: Node_Id
) is
3841 pragma Assert
(False
3842 or else NT
(N
).Nkind
= N_Accept_Statement
);
3843 Set_Node1_With_Parent
(N
, Val
);
3844 end Set_Entry_Direct_Name
;
3846 procedure Set_Entry_Index
3847 (N
: Node_Id
; Val
: Node_Id
) is
3849 pragma Assert
(False
3850 or else NT
(N
).Nkind
= N_Accept_Statement
);
3851 Set_Node5_With_Parent
(N
, Val
);
3852 end Set_Entry_Index
;
3854 procedure Set_Entry_Index_Specification
3855 (N
: Node_Id
; Val
: Node_Id
) is
3857 pragma Assert
(False
3858 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
3859 Set_Node4_With_Parent
(N
, Val
);
3860 end Set_Entry_Index_Specification
;
3863 (N
: Node_Id
; Val
: Node_Id
) is
3865 pragma Assert
(False
3866 or else NT
(N
).Nkind
in N_Has_Etype
);
3867 Set_Node5
(N
, Val
); -- semantic field, no parent set
3870 procedure Set_Exception_Choices
3871 (N
: Node_Id
; Val
: List_Id
) is
3873 pragma Assert
(False
3874 or else NT
(N
).Nkind
= N_Exception_Handler
);
3875 Set_List4_With_Parent
(N
, Val
);
3876 end Set_Exception_Choices
;
3878 procedure Set_Exception_Handlers
3879 (N
: Node_Id
; Val
: List_Id
) is
3881 pragma Assert
(False
3882 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3883 Set_List5_With_Parent
(N
, Val
);
3884 end Set_Exception_Handlers
;
3886 procedure Set_Exception_Junk
3887 (N
: Node_Id
; Val
: Boolean := True) is
3889 pragma Assert
(False
3890 or else NT
(N
).Nkind
= N_Block_Statement
3891 or else NT
(N
).Nkind
= N_Goto_Statement
3892 or else NT
(N
).Nkind
= N_Label
3893 or else NT
(N
).Nkind
= N_Object_Declaration
3894 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3896 end Set_Exception_Junk
;
3898 procedure Set_Exception_Label
3899 (N
: Node_Id
; Val
: Node_Id
) is
3901 pragma Assert
(False
3902 or else NT
(N
).Nkind
= N_Exception_Handler
3903 or else NT
(N
).Nkind
= N_Push_Constraint_Error_Label
3904 or else NT
(N
).Nkind
= N_Push_Program_Error_Label
3905 or else NT
(N
).Nkind
= N_Push_Storage_Error_Label
);
3906 Set_Node5
(N
, Val
); -- semantic field, no parent set
3907 end Set_Exception_Label
;
3909 procedure Set_Expansion_Delayed
3910 (N
: Node_Id
; Val
: Boolean := True) is
3912 pragma Assert
(False
3913 or else NT
(N
).Nkind
= N_Aggregate
3914 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3915 Set_Flag11
(N
, Val
);
3916 end Set_Expansion_Delayed
;
3918 procedure Set_Explicit_Actual_Parameter
3919 (N
: Node_Id
; Val
: Node_Id
) is
3921 pragma Assert
(False
3922 or else NT
(N
).Nkind
= N_Parameter_Association
);
3923 Set_Node3_With_Parent
(N
, Val
);
3924 end Set_Explicit_Actual_Parameter
;
3926 procedure Set_Explicit_Generic_Actual_Parameter
3927 (N
: Node_Id
; Val
: Node_Id
) is
3929 pragma Assert
(False
3930 or else NT
(N
).Nkind
= N_Generic_Association
);
3931 Set_Node1_With_Parent
(N
, Val
);
3932 end Set_Explicit_Generic_Actual_Parameter
;
3934 procedure Set_Expression
3935 (N
: Node_Id
; Val
: Node_Id
) is
3937 pragma Assert
(False
3938 or else NT
(N
).Nkind
= N_Allocator
3939 or else NT
(N
).Nkind
= N_Assignment_Statement
3940 or else NT
(N
).Nkind
= N_At_Clause
3941 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
3942 or else NT
(N
).Nkind
= N_Case_Statement
3943 or else NT
(N
).Nkind
= N_Code_Statement
3944 or else NT
(N
).Nkind
= N_Component_Association
3945 or else NT
(N
).Nkind
= N_Component_Declaration
3946 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
3947 or else NT
(N
).Nkind
= N_Delay_Until_Statement
3948 or else NT
(N
).Nkind
= N_Discriminant_Association
3949 or else NT
(N
).Nkind
= N_Discriminant_Specification
3950 or else NT
(N
).Nkind
= N_Exception_Declaration
3951 or else NT
(N
).Nkind
= N_Free_Statement
3952 or else NT
(N
).Nkind
= N_Mod_Clause
3953 or else NT
(N
).Nkind
= N_Modular_Type_Definition
3954 or else NT
(N
).Nkind
= N_Number_Declaration
3955 or else NT
(N
).Nkind
= N_Object_Declaration
3956 or else NT
(N
).Nkind
= N_Parameter_Specification
3957 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
3958 or else NT
(N
).Nkind
= N_Qualified_Expression
3959 or else NT
(N
).Nkind
= N_Raise_Statement
3960 or else NT
(N
).Nkind
= N_Return_Statement
3961 or else NT
(N
).Nkind
= N_Type_Conversion
3962 or else NT
(N
).Nkind
= N_Unchecked_Expression
3963 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
3964 Set_Node3_With_Parent
(N
, Val
);
3967 procedure Set_Expressions
3968 (N
: Node_Id
; Val
: List_Id
) is
3970 pragma Assert
(False
3971 or else NT
(N
).Nkind
= N_Aggregate
3972 or else NT
(N
).Nkind
= N_Attribute_Reference
3973 or else NT
(N
).Nkind
= N_Conditional_Expression
3974 or else NT
(N
).Nkind
= N_Extension_Aggregate
3975 or else NT
(N
).Nkind
= N_Indexed_Component
);
3976 Set_List1_With_Parent
(N
, Val
);
3977 end Set_Expressions
;
3979 procedure Set_First_Bit
3980 (N
: Node_Id
; Val
: Node_Id
) is
3982 pragma Assert
(False
3983 or else NT
(N
).Nkind
= N_Component_Clause
);
3984 Set_Node3_With_Parent
(N
, Val
);
3987 procedure Set_First_Inlined_Subprogram
3988 (N
: Node_Id
; Val
: Entity_Id
) is
3990 pragma Assert
(False
3991 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3992 Set_Node3
(N
, Val
); -- semantic field, no parent set
3993 end Set_First_Inlined_Subprogram
;
3995 procedure Set_First_Name
3996 (N
: Node_Id
; Val
: Boolean := True) is
3998 pragma Assert
(False
3999 or else NT
(N
).Nkind
= N_With_Clause
);
4003 procedure Set_First_Named_Actual
4004 (N
: Node_Id
; Val
: Node_Id
) is
4006 pragma Assert
(False
4007 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4008 or else NT
(N
).Nkind
= N_Function_Call
4009 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4010 Set_Node4
(N
, Val
); -- semantic field, no parent set
4011 end Set_First_Named_Actual
;
4013 procedure Set_First_Real_Statement
4014 (N
: Node_Id
; Val
: Node_Id
) is
4016 pragma Assert
(False
4017 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
4018 Set_Node2
(N
, Val
); -- semantic field, no parent set
4019 end Set_First_Real_Statement
;
4021 procedure Set_First_Subtype_Link
4022 (N
: Node_Id
; Val
: Entity_Id
) is
4024 pragma Assert
(False
4025 or else NT
(N
).Nkind
= N_Freeze_Entity
);
4026 Set_Node5
(N
, Val
); -- semantic field, no parent set
4027 end Set_First_Subtype_Link
;
4029 procedure Set_Float_Truncate
4030 (N
: Node_Id
; Val
: Boolean := True) is
4032 pragma Assert
(False
4033 or else NT
(N
).Nkind
= N_Type_Conversion
);
4034 Set_Flag11
(N
, Val
);
4035 end Set_Float_Truncate
;
4037 procedure Set_Formal_Type_Definition
4038 (N
: Node_Id
; Val
: Node_Id
) is
4040 pragma Assert
(False
4041 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
4042 Set_Node3_With_Parent
(N
, Val
);
4043 end Set_Formal_Type_Definition
;
4045 procedure Set_Forwards_OK
4046 (N
: Node_Id
; Val
: Boolean := True) is
4048 pragma Assert
(False
4049 or else NT
(N
).Nkind
= N_Assignment_Statement
);
4051 end Set_Forwards_OK
;
4053 procedure Set_From_At_End
4054 (N
: Node_Id
; Val
: Boolean := True) is
4056 pragma Assert
(False
4057 or else NT
(N
).Nkind
= N_Raise_Statement
);
4059 end Set_From_At_End
;
4061 procedure Set_From_At_Mod
4062 (N
: Node_Id
; Val
: Boolean := True) is
4064 pragma Assert
(False
4065 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
4067 end Set_From_At_Mod
;
4069 procedure Set_From_Default
4070 (N
: Node_Id
; Val
: Boolean := True) is
4072 pragma Assert
(False
4073 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4075 end Set_From_Default
;
4077 procedure Set_Generic_Associations
4078 (N
: Node_Id
; Val
: List_Id
) is
4080 pragma Assert
(False
4081 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4082 or else NT
(N
).Nkind
= N_Function_Instantiation
4083 or else NT
(N
).Nkind
= N_Package_Instantiation
4084 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
4085 Set_List3_With_Parent
(N
, Val
);
4086 end Set_Generic_Associations
;
4088 procedure Set_Generic_Formal_Declarations
4089 (N
: Node_Id
; Val
: List_Id
) is
4091 pragma Assert
(False
4092 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4093 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
4094 Set_List2_With_Parent
(N
, Val
);
4095 end Set_Generic_Formal_Declarations
;
4097 procedure Set_Generic_Parent
4098 (N
: Node_Id
; Val
: Node_Id
) is
4100 pragma Assert
(False
4101 or else NT
(N
).Nkind
= N_Function_Specification
4102 or else NT
(N
).Nkind
= N_Package_Specification
4103 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4105 end Set_Generic_Parent
;
4107 procedure Set_Generic_Parent_Type
4108 (N
: Node_Id
; Val
: Node_Id
) is
4110 pragma Assert
(False
4111 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4113 end Set_Generic_Parent_Type
;
4115 procedure Set_Handled_Statement_Sequence
4116 (N
: Node_Id
; Val
: Node_Id
) is
4118 pragma Assert
(False
4119 or else NT
(N
).Nkind
= N_Accept_Statement
4120 or else NT
(N
).Nkind
= N_Block_Statement
4121 or else NT
(N
).Nkind
= N_Entry_Body
4122 or else NT
(N
).Nkind
= N_Extended_Return_Statement
4123 or else NT
(N
).Nkind
= N_Package_Body
4124 or else NT
(N
).Nkind
= N_Subprogram_Body
4125 or else NT
(N
).Nkind
= N_Task_Body
);
4126 Set_Node4_With_Parent
(N
, Val
);
4127 end Set_Handled_Statement_Sequence
;
4129 procedure Set_Handler_List_Entry
4130 (N
: Node_Id
; Val
: Node_Id
) is
4132 pragma Assert
(False
4133 or else NT
(N
).Nkind
= N_Object_Declaration
);
4135 end Set_Handler_List_Entry
;
4137 procedure Set_Has_Created_Identifier
4138 (N
: Node_Id
; Val
: Boolean := True) is
4140 pragma Assert
(False
4141 or else NT
(N
).Nkind
= N_Block_Statement
4142 or else NT
(N
).Nkind
= N_Loop_Statement
);
4143 Set_Flag15
(N
, Val
);
4144 end Set_Has_Created_Identifier
;
4146 procedure Set_Has_Dynamic_Length_Check
4147 (N
: Node_Id
; Val
: Boolean := True) is
4149 Set_Flag10
(N
, Val
);
4150 end Set_Has_Dynamic_Length_Check
;
4152 procedure Set_Has_Dynamic_Range_Check
4153 (N
: Node_Id
; Val
: Boolean := True) is
4155 Set_Flag12
(N
, Val
);
4156 end Set_Has_Dynamic_Range_Check
;
4158 procedure Set_Has_Init_Expression
4159 (N
: Node_Id
; Val
: Boolean := True) is
4161 pragma Assert
(False
4162 or else NT
(N
).Nkind
= N_Object_Declaration
);
4163 Set_Flag14
(N
, Val
);
4164 end Set_Has_Init_Expression
;
4166 procedure Set_Has_Local_Raise
4167 (N
: Node_Id
; Val
: Boolean := True) is
4169 pragma Assert
(False
4170 or else NT
(N
).Nkind
= N_Exception_Handler
);
4172 end Set_Has_Local_Raise
;
4174 procedure Set_Has_No_Elaboration_Code
4175 (N
: Node_Id
; Val
: Boolean := True) is
4177 pragma Assert
(False
4178 or else NT
(N
).Nkind
= N_Compilation_Unit
);
4179 Set_Flag17
(N
, Val
);
4180 end Set_Has_No_Elaboration_Code
;
4182 procedure Set_Has_Priority_Pragma
4183 (N
: Node_Id
; Val
: Boolean := True) is
4185 pragma Assert
(False
4186 or else NT
(N
).Nkind
= N_Protected_Definition
4187 or else NT
(N
).Nkind
= N_Subprogram_Body
4188 or else NT
(N
).Nkind
= N_Task_Definition
);
4190 end Set_Has_Priority_Pragma
;
4192 procedure Set_Has_Private_View
4193 (N
: Node_Id
; Val
: Boolean := True) is
4195 pragma Assert
(False
4196 or else NT
(N
).Nkind
in N_Op
4197 or else NT
(N
).Nkind
= N_Character_Literal
4198 or else NT
(N
).Nkind
= N_Expanded_Name
4199 or else NT
(N
).Nkind
= N_Identifier
4200 or else NT
(N
).Nkind
= N_Operator_Symbol
);
4201 Set_Flag11
(N
, Val
);
4202 end Set_Has_Private_View
;
4204 procedure Set_Has_Relative_Deadline_Pragma
4205 (N
: Node_Id
; Val
: Boolean := True) is
4207 pragma Assert
(False
4208 or else NT
(N
).Nkind
= N_Subprogram_Body
4209 or else NT
(N
).Nkind
= N_Task_Definition
);
4211 end Set_Has_Relative_Deadline_Pragma
;
4213 procedure Set_Has_Self_Reference
4214 (N
: Node_Id
; Val
: Boolean := True) is
4216 pragma Assert
(False
4217 or else NT
(N
).Nkind
= N_Aggregate
4218 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4219 Set_Flag13
(N
, Val
);
4220 end Set_Has_Self_Reference
;
4222 procedure Set_Has_Storage_Size_Pragma
4223 (N
: Node_Id
; Val
: Boolean := True) is
4225 pragma Assert
(False
4226 or else NT
(N
).Nkind
= N_Task_Definition
);
4228 end Set_Has_Storage_Size_Pragma
;
4230 procedure Set_Has_Task_Info_Pragma
4231 (N
: Node_Id
; Val
: Boolean := True) is
4233 pragma Assert
(False
4234 or else NT
(N
).Nkind
= N_Task_Definition
);
4236 end Set_Has_Task_Info_Pragma
;
4238 procedure Set_Has_Task_Name_Pragma
4239 (N
: Node_Id
; Val
: Boolean := True) is
4241 pragma Assert
(False
4242 or else NT
(N
).Nkind
= N_Task_Definition
);
4244 end Set_Has_Task_Name_Pragma
;
4246 procedure Set_Has_Wide_Character
4247 (N
: Node_Id
; Val
: Boolean := True) is
4249 pragma Assert
(False
4250 or else NT
(N
).Nkind
= N_String_Literal
);
4251 Set_Flag11
(N
, Val
);
4252 end Set_Has_Wide_Character
;
4254 procedure Set_Hidden_By_Use_Clause
4255 (N
: Node_Id
; Val
: Elist_Id
) is
4257 pragma Assert
(False
4258 or else NT
(N
).Nkind
= N_Use_Package_Clause
4259 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4260 Set_Elist4
(N
, Val
);
4261 end Set_Hidden_By_Use_Clause
;
4263 procedure Set_High_Bound
4264 (N
: Node_Id
; Val
: Node_Id
) is
4266 pragma Assert
(False
4267 or else NT
(N
).Nkind
= N_Range
4268 or else NT
(N
).Nkind
= N_Real_Range_Specification
4269 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4270 Set_Node2_With_Parent
(N
, Val
);
4273 procedure Set_Identifier
4274 (N
: Node_Id
; Val
: Node_Id
) is
4276 pragma Assert
(False
4277 or else NT
(N
).Nkind
= N_At_Clause
4278 or else NT
(N
).Nkind
= N_Block_Statement
4279 or else NT
(N
).Nkind
= N_Designator
4280 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4281 or else NT
(N
).Nkind
= N_Label
4282 or else NT
(N
).Nkind
= N_Loop_Statement
4283 or else NT
(N
).Nkind
= N_Record_Representation_Clause
4284 or else NT
(N
).Nkind
= N_Subprogram_Info
);
4285 Set_Node1_With_Parent
(N
, Val
);
4288 procedure Set_Implicit_With
4289 (N
: Node_Id
; Val
: Boolean := True) is
4291 pragma Assert
(False
4292 or else NT
(N
).Nkind
= N_With_Clause
);
4293 Set_Flag16
(N
, Val
);
4294 end Set_Implicit_With
;
4296 procedure Set_Interface_List
4297 (N
: Node_Id
; Val
: List_Id
) is
4299 pragma Assert
(False
4300 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4301 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4302 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4303 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
4304 or else NT
(N
).Nkind
= N_Record_Definition
4305 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
4306 or else NT
(N
).Nkind
= N_Single_Task_Declaration
4307 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4308 Set_List2_With_Parent
(N
, Val
);
4309 end Set_Interface_List
;
4311 procedure Set_Interface_Present
4312 (N
: Node_Id
; Val
: Boolean := True) is
4314 pragma Assert
(False
4315 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4316 or else NT
(N
).Nkind
= N_Record_Definition
);
4317 Set_Flag16
(N
, Val
);
4318 end Set_Interface_Present
;
4320 procedure Set_In_Present
4321 (N
: Node_Id
; Val
: Boolean := True) is
4323 pragma Assert
(False
4324 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4325 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4326 Set_Flag15
(N
, Val
);
4329 procedure Set_Includes_Infinities
4330 (N
: Node_Id
; Val
: Boolean := True) is
4332 pragma Assert
(False
4333 or else NT
(N
).Nkind
= N_Range
);
4334 Set_Flag11
(N
, Val
);
4335 end Set_Includes_Infinities
;
4337 procedure Set_Instance_Spec
4338 (N
: Node_Id
; Val
: Node_Id
) is
4340 pragma Assert
(False
4341 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4342 or else NT
(N
).Nkind
= N_Function_Instantiation
4343 or else NT
(N
).Nkind
= N_Package_Instantiation
4344 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
4345 Set_Node5
(N
, Val
); -- semantic field, no Parent set
4346 end Set_Instance_Spec
;
4348 procedure Set_Intval
4349 (N
: Node_Id
; Val
: Uint
) is
4351 pragma Assert
(False
4352 or else NT
(N
).Nkind
= N_Integer_Literal
);
4356 procedure Set_Is_Asynchronous_Call_Block
4357 (N
: Node_Id
; Val
: Boolean := True) is
4359 pragma Assert
(False
4360 or else NT
(N
).Nkind
= N_Block_Statement
);
4362 end Set_Is_Asynchronous_Call_Block
;
4364 procedure Set_Is_Component_Left_Opnd
4365 (N
: Node_Id
; Val
: Boolean := True) is
4367 pragma Assert
(False
4368 or else NT
(N
).Nkind
= N_Op_Concat
);
4369 Set_Flag13
(N
, Val
);
4370 end Set_Is_Component_Left_Opnd
;
4372 procedure Set_Is_Component_Right_Opnd
4373 (N
: Node_Id
; Val
: Boolean := True) is
4375 pragma Assert
(False
4376 or else NT
(N
).Nkind
= N_Op_Concat
);
4377 Set_Flag14
(N
, Val
);
4378 end Set_Is_Component_Right_Opnd
;
4380 procedure Set_Is_Controlling_Actual
4381 (N
: Node_Id
; Val
: Boolean := True) is
4383 pragma Assert
(False
4384 or else NT
(N
).Nkind
in N_Subexpr
);
4385 Set_Flag16
(N
, Val
);
4386 end Set_Is_Controlling_Actual
;
4388 procedure Set_Is_Dynamic_Coextension
4389 (N
: Node_Id
; Val
: Boolean := True) is
4391 pragma Assert
(False
4392 or else NT
(N
).Nkind
= N_Allocator
);
4393 Set_Flag18
(N
, Val
);
4394 end Set_Is_Dynamic_Coextension
;
4396 procedure Set_Is_Entry_Barrier_Function
4397 (N
: Node_Id
; Val
: Boolean := True) is
4399 pragma Assert
(False
4400 or else NT
(N
).Nkind
= N_Subprogram_Body
);
4402 end Set_Is_Entry_Barrier_Function
;
4404 procedure Set_Is_Expanded_Build_In_Place_Call
4405 (N
: Node_Id
; Val
: Boolean := True) is
4407 pragma Assert
(False
4408 or else NT
(N
).Nkind
= N_Function_Call
);
4409 Set_Flag11
(N
, Val
);
4410 end Set_Is_Expanded_Build_In_Place_Call
;
4412 procedure Set_Is_Folded_In_Parser
4413 (N
: Node_Id
; Val
: Boolean := True) is
4415 pragma Assert
(False
4416 or else NT
(N
).Nkind
= N_String_Literal
);
4418 end Set_Is_Folded_In_Parser
;
4420 procedure Set_Is_In_Discriminant_Check
4421 (N
: Node_Id
; Val
: Boolean := True) is
4423 pragma Assert
(False
4424 or else NT
(N
).Nkind
= N_Selected_Component
);
4425 Set_Flag11
(N
, Val
);
4426 end Set_Is_In_Discriminant_Check
;
4428 procedure Set_Is_Machine_Number
4429 (N
: Node_Id
; Val
: Boolean := True) is
4431 pragma Assert
(False
4432 or else NT
(N
).Nkind
= N_Real_Literal
);
4433 Set_Flag11
(N
, Val
);
4434 end Set_Is_Machine_Number
;
4436 procedure Set_Is_Null_Loop
4437 (N
: Node_Id
; Val
: Boolean := True) is
4439 pragma Assert
(False
4440 or else NT
(N
).Nkind
= N_Loop_Statement
);
4441 Set_Flag16
(N
, Val
);
4442 end Set_Is_Null_Loop
;
4444 procedure Set_Is_Overloaded
4445 (N
: Node_Id
; Val
: Boolean := True) is
4447 pragma Assert
(False
4448 or else NT
(N
).Nkind
in N_Subexpr
);
4450 end Set_Is_Overloaded
;
4452 procedure Set_Is_Power_Of_2_For_Shift
4453 (N
: Node_Id
; Val
: Boolean := True) is
4455 pragma Assert
(False
4456 or else NT
(N
).Nkind
= N_Op_Expon
);
4457 Set_Flag13
(N
, Val
);
4458 end Set_Is_Power_Of_2_For_Shift
;
4460 procedure Set_Is_Protected_Subprogram_Body
4461 (N
: Node_Id
; Val
: Boolean := True) is
4463 pragma Assert
(False
4464 or else NT
(N
).Nkind
= N_Subprogram_Body
);
4466 end Set_Is_Protected_Subprogram_Body
;
4468 procedure Set_Is_Static_Coextension
4469 (N
: Node_Id
; Val
: Boolean := True) is
4471 pragma Assert
(False
4472 or else NT
(N
).Nkind
= N_Allocator
);
4473 Set_Flag14
(N
, Val
);
4474 end Set_Is_Static_Coextension
;
4476 procedure Set_Is_Static_Expression
4477 (N
: Node_Id
; Val
: Boolean := True) is
4479 pragma Assert
(False
4480 or else NT
(N
).Nkind
in N_Subexpr
);
4482 end Set_Is_Static_Expression
;
4484 procedure Set_Is_Subprogram_Descriptor
4485 (N
: Node_Id
; Val
: Boolean := True) is
4487 pragma Assert
(False
4488 or else NT
(N
).Nkind
= N_Object_Declaration
);
4489 Set_Flag16
(N
, Val
);
4490 end Set_Is_Subprogram_Descriptor
;
4492 procedure Set_Is_Task_Allocation_Block
4493 (N
: Node_Id
; Val
: Boolean := True) is
4495 pragma Assert
(False
4496 or else NT
(N
).Nkind
= N_Block_Statement
);
4498 end Set_Is_Task_Allocation_Block
;
4500 procedure Set_Is_Task_Master
4501 (N
: Node_Id
; Val
: Boolean := True) is
4503 pragma Assert
(False
4504 or else NT
(N
).Nkind
= N_Block_Statement
4505 or else NT
(N
).Nkind
= N_Subprogram_Body
4506 or else NT
(N
).Nkind
= N_Task_Body
);
4508 end Set_Is_Task_Master
;
4510 procedure Set_Iteration_Scheme
4511 (N
: Node_Id
; Val
: Node_Id
) is
4513 pragma Assert
(False
4514 or else NT
(N
).Nkind
= N_Loop_Statement
);
4515 Set_Node2_With_Parent
(N
, Val
);
4516 end Set_Iteration_Scheme
;
4519 (N
: Node_Id
; Val
: Entity_Id
) is
4521 pragma Assert
(False
4522 or else NT
(N
).Nkind
= N_Itype_Reference
);
4523 Set_Node1
(N
, Val
); -- no parent, semantic field
4526 procedure Set_Kill_Range_Check
4527 (N
: Node_Id
; Val
: Boolean := True) is
4529 pragma Assert
(False
4530 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4531 Set_Flag11
(N
, Val
);
4532 end Set_Kill_Range_Check
;
4534 procedure Set_Label_Construct
4535 (N
: Node_Id
; Val
: Node_Id
) is
4537 pragma Assert
(False
4538 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
4539 Set_Node2
(N
, Val
); -- semantic field, no parent set
4540 end Set_Label_Construct
;
4542 procedure Set_Last_Bit
4543 (N
: Node_Id
; Val
: Node_Id
) is
4545 pragma Assert
(False
4546 or else NT
(N
).Nkind
= N_Component_Clause
);
4547 Set_Node4_With_Parent
(N
, Val
);
4550 procedure Set_Last_Name
4551 (N
: Node_Id
; Val
: Boolean := True) is
4553 pragma Assert
(False
4554 or else NT
(N
).Nkind
= N_With_Clause
);
4558 procedure Set_Left_Opnd
4559 (N
: Node_Id
; Val
: Node_Id
) is
4561 pragma Assert
(False
4562 or else NT
(N
).Nkind
= N_And_Then
4563 or else NT
(N
).Nkind
= N_In
4564 or else NT
(N
).Nkind
= N_Not_In
4565 or else NT
(N
).Nkind
= N_Or_Else
4566 or else NT
(N
).Nkind
in N_Binary_Op
);
4567 Set_Node2_With_Parent
(N
, Val
);
4570 procedure Set_Library_Unit
4571 (N
: Node_Id
; Val
: Node_Id
) is
4573 pragma Assert
(False
4574 or else NT
(N
).Nkind
= N_Compilation_Unit
4575 or else NT
(N
).Nkind
= N_Package_Body_Stub
4576 or else NT
(N
).Nkind
= N_Protected_Body_Stub
4577 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4578 or else NT
(N
).Nkind
= N_Task_Body_Stub
4579 or else NT
(N
).Nkind
= N_With_Clause
);
4580 Set_Node4
(N
, Val
); -- semantic field, no parent set
4581 end Set_Library_Unit
;
4583 procedure Set_Limited_View_Installed
4584 (N
: Node_Id
; Val
: Boolean := True) is
4586 pragma Assert
(False
4587 or else NT
(N
).Nkind
= N_Package_Specification
4588 or else NT
(N
).Nkind
= N_With_Clause
);
4589 Set_Flag18
(N
, Val
);
4590 end Set_Limited_View_Installed
;
4592 procedure Set_Limited_Present
4593 (N
: Node_Id
; Val
: Boolean := True) is
4595 pragma Assert
(False
4596 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4597 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4598 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
4599 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4600 or else NT
(N
).Nkind
= N_Private_Type_Declaration
4601 or else NT
(N
).Nkind
= N_Record_Definition
4602 or else NT
(N
).Nkind
= N_With_Clause
);
4603 Set_Flag17
(N
, Val
);
4604 end Set_Limited_Present
;
4606 procedure Set_Literals
4607 (N
: Node_Id
; Val
: List_Id
) is
4609 pragma Assert
(False
4610 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
4611 Set_List1_With_Parent
(N
, Val
);
4614 procedure Set_Local_Raise_Not_OK
4615 (N
: Node_Id
; Val
: Boolean := True) is
4617 pragma Assert
(False
4618 or else NT
(N
).Nkind
= N_Exception_Handler
);
4620 end Set_Local_Raise_Not_OK
;
4622 procedure Set_Local_Raise_Statements
4623 (N
: Node_Id
; Val
: Elist_Id
) is
4625 pragma Assert
(False
4626 or else NT
(N
).Nkind
= N_Exception_Handler
);
4627 Set_Elist1
(N
, Val
);
4628 end Set_Local_Raise_Statements
;
4630 procedure Set_Loop_Actions
4631 (N
: Node_Id
; Val
: List_Id
) is
4633 pragma Assert
(False
4634 or else NT
(N
).Nkind
= N_Component_Association
);
4635 Set_List2
(N
, Val
); -- semantic field, no parent set
4636 end Set_Loop_Actions
;
4638 procedure Set_Loop_Parameter_Specification
4639 (N
: Node_Id
; Val
: Node_Id
) is
4641 pragma Assert
(False
4642 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
4643 Set_Node4_With_Parent
(N
, Val
);
4644 end Set_Loop_Parameter_Specification
;
4646 procedure Set_Low_Bound
4647 (N
: Node_Id
; Val
: Node_Id
) is
4649 pragma Assert
(False
4650 or else NT
(N
).Nkind
= N_Range
4651 or else NT
(N
).Nkind
= N_Real_Range_Specification
4652 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4653 Set_Node1_With_Parent
(N
, Val
);
4656 procedure Set_Mod_Clause
4657 (N
: Node_Id
; Val
: Node_Id
) is
4659 pragma Assert
(False
4660 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4661 Set_Node2_With_Parent
(N
, Val
);
4664 procedure Set_More_Ids
4665 (N
: Node_Id
; Val
: Boolean := True) is
4667 pragma Assert
(False
4668 or else NT
(N
).Nkind
= N_Component_Declaration
4669 or else NT
(N
).Nkind
= N_Discriminant_Specification
4670 or else NT
(N
).Nkind
= N_Exception_Declaration
4671 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4672 or else NT
(N
).Nkind
= N_Number_Declaration
4673 or else NT
(N
).Nkind
= N_Object_Declaration
4674 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4678 procedure Set_Must_Be_Byte_Aligned
4679 (N
: Node_Id
; Val
: Boolean := True) is
4681 pragma Assert
(False
4682 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4683 Set_Flag14
(N
, Val
);
4684 end Set_Must_Be_Byte_Aligned
;
4686 procedure Set_Must_Not_Freeze
4687 (N
: Node_Id
; Val
: Boolean := True) is
4689 pragma Assert
(False
4690 or else NT
(N
).Nkind
= N_Subtype_Indication
4691 or else NT
(N
).Nkind
in N_Subexpr
);
4693 end Set_Must_Not_Freeze
;
4695 procedure Set_Must_Not_Override
4696 (N
: Node_Id
; Val
: Boolean := True) is
4698 pragma Assert
(False
4699 or else NT
(N
).Nkind
= N_Entry_Declaration
4700 or else NT
(N
).Nkind
= N_Function_Instantiation
4701 or else NT
(N
).Nkind
= N_Function_Specification
4702 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4703 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4704 Set_Flag15
(N
, Val
);
4705 end Set_Must_Not_Override
;
4707 procedure Set_Must_Override
4708 (N
: Node_Id
; Val
: Boolean := True) is
4710 pragma Assert
(False
4711 or else NT
(N
).Nkind
= N_Entry_Declaration
4712 or else NT
(N
).Nkind
= N_Function_Instantiation
4713 or else NT
(N
).Nkind
= N_Function_Specification
4714 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4715 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4716 Set_Flag14
(N
, Val
);
4717 end Set_Must_Override
;
4720 (N
: Node_Id
; Val
: Node_Id
) is
4722 pragma Assert
(False
4723 or else NT
(N
).Nkind
= N_Assignment_Statement
4724 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4725 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
4726 or else NT
(N
).Nkind
= N_Designator
4727 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4728 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
4729 or else NT
(N
).Nkind
= N_Exit_Statement
4730 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4731 or else NT
(N
).Nkind
= N_Function_Call
4732 or else NT
(N
).Nkind
= N_Function_Instantiation
4733 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4734 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4735 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4736 or else NT
(N
).Nkind
= N_Goto_Statement
4737 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4738 or else NT
(N
).Nkind
= N_Package_Instantiation
4739 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4740 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
4741 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4742 or else NT
(N
).Nkind
= N_Raise_Statement
4743 or else NT
(N
).Nkind
= N_Requeue_Statement
4744 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
4745 or else NT
(N
).Nkind
= N_Subunit
4746 or else NT
(N
).Nkind
= N_Variant_Part
4747 or else NT
(N
).Nkind
= N_With_Clause
);
4748 Set_Node2_With_Parent
(N
, Val
);
4752 (N
: Node_Id
; Val
: List_Id
) is
4754 pragma Assert
(False
4755 or else NT
(N
).Nkind
= N_Abort_Statement
4756 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
4757 Set_List2_With_Parent
(N
, Val
);
4760 procedure Set_Next_Entity
4761 (N
: Node_Id
; Val
: Node_Id
) is
4763 pragma Assert
(False
4764 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4765 or else NT
(N
).Nkind
= N_Defining_Identifier
4766 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4767 Set_Node2
(N
, Val
); -- semantic field, no parent set
4768 end Set_Next_Entity
;
4770 procedure Set_Next_Implicit_With
4771 (N
: Node_Id
; Val
: Node_Id
) is
4773 pragma Assert
(False
4774 or else NT
(N
).Nkind
= N_With_Clause
);
4775 Set_Node3
(N
, Val
); -- semantic field, no parent set
4776 end Set_Next_Implicit_With
;
4778 procedure Set_Next_Named_Actual
4779 (N
: Node_Id
; Val
: Node_Id
) is
4781 pragma Assert
(False
4782 or else NT
(N
).Nkind
= N_Parameter_Association
);
4783 Set_Node4
(N
, Val
); -- semantic field, no parent set
4784 end Set_Next_Named_Actual
;
4786 procedure Set_Next_Pragma
4787 (N
: Node_Id
; Val
: Node_Id
) is
4789 pragma Assert
(False
4790 or else NT
(N
).Nkind
= N_Pragma
);
4791 Set_Node1
(N
, Val
); -- semantic field, no parent set
4792 end Set_Next_Pragma
;
4794 procedure Set_Next_Rep_Item
4795 (N
: Node_Id
; Val
: Node_Id
) is
4797 pragma Assert
(False
4798 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4799 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4800 or else NT
(N
).Nkind
= N_Pragma
4801 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4802 Set_Node5
(N
, Val
); -- semantic field, no parent set
4803 end Set_Next_Rep_Item
;
4805 procedure Set_Next_Use_Clause
4806 (N
: Node_Id
; Val
: Node_Id
) is
4808 pragma Assert
(False
4809 or else NT
(N
).Nkind
= N_Use_Package_Clause
4810 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4811 Set_Node3
(N
, Val
); -- semantic field, no parent set
4812 end Set_Next_Use_Clause
;
4814 procedure Set_No_Ctrl_Actions
4815 (N
: Node_Id
; Val
: Boolean := True) is
4817 pragma Assert
(False
4818 or else NT
(N
).Nkind
= N_Assignment_Statement
);
4820 end Set_No_Ctrl_Actions
;
4822 procedure Set_No_Elaboration_Check
4823 (N
: Node_Id
; Val
: Boolean := True) is
4825 pragma Assert
(False
4826 or else NT
(N
).Nkind
= N_Function_Call
4827 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4828 Set_Flag14
(N
, Val
);
4829 end Set_No_Elaboration_Check
;
4831 procedure Set_No_Entities_Ref_In_Spec
4832 (N
: Node_Id
; Val
: Boolean := True) is
4834 pragma Assert
(False
4835 or else NT
(N
).Nkind
= N_With_Clause
);
4837 end Set_No_Entities_Ref_In_Spec
;
4839 procedure Set_No_Initialization
4840 (N
: Node_Id
; Val
: Boolean := True) is
4842 pragma Assert
(False
4843 or else NT
(N
).Nkind
= N_Allocator
4844 or else NT
(N
).Nkind
= N_Object_Declaration
);
4845 Set_Flag13
(N
, Val
);
4846 end Set_No_Initialization
;
4848 procedure Set_No_Truncation
4849 (N
: Node_Id
; Val
: Boolean := True) is
4851 pragma Assert
(False
4852 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4853 Set_Flag17
(N
, Val
);
4854 end Set_No_Truncation
;
4856 procedure Set_Null_Present
4857 (N
: Node_Id
; Val
: Boolean := True) is
4859 pragma Assert
(False
4860 or else NT
(N
).Nkind
= N_Component_List
4861 or else NT
(N
).Nkind
= N_Procedure_Specification
4862 or else NT
(N
).Nkind
= N_Record_Definition
);
4863 Set_Flag13
(N
, Val
);
4864 end Set_Null_Present
;
4866 procedure Set_Null_Exclusion_Present
4867 (N
: Node_Id
; Val
: Boolean := True) is
4869 pragma Assert
(False
4870 or else NT
(N
).Nkind
= N_Access_Definition
4871 or else NT
(N
).Nkind
= N_Access_Function_Definition
4872 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4873 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
4874 or else NT
(N
).Nkind
= N_Allocator
4875 or else NT
(N
).Nkind
= N_Component_Definition
4876 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4877 or else NT
(N
).Nkind
= N_Discriminant_Specification
4878 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4879 or else NT
(N
).Nkind
= N_Function_Specification
4880 or else NT
(N
).Nkind
= N_Object_Declaration
4881 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4882 or else NT
(N
).Nkind
= N_Parameter_Specification
4883 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4884 Set_Flag11
(N
, Val
);
4885 end Set_Null_Exclusion_Present
;
4887 procedure Set_Null_Exclusion_In_Return_Present
4888 (N
: Node_Id
; Val
: Boolean := True) is
4890 pragma Assert
(False
4891 or else NT
(N
).Nkind
= N_Access_Function_Definition
);
4892 Set_Flag14
(N
, Val
);
4893 end Set_Null_Exclusion_In_Return_Present
;
4895 procedure Set_Null_Record_Present
4896 (N
: Node_Id
; Val
: Boolean := True) is
4898 pragma Assert
(False
4899 or else NT
(N
).Nkind
= N_Aggregate
4900 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4901 Set_Flag17
(N
, Val
);
4902 end Set_Null_Record_Present
;
4904 procedure Set_Object_Definition
4905 (N
: Node_Id
; Val
: Node_Id
) is
4907 pragma Assert
(False
4908 or else NT
(N
).Nkind
= N_Object_Declaration
);
4909 Set_Node4_With_Parent
(N
, Val
);
4910 end Set_Object_Definition
;
4912 procedure Set_Original_Discriminant
4913 (N
: Node_Id
; Val
: Node_Id
) is
4915 pragma Assert
(False
4916 or else NT
(N
).Nkind
= N_Identifier
);
4917 Set_Node2
(N
, Val
); -- semantic field, no parent set
4918 end Set_Original_Discriminant
;
4920 procedure Set_Original_Entity
4921 (N
: Node_Id
; Val
: Entity_Id
) is
4923 pragma Assert
(False
4924 or else NT
(N
).Nkind
= N_Integer_Literal
4925 or else NT
(N
).Nkind
= N_Real_Literal
);
4926 Set_Node2
(N
, Val
); -- semantic field, no parent set
4927 end Set_Original_Entity
;
4929 procedure Set_Others_Discrete_Choices
4930 (N
: Node_Id
; Val
: List_Id
) is
4932 pragma Assert
(False
4933 or else NT
(N
).Nkind
= N_Others_Choice
);
4934 Set_List1_With_Parent
(N
, Val
);
4935 end Set_Others_Discrete_Choices
;
4937 procedure Set_Out_Present
4938 (N
: Node_Id
; Val
: Boolean := True) is
4940 pragma Assert
(False
4941 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4942 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4943 Set_Flag17
(N
, Val
);
4944 end Set_Out_Present
;
4946 procedure Set_Parameter_Associations
4947 (N
: Node_Id
; Val
: List_Id
) is
4949 pragma Assert
(False
4950 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4951 or else NT
(N
).Nkind
= N_Function_Call
4952 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4953 Set_List3_With_Parent
(N
, Val
);
4954 end Set_Parameter_Associations
;
4956 procedure Set_Parameter_List_Truncated
4957 (N
: Node_Id
; Val
: Boolean := True) is
4959 pragma Assert
(False
4960 or else NT
(N
).Nkind
= N_Function_Call
4961 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4962 Set_Flag17
(N
, Val
);
4963 end Set_Parameter_List_Truncated
;
4965 procedure Set_Parameter_Specifications
4966 (N
: Node_Id
; Val
: List_Id
) is
4968 pragma Assert
(False
4969 or else NT
(N
).Nkind
= N_Accept_Statement
4970 or else NT
(N
).Nkind
= N_Access_Function_Definition
4971 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4972 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
4973 or else NT
(N
).Nkind
= N_Entry_Declaration
4974 or else NT
(N
).Nkind
= N_Function_Specification
4975 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4976 Set_List3_With_Parent
(N
, Val
);
4977 end Set_Parameter_Specifications
;
4979 procedure Set_Parameter_Type
4980 (N
: Node_Id
; Val
: Node_Id
) is
4982 pragma Assert
(False
4983 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4984 Set_Node2_With_Parent
(N
, Val
);
4985 end Set_Parameter_Type
;
4987 procedure Set_Parent_Spec
4988 (N
: Node_Id
; Val
: Node_Id
) is
4990 pragma Assert
(False
4991 or else NT
(N
).Nkind
= N_Function_Instantiation
4992 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4993 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4994 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4995 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4996 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4997 or else NT
(N
).Nkind
= N_Package_Declaration
4998 or else NT
(N
).Nkind
= N_Package_Instantiation
4999 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
5000 or else NT
(N
).Nkind
= N_Procedure_Instantiation
5001 or else NT
(N
).Nkind
= N_Subprogram_Declaration
5002 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
5003 Set_Node4
(N
, Val
); -- semantic field, no parent set
5004 end Set_Parent_Spec
;
5006 procedure Set_PPC_Enabled
5007 (N
: Node_Id
; Val
: Boolean := True) is
5009 pragma Assert
(False
5010 or else NT
(N
).Nkind
= N_Pragma
);
5012 end Set_PPC_Enabled
;
5014 procedure Set_Position
5015 (N
: Node_Id
; Val
: Node_Id
) is
5017 pragma Assert
(False
5018 or else NT
(N
).Nkind
= N_Component_Clause
);
5019 Set_Node2_With_Parent
(N
, Val
);
5022 procedure Set_Pragma_Argument_Associations
5023 (N
: Node_Id
; Val
: List_Id
) is
5025 pragma Assert
(False
5026 or else NT
(N
).Nkind
= N_Pragma
);
5027 Set_List2_With_Parent
(N
, Val
);
5028 end Set_Pragma_Argument_Associations
;
5030 procedure Set_Pragma_Identifier
5031 (N
: Node_Id
; Val
: Node_Id
) is
5033 pragma Assert
(False
5034 or else NT
(N
).Nkind
= N_Pragma
);
5035 Set_Node4_With_Parent
(N
, Val
);
5036 end Set_Pragma_Identifier
;
5038 procedure Set_Pragmas_After
5039 (N
: Node_Id
; Val
: List_Id
) is
5041 pragma Assert
(False
5042 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
5043 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
5044 Set_List5_With_Parent
(N
, Val
);
5045 end Set_Pragmas_After
;
5047 procedure Set_Pragmas_Before
5048 (N
: Node_Id
; Val
: List_Id
) is
5050 pragma Assert
(False
5051 or else NT
(N
).Nkind
= N_Accept_Alternative
5052 or else NT
(N
).Nkind
= N_Delay_Alternative
5053 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
5054 or else NT
(N
).Nkind
= N_Mod_Clause
5055 or else NT
(N
).Nkind
= N_Terminate_Alternative
5056 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5057 Set_List4_With_Parent
(N
, Val
);
5058 end Set_Pragmas_Before
;
5060 procedure Set_Prefix
5061 (N
: Node_Id
; Val
: Node_Id
) is
5063 pragma Assert
(False
5064 or else NT
(N
).Nkind
= N_Attribute_Reference
5065 or else NT
(N
).Nkind
= N_Expanded_Name
5066 or else NT
(N
).Nkind
= N_Explicit_Dereference
5067 or else NT
(N
).Nkind
= N_Indexed_Component
5068 or else NT
(N
).Nkind
= N_Reference
5069 or else NT
(N
).Nkind
= N_Selected_Component
5070 or else NT
(N
).Nkind
= N_Slice
);
5071 Set_Node3_With_Parent
(N
, Val
);
5074 procedure Set_Present_Expr
5075 (N
: Node_Id
; Val
: Uint
) is
5077 pragma Assert
(False
5078 or else NT
(N
).Nkind
= N_Variant
);
5080 end Set_Present_Expr
;
5082 procedure Set_Prev_Ids
5083 (N
: Node_Id
; Val
: Boolean := True) is
5085 pragma Assert
(False
5086 or else NT
(N
).Nkind
= N_Component_Declaration
5087 or else NT
(N
).Nkind
= N_Discriminant_Specification
5088 or else NT
(N
).Nkind
= N_Exception_Declaration
5089 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5090 or else NT
(N
).Nkind
= N_Number_Declaration
5091 or else NT
(N
).Nkind
= N_Object_Declaration
5092 or else NT
(N
).Nkind
= N_Parameter_Specification
);
5096 procedure Set_Print_In_Hex
5097 (N
: Node_Id
; Val
: Boolean := True) is
5099 pragma Assert
(False
5100 or else NT
(N
).Nkind
= N_Integer_Literal
);
5101 Set_Flag13
(N
, Val
);
5102 end Set_Print_In_Hex
;
5104 procedure Set_Private_Declarations
5105 (N
: Node_Id
; Val
: List_Id
) is
5107 pragma Assert
(False
5108 or else NT
(N
).Nkind
= N_Package_Specification
5109 or else NT
(N
).Nkind
= N_Protected_Definition
5110 or else NT
(N
).Nkind
= N_Task_Definition
);
5111 Set_List3_With_Parent
(N
, Val
);
5112 end Set_Private_Declarations
;
5114 procedure Set_Private_Present
5115 (N
: Node_Id
; Val
: Boolean := True) is
5117 pragma Assert
(False
5118 or else NT
(N
).Nkind
= N_Compilation_Unit
5119 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5120 or else NT
(N
).Nkind
= N_With_Clause
);
5121 Set_Flag15
(N
, Val
);
5122 end Set_Private_Present
;
5124 procedure Set_Procedure_To_Call
5125 (N
: Node_Id
; Val
: Node_Id
) is
5127 pragma Assert
(False
5128 or else NT
(N
).Nkind
= N_Allocator
5129 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5130 or else NT
(N
).Nkind
= N_Free_Statement
5131 or else NT
(N
).Nkind
= N_Return_Statement
);
5132 Set_Node2
(N
, Val
); -- semantic field, no parent set
5133 end Set_Procedure_To_Call
;
5135 procedure Set_Proper_Body
5136 (N
: Node_Id
; Val
: Node_Id
) is
5138 pragma Assert
(False
5139 or else NT
(N
).Nkind
= N_Subunit
);
5140 Set_Node1_With_Parent
(N
, Val
);
5141 end Set_Proper_Body
;
5143 procedure Set_Protected_Definition
5144 (N
: Node_Id
; Val
: Node_Id
) is
5146 pragma Assert
(False
5147 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
5148 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
5149 Set_Node3_With_Parent
(N
, Val
);
5150 end Set_Protected_Definition
;
5152 procedure Set_Protected_Present
5153 (N
: Node_Id
; Val
: Boolean := True) is
5155 pragma Assert
(False
5156 or else NT
(N
).Nkind
= N_Access_Function_Definition
5157 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
5158 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5159 or else NT
(N
).Nkind
= N_Record_Definition
);
5161 end Set_Protected_Present
;
5163 procedure Set_Raises_Constraint_Error
5164 (N
: Node_Id
; Val
: Boolean := True) is
5166 pragma Assert
(False
5167 or else NT
(N
).Nkind
in N_Subexpr
);
5169 end Set_Raises_Constraint_Error
;
5171 procedure Set_Range_Constraint
5172 (N
: Node_Id
; Val
: Node_Id
) is
5174 pragma Assert
(False
5175 or else NT
(N
).Nkind
= N_Delta_Constraint
5176 or else NT
(N
).Nkind
= N_Digits_Constraint
);
5177 Set_Node4_With_Parent
(N
, Val
);
5178 end Set_Range_Constraint
;
5180 procedure Set_Range_Expression
5181 (N
: Node_Id
; Val
: Node_Id
) is
5183 pragma Assert
(False
5184 or else NT
(N
).Nkind
= N_Range_Constraint
);
5185 Set_Node4_With_Parent
(N
, Val
);
5186 end Set_Range_Expression
;
5188 procedure Set_Real_Range_Specification
5189 (N
: Node_Id
; Val
: Node_Id
) is
5191 pragma Assert
(False
5192 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
5193 or else NT
(N
).Nkind
= N_Floating_Point_Definition
5194 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
5195 Set_Node4_With_Parent
(N
, Val
);
5196 end Set_Real_Range_Specification
;
5198 procedure Set_Realval
5199 (N
: Node_Id
; Val
: Ureal
) is
5201 pragma Assert
(False
5202 or else NT
(N
).Nkind
= N_Real_Literal
);
5203 Set_Ureal3
(N
, Val
);
5206 procedure Set_Reason
5207 (N
: Node_Id
; Val
: Uint
) is
5209 pragma Assert
(False
5210 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
5211 or else NT
(N
).Nkind
= N_Raise_Program_Error
5212 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
5216 procedure Set_Record_Extension_Part
5217 (N
: Node_Id
; Val
: Node_Id
) is
5219 pragma Assert
(False
5220 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
5221 Set_Node3_With_Parent
(N
, Val
);
5222 end Set_Record_Extension_Part
;
5224 procedure Set_Redundant_Use
5225 (N
: Node_Id
; Val
: Boolean := True) is
5227 pragma Assert
(False
5228 or else NT
(N
).Nkind
= N_Attribute_Reference
5229 or else NT
(N
).Nkind
= N_Expanded_Name
5230 or else NT
(N
).Nkind
= N_Identifier
);
5231 Set_Flag13
(N
, Val
);
5232 end Set_Redundant_Use
;
5234 procedure Set_Renaming_Exception
5235 (N
: Node_Id
; Val
: Node_Id
) is
5237 pragma Assert
(False
5238 or else NT
(N
).Nkind
= N_Exception_Declaration
);
5240 end Set_Renaming_Exception
;
5242 procedure Set_Result_Definition
5243 (N
: Node_Id
; Val
: Node_Id
) is
5245 pragma Assert
(False
5246 or else NT
(N
).Nkind
= N_Access_Function_Definition
5247 or else NT
(N
).Nkind
= N_Function_Specification
);
5248 Set_Node4_With_Parent
(N
, Val
);
5249 end Set_Result_Definition
;
5251 procedure Set_Return_Object_Declarations
5252 (N
: Node_Id
; Val
: List_Id
) is
5254 pragma Assert
(False
5255 or else NT
(N
).Nkind
= N_Extended_Return_Statement
);
5256 Set_List3_With_Parent
(N
, Val
);
5257 end Set_Return_Object_Declarations
;
5259 procedure Set_Return_Statement_Entity
5260 (N
: Node_Id
; Val
: Node_Id
) is
5262 pragma Assert
(False
5263 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5264 or else NT
(N
).Nkind
= N_Return_Statement
);
5265 Set_Node5
(N
, Val
); -- semantic field, no parent set
5266 end Set_Return_Statement_Entity
;
5268 procedure Set_Reverse_Present
5269 (N
: Node_Id
; Val
: Boolean := True) is
5271 pragma Assert
(False
5272 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
5273 Set_Flag15
(N
, Val
);
5274 end Set_Reverse_Present
;
5276 procedure Set_Right_Opnd
5277 (N
: Node_Id
; Val
: Node_Id
) is
5279 pragma Assert
(False
5280 or else NT
(N
).Nkind
in N_Op
5281 or else NT
(N
).Nkind
= N_And_Then
5282 or else NT
(N
).Nkind
= N_In
5283 or else NT
(N
).Nkind
= N_Not_In
5284 or else NT
(N
).Nkind
= N_Or_Else
);
5285 Set_Node3_With_Parent
(N
, Val
);
5288 procedure Set_Rounded_Result
5289 (N
: Node_Id
; Val
: Boolean := True) is
5291 pragma Assert
(False
5292 or else NT
(N
).Nkind
= N_Op_Divide
5293 or else NT
(N
).Nkind
= N_Op_Multiply
5294 or else NT
(N
).Nkind
= N_Type_Conversion
);
5295 Set_Flag18
(N
, Val
);
5296 end Set_Rounded_Result
;
5299 (N
: Node_Id
; Val
: Node_Id
) is
5301 pragma Assert
(False
5302 or else NT
(N
).Nkind
= N_Defining_Character_Literal
5303 or else NT
(N
).Nkind
= N_Defining_Identifier
5304 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
5305 Set_Node3
(N
, Val
); -- semantic field, no parent set
5308 procedure Set_Select_Alternatives
5309 (N
: Node_Id
; Val
: List_Id
) is
5311 pragma Assert
(False
5312 or else NT
(N
).Nkind
= N_Selective_Accept
);
5313 Set_List1_With_Parent
(N
, Val
);
5314 end Set_Select_Alternatives
;
5316 procedure Set_Selector_Name
5317 (N
: Node_Id
; Val
: Node_Id
) is
5319 pragma Assert
(False
5320 or else NT
(N
).Nkind
= N_Expanded_Name
5321 or else NT
(N
).Nkind
= N_Generic_Association
5322 or else NT
(N
).Nkind
= N_Parameter_Association
5323 or else NT
(N
).Nkind
= N_Selected_Component
);
5324 Set_Node2_With_Parent
(N
, Val
);
5325 end Set_Selector_Name
;
5327 procedure Set_Selector_Names
5328 (N
: Node_Id
; Val
: List_Id
) is
5330 pragma Assert
(False
5331 or else NT
(N
).Nkind
= N_Discriminant_Association
);
5332 Set_List1_With_Parent
(N
, Val
);
5333 end Set_Selector_Names
;
5335 procedure Set_Shift_Count_OK
5336 (N
: Node_Id
; Val
: Boolean := True) is
5338 pragma Assert
(False
5339 or else NT
(N
).Nkind
= N_Op_Rotate_Left
5340 or else NT
(N
).Nkind
= N_Op_Rotate_Right
5341 or else NT
(N
).Nkind
= N_Op_Shift_Left
5342 or else NT
(N
).Nkind
= N_Op_Shift_Right
5343 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
5345 end Set_Shift_Count_OK
;
5347 procedure Set_Source_Type
5348 (N
: Node_Id
; Val
: Entity_Id
) is
5350 pragma Assert
(False
5351 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
5352 Set_Node1
(N
, Val
); -- semantic field, no parent set
5353 end Set_Source_Type
;
5355 procedure Set_Specification
5356 (N
: Node_Id
; Val
: Node_Id
) is
5358 pragma Assert
(False
5359 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
5360 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
5361 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
5362 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
5363 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
5364 or else NT
(N
).Nkind
= N_Package_Declaration
5365 or else NT
(N
).Nkind
= N_Subprogram_Body
5366 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
5367 or else NT
(N
).Nkind
= N_Subprogram_Declaration
5368 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
5369 Set_Node1_With_Parent
(N
, Val
);
5370 end Set_Specification
;
5372 procedure Set_Statements
5373 (N
: Node_Id
; Val
: List_Id
) is
5375 pragma Assert
(False
5376 or else NT
(N
).Nkind
= N_Abortable_Part
5377 or else NT
(N
).Nkind
= N_Accept_Alternative
5378 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
5379 or else NT
(N
).Nkind
= N_Delay_Alternative
5380 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
5381 or else NT
(N
).Nkind
= N_Exception_Handler
5382 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
5383 or else NT
(N
).Nkind
= N_Loop_Statement
5384 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5385 Set_List3_With_Parent
(N
, Val
);
5388 procedure Set_Static_Processing_OK
5389 (N
: Node_Id
; Val
: Boolean) is
5391 pragma Assert
(False
5392 or else NT
(N
).Nkind
= N_Aggregate
);
5394 end Set_Static_Processing_OK
;
5396 procedure Set_Storage_Pool
5397 (N
: Node_Id
; Val
: Node_Id
) is
5399 pragma Assert
(False
5400 or else NT
(N
).Nkind
= N_Allocator
5401 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5402 or else NT
(N
).Nkind
= N_Free_Statement
5403 or else NT
(N
).Nkind
= N_Return_Statement
);
5404 Set_Node1
(N
, Val
); -- semantic field, no parent set
5405 end Set_Storage_Pool
;
5407 procedure Set_Strval
5408 (N
: Node_Id
; Val
: String_Id
) is
5410 pragma Assert
(False
5411 or else NT
(N
).Nkind
= N_Operator_Symbol
5412 or else NT
(N
).Nkind
= N_String_Literal
);
5416 procedure Set_Subtype_Indication
5417 (N
: Node_Id
; Val
: Node_Id
) is
5419 pragma Assert
(False
5420 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
5421 or else NT
(N
).Nkind
= N_Component_Definition
5422 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5423 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5424 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
5425 Set_Node5_With_Parent
(N
, Val
);
5426 end Set_Subtype_Indication
;
5428 procedure Set_Subtype_Mark
5429 (N
: Node_Id
; Val
: Node_Id
) is
5431 pragma Assert
(False
5432 or else NT
(N
).Nkind
= N_Access_Definition
5433 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5434 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5435 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
5436 or else NT
(N
).Nkind
= N_Qualified_Expression
5437 or else NT
(N
).Nkind
= N_Subtype_Indication
5438 or else NT
(N
).Nkind
= N_Type_Conversion
5439 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
5440 Set_Node4_With_Parent
(N
, Val
);
5441 end Set_Subtype_Mark
;
5443 procedure Set_Subtype_Marks
5444 (N
: Node_Id
; Val
: List_Id
) is
5446 pragma Assert
(False
5447 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
5448 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
5449 Set_List2_With_Parent
(N
, Val
);
5450 end Set_Subtype_Marks
;
5452 procedure Set_Suppress_Loop_Warnings
5453 (N
: Node_Id
; Val
: Boolean := True) is
5455 pragma Assert
(False
5456 or else NT
(N
).Nkind
= N_Loop_Statement
);
5457 Set_Flag17
(N
, Val
);
5458 end Set_Suppress_Loop_Warnings
;
5460 procedure Set_Synchronized_Present
5461 (N
: Node_Id
; Val
: Boolean := True) is
5463 pragma Assert
(False
5464 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5465 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5466 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5467 or else NT
(N
).Nkind
= N_Record_Definition
);
5469 end Set_Synchronized_Present
;
5471 procedure Set_Tagged_Present
5472 (N
: Node_Id
; Val
: Boolean := True) is
5474 pragma Assert
(False
5475 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
5476 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
5477 or else NT
(N
).Nkind
= N_Private_Type_Declaration
5478 or else NT
(N
).Nkind
= N_Record_Definition
);
5479 Set_Flag15
(N
, Val
);
5480 end Set_Tagged_Present
;
5482 procedure Set_Target_Type
5483 (N
: Node_Id
; Val
: Entity_Id
) is
5485 pragma Assert
(False
5486 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
5487 Set_Node2
(N
, Val
); -- semantic field, no parent set
5488 end Set_Target_Type
;
5490 procedure Set_Task_Definition
5491 (N
: Node_Id
; Val
: Node_Id
) is
5493 pragma Assert
(False
5494 or else NT
(N
).Nkind
= N_Single_Task_Declaration
5495 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
5496 Set_Node3_With_Parent
(N
, Val
);
5497 end Set_Task_Definition
;
5499 procedure Set_Task_Present
5500 (N
: Node_Id
; Val
: Boolean := True) is
5502 pragma Assert
(False
5503 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5504 or else NT
(N
).Nkind
= N_Record_Definition
);
5506 end Set_Task_Present
;
5508 procedure Set_Then_Actions
5509 (N
: Node_Id
; Val
: List_Id
) is
5511 pragma Assert
(False
5512 or else NT
(N
).Nkind
= N_Conditional_Expression
);
5513 Set_List2
(N
, Val
); -- semantic field, no parent set
5514 end Set_Then_Actions
;
5516 procedure Set_Then_Statements
5517 (N
: Node_Id
; Val
: List_Id
) is
5519 pragma Assert
(False
5520 or else NT
(N
).Nkind
= N_Elsif_Part
5521 or else NT
(N
).Nkind
= N_If_Statement
);
5522 Set_List2_With_Parent
(N
, Val
);
5523 end Set_Then_Statements
;
5525 procedure Set_Treat_Fixed_As_Integer
5526 (N
: Node_Id
; Val
: Boolean := True) is
5528 pragma Assert
(False
5529 or else NT
(N
).Nkind
= N_Op_Divide
5530 or else NT
(N
).Nkind
= N_Op_Mod
5531 or else NT
(N
).Nkind
= N_Op_Multiply
5532 or else NT
(N
).Nkind
= N_Op_Rem
);
5533 Set_Flag14
(N
, Val
);
5534 end Set_Treat_Fixed_As_Integer
;
5536 procedure Set_Triggering_Alternative
5537 (N
: Node_Id
; Val
: Node_Id
) is
5539 pragma Assert
(False
5540 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
5541 Set_Node1_With_Parent
(N
, Val
);
5542 end Set_Triggering_Alternative
;
5544 procedure Set_Triggering_Statement
5545 (N
: Node_Id
; Val
: Node_Id
) is
5547 pragma Assert
(False
5548 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5549 Set_Node1_With_Parent
(N
, Val
);
5550 end Set_Triggering_Statement
;
5552 procedure Set_TSS_Elist
5553 (N
: Node_Id
; Val
: Elist_Id
) is
5555 pragma Assert
(False
5556 or else NT
(N
).Nkind
= N_Freeze_Entity
);
5557 Set_Elist3
(N
, Val
); -- semantic field, no parent set
5560 procedure Set_Type_Definition
5561 (N
: Node_Id
; Val
: Node_Id
) is
5563 pragma Assert
(False
5564 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
5565 Set_Node3_With_Parent
(N
, Val
);
5566 end Set_Type_Definition
;
5569 (N
: Node_Id
; Val
: Node_Id
) is
5571 pragma Assert
(False
5572 or else NT
(N
).Nkind
= N_Compilation_Unit
);
5573 Set_Node2_With_Parent
(N
, Val
);
5576 procedure Set_Unknown_Discriminants_Present
5577 (N
: Node_Id
; Val
: Boolean := True) is
5579 pragma Assert
(False
5580 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
5581 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
5582 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5583 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
5584 Set_Flag13
(N
, Val
);
5585 end Set_Unknown_Discriminants_Present
;
5587 procedure Set_Unreferenced_In_Spec
5588 (N
: Node_Id
; Val
: Boolean := True) is
5590 pragma Assert
(False
5591 or else NT
(N
).Nkind
= N_With_Clause
);
5593 end Set_Unreferenced_In_Spec
;
5595 procedure Set_Variant_Part
5596 (N
: Node_Id
; Val
: Node_Id
) is
5598 pragma Assert
(False
5599 or else NT
(N
).Nkind
= N_Component_List
);
5600 Set_Node4_With_Parent
(N
, Val
);
5601 end Set_Variant_Part
;
5603 procedure Set_Variants
5604 (N
: Node_Id
; Val
: List_Id
) is
5606 pragma Assert
(False
5607 or else NT
(N
).Nkind
= N_Variant_Part
);
5608 Set_List1_With_Parent
(N
, Val
);
5611 procedure Set_Visible_Declarations
5612 (N
: Node_Id
; Val
: List_Id
) is
5614 pragma Assert
(False
5615 or else NT
(N
).Nkind
= N_Package_Specification
5616 or else NT
(N
).Nkind
= N_Protected_Definition
5617 or else NT
(N
).Nkind
= N_Task_Definition
);
5618 Set_List2_With_Parent
(N
, Val
);
5619 end Set_Visible_Declarations
;
5621 procedure Set_Was_Originally_Stub
5622 (N
: Node_Id
; Val
: Boolean := True) is
5624 pragma Assert
(False
5625 or else NT
(N
).Nkind
= N_Package_Body
5626 or else NT
(N
).Nkind
= N_Protected_Body
5627 or else NT
(N
).Nkind
= N_Subprogram_Body
5628 or else NT
(N
).Nkind
= N_Task_Body
);
5629 Set_Flag13
(N
, Val
);
5630 end Set_Was_Originally_Stub
;
5632 procedure Set_Zero_Cost_Handling
5633 (N
: Node_Id
; Val
: Boolean := True) is
5635 pragma Assert
(False
5636 or else NT
(N
).Nkind
= N_Exception_Handler
5637 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
5639 end Set_Zero_Cost_Handling
;
5641 -------------------------
5642 -- Iterator Procedures --
5643 -------------------------
5645 procedure Next_Entity
(N
: in out Node_Id
) is
5647 N
:= Next_Entity
(N
);
5650 procedure Next_Named_Actual
(N
: in out Node_Id
) is
5652 N
:= Next_Named_Actual
(N
);
5653 end Next_Named_Actual
;
5655 procedure Next_Rep_Item
(N
: in out Node_Id
) is
5657 N
:= Next_Rep_Item
(N
);
5660 procedure Next_Use_Clause
(N
: in out Node_Id
) is
5662 N
:= Next_Use_Clause
(N
);
5663 end Next_Use_Clause
;
5669 function End_Location
(N
: Node_Id
) return Source_Ptr
is
5670 L
: constant Uint
:= End_Span
(N
);
5675 return Source_Ptr
(Int
(Sloc
(N
)) + UI_To_Int
(L
));
5679 ----------------------
5680 -- Set_End_Location --
5681 ----------------------
5683 procedure Set_End_Location
(N
: Node_Id
; S
: Source_Ptr
) is
5686 UI_From_Int
(Int
(S
) - Int
(Sloc
(N
))));
5687 end Set_End_Location
;
5696 V2
: Node_Kind
) return Boolean
5699 return T
= V1
or else
5707 V3
: Node_Kind
) return Boolean
5710 return T
= V1
or else
5720 V4
: Node_Kind
) return Boolean
5723 return T
= V1
or else
5735 V5
: Node_Kind
) return Boolean
5738 return T
= V1
or else
5752 V6
: Node_Kind
) return Boolean
5755 return T
= V1
or else
5771 V7
: Node_Kind
) return Boolean
5774 return T
= V1
or else
5792 V8
: Node_Kind
) return Boolean
5795 return T
= V1
or else
5809 function Pragma_Name
(N
: Node_Id
) return Name_Id
is
5811 return Chars
(Pragma_Identifier
(N
));