1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 2, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
17 -- for more details. You should have received a copy of the GNU General --
18 -- Public License distributed with GNAT; see file COPYING. If not, write --
19 -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
20 -- MA 02111-1307, USA. --
22 -- As a special exception, if other files instantiate generics from this --
23 -- unit, or you link this unit with other files to produce an executable, --
24 -- this unit does not by itself cause the resulting executable to be --
25 -- covered by the GNU General Public License. This exception does not --
26 -- however invalidate any other reasons why the executable file might be --
27 -- covered by the GNU Public License. --
29 -- GNAT was originally developed by the GNAT team at New York University. --
30 -- Extensive contributions were provided by Ada Core Technologies Inc. --
32 ------------------------------------------------------------------------------
34 pragma Style_Checks
(All_Checks
);
35 -- No subprogram ordering check, due to logical grouping
37 with Atree
; use Atree
;
41 use Atree
.Unchecked_Access
;
42 -- This package is one of the few packages which is allowed to make direct
43 -- references to tree nodes (since it is in the business of providing a
44 -- higher level of tree access which other clients are expected to use and
45 -- which implements checks).
47 use Atree_Private_Part
;
48 -- The only reason that we ask for direct access to the private part of
49 -- the tree package is so that we can directly reference the Nkind field
50 -- of nodes table entries. We do this since it helps the efficiency of
51 -- the Sinfo debugging checks considerably (note that when we are checking
52 -- Nkind values, we don't need to check for a valid node reference, because
53 -- we will check that anyway when we reference the field).
55 NT
: Nodes
.Table_Ptr
renames Nodes
.Table
;
56 -- A short hand abbreviation, useful for the debugging checks
58 ----------------------------
59 -- Field Access Functions --
60 ----------------------------
62 function ABE_Is_Certain
63 (N
: Node_Id
) return Boolean is
66 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
67 or else NT
(N
).Nkind
= N_Function_Call
68 or else NT
(N
).Nkind
= N_Function_Instantiation
69 or else NT
(N
).Nkind
= N_Package_Instantiation
70 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
71 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
75 function Abort_Present
76 (N
: Node_Id
) return Boolean is
79 or else NT
(N
).Nkind
= N_Requeue_Statement
);
83 function Abortable_Part
84 (N
: Node_Id
) return Node_Id
is
87 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
91 function Abstract_Present
92 (N
: Node_Id
) return Boolean is
95 or else NT
(N
).Nkind
= N_Derived_Type_Definition
96 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
97 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
98 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
99 or else NT
(N
).Nkind
= N_Private_Type_Declaration
100 or else NT
(N
).Nkind
= N_Record_Definition
);
102 end Abstract_Present
;
104 function Accept_Handler_Records
105 (N
: Node_Id
) return List_Id
is
108 or else NT
(N
).Nkind
= N_Accept_Alternative
);
110 end Accept_Handler_Records
;
112 function Accept_Statement
113 (N
: Node_Id
) return Node_Id
is
116 or else NT
(N
).Nkind
= N_Accept_Alternative
);
118 end Accept_Statement
;
120 function Access_Types_To_Process
121 (N
: Node_Id
) return Elist_Id
is
124 or else NT
(N
).Nkind
= N_Freeze_Entity
);
126 end Access_Types_To_Process
;
129 (N
: Node_Id
) return List_Id
is
132 or else NT
(N
).Nkind
= N_And_Then
133 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
134 or else NT
(N
).Nkind
= N_Freeze_Entity
135 or else NT
(N
).Nkind
= N_Or_Else
);
139 function Activation_Chain_Entity
140 (N
: Node_Id
) return Node_Id
is
143 or else NT
(N
).Nkind
= N_Block_Statement
144 or else NT
(N
).Nkind
= N_Entry_Body
145 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
146 or else NT
(N
).Nkind
= N_Package_Declaration
147 or else NT
(N
).Nkind
= N_Subprogram_Body
148 or else NT
(N
).Nkind
= N_Task_Body
);
150 end Activation_Chain_Entity
;
152 function Acts_As_Spec
153 (N
: Node_Id
) return Boolean is
156 or else NT
(N
).Nkind
= N_Compilation_Unit
157 or else NT
(N
).Nkind
= N_Subprogram_Body
);
161 function Aggregate_Bounds
162 (N
: Node_Id
) return Node_Id
is
165 or else NT
(N
).Nkind
= N_Aggregate
);
167 end Aggregate_Bounds
;
169 function Aliased_Present
170 (N
: Node_Id
) return Boolean is
173 or else NT
(N
).Nkind
= N_Component_Declaration
174 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
175 or else NT
(N
).Nkind
= N_Object_Declaration
176 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
181 (N
: Node_Id
) return Boolean is
184 or else NT
(N
).Nkind
= N_Others_Choice
);
189 (N
: Node_Id
) return Boolean is
192 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
196 function Alternatives
197 (N
: Node_Id
) return List_Id
is
200 or else NT
(N
).Nkind
= N_Case_Statement
);
204 function Ancestor_Part
205 (N
: Node_Id
) return Node_Id
is
208 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
212 function Array_Aggregate
213 (N
: Node_Id
) return Node_Id
is
216 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
220 function Assignment_OK
221 (N
: Node_Id
) return Boolean is
224 or else NT
(N
).Nkind
= N_Object_Declaration
225 or else NT
(N
).Nkind
in N_Subexpr
);
229 function Associated_Node
230 (N
: Node_Id
) return Node_Id
is
233 or else NT
(N
).Nkind
in N_Has_Entity
234 or else NT
(N
).Nkind
= N_Aggregate
235 or else NT
(N
).Nkind
= N_Extension_Aggregate
236 or else NT
(N
).Nkind
= N_Selected_Component
);
241 (N
: Node_Id
) return Node_Id
is
244 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
248 function Attribute_Name
249 (N
: Node_Id
) return Name_Id
is
252 or else NT
(N
).Nkind
= N_Attribute_Reference
);
256 function Aux_Decls_Node
257 (N
: Node_Id
) return Node_Id
is
260 or else NT
(N
).Nkind
= N_Compilation_Unit
);
264 function Backwards_OK
265 (N
: Node_Id
) return Boolean is
268 or else NT
(N
).Nkind
= N_Assignment_Statement
);
272 function Bad_Is_Detected
273 (N
: Node_Id
) return Boolean is
276 or else NT
(N
).Nkind
= N_Subprogram_Body
);
280 function Body_Required
281 (N
: Node_Id
) return Boolean is
284 or else NT
(N
).Nkind
= N_Compilation_Unit
);
288 function Body_To_Inline
289 (N
: Node_Id
) return Node_Id
is
292 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
297 (N
: Node_Id
) return Boolean is
300 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
301 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
);
306 (N
: Node_Id
) return Boolean is
309 or else NT
(N
).Nkind
= N_Return_Statement
);
313 function Char_Literal_Value
314 (N
: Node_Id
) return Char_Code
is
317 or else NT
(N
).Nkind
= N_Character_Literal
);
318 return Char_Code2
(N
);
319 end Char_Literal_Value
;
322 (N
: Node_Id
) return Name_Id
is
325 or else NT
(N
).Nkind
in N_Has_Chars
);
329 function Choice_Parameter
330 (N
: Node_Id
) return Node_Id
is
333 or else NT
(N
).Nkind
= N_Exception_Handler
);
335 end Choice_Parameter
;
338 (N
: Node_Id
) return List_Id
is
341 or else NT
(N
).Nkind
= N_Component_Association
);
345 function Compile_Time_Known_Aggregate
346 (N
: Node_Id
) return Boolean is
349 or else NT
(N
).Nkind
= N_Aggregate
);
351 end Compile_Time_Known_Aggregate
;
353 function Component_Associations
354 (N
: Node_Id
) return List_Id
is
357 or else NT
(N
).Nkind
= N_Aggregate
358 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
360 end Component_Associations
;
362 function Component_Clauses
363 (N
: Node_Id
) return List_Id
is
366 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
368 end Component_Clauses
;
370 function Component_Items
371 (N
: Node_Id
) return List_Id
is
374 or else NT
(N
).Nkind
= N_Component_List
);
378 function Component_List
379 (N
: Node_Id
) return Node_Id
is
382 or else NT
(N
).Nkind
= N_Record_Definition
383 or else NT
(N
).Nkind
= N_Variant
);
387 function Component_Name
388 (N
: Node_Id
) return Node_Id
is
391 or else NT
(N
).Nkind
= N_Component_Clause
);
396 (N
: Node_Id
) return Node_Id
is
399 or else NT
(N
).Nkind
= N_Accept_Alternative
400 or else NT
(N
).Nkind
= N_Delay_Alternative
401 or else NT
(N
).Nkind
= N_Elsif_Part
402 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
403 or else NT
(N
).Nkind
= N_Exit_Statement
404 or else NT
(N
).Nkind
= N_If_Statement
405 or else NT
(N
).Nkind
= N_Iteration_Scheme
406 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
407 or else NT
(N
).Nkind
= N_Raise_Program_Error
408 or else NT
(N
).Nkind
= N_Raise_Storage_Error
409 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
413 function Condition_Actions
414 (N
: Node_Id
) return List_Id
is
417 or else NT
(N
).Nkind
= N_Elsif_Part
418 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
420 end Condition_Actions
;
422 function Constant_Present
423 (N
: Node_Id
) return Boolean is
426 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
427 or else NT
(N
).Nkind
= N_Object_Declaration
);
429 end Constant_Present
;
432 (N
: Node_Id
) return Node_Id
is
435 or else NT
(N
).Nkind
= N_Subtype_Indication
);
440 (N
: Node_Id
) return List_Id
is
443 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
447 function Context_Installed
448 (N
: Node_Id
) return Boolean is
451 or else NT
(N
).Nkind
= N_With_Clause
);
453 end Context_Installed
;
455 function Context_Items
456 (N
: Node_Id
) return List_Id
is
459 or else NT
(N
).Nkind
= N_Compilation_Unit
);
463 function Controlling_Argument
464 (N
: Node_Id
) return Node_Id
is
467 or else NT
(N
).Nkind
= N_Function_Call
468 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
470 end Controlling_Argument
;
472 function Conversion_OK
473 (N
: Node_Id
) return Boolean is
476 or else NT
(N
).Nkind
= N_Type_Conversion
);
480 function Corresponding_Body
481 (N
: Node_Id
) return Node_Id
is
484 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
485 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
486 or else NT
(N
).Nkind
= N_Package_Body_Stub
487 or else NT
(N
).Nkind
= N_Package_Declaration
488 or else NT
(N
).Nkind
= N_Protected_Body_Stub
489 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
490 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
491 or else NT
(N
).Nkind
= N_Subprogram_Declaration
492 or else NT
(N
).Nkind
= N_Task_Body_Stub
493 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
495 end Corresponding_Body
;
497 function Corresponding_Generic_Association
498 (N
: Node_Id
) return Node_Id
is
501 or else NT
(N
).Nkind
= N_Object_Declaration
502 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
504 end Corresponding_Generic_Association
;
506 function Corresponding_Integer_Value
507 (N
: Node_Id
) return Uint
is
510 or else NT
(N
).Nkind
= N_Real_Literal
);
512 end Corresponding_Integer_Value
;
514 function Corresponding_Spec
515 (N
: Node_Id
) return Node_Id
is
518 or else NT
(N
).Nkind
= N_Package_Body
519 or else NT
(N
).Nkind
= N_Protected_Body
520 or else NT
(N
).Nkind
= N_Subprogram_Body
521 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
522 or else NT
(N
).Nkind
= N_Task_Body
523 or else NT
(N
).Nkind
= N_With_Clause
);
525 end Corresponding_Spec
;
527 function Corresponding_Stub
528 (N
: Node_Id
) return Node_Id
is
531 or else NT
(N
).Nkind
= N_Subunit
);
533 end Corresponding_Stub
;
535 function Dcheck_Function
536 (N
: Node_Id
) return Entity_Id
is
539 or else NT
(N
).Nkind
= N_Variant
);
543 function Debug_Statement
544 (N
: Node_Id
) return Node_Id
is
547 or else NT
(N
).Nkind
= N_Pragma
);
551 function Declarations
552 (N
: Node_Id
) return List_Id
is
555 or else NT
(N
).Nkind
= N_Accept_Statement
556 or else NT
(N
).Nkind
= N_Block_Statement
557 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
558 or else NT
(N
).Nkind
= N_Entry_Body
559 or else NT
(N
).Nkind
= N_Package_Body
560 or else NT
(N
).Nkind
= N_Protected_Body
561 or else NT
(N
).Nkind
= N_Subprogram_Body
562 or else NT
(N
).Nkind
= N_Task_Body
);
566 function Default_Expression
567 (N
: Node_Id
) return Node_Id
is
570 or else NT
(N
).Nkind
= N_Parameter_Specification
);
572 end Default_Expression
;
574 function Default_Name
575 (N
: Node_Id
) return Node_Id
is
578 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
);
582 function Defining_Identifier
583 (N
: Node_Id
) return Entity_Id
is
586 or else NT
(N
).Nkind
= N_Component_Declaration
587 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
588 or else NT
(N
).Nkind
= N_Discriminant_Specification
589 or else NT
(N
).Nkind
= N_Entry_Body
590 or else NT
(N
).Nkind
= N_Entry_Declaration
591 or else NT
(N
).Nkind
= N_Entry_Index_Specification
592 or else NT
(N
).Nkind
= N_Exception_Declaration
593 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
594 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
595 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
596 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
597 or else NT
(N
).Nkind
= N_Full_Type_Declaration
598 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
599 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
600 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
601 or else NT
(N
).Nkind
= N_Number_Declaration
602 or else NT
(N
).Nkind
= N_Object_Declaration
603 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
604 or else NT
(N
).Nkind
= N_Package_Body_Stub
605 or else NT
(N
).Nkind
= N_Parameter_Specification
606 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
607 or else NT
(N
).Nkind
= N_Private_Type_Declaration
608 or else NT
(N
).Nkind
= N_Protected_Body
609 or else NT
(N
).Nkind
= N_Protected_Body_Stub
610 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
611 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
612 or else NT
(N
).Nkind
= N_Single_Task_Declaration
613 or else NT
(N
).Nkind
= N_Subtype_Declaration
614 or else NT
(N
).Nkind
= N_Task_Body
615 or else NT
(N
).Nkind
= N_Task_Body_Stub
616 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
618 end Defining_Identifier
;
620 function Defining_Unit_Name
621 (N
: Node_Id
) return Node_Id
is
624 or else NT
(N
).Nkind
= N_Function_Instantiation
625 or else NT
(N
).Nkind
= N_Function_Specification
626 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
627 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
628 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
629 or else NT
(N
).Nkind
= N_Package_Body
630 or else NT
(N
).Nkind
= N_Package_Instantiation
631 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
632 or else NT
(N
).Nkind
= N_Package_Specification
633 or else NT
(N
).Nkind
= N_Procedure_Instantiation
634 or else NT
(N
).Nkind
= N_Procedure_Specification
);
636 end Defining_Unit_Name
;
638 function Delay_Alternative
639 (N
: Node_Id
) return Node_Id
is
642 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
644 end Delay_Alternative
;
646 function Delay_Finalize_Attach
647 (N
: Node_Id
) return Boolean is
650 or else NT
(N
).Nkind
= N_Object_Declaration
);
652 end Delay_Finalize_Attach
;
654 function Delay_Statement
655 (N
: Node_Id
) return Node_Id
is
658 or else NT
(N
).Nkind
= N_Delay_Alternative
);
662 function Delta_Expression
663 (N
: Node_Id
) return Node_Id
is
666 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
667 or else NT
(N
).Nkind
= N_Delta_Constraint
668 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
670 end Delta_Expression
;
672 function Digits_Expression
673 (N
: Node_Id
) return Node_Id
is
676 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
677 or else NT
(N
).Nkind
= N_Digits_Constraint
678 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
680 end Digits_Expression
;
682 function Discr_Check_Funcs_Built
683 (N
: Node_Id
) return Boolean is
686 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
688 end Discr_Check_Funcs_Built
;
690 function Discrete_Choices
691 (N
: Node_Id
) return List_Id
is
694 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
695 or else NT
(N
).Nkind
= N_Variant
);
697 end Discrete_Choices
;
699 function Discrete_Range
700 (N
: Node_Id
) return Node_Id
is
703 or else NT
(N
).Nkind
= N_Slice
);
707 function Discrete_Subtype_Definition
708 (N
: Node_Id
) return Node_Id
is
711 or else NT
(N
).Nkind
= N_Entry_Declaration
712 or else NT
(N
).Nkind
= N_Entry_Index_Specification
713 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
715 end Discrete_Subtype_Definition
;
717 function Discrete_Subtype_Definitions
718 (N
: Node_Id
) return List_Id
is
721 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
723 end Discrete_Subtype_Definitions
;
725 function Discriminant_Specifications
726 (N
: Node_Id
) return List_Id
is
729 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
730 or else NT
(N
).Nkind
= N_Full_Type_Declaration
731 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
732 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
733 or else NT
(N
).Nkind
= N_Private_Type_Declaration
734 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
735 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
737 end Discriminant_Specifications
;
739 function Discriminant_Type
740 (N
: Node_Id
) return Node_Id
is
743 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
745 end Discriminant_Type
;
747 function Do_Access_Check
748 (N
: Node_Id
) return Boolean is
751 or else NT
(N
).Nkind
= N_Attribute_Reference
752 or else NT
(N
).Nkind
= N_Explicit_Dereference
753 or else NT
(N
).Nkind
= N_Indexed_Component
754 or else NT
(N
).Nkind
= N_Selected_Component
755 or else NT
(N
).Nkind
= N_Slice
);
759 function Do_Accessibility_Check
760 (N
: Node_Id
) return Boolean is
763 or else NT
(N
).Nkind
= N_Parameter_Specification
);
765 end Do_Accessibility_Check
;
767 function Do_Discriminant_Check
768 (N
: Node_Id
) return Boolean is
771 or else NT
(N
).Nkind
= N_Selected_Component
);
773 end Do_Discriminant_Check
;
775 function Do_Division_Check
776 (N
: Node_Id
) return Boolean is
779 or else NT
(N
).Nkind
= N_Op_Divide
780 or else NT
(N
).Nkind
= N_Op_Mod
781 or else NT
(N
).Nkind
= N_Op_Rem
);
783 end Do_Division_Check
;
785 function Do_Length_Check
786 (N
: Node_Id
) return Boolean is
789 or else NT
(N
).Nkind
= N_Assignment_Statement
790 or else NT
(N
).Nkind
= N_Op_And
791 or else NT
(N
).Nkind
= N_Op_Or
792 or else NT
(N
).Nkind
= N_Op_Xor
793 or else NT
(N
).Nkind
= N_Type_Conversion
);
797 function Do_Overflow_Check
798 (N
: Node_Id
) return Boolean is
801 or else NT
(N
).Nkind
in N_Op
802 or else NT
(N
).Nkind
= N_Attribute_Reference
803 or else NT
(N
).Nkind
= N_Type_Conversion
);
805 end Do_Overflow_Check
;
807 function Do_Range_Check
808 (N
: Node_Id
) return Boolean is
811 or else NT
(N
).Nkind
in N_Subexpr
);
815 function Do_Storage_Check
816 (N
: Node_Id
) return Boolean is
819 or else NT
(N
).Nkind
= N_Allocator
820 or else NT
(N
).Nkind
= N_Subprogram_Body
);
822 end Do_Storage_Check
;
824 function Do_Tag_Check
825 (N
: Node_Id
) return Boolean is
828 or else NT
(N
).Nkind
= N_Assignment_Statement
829 or else NT
(N
).Nkind
= N_Function_Call
830 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
831 or else NT
(N
).Nkind
= N_Return_Statement
832 or else NT
(N
).Nkind
= N_Type_Conversion
);
836 function Elaborate_All_Present
837 (N
: Node_Id
) return Boolean is
840 or else NT
(N
).Nkind
= N_With_Clause
);
842 end Elaborate_All_Present
;
844 function Elaborate_Present
845 (N
: Node_Id
) return Boolean is
848 or else NT
(N
).Nkind
= N_With_Clause
);
850 end Elaborate_Present
;
852 function Elaboration_Boolean
853 (N
: Node_Id
) return Node_Id
is
856 or else NT
(N
).Nkind
= N_Function_Specification
857 or else NT
(N
).Nkind
= N_Procedure_Specification
);
859 end Elaboration_Boolean
;
861 function Else_Actions
862 (N
: Node_Id
) return List_Id
is
865 or else NT
(N
).Nkind
= N_Conditional_Expression
);
869 function Else_Statements
870 (N
: Node_Id
) return List_Id
is
873 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
874 or else NT
(N
).Nkind
= N_If_Statement
875 or else NT
(N
).Nkind
= N_Selective_Accept
);
880 (N
: Node_Id
) return List_Id
is
883 or else NT
(N
).Nkind
= N_If_Statement
);
887 function Enclosing_Variant
888 (N
: Node_Id
) return Node_Id
is
891 or else NT
(N
).Nkind
= N_Variant
);
893 end Enclosing_Variant
;
896 (N
: Node_Id
) return Node_Id
is
899 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
900 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
901 or else NT
(N
).Nkind
= N_Loop_Statement
902 or else NT
(N
).Nkind
= N_Package_Specification
903 or else NT
(N
).Nkind
= N_Protected_Body
904 or else NT
(N
).Nkind
= N_Protected_Definition
905 or else NT
(N
).Nkind
= N_Record_Definition
906 or else NT
(N
).Nkind
= N_Task_Definition
);
911 (N
: Node_Id
) return Uint
is
914 or else NT
(N
).Nkind
= N_Case_Statement
915 or else NT
(N
).Nkind
= N_If_Statement
);
920 (N
: Node_Id
) return Node_Id
is
923 or else NT
(N
).Nkind
in N_Has_Entity
924 or else NT
(N
).Nkind
= N_Freeze_Entity
);
928 function Entry_Body_Formal_Part
929 (N
: Node_Id
) return Node_Id
is
932 or else NT
(N
).Nkind
= N_Entry_Body
);
934 end Entry_Body_Formal_Part
;
936 function Entry_Call_Alternative
937 (N
: Node_Id
) return Node_Id
is
940 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
941 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
943 end Entry_Call_Alternative
;
945 function Entry_Call_Statement
946 (N
: Node_Id
) return Node_Id
is
949 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
951 end Entry_Call_Statement
;
953 function Entry_Direct_Name
954 (N
: Node_Id
) return Node_Id
is
957 or else NT
(N
).Nkind
= N_Accept_Statement
);
959 end Entry_Direct_Name
;
962 (N
: Node_Id
) return Node_Id
is
965 or else NT
(N
).Nkind
= N_Accept_Statement
);
969 function Entry_Index_Specification
970 (N
: Node_Id
) return Node_Id
is
973 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
975 end Entry_Index_Specification
;
978 (N
: Node_Id
) return Node_Id
is
981 or else NT
(N
).Nkind
in N_Has_Etype
);
985 function Exception_Choices
986 (N
: Node_Id
) return List_Id
is
989 or else NT
(N
).Nkind
= N_Exception_Handler
);
991 end Exception_Choices
;
993 function Exception_Handlers
994 (N
: Node_Id
) return List_Id
is
997 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
999 end Exception_Handlers
;
1001 function Exception_Junk
1002 (N
: Node_Id
) return Boolean is
1004 pragma Assert
(False
1005 or else NT
(N
).Nkind
= N_Goto_Statement
1006 or else NT
(N
).Nkind
= N_Label
1007 or else NT
(N
).Nkind
= N_Object_Declaration
1008 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1012 function Expansion_Delayed
1013 (N
: Node_Id
) return Boolean is
1015 pragma Assert
(False
1016 or else NT
(N
).Nkind
= N_Aggregate
1017 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1019 end Expansion_Delayed
;
1021 function Explicit_Actual_Parameter
1022 (N
: Node_Id
) return Node_Id
is
1024 pragma Assert
(False
1025 or else NT
(N
).Nkind
= N_Parameter_Association
);
1027 end Explicit_Actual_Parameter
;
1029 function Explicit_Generic_Actual_Parameter
1030 (N
: Node_Id
) return Node_Id
is
1032 pragma Assert
(False
1033 or else NT
(N
).Nkind
= N_Generic_Association
);
1035 end Explicit_Generic_Actual_Parameter
;
1038 (N
: Node_Id
) return Node_Id
is
1040 pragma Assert
(False
1041 or else NT
(N
).Nkind
= N_Allocator
1042 or else NT
(N
).Nkind
= N_Assignment_Statement
1043 or else NT
(N
).Nkind
= N_At_Clause
1044 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1045 or else NT
(N
).Nkind
= N_Case_Statement
1046 or else NT
(N
).Nkind
= N_Code_Statement
1047 or else NT
(N
).Nkind
= N_Component_Association
1048 or else NT
(N
).Nkind
= N_Component_Declaration
1049 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
1050 or else NT
(N
).Nkind
= N_Delay_Until_Statement
1051 or else NT
(N
).Nkind
= N_Discriminant_Association
1052 or else NT
(N
).Nkind
= N_Discriminant_Specification
1053 or else NT
(N
).Nkind
= N_Exception_Declaration
1054 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1055 or else NT
(N
).Nkind
= N_Free_Statement
1056 or else NT
(N
).Nkind
= N_Mod_Clause
1057 or else NT
(N
).Nkind
= N_Modular_Type_Definition
1058 or else NT
(N
).Nkind
= N_Number_Declaration
1059 or else NT
(N
).Nkind
= N_Object_Declaration
1060 or else NT
(N
).Nkind
= N_Parameter_Specification
1061 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
1062 or else NT
(N
).Nkind
= N_Qualified_Expression
1063 or else NT
(N
).Nkind
= N_Return_Statement
1064 or else NT
(N
).Nkind
= N_Type_Conversion
1065 or else NT
(N
).Nkind
= N_Unchecked_Expression
1066 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1070 function Expressions
1071 (N
: Node_Id
) return List_Id
is
1073 pragma Assert
(False
1074 or else NT
(N
).Nkind
= N_Aggregate
1075 or else NT
(N
).Nkind
= N_Attribute_Reference
1076 or else NT
(N
).Nkind
= N_Conditional_Expression
1077 or else NT
(N
).Nkind
= N_Extension_Aggregate
1078 or else NT
(N
).Nkind
= N_Indexed_Component
);
1083 (N
: Node_Id
) return Node_Id
is
1085 pragma Assert
(False
1086 or else NT
(N
).Nkind
= N_Component_Clause
);
1090 function First_Inlined_Subprogram
1091 (N
: Node_Id
) return Entity_Id
is
1093 pragma Assert
(False
1094 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1096 end First_Inlined_Subprogram
;
1099 (N
: Node_Id
) return Boolean is
1101 pragma Assert
(False
1102 or else NT
(N
).Nkind
= N_With_Clause
);
1106 function First_Named_Actual
1107 (N
: Node_Id
) return Node_Id
is
1109 pragma Assert
(False
1110 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1111 or else NT
(N
).Nkind
= N_Function_Call
1112 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1114 end First_Named_Actual
;
1116 function First_Real_Statement
1117 (N
: Node_Id
) return Node_Id
is
1119 pragma Assert
(False
1120 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1122 end First_Real_Statement
;
1124 function First_Subtype_Link
1125 (N
: Node_Id
) return Entity_Id
is
1127 pragma Assert
(False
1128 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1130 end First_Subtype_Link
;
1132 function Float_Truncate
1133 (N
: Node_Id
) return Boolean is
1135 pragma Assert
(False
1136 or else NT
(N
).Nkind
= N_Type_Conversion
);
1140 function Formal_Type_Definition
1141 (N
: Node_Id
) return Node_Id
is
1143 pragma Assert
(False
1144 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
1146 end Formal_Type_Definition
;
1148 function Forwards_OK
1149 (N
: Node_Id
) return Boolean is
1151 pragma Assert
(False
1152 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1156 function From_At_Mod
1157 (N
: Node_Id
) return Boolean is
1159 pragma Assert
(False
1160 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1164 function Generic_Associations
1165 (N
: Node_Id
) return List_Id
is
1167 pragma Assert
(False
1168 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1169 or else NT
(N
).Nkind
= N_Function_Instantiation
1170 or else NT
(N
).Nkind
= N_Package_Instantiation
1171 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1173 end Generic_Associations
;
1175 function Generic_Formal_Declarations
1176 (N
: Node_Id
) return List_Id
is
1178 pragma Assert
(False
1179 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1180 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
1182 end Generic_Formal_Declarations
;
1184 function Generic_Parent
1185 (N
: Node_Id
) return Node_Id
is
1187 pragma Assert
(False
1188 or else NT
(N
).Nkind
= N_Function_Specification
1189 or else NT
(N
).Nkind
= N_Package_Specification
1190 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1194 function Generic_Parent_Type
1195 (N
: Node_Id
) return Node_Id
is
1197 pragma Assert
(False
1198 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1200 end Generic_Parent_Type
;
1202 function Handled_Statement_Sequence
1203 (N
: Node_Id
) return Node_Id
is
1205 pragma Assert
(False
1206 or else NT
(N
).Nkind
= N_Accept_Statement
1207 or else NT
(N
).Nkind
= N_Block_Statement
1208 or else NT
(N
).Nkind
= N_Entry_Body
1209 or else NT
(N
).Nkind
= N_Package_Body
1210 or else NT
(N
).Nkind
= N_Subprogram_Body
1211 or else NT
(N
).Nkind
= N_Task_Body
);
1213 end Handled_Statement_Sequence
;
1215 function Handler_List_Entry
1216 (N
: Node_Id
) return Node_Id
is
1218 pragma Assert
(False
1219 or else NT
(N
).Nkind
= N_Object_Declaration
);
1221 end Handler_List_Entry
;
1223 function Has_Created_Identifier
1224 (N
: Node_Id
) return Boolean is
1226 pragma Assert
(False
1227 or else NT
(N
).Nkind
= N_Block_Statement
1228 or else NT
(N
).Nkind
= N_Loop_Statement
);
1230 end Has_Created_Identifier
;
1232 function Has_Dynamic_Length_Check
1233 (N
: Node_Id
) return Boolean is
1236 end Has_Dynamic_Length_Check
;
1238 function Has_Dynamic_Range_Check
1239 (N
: Node_Id
) return Boolean is
1242 end Has_Dynamic_Range_Check
;
1244 function Has_No_Elaboration_Code
1245 (N
: Node_Id
) return Boolean is
1247 pragma Assert
(False
1248 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1250 end Has_No_Elaboration_Code
;
1252 function Has_Priority_Pragma
1253 (N
: Node_Id
) return Boolean is
1255 pragma Assert
(False
1256 or else NT
(N
).Nkind
= N_Protected_Definition
1257 or else NT
(N
).Nkind
= N_Subprogram_Body
1258 or else NT
(N
).Nkind
= N_Task_Definition
);
1260 end Has_Priority_Pragma
;
1262 function Has_Private_View
1263 (N
: Node_Id
) return Boolean is
1265 pragma Assert
(False
1266 or else NT
(N
).Nkind
in N_Op
1267 or else NT
(N
).Nkind
= N_Character_Literal
1268 or else NT
(N
).Nkind
= N_Expanded_Name
1269 or else NT
(N
).Nkind
= N_Identifier
1270 or else NT
(N
).Nkind
= N_Operator_Symbol
);
1272 end Has_Private_View
;
1274 function Has_Storage_Size_Pragma
1275 (N
: Node_Id
) return Boolean is
1277 pragma Assert
(False
1278 or else NT
(N
).Nkind
= N_Task_Definition
);
1280 end Has_Storage_Size_Pragma
;
1282 function Has_Task_Info_Pragma
1283 (N
: Node_Id
) return Boolean is
1285 pragma Assert
(False
1286 or else NT
(N
).Nkind
= N_Task_Definition
);
1288 end Has_Task_Info_Pragma
;
1290 function Has_Task_Name_Pragma
1291 (N
: Node_Id
) return Boolean is
1293 pragma Assert
(False
1294 or else NT
(N
).Nkind
= N_Task_Definition
);
1296 end Has_Task_Name_Pragma
;
1298 function Has_Wide_Character
1299 (N
: Node_Id
) return Boolean is
1301 pragma Assert
(False
1302 or else NT
(N
).Nkind
= N_String_Literal
);
1304 end Has_Wide_Character
;
1306 function Hidden_By_Use_Clause
1307 (N
: Node_Id
) return Elist_Id
is
1309 pragma Assert
(False
1310 or else NT
(N
).Nkind
= N_Use_Package_Clause
1311 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1313 end Hidden_By_Use_Clause
;
1316 (N
: Node_Id
) return Node_Id
is
1318 pragma Assert
(False
1319 or else NT
(N
).Nkind
= N_Range
1320 or else NT
(N
).Nkind
= N_Real_Range_Specification
1321 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1326 (N
: Node_Id
) return Node_Id
is
1328 pragma Assert
(False
1329 or else NT
(N
).Nkind
= N_At_Clause
1330 or else NT
(N
).Nkind
= N_Block_Statement
1331 or else NT
(N
).Nkind
= N_Designator
1332 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1333 or else NT
(N
).Nkind
= N_Label
1334 or else NT
(N
).Nkind
= N_Loop_Statement
1335 or else NT
(N
).Nkind
= N_Record_Representation_Clause
1336 or else NT
(N
).Nkind
= N_Subprogram_Info
);
1340 function Implicit_With
1341 (N
: Node_Id
) return Boolean is
1343 pragma Assert
(False
1344 or else NT
(N
).Nkind
= N_With_Clause
);
1349 (N
: Node_Id
) return Boolean is
1351 pragma Assert
(False
1352 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1353 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1357 function Includes_Infinities
1358 (N
: Node_Id
) return Boolean is
1360 pragma Assert
(False
1361 or else NT
(N
).Nkind
= N_Range
);
1363 end Includes_Infinities
;
1365 function Instance_Spec
1366 (N
: Node_Id
) return Node_Id
is
1368 pragma Assert
(False
1369 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1370 or else NT
(N
).Nkind
= N_Function_Instantiation
1371 or else NT
(N
).Nkind
= N_Package_Instantiation
1372 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1377 (N
: Node_Id
) return Uint
is
1379 pragma Assert
(False
1380 or else NT
(N
).Nkind
= N_Integer_Literal
);
1384 function Is_Asynchronous_Call_Block
1385 (N
: Node_Id
) return Boolean is
1387 pragma Assert
(False
1388 or else NT
(N
).Nkind
= N_Block_Statement
);
1390 end Is_Asynchronous_Call_Block
;
1392 function Is_Component_Left_Opnd
1393 (N
: Node_Id
) return Boolean is
1395 pragma Assert
(False
1396 or else NT
(N
).Nkind
= N_Op_Concat
);
1398 end Is_Component_Left_Opnd
;
1400 function Is_Component_Right_Opnd
1401 (N
: Node_Id
) return Boolean is
1403 pragma Assert
(False
1404 or else NT
(N
).Nkind
= N_Op_Concat
);
1406 end Is_Component_Right_Opnd
;
1408 function Is_Controlling_Actual
1409 (N
: Node_Id
) return Boolean is
1411 pragma Assert
(False
1412 or else NT
(N
).Nkind
in N_Subexpr
);
1414 end Is_Controlling_Actual
;
1416 function Is_Machine_Number
1417 (N
: Node_Id
) return Boolean is
1419 pragma Assert
(False
1420 or else NT
(N
).Nkind
= N_Real_Literal
);
1422 end Is_Machine_Number
;
1424 function Is_Overloaded
1425 (N
: Node_Id
) return Boolean is
1427 pragma Assert
(False
1428 or else NT
(N
).Nkind
in N_Subexpr
);
1432 function Is_Power_Of_2_For_Shift
1433 (N
: Node_Id
) return Boolean is
1435 pragma Assert
(False
1436 or else NT
(N
).Nkind
= N_Op_Expon
);
1438 end Is_Power_Of_2_For_Shift
;
1440 function Is_Protected_Subprogram_Body
1441 (N
: Node_Id
) return Boolean is
1443 pragma Assert
(False
1444 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1446 end Is_Protected_Subprogram_Body
;
1448 function Is_Static_Expression
1449 (N
: Node_Id
) return Boolean is
1451 pragma Assert
(False
1452 or else NT
(N
).Nkind
in N_Subexpr
);
1454 end Is_Static_Expression
;
1456 function Is_Subprogram_Descriptor
1457 (N
: Node_Id
) return Boolean is
1459 pragma Assert
(False
1460 or else NT
(N
).Nkind
= N_Object_Declaration
);
1462 end Is_Subprogram_Descriptor
;
1464 function Is_Task_Allocation_Block
1465 (N
: Node_Id
) return Boolean is
1467 pragma Assert
(False
1468 or else NT
(N
).Nkind
= N_Block_Statement
);
1470 end Is_Task_Allocation_Block
;
1472 function Is_Task_Master
1473 (N
: Node_Id
) return Boolean is
1475 pragma Assert
(False
1476 or else NT
(N
).Nkind
= N_Block_Statement
1477 or else NT
(N
).Nkind
= N_Subprogram_Body
1478 or else NT
(N
).Nkind
= N_Task_Body
);
1482 function Iteration_Scheme
1483 (N
: Node_Id
) return Node_Id
is
1485 pragma Assert
(False
1486 or else NT
(N
).Nkind
= N_Loop_Statement
);
1488 end Iteration_Scheme
;
1491 (N
: Node_Id
) return Node_Id
is
1493 pragma Assert
(False
1494 or else NT
(N
).Nkind
= N_Itype_Reference
);
1498 function Kill_Range_Check
1499 (N
: Node_Id
) return Boolean is
1501 pragma Assert
(False
1502 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1504 end Kill_Range_Check
;
1506 function Label_Construct
1507 (N
: Node_Id
) return Node_Id
is
1509 pragma Assert
(False
1510 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
1512 end Label_Construct
;
1515 (N
: Node_Id
) return Node_Id
is
1517 pragma Assert
(False
1518 or else NT
(N
).Nkind
= N_Component_Clause
);
1523 (N
: Node_Id
) return Boolean is
1525 pragma Assert
(False
1526 or else NT
(N
).Nkind
= N_With_Clause
);
1531 (N
: Node_Id
) return Node_Id
is
1533 pragma Assert
(False
1534 or else NT
(N
).Nkind
= N_And_Then
1535 or else NT
(N
).Nkind
= N_In
1536 or else NT
(N
).Nkind
= N_Not_In
1537 or else NT
(N
).Nkind
= N_Or_Else
1538 or else NT
(N
).Nkind
in N_Binary_Op
);
1542 function Library_Unit
1543 (N
: Node_Id
) return Node_Id
is
1545 pragma Assert
(False
1546 or else NT
(N
).Nkind
= N_Compilation_Unit
1547 or else NT
(N
).Nkind
= N_Package_Body_Stub
1548 or else NT
(N
).Nkind
= N_Protected_Body_Stub
1549 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
1550 or else NT
(N
).Nkind
= N_Task_Body_Stub
1551 or else NT
(N
).Nkind
= N_With_Clause
);
1555 function Limited_Present
1556 (N
: Node_Id
) return Boolean is
1558 pragma Assert
(False
1559 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
1560 or else NT
(N
).Nkind
= N_Private_Type_Declaration
1561 or else NT
(N
).Nkind
= N_Record_Definition
);
1563 end Limited_Present
;
1566 (N
: Node_Id
) return List_Id
is
1568 pragma Assert
(False
1569 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
1573 function Loop_Actions
1574 (N
: Node_Id
) return List_Id
is
1576 pragma Assert
(False
1577 or else NT
(N
).Nkind
= N_Component_Association
);
1581 function Loop_Parameter_Specification
1582 (N
: Node_Id
) return Node_Id
is
1584 pragma Assert
(False
1585 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
1587 end Loop_Parameter_Specification
;
1590 (N
: Node_Id
) return Node_Id
is
1592 pragma Assert
(False
1593 or else NT
(N
).Nkind
= N_Range
1594 or else NT
(N
).Nkind
= N_Real_Range_Specification
1595 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1600 (N
: Node_Id
) return Node_Id
is
1602 pragma Assert
(False
1603 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1608 (N
: Node_Id
) return Boolean is
1610 pragma Assert
(False
1611 or else NT
(N
).Nkind
= N_Component_Declaration
1612 or else NT
(N
).Nkind
= N_Discriminant_Specification
1613 or else NT
(N
).Nkind
= N_Exception_Declaration
1614 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1615 or else NT
(N
).Nkind
= N_Number_Declaration
1616 or else NT
(N
).Nkind
= N_Object_Declaration
1617 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1621 function Must_Be_Byte_Aligned
1622 (N
: Node_Id
) return Boolean is
1624 pragma Assert
(False
1625 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1627 end Must_Be_Byte_Aligned
;
1629 function Must_Not_Freeze
1630 (N
: Node_Id
) return Boolean is
1632 pragma Assert
(False
1633 or else NT
(N
).Nkind
= N_Subtype_Indication
1634 or else NT
(N
).Nkind
in N_Subexpr
);
1636 end Must_Not_Freeze
;
1639 (N
: Node_Id
) return Node_Id
is
1641 pragma Assert
(False
1642 or else NT
(N
).Nkind
= N_Assignment_Statement
1643 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1644 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
1645 or else NT
(N
).Nkind
= N_Designator
1646 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1647 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
1648 or else NT
(N
).Nkind
= N_Exit_Statement
1649 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1650 or else NT
(N
).Nkind
= N_Function_Call
1651 or else NT
(N
).Nkind
= N_Function_Instantiation
1652 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1653 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1654 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1655 or else NT
(N
).Nkind
= N_Goto_Statement
1656 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
1657 or else NT
(N
).Nkind
= N_Package_Instantiation
1658 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1659 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
1660 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1661 or else NT
(N
).Nkind
= N_Raise_Statement
1662 or else NT
(N
).Nkind
= N_Requeue_Statement
1663 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
1664 or else NT
(N
).Nkind
= N_Subunit
1665 or else NT
(N
).Nkind
= N_Variant_Part
1666 or else NT
(N
).Nkind
= N_With_Clause
1667 or else NT
(N
).Nkind
= N_With_Type_Clause
);
1672 (N
: Node_Id
) return List_Id
is
1674 pragma Assert
(False
1675 or else NT
(N
).Nkind
= N_Abort_Statement
1676 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
1680 function Next_Entity
1681 (N
: Node_Id
) return Node_Id
is
1683 pragma Assert
(False
1684 or else NT
(N
).Nkind
= N_Defining_Character_Literal
1685 or else NT
(N
).Nkind
= N_Defining_Identifier
1686 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
1690 function Next_Named_Actual
1691 (N
: Node_Id
) return Node_Id
is
1693 pragma Assert
(False
1694 or else NT
(N
).Nkind
= N_Parameter_Association
);
1696 end Next_Named_Actual
;
1698 function Next_Rep_Item
1699 (N
: Node_Id
) return Node_Id
is
1701 pragma Assert
(False
1702 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1703 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1704 or else NT
(N
).Nkind
= N_Pragma
1705 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1709 function Next_Use_Clause
1710 (N
: Node_Id
) return Node_Id
is
1712 pragma Assert
(False
1713 or else NT
(N
).Nkind
= N_Use_Package_Clause
1714 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1716 end Next_Use_Clause
;
1718 function No_Ctrl_Actions
1719 (N
: Node_Id
) return Boolean is
1721 pragma Assert
(False
1722 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1724 end No_Ctrl_Actions
;
1726 function No_Entities_Ref_In_Spec
1727 (N
: Node_Id
) return Boolean is
1729 pragma Assert
(False
1730 or else NT
(N
).Nkind
= N_With_Clause
);
1732 end No_Entities_Ref_In_Spec
;
1734 function No_Initialization
1735 (N
: Node_Id
) return Boolean is
1737 pragma Assert
(False
1738 or else NT
(N
).Nkind
= N_Allocator
1739 or else NT
(N
).Nkind
= N_Object_Declaration
);
1741 end No_Initialization
;
1743 function Null_Present
1744 (N
: Node_Id
) return Boolean is
1746 pragma Assert
(False
1747 or else NT
(N
).Nkind
= N_Component_List
1748 or else NT
(N
).Nkind
= N_Record_Definition
);
1752 function Null_Record_Present
1753 (N
: Node_Id
) return Boolean is
1755 pragma Assert
(False
1756 or else NT
(N
).Nkind
= N_Aggregate
1757 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1759 end Null_Record_Present
;
1761 function Object_Definition
1762 (N
: Node_Id
) return Node_Id
is
1764 pragma Assert
(False
1765 or else NT
(N
).Nkind
= N_Object_Declaration
);
1767 end Object_Definition
;
1769 function OK_For_Stream
1770 (N
: Node_Id
) return Boolean is
1772 pragma Assert
(False
1773 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1777 function Original_Discriminant
1778 (N
: Node_Id
) return Node_Id
is
1780 pragma Assert
(False
1781 or else NT
(N
).Nkind
= N_Identifier
);
1783 end Original_Discriminant
;
1785 function Others_Discrete_Choices
1786 (N
: Node_Id
) return List_Id
is
1788 pragma Assert
(False
1789 or else NT
(N
).Nkind
= N_Others_Choice
);
1791 end Others_Discrete_Choices
;
1793 function Out_Present
1794 (N
: Node_Id
) return Boolean is
1796 pragma Assert
(False
1797 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1798 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1802 function Parameter_Associations
1803 (N
: Node_Id
) return List_Id
is
1805 pragma Assert
(False
1806 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1807 or else NT
(N
).Nkind
= N_Function_Call
1808 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1810 end Parameter_Associations
;
1812 function Parameter_List_Truncated
1813 (N
: Node_Id
) return Boolean is
1815 pragma Assert
(False
1816 or else NT
(N
).Nkind
= N_Function_Call
1817 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1819 end Parameter_List_Truncated
;
1821 function Parameter_Specifications
1822 (N
: Node_Id
) return List_Id
is
1824 pragma Assert
(False
1825 or else NT
(N
).Nkind
= N_Accept_Statement
1826 or else NT
(N
).Nkind
= N_Access_Function_Definition
1827 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
1828 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
1829 or else NT
(N
).Nkind
= N_Entry_Declaration
1830 or else NT
(N
).Nkind
= N_Function_Specification
1831 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1833 end Parameter_Specifications
;
1835 function Parameter_Type
1836 (N
: Node_Id
) return Node_Id
is
1838 pragma Assert
(False
1839 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1843 function Parent_Spec
1844 (N
: Node_Id
) return Node_Id
is
1846 pragma Assert
(False
1847 or else NT
(N
).Nkind
= N_Function_Instantiation
1848 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1849 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1850 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1851 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1852 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
1853 or else NT
(N
).Nkind
= N_Package_Declaration
1854 or else NT
(N
).Nkind
= N_Package_Instantiation
1855 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1856 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1857 or else NT
(N
).Nkind
= N_Subprogram_Declaration
1858 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
1863 (N
: Node_Id
) return Node_Id
is
1865 pragma Assert
(False
1866 or else NT
(N
).Nkind
= N_Component_Clause
);
1870 function Pragma_Argument_Associations
1871 (N
: Node_Id
) return List_Id
is
1873 pragma Assert
(False
1874 or else NT
(N
).Nkind
= N_Pragma
);
1876 end Pragma_Argument_Associations
;
1878 function Pragmas_After
1879 (N
: Node_Id
) return List_Id
is
1881 pragma Assert
(False
1882 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
1883 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
1887 function Pragmas_Before
1888 (N
: Node_Id
) return List_Id
is
1890 pragma Assert
(False
1891 or else NT
(N
).Nkind
= N_Accept_Alternative
1892 or else NT
(N
).Nkind
= N_Delay_Alternative
1893 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
1894 or else NT
(N
).Nkind
= N_Mod_Clause
1895 or else NT
(N
).Nkind
= N_Terminate_Alternative
1896 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
1901 (N
: Node_Id
) return Node_Id
is
1903 pragma Assert
(False
1904 or else NT
(N
).Nkind
= N_Attribute_Reference
1905 or else NT
(N
).Nkind
= N_Expanded_Name
1906 or else NT
(N
).Nkind
= N_Explicit_Dereference
1907 or else NT
(N
).Nkind
= N_Indexed_Component
1908 or else NT
(N
).Nkind
= N_Reference
1909 or else NT
(N
).Nkind
= N_Selected_Component
1910 or else NT
(N
).Nkind
= N_Slice
);
1914 function Present_Expr
1915 (N
: Node_Id
) return Uint
is
1917 pragma Assert
(False
1918 or else NT
(N
).Nkind
= N_Variant
);
1923 (N
: Node_Id
) return Boolean is
1925 pragma Assert
(False
1926 or else NT
(N
).Nkind
= N_Component_Declaration
1927 or else NT
(N
).Nkind
= N_Discriminant_Specification
1928 or else NT
(N
).Nkind
= N_Exception_Declaration
1929 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1930 or else NT
(N
).Nkind
= N_Number_Declaration
1931 or else NT
(N
).Nkind
= N_Object_Declaration
1932 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1936 function Print_In_Hex
1937 (N
: Node_Id
) return Boolean is
1939 pragma Assert
(False
1940 or else NT
(N
).Nkind
= N_Integer_Literal
);
1944 function Private_Declarations
1945 (N
: Node_Id
) return List_Id
is
1947 pragma Assert
(False
1948 or else NT
(N
).Nkind
= N_Package_Specification
1949 or else NT
(N
).Nkind
= N_Protected_Definition
1950 or else NT
(N
).Nkind
= N_Task_Definition
);
1952 end Private_Declarations
;
1954 function Private_Present
1955 (N
: Node_Id
) return Boolean is
1957 pragma Assert
(False
1958 or else NT
(N
).Nkind
= N_Compilation_Unit
1959 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
);
1961 end Private_Present
;
1963 function Procedure_To_Call
1964 (N
: Node_Id
) return Node_Id
is
1966 pragma Assert
(False
1967 or else NT
(N
).Nkind
= N_Allocator
1968 or else NT
(N
).Nkind
= N_Free_Statement
1969 or else NT
(N
).Nkind
= N_Return_Statement
);
1971 end Procedure_To_Call
;
1973 function Proper_Body
1974 (N
: Node_Id
) return Node_Id
is
1976 pragma Assert
(False
1977 or else NT
(N
).Nkind
= N_Subunit
);
1981 function Protected_Definition
1982 (N
: Node_Id
) return Node_Id
is
1984 pragma Assert
(False
1985 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
1986 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
1988 end Protected_Definition
;
1990 function Protected_Present
1991 (N
: Node_Id
) return Boolean is
1993 pragma Assert
(False
1994 or else NT
(N
).Nkind
= N_Access_Function_Definition
1995 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
);
1997 end Protected_Present
;
1999 function Raises_Constraint_Error
2000 (N
: Node_Id
) return Boolean is
2002 pragma Assert
(False
2003 or else NT
(N
).Nkind
in N_Subexpr
);
2005 end Raises_Constraint_Error
;
2007 function Range_Constraint
2008 (N
: Node_Id
) return Node_Id
is
2010 pragma Assert
(False
2011 or else NT
(N
).Nkind
= N_Delta_Constraint
2012 or else NT
(N
).Nkind
= N_Digits_Constraint
);
2014 end Range_Constraint
;
2016 function Range_Expression
2017 (N
: Node_Id
) return Node_Id
is
2019 pragma Assert
(False
2020 or else NT
(N
).Nkind
= N_Range_Constraint
);
2022 end Range_Expression
;
2024 function Real_Range_Specification
2025 (N
: Node_Id
) return Node_Id
is
2027 pragma Assert
(False
2028 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
2029 or else NT
(N
).Nkind
= N_Floating_Point_Definition
2030 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
2032 end Real_Range_Specification
;
2035 (N
: Node_Id
) return Ureal
is
2037 pragma Assert
(False
2038 or else NT
(N
).Nkind
= N_Real_Literal
);
2043 (N
: Node_Id
) return Uint
is
2045 pragma Assert
(False
2046 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2047 or else NT
(N
).Nkind
= N_Raise_Program_Error
2048 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
2052 function Record_Extension_Part
2053 (N
: Node_Id
) return Node_Id
is
2055 pragma Assert
(False
2056 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
2058 end Record_Extension_Part
;
2060 function Redundant_Use
2061 (N
: Node_Id
) return Boolean is
2063 pragma Assert
(False
2064 or else NT
(N
).Nkind
= N_Attribute_Reference
2065 or else NT
(N
).Nkind
= N_Expanded_Name
2066 or else NT
(N
).Nkind
= N_Identifier
);
2070 function Return_Type
2071 (N
: Node_Id
) return Node_Id
is
2073 pragma Assert
(False
2074 or else NT
(N
).Nkind
= N_Return_Statement
);
2078 function Reverse_Present
2079 (N
: Node_Id
) return Boolean is
2081 pragma Assert
(False
2082 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
2084 end Reverse_Present
;
2087 (N
: Node_Id
) return Node_Id
is
2089 pragma Assert
(False
2090 or else NT
(N
).Nkind
in N_Op
2091 or else NT
(N
).Nkind
= N_And_Then
2092 or else NT
(N
).Nkind
= N_In
2093 or else NT
(N
).Nkind
= N_Not_In
2094 or else NT
(N
).Nkind
= N_Or_Else
);
2098 function Rounded_Result
2099 (N
: Node_Id
) return Boolean is
2101 pragma Assert
(False
2102 or else NT
(N
).Nkind
= N_Op_Divide
2103 or else NT
(N
).Nkind
= N_Op_Multiply
2104 or else NT
(N
).Nkind
= N_Type_Conversion
);
2109 (N
: Node_Id
) return Node_Id
is
2111 pragma Assert
(False
2112 or else NT
(N
).Nkind
= N_Defining_Character_Literal
2113 or else NT
(N
).Nkind
= N_Defining_Identifier
2114 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
2118 function Select_Alternatives
2119 (N
: Node_Id
) return List_Id
is
2121 pragma Assert
(False
2122 or else NT
(N
).Nkind
= N_Selective_Accept
);
2124 end Select_Alternatives
;
2126 function Selector_Name
2127 (N
: Node_Id
) return Node_Id
is
2129 pragma Assert
(False
2130 or else NT
(N
).Nkind
= N_Expanded_Name
2131 or else NT
(N
).Nkind
= N_Generic_Association
2132 or else NT
(N
).Nkind
= N_Parameter_Association
2133 or else NT
(N
).Nkind
= N_Selected_Component
);
2137 function Selector_Names
2138 (N
: Node_Id
) return List_Id
is
2140 pragma Assert
(False
2141 or else NT
(N
).Nkind
= N_Discriminant_Association
);
2145 function Shift_Count_OK
2146 (N
: Node_Id
) return Boolean is
2148 pragma Assert
(False
2149 or else NT
(N
).Nkind
= N_Op_Rotate_Left
2150 or else NT
(N
).Nkind
= N_Op_Rotate_Right
2151 or else NT
(N
).Nkind
= N_Op_Shift_Left
2152 or else NT
(N
).Nkind
= N_Op_Shift_Right
2153 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
2157 function Source_Type
2158 (N
: Node_Id
) return Entity_Id
is
2160 pragma Assert
(False
2161 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2165 function Specification
2166 (N
: Node_Id
) return Node_Id
is
2168 pragma Assert
(False
2169 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
2170 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
2171 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2172 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2173 or else NT
(N
).Nkind
= N_Package_Declaration
2174 or else NT
(N
).Nkind
= N_Subprogram_Body
2175 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
2176 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2177 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2182 (N
: Node_Id
) return List_Id
is
2184 pragma Assert
(False
2185 or else NT
(N
).Nkind
= N_Abortable_Part
2186 or else NT
(N
).Nkind
= N_Accept_Alternative
2187 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
2188 or else NT
(N
).Nkind
= N_Delay_Alternative
2189 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2190 or else NT
(N
).Nkind
= N_Exception_Handler
2191 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
2192 or else NT
(N
).Nkind
= N_Loop_Statement
2193 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2197 function Static_Processing_OK
2198 (N
: Node_Id
) return Boolean is
2200 pragma Assert
(False
2201 or else NT
(N
).Nkind
= N_Aggregate
);
2203 end Static_Processing_OK
;
2205 function Storage_Pool
2206 (N
: Node_Id
) return Node_Id
is
2208 pragma Assert
(False
2209 or else NT
(N
).Nkind
= N_Allocator
2210 or else NT
(N
).Nkind
= N_Free_Statement
2211 or else NT
(N
).Nkind
= N_Return_Statement
);
2216 (N
: Node_Id
) return String_Id
is
2218 pragma Assert
(False
2219 or else NT
(N
).Nkind
= N_Operator_Symbol
2220 or else NT
(N
).Nkind
= N_String_Literal
);
2224 function Subtype_Indication
2225 (N
: Node_Id
) return Node_Id
is
2227 pragma Assert
(False
2228 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2229 or else NT
(N
).Nkind
= N_Component_Declaration
2230 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
2231 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2232 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2233 or else NT
(N
).Nkind
= N_Subtype_Declaration
2234 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
2236 end Subtype_Indication
;
2238 function Subtype_Mark
2239 (N
: Node_Id
) return Node_Id
is
2241 pragma Assert
(False
2242 or else NT
(N
).Nkind
= N_Access_Definition
2243 or else NT
(N
).Nkind
= N_Access_Function_Definition
2244 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2245 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2246 or else NT
(N
).Nkind
= N_Function_Specification
2247 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2248 or else NT
(N
).Nkind
= N_Qualified_Expression
2249 or else NT
(N
).Nkind
= N_Subtype_Indication
2250 or else NT
(N
).Nkind
= N_Type_Conversion
2251 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2255 function Subtype_Marks
2256 (N
: Node_Id
) return List_Id
is
2258 pragma Assert
(False
2259 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
2260 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2264 function Tagged_Present
2265 (N
: Node_Id
) return Boolean is
2267 pragma Assert
(False
2268 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2269 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2270 or else NT
(N
).Nkind
= N_Record_Definition
2271 or else NT
(N
).Nkind
= N_With_Type_Clause
);
2275 function Target_Type
2276 (N
: Node_Id
) return Entity_Id
is
2278 pragma Assert
(False
2279 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2283 function Task_Body_Procedure
2284 (N
: Node_Id
) return Entity_Id
is
2286 pragma Assert
(False
2287 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2289 end Task_Body_Procedure
;
2291 function Task_Definition
2292 (N
: Node_Id
) return Node_Id
is
2294 pragma Assert
(False
2295 or else NT
(N
).Nkind
= N_Single_Task_Declaration
2296 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2298 end Task_Definition
;
2300 function Then_Actions
2301 (N
: Node_Id
) return List_Id
is
2303 pragma Assert
(False
2304 or else NT
(N
).Nkind
= N_Conditional_Expression
);
2308 function Then_Statements
2309 (N
: Node_Id
) return List_Id
is
2311 pragma Assert
(False
2312 or else NT
(N
).Nkind
= N_Elsif_Part
2313 or else NT
(N
).Nkind
= N_If_Statement
);
2315 end Then_Statements
;
2317 function Treat_Fixed_As_Integer
2318 (N
: Node_Id
) return Boolean is
2320 pragma Assert
(False
2321 or else NT
(N
).Nkind
= N_Op_Divide
2322 or else NT
(N
).Nkind
= N_Op_Mod
2323 or else NT
(N
).Nkind
= N_Op_Multiply
2324 or else NT
(N
).Nkind
= N_Op_Rem
);
2326 end Treat_Fixed_As_Integer
;
2328 function Triggering_Alternative
2329 (N
: Node_Id
) return Node_Id
is
2331 pragma Assert
(False
2332 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2334 end Triggering_Alternative
;
2336 function Triggering_Statement
2337 (N
: Node_Id
) return Node_Id
is
2339 pragma Assert
(False
2340 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2342 end Triggering_Statement
;
2345 (N
: Node_Id
) return Elist_Id
is
2347 pragma Assert
(False
2348 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2352 function Type_Definition
2353 (N
: Node_Id
) return Node_Id
is
2355 pragma Assert
(False
2356 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
2358 end Type_Definition
;
2361 (N
: Node_Id
) return Node_Id
is
2363 pragma Assert
(False
2364 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2368 function Unknown_Discriminants_Present
2369 (N
: Node_Id
) return Boolean is
2371 pragma Assert
(False
2372 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
2373 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2374 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2375 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
2377 end Unknown_Discriminants_Present
;
2379 function Unreferenced_In_Spec
2380 (N
: Node_Id
) return Boolean is
2382 pragma Assert
(False
2383 or else NT
(N
).Nkind
= N_With_Clause
);
2385 end Unreferenced_In_Spec
;
2387 function Variant_Part
2388 (N
: Node_Id
) return Node_Id
is
2390 pragma Assert
(False
2391 or else NT
(N
).Nkind
= N_Component_List
);
2396 (N
: Node_Id
) return List_Id
is
2398 pragma Assert
(False
2399 or else NT
(N
).Nkind
= N_Variant_Part
);
2403 function Visible_Declarations
2404 (N
: Node_Id
) return List_Id
is
2406 pragma Assert
(False
2407 or else NT
(N
).Nkind
= N_Package_Specification
2408 or else NT
(N
).Nkind
= N_Protected_Definition
2409 or else NT
(N
).Nkind
= N_Task_Definition
);
2411 end Visible_Declarations
;
2413 function Was_Originally_Stub
2414 (N
: Node_Id
) return Boolean is
2416 pragma Assert
(False
2417 or else NT
(N
).Nkind
= N_Package_Body
2418 or else NT
(N
).Nkind
= N_Protected_Body
2419 or else NT
(N
).Nkind
= N_Subprogram_Body
2420 or else NT
(N
).Nkind
= N_Task_Body
);
2422 end Was_Originally_Stub
;
2424 function Zero_Cost_Handling
2425 (N
: Node_Id
) return Boolean is
2427 pragma Assert
(False
2428 or else NT
(N
).Nkind
= N_Exception_Handler
2429 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2431 end Zero_Cost_Handling
;
2433 --------------------------
2434 -- Field Set Procedures --
2435 --------------------------
2437 procedure Set_ABE_Is_Certain
2438 (N
: Node_Id
; Val
: Boolean := True) is
2440 pragma Assert
(False
2441 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2442 or else NT
(N
).Nkind
= N_Function_Call
2443 or else NT
(N
).Nkind
= N_Function_Instantiation
2444 or else NT
(N
).Nkind
= N_Package_Instantiation
2445 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
2446 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
2447 Set_Flag18
(N
, Val
);
2448 end Set_ABE_Is_Certain
;
2450 procedure Set_Abort_Present
2451 (N
: Node_Id
; Val
: Boolean := True) is
2453 pragma Assert
(False
2454 or else NT
(N
).Nkind
= N_Requeue_Statement
);
2455 Set_Flag15
(N
, Val
);
2456 end Set_Abort_Present
;
2458 procedure Set_Abortable_Part
2459 (N
: Node_Id
; Val
: Node_Id
) is
2461 pragma Assert
(False
2462 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2463 Set_Node2_With_Parent
(N
, Val
);
2464 end Set_Abortable_Part
;
2466 procedure Set_Abstract_Present
2467 (N
: Node_Id
; Val
: Boolean := True) is
2469 pragma Assert
(False
2470 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2471 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2472 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2473 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2474 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2475 or else NT
(N
).Nkind
= N_Record_Definition
);
2477 end Set_Abstract_Present
;
2479 procedure Set_Accept_Handler_Records
2480 (N
: Node_Id
; Val
: List_Id
) is
2482 pragma Assert
(False
2483 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2484 Set_List5
(N
, Val
); -- semantic field, no parent set
2485 end Set_Accept_Handler_Records
;
2487 procedure Set_Accept_Statement
2488 (N
: Node_Id
; Val
: Node_Id
) is
2490 pragma Assert
(False
2491 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2492 Set_Node2_With_Parent
(N
, Val
);
2493 end Set_Accept_Statement
;
2495 procedure Set_Access_Types_To_Process
2496 (N
: Node_Id
; Val
: Elist_Id
) is
2498 pragma Assert
(False
2499 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2500 Set_Elist2
(N
, Val
); -- semantic field, no parent set
2501 end Set_Access_Types_To_Process
;
2503 procedure Set_Actions
2504 (N
: Node_Id
; Val
: List_Id
) is
2506 pragma Assert
(False
2507 or else NT
(N
).Nkind
= N_And_Then
2508 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2509 or else NT
(N
).Nkind
= N_Freeze_Entity
2510 or else NT
(N
).Nkind
= N_Or_Else
);
2511 Set_List1_With_Parent
(N
, Val
);
2514 procedure Set_Activation_Chain_Entity
2515 (N
: Node_Id
; Val
: Node_Id
) is
2517 pragma Assert
(False
2518 or else NT
(N
).Nkind
= N_Block_Statement
2519 or else NT
(N
).Nkind
= N_Entry_Body
2520 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2521 or else NT
(N
).Nkind
= N_Package_Declaration
2522 or else NT
(N
).Nkind
= N_Subprogram_Body
2523 or else NT
(N
).Nkind
= N_Task_Body
);
2524 Set_Node3
(N
, Val
); -- semantic field, no parent set
2525 end Set_Activation_Chain_Entity
;
2527 procedure Set_Acts_As_Spec
2528 (N
: Node_Id
; Val
: Boolean := True) is
2530 pragma Assert
(False
2531 or else NT
(N
).Nkind
= N_Compilation_Unit
2532 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2534 end Set_Acts_As_Spec
;
2536 procedure Set_Aggregate_Bounds
2537 (N
: Node_Id
; Val
: Node_Id
) is
2539 pragma Assert
(False
2540 or else NT
(N
).Nkind
= N_Aggregate
);
2541 Set_Node3
(N
, Val
); -- semantic field, no parent set
2542 end Set_Aggregate_Bounds
;
2544 procedure Set_Aliased_Present
2545 (N
: Node_Id
; Val
: Boolean := True) is
2547 pragma Assert
(False
2548 or else NT
(N
).Nkind
= N_Component_Declaration
2549 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
2550 or else NT
(N
).Nkind
= N_Object_Declaration
2551 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
2553 end Set_Aliased_Present
;
2555 procedure Set_All_Others
2556 (N
: Node_Id
; Val
: Boolean := True) is
2558 pragma Assert
(False
2559 or else NT
(N
).Nkind
= N_Others_Choice
);
2560 Set_Flag11
(N
, Val
);
2563 procedure Set_All_Present
2564 (N
: Node_Id
; Val
: Boolean := True) is
2566 pragma Assert
(False
2567 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
2568 Set_Flag15
(N
, Val
);
2569 end Set_All_Present
;
2571 procedure Set_Alternatives
2572 (N
: Node_Id
; Val
: List_Id
) is
2574 pragma Assert
(False
2575 or else NT
(N
).Nkind
= N_Case_Statement
);
2576 Set_List4_With_Parent
(N
, Val
);
2577 end Set_Alternatives
;
2579 procedure Set_Ancestor_Part
2580 (N
: Node_Id
; Val
: Node_Id
) is
2582 pragma Assert
(False
2583 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2584 Set_Node3_With_Parent
(N
, Val
);
2585 end Set_Ancestor_Part
;
2587 procedure Set_Array_Aggregate
2588 (N
: Node_Id
; Val
: Node_Id
) is
2590 pragma Assert
(False
2591 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
2592 Set_Node3_With_Parent
(N
, Val
);
2593 end Set_Array_Aggregate
;
2595 procedure Set_Assignment_OK
2596 (N
: Node_Id
; Val
: Boolean := True) is
2598 pragma Assert
(False
2599 or else NT
(N
).Nkind
= N_Object_Declaration
2600 or else NT
(N
).Nkind
in N_Subexpr
);
2601 Set_Flag15
(N
, Val
);
2602 end Set_Assignment_OK
;
2604 procedure Set_Associated_Node
2605 (N
: Node_Id
; Val
: Node_Id
) is
2607 pragma Assert
(False
2608 or else NT
(N
).Nkind
in N_Has_Entity
2609 or else NT
(N
).Nkind
= N_Aggregate
2610 or else NT
(N
).Nkind
= N_Extension_Aggregate
2611 or else NT
(N
).Nkind
= N_Selected_Component
);
2612 Set_Node4
(N
, Val
); -- semantic field, no parent set
2613 end Set_Associated_Node
;
2615 procedure Set_At_End_Proc
2616 (N
: Node_Id
; Val
: Node_Id
) is
2618 pragma Assert
(False
2619 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2621 end Set_At_End_Proc
;
2623 procedure Set_Attribute_Name
2624 (N
: Node_Id
; Val
: Name_Id
) is
2626 pragma Assert
(False
2627 or else NT
(N
).Nkind
= N_Attribute_Reference
);
2629 end Set_Attribute_Name
;
2631 procedure Set_Aux_Decls_Node
2632 (N
: Node_Id
; Val
: Node_Id
) is
2634 pragma Assert
(False
2635 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2636 Set_Node5_With_Parent
(N
, Val
);
2637 end Set_Aux_Decls_Node
;
2639 procedure Set_Backwards_OK
2640 (N
: Node_Id
; Val
: Boolean := True) is
2642 pragma Assert
(False
2643 or else NT
(N
).Nkind
= N_Assignment_Statement
);
2645 end Set_Backwards_OK
;
2647 procedure Set_Bad_Is_Detected
2648 (N
: Node_Id
; Val
: Boolean := True) is
2650 pragma Assert
(False
2651 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2652 Set_Flag15
(N
, Val
);
2653 end Set_Bad_Is_Detected
;
2655 procedure Set_Body_Required
2656 (N
: Node_Id
; Val
: Boolean := True) is
2658 pragma Assert
(False
2659 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2660 Set_Flag13
(N
, Val
);
2661 end Set_Body_Required
;
2663 procedure Set_Body_To_Inline
2664 (N
: Node_Id
; Val
: Node_Id
) is
2666 pragma Assert
(False
2667 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
2669 end Set_Body_To_Inline
;
2671 procedure Set_Box_Present
2672 (N
: Node_Id
; Val
: Boolean := True) is
2674 pragma Assert
(False
2675 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2676 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
);
2677 Set_Flag15
(N
, Val
);
2678 end Set_Box_Present
;
2680 procedure Set_By_Ref
2681 (N
: Node_Id
; Val
: Boolean := True) is
2683 pragma Assert
(False
2684 or else NT
(N
).Nkind
= N_Return_Statement
);
2688 procedure Set_Char_Literal_Value
2689 (N
: Node_Id
; Val
: Char_Code
) is
2691 pragma Assert
(False
2692 or else NT
(N
).Nkind
= N_Character_Literal
);
2693 Set_Char_Code2
(N
, Val
);
2694 end Set_Char_Literal_Value
;
2697 (N
: Node_Id
; Val
: Name_Id
) is
2699 pragma Assert
(False
2700 or else NT
(N
).Nkind
in N_Has_Chars
);
2704 procedure Set_Choice_Parameter
2705 (N
: Node_Id
; Val
: Node_Id
) is
2707 pragma Assert
(False
2708 or else NT
(N
).Nkind
= N_Exception_Handler
);
2709 Set_Node2_With_Parent
(N
, Val
);
2710 end Set_Choice_Parameter
;
2712 procedure Set_Choices
2713 (N
: Node_Id
; Val
: List_Id
) is
2715 pragma Assert
(False
2716 or else NT
(N
).Nkind
= N_Component_Association
);
2717 Set_List1_With_Parent
(N
, Val
);
2720 procedure Set_Compile_Time_Known_Aggregate
2721 (N
: Node_Id
; Val
: Boolean := True) is
2723 pragma Assert
(False
2724 or else NT
(N
).Nkind
= N_Aggregate
);
2725 Set_Flag18
(N
, Val
);
2726 end Set_Compile_Time_Known_Aggregate
;
2728 procedure Set_Component_Associations
2729 (N
: Node_Id
; Val
: List_Id
) is
2731 pragma Assert
(False
2732 or else NT
(N
).Nkind
= N_Aggregate
2733 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2734 Set_List2_With_Parent
(N
, Val
);
2735 end Set_Component_Associations
;
2737 procedure Set_Component_Clauses
2738 (N
: Node_Id
; Val
: List_Id
) is
2740 pragma Assert
(False
2741 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
2742 Set_List3_With_Parent
(N
, Val
);
2743 end Set_Component_Clauses
;
2745 procedure Set_Component_Items
2746 (N
: Node_Id
; Val
: List_Id
) is
2748 pragma Assert
(False
2749 or else NT
(N
).Nkind
= N_Component_List
);
2750 Set_List3_With_Parent
(N
, Val
);
2751 end Set_Component_Items
;
2753 procedure Set_Component_List
2754 (N
: Node_Id
; Val
: Node_Id
) is
2756 pragma Assert
(False
2757 or else NT
(N
).Nkind
= N_Record_Definition
2758 or else NT
(N
).Nkind
= N_Variant
);
2759 Set_Node1_With_Parent
(N
, Val
);
2760 end Set_Component_List
;
2762 procedure Set_Component_Name
2763 (N
: Node_Id
; Val
: Node_Id
) is
2765 pragma Assert
(False
2766 or else NT
(N
).Nkind
= N_Component_Clause
);
2767 Set_Node1_With_Parent
(N
, Val
);
2768 end Set_Component_Name
;
2770 procedure Set_Condition
2771 (N
: Node_Id
; Val
: Node_Id
) is
2773 pragma Assert
(False
2774 or else NT
(N
).Nkind
= N_Accept_Alternative
2775 or else NT
(N
).Nkind
= N_Delay_Alternative
2776 or else NT
(N
).Nkind
= N_Elsif_Part
2777 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
2778 or else NT
(N
).Nkind
= N_Exit_Statement
2779 or else NT
(N
).Nkind
= N_If_Statement
2780 or else NT
(N
).Nkind
= N_Iteration_Scheme
2781 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2782 or else NT
(N
).Nkind
= N_Raise_Program_Error
2783 or else NT
(N
).Nkind
= N_Raise_Storage_Error
2784 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
2785 Set_Node1_With_Parent
(N
, Val
);
2788 procedure Set_Condition_Actions
2789 (N
: Node_Id
; Val
: List_Id
) is
2791 pragma Assert
(False
2792 or else NT
(N
).Nkind
= N_Elsif_Part
2793 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
2794 Set_List3
(N
, Val
); -- semantic field, no parent set
2795 end Set_Condition_Actions
;
2797 procedure Set_Constant_Present
2798 (N
: Node_Id
; Val
: Boolean := True) is
2800 pragma Assert
(False
2801 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2802 or else NT
(N
).Nkind
= N_Object_Declaration
);
2803 Set_Flag17
(N
, Val
);
2804 end Set_Constant_Present
;
2806 procedure Set_Constraint
2807 (N
: Node_Id
; Val
: Node_Id
) is
2809 pragma Assert
(False
2810 or else NT
(N
).Nkind
= N_Subtype_Indication
);
2811 Set_Node3_With_Parent
(N
, Val
);
2814 procedure Set_Constraints
2815 (N
: Node_Id
; Val
: List_Id
) is
2817 pragma Assert
(False
2818 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
2819 Set_List1_With_Parent
(N
, Val
);
2820 end Set_Constraints
;
2822 procedure Set_Context_Installed
2823 (N
: Node_Id
; Val
: Boolean := True) is
2825 pragma Assert
(False
2826 or else NT
(N
).Nkind
= N_With_Clause
);
2827 Set_Flag13
(N
, Val
);
2828 end Set_Context_Installed
;
2830 procedure Set_Context_Items
2831 (N
: Node_Id
; Val
: List_Id
) is
2833 pragma Assert
(False
2834 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2835 Set_List1_With_Parent
(N
, Val
);
2836 end Set_Context_Items
;
2838 procedure Set_Controlling_Argument
2839 (N
: Node_Id
; Val
: Node_Id
) is
2841 pragma Assert
(False
2842 or else NT
(N
).Nkind
= N_Function_Call
2843 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2844 Set_Node1
(N
, Val
); -- semantic field, no parent set
2845 end Set_Controlling_Argument
;
2847 procedure Set_Conversion_OK
2848 (N
: Node_Id
; Val
: Boolean := True) is
2850 pragma Assert
(False
2851 or else NT
(N
).Nkind
= N_Type_Conversion
);
2852 Set_Flag14
(N
, Val
);
2853 end Set_Conversion_OK
;
2855 procedure Set_Corresponding_Body
2856 (N
: Node_Id
; Val
: Node_Id
) is
2858 pragma Assert
(False
2859 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2860 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2861 or else NT
(N
).Nkind
= N_Package_Body_Stub
2862 or else NT
(N
).Nkind
= N_Package_Declaration
2863 or else NT
(N
).Nkind
= N_Protected_Body_Stub
2864 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
2865 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
2866 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2867 or else NT
(N
).Nkind
= N_Task_Body_Stub
2868 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2869 Set_Node5
(N
, Val
); -- semantic field, no parent set
2870 end Set_Corresponding_Body
;
2872 procedure Set_Corresponding_Generic_Association
2873 (N
: Node_Id
; Val
: Node_Id
) is
2875 pragma Assert
(False
2876 or else NT
(N
).Nkind
= N_Object_Declaration
2877 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
2878 Set_Node5
(N
, Val
); -- semantic field, no parent set
2879 end Set_Corresponding_Generic_Association
;
2880 procedure Set_Corresponding_Integer_Value
2881 (N
: Node_Id
; Val
: Uint
) is
2883 pragma Assert
(False
2884 or else NT
(N
).Nkind
= N_Real_Literal
);
2885 Set_Uint4
(N
, Val
); -- semantic field, no parent set
2886 end Set_Corresponding_Integer_Value
;
2888 procedure Set_Corresponding_Spec
2889 (N
: Node_Id
; Val
: Node_Id
) is
2891 pragma Assert
(False
2892 or else NT
(N
).Nkind
= N_Package_Body
2893 or else NT
(N
).Nkind
= N_Protected_Body
2894 or else NT
(N
).Nkind
= N_Subprogram_Body
2895 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
2896 or else NT
(N
).Nkind
= N_Task_Body
2897 or else NT
(N
).Nkind
= N_With_Clause
);
2898 Set_Node5
(N
, Val
); -- semantic field, no parent set
2899 end Set_Corresponding_Spec
;
2901 procedure Set_Corresponding_Stub
2902 (N
: Node_Id
; Val
: Node_Id
) is
2904 pragma Assert
(False
2905 or else NT
(N
).Nkind
= N_Subunit
);
2907 end Set_Corresponding_Stub
;
2909 procedure Set_Dcheck_Function
2910 (N
: Node_Id
; Val
: Entity_Id
) is
2912 pragma Assert
(False
2913 or else NT
(N
).Nkind
= N_Variant
);
2914 Set_Node5
(N
, Val
); -- semantic field, no parent set
2915 end Set_Dcheck_Function
;
2917 procedure Set_Debug_Statement
2918 (N
: Node_Id
; Val
: Node_Id
) is
2920 pragma Assert
(False
2921 or else NT
(N
).Nkind
= N_Pragma
);
2922 Set_Node3_With_Parent
(N
, Val
);
2923 end Set_Debug_Statement
;
2925 procedure Set_Declarations
2926 (N
: Node_Id
; Val
: List_Id
) is
2928 pragma Assert
(False
2929 or else NT
(N
).Nkind
= N_Accept_Statement
2930 or else NT
(N
).Nkind
= N_Block_Statement
2931 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2932 or else NT
(N
).Nkind
= N_Entry_Body
2933 or else NT
(N
).Nkind
= N_Package_Body
2934 or else NT
(N
).Nkind
= N_Protected_Body
2935 or else NT
(N
).Nkind
= N_Subprogram_Body
2936 or else NT
(N
).Nkind
= N_Task_Body
);
2937 Set_List2_With_Parent
(N
, Val
);
2938 end Set_Declarations
;
2940 procedure Set_Default_Expression
2941 (N
: Node_Id
; Val
: Node_Id
) is
2943 pragma Assert
(False
2944 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2945 Set_Node5
(N
, Val
); -- semantic field, no parent set
2946 end Set_Default_Expression
;
2948 procedure Set_Default_Name
2949 (N
: Node_Id
; Val
: Node_Id
) is
2951 pragma Assert
(False
2952 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
);
2953 Set_Node2_With_Parent
(N
, Val
);
2954 end Set_Default_Name
;
2956 procedure Set_Defining_Identifier
2957 (N
: Node_Id
; Val
: Entity_Id
) is
2959 pragma Assert
(False
2960 or else NT
(N
).Nkind
= N_Component_Declaration
2961 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
2962 or else NT
(N
).Nkind
= N_Discriminant_Specification
2963 or else NT
(N
).Nkind
= N_Entry_Body
2964 or else NT
(N
).Nkind
= N_Entry_Declaration
2965 or else NT
(N
).Nkind
= N_Entry_Index_Specification
2966 or else NT
(N
).Nkind
= N_Exception_Declaration
2967 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
2968 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2969 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2970 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
2971 or else NT
(N
).Nkind
= N_Full_Type_Declaration
2972 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
2973 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2974 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
2975 or else NT
(N
).Nkind
= N_Number_Declaration
2976 or else NT
(N
).Nkind
= N_Object_Declaration
2977 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2978 or else NT
(N
).Nkind
= N_Package_Body_Stub
2979 or else NT
(N
).Nkind
= N_Parameter_Specification
2980 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2981 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2982 or else NT
(N
).Nkind
= N_Protected_Body
2983 or else NT
(N
).Nkind
= N_Protected_Body_Stub
2984 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
2985 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
2986 or else NT
(N
).Nkind
= N_Single_Task_Declaration
2987 or else NT
(N
).Nkind
= N_Subtype_Declaration
2988 or else NT
(N
).Nkind
= N_Task_Body
2989 or else NT
(N
).Nkind
= N_Task_Body_Stub
2990 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2991 Set_Node1_With_Parent
(N
, Val
);
2992 end Set_Defining_Identifier
;
2994 procedure Set_Defining_Unit_Name
2995 (N
: Node_Id
; Val
: Node_Id
) is
2997 pragma Assert
(False
2998 or else NT
(N
).Nkind
= N_Function_Instantiation
2999 or else NT
(N
).Nkind
= N_Function_Specification
3000 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
3001 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
3002 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
3003 or else NT
(N
).Nkind
= N_Package_Body
3004 or else NT
(N
).Nkind
= N_Package_Instantiation
3005 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
3006 or else NT
(N
).Nkind
= N_Package_Specification
3007 or else NT
(N
).Nkind
= N_Procedure_Instantiation
3008 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3009 Set_Node1_With_Parent
(N
, Val
);
3010 end Set_Defining_Unit_Name
;
3012 procedure Set_Delay_Alternative
3013 (N
: Node_Id
; Val
: Node_Id
) is
3015 pragma Assert
(False
3016 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3017 Set_Node4_With_Parent
(N
, Val
);
3018 end Set_Delay_Alternative
;
3020 procedure Set_Delay_Finalize_Attach
3021 (N
: Node_Id
; Val
: Boolean := True) is
3023 pragma Assert
(False
3024 or else NT
(N
).Nkind
= N_Object_Declaration
);
3025 Set_Flag14
(N
, Val
);
3026 end Set_Delay_Finalize_Attach
;
3028 procedure Set_Delay_Statement
3029 (N
: Node_Id
; Val
: Node_Id
) is
3031 pragma Assert
(False
3032 or else NT
(N
).Nkind
= N_Delay_Alternative
);
3033 Set_Node2_With_Parent
(N
, Val
);
3034 end Set_Delay_Statement
;
3036 procedure Set_Delta_Expression
3037 (N
: Node_Id
; Val
: Node_Id
) is
3039 pragma Assert
(False
3040 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3041 or else NT
(N
).Nkind
= N_Delta_Constraint
3042 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
3043 Set_Node3_With_Parent
(N
, Val
);
3044 end Set_Delta_Expression
;
3046 procedure Set_Digits_Expression
3047 (N
: Node_Id
; Val
: Node_Id
) is
3049 pragma Assert
(False
3050 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3051 or else NT
(N
).Nkind
= N_Digits_Constraint
3052 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
3053 Set_Node2_With_Parent
(N
, Val
);
3054 end Set_Digits_Expression
;
3056 procedure Set_Discr_Check_Funcs_Built
3057 (N
: Node_Id
; Val
: Boolean := True) is
3059 pragma Assert
(False
3060 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
3061 Set_Flag11
(N
, Val
);
3062 end Set_Discr_Check_Funcs_Built
;
3064 procedure Set_Discrete_Choices
3065 (N
: Node_Id
; Val
: List_Id
) is
3067 pragma Assert
(False
3068 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
3069 or else NT
(N
).Nkind
= N_Variant
);
3070 Set_List4_With_Parent
(N
, Val
);
3071 end Set_Discrete_Choices
;
3073 procedure Set_Discrete_Range
3074 (N
: Node_Id
; Val
: Node_Id
) is
3076 pragma Assert
(False
3077 or else NT
(N
).Nkind
= N_Slice
);
3078 Set_Node4_With_Parent
(N
, Val
);
3079 end Set_Discrete_Range
;
3081 procedure Set_Discrete_Subtype_Definition
3082 (N
: Node_Id
; Val
: Node_Id
) is
3084 pragma Assert
(False
3085 or else NT
(N
).Nkind
= N_Entry_Declaration
3086 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3087 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
3088 Set_Node4_With_Parent
(N
, Val
);
3089 end Set_Discrete_Subtype_Definition
;
3091 procedure Set_Discrete_Subtype_Definitions
3092 (N
: Node_Id
; Val
: List_Id
) is
3094 pragma Assert
(False
3095 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
3096 Set_List2_With_Parent
(N
, Val
);
3097 end Set_Discrete_Subtype_Definitions
;
3099 procedure Set_Discriminant_Specifications
3100 (N
: Node_Id
; Val
: List_Id
) is
3102 pragma Assert
(False
3103 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3104 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3105 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3106 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3107 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3108 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3109 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3110 Set_List4_With_Parent
(N
, Val
);
3111 end Set_Discriminant_Specifications
;
3113 procedure Set_Discriminant_Type
3114 (N
: Node_Id
; Val
: Node_Id
) is
3116 pragma Assert
(False
3117 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
3118 Set_Node5_With_Parent
(N
, Val
);
3119 end Set_Discriminant_Type
;
3121 procedure Set_Do_Access_Check
3122 (N
: Node_Id
; Val
: Boolean := True) is
3124 pragma Assert
(False
3125 or else NT
(N
).Nkind
= N_Attribute_Reference
3126 or else NT
(N
).Nkind
= N_Explicit_Dereference
3127 or else NT
(N
).Nkind
= N_Indexed_Component
3128 or else NT
(N
).Nkind
= N_Selected_Component
3129 or else NT
(N
).Nkind
= N_Slice
);
3130 Set_Flag11
(N
, Val
);
3131 end Set_Do_Access_Check
;
3133 procedure Set_Do_Accessibility_Check
3134 (N
: Node_Id
; Val
: Boolean := True) is
3136 pragma Assert
(False
3137 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3138 Set_Flag13
(N
, Val
);
3139 end Set_Do_Accessibility_Check
;
3141 procedure Set_Do_Discriminant_Check
3142 (N
: Node_Id
; Val
: Boolean := True) is
3144 pragma Assert
(False
3145 or else NT
(N
).Nkind
= N_Selected_Component
);
3146 Set_Flag13
(N
, Val
);
3147 end Set_Do_Discriminant_Check
;
3149 procedure Set_Do_Division_Check
3150 (N
: Node_Id
; Val
: Boolean := True) is
3152 pragma Assert
(False
3153 or else NT
(N
).Nkind
= N_Op_Divide
3154 or else NT
(N
).Nkind
= N_Op_Mod
3155 or else NT
(N
).Nkind
= N_Op_Rem
);
3156 Set_Flag13
(N
, Val
);
3157 end Set_Do_Division_Check
;
3159 procedure Set_Do_Length_Check
3160 (N
: Node_Id
; Val
: Boolean := True) is
3162 pragma Assert
(False
3163 or else NT
(N
).Nkind
= N_Assignment_Statement
3164 or else NT
(N
).Nkind
= N_Op_And
3165 or else NT
(N
).Nkind
= N_Op_Or
3166 or else NT
(N
).Nkind
= N_Op_Xor
3167 or else NT
(N
).Nkind
= N_Type_Conversion
);
3169 end Set_Do_Length_Check
;
3171 procedure Set_Do_Overflow_Check
3172 (N
: Node_Id
; Val
: Boolean := True) is
3174 pragma Assert
(False
3175 or else NT
(N
).Nkind
in N_Op
3176 or else NT
(N
).Nkind
= N_Attribute_Reference
3177 or else NT
(N
).Nkind
= N_Type_Conversion
);
3178 Set_Flag17
(N
, Val
);
3179 end Set_Do_Overflow_Check
;
3181 procedure Set_Do_Range_Check
3182 (N
: Node_Id
; Val
: Boolean := True) is
3184 pragma Assert
(False
3185 or else NT
(N
).Nkind
in N_Subexpr
);
3187 end Set_Do_Range_Check
;
3189 procedure Set_Do_Storage_Check
3190 (N
: Node_Id
; Val
: Boolean := True) is
3192 pragma Assert
(False
3193 or else NT
(N
).Nkind
= N_Allocator
3194 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3195 Set_Flag17
(N
, Val
);
3196 end Set_Do_Storage_Check
;
3198 procedure Set_Do_Tag_Check
3199 (N
: Node_Id
; Val
: Boolean := True) is
3201 pragma Assert
(False
3202 or else NT
(N
).Nkind
= N_Assignment_Statement
3203 or else NT
(N
).Nkind
= N_Function_Call
3204 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
3205 or else NT
(N
).Nkind
= N_Return_Statement
3206 or else NT
(N
).Nkind
= N_Type_Conversion
);
3207 Set_Flag13
(N
, Val
);
3208 end Set_Do_Tag_Check
;
3210 procedure Set_Elaborate_All_Present
3211 (N
: Node_Id
; Val
: Boolean := True) is
3213 pragma Assert
(False
3214 or else NT
(N
).Nkind
= N_With_Clause
);
3215 Set_Flag15
(N
, Val
);
3216 end Set_Elaborate_All_Present
;
3218 procedure Set_Elaborate_Present
3219 (N
: Node_Id
; Val
: Boolean := True) is
3221 pragma Assert
(False
3222 or else NT
(N
).Nkind
= N_With_Clause
);
3224 end Set_Elaborate_Present
;
3226 procedure Set_Elaboration_Boolean
3227 (N
: Node_Id
; Val
: Node_Id
) is
3229 pragma Assert
(False
3230 or else NT
(N
).Nkind
= N_Function_Specification
3231 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3233 end Set_Elaboration_Boolean
;
3235 procedure Set_Else_Actions
3236 (N
: Node_Id
; Val
: List_Id
) is
3238 pragma Assert
(False
3239 or else NT
(N
).Nkind
= N_Conditional_Expression
);
3240 Set_List3
(N
, Val
); -- semantic field, no parent set
3241 end Set_Else_Actions
;
3243 procedure Set_Else_Statements
3244 (N
: Node_Id
; Val
: List_Id
) is
3246 pragma Assert
(False
3247 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3248 or else NT
(N
).Nkind
= N_If_Statement
3249 or else NT
(N
).Nkind
= N_Selective_Accept
);
3250 Set_List4_With_Parent
(N
, Val
);
3251 end Set_Else_Statements
;
3253 procedure Set_Elsif_Parts
3254 (N
: Node_Id
; Val
: List_Id
) is
3256 pragma Assert
(False
3257 or else NT
(N
).Nkind
= N_If_Statement
);
3258 Set_List3_With_Parent
(N
, Val
);
3259 end Set_Elsif_Parts
;
3261 procedure Set_Enclosing_Variant
3262 (N
: Node_Id
; Val
: Node_Id
) is
3264 pragma Assert
(False
3265 or else NT
(N
).Nkind
= N_Variant
);
3266 Set_Node2
(N
, Val
); -- semantic field, no parent set
3267 end Set_Enclosing_Variant
;
3269 procedure Set_End_Label
3270 (N
: Node_Id
; Val
: Node_Id
) is
3272 pragma Assert
(False
3273 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
3274 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
3275 or else NT
(N
).Nkind
= N_Loop_Statement
3276 or else NT
(N
).Nkind
= N_Package_Specification
3277 or else NT
(N
).Nkind
= N_Protected_Body
3278 or else NT
(N
).Nkind
= N_Protected_Definition
3279 or else NT
(N
).Nkind
= N_Record_Definition
3280 or else NT
(N
).Nkind
= N_Task_Definition
);
3281 Set_Node4_With_Parent
(N
, Val
);
3284 procedure Set_End_Span
3285 (N
: Node_Id
; Val
: Uint
) is
3287 pragma Assert
(False
3288 or else NT
(N
).Nkind
= N_Case_Statement
3289 or else NT
(N
).Nkind
= N_If_Statement
);
3293 procedure Set_Entity
3294 (N
: Node_Id
; Val
: Node_Id
) is
3296 pragma Assert
(False
3297 or else NT
(N
).Nkind
in N_Has_Entity
3298 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3299 Set_Node4
(N
, Val
); -- semantic field, no parent set
3302 procedure Set_Entry_Body_Formal_Part
3303 (N
: Node_Id
; Val
: Node_Id
) is
3305 pragma Assert
(False
3306 or else NT
(N
).Nkind
= N_Entry_Body
);
3307 Set_Node5_With_Parent
(N
, Val
);
3308 end Set_Entry_Body_Formal_Part
;
3310 procedure Set_Entry_Call_Alternative
3311 (N
: Node_Id
; Val
: Node_Id
) is
3313 pragma Assert
(False
3314 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3315 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3316 Set_Node1_With_Parent
(N
, Val
);
3317 end Set_Entry_Call_Alternative
;
3319 procedure Set_Entry_Call_Statement
3320 (N
: Node_Id
; Val
: Node_Id
) is
3322 pragma Assert
(False
3323 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
3324 Set_Node1_With_Parent
(N
, Val
);
3325 end Set_Entry_Call_Statement
;
3327 procedure Set_Entry_Direct_Name
3328 (N
: Node_Id
; Val
: Node_Id
) is
3330 pragma Assert
(False
3331 or else NT
(N
).Nkind
= N_Accept_Statement
);
3332 Set_Node1_With_Parent
(N
, Val
);
3333 end Set_Entry_Direct_Name
;
3335 procedure Set_Entry_Index
3336 (N
: Node_Id
; Val
: Node_Id
) is
3338 pragma Assert
(False
3339 or else NT
(N
).Nkind
= N_Accept_Statement
);
3340 Set_Node5_With_Parent
(N
, Val
);
3341 end Set_Entry_Index
;
3343 procedure Set_Entry_Index_Specification
3344 (N
: Node_Id
; Val
: Node_Id
) is
3346 pragma Assert
(False
3347 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
3348 Set_Node4_With_Parent
(N
, Val
);
3349 end Set_Entry_Index_Specification
;
3352 (N
: Node_Id
; Val
: Node_Id
) is
3354 pragma Assert
(False
3355 or else NT
(N
).Nkind
in N_Has_Etype
);
3356 Set_Node5
(N
, Val
); -- semantic field, no parent set
3359 procedure Set_Exception_Choices
3360 (N
: Node_Id
; Val
: List_Id
) is
3362 pragma Assert
(False
3363 or else NT
(N
).Nkind
= N_Exception_Handler
);
3364 Set_List4_With_Parent
(N
, Val
);
3365 end Set_Exception_Choices
;
3367 procedure Set_Exception_Handlers
3368 (N
: Node_Id
; Val
: List_Id
) is
3370 pragma Assert
(False
3371 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3372 Set_List5_With_Parent
(N
, Val
);
3373 end Set_Exception_Handlers
;
3375 procedure Set_Exception_Junk
3376 (N
: Node_Id
; Val
: Boolean := True) is
3378 pragma Assert
(False
3379 or else NT
(N
).Nkind
= N_Goto_Statement
3380 or else NT
(N
).Nkind
= N_Label
3381 or else NT
(N
).Nkind
= N_Object_Declaration
3382 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3383 Set_Flag11
(N
, Val
);
3384 end Set_Exception_Junk
;
3386 procedure Set_Expansion_Delayed
3387 (N
: Node_Id
; Val
: Boolean := True) is
3389 pragma Assert
(False
3390 or else NT
(N
).Nkind
= N_Aggregate
3391 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3392 Set_Flag11
(N
, Val
);
3393 end Set_Expansion_Delayed
;
3395 procedure Set_Explicit_Actual_Parameter
3396 (N
: Node_Id
; Val
: Node_Id
) is
3398 pragma Assert
(False
3399 or else NT
(N
).Nkind
= N_Parameter_Association
);
3400 Set_Node3_With_Parent
(N
, Val
);
3401 end Set_Explicit_Actual_Parameter
;
3403 procedure Set_Explicit_Generic_Actual_Parameter
3404 (N
: Node_Id
; Val
: Node_Id
) is
3406 pragma Assert
(False
3407 or else NT
(N
).Nkind
= N_Generic_Association
);
3408 Set_Node1_With_Parent
(N
, Val
);
3409 end Set_Explicit_Generic_Actual_Parameter
;
3411 procedure Set_Expression
3412 (N
: Node_Id
; Val
: Node_Id
) is
3414 pragma Assert
(False
3415 or else NT
(N
).Nkind
= N_Allocator
3416 or else NT
(N
).Nkind
= N_Assignment_Statement
3417 or else NT
(N
).Nkind
= N_At_Clause
3418 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
3419 or else NT
(N
).Nkind
= N_Case_Statement
3420 or else NT
(N
).Nkind
= N_Code_Statement
3421 or else NT
(N
).Nkind
= N_Component_Association
3422 or else NT
(N
).Nkind
= N_Component_Declaration
3423 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
3424 or else NT
(N
).Nkind
= N_Delay_Until_Statement
3425 or else NT
(N
).Nkind
= N_Discriminant_Association
3426 or else NT
(N
).Nkind
= N_Discriminant_Specification
3427 or else NT
(N
).Nkind
= N_Exception_Declaration
3428 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3429 or else NT
(N
).Nkind
= N_Free_Statement
3430 or else NT
(N
).Nkind
= N_Mod_Clause
3431 or else NT
(N
).Nkind
= N_Modular_Type_Definition
3432 or else NT
(N
).Nkind
= N_Number_Declaration
3433 or else NT
(N
).Nkind
= N_Object_Declaration
3434 or else NT
(N
).Nkind
= N_Parameter_Specification
3435 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
3436 or else NT
(N
).Nkind
= N_Qualified_Expression
3437 or else NT
(N
).Nkind
= N_Return_Statement
3438 or else NT
(N
).Nkind
= N_Type_Conversion
3439 or else NT
(N
).Nkind
= N_Unchecked_Expression
3440 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
3441 Set_Node3_With_Parent
(N
, Val
);
3444 procedure Set_Expressions
3445 (N
: Node_Id
; Val
: List_Id
) is
3447 pragma Assert
(False
3448 or else NT
(N
).Nkind
= N_Aggregate
3449 or else NT
(N
).Nkind
= N_Attribute_Reference
3450 or else NT
(N
).Nkind
= N_Conditional_Expression
3451 or else NT
(N
).Nkind
= N_Extension_Aggregate
3452 or else NT
(N
).Nkind
= N_Indexed_Component
);
3453 Set_List1_With_Parent
(N
, Val
);
3454 end Set_Expressions
;
3456 procedure Set_First_Bit
3457 (N
: Node_Id
; Val
: Node_Id
) is
3459 pragma Assert
(False
3460 or else NT
(N
).Nkind
= N_Component_Clause
);
3461 Set_Node3_With_Parent
(N
, Val
);
3464 procedure Set_First_Inlined_Subprogram
3465 (N
: Node_Id
; Val
: Entity_Id
) is
3467 pragma Assert
(False
3468 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3469 Set_Node3
(N
, Val
); -- semantic field, no parent set
3470 end Set_First_Inlined_Subprogram
;
3472 procedure Set_First_Name
3473 (N
: Node_Id
; Val
: Boolean := True) is
3475 pragma Assert
(False
3476 or else NT
(N
).Nkind
= N_With_Clause
);
3480 procedure Set_First_Named_Actual
3481 (N
: Node_Id
; Val
: Node_Id
) is
3483 pragma Assert
(False
3484 or else NT
(N
).Nkind
= N_Entry_Call_Statement
3485 or else NT
(N
).Nkind
= N_Function_Call
3486 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3487 Set_Node4
(N
, Val
); -- semantic field, no parent set
3488 end Set_First_Named_Actual
;
3490 procedure Set_First_Real_Statement
3491 (N
: Node_Id
; Val
: Node_Id
) is
3493 pragma Assert
(False
3494 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3495 Set_Node2
(N
, Val
); -- semantic field, no parent set
3496 end Set_First_Real_Statement
;
3498 procedure Set_First_Subtype_Link
3499 (N
: Node_Id
; Val
: Entity_Id
) is
3501 pragma Assert
(False
3502 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3503 Set_Node5
(N
, Val
); -- semantic field, no parent set
3504 end Set_First_Subtype_Link
;
3506 procedure Set_Float_Truncate
3507 (N
: Node_Id
; Val
: Boolean := True) is
3509 pragma Assert
(False
3510 or else NT
(N
).Nkind
= N_Type_Conversion
);
3511 Set_Flag11
(N
, Val
);
3512 end Set_Float_Truncate
;
3514 procedure Set_Formal_Type_Definition
3515 (N
: Node_Id
; Val
: Node_Id
) is
3517 pragma Assert
(False
3518 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
3519 Set_Node3_With_Parent
(N
, Val
);
3520 end Set_Formal_Type_Definition
;
3522 procedure Set_Forwards_OK
3523 (N
: Node_Id
; Val
: Boolean := True) is
3525 pragma Assert
(False
3526 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3528 end Set_Forwards_OK
;
3530 procedure Set_From_At_Mod
3531 (N
: Node_Id
; Val
: Boolean := True) is
3533 pragma Assert
(False
3534 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3536 end Set_From_At_Mod
;
3538 procedure Set_Generic_Associations
3539 (N
: Node_Id
; Val
: List_Id
) is
3541 pragma Assert
(False
3542 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3543 or else NT
(N
).Nkind
= N_Function_Instantiation
3544 or else NT
(N
).Nkind
= N_Package_Instantiation
3545 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
3546 Set_List3_With_Parent
(N
, Val
);
3547 end Set_Generic_Associations
;
3549 procedure Set_Generic_Formal_Declarations
3550 (N
: Node_Id
; Val
: List_Id
) is
3552 pragma Assert
(False
3553 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3554 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
3555 Set_List2_With_Parent
(N
, Val
);
3556 end Set_Generic_Formal_Declarations
;
3558 procedure Set_Generic_Parent
3559 (N
: Node_Id
; Val
: Node_Id
) is
3561 pragma Assert
(False
3562 or else NT
(N
).Nkind
= N_Function_Specification
3563 or else NT
(N
).Nkind
= N_Package_Specification
3564 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3566 end Set_Generic_Parent
;
3568 procedure Set_Generic_Parent_Type
3569 (N
: Node_Id
; Val
: Node_Id
) is
3571 pragma Assert
(False
3572 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3574 end Set_Generic_Parent_Type
;
3576 procedure Set_Handled_Statement_Sequence
3577 (N
: Node_Id
; Val
: Node_Id
) is
3579 pragma Assert
(False
3580 or else NT
(N
).Nkind
= N_Accept_Statement
3581 or else NT
(N
).Nkind
= N_Block_Statement
3582 or else NT
(N
).Nkind
= N_Entry_Body
3583 or else NT
(N
).Nkind
= N_Package_Body
3584 or else NT
(N
).Nkind
= N_Subprogram_Body
3585 or else NT
(N
).Nkind
= N_Task_Body
);
3586 Set_Node4_With_Parent
(N
, Val
);
3587 end Set_Handled_Statement_Sequence
;
3589 procedure Set_Handler_List_Entry
3590 (N
: Node_Id
; Val
: Node_Id
) is
3592 pragma Assert
(False
3593 or else NT
(N
).Nkind
= N_Object_Declaration
);
3595 end Set_Handler_List_Entry
;
3597 procedure Set_Has_Created_Identifier
3598 (N
: Node_Id
; Val
: Boolean := True) is
3600 pragma Assert
(False
3601 or else NT
(N
).Nkind
= N_Block_Statement
3602 or else NT
(N
).Nkind
= N_Loop_Statement
);
3603 Set_Flag15
(N
, Val
);
3604 end Set_Has_Created_Identifier
;
3606 procedure Set_Has_Dynamic_Length_Check
3607 (N
: Node_Id
; Val
: Boolean := True) is
3609 Set_Flag10
(N
, Val
);
3610 end Set_Has_Dynamic_Length_Check
;
3612 procedure Set_Has_Dynamic_Range_Check
3613 (N
: Node_Id
; Val
: Boolean := True) is
3615 Set_Flag12
(N
, Val
);
3616 end Set_Has_Dynamic_Range_Check
;
3618 procedure Set_Has_No_Elaboration_Code
3619 (N
: Node_Id
; Val
: Boolean := True) is
3621 pragma Assert
(False
3622 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3623 Set_Flag17
(N
, Val
);
3624 end Set_Has_No_Elaboration_Code
;
3626 procedure Set_Has_Priority_Pragma
3627 (N
: Node_Id
; Val
: Boolean := True) is
3629 pragma Assert
(False
3630 or else NT
(N
).Nkind
= N_Protected_Definition
3631 or else NT
(N
).Nkind
= N_Subprogram_Body
3632 or else NT
(N
).Nkind
= N_Task_Definition
);
3634 end Set_Has_Priority_Pragma
;
3636 procedure Set_Has_Private_View
3637 (N
: Node_Id
; Val
: Boolean := True) is
3639 pragma Assert
(False
3640 or else NT
(N
).Nkind
in N_Op
3641 or else NT
(N
).Nkind
= N_Character_Literal
3642 or else NT
(N
).Nkind
= N_Expanded_Name
3643 or else NT
(N
).Nkind
= N_Identifier
3644 or else NT
(N
).Nkind
= N_Operator_Symbol
);
3645 Set_Flag11
(N
, Val
);
3646 end Set_Has_Private_View
;
3648 procedure Set_Has_Storage_Size_Pragma
3649 (N
: Node_Id
; Val
: Boolean := True) is
3651 pragma Assert
(False
3652 or else NT
(N
).Nkind
= N_Task_Definition
);
3654 end Set_Has_Storage_Size_Pragma
;
3656 procedure Set_Has_Task_Info_Pragma
3657 (N
: Node_Id
; Val
: Boolean := True) is
3659 pragma Assert
(False
3660 or else NT
(N
).Nkind
= N_Task_Definition
);
3662 end Set_Has_Task_Info_Pragma
;
3664 procedure Set_Has_Task_Name_Pragma
3665 (N
: Node_Id
; Val
: Boolean := True) is
3667 pragma Assert
(False
3668 or else NT
(N
).Nkind
= N_Task_Definition
);
3670 end Set_Has_Task_Name_Pragma
;
3672 procedure Set_Has_Wide_Character
3673 (N
: Node_Id
; Val
: Boolean := True) is
3675 pragma Assert
(False
3676 or else NT
(N
).Nkind
= N_String_Literal
);
3677 Set_Flag11
(N
, Val
);
3678 end Set_Has_Wide_Character
;
3680 procedure Set_Hidden_By_Use_Clause
3681 (N
: Node_Id
; Val
: Elist_Id
) is
3683 pragma Assert
(False
3684 or else NT
(N
).Nkind
= N_Use_Package_Clause
3685 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
3686 Set_Elist4
(N
, Val
);
3687 end Set_Hidden_By_Use_Clause
;
3689 procedure Set_High_Bound
3690 (N
: Node_Id
; Val
: Node_Id
) is
3692 pragma Assert
(False
3693 or else NT
(N
).Nkind
= N_Range
3694 or else NT
(N
).Nkind
= N_Real_Range_Specification
3695 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
3696 Set_Node2_With_Parent
(N
, Val
);
3699 procedure Set_Identifier
3700 (N
: Node_Id
; Val
: Node_Id
) is
3702 pragma Assert
(False
3703 or else NT
(N
).Nkind
= N_At_Clause
3704 or else NT
(N
).Nkind
= N_Block_Statement
3705 or else NT
(N
).Nkind
= N_Designator
3706 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
3707 or else NT
(N
).Nkind
= N_Label
3708 or else NT
(N
).Nkind
= N_Loop_Statement
3709 or else NT
(N
).Nkind
= N_Record_Representation_Clause
3710 or else NT
(N
).Nkind
= N_Subprogram_Info
);
3711 Set_Node1_With_Parent
(N
, Val
);
3714 procedure Set_Implicit_With
3715 (N
: Node_Id
; Val
: Boolean := True) is
3717 pragma Assert
(False
3718 or else NT
(N
).Nkind
= N_With_Clause
);
3719 Set_Flag17
(N
, Val
);
3720 end Set_Implicit_With
;
3722 procedure Set_In_Present
3723 (N
: Node_Id
; Val
: Boolean := True) is
3725 pragma Assert
(False
3726 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3727 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3728 Set_Flag15
(N
, Val
);
3731 procedure Set_Includes_Infinities
3732 (N
: Node_Id
; Val
: Boolean := True) is
3734 pragma Assert
(False
3735 or else NT
(N
).Nkind
= N_Range
);
3736 Set_Flag11
(N
, Val
);
3737 end Set_Includes_Infinities
;
3739 procedure Set_Instance_Spec
3740 (N
: Node_Id
; Val
: Node_Id
) is
3742 pragma Assert
(False
3743 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3744 or else NT
(N
).Nkind
= N_Function_Instantiation
3745 or else NT
(N
).Nkind
= N_Package_Instantiation
3746 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
3747 Set_Node5
(N
, Val
); -- semantic field, no Parent set
3748 end Set_Instance_Spec
;
3750 procedure Set_Intval
3751 (N
: Node_Id
; Val
: Uint
) is
3753 pragma Assert
(False
3754 or else NT
(N
).Nkind
= N_Integer_Literal
);
3758 procedure Set_Is_Asynchronous_Call_Block
3759 (N
: Node_Id
; Val
: Boolean := True) is
3761 pragma Assert
(False
3762 or else NT
(N
).Nkind
= N_Block_Statement
);
3764 end Set_Is_Asynchronous_Call_Block
;
3766 procedure Set_Is_Component_Left_Opnd
3767 (N
: Node_Id
; Val
: Boolean := True) is
3769 pragma Assert
(False
3770 or else NT
(N
).Nkind
= N_Op_Concat
);
3771 Set_Flag13
(N
, Val
);
3772 end Set_Is_Component_Left_Opnd
;
3774 procedure Set_Is_Component_Right_Opnd
3775 (N
: Node_Id
; Val
: Boolean := True) is
3777 pragma Assert
(False
3778 or else NT
(N
).Nkind
= N_Op_Concat
);
3779 Set_Flag14
(N
, Val
);
3780 end Set_Is_Component_Right_Opnd
;
3782 procedure Set_Is_Controlling_Actual
3783 (N
: Node_Id
; Val
: Boolean := True) is
3785 pragma Assert
(False
3786 or else NT
(N
).Nkind
in N_Subexpr
);
3787 Set_Flag16
(N
, Val
);
3788 end Set_Is_Controlling_Actual
;
3790 procedure Set_Is_Machine_Number
3791 (N
: Node_Id
; Val
: Boolean := True) is
3793 pragma Assert
(False
3794 or else NT
(N
).Nkind
= N_Real_Literal
);
3795 Set_Flag11
(N
, Val
);
3796 end Set_Is_Machine_Number
;
3798 procedure Set_Is_Overloaded
3799 (N
: Node_Id
; Val
: Boolean := True) is
3801 pragma Assert
(False
3802 or else NT
(N
).Nkind
in N_Subexpr
);
3804 end Set_Is_Overloaded
;
3806 procedure Set_Is_Power_Of_2_For_Shift
3807 (N
: Node_Id
; Val
: Boolean := True) is
3809 pragma Assert
(False
3810 or else NT
(N
).Nkind
= N_Op_Expon
);
3811 Set_Flag13
(N
, Val
);
3812 end Set_Is_Power_Of_2_For_Shift
;
3814 procedure Set_Is_Protected_Subprogram_Body
3815 (N
: Node_Id
; Val
: Boolean := True) is
3817 pragma Assert
(False
3818 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3820 end Set_Is_Protected_Subprogram_Body
;
3822 procedure Set_Is_Static_Expression
3823 (N
: Node_Id
; Val
: Boolean := True) is
3825 pragma Assert
(False
3826 or else NT
(N
).Nkind
in N_Subexpr
);
3828 end Set_Is_Static_Expression
;
3830 procedure Set_Is_Subprogram_Descriptor
3831 (N
: Node_Id
; Val
: Boolean := True) is
3833 pragma Assert
(False
3834 or else NT
(N
).Nkind
= N_Object_Declaration
);
3835 Set_Flag16
(N
, Val
);
3836 end Set_Is_Subprogram_Descriptor
;
3838 procedure Set_Is_Task_Allocation_Block
3839 (N
: Node_Id
; Val
: Boolean := True) is
3841 pragma Assert
(False
3842 or else NT
(N
).Nkind
= N_Block_Statement
);
3844 end Set_Is_Task_Allocation_Block
;
3846 procedure Set_Is_Task_Master
3847 (N
: Node_Id
; Val
: Boolean := True) is
3849 pragma Assert
(False
3850 or else NT
(N
).Nkind
= N_Block_Statement
3851 or else NT
(N
).Nkind
= N_Subprogram_Body
3852 or else NT
(N
).Nkind
= N_Task_Body
);
3854 end Set_Is_Task_Master
;
3856 procedure Set_Iteration_Scheme
3857 (N
: Node_Id
; Val
: Node_Id
) is
3859 pragma Assert
(False
3860 or else NT
(N
).Nkind
= N_Loop_Statement
);
3861 Set_Node2_With_Parent
(N
, Val
);
3862 end Set_Iteration_Scheme
;
3865 (N
: Node_Id
; Val
: Entity_Id
) is
3867 pragma Assert
(False
3868 or else NT
(N
).Nkind
= N_Itype_Reference
);
3869 Set_Node1
(N
, Val
); -- no parent, semantic field
3872 procedure Set_Kill_Range_Check
3873 (N
: Node_Id
; Val
: Boolean := True) is
3875 pragma Assert
(False
3876 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
3877 Set_Flag11
(N
, Val
);
3878 end Set_Kill_Range_Check
;
3880 procedure Set_Label_Construct
3881 (N
: Node_Id
; Val
: Node_Id
) is
3883 pragma Assert
(False
3884 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
3885 Set_Node2
(N
, Val
); -- semantic field, no parent set
3886 end Set_Label_Construct
;
3888 procedure Set_Last_Bit
3889 (N
: Node_Id
; Val
: Node_Id
) is
3891 pragma Assert
(False
3892 or else NT
(N
).Nkind
= N_Component_Clause
);
3893 Set_Node4_With_Parent
(N
, Val
);
3896 procedure Set_Last_Name
3897 (N
: Node_Id
; Val
: Boolean := True) is
3899 pragma Assert
(False
3900 or else NT
(N
).Nkind
= N_With_Clause
);
3904 procedure Set_Left_Opnd
3905 (N
: Node_Id
; Val
: Node_Id
) is
3907 pragma Assert
(False
3908 or else NT
(N
).Nkind
= N_And_Then
3909 or else NT
(N
).Nkind
= N_In
3910 or else NT
(N
).Nkind
= N_Not_In
3911 or else NT
(N
).Nkind
= N_Or_Else
3912 or else NT
(N
).Nkind
in N_Binary_Op
);
3913 Set_Node2_With_Parent
(N
, Val
);
3916 procedure Set_Library_Unit
3917 (N
: Node_Id
; Val
: Node_Id
) is
3919 pragma Assert
(False
3920 or else NT
(N
).Nkind
= N_Compilation_Unit
3921 or else NT
(N
).Nkind
= N_Package_Body_Stub
3922 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3923 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
3924 or else NT
(N
).Nkind
= N_Task_Body_Stub
3925 or else NT
(N
).Nkind
= N_With_Clause
);
3926 Set_Node4
(N
, Val
); -- semantic field, no parent set
3927 end Set_Library_Unit
;
3929 procedure Set_Limited_Present
3930 (N
: Node_Id
; Val
: Boolean := True) is
3932 pragma Assert
(False
3933 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
3934 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3935 or else NT
(N
).Nkind
= N_Record_Definition
);
3936 Set_Flag17
(N
, Val
);
3937 end Set_Limited_Present
;
3939 procedure Set_Literals
3940 (N
: Node_Id
; Val
: List_Id
) is
3942 pragma Assert
(False
3943 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
3944 Set_List1_With_Parent
(N
, Val
);
3947 procedure Set_Loop_Actions
3948 (N
: Node_Id
; Val
: List_Id
) is
3950 pragma Assert
(False
3951 or else NT
(N
).Nkind
= N_Component_Association
);
3952 Set_List2
(N
, Val
); -- semantic field, no parent set
3953 end Set_Loop_Actions
;
3955 procedure Set_Loop_Parameter_Specification
3956 (N
: Node_Id
; Val
: Node_Id
) is
3958 pragma Assert
(False
3959 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
3960 Set_Node4_With_Parent
(N
, Val
);
3961 end Set_Loop_Parameter_Specification
;
3963 procedure Set_Low_Bound
3964 (N
: Node_Id
; Val
: Node_Id
) is
3966 pragma Assert
(False
3967 or else NT
(N
).Nkind
= N_Range
3968 or else NT
(N
).Nkind
= N_Real_Range_Specification
3969 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
3970 Set_Node1_With_Parent
(N
, Val
);
3973 procedure Set_Mod_Clause
3974 (N
: Node_Id
; Val
: Node_Id
) is
3976 pragma Assert
(False
3977 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
3978 Set_Node2_With_Parent
(N
, Val
);
3981 procedure Set_More_Ids
3982 (N
: Node_Id
; Val
: Boolean := True) is
3984 pragma Assert
(False
3985 or else NT
(N
).Nkind
= N_Component_Declaration
3986 or else NT
(N
).Nkind
= N_Discriminant_Specification
3987 or else NT
(N
).Nkind
= N_Exception_Declaration
3988 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3989 or else NT
(N
).Nkind
= N_Number_Declaration
3990 or else NT
(N
).Nkind
= N_Object_Declaration
3991 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3995 procedure Set_Must_Be_Byte_Aligned
3996 (N
: Node_Id
; Val
: Boolean := True) is
3998 pragma Assert
(False
3999 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4000 Set_Flag14
(N
, Val
);
4001 end Set_Must_Be_Byte_Aligned
;
4003 procedure Set_Must_Not_Freeze
4004 (N
: Node_Id
; Val
: Boolean := True) is
4006 pragma Assert
(False
4007 or else NT
(N
).Nkind
= N_Subtype_Indication
4008 or else NT
(N
).Nkind
in N_Subexpr
);
4010 end Set_Must_Not_Freeze
;
4013 (N
: Node_Id
; Val
: Node_Id
) is
4015 pragma Assert
(False
4016 or else NT
(N
).Nkind
= N_Assignment_Statement
4017 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4018 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
4019 or else NT
(N
).Nkind
= N_Designator
4020 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4021 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
4022 or else NT
(N
).Nkind
= N_Exit_Statement
4023 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4024 or else NT
(N
).Nkind
= N_Function_Call
4025 or else NT
(N
).Nkind
= N_Function_Instantiation
4026 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4027 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4028 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4029 or else NT
(N
).Nkind
= N_Goto_Statement
4030 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4031 or else NT
(N
).Nkind
= N_Package_Instantiation
4032 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4033 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
4034 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4035 or else NT
(N
).Nkind
= N_Raise_Statement
4036 or else NT
(N
).Nkind
= N_Requeue_Statement
4037 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
4038 or else NT
(N
).Nkind
= N_Subunit
4039 or else NT
(N
).Nkind
= N_Variant_Part
4040 or else NT
(N
).Nkind
= N_With_Clause
4041 or else NT
(N
).Nkind
= N_With_Type_Clause
);
4042 Set_Node2_With_Parent
(N
, Val
);
4046 (N
: Node_Id
; Val
: List_Id
) is
4048 pragma Assert
(False
4049 or else NT
(N
).Nkind
= N_Abort_Statement
4050 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
4051 Set_List2_With_Parent
(N
, Val
);
4054 procedure Set_Next_Entity
4055 (N
: Node_Id
; Val
: Node_Id
) is
4057 pragma Assert
(False
4058 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4059 or else NT
(N
).Nkind
= N_Defining_Identifier
4060 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4061 Set_Node2
(N
, Val
); -- semantic field, no parent set
4062 end Set_Next_Entity
;
4064 procedure Set_Next_Named_Actual
4065 (N
: Node_Id
; Val
: Node_Id
) is
4067 pragma Assert
(False
4068 or else NT
(N
).Nkind
= N_Parameter_Association
);
4069 Set_Node4
(N
, Val
); -- semantic field, no parent set
4070 end Set_Next_Named_Actual
;
4072 procedure Set_Next_Rep_Item
4073 (N
: Node_Id
; Val
: Node_Id
) is
4075 pragma Assert
(False
4076 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4077 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4078 or else NT
(N
).Nkind
= N_Pragma
4079 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4080 Set_Node4
(N
, Val
); -- semantic field, no parent set
4081 end Set_Next_Rep_Item
;
4083 procedure Set_Next_Use_Clause
4084 (N
: Node_Id
; Val
: Node_Id
) is
4086 pragma Assert
(False
4087 or else NT
(N
).Nkind
= N_Use_Package_Clause
4088 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4089 Set_Node3
(N
, Val
); -- semantic field, no parent set
4090 end Set_Next_Use_Clause
;
4092 procedure Set_No_Ctrl_Actions
4093 (N
: Node_Id
; Val
: Boolean := True) is
4095 pragma Assert
(False
4096 or else NT
(N
).Nkind
= N_Assignment_Statement
);
4098 end Set_No_Ctrl_Actions
;
4100 procedure Set_No_Entities_Ref_In_Spec
4101 (N
: Node_Id
; Val
: Boolean := True) is
4103 pragma Assert
(False
4104 or else NT
(N
).Nkind
= N_With_Clause
);
4106 end Set_No_Entities_Ref_In_Spec
;
4108 procedure Set_No_Initialization
4109 (N
: Node_Id
; Val
: Boolean := True) is
4111 pragma Assert
(False
4112 or else NT
(N
).Nkind
= N_Allocator
4113 or else NT
(N
).Nkind
= N_Object_Declaration
);
4114 Set_Flag13
(N
, Val
);
4115 end Set_No_Initialization
;
4117 procedure Set_Null_Present
4118 (N
: Node_Id
; Val
: Boolean := True) is
4120 pragma Assert
(False
4121 or else NT
(N
).Nkind
= N_Component_List
4122 or else NT
(N
).Nkind
= N_Record_Definition
);
4123 Set_Flag13
(N
, Val
);
4124 end Set_Null_Present
;
4126 procedure Set_Null_Record_Present
4127 (N
: Node_Id
; Val
: Boolean := True) is
4129 pragma Assert
(False
4130 or else NT
(N
).Nkind
= N_Aggregate
4131 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4132 Set_Flag17
(N
, Val
);
4133 end Set_Null_Record_Present
;
4135 procedure Set_Object_Definition
4136 (N
: Node_Id
; Val
: Node_Id
) is
4138 pragma Assert
(False
4139 or else NT
(N
).Nkind
= N_Object_Declaration
);
4140 Set_Node4_With_Parent
(N
, Val
);
4141 end Set_Object_Definition
;
4143 procedure Set_OK_For_Stream
4144 (N
: Node_Id
; Val
: Boolean := True) is
4146 pragma Assert
(False
4147 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4149 end Set_OK_For_Stream
;
4151 procedure Set_Original_Discriminant
4152 (N
: Node_Id
; Val
: Node_Id
) is
4154 pragma Assert
(False
4155 or else NT
(N
).Nkind
= N_Identifier
);
4156 Set_Node2
(N
, Val
); -- semantic field, no parent set
4157 end Set_Original_Discriminant
;
4159 procedure Set_Others_Discrete_Choices
4160 (N
: Node_Id
; Val
: List_Id
) is
4162 pragma Assert
(False
4163 or else NT
(N
).Nkind
= N_Others_Choice
);
4164 Set_List1_With_Parent
(N
, Val
);
4165 end Set_Others_Discrete_Choices
;
4167 procedure Set_Out_Present
4168 (N
: Node_Id
; Val
: Boolean := True) is
4170 pragma Assert
(False
4171 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4172 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4173 Set_Flag17
(N
, Val
);
4174 end Set_Out_Present
;
4176 procedure Set_Parameter_Associations
4177 (N
: Node_Id
; Val
: List_Id
) is
4179 pragma Assert
(False
4180 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4181 or else NT
(N
).Nkind
= N_Function_Call
4182 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4183 Set_List3_With_Parent
(N
, Val
);
4184 end Set_Parameter_Associations
;
4186 procedure Set_Parameter_List_Truncated
4187 (N
: Node_Id
; Val
: Boolean := True) is
4189 pragma Assert
(False
4190 or else NT
(N
).Nkind
= N_Function_Call
4191 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4192 Set_Flag17
(N
, Val
);
4193 end Set_Parameter_List_Truncated
;
4195 procedure Set_Parameter_Specifications
4196 (N
: Node_Id
; Val
: List_Id
) is
4198 pragma Assert
(False
4199 or else NT
(N
).Nkind
= N_Accept_Statement
4200 or else NT
(N
).Nkind
= N_Access_Function_Definition
4201 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4202 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
4203 or else NT
(N
).Nkind
= N_Entry_Declaration
4204 or else NT
(N
).Nkind
= N_Function_Specification
4205 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4206 Set_List3_With_Parent
(N
, Val
);
4207 end Set_Parameter_Specifications
;
4209 procedure Set_Parameter_Type
4210 (N
: Node_Id
; Val
: Node_Id
) is
4212 pragma Assert
(False
4213 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4214 Set_Node2_With_Parent
(N
, Val
);
4215 end Set_Parameter_Type
;
4217 procedure Set_Parent_Spec
4218 (N
: Node_Id
; Val
: Node_Id
) is
4220 pragma Assert
(False
4221 or else NT
(N
).Nkind
= N_Function_Instantiation
4222 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4223 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4224 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4225 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4226 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4227 or else NT
(N
).Nkind
= N_Package_Declaration
4228 or else NT
(N
).Nkind
= N_Package_Instantiation
4229 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4230 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4231 or else NT
(N
).Nkind
= N_Subprogram_Declaration
4232 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4233 Set_Node4
(N
, Val
); -- semantic field, no parent set
4234 end Set_Parent_Spec
;
4236 procedure Set_Position
4237 (N
: Node_Id
; Val
: Node_Id
) is
4239 pragma Assert
(False
4240 or else NT
(N
).Nkind
= N_Component_Clause
);
4241 Set_Node2_With_Parent
(N
, Val
);
4244 procedure Set_Pragma_Argument_Associations
4245 (N
: Node_Id
; Val
: List_Id
) is
4247 pragma Assert
(False
4248 or else NT
(N
).Nkind
= N_Pragma
);
4249 Set_List2_With_Parent
(N
, Val
);
4250 end Set_Pragma_Argument_Associations
;
4252 procedure Set_Pragmas_After
4253 (N
: Node_Id
; Val
: List_Id
) is
4255 pragma Assert
(False
4256 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
4257 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
4258 Set_List5_With_Parent
(N
, Val
);
4259 end Set_Pragmas_After
;
4261 procedure Set_Pragmas_Before
4262 (N
: Node_Id
; Val
: List_Id
) is
4264 pragma Assert
(False
4265 or else NT
(N
).Nkind
= N_Accept_Alternative
4266 or else NT
(N
).Nkind
= N_Delay_Alternative
4267 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
4268 or else NT
(N
).Nkind
= N_Mod_Clause
4269 or else NT
(N
).Nkind
= N_Terminate_Alternative
4270 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4271 Set_List4_With_Parent
(N
, Val
);
4272 end Set_Pragmas_Before
;
4274 procedure Set_Prefix
4275 (N
: Node_Id
; Val
: Node_Id
) is
4277 pragma Assert
(False
4278 or else NT
(N
).Nkind
= N_Attribute_Reference
4279 or else NT
(N
).Nkind
= N_Expanded_Name
4280 or else NT
(N
).Nkind
= N_Explicit_Dereference
4281 or else NT
(N
).Nkind
= N_Indexed_Component
4282 or else NT
(N
).Nkind
= N_Reference
4283 or else NT
(N
).Nkind
= N_Selected_Component
4284 or else NT
(N
).Nkind
= N_Slice
);
4285 Set_Node3_With_Parent
(N
, Val
);
4288 procedure Set_Present_Expr
4289 (N
: Node_Id
; Val
: Uint
) is
4291 pragma Assert
(False
4292 or else NT
(N
).Nkind
= N_Variant
);
4294 end Set_Present_Expr
;
4296 procedure Set_Prev_Ids
4297 (N
: Node_Id
; Val
: Boolean := True) is
4299 pragma Assert
(False
4300 or else NT
(N
).Nkind
= N_Component_Declaration
4301 or else NT
(N
).Nkind
= N_Discriminant_Specification
4302 or else NT
(N
).Nkind
= N_Exception_Declaration
4303 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4304 or else NT
(N
).Nkind
= N_Number_Declaration
4305 or else NT
(N
).Nkind
= N_Object_Declaration
4306 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4310 procedure Set_Print_In_Hex
4311 (N
: Node_Id
; Val
: Boolean := True) is
4313 pragma Assert
(False
4314 or else NT
(N
).Nkind
= N_Integer_Literal
);
4315 Set_Flag13
(N
, Val
);
4316 end Set_Print_In_Hex
;
4318 procedure Set_Private_Declarations
4319 (N
: Node_Id
; Val
: List_Id
) is
4321 pragma Assert
(False
4322 or else NT
(N
).Nkind
= N_Package_Specification
4323 or else NT
(N
).Nkind
= N_Protected_Definition
4324 or else NT
(N
).Nkind
= N_Task_Definition
);
4325 Set_List3_With_Parent
(N
, Val
);
4326 end Set_Private_Declarations
;
4328 procedure Set_Private_Present
4329 (N
: Node_Id
; Val
: Boolean := True) is
4331 pragma Assert
(False
4332 or else NT
(N
).Nkind
= N_Compilation_Unit
4333 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
);
4334 Set_Flag15
(N
, Val
);
4335 end Set_Private_Present
;
4337 procedure Set_Procedure_To_Call
4338 (N
: Node_Id
; Val
: Node_Id
) is
4340 pragma Assert
(False
4341 or else NT
(N
).Nkind
= N_Allocator
4342 or else NT
(N
).Nkind
= N_Free_Statement
4343 or else NT
(N
).Nkind
= N_Return_Statement
);
4344 Set_Node4
(N
, Val
); -- semantic field, no parent set
4345 end Set_Procedure_To_Call
;
4347 procedure Set_Proper_Body
4348 (N
: Node_Id
; Val
: Node_Id
) is
4350 pragma Assert
(False
4351 or else NT
(N
).Nkind
= N_Subunit
);
4352 Set_Node1_With_Parent
(N
, Val
);
4353 end Set_Proper_Body
;
4355 procedure Set_Protected_Definition
4356 (N
: Node_Id
; Val
: Node_Id
) is
4358 pragma Assert
(False
4359 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
4360 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
4361 Set_Node3_With_Parent
(N
, Val
);
4362 end Set_Protected_Definition
;
4364 procedure Set_Protected_Present
4365 (N
: Node_Id
; Val
: Boolean := True) is
4367 pragma Assert
(False
4368 or else NT
(N
).Nkind
= N_Access_Function_Definition
4369 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
);
4370 Set_Flag15
(N
, Val
);
4371 end Set_Protected_Present
;
4373 procedure Set_Raises_Constraint_Error
4374 (N
: Node_Id
; Val
: Boolean := True) is
4376 pragma Assert
(False
4377 or else NT
(N
).Nkind
in N_Subexpr
);
4379 end Set_Raises_Constraint_Error
;
4381 procedure Set_Range_Constraint
4382 (N
: Node_Id
; Val
: Node_Id
) is
4384 pragma Assert
(False
4385 or else NT
(N
).Nkind
= N_Delta_Constraint
4386 or else NT
(N
).Nkind
= N_Digits_Constraint
);
4387 Set_Node4_With_Parent
(N
, Val
);
4388 end Set_Range_Constraint
;
4390 procedure Set_Range_Expression
4391 (N
: Node_Id
; Val
: Node_Id
) is
4393 pragma Assert
(False
4394 or else NT
(N
).Nkind
= N_Range_Constraint
);
4395 Set_Node4_With_Parent
(N
, Val
);
4396 end Set_Range_Expression
;
4398 procedure Set_Real_Range_Specification
4399 (N
: Node_Id
; Val
: Node_Id
) is
4401 pragma Assert
(False
4402 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
4403 or else NT
(N
).Nkind
= N_Floating_Point_Definition
4404 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
4405 Set_Node4_With_Parent
(N
, Val
);
4406 end Set_Real_Range_Specification
;
4408 procedure Set_Realval
4409 (N
: Node_Id
; Val
: Ureal
) is
4411 pragma Assert
(False
4412 or else NT
(N
).Nkind
= N_Real_Literal
);
4413 Set_Ureal3
(N
, Val
);
4416 procedure Set_Reason
4417 (N
: Node_Id
; Val
: Uint
) is
4419 pragma Assert
(False
4420 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
4421 or else NT
(N
).Nkind
= N_Raise_Program_Error
4422 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
4426 procedure Set_Record_Extension_Part
4427 (N
: Node_Id
; Val
: Node_Id
) is
4429 pragma Assert
(False
4430 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
4431 Set_Node3_With_Parent
(N
, Val
);
4432 end Set_Record_Extension_Part
;
4434 procedure Set_Redundant_Use
4435 (N
: Node_Id
; Val
: Boolean := True) is
4437 pragma Assert
(False
4438 or else NT
(N
).Nkind
= N_Attribute_Reference
4439 or else NT
(N
).Nkind
= N_Expanded_Name
4440 or else NT
(N
).Nkind
= N_Identifier
);
4441 Set_Flag13
(N
, Val
);
4442 end Set_Redundant_Use
;
4444 procedure Set_Return_Type
4445 (N
: Node_Id
; Val
: Node_Id
) is
4447 pragma Assert
(False
4448 or else NT
(N
).Nkind
= N_Return_Statement
);
4449 Set_Node2
(N
, Val
); -- semantic field, no parent set
4450 end Set_Return_Type
;
4452 procedure Set_Reverse_Present
4453 (N
: Node_Id
; Val
: Boolean := True) is
4455 pragma Assert
(False
4456 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
4457 Set_Flag15
(N
, Val
);
4458 end Set_Reverse_Present
;
4460 procedure Set_Right_Opnd
4461 (N
: Node_Id
; Val
: Node_Id
) is
4463 pragma Assert
(False
4464 or else NT
(N
).Nkind
in N_Op
4465 or else NT
(N
).Nkind
= N_And_Then
4466 or else NT
(N
).Nkind
= N_In
4467 or else NT
(N
).Nkind
= N_Not_In
4468 or else NT
(N
).Nkind
= N_Or_Else
);
4469 Set_Node3_With_Parent
(N
, Val
);
4472 procedure Set_Rounded_Result
4473 (N
: Node_Id
; Val
: Boolean := True) is
4475 pragma Assert
(False
4476 or else NT
(N
).Nkind
= N_Op_Divide
4477 or else NT
(N
).Nkind
= N_Op_Multiply
4478 or else NT
(N
).Nkind
= N_Type_Conversion
);
4479 Set_Flag18
(N
, Val
);
4480 end Set_Rounded_Result
;
4483 (N
: Node_Id
; Val
: Node_Id
) is
4485 pragma Assert
(False
4486 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4487 or else NT
(N
).Nkind
= N_Defining_Identifier
4488 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4489 Set_Node3
(N
, Val
); -- semantic field, no parent set
4492 procedure Set_Select_Alternatives
4493 (N
: Node_Id
; Val
: List_Id
) is
4495 pragma Assert
(False
4496 or else NT
(N
).Nkind
= N_Selective_Accept
);
4497 Set_List1_With_Parent
(N
, Val
);
4498 end Set_Select_Alternatives
;
4500 procedure Set_Selector_Name
4501 (N
: Node_Id
; Val
: Node_Id
) is
4503 pragma Assert
(False
4504 or else NT
(N
).Nkind
= N_Expanded_Name
4505 or else NT
(N
).Nkind
= N_Generic_Association
4506 or else NT
(N
).Nkind
= N_Parameter_Association
4507 or else NT
(N
).Nkind
= N_Selected_Component
);
4508 Set_Node2_With_Parent
(N
, Val
);
4509 end Set_Selector_Name
;
4511 procedure Set_Selector_Names
4512 (N
: Node_Id
; Val
: List_Id
) is
4514 pragma Assert
(False
4515 or else NT
(N
).Nkind
= N_Discriminant_Association
);
4516 Set_List1_With_Parent
(N
, Val
);
4517 end Set_Selector_Names
;
4519 procedure Set_Shift_Count_OK
4520 (N
: Node_Id
; Val
: Boolean := True) is
4522 pragma Assert
(False
4523 or else NT
(N
).Nkind
= N_Op_Rotate_Left
4524 or else NT
(N
).Nkind
= N_Op_Rotate_Right
4525 or else NT
(N
).Nkind
= N_Op_Shift_Left
4526 or else NT
(N
).Nkind
= N_Op_Shift_Right
4527 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
4529 end Set_Shift_Count_OK
;
4531 procedure Set_Source_Type
4532 (N
: Node_Id
; Val
: Entity_Id
) is
4534 pragma Assert
(False
4535 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
4536 Set_Node1
(N
, Val
); -- semantic field, no parent set
4537 end Set_Source_Type
;
4539 procedure Set_Specification
4540 (N
: Node_Id
; Val
: Node_Id
) is
4542 pragma Assert
(False
4543 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
4544 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
4545 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4546 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4547 or else NT
(N
).Nkind
= N_Package_Declaration
4548 or else NT
(N
).Nkind
= N_Subprogram_Body
4549 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4550 or else NT
(N
).Nkind
= N_Subprogram_Declaration
4551 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4552 Set_Node1_With_Parent
(N
, Val
);
4553 end Set_Specification
;
4555 procedure Set_Statements
4556 (N
: Node_Id
; Val
: List_Id
) is
4558 pragma Assert
(False
4559 or else NT
(N
).Nkind
= N_Abortable_Part
4560 or else NT
(N
).Nkind
= N_Accept_Alternative
4561 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
4562 or else NT
(N
).Nkind
= N_Delay_Alternative
4563 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
4564 or else NT
(N
).Nkind
= N_Exception_Handler
4565 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
4566 or else NT
(N
).Nkind
= N_Loop_Statement
4567 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4568 Set_List3_With_Parent
(N
, Val
);
4571 procedure Set_Static_Processing_OK
4572 (N
: Node_Id
; Val
: Boolean) is
4574 pragma Assert
(False
4575 or else NT
(N
).Nkind
= N_Aggregate
);
4577 end Set_Static_Processing_OK
;
4579 procedure Set_Storage_Pool
4580 (N
: Node_Id
; Val
: Node_Id
) is
4582 pragma Assert
(False
4583 or else NT
(N
).Nkind
= N_Allocator
4584 or else NT
(N
).Nkind
= N_Free_Statement
4585 or else NT
(N
).Nkind
= N_Return_Statement
);
4586 Set_Node1
(N
, Val
); -- semantic field, no parent set
4587 end Set_Storage_Pool
;
4589 procedure Set_Strval
4590 (N
: Node_Id
; Val
: String_Id
) is
4592 pragma Assert
(False
4593 or else NT
(N
).Nkind
= N_Operator_Symbol
4594 or else NT
(N
).Nkind
= N_String_Literal
);
4598 procedure Set_Subtype_Indication
4599 (N
: Node_Id
; Val
: Node_Id
) is
4601 pragma Assert
(False
4602 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
4603 or else NT
(N
).Nkind
= N_Component_Declaration
4604 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
4605 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4606 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4607 or else NT
(N
).Nkind
= N_Subtype_Declaration
4608 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
4609 Set_Node5_With_Parent
(N
, Val
);
4610 end Set_Subtype_Indication
;
4612 procedure Set_Subtype_Mark
4613 (N
: Node_Id
; Val
: Node_Id
) is
4615 pragma Assert
(False
4616 or else NT
(N
).Nkind
= N_Access_Definition
4617 or else NT
(N
).Nkind
= N_Access_Function_Definition
4618 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4619 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4620 or else NT
(N
).Nkind
= N_Function_Specification
4621 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4622 or else NT
(N
).Nkind
= N_Qualified_Expression
4623 or else NT
(N
).Nkind
= N_Subtype_Indication
4624 or else NT
(N
).Nkind
= N_Type_Conversion
4625 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4626 Set_Node4_With_Parent
(N
, Val
);
4627 end Set_Subtype_Mark
;
4629 procedure Set_Subtype_Marks
4630 (N
: Node_Id
; Val
: List_Id
) is
4632 pragma Assert
(False
4633 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
4634 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4635 Set_List2_With_Parent
(N
, Val
);
4636 end Set_Subtype_Marks
;
4638 procedure Set_Tagged_Present
4639 (N
: Node_Id
; Val
: Boolean := True) is
4641 pragma Assert
(False
4642 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
4643 or else NT
(N
).Nkind
= N_Private_Type_Declaration
4644 or else NT
(N
).Nkind
= N_Record_Definition
4645 or else NT
(N
).Nkind
= N_With_Type_Clause
);
4646 Set_Flag15
(N
, Val
);
4647 end Set_Tagged_Present
;
4649 procedure Set_Target_Type
4650 (N
: Node_Id
; Val
: Entity_Id
) is
4652 pragma Assert
(False
4653 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
4654 Set_Node2
(N
, Val
); -- semantic field, no parent set
4655 end Set_Target_Type
;
4657 procedure Set_Task_Body_Procedure
4658 (N
: Node_Id
; Val
: Entity_Id
) is
4660 pragma Assert
(False
4661 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4662 Set_Node2
(N
, Val
); -- semantic field, no parent set
4663 end Set_Task_Body_Procedure
;
4665 procedure Set_Task_Definition
4666 (N
: Node_Id
; Val
: Node_Id
) is
4668 pragma Assert
(False
4669 or else NT
(N
).Nkind
= N_Single_Task_Declaration
4670 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4671 Set_Node3_With_Parent
(N
, Val
);
4672 end Set_Task_Definition
;
4674 procedure Set_Then_Actions
4675 (N
: Node_Id
; Val
: List_Id
) is
4677 pragma Assert
(False
4678 or else NT
(N
).Nkind
= N_Conditional_Expression
);
4679 Set_List2
(N
, Val
); -- semantic field, no parent set
4680 end Set_Then_Actions
;
4682 procedure Set_Then_Statements
4683 (N
: Node_Id
; Val
: List_Id
) is
4685 pragma Assert
(False
4686 or else NT
(N
).Nkind
= N_Elsif_Part
4687 or else NT
(N
).Nkind
= N_If_Statement
);
4688 Set_List2_With_Parent
(N
, Val
);
4689 end Set_Then_Statements
;
4691 procedure Set_Treat_Fixed_As_Integer
4692 (N
: Node_Id
; Val
: Boolean := True) is
4694 pragma Assert
(False
4695 or else NT
(N
).Nkind
= N_Op_Divide
4696 or else NT
(N
).Nkind
= N_Op_Mod
4697 or else NT
(N
).Nkind
= N_Op_Multiply
4698 or else NT
(N
).Nkind
= N_Op_Rem
);
4699 Set_Flag14
(N
, Val
);
4700 end Set_Treat_Fixed_As_Integer
;
4702 procedure Set_Triggering_Alternative
4703 (N
: Node_Id
; Val
: Node_Id
) is
4705 pragma Assert
(False
4706 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
4707 Set_Node1_With_Parent
(N
, Val
);
4708 end Set_Triggering_Alternative
;
4710 procedure Set_Triggering_Statement
4711 (N
: Node_Id
; Val
: Node_Id
) is
4713 pragma Assert
(False
4714 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4715 Set_Node1_With_Parent
(N
, Val
);
4716 end Set_Triggering_Statement
;
4718 procedure Set_TSS_Elist
4719 (N
: Node_Id
; Val
: Elist_Id
) is
4721 pragma Assert
(False
4722 or else NT
(N
).Nkind
= N_Freeze_Entity
);
4723 Set_Elist3
(N
, Val
); -- semantic field, no parent set
4726 procedure Set_Type_Definition
4727 (N
: Node_Id
; Val
: Node_Id
) is
4729 pragma Assert
(False
4730 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
4731 Set_Node3_With_Parent
(N
, Val
);
4732 end Set_Type_Definition
;
4735 (N
: Node_Id
; Val
: Node_Id
) is
4737 pragma Assert
(False
4738 or else NT
(N
).Nkind
= N_Compilation_Unit
);
4739 Set_Node2_With_Parent
(N
, Val
);
4742 procedure Set_Unknown_Discriminants_Present
4743 (N
: Node_Id
; Val
: Boolean := True) is
4745 pragma Assert
(False
4746 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
4747 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
4748 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4749 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
4750 Set_Flag13
(N
, Val
);
4751 end Set_Unknown_Discriminants_Present
;
4753 procedure Set_Unreferenced_In_Spec
4754 (N
: Node_Id
; Val
: Boolean := True) is
4756 pragma Assert
(False
4757 or else NT
(N
).Nkind
= N_With_Clause
);
4759 end Set_Unreferenced_In_Spec
;
4761 procedure Set_Variant_Part
4762 (N
: Node_Id
; Val
: Node_Id
) is
4764 pragma Assert
(False
4765 or else NT
(N
).Nkind
= N_Component_List
);
4766 Set_Node4_With_Parent
(N
, Val
);
4767 end Set_Variant_Part
;
4769 procedure Set_Variants
4770 (N
: Node_Id
; Val
: List_Id
) is
4772 pragma Assert
(False
4773 or else NT
(N
).Nkind
= N_Variant_Part
);
4774 Set_List1_With_Parent
(N
, Val
);
4777 procedure Set_Visible_Declarations
4778 (N
: Node_Id
; Val
: List_Id
) is
4780 pragma Assert
(False
4781 or else NT
(N
).Nkind
= N_Package_Specification
4782 or else NT
(N
).Nkind
= N_Protected_Definition
4783 or else NT
(N
).Nkind
= N_Task_Definition
);
4784 Set_List2_With_Parent
(N
, Val
);
4785 end Set_Visible_Declarations
;
4787 procedure Set_Was_Originally_Stub
4788 (N
: Node_Id
; Val
: Boolean := True) is
4790 pragma Assert
(False
4791 or else NT
(N
).Nkind
= N_Package_Body
4792 or else NT
(N
).Nkind
= N_Protected_Body
4793 or else NT
(N
).Nkind
= N_Subprogram_Body
4794 or else NT
(N
).Nkind
= N_Task_Body
);
4795 Set_Flag13
(N
, Val
);
4796 end Set_Was_Originally_Stub
;
4798 procedure Set_Zero_Cost_Handling
4799 (N
: Node_Id
; Val
: Boolean := True) is
4801 pragma Assert
(False
4802 or else NT
(N
).Nkind
= N_Exception_Handler
4803 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
4805 end Set_Zero_Cost_Handling
;
4807 -------------------------
4808 -- Iterator Procedures --
4809 -------------------------
4811 procedure Next_Entity
(N
: in out Node_Id
) is
4813 N
:= Next_Entity
(N
);
4816 procedure Next_Named_Actual
(N
: in out Node_Id
) is
4818 N
:= Next_Named_Actual
(N
);
4819 end Next_Named_Actual
;
4821 procedure Next_Rep_Item
(N
: in out Node_Id
) is
4823 N
:= Next_Rep_Item
(N
);
4826 procedure Next_Use_Clause
(N
: in out Node_Id
) is
4828 N
:= Next_Use_Clause
(N
);
4829 end Next_Use_Clause
;
4835 function End_Location
(N
: Node_Id
) return Source_Ptr
is
4836 L
: constant Uint
:= End_Span
(N
);
4842 return Source_Ptr
(Int
(Sloc
(N
)) + UI_To_Int
(L
));
4846 ----------------------
4847 -- Set_End_Location --
4848 ----------------------
4850 procedure Set_End_Location
(N
: Node_Id
; S
: Source_Ptr
) is
4853 UI_From_Int
(Int
(S
) - Int
(Sloc
(N
))));
4854 end Set_End_Location
;