1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 2, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
17 -- for more details. You should have received a copy of the GNU General --
18 -- Public License distributed with GNAT; see file COPYING. If not, write --
19 -- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
20 -- Boston, MA 02110-1301, USA. --
22 -- As a special exception, if other files instantiate generics from this --
23 -- unit, or you link this unit with other files to produce an executable, --
24 -- this unit does not by itself cause the resulting executable to be --
25 -- covered by the GNU General Public License. This exception does not --
26 -- however invalidate any other reasons why the executable file might be --
27 -- covered by the GNU Public License. --
29 -- GNAT was originally developed by the GNAT team at New York University. --
30 -- Extensive contributions were provided by Ada Core Technologies Inc. --
32 ------------------------------------------------------------------------------
34 pragma Style_Checks
(All_Checks
);
35 -- No subprogram ordering check, due to logical grouping
37 with Atree
; use Atree
;
41 use Atree
.Unchecked_Access
;
42 -- This package is one of the few packages which is allowed to make direct
43 -- references to tree nodes (since it is in the business of providing a
44 -- higher level of tree access which other clients are expected to use and
45 -- which implements checks).
47 use Atree_Private_Part
;
48 -- The only reason that we ask for direct access to the private part of
49 -- the tree package is so that we can directly reference the Nkind field
50 -- of nodes table entries. We do this since it helps the efficiency of
51 -- the Sinfo debugging checks considerably (note that when we are checking
52 -- Nkind values, we don't need to check for a valid node reference, because
53 -- we will check that anyway when we reference the field).
55 NT
: Nodes
.Table_Ptr
renames Nodes
.Table
;
56 -- A short hand abbreviation, useful for the debugging checks
58 ----------------------------
59 -- Field Access Functions --
60 ----------------------------
62 function ABE_Is_Certain
63 (N
: Node_Id
) return Boolean is
66 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
67 or else NT
(N
).Nkind
= N_Function_Call
68 or else NT
(N
).Nkind
= N_Function_Instantiation
69 or else NT
(N
).Nkind
= N_Package_Instantiation
70 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
71 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
75 function Abort_Present
76 (N
: Node_Id
) return Boolean is
79 or else NT
(N
).Nkind
= N_Requeue_Statement
);
83 function Abortable_Part
84 (N
: Node_Id
) return Node_Id
is
87 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
91 function Abstract_Present
92 (N
: Node_Id
) return Boolean is
95 or else NT
(N
).Nkind
= N_Derived_Type_Definition
96 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
97 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
98 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
99 or else NT
(N
).Nkind
= N_Private_Type_Declaration
100 or else NT
(N
).Nkind
= N_Record_Definition
);
102 end Abstract_Present
;
104 function Accept_Handler_Records
105 (N
: Node_Id
) return List_Id
is
108 or else NT
(N
).Nkind
= N_Accept_Alternative
);
110 end Accept_Handler_Records
;
112 function Accept_Statement
113 (N
: Node_Id
) return Node_Id
is
116 or else NT
(N
).Nkind
= N_Accept_Alternative
);
118 end Accept_Statement
;
120 function Access_Definition
121 (N
: Node_Id
) return Node_Id
is
124 or else NT
(N
).Nkind
= N_Component_Definition
125 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
127 end Access_Definition
;
129 function Access_To_Subprogram_Definition
130 (N
: Node_Id
) return Node_Id
is
133 or else NT
(N
).Nkind
= N_Access_Definition
);
135 end Access_To_Subprogram_Definition
;
137 function Access_Types_To_Process
138 (N
: Node_Id
) return Elist_Id
is
141 or else NT
(N
).Nkind
= N_Freeze_Entity
);
143 end Access_Types_To_Process
;
146 (N
: Node_Id
) return List_Id
is
149 or else NT
(N
).Nkind
= N_And_Then
150 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
151 or else NT
(N
).Nkind
= N_Freeze_Entity
152 or else NT
(N
).Nkind
= N_Or_Else
);
156 function Activation_Chain_Entity
157 (N
: Node_Id
) return Node_Id
is
160 or else NT
(N
).Nkind
= N_Block_Statement
161 or else NT
(N
).Nkind
= N_Entry_Body
162 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
163 or else NT
(N
).Nkind
= N_Package_Declaration
164 or else NT
(N
).Nkind
= N_Subprogram_Body
165 or else NT
(N
).Nkind
= N_Task_Body
);
167 end Activation_Chain_Entity
;
169 function Acts_As_Spec
170 (N
: Node_Id
) return Boolean is
173 or else NT
(N
).Nkind
= N_Compilation_Unit
174 or else NT
(N
).Nkind
= N_Subprogram_Body
);
178 function Actual_Designated_Subtype
179 (N
: Node_Id
) return Node_Id
is
182 or else NT
(N
).Nkind
= N_Explicit_Dereference
183 or else NT
(N
).Nkind
= N_Free_Statement
);
185 end Actual_Designated_Subtype
;
187 function Aggregate_Bounds
188 (N
: Node_Id
) return Node_Id
is
191 or else NT
(N
).Nkind
= N_Aggregate
);
193 end Aggregate_Bounds
;
195 function Aliased_Present
196 (N
: Node_Id
) return Boolean is
199 or else NT
(N
).Nkind
= N_Component_Definition
200 or else NT
(N
).Nkind
= N_Object_Declaration
);
205 (N
: Node_Id
) return Boolean is
208 or else NT
(N
).Nkind
= N_Others_Choice
);
213 (N
: Node_Id
) return Boolean is
216 or else NT
(N
).Nkind
= N_Access_Definition
217 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
221 function Alternatives
222 (N
: Node_Id
) return List_Id
is
225 or else NT
(N
).Nkind
= N_Case_Statement
);
229 function Ancestor_Part
230 (N
: Node_Id
) return Node_Id
is
233 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
237 function Array_Aggregate
238 (N
: Node_Id
) return Node_Id
is
241 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
245 function Assignment_OK
246 (N
: Node_Id
) return Boolean is
249 or else NT
(N
).Nkind
= N_Object_Declaration
250 or else NT
(N
).Nkind
in N_Subexpr
);
254 function Associated_Node
255 (N
: Node_Id
) return Node_Id
is
258 or else NT
(N
).Nkind
in N_Has_Entity
259 or else NT
(N
).Nkind
= N_Aggregate
260 or else NT
(N
).Nkind
= N_Extension_Aggregate
261 or else NT
(N
).Nkind
= N_Selected_Component
);
266 (N
: Node_Id
) return Node_Id
is
269 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
273 function Attribute_Name
274 (N
: Node_Id
) return Name_Id
is
277 or else NT
(N
).Nkind
= N_Attribute_Reference
);
281 function Aux_Decls_Node
282 (N
: Node_Id
) return Node_Id
is
285 or else NT
(N
).Nkind
= N_Compilation_Unit
);
289 function Backwards_OK
290 (N
: Node_Id
) return Boolean is
293 or else NT
(N
).Nkind
= N_Assignment_Statement
);
297 function Bad_Is_Detected
298 (N
: Node_Id
) return Boolean is
301 or else NT
(N
).Nkind
= N_Subprogram_Body
);
305 function Body_Required
306 (N
: Node_Id
) return Boolean is
309 or else NT
(N
).Nkind
= N_Compilation_Unit
);
313 function Body_To_Inline
314 (N
: Node_Id
) return Node_Id
is
317 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
322 (N
: Node_Id
) return Boolean is
325 or else NT
(N
).Nkind
= N_Component_Association
326 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
327 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
328 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
);
333 (N
: Node_Id
) return Boolean is
336 or else NT
(N
).Nkind
= N_Return_Statement
);
340 function Char_Literal_Value
341 (N
: Node_Id
) return Uint
is
344 or else NT
(N
).Nkind
= N_Character_Literal
);
346 end Char_Literal_Value
;
349 (N
: Node_Id
) return Name_Id
is
352 or else NT
(N
).Nkind
in N_Has_Chars
);
356 function Check_Address_Alignment
357 (N
: Node_Id
) return Boolean is
360 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
362 end Check_Address_Alignment
;
364 function Choice_Parameter
365 (N
: Node_Id
) return Node_Id
is
368 or else NT
(N
).Nkind
= N_Exception_Handler
);
370 end Choice_Parameter
;
373 (N
: Node_Id
) return List_Id
is
376 or else NT
(N
).Nkind
= N_Component_Association
);
380 function Compile_Time_Known_Aggregate
381 (N
: Node_Id
) return Boolean is
384 or else NT
(N
).Nkind
= N_Aggregate
);
386 end Compile_Time_Known_Aggregate
;
388 function Component_Associations
389 (N
: Node_Id
) return List_Id
is
392 or else NT
(N
).Nkind
= N_Aggregate
393 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
395 end Component_Associations
;
397 function Component_Clauses
398 (N
: Node_Id
) return List_Id
is
401 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
403 end Component_Clauses
;
405 function Component_Definition
406 (N
: Node_Id
) return Node_Id
is
409 or else NT
(N
).Nkind
= N_Component_Declaration
410 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
411 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
413 end Component_Definition
;
415 function Component_Items
416 (N
: Node_Id
) return List_Id
is
419 or else NT
(N
).Nkind
= N_Component_List
);
423 function Component_List
424 (N
: Node_Id
) return Node_Id
is
427 or else NT
(N
).Nkind
= N_Record_Definition
428 or else NT
(N
).Nkind
= N_Variant
);
432 function Component_Name
433 (N
: Node_Id
) return Node_Id
is
436 or else NT
(N
).Nkind
= N_Component_Clause
);
441 (N
: Node_Id
) return Node_Id
is
444 or else NT
(N
).Nkind
= N_Accept_Alternative
445 or else NT
(N
).Nkind
= N_Delay_Alternative
446 or else NT
(N
).Nkind
= N_Elsif_Part
447 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
448 or else NT
(N
).Nkind
= N_Exit_Statement
449 or else NT
(N
).Nkind
= N_If_Statement
450 or else NT
(N
).Nkind
= N_Iteration_Scheme
451 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
452 or else NT
(N
).Nkind
= N_Raise_Program_Error
453 or else NT
(N
).Nkind
= N_Raise_Storage_Error
454 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
458 function Condition_Actions
459 (N
: Node_Id
) return List_Id
is
462 or else NT
(N
).Nkind
= N_Elsif_Part
463 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
465 end Condition_Actions
;
467 function Config_Pragmas
468 (N
: Node_Id
) return List_Id
is
471 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
475 function Constant_Present
476 (N
: Node_Id
) return Boolean is
479 or else NT
(N
).Nkind
= N_Access_Definition
480 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
481 or else NT
(N
).Nkind
= N_Object_Declaration
);
483 end Constant_Present
;
486 (N
: Node_Id
) return Node_Id
is
489 or else NT
(N
).Nkind
= N_Subtype_Indication
);
494 (N
: Node_Id
) return List_Id
is
497 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
501 function Context_Installed
502 (N
: Node_Id
) return Boolean is
505 or else NT
(N
).Nkind
= N_With_Clause
);
507 end Context_Installed
;
509 function Context_Items
510 (N
: Node_Id
) return List_Id
is
513 or else NT
(N
).Nkind
= N_Compilation_Unit
);
517 function Controlling_Argument
518 (N
: Node_Id
) return Node_Id
is
521 or else NT
(N
).Nkind
= N_Function_Call
522 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
524 end Controlling_Argument
;
526 function Conversion_OK
527 (N
: Node_Id
) return Boolean is
530 or else NT
(N
).Nkind
= N_Type_Conversion
);
534 function Corresponding_Body
535 (N
: Node_Id
) return Node_Id
is
538 or else NT
(N
).Nkind
= N_Entry_Declaration
539 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
540 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
541 or else NT
(N
).Nkind
= N_Package_Body_Stub
542 or else NT
(N
).Nkind
= N_Package_Declaration
543 or else NT
(N
).Nkind
= N_Protected_Body_Stub
544 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
545 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
546 or else NT
(N
).Nkind
= N_Subprogram_Declaration
547 or else NT
(N
).Nkind
= N_Task_Body_Stub
548 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
550 end Corresponding_Body
;
552 function Corresponding_Formal_Spec
553 (N
: Node_Id
) return Node_Id
is
556 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
558 end Corresponding_Formal_Spec
;
560 function Corresponding_Generic_Association
561 (N
: Node_Id
) return Node_Id
is
564 or else NT
(N
).Nkind
= N_Object_Declaration
565 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
567 end Corresponding_Generic_Association
;
569 function Corresponding_Integer_Value
570 (N
: Node_Id
) return Uint
is
573 or else NT
(N
).Nkind
= N_Real_Literal
);
575 end Corresponding_Integer_Value
;
577 function Corresponding_Spec
578 (N
: Node_Id
) return Node_Id
is
581 or else NT
(N
).Nkind
= N_Package_Body
582 or else NT
(N
).Nkind
= N_Protected_Body
583 or else NT
(N
).Nkind
= N_Subprogram_Body
584 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
585 or else NT
(N
).Nkind
= N_Task_Body
586 or else NT
(N
).Nkind
= N_With_Clause
);
588 end Corresponding_Spec
;
590 function Corresponding_Stub
591 (N
: Node_Id
) return Node_Id
is
594 or else NT
(N
).Nkind
= N_Subunit
);
596 end Corresponding_Stub
;
598 function Dcheck_Function
599 (N
: Node_Id
) return Entity_Id
is
602 or else NT
(N
).Nkind
= N_Variant
);
606 function Debug_Statement
607 (N
: Node_Id
) return Node_Id
is
610 or else NT
(N
).Nkind
= N_Pragma
);
614 function Declarations
615 (N
: Node_Id
) return List_Id
is
618 or else NT
(N
).Nkind
= N_Accept_Statement
619 or else NT
(N
).Nkind
= N_Block_Statement
620 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
621 or else NT
(N
).Nkind
= N_Entry_Body
622 or else NT
(N
).Nkind
= N_Package_Body
623 or else NT
(N
).Nkind
= N_Protected_Body
624 or else NT
(N
).Nkind
= N_Subprogram_Body
625 or else NT
(N
).Nkind
= N_Task_Body
);
629 function Default_Expression
630 (N
: Node_Id
) return Node_Id
is
633 or else NT
(N
).Nkind
= N_Parameter_Specification
);
635 end Default_Expression
;
637 function Default_Name
638 (N
: Node_Id
) return Node_Id
is
641 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
642 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
);
646 function Defining_Identifier
647 (N
: Node_Id
) return Entity_Id
is
650 or else NT
(N
).Nkind
= N_Component_Declaration
651 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
652 or else NT
(N
).Nkind
= N_Discriminant_Specification
653 or else NT
(N
).Nkind
= N_Entry_Body
654 or else NT
(N
).Nkind
= N_Entry_Declaration
655 or else NT
(N
).Nkind
= N_Entry_Index_Specification
656 or else NT
(N
).Nkind
= N_Exception_Declaration
657 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
658 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
659 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
660 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
661 or else NT
(N
).Nkind
= N_Full_Type_Declaration
662 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
663 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
664 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
665 or else NT
(N
).Nkind
= N_Number_Declaration
666 or else NT
(N
).Nkind
= N_Object_Declaration
667 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
668 or else NT
(N
).Nkind
= N_Package_Body_Stub
669 or else NT
(N
).Nkind
= N_Parameter_Specification
670 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
671 or else NT
(N
).Nkind
= N_Private_Type_Declaration
672 or else NT
(N
).Nkind
= N_Protected_Body
673 or else NT
(N
).Nkind
= N_Protected_Body_Stub
674 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
675 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
676 or else NT
(N
).Nkind
= N_Single_Task_Declaration
677 or else NT
(N
).Nkind
= N_Subtype_Declaration
678 or else NT
(N
).Nkind
= N_Task_Body
679 or else NT
(N
).Nkind
= N_Task_Body_Stub
680 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
682 end Defining_Identifier
;
684 function Defining_Unit_Name
685 (N
: Node_Id
) return Node_Id
is
688 or else NT
(N
).Nkind
= N_Function_Instantiation
689 or else NT
(N
).Nkind
= N_Function_Specification
690 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
691 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
692 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
693 or else NT
(N
).Nkind
= N_Package_Body
694 or else NT
(N
).Nkind
= N_Package_Instantiation
695 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
696 or else NT
(N
).Nkind
= N_Package_Specification
697 or else NT
(N
).Nkind
= N_Procedure_Instantiation
698 or else NT
(N
).Nkind
= N_Procedure_Specification
);
700 end Defining_Unit_Name
;
702 function Delay_Alternative
703 (N
: Node_Id
) return Node_Id
is
706 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
708 end Delay_Alternative
;
710 function Delay_Finalize_Attach
711 (N
: Node_Id
) return Boolean is
714 or else NT
(N
).Nkind
= N_Object_Declaration
);
716 end Delay_Finalize_Attach
;
718 function Delay_Statement
719 (N
: Node_Id
) return Node_Id
is
722 or else NT
(N
).Nkind
= N_Delay_Alternative
);
726 function Delta_Expression
727 (N
: Node_Id
) return Node_Id
is
730 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
731 or else NT
(N
).Nkind
= N_Delta_Constraint
732 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
734 end Delta_Expression
;
736 function Digits_Expression
737 (N
: Node_Id
) return Node_Id
is
740 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
741 or else NT
(N
).Nkind
= N_Digits_Constraint
742 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
744 end Digits_Expression
;
746 function Discr_Check_Funcs_Built
747 (N
: Node_Id
) return Boolean is
750 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
752 end Discr_Check_Funcs_Built
;
754 function Discrete_Choices
755 (N
: Node_Id
) return List_Id
is
758 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
759 or else NT
(N
).Nkind
= N_Variant
);
761 end Discrete_Choices
;
763 function Discrete_Range
764 (N
: Node_Id
) return Node_Id
is
767 or else NT
(N
).Nkind
= N_Slice
);
771 function Discrete_Subtype_Definition
772 (N
: Node_Id
) return Node_Id
is
775 or else NT
(N
).Nkind
= N_Entry_Declaration
776 or else NT
(N
).Nkind
= N_Entry_Index_Specification
777 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
779 end Discrete_Subtype_Definition
;
781 function Discrete_Subtype_Definitions
782 (N
: Node_Id
) return List_Id
is
785 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
787 end Discrete_Subtype_Definitions
;
789 function Discriminant_Specifications
790 (N
: Node_Id
) return List_Id
is
793 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
794 or else NT
(N
).Nkind
= N_Full_Type_Declaration
795 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
796 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
797 or else NT
(N
).Nkind
= N_Private_Type_Declaration
798 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
799 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
801 end Discriminant_Specifications
;
803 function Discriminant_Type
804 (N
: Node_Id
) return Node_Id
is
807 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
809 end Discriminant_Type
;
811 function Do_Accessibility_Check
812 (N
: Node_Id
) return Boolean is
815 or else NT
(N
).Nkind
= N_Parameter_Specification
);
817 end Do_Accessibility_Check
;
819 function Do_Discriminant_Check
820 (N
: Node_Id
) return Boolean is
823 or else NT
(N
).Nkind
= N_Selected_Component
);
825 end Do_Discriminant_Check
;
827 function Do_Division_Check
828 (N
: Node_Id
) return Boolean is
831 or else NT
(N
).Nkind
= N_Op_Divide
832 or else NT
(N
).Nkind
= N_Op_Mod
833 or else NT
(N
).Nkind
= N_Op_Rem
);
835 end Do_Division_Check
;
837 function Do_Length_Check
838 (N
: Node_Id
) return Boolean is
841 or else NT
(N
).Nkind
= N_Assignment_Statement
842 or else NT
(N
).Nkind
= N_Op_And
843 or else NT
(N
).Nkind
= N_Op_Or
844 or else NT
(N
).Nkind
= N_Op_Xor
845 or else NT
(N
).Nkind
= N_Type_Conversion
);
849 function Do_Overflow_Check
850 (N
: Node_Id
) return Boolean is
853 or else NT
(N
).Nkind
in N_Op
854 or else NT
(N
).Nkind
= N_Attribute_Reference
855 or else NT
(N
).Nkind
= N_Type_Conversion
);
857 end Do_Overflow_Check
;
859 function Do_Range_Check
860 (N
: Node_Id
) return Boolean is
863 or else NT
(N
).Nkind
in N_Subexpr
);
867 function Do_Storage_Check
868 (N
: Node_Id
) return Boolean is
871 or else NT
(N
).Nkind
= N_Allocator
872 or else NT
(N
).Nkind
= N_Subprogram_Body
);
874 end Do_Storage_Check
;
876 function Do_Tag_Check
877 (N
: Node_Id
) return Boolean is
880 or else NT
(N
).Nkind
= N_Assignment_Statement
881 or else NT
(N
).Nkind
= N_Function_Call
882 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
883 or else NT
(N
).Nkind
= N_Return_Statement
884 or else NT
(N
).Nkind
= N_Type_Conversion
);
888 function Elaborate_All_Desirable
889 (N
: Node_Id
) return Boolean is
892 or else NT
(N
).Nkind
= N_With_Clause
);
894 end Elaborate_All_Desirable
;
896 function Elaborate_All_Present
897 (N
: Node_Id
) return Boolean is
900 or else NT
(N
).Nkind
= N_With_Clause
);
902 end Elaborate_All_Present
;
904 function Elaborate_Desirable
905 (N
: Node_Id
) return Boolean is
908 or else NT
(N
).Nkind
= N_With_Clause
);
910 end Elaborate_Desirable
;
912 function Elaborate_Present
913 (N
: Node_Id
) return Boolean is
916 or else NT
(N
).Nkind
= N_With_Clause
);
918 end Elaborate_Present
;
920 function Elaboration_Boolean
921 (N
: Node_Id
) return Node_Id
is
924 or else NT
(N
).Nkind
= N_Function_Specification
925 or else NT
(N
).Nkind
= N_Procedure_Specification
);
927 end Elaboration_Boolean
;
929 function Else_Actions
930 (N
: Node_Id
) return List_Id
is
933 or else NT
(N
).Nkind
= N_Conditional_Expression
);
937 function Else_Statements
938 (N
: Node_Id
) return List_Id
is
941 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
942 or else NT
(N
).Nkind
= N_If_Statement
943 or else NT
(N
).Nkind
= N_Selective_Accept
);
948 (N
: Node_Id
) return List_Id
is
951 or else NT
(N
).Nkind
= N_If_Statement
);
955 function Enclosing_Variant
956 (N
: Node_Id
) return Node_Id
is
959 or else NT
(N
).Nkind
= N_Variant
);
961 end Enclosing_Variant
;
964 (N
: Node_Id
) return Node_Id
is
967 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
968 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
969 or else NT
(N
).Nkind
= N_Loop_Statement
970 or else NT
(N
).Nkind
= N_Package_Specification
971 or else NT
(N
).Nkind
= N_Protected_Body
972 or else NT
(N
).Nkind
= N_Protected_Definition
973 or else NT
(N
).Nkind
= N_Record_Definition
974 or else NT
(N
).Nkind
= N_Task_Definition
);
979 (N
: Node_Id
) return Uint
is
982 or else NT
(N
).Nkind
= N_Case_Statement
983 or else NT
(N
).Nkind
= N_If_Statement
);
988 (N
: Node_Id
) return Node_Id
is
991 or else NT
(N
).Nkind
in N_Has_Entity
992 or else NT
(N
).Nkind
= N_Freeze_Entity
);
996 function Entity_Or_Associated_Node
997 (N
: Node_Id
) return Node_Id
is
1000 or else NT
(N
).Nkind
in N_Has_Entity
1001 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1003 end Entity_Or_Associated_Node
;
1005 function Entry_Body_Formal_Part
1006 (N
: Node_Id
) return Node_Id
is
1008 pragma Assert
(False
1009 or else NT
(N
).Nkind
= N_Entry_Body
);
1011 end Entry_Body_Formal_Part
;
1013 function Entry_Call_Alternative
1014 (N
: Node_Id
) return Node_Id
is
1016 pragma Assert
(False
1017 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
1018 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
1020 end Entry_Call_Alternative
;
1022 function Entry_Call_Statement
1023 (N
: Node_Id
) return Node_Id
is
1025 pragma Assert
(False
1026 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
1028 end Entry_Call_Statement
;
1030 function Entry_Direct_Name
1031 (N
: Node_Id
) return Node_Id
is
1033 pragma Assert
(False
1034 or else NT
(N
).Nkind
= N_Accept_Statement
);
1036 end Entry_Direct_Name
;
1038 function Entry_Index
1039 (N
: Node_Id
) return Node_Id
is
1041 pragma Assert
(False
1042 or else NT
(N
).Nkind
= N_Accept_Statement
);
1046 function Entry_Index_Specification
1047 (N
: Node_Id
) return Node_Id
is
1049 pragma Assert
(False
1050 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
1052 end Entry_Index_Specification
;
1055 (N
: Node_Id
) return Node_Id
is
1057 pragma Assert
(False
1058 or else NT
(N
).Nkind
in N_Has_Etype
);
1062 function Exception_Choices
1063 (N
: Node_Id
) return List_Id
is
1065 pragma Assert
(False
1066 or else NT
(N
).Nkind
= N_Exception_Handler
);
1068 end Exception_Choices
;
1070 function Exception_Handlers
1071 (N
: Node_Id
) return List_Id
is
1073 pragma Assert
(False
1074 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1076 end Exception_Handlers
;
1078 function Exception_Junk
1079 (N
: Node_Id
) return Boolean is
1081 pragma Assert
(False
1082 or else NT
(N
).Nkind
= N_Goto_Statement
1083 or else NT
(N
).Nkind
= N_Label
1084 or else NT
(N
).Nkind
= N_Object_Declaration
1085 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1089 function Expansion_Delayed
1090 (N
: Node_Id
) return Boolean is
1092 pragma Assert
(False
1093 or else NT
(N
).Nkind
= N_Aggregate
1094 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1096 end Expansion_Delayed
;
1098 function Explicit_Actual_Parameter
1099 (N
: Node_Id
) return Node_Id
is
1101 pragma Assert
(False
1102 or else NT
(N
).Nkind
= N_Parameter_Association
);
1104 end Explicit_Actual_Parameter
;
1106 function Explicit_Generic_Actual_Parameter
1107 (N
: Node_Id
) return Node_Id
is
1109 pragma Assert
(False
1110 or else NT
(N
).Nkind
= N_Generic_Association
);
1112 end Explicit_Generic_Actual_Parameter
;
1115 (N
: Node_Id
) return Node_Id
is
1117 pragma Assert
(False
1118 or else NT
(N
).Nkind
= N_Allocator
1119 or else NT
(N
).Nkind
= N_Assignment_Statement
1120 or else NT
(N
).Nkind
= N_At_Clause
1121 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1122 or else NT
(N
).Nkind
= N_Case_Statement
1123 or else NT
(N
).Nkind
= N_Code_Statement
1124 or else NT
(N
).Nkind
= N_Component_Association
1125 or else NT
(N
).Nkind
= N_Component_Declaration
1126 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
1127 or else NT
(N
).Nkind
= N_Delay_Until_Statement
1128 or else NT
(N
).Nkind
= N_Discriminant_Association
1129 or else NT
(N
).Nkind
= N_Discriminant_Specification
1130 or else NT
(N
).Nkind
= N_Exception_Declaration
1131 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1132 or else NT
(N
).Nkind
= N_Free_Statement
1133 or else NT
(N
).Nkind
= N_Mod_Clause
1134 or else NT
(N
).Nkind
= N_Modular_Type_Definition
1135 or else NT
(N
).Nkind
= N_Number_Declaration
1136 or else NT
(N
).Nkind
= N_Object_Declaration
1137 or else NT
(N
).Nkind
= N_Parameter_Specification
1138 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
1139 or else NT
(N
).Nkind
= N_Qualified_Expression
1140 or else NT
(N
).Nkind
= N_Raise_Statement
1141 or else NT
(N
).Nkind
= N_Return_Statement
1142 or else NT
(N
).Nkind
= N_Type_Conversion
1143 or else NT
(N
).Nkind
= N_Unchecked_Expression
1144 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1148 function Expressions
1149 (N
: Node_Id
) return List_Id
is
1151 pragma Assert
(False
1152 or else NT
(N
).Nkind
= N_Aggregate
1153 or else NT
(N
).Nkind
= N_Attribute_Reference
1154 or else NT
(N
).Nkind
= N_Conditional_Expression
1155 or else NT
(N
).Nkind
= N_Extension_Aggregate
1156 or else NT
(N
).Nkind
= N_Indexed_Component
);
1161 (N
: Node_Id
) return Node_Id
is
1163 pragma Assert
(False
1164 or else NT
(N
).Nkind
= N_Component_Clause
);
1168 function First_Inlined_Subprogram
1169 (N
: Node_Id
) return Entity_Id
is
1171 pragma Assert
(False
1172 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1174 end First_Inlined_Subprogram
;
1177 (N
: Node_Id
) return Boolean is
1179 pragma Assert
(False
1180 or else NT
(N
).Nkind
= N_With_Clause
);
1184 function First_Named_Actual
1185 (N
: Node_Id
) return Node_Id
is
1187 pragma Assert
(False
1188 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1189 or else NT
(N
).Nkind
= N_Function_Call
1190 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1192 end First_Named_Actual
;
1194 function First_Real_Statement
1195 (N
: Node_Id
) return Node_Id
is
1197 pragma Assert
(False
1198 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1200 end First_Real_Statement
;
1202 function First_Subtype_Link
1203 (N
: Node_Id
) return Entity_Id
is
1205 pragma Assert
(False
1206 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1208 end First_Subtype_Link
;
1210 function Float_Truncate
1211 (N
: Node_Id
) return Boolean is
1213 pragma Assert
(False
1214 or else NT
(N
).Nkind
= N_Type_Conversion
);
1218 function Formal_Type_Definition
1219 (N
: Node_Id
) return Node_Id
is
1221 pragma Assert
(False
1222 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
1224 end Formal_Type_Definition
;
1226 function Forwards_OK
1227 (N
: Node_Id
) return Boolean is
1229 pragma Assert
(False
1230 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1234 function From_At_Mod
1235 (N
: Node_Id
) return Boolean is
1237 pragma Assert
(False
1238 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1242 function From_Default
1243 (N
: Node_Id
) return Boolean is
1245 pragma Assert
(False
1246 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
1250 function Generic_Associations
1251 (N
: Node_Id
) return List_Id
is
1253 pragma Assert
(False
1254 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1255 or else NT
(N
).Nkind
= N_Function_Instantiation
1256 or else NT
(N
).Nkind
= N_Package_Instantiation
1257 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1259 end Generic_Associations
;
1261 function Generic_Formal_Declarations
1262 (N
: Node_Id
) return List_Id
is
1264 pragma Assert
(False
1265 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1266 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
1268 end Generic_Formal_Declarations
;
1270 function Generic_Parent
1271 (N
: Node_Id
) return Node_Id
is
1273 pragma Assert
(False
1274 or else NT
(N
).Nkind
= N_Function_Specification
1275 or else NT
(N
).Nkind
= N_Package_Specification
1276 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1280 function Generic_Parent_Type
1281 (N
: Node_Id
) return Node_Id
is
1283 pragma Assert
(False
1284 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1286 end Generic_Parent_Type
;
1288 function Handled_Statement_Sequence
1289 (N
: Node_Id
) return Node_Id
is
1291 pragma Assert
(False
1292 or else NT
(N
).Nkind
= N_Accept_Statement
1293 or else NT
(N
).Nkind
= N_Block_Statement
1294 or else NT
(N
).Nkind
= N_Entry_Body
1295 or else NT
(N
).Nkind
= N_Package_Body
1296 or else NT
(N
).Nkind
= N_Subprogram_Body
1297 or else NT
(N
).Nkind
= N_Task_Body
);
1299 end Handled_Statement_Sequence
;
1301 function Handler_List_Entry
1302 (N
: Node_Id
) return Node_Id
is
1304 pragma Assert
(False
1305 or else NT
(N
).Nkind
= N_Object_Declaration
);
1307 end Handler_List_Entry
;
1309 function Has_Created_Identifier
1310 (N
: Node_Id
) return Boolean is
1312 pragma Assert
(False
1313 or else NT
(N
).Nkind
= N_Block_Statement
1314 or else NT
(N
).Nkind
= N_Loop_Statement
);
1316 end Has_Created_Identifier
;
1318 function Has_Dynamic_Length_Check
1319 (N
: Node_Id
) return Boolean is
1322 end Has_Dynamic_Length_Check
;
1324 function Has_Dynamic_Range_Check
1325 (N
: Node_Id
) return Boolean is
1328 end Has_Dynamic_Range_Check
;
1330 function Has_No_Elaboration_Code
1331 (N
: Node_Id
) return Boolean is
1333 pragma Assert
(False
1334 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1336 end Has_No_Elaboration_Code
;
1338 function Has_Priority_Pragma
1339 (N
: Node_Id
) return Boolean is
1341 pragma Assert
(False
1342 or else NT
(N
).Nkind
= N_Protected_Definition
1343 or else NT
(N
).Nkind
= N_Subprogram_Body
1344 or else NT
(N
).Nkind
= N_Task_Definition
);
1346 end Has_Priority_Pragma
;
1348 function Has_Private_View
1349 (N
: Node_Id
) return Boolean is
1351 pragma Assert
(False
1352 or else NT
(N
).Nkind
in N_Op
1353 or else NT
(N
).Nkind
= N_Character_Literal
1354 or else NT
(N
).Nkind
= N_Expanded_Name
1355 or else NT
(N
).Nkind
= N_Identifier
1356 or else NT
(N
).Nkind
= N_Operator_Symbol
);
1358 end Has_Private_View
;
1360 function Has_Storage_Size_Pragma
1361 (N
: Node_Id
) return Boolean is
1363 pragma Assert
(False
1364 or else NT
(N
).Nkind
= N_Task_Definition
);
1366 end Has_Storage_Size_Pragma
;
1368 function Has_Task_Info_Pragma
1369 (N
: Node_Id
) return Boolean is
1371 pragma Assert
(False
1372 or else NT
(N
).Nkind
= N_Task_Definition
);
1374 end Has_Task_Info_Pragma
;
1376 function Has_Task_Name_Pragma
1377 (N
: Node_Id
) return Boolean is
1379 pragma Assert
(False
1380 or else NT
(N
).Nkind
= N_Task_Definition
);
1382 end Has_Task_Name_Pragma
;
1384 function Has_Wide_Character
1385 (N
: Node_Id
) return Boolean is
1387 pragma Assert
(False
1388 or else NT
(N
).Nkind
= N_String_Literal
);
1390 end Has_Wide_Character
;
1392 function Hidden_By_Use_Clause
1393 (N
: Node_Id
) return Elist_Id
is
1395 pragma Assert
(False
1396 or else NT
(N
).Nkind
= N_Use_Package_Clause
1397 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1399 end Hidden_By_Use_Clause
;
1402 (N
: Node_Id
) return Node_Id
is
1404 pragma Assert
(False
1405 or else NT
(N
).Nkind
= N_Range
1406 or else NT
(N
).Nkind
= N_Real_Range_Specification
1407 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1412 (N
: Node_Id
) return Node_Id
is
1414 pragma Assert
(False
1415 or else NT
(N
).Nkind
= N_At_Clause
1416 or else NT
(N
).Nkind
= N_Block_Statement
1417 or else NT
(N
).Nkind
= N_Designator
1418 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1419 or else NT
(N
).Nkind
= N_Label
1420 or else NT
(N
).Nkind
= N_Loop_Statement
1421 or else NT
(N
).Nkind
= N_Record_Representation_Clause
1422 or else NT
(N
).Nkind
= N_Subprogram_Info
);
1426 function Implicit_With
1427 (N
: Node_Id
) return Boolean is
1429 pragma Assert
(False
1430 or else NT
(N
).Nkind
= N_With_Clause
);
1434 function Interface_List
1435 (N
: Node_Id
) return List_Id
is
1437 pragma Assert
(False
1438 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1439 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
1440 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
1441 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
1442 or else NT
(N
).Nkind
= N_Record_Definition
1443 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
1444 or else NT
(N
).Nkind
= N_Single_Task_Declaration
1445 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
1449 function Interface_Present
1450 (N
: Node_Id
) return Boolean is
1452 pragma Assert
(False
1453 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1454 or else NT
(N
).Nkind
= N_Record_Definition
);
1456 end Interface_Present
;
1459 (N
: Node_Id
) return Boolean is
1461 pragma Assert
(False
1462 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1463 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1467 function Includes_Infinities
1468 (N
: Node_Id
) return Boolean is
1470 pragma Assert
(False
1471 or else NT
(N
).Nkind
= N_Range
);
1473 end Includes_Infinities
;
1475 function Instance_Spec
1476 (N
: Node_Id
) return Node_Id
is
1478 pragma Assert
(False
1479 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1480 or else NT
(N
).Nkind
= N_Function_Instantiation
1481 or else NT
(N
).Nkind
= N_Package_Instantiation
1482 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1487 (N
: Node_Id
) return Uint
is
1489 pragma Assert
(False
1490 or else NT
(N
).Nkind
= N_Integer_Literal
);
1494 function Is_Asynchronous_Call_Block
1495 (N
: Node_Id
) return Boolean is
1497 pragma Assert
(False
1498 or else NT
(N
).Nkind
= N_Block_Statement
);
1500 end Is_Asynchronous_Call_Block
;
1502 function Is_Component_Left_Opnd
1503 (N
: Node_Id
) return Boolean is
1505 pragma Assert
(False
1506 or else NT
(N
).Nkind
= N_Op_Concat
);
1508 end Is_Component_Left_Opnd
;
1510 function Is_Component_Right_Opnd
1511 (N
: Node_Id
) return Boolean is
1513 pragma Assert
(False
1514 or else NT
(N
).Nkind
= N_Op_Concat
);
1516 end Is_Component_Right_Opnd
;
1518 function Is_Controlling_Actual
1519 (N
: Node_Id
) return Boolean is
1521 pragma Assert
(False
1522 or else NT
(N
).Nkind
in N_Subexpr
);
1524 end Is_Controlling_Actual
;
1526 function Is_In_Discriminant_Check
1527 (N
: Node_Id
) return Boolean is
1529 pragma Assert
(False
1530 or else NT
(N
).Nkind
= N_Selected_Component
);
1532 end Is_In_Discriminant_Check
;
1534 function Is_Machine_Number
1535 (N
: Node_Id
) return Boolean is
1537 pragma Assert
(False
1538 or else NT
(N
).Nkind
= N_Real_Literal
);
1540 end Is_Machine_Number
;
1542 function Is_Null_Loop
1543 (N
: Node_Id
) return Boolean is
1545 pragma Assert
(False
1546 or else NT
(N
).Nkind
= N_Loop_Statement
);
1550 function Is_Overloaded
1551 (N
: Node_Id
) return Boolean is
1553 pragma Assert
(False
1554 or else NT
(N
).Nkind
in N_Subexpr
);
1558 function Is_Power_Of_2_For_Shift
1559 (N
: Node_Id
) return Boolean is
1561 pragma Assert
(False
1562 or else NT
(N
).Nkind
= N_Op_Expon
);
1564 end Is_Power_Of_2_For_Shift
;
1566 function Is_Protected_Subprogram_Body
1567 (N
: Node_Id
) return Boolean is
1569 pragma Assert
(False
1570 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1572 end Is_Protected_Subprogram_Body
;
1574 function Is_Static_Expression
1575 (N
: Node_Id
) return Boolean is
1577 pragma Assert
(False
1578 or else NT
(N
).Nkind
in N_Subexpr
);
1580 end Is_Static_Expression
;
1582 function Is_Subprogram_Descriptor
1583 (N
: Node_Id
) return Boolean is
1585 pragma Assert
(False
1586 or else NT
(N
).Nkind
= N_Object_Declaration
);
1588 end Is_Subprogram_Descriptor
;
1590 function Is_Task_Allocation_Block
1591 (N
: Node_Id
) return Boolean is
1593 pragma Assert
(False
1594 or else NT
(N
).Nkind
= N_Block_Statement
);
1596 end Is_Task_Allocation_Block
;
1598 function Is_Task_Master
1599 (N
: Node_Id
) return Boolean is
1601 pragma Assert
(False
1602 or else NT
(N
).Nkind
= N_Block_Statement
1603 or else NT
(N
).Nkind
= N_Subprogram_Body
1604 or else NT
(N
).Nkind
= N_Task_Body
);
1608 function Iteration_Scheme
1609 (N
: Node_Id
) return Node_Id
is
1611 pragma Assert
(False
1612 or else NT
(N
).Nkind
= N_Loop_Statement
);
1614 end Iteration_Scheme
;
1617 (N
: Node_Id
) return Node_Id
is
1619 pragma Assert
(False
1620 or else NT
(N
).Nkind
= N_Itype_Reference
);
1624 function Kill_Range_Check
1625 (N
: Node_Id
) return Boolean is
1627 pragma Assert
(False
1628 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1630 end Kill_Range_Check
;
1632 function Label_Construct
1633 (N
: Node_Id
) return Node_Id
is
1635 pragma Assert
(False
1636 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
1638 end Label_Construct
;
1641 (N
: Node_Id
) return Node_Id
is
1643 pragma Assert
(False
1644 or else NT
(N
).Nkind
= N_Component_Clause
);
1649 (N
: Node_Id
) return Boolean is
1651 pragma Assert
(False
1652 or else NT
(N
).Nkind
= N_With_Clause
);
1657 (N
: Node_Id
) return Node_Id
is
1659 pragma Assert
(False
1660 or else NT
(N
).Nkind
= N_And_Then
1661 or else NT
(N
).Nkind
= N_In
1662 or else NT
(N
).Nkind
= N_Not_In
1663 or else NT
(N
).Nkind
= N_Or_Else
1664 or else NT
(N
).Nkind
in N_Binary_Op
);
1668 function Library_Unit
1669 (N
: Node_Id
) return Node_Id
is
1671 pragma Assert
(False
1672 or else NT
(N
).Nkind
= N_Compilation_Unit
1673 or else NT
(N
).Nkind
= N_Package_Body_Stub
1674 or else NT
(N
).Nkind
= N_Protected_Body_Stub
1675 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
1676 or else NT
(N
).Nkind
= N_Task_Body_Stub
1677 or else NT
(N
).Nkind
= N_With_Clause
);
1681 function Limited_View_Installed
1682 (N
: Node_Id
) return Boolean is
1684 pragma Assert
(False
1685 or else NT
(N
).Nkind
= N_Package_Specification
1686 or else NT
(N
).Nkind
= N_With_Clause
);
1688 end Limited_View_Installed
;
1690 function Limited_Present
1691 (N
: Node_Id
) return Boolean is
1693 pragma Assert
(False
1694 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1695 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
1696 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
1697 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
1698 or else NT
(N
).Nkind
= N_Private_Type_Declaration
1699 or else NT
(N
).Nkind
= N_Record_Definition
1700 or else NT
(N
).Nkind
= N_With_Clause
);
1702 end Limited_Present
;
1705 (N
: Node_Id
) return List_Id
is
1707 pragma Assert
(False
1708 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
1712 function Loop_Actions
1713 (N
: Node_Id
) return List_Id
is
1715 pragma Assert
(False
1716 or else NT
(N
).Nkind
= N_Component_Association
);
1720 function Loop_Parameter_Specification
1721 (N
: Node_Id
) return Node_Id
is
1723 pragma Assert
(False
1724 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
1726 end Loop_Parameter_Specification
;
1729 (N
: Node_Id
) return Node_Id
is
1731 pragma Assert
(False
1732 or else NT
(N
).Nkind
= N_Range
1733 or else NT
(N
).Nkind
= N_Real_Range_Specification
1734 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1739 (N
: Node_Id
) return Node_Id
is
1741 pragma Assert
(False
1742 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1747 (N
: Node_Id
) return Boolean is
1749 pragma Assert
(False
1750 or else NT
(N
).Nkind
= N_Component_Declaration
1751 or else NT
(N
).Nkind
= N_Discriminant_Specification
1752 or else NT
(N
).Nkind
= N_Exception_Declaration
1753 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1754 or else NT
(N
).Nkind
= N_Number_Declaration
1755 or else NT
(N
).Nkind
= N_Object_Declaration
1756 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1760 function Must_Be_Byte_Aligned
1761 (N
: Node_Id
) return Boolean is
1763 pragma Assert
(False
1764 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1766 end Must_Be_Byte_Aligned
;
1768 function Must_Not_Freeze
1769 (N
: Node_Id
) return Boolean is
1771 pragma Assert
(False
1772 or else NT
(N
).Nkind
= N_Subtype_Indication
1773 or else NT
(N
).Nkind
in N_Subexpr
);
1775 end Must_Not_Freeze
;
1777 function Must_Not_Override
1778 (N
: Node_Id
) return Boolean is
1780 pragma Assert
(False
1781 or else NT
(N
).Nkind
= N_Entry_Declaration
1782 or else NT
(N
).Nkind
= N_Function_Instantiation
1783 or else NT
(N
).Nkind
= N_Function_Specification
1784 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1785 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1787 end Must_Not_Override
;
1789 function Must_Override
1790 (N
: Node_Id
) return Boolean is
1792 pragma Assert
(False
1793 or else NT
(N
).Nkind
= N_Entry_Declaration
1794 or else NT
(N
).Nkind
= N_Function_Instantiation
1795 or else NT
(N
).Nkind
= N_Function_Specification
1796 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1797 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1802 (N
: Node_Id
) return Node_Id
is
1804 pragma Assert
(False
1805 or else NT
(N
).Nkind
= N_Assignment_Statement
1806 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1807 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
1808 or else NT
(N
).Nkind
= N_Designator
1809 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1810 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
1811 or else NT
(N
).Nkind
= N_Exit_Statement
1812 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1813 or else NT
(N
).Nkind
= N_Function_Call
1814 or else NT
(N
).Nkind
= N_Function_Instantiation
1815 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1816 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1817 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1818 or else NT
(N
).Nkind
= N_Goto_Statement
1819 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
1820 or else NT
(N
).Nkind
= N_Package_Instantiation
1821 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1822 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
1823 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1824 or else NT
(N
).Nkind
= N_Raise_Statement
1825 or else NT
(N
).Nkind
= N_Requeue_Statement
1826 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
1827 or else NT
(N
).Nkind
= N_Subunit
1828 or else NT
(N
).Nkind
= N_Variant_Part
1829 or else NT
(N
).Nkind
= N_With_Clause
1830 or else NT
(N
).Nkind
= N_With_Type_Clause
);
1835 (N
: Node_Id
) return List_Id
is
1837 pragma Assert
(False
1838 or else NT
(N
).Nkind
= N_Abort_Statement
1839 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
1843 function Next_Entity
1844 (N
: Node_Id
) return Node_Id
is
1846 pragma Assert
(False
1847 or else NT
(N
).Nkind
= N_Defining_Character_Literal
1848 or else NT
(N
).Nkind
= N_Defining_Identifier
1849 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
1853 function Next_Named_Actual
1854 (N
: Node_Id
) return Node_Id
is
1856 pragma Assert
(False
1857 or else NT
(N
).Nkind
= N_Parameter_Association
);
1859 end Next_Named_Actual
;
1861 function Next_Rep_Item
1862 (N
: Node_Id
) return Node_Id
is
1864 pragma Assert
(False
1865 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1866 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1867 or else NT
(N
).Nkind
= N_Pragma
1868 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1872 function Next_Use_Clause
1873 (N
: Node_Id
) return Node_Id
is
1875 pragma Assert
(False
1876 or else NT
(N
).Nkind
= N_Use_Package_Clause
1877 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1879 end Next_Use_Clause
;
1881 function No_Ctrl_Actions
1882 (N
: Node_Id
) return Boolean is
1884 pragma Assert
(False
1885 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1887 end No_Ctrl_Actions
;
1889 function No_Elaboration_Check
1890 (N
: Node_Id
) return Boolean is
1892 pragma Assert
(False
1893 or else NT
(N
).Nkind
= N_Function_Call
1894 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1896 end No_Elaboration_Check
;
1898 function No_Entities_Ref_In_Spec
1899 (N
: Node_Id
) return Boolean is
1901 pragma Assert
(False
1902 or else NT
(N
).Nkind
= N_With_Clause
);
1904 end No_Entities_Ref_In_Spec
;
1906 function No_Initialization
1907 (N
: Node_Id
) return Boolean is
1909 pragma Assert
(False
1910 or else NT
(N
).Nkind
= N_Allocator
1911 or else NT
(N
).Nkind
= N_Object_Declaration
);
1913 end No_Initialization
;
1915 function No_Truncation
1916 (N
: Node_Id
) return Boolean is
1918 pragma Assert
(False
1919 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1923 function Null_Present
1924 (N
: Node_Id
) return Boolean is
1926 pragma Assert
(False
1927 or else NT
(N
).Nkind
= N_Component_List
1928 or else NT
(N
).Nkind
= N_Procedure_Specification
1929 or else NT
(N
).Nkind
= N_Record_Definition
);
1933 function Null_Exclusion_Present
1934 (N
: Node_Id
) return Boolean is
1936 pragma Assert
(False
1937 or else NT
(N
).Nkind
= N_Access_Definition
1938 or else NT
(N
).Nkind
= N_Access_Function_Definition
1939 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
1940 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
1941 or else NT
(N
).Nkind
= N_Allocator
1942 or else NT
(N
).Nkind
= N_Component_Definition
1943 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1944 or else NT
(N
).Nkind
= N_Discriminant_Specification
1945 or else NT
(N
).Nkind
= N_Function_Specification
1946 or else NT
(N
).Nkind
= N_Object_Declaration
1947 or else NT
(N
).Nkind
= N_Parameter_Specification
1948 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1950 end Null_Exclusion_Present
;
1952 function Null_Record_Present
1953 (N
: Node_Id
) return Boolean is
1955 pragma Assert
(False
1956 or else NT
(N
).Nkind
= N_Aggregate
1957 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1959 end Null_Record_Present
;
1961 function Object_Definition
1962 (N
: Node_Id
) return Node_Id
is
1964 pragma Assert
(False
1965 or else NT
(N
).Nkind
= N_Object_Declaration
);
1967 end Object_Definition
;
1969 function Original_Discriminant
1970 (N
: Node_Id
) return Node_Id
is
1972 pragma Assert
(False
1973 or else NT
(N
).Nkind
= N_Identifier
);
1975 end Original_Discriminant
;
1977 function Original_Entity
1978 (N
: Node_Id
) return Entity_Id
is
1980 pragma Assert
(False
1981 or else NT
(N
).Nkind
= N_Integer_Literal
1982 or else NT
(N
).Nkind
= N_Real_Literal
);
1984 end Original_Entity
;
1986 function Others_Discrete_Choices
1987 (N
: Node_Id
) return List_Id
is
1989 pragma Assert
(False
1990 or else NT
(N
).Nkind
= N_Others_Choice
);
1992 end Others_Discrete_Choices
;
1994 function Out_Present
1995 (N
: Node_Id
) return Boolean is
1997 pragma Assert
(False
1998 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1999 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2003 function Parameter_Associations
2004 (N
: Node_Id
) return List_Id
is
2006 pragma Assert
(False
2007 or else NT
(N
).Nkind
= N_Entry_Call_Statement
2008 or else NT
(N
).Nkind
= N_Function_Call
2009 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2011 end Parameter_Associations
;
2013 function Parameter_List_Truncated
2014 (N
: Node_Id
) return Boolean is
2016 pragma Assert
(False
2017 or else NT
(N
).Nkind
= N_Function_Call
2018 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2020 end Parameter_List_Truncated
;
2022 function Parameter_Specifications
2023 (N
: Node_Id
) return List_Id
is
2025 pragma Assert
(False
2026 or else NT
(N
).Nkind
= N_Accept_Statement
2027 or else NT
(N
).Nkind
= N_Access_Function_Definition
2028 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2029 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
2030 or else NT
(N
).Nkind
= N_Entry_Declaration
2031 or else NT
(N
).Nkind
= N_Function_Specification
2032 or else NT
(N
).Nkind
= N_Procedure_Specification
);
2034 end Parameter_Specifications
;
2036 function Parameter_Type
2037 (N
: Node_Id
) return Node_Id
is
2039 pragma Assert
(False
2040 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2044 function Parent_Spec
2045 (N
: Node_Id
) return Node_Id
is
2047 pragma Assert
(False
2048 or else NT
(N
).Nkind
= N_Function_Instantiation
2049 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
2050 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2051 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
2052 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
2053 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2054 or else NT
(N
).Nkind
= N_Package_Declaration
2055 or else NT
(N
).Nkind
= N_Package_Instantiation
2056 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
2057 or else NT
(N
).Nkind
= N_Procedure_Instantiation
2058 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2059 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2064 (N
: Node_Id
) return Node_Id
is
2066 pragma Assert
(False
2067 or else NT
(N
).Nkind
= N_Component_Clause
);
2071 function Pragma_Argument_Associations
2072 (N
: Node_Id
) return List_Id
is
2074 pragma Assert
(False
2075 or else NT
(N
).Nkind
= N_Pragma
);
2077 end Pragma_Argument_Associations
;
2079 function Pragmas_After
2080 (N
: Node_Id
) return List_Id
is
2082 pragma Assert
(False
2083 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2084 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
2088 function Pragmas_Before
2089 (N
: Node_Id
) return List_Id
is
2091 pragma Assert
(False
2092 or else NT
(N
).Nkind
= N_Accept_Alternative
2093 or else NT
(N
).Nkind
= N_Delay_Alternative
2094 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2095 or else NT
(N
).Nkind
= N_Mod_Clause
2096 or else NT
(N
).Nkind
= N_Terminate_Alternative
2097 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2102 (N
: Node_Id
) return Node_Id
is
2104 pragma Assert
(False
2105 or else NT
(N
).Nkind
= N_Attribute_Reference
2106 or else NT
(N
).Nkind
= N_Expanded_Name
2107 or else NT
(N
).Nkind
= N_Explicit_Dereference
2108 or else NT
(N
).Nkind
= N_Indexed_Component
2109 or else NT
(N
).Nkind
= N_Reference
2110 or else NT
(N
).Nkind
= N_Selected_Component
2111 or else NT
(N
).Nkind
= N_Slice
);
2115 function Present_Expr
2116 (N
: Node_Id
) return Uint
is
2118 pragma Assert
(False
2119 or else NT
(N
).Nkind
= N_Variant
);
2124 (N
: Node_Id
) return Boolean is
2126 pragma Assert
(False
2127 or else NT
(N
).Nkind
= N_Component_Declaration
2128 or else NT
(N
).Nkind
= N_Discriminant_Specification
2129 or else NT
(N
).Nkind
= N_Exception_Declaration
2130 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2131 or else NT
(N
).Nkind
= N_Number_Declaration
2132 or else NT
(N
).Nkind
= N_Object_Declaration
2133 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2137 function Print_In_Hex
2138 (N
: Node_Id
) return Boolean is
2140 pragma Assert
(False
2141 or else NT
(N
).Nkind
= N_Integer_Literal
);
2145 function Private_Declarations
2146 (N
: Node_Id
) return List_Id
is
2148 pragma Assert
(False
2149 or else NT
(N
).Nkind
= N_Package_Specification
2150 or else NT
(N
).Nkind
= N_Protected_Definition
2151 or else NT
(N
).Nkind
= N_Task_Definition
);
2153 end Private_Declarations
;
2155 function Private_Present
2156 (N
: Node_Id
) return Boolean is
2158 pragma Assert
(False
2159 or else NT
(N
).Nkind
= N_Compilation_Unit
2160 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2161 or else NT
(N
).Nkind
= N_With_Clause
);
2163 end Private_Present
;
2165 function Procedure_To_Call
2166 (N
: Node_Id
) return Node_Id
is
2168 pragma Assert
(False
2169 or else NT
(N
).Nkind
= N_Allocator
2170 or else NT
(N
).Nkind
= N_Free_Statement
2171 or else NT
(N
).Nkind
= N_Return_Statement
);
2173 end Procedure_To_Call
;
2175 function Proper_Body
2176 (N
: Node_Id
) return Node_Id
is
2178 pragma Assert
(False
2179 or else NT
(N
).Nkind
= N_Subunit
);
2183 function Protected_Definition
2184 (N
: Node_Id
) return Node_Id
is
2186 pragma Assert
(False
2187 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
2188 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
2190 end Protected_Definition
;
2192 function Protected_Present
2193 (N
: Node_Id
) return Boolean is
2195 pragma Assert
(False
2196 or else NT
(N
).Nkind
= N_Access_Function_Definition
2197 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2198 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2199 or else NT
(N
).Nkind
= N_Record_Definition
);
2201 end Protected_Present
;
2203 function Raises_Constraint_Error
2204 (N
: Node_Id
) return Boolean is
2206 pragma Assert
(False
2207 or else NT
(N
).Nkind
in N_Subexpr
);
2209 end Raises_Constraint_Error
;
2211 function Range_Constraint
2212 (N
: Node_Id
) return Node_Id
is
2214 pragma Assert
(False
2215 or else NT
(N
).Nkind
= N_Delta_Constraint
2216 or else NT
(N
).Nkind
= N_Digits_Constraint
);
2218 end Range_Constraint
;
2220 function Range_Expression
2221 (N
: Node_Id
) return Node_Id
is
2223 pragma Assert
(False
2224 or else NT
(N
).Nkind
= N_Range_Constraint
);
2226 end Range_Expression
;
2228 function Real_Range_Specification
2229 (N
: Node_Id
) return Node_Id
is
2231 pragma Assert
(False
2232 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
2233 or else NT
(N
).Nkind
= N_Floating_Point_Definition
2234 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
2236 end Real_Range_Specification
;
2239 (N
: Node_Id
) return Ureal
is
2241 pragma Assert
(False
2242 or else NT
(N
).Nkind
= N_Real_Literal
);
2247 (N
: Node_Id
) return Uint
is
2249 pragma Assert
(False
2250 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2251 or else NT
(N
).Nkind
= N_Raise_Program_Error
2252 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
2256 function Record_Extension_Part
2257 (N
: Node_Id
) return Node_Id
is
2259 pragma Assert
(False
2260 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
2262 end Record_Extension_Part
;
2264 function Redundant_Use
2265 (N
: Node_Id
) return Boolean is
2267 pragma Assert
(False
2268 or else NT
(N
).Nkind
= N_Attribute_Reference
2269 or else NT
(N
).Nkind
= N_Expanded_Name
2270 or else NT
(N
).Nkind
= N_Identifier
);
2274 function Result_Definition
2275 (N
: Node_Id
) return Node_Id
is
2277 pragma Assert
(False
2278 or else NT
(N
).Nkind
= N_Access_Function_Definition
2279 or else NT
(N
).Nkind
= N_Function_Specification
);
2281 end Result_Definition
;
2283 function Return_Type
2284 (N
: Node_Id
) return Node_Id
is
2286 pragma Assert
(False
2287 or else NT
(N
).Nkind
= N_Return_Statement
);
2291 function Reverse_Present
2292 (N
: Node_Id
) return Boolean is
2294 pragma Assert
(False
2295 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
2297 end Reverse_Present
;
2300 (N
: Node_Id
) return Node_Id
is
2302 pragma Assert
(False
2303 or else NT
(N
).Nkind
in N_Op
2304 or else NT
(N
).Nkind
= N_And_Then
2305 or else NT
(N
).Nkind
= N_In
2306 or else NT
(N
).Nkind
= N_Not_In
2307 or else NT
(N
).Nkind
= N_Or_Else
);
2311 function Rounded_Result
2312 (N
: Node_Id
) return Boolean is
2314 pragma Assert
(False
2315 or else NT
(N
).Nkind
= N_Op_Divide
2316 or else NT
(N
).Nkind
= N_Op_Multiply
2317 or else NT
(N
).Nkind
= N_Type_Conversion
);
2322 (N
: Node_Id
) return Node_Id
is
2324 pragma Assert
(False
2325 or else NT
(N
).Nkind
= N_Defining_Character_Literal
2326 or else NT
(N
).Nkind
= N_Defining_Identifier
2327 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
2331 function Select_Alternatives
2332 (N
: Node_Id
) return List_Id
is
2334 pragma Assert
(False
2335 or else NT
(N
).Nkind
= N_Selective_Accept
);
2337 end Select_Alternatives
;
2339 function Selector_Name
2340 (N
: Node_Id
) return Node_Id
is
2342 pragma Assert
(False
2343 or else NT
(N
).Nkind
= N_Expanded_Name
2344 or else NT
(N
).Nkind
= N_Generic_Association
2345 or else NT
(N
).Nkind
= N_Parameter_Association
2346 or else NT
(N
).Nkind
= N_Selected_Component
);
2350 function Selector_Names
2351 (N
: Node_Id
) return List_Id
is
2353 pragma Assert
(False
2354 or else NT
(N
).Nkind
= N_Discriminant_Association
);
2358 function Shift_Count_OK
2359 (N
: Node_Id
) return Boolean is
2361 pragma Assert
(False
2362 or else NT
(N
).Nkind
= N_Op_Rotate_Left
2363 or else NT
(N
).Nkind
= N_Op_Rotate_Right
2364 or else NT
(N
).Nkind
= N_Op_Shift_Left
2365 or else NT
(N
).Nkind
= N_Op_Shift_Right
2366 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
2370 function Source_Type
2371 (N
: Node_Id
) return Entity_Id
is
2373 pragma Assert
(False
2374 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2378 function Specification
2379 (N
: Node_Id
) return Node_Id
is
2381 pragma Assert
(False
2382 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
2383 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
2384 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
2385 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2386 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2387 or else NT
(N
).Nkind
= N_Package_Declaration
2388 or else NT
(N
).Nkind
= N_Subprogram_Body
2389 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
2390 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2391 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2396 (N
: Node_Id
) return List_Id
is
2398 pragma Assert
(False
2399 or else NT
(N
).Nkind
= N_Abortable_Part
2400 or else NT
(N
).Nkind
= N_Accept_Alternative
2401 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
2402 or else NT
(N
).Nkind
= N_Delay_Alternative
2403 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2404 or else NT
(N
).Nkind
= N_Exception_Handler
2405 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
2406 or else NT
(N
).Nkind
= N_Loop_Statement
2407 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2411 function Static_Processing_OK
2412 (N
: Node_Id
) return Boolean is
2414 pragma Assert
(False
2415 or else NT
(N
).Nkind
= N_Aggregate
);
2417 end Static_Processing_OK
;
2419 function Storage_Pool
2420 (N
: Node_Id
) return Node_Id
is
2422 pragma Assert
(False
2423 or else NT
(N
).Nkind
= N_Allocator
2424 or else NT
(N
).Nkind
= N_Free_Statement
2425 or else NT
(N
).Nkind
= N_Return_Statement
);
2430 (N
: Node_Id
) return String_Id
is
2432 pragma Assert
(False
2433 or else NT
(N
).Nkind
= N_Operator_Symbol
2434 or else NT
(N
).Nkind
= N_String_Literal
);
2438 function Subtype_Indication
2439 (N
: Node_Id
) return Node_Id
is
2441 pragma Assert
(False
2442 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2443 or else NT
(N
).Nkind
= N_Component_Definition
2444 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2445 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2446 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
2448 end Subtype_Indication
;
2450 function Subtype_Mark
2451 (N
: Node_Id
) return Node_Id
is
2453 pragma Assert
(False
2454 or else NT
(N
).Nkind
= N_Access_Definition
2455 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2456 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2457 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2458 or else NT
(N
).Nkind
= N_Qualified_Expression
2459 or else NT
(N
).Nkind
= N_Subtype_Indication
2460 or else NT
(N
).Nkind
= N_Type_Conversion
2461 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2465 function Subtype_Marks
2466 (N
: Node_Id
) return List_Id
is
2468 pragma Assert
(False
2469 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
2470 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2474 function Synchronized_Present
2475 (N
: Node_Id
) return Boolean is
2477 pragma Assert
(False
2478 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2479 or else NT
(N
).Nkind
= N_Record_Definition
);
2481 end Synchronized_Present
;
2483 function Tagged_Present
2484 (N
: Node_Id
) return Boolean is
2486 pragma Assert
(False
2487 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2488 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2489 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2490 or else NT
(N
).Nkind
= N_Record_Definition
2491 or else NT
(N
).Nkind
= N_With_Type_Clause
);
2495 function Target_Type
2496 (N
: Node_Id
) return Entity_Id
is
2498 pragma Assert
(False
2499 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2503 function Task_Definition
2504 (N
: Node_Id
) return Node_Id
is
2506 pragma Assert
(False
2507 or else NT
(N
).Nkind
= N_Single_Task_Declaration
2508 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2510 end Task_Definition
;
2512 function Task_Present
2513 (N
: Node_Id
) return Boolean is
2515 pragma Assert
(False
2516 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2517 or else NT
(N
).Nkind
= N_Record_Definition
);
2521 function Then_Actions
2522 (N
: Node_Id
) return List_Id
is
2524 pragma Assert
(False
2525 or else NT
(N
).Nkind
= N_Conditional_Expression
);
2529 function Then_Statements
2530 (N
: Node_Id
) return List_Id
is
2532 pragma Assert
(False
2533 or else NT
(N
).Nkind
= N_Elsif_Part
2534 or else NT
(N
).Nkind
= N_If_Statement
);
2536 end Then_Statements
;
2538 function Treat_Fixed_As_Integer
2539 (N
: Node_Id
) return Boolean is
2541 pragma Assert
(False
2542 or else NT
(N
).Nkind
= N_Op_Divide
2543 or else NT
(N
).Nkind
= N_Op_Mod
2544 or else NT
(N
).Nkind
= N_Op_Multiply
2545 or else NT
(N
).Nkind
= N_Op_Rem
);
2547 end Treat_Fixed_As_Integer
;
2549 function Triggering_Alternative
2550 (N
: Node_Id
) return Node_Id
is
2552 pragma Assert
(False
2553 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2555 end Triggering_Alternative
;
2557 function Triggering_Statement
2558 (N
: Node_Id
) return Node_Id
is
2560 pragma Assert
(False
2561 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2563 end Triggering_Statement
;
2566 (N
: Node_Id
) return Elist_Id
is
2568 pragma Assert
(False
2569 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2573 function Type_Definition
2574 (N
: Node_Id
) return Node_Id
is
2576 pragma Assert
(False
2577 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
2579 end Type_Definition
;
2582 (N
: Node_Id
) return Node_Id
is
2584 pragma Assert
(False
2585 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2589 function Unknown_Discriminants_Present
2590 (N
: Node_Id
) return Boolean is
2592 pragma Assert
(False
2593 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
2594 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2595 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2596 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
2598 end Unknown_Discriminants_Present
;
2600 function Unreferenced_In_Spec
2601 (N
: Node_Id
) return Boolean is
2603 pragma Assert
(False
2604 or else NT
(N
).Nkind
= N_With_Clause
);
2606 end Unreferenced_In_Spec
;
2608 function Variant_Part
2609 (N
: Node_Id
) return Node_Id
is
2611 pragma Assert
(False
2612 or else NT
(N
).Nkind
= N_Component_List
);
2617 (N
: Node_Id
) return List_Id
is
2619 pragma Assert
(False
2620 or else NT
(N
).Nkind
= N_Variant_Part
);
2624 function Visible_Declarations
2625 (N
: Node_Id
) return List_Id
is
2627 pragma Assert
(False
2628 or else NT
(N
).Nkind
= N_Package_Specification
2629 or else NT
(N
).Nkind
= N_Protected_Definition
2630 or else NT
(N
).Nkind
= N_Task_Definition
);
2632 end Visible_Declarations
;
2634 function Was_Originally_Stub
2635 (N
: Node_Id
) return Boolean is
2637 pragma Assert
(False
2638 or else NT
(N
).Nkind
= N_Package_Body
2639 or else NT
(N
).Nkind
= N_Protected_Body
2640 or else NT
(N
).Nkind
= N_Subprogram_Body
2641 or else NT
(N
).Nkind
= N_Task_Body
);
2643 end Was_Originally_Stub
;
2645 function Zero_Cost_Handling
2646 (N
: Node_Id
) return Boolean is
2648 pragma Assert
(False
2649 or else NT
(N
).Nkind
= N_Exception_Handler
2650 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2652 end Zero_Cost_Handling
;
2654 --------------------------
2655 -- Field Set Procedures --
2656 --------------------------
2658 procedure Set_ABE_Is_Certain
2659 (N
: Node_Id
; Val
: Boolean := True) is
2661 pragma Assert
(False
2662 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2663 or else NT
(N
).Nkind
= N_Function_Call
2664 or else NT
(N
).Nkind
= N_Function_Instantiation
2665 or else NT
(N
).Nkind
= N_Package_Instantiation
2666 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
2667 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
2668 Set_Flag18
(N
, Val
);
2669 end Set_ABE_Is_Certain
;
2671 procedure Set_Abort_Present
2672 (N
: Node_Id
; Val
: Boolean := True) is
2674 pragma Assert
(False
2675 or else NT
(N
).Nkind
= N_Requeue_Statement
);
2676 Set_Flag15
(N
, Val
);
2677 end Set_Abort_Present
;
2679 procedure Set_Abortable_Part
2680 (N
: Node_Id
; Val
: Node_Id
) is
2682 pragma Assert
(False
2683 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2684 Set_Node2_With_Parent
(N
, Val
);
2685 end Set_Abortable_Part
;
2687 procedure Set_Abstract_Present
2688 (N
: Node_Id
; Val
: Boolean := True) is
2690 pragma Assert
(False
2691 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2692 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2693 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2694 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2695 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2696 or else NT
(N
).Nkind
= N_Record_Definition
);
2698 end Set_Abstract_Present
;
2700 procedure Set_Accept_Handler_Records
2701 (N
: Node_Id
; Val
: List_Id
) is
2703 pragma Assert
(False
2704 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2705 Set_List5
(N
, Val
); -- semantic field, no parent set
2706 end Set_Accept_Handler_Records
;
2708 procedure Set_Accept_Statement
2709 (N
: Node_Id
; Val
: Node_Id
) is
2711 pragma Assert
(False
2712 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2713 Set_Node2_With_Parent
(N
, Val
);
2714 end Set_Accept_Statement
;
2716 procedure Set_Access_Definition
2717 (N
: Node_Id
; Val
: Node_Id
) is
2719 pragma Assert
(False
2720 or else NT
(N
).Nkind
= N_Component_Definition
2721 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
2722 Set_Node3_With_Parent
(N
, Val
);
2723 end Set_Access_Definition
;
2725 procedure Set_Access_To_Subprogram_Definition
2726 (N
: Node_Id
; Val
: Node_Id
) is
2728 pragma Assert
(False
2729 or else NT
(N
).Nkind
= N_Access_Definition
);
2730 Set_Node3_With_Parent
(N
, Val
);
2731 end Set_Access_To_Subprogram_Definition
;
2733 procedure Set_Access_Types_To_Process
2734 (N
: Node_Id
; Val
: Elist_Id
) is
2736 pragma Assert
(False
2737 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2738 Set_Elist2
(N
, Val
); -- semantic field, no parent set
2739 end Set_Access_Types_To_Process
;
2741 procedure Set_Actions
2742 (N
: Node_Id
; Val
: List_Id
) is
2744 pragma Assert
(False
2745 or else NT
(N
).Nkind
= N_And_Then
2746 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2747 or else NT
(N
).Nkind
= N_Freeze_Entity
2748 or else NT
(N
).Nkind
= N_Or_Else
);
2749 Set_List1_With_Parent
(N
, Val
);
2752 procedure Set_Activation_Chain_Entity
2753 (N
: Node_Id
; Val
: Node_Id
) is
2755 pragma Assert
(False
2756 or else NT
(N
).Nkind
= N_Block_Statement
2757 or else NT
(N
).Nkind
= N_Entry_Body
2758 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2759 or else NT
(N
).Nkind
= N_Package_Declaration
2760 or else NT
(N
).Nkind
= N_Subprogram_Body
2761 or else NT
(N
).Nkind
= N_Task_Body
);
2762 Set_Node3
(N
, Val
); -- semantic field, no parent set
2763 end Set_Activation_Chain_Entity
;
2765 procedure Set_Acts_As_Spec
2766 (N
: Node_Id
; Val
: Boolean := True) is
2768 pragma Assert
(False
2769 or else NT
(N
).Nkind
= N_Compilation_Unit
2770 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2772 end Set_Acts_As_Spec
;
2774 procedure Set_Actual_Designated_Subtype
2775 (N
: Node_Id
; Val
: Node_Id
) is
2777 pragma Assert
(False
2778 or else NT
(N
).Nkind
= N_Explicit_Dereference
2779 or else NT
(N
).Nkind
= N_Free_Statement
);
2781 end Set_Actual_Designated_Subtype
;
2783 procedure Set_Aggregate_Bounds
2784 (N
: Node_Id
; Val
: Node_Id
) is
2786 pragma Assert
(False
2787 or else NT
(N
).Nkind
= N_Aggregate
);
2788 Set_Node3
(N
, Val
); -- semantic field, no parent set
2789 end Set_Aggregate_Bounds
;
2791 procedure Set_Aliased_Present
2792 (N
: Node_Id
; Val
: Boolean := True) is
2794 pragma Assert
(False
2795 or else NT
(N
).Nkind
= N_Component_Definition
2796 or else NT
(N
).Nkind
= N_Object_Declaration
);
2798 end Set_Aliased_Present
;
2800 procedure Set_All_Others
2801 (N
: Node_Id
; Val
: Boolean := True) is
2803 pragma Assert
(False
2804 or else NT
(N
).Nkind
= N_Others_Choice
);
2805 Set_Flag11
(N
, Val
);
2808 procedure Set_All_Present
2809 (N
: Node_Id
; Val
: Boolean := True) is
2811 pragma Assert
(False
2812 or else NT
(N
).Nkind
= N_Access_Definition
2813 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
2814 Set_Flag15
(N
, Val
);
2815 end Set_All_Present
;
2817 procedure Set_Alternatives
2818 (N
: Node_Id
; Val
: List_Id
) is
2820 pragma Assert
(False
2821 or else NT
(N
).Nkind
= N_Case_Statement
);
2822 Set_List4_With_Parent
(N
, Val
);
2823 end Set_Alternatives
;
2825 procedure Set_Ancestor_Part
2826 (N
: Node_Id
; Val
: Node_Id
) is
2828 pragma Assert
(False
2829 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2830 Set_Node3_With_Parent
(N
, Val
);
2831 end Set_Ancestor_Part
;
2833 procedure Set_Array_Aggregate
2834 (N
: Node_Id
; Val
: Node_Id
) is
2836 pragma Assert
(False
2837 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
2838 Set_Node3_With_Parent
(N
, Val
);
2839 end Set_Array_Aggregate
;
2841 procedure Set_Assignment_OK
2842 (N
: Node_Id
; Val
: Boolean := True) is
2844 pragma Assert
(False
2845 or else NT
(N
).Nkind
= N_Object_Declaration
2846 or else NT
(N
).Nkind
in N_Subexpr
);
2847 Set_Flag15
(N
, Val
);
2848 end Set_Assignment_OK
;
2850 procedure Set_Associated_Node
2851 (N
: Node_Id
; Val
: Node_Id
) is
2853 pragma Assert
(False
2854 or else NT
(N
).Nkind
in N_Has_Entity
2855 or else NT
(N
).Nkind
= N_Aggregate
2856 or else NT
(N
).Nkind
= N_Extension_Aggregate
2857 or else NT
(N
).Nkind
= N_Selected_Component
);
2858 Set_Node4
(N
, Val
); -- semantic field, no parent set
2859 end Set_Associated_Node
;
2861 procedure Set_At_End_Proc
2862 (N
: Node_Id
; Val
: Node_Id
) is
2864 pragma Assert
(False
2865 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2867 end Set_At_End_Proc
;
2869 procedure Set_Attribute_Name
2870 (N
: Node_Id
; Val
: Name_Id
) is
2872 pragma Assert
(False
2873 or else NT
(N
).Nkind
= N_Attribute_Reference
);
2875 end Set_Attribute_Name
;
2877 procedure Set_Aux_Decls_Node
2878 (N
: Node_Id
; Val
: Node_Id
) is
2880 pragma Assert
(False
2881 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2882 Set_Node5_With_Parent
(N
, Val
);
2883 end Set_Aux_Decls_Node
;
2885 procedure Set_Backwards_OK
2886 (N
: Node_Id
; Val
: Boolean := True) is
2888 pragma Assert
(False
2889 or else NT
(N
).Nkind
= N_Assignment_Statement
);
2891 end Set_Backwards_OK
;
2893 procedure Set_Bad_Is_Detected
2894 (N
: Node_Id
; Val
: Boolean := True) is
2896 pragma Assert
(False
2897 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2898 Set_Flag15
(N
, Val
);
2899 end Set_Bad_Is_Detected
;
2901 procedure Set_Body_Required
2902 (N
: Node_Id
; Val
: Boolean := True) is
2904 pragma Assert
(False
2905 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2906 Set_Flag13
(N
, Val
);
2907 end Set_Body_Required
;
2909 procedure Set_Body_To_Inline
2910 (N
: Node_Id
; Val
: Node_Id
) is
2912 pragma Assert
(False
2913 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
2915 end Set_Body_To_Inline
;
2917 procedure Set_Box_Present
2918 (N
: Node_Id
; Val
: Boolean := True) is
2920 pragma Assert
(False
2921 or else NT
(N
).Nkind
= N_Component_Association
2922 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
2923 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
2924 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
);
2925 Set_Flag15
(N
, Val
);
2926 end Set_Box_Present
;
2928 procedure Set_By_Ref
2929 (N
: Node_Id
; Val
: Boolean := True) is
2931 pragma Assert
(False
2932 or else NT
(N
).Nkind
= N_Return_Statement
);
2936 procedure Set_Char_Literal_Value
2937 (N
: Node_Id
; Val
: Uint
) is
2939 pragma Assert
(False
2940 or else NT
(N
).Nkind
= N_Character_Literal
);
2942 end Set_Char_Literal_Value
;
2945 (N
: Node_Id
; Val
: Name_Id
) is
2947 pragma Assert
(False
2948 or else NT
(N
).Nkind
in N_Has_Chars
);
2952 procedure Set_Check_Address_Alignment
2953 (N
: Node_Id
; Val
: Boolean := True) is
2955 pragma Assert
(False
2956 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
2957 Set_Flag11
(N
, Val
);
2958 end Set_Check_Address_Alignment
;
2960 procedure Set_Choice_Parameter
2961 (N
: Node_Id
; Val
: Node_Id
) is
2963 pragma Assert
(False
2964 or else NT
(N
).Nkind
= N_Exception_Handler
);
2965 Set_Node2_With_Parent
(N
, Val
);
2966 end Set_Choice_Parameter
;
2968 procedure Set_Choices
2969 (N
: Node_Id
; Val
: List_Id
) is
2971 pragma Assert
(False
2972 or else NT
(N
).Nkind
= N_Component_Association
);
2973 Set_List1_With_Parent
(N
, Val
);
2976 procedure Set_Compile_Time_Known_Aggregate
2977 (N
: Node_Id
; Val
: Boolean := True) is
2979 pragma Assert
(False
2980 or else NT
(N
).Nkind
= N_Aggregate
);
2981 Set_Flag18
(N
, Val
);
2982 end Set_Compile_Time_Known_Aggregate
;
2984 procedure Set_Component_Associations
2985 (N
: Node_Id
; Val
: List_Id
) is
2987 pragma Assert
(False
2988 or else NT
(N
).Nkind
= N_Aggregate
2989 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2990 Set_List2_With_Parent
(N
, Val
);
2991 end Set_Component_Associations
;
2993 procedure Set_Component_Clauses
2994 (N
: Node_Id
; Val
: List_Id
) is
2996 pragma Assert
(False
2997 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
2998 Set_List3_With_Parent
(N
, Val
);
2999 end Set_Component_Clauses
;
3001 procedure Set_Component_Definition
3002 (N
: Node_Id
; Val
: Node_Id
) is
3004 pragma Assert
(False
3005 or else NT
(N
).Nkind
= N_Component_Declaration
3006 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
3007 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
3008 Set_Node4_With_Parent
(N
, Val
);
3009 end Set_Component_Definition
;
3011 procedure Set_Component_Items
3012 (N
: Node_Id
; Val
: List_Id
) is
3014 pragma Assert
(False
3015 or else NT
(N
).Nkind
= N_Component_List
);
3016 Set_List3_With_Parent
(N
, Val
);
3017 end Set_Component_Items
;
3019 procedure Set_Component_List
3020 (N
: Node_Id
; Val
: Node_Id
) is
3022 pragma Assert
(False
3023 or else NT
(N
).Nkind
= N_Record_Definition
3024 or else NT
(N
).Nkind
= N_Variant
);
3025 Set_Node1_With_Parent
(N
, Val
);
3026 end Set_Component_List
;
3028 procedure Set_Component_Name
3029 (N
: Node_Id
; Val
: Node_Id
) is
3031 pragma Assert
(False
3032 or else NT
(N
).Nkind
= N_Component_Clause
);
3033 Set_Node1_With_Parent
(N
, Val
);
3034 end Set_Component_Name
;
3036 procedure Set_Condition
3037 (N
: Node_Id
; Val
: Node_Id
) is
3039 pragma Assert
(False
3040 or else NT
(N
).Nkind
= N_Accept_Alternative
3041 or else NT
(N
).Nkind
= N_Delay_Alternative
3042 or else NT
(N
).Nkind
= N_Elsif_Part
3043 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
3044 or else NT
(N
).Nkind
= N_Exit_Statement
3045 or else NT
(N
).Nkind
= N_If_Statement
3046 or else NT
(N
).Nkind
= N_Iteration_Scheme
3047 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
3048 or else NT
(N
).Nkind
= N_Raise_Program_Error
3049 or else NT
(N
).Nkind
= N_Raise_Storage_Error
3050 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
3051 Set_Node1_With_Parent
(N
, Val
);
3054 procedure Set_Condition_Actions
3055 (N
: Node_Id
; Val
: List_Id
) is
3057 pragma Assert
(False
3058 or else NT
(N
).Nkind
= N_Elsif_Part
3059 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
3060 Set_List3
(N
, Val
); -- semantic field, no parent set
3061 end Set_Condition_Actions
;
3063 procedure Set_Config_Pragmas
3064 (N
: Node_Id
; Val
: List_Id
) is
3066 pragma Assert
(False
3067 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
3068 Set_List4_With_Parent
(N
, Val
);
3069 end Set_Config_Pragmas
;
3071 procedure Set_Constant_Present
3072 (N
: Node_Id
; Val
: Boolean := True) is
3074 pragma Assert
(False
3075 or else NT
(N
).Nkind
= N_Access_Definition
3076 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
3077 or else NT
(N
).Nkind
= N_Object_Declaration
);
3078 Set_Flag17
(N
, Val
);
3079 end Set_Constant_Present
;
3081 procedure Set_Constraint
3082 (N
: Node_Id
; Val
: Node_Id
) is
3084 pragma Assert
(False
3085 or else NT
(N
).Nkind
= N_Subtype_Indication
);
3086 Set_Node3_With_Parent
(N
, Val
);
3089 procedure Set_Constraints
3090 (N
: Node_Id
; Val
: List_Id
) is
3092 pragma Assert
(False
3093 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
3094 Set_List1_With_Parent
(N
, Val
);
3095 end Set_Constraints
;
3097 procedure Set_Context_Installed
3098 (N
: Node_Id
; Val
: Boolean := True) is
3100 pragma Assert
(False
3101 or else NT
(N
).Nkind
= N_With_Clause
);
3102 Set_Flag13
(N
, Val
);
3103 end Set_Context_Installed
;
3105 procedure Set_Context_Items
3106 (N
: Node_Id
; Val
: List_Id
) is
3108 pragma Assert
(False
3109 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3110 Set_List1_With_Parent
(N
, Val
);
3111 end Set_Context_Items
;
3113 procedure Set_Controlling_Argument
3114 (N
: Node_Id
; Val
: Node_Id
) is
3116 pragma Assert
(False
3117 or else NT
(N
).Nkind
= N_Function_Call
3118 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3119 Set_Node1
(N
, Val
); -- semantic field, no parent set
3120 end Set_Controlling_Argument
;
3122 procedure Set_Conversion_OK
3123 (N
: Node_Id
; Val
: Boolean := True) is
3125 pragma Assert
(False
3126 or else NT
(N
).Nkind
= N_Type_Conversion
);
3127 Set_Flag14
(N
, Val
);
3128 end Set_Conversion_OK
;
3130 procedure Set_Corresponding_Body
3131 (N
: Node_Id
; Val
: Node_Id
) is
3133 pragma Assert
(False
3134 or else NT
(N
).Nkind
= N_Entry_Declaration
3135 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3136 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
3137 or else NT
(N
).Nkind
= N_Package_Body_Stub
3138 or else NT
(N
).Nkind
= N_Package_Declaration
3139 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3140 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3141 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
3142 or else NT
(N
).Nkind
= N_Subprogram_Declaration
3143 or else NT
(N
).Nkind
= N_Task_Body_Stub
3144 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3145 Set_Node5
(N
, Val
); -- semantic field, no parent set
3146 end Set_Corresponding_Body
;
3148 procedure Set_Corresponding_Formal_Spec
3149 (N
: Node_Id
; Val
: Node_Id
) is
3151 pragma Assert
(False
3152 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
3153 Set_Node3
(N
, Val
); -- semantic field, no parent set
3154 end Set_Corresponding_Formal_Spec
;
3156 procedure Set_Corresponding_Generic_Association
3157 (N
: Node_Id
; Val
: Node_Id
) is
3159 pragma Assert
(False
3160 or else NT
(N
).Nkind
= N_Object_Declaration
3161 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
3162 Set_Node5
(N
, Val
); -- semantic field, no parent set
3163 end Set_Corresponding_Generic_Association
;
3165 procedure Set_Corresponding_Integer_Value
3166 (N
: Node_Id
; Val
: Uint
) is
3168 pragma Assert
(False
3169 or else NT
(N
).Nkind
= N_Real_Literal
);
3170 Set_Uint4
(N
, Val
); -- semantic field, no parent set
3171 end Set_Corresponding_Integer_Value
;
3173 procedure Set_Corresponding_Spec
3174 (N
: Node_Id
; Val
: Node_Id
) is
3176 pragma Assert
(False
3177 or else NT
(N
).Nkind
= N_Package_Body
3178 or else NT
(N
).Nkind
= N_Protected_Body
3179 or else NT
(N
).Nkind
= N_Subprogram_Body
3180 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
3181 or else NT
(N
).Nkind
= N_Task_Body
3182 or else NT
(N
).Nkind
= N_With_Clause
);
3183 Set_Node5
(N
, Val
); -- semantic field, no parent set
3184 end Set_Corresponding_Spec
;
3186 procedure Set_Corresponding_Stub
3187 (N
: Node_Id
; Val
: Node_Id
) is
3189 pragma Assert
(False
3190 or else NT
(N
).Nkind
= N_Subunit
);
3192 end Set_Corresponding_Stub
;
3194 procedure Set_Dcheck_Function
3195 (N
: Node_Id
; Val
: Entity_Id
) is
3197 pragma Assert
(False
3198 or else NT
(N
).Nkind
= N_Variant
);
3199 Set_Node5
(N
, Val
); -- semantic field, no parent set
3200 end Set_Dcheck_Function
;
3202 procedure Set_Debug_Statement
3203 (N
: Node_Id
; Val
: Node_Id
) is
3205 pragma Assert
(False
3206 or else NT
(N
).Nkind
= N_Pragma
);
3207 Set_Node3_With_Parent
(N
, Val
);
3208 end Set_Debug_Statement
;
3210 procedure Set_Declarations
3211 (N
: Node_Id
; Val
: List_Id
) is
3213 pragma Assert
(False
3214 or else NT
(N
).Nkind
= N_Accept_Statement
3215 or else NT
(N
).Nkind
= N_Block_Statement
3216 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
3217 or else NT
(N
).Nkind
= N_Entry_Body
3218 or else NT
(N
).Nkind
= N_Package_Body
3219 or else NT
(N
).Nkind
= N_Protected_Body
3220 or else NT
(N
).Nkind
= N_Subprogram_Body
3221 or else NT
(N
).Nkind
= N_Task_Body
);
3222 Set_List2_With_Parent
(N
, Val
);
3223 end Set_Declarations
;
3225 procedure Set_Default_Expression
3226 (N
: Node_Id
; Val
: Node_Id
) is
3228 pragma Assert
(False
3229 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3230 Set_Node5
(N
, Val
); -- semantic field, no parent set
3231 end Set_Default_Expression
;
3233 procedure Set_Default_Name
3234 (N
: Node_Id
; Val
: Node_Id
) is
3236 pragma Assert
(False
3237 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
3238 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
);
3239 Set_Node2_With_Parent
(N
, Val
);
3240 end Set_Default_Name
;
3242 procedure Set_Defining_Identifier
3243 (N
: Node_Id
; Val
: Entity_Id
) is
3245 pragma Assert
(False
3246 or else NT
(N
).Nkind
= N_Component_Declaration
3247 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
3248 or else NT
(N
).Nkind
= N_Discriminant_Specification
3249 or else NT
(N
).Nkind
= N_Entry_Body
3250 or else NT
(N
).Nkind
= N_Entry_Declaration
3251 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3252 or else NT
(N
).Nkind
= N_Exception_Declaration
3253 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
3254 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3255 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3256 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3257 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3258 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
3259 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3260 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
3261 or else NT
(N
).Nkind
= N_Number_Declaration
3262 or else NT
(N
).Nkind
= N_Object_Declaration
3263 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
3264 or else NT
(N
).Nkind
= N_Package_Body_Stub
3265 or else NT
(N
).Nkind
= N_Parameter_Specification
3266 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3267 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3268 or else NT
(N
).Nkind
= N_Protected_Body
3269 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3270 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3271 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
3272 or else NT
(N
).Nkind
= N_Single_Task_Declaration
3273 or else NT
(N
).Nkind
= N_Subtype_Declaration
3274 or else NT
(N
).Nkind
= N_Task_Body
3275 or else NT
(N
).Nkind
= N_Task_Body_Stub
3276 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3277 Set_Node1_With_Parent
(N
, Val
);
3278 end Set_Defining_Identifier
;
3280 procedure Set_Defining_Unit_Name
3281 (N
: Node_Id
; Val
: Node_Id
) is
3283 pragma Assert
(False
3284 or else NT
(N
).Nkind
= N_Function_Instantiation
3285 or else NT
(N
).Nkind
= N_Function_Specification
3286 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
3287 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
3288 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
3289 or else NT
(N
).Nkind
= N_Package_Body
3290 or else NT
(N
).Nkind
= N_Package_Instantiation
3291 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
3292 or else NT
(N
).Nkind
= N_Package_Specification
3293 or else NT
(N
).Nkind
= N_Procedure_Instantiation
3294 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3295 Set_Node1_With_Parent
(N
, Val
);
3296 end Set_Defining_Unit_Name
;
3298 procedure Set_Delay_Alternative
3299 (N
: Node_Id
; Val
: Node_Id
) is
3301 pragma Assert
(False
3302 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3303 Set_Node4_With_Parent
(N
, Val
);
3304 end Set_Delay_Alternative
;
3306 procedure Set_Delay_Finalize_Attach
3307 (N
: Node_Id
; Val
: Boolean := True) is
3309 pragma Assert
(False
3310 or else NT
(N
).Nkind
= N_Object_Declaration
);
3311 Set_Flag14
(N
, Val
);
3312 end Set_Delay_Finalize_Attach
;
3314 procedure Set_Delay_Statement
3315 (N
: Node_Id
; Val
: Node_Id
) is
3317 pragma Assert
(False
3318 or else NT
(N
).Nkind
= N_Delay_Alternative
);
3319 Set_Node2_With_Parent
(N
, Val
);
3320 end Set_Delay_Statement
;
3322 procedure Set_Delta_Expression
3323 (N
: Node_Id
; Val
: Node_Id
) is
3325 pragma Assert
(False
3326 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3327 or else NT
(N
).Nkind
= N_Delta_Constraint
3328 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
3329 Set_Node3_With_Parent
(N
, Val
);
3330 end Set_Delta_Expression
;
3332 procedure Set_Digits_Expression
3333 (N
: Node_Id
; Val
: Node_Id
) is
3335 pragma Assert
(False
3336 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3337 or else NT
(N
).Nkind
= N_Digits_Constraint
3338 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
3339 Set_Node2_With_Parent
(N
, Val
);
3340 end Set_Digits_Expression
;
3342 procedure Set_Discr_Check_Funcs_Built
3343 (N
: Node_Id
; Val
: Boolean := True) is
3345 pragma Assert
(False
3346 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
3347 Set_Flag11
(N
, Val
);
3348 end Set_Discr_Check_Funcs_Built
;
3350 procedure Set_Discrete_Choices
3351 (N
: Node_Id
; Val
: List_Id
) is
3353 pragma Assert
(False
3354 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
3355 or else NT
(N
).Nkind
= N_Variant
);
3356 Set_List4_With_Parent
(N
, Val
);
3357 end Set_Discrete_Choices
;
3359 procedure Set_Discrete_Range
3360 (N
: Node_Id
; Val
: Node_Id
) is
3362 pragma Assert
(False
3363 or else NT
(N
).Nkind
= N_Slice
);
3364 Set_Node4_With_Parent
(N
, Val
);
3365 end Set_Discrete_Range
;
3367 procedure Set_Discrete_Subtype_Definition
3368 (N
: Node_Id
; Val
: Node_Id
) is
3370 pragma Assert
(False
3371 or else NT
(N
).Nkind
= N_Entry_Declaration
3372 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3373 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
3374 Set_Node4_With_Parent
(N
, Val
);
3375 end Set_Discrete_Subtype_Definition
;
3377 procedure Set_Discrete_Subtype_Definitions
3378 (N
: Node_Id
; Val
: List_Id
) is
3380 pragma Assert
(False
3381 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
3382 Set_List2_With_Parent
(N
, Val
);
3383 end Set_Discrete_Subtype_Definitions
;
3385 procedure Set_Discriminant_Specifications
3386 (N
: Node_Id
; Val
: List_Id
) is
3388 pragma Assert
(False
3389 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3390 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3391 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3392 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3393 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3394 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3395 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3396 Set_List4_With_Parent
(N
, Val
);
3397 end Set_Discriminant_Specifications
;
3399 procedure Set_Discriminant_Type
3400 (N
: Node_Id
; Val
: Node_Id
) is
3402 pragma Assert
(False
3403 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
3404 Set_Node5_With_Parent
(N
, Val
);
3405 end Set_Discriminant_Type
;
3407 procedure Set_Do_Accessibility_Check
3408 (N
: Node_Id
; Val
: Boolean := True) is
3410 pragma Assert
(False
3411 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3412 Set_Flag13
(N
, Val
);
3413 end Set_Do_Accessibility_Check
;
3415 procedure Set_Do_Discriminant_Check
3416 (N
: Node_Id
; Val
: Boolean := True) is
3418 pragma Assert
(False
3419 or else NT
(N
).Nkind
= N_Selected_Component
);
3420 Set_Flag13
(N
, Val
);
3421 end Set_Do_Discriminant_Check
;
3423 procedure Set_Do_Division_Check
3424 (N
: Node_Id
; Val
: Boolean := True) is
3426 pragma Assert
(False
3427 or else NT
(N
).Nkind
= N_Op_Divide
3428 or else NT
(N
).Nkind
= N_Op_Mod
3429 or else NT
(N
).Nkind
= N_Op_Rem
);
3430 Set_Flag13
(N
, Val
);
3431 end Set_Do_Division_Check
;
3433 procedure Set_Do_Length_Check
3434 (N
: Node_Id
; Val
: Boolean := True) is
3436 pragma Assert
(False
3437 or else NT
(N
).Nkind
= N_Assignment_Statement
3438 or else NT
(N
).Nkind
= N_Op_And
3439 or else NT
(N
).Nkind
= N_Op_Or
3440 or else NT
(N
).Nkind
= N_Op_Xor
3441 or else NT
(N
).Nkind
= N_Type_Conversion
);
3443 end Set_Do_Length_Check
;
3445 procedure Set_Do_Overflow_Check
3446 (N
: Node_Id
; Val
: Boolean := True) is
3448 pragma Assert
(False
3449 or else NT
(N
).Nkind
in N_Op
3450 or else NT
(N
).Nkind
= N_Attribute_Reference
3451 or else NT
(N
).Nkind
= N_Type_Conversion
);
3452 Set_Flag17
(N
, Val
);
3453 end Set_Do_Overflow_Check
;
3455 procedure Set_Do_Range_Check
3456 (N
: Node_Id
; Val
: Boolean := True) is
3458 pragma Assert
(False
3459 or else NT
(N
).Nkind
in N_Subexpr
);
3461 end Set_Do_Range_Check
;
3463 procedure Set_Do_Storage_Check
3464 (N
: Node_Id
; Val
: Boolean := True) is
3466 pragma Assert
(False
3467 or else NT
(N
).Nkind
= N_Allocator
3468 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3469 Set_Flag17
(N
, Val
);
3470 end Set_Do_Storage_Check
;
3472 procedure Set_Do_Tag_Check
3473 (N
: Node_Id
; Val
: Boolean := True) is
3475 pragma Assert
(False
3476 or else NT
(N
).Nkind
= N_Assignment_Statement
3477 or else NT
(N
).Nkind
= N_Function_Call
3478 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
3479 or else NT
(N
).Nkind
= N_Return_Statement
3480 or else NT
(N
).Nkind
= N_Type_Conversion
);
3481 Set_Flag13
(N
, Val
);
3482 end Set_Do_Tag_Check
;
3484 procedure Set_Elaborate_All_Desirable
3485 (N
: Node_Id
; Val
: Boolean := True) is
3487 pragma Assert
(False
3488 or else NT
(N
).Nkind
= N_With_Clause
);
3490 end Set_Elaborate_All_Desirable
;
3492 procedure Set_Elaborate_All_Present
3493 (N
: Node_Id
; Val
: Boolean := True) is
3495 pragma Assert
(False
3496 or else NT
(N
).Nkind
= N_With_Clause
);
3497 Set_Flag14
(N
, Val
);
3498 end Set_Elaborate_All_Present
;
3500 procedure Set_Elaborate_Desirable
3501 (N
: Node_Id
; Val
: Boolean := True) is
3503 pragma Assert
(False
3504 or else NT
(N
).Nkind
= N_With_Clause
);
3505 Set_Flag11
(N
, Val
);
3506 end Set_Elaborate_Desirable
;
3508 procedure Set_Elaborate_Present
3509 (N
: Node_Id
; Val
: Boolean := True) is
3511 pragma Assert
(False
3512 or else NT
(N
).Nkind
= N_With_Clause
);
3514 end Set_Elaborate_Present
;
3516 procedure Set_Elaboration_Boolean
3517 (N
: Node_Id
; Val
: Node_Id
) is
3519 pragma Assert
(False
3520 or else NT
(N
).Nkind
= N_Function_Specification
3521 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3523 end Set_Elaboration_Boolean
;
3525 procedure Set_Else_Actions
3526 (N
: Node_Id
; Val
: List_Id
) is
3528 pragma Assert
(False
3529 or else NT
(N
).Nkind
= N_Conditional_Expression
);
3530 Set_List3
(N
, Val
); -- semantic field, no parent set
3531 end Set_Else_Actions
;
3533 procedure Set_Else_Statements
3534 (N
: Node_Id
; Val
: List_Id
) is
3536 pragma Assert
(False
3537 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3538 or else NT
(N
).Nkind
= N_If_Statement
3539 or else NT
(N
).Nkind
= N_Selective_Accept
);
3540 Set_List4_With_Parent
(N
, Val
);
3541 end Set_Else_Statements
;
3543 procedure Set_Elsif_Parts
3544 (N
: Node_Id
; Val
: List_Id
) is
3546 pragma Assert
(False
3547 or else NT
(N
).Nkind
= N_If_Statement
);
3548 Set_List3_With_Parent
(N
, Val
);
3549 end Set_Elsif_Parts
;
3551 procedure Set_Enclosing_Variant
3552 (N
: Node_Id
; Val
: Node_Id
) is
3554 pragma Assert
(False
3555 or else NT
(N
).Nkind
= N_Variant
);
3556 Set_Node2
(N
, Val
); -- semantic field, no parent set
3557 end Set_Enclosing_Variant
;
3559 procedure Set_End_Label
3560 (N
: Node_Id
; Val
: Node_Id
) is
3562 pragma Assert
(False
3563 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
3564 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
3565 or else NT
(N
).Nkind
= N_Loop_Statement
3566 or else NT
(N
).Nkind
= N_Package_Specification
3567 or else NT
(N
).Nkind
= N_Protected_Body
3568 or else NT
(N
).Nkind
= N_Protected_Definition
3569 or else NT
(N
).Nkind
= N_Record_Definition
3570 or else NT
(N
).Nkind
= N_Task_Definition
);
3571 Set_Node4_With_Parent
(N
, Val
);
3574 procedure Set_End_Span
3575 (N
: Node_Id
; Val
: Uint
) is
3577 pragma Assert
(False
3578 or else NT
(N
).Nkind
= N_Case_Statement
3579 or else NT
(N
).Nkind
= N_If_Statement
);
3583 procedure Set_Entity
3584 (N
: Node_Id
; Val
: Node_Id
) is
3586 pragma Assert
(False
3587 or else NT
(N
).Nkind
in N_Has_Entity
3588 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3589 Set_Node4
(N
, Val
); -- semantic field, no parent set
3592 procedure Set_Entry_Body_Formal_Part
3593 (N
: Node_Id
; Val
: Node_Id
) is
3595 pragma Assert
(False
3596 or else NT
(N
).Nkind
= N_Entry_Body
);
3597 Set_Node5_With_Parent
(N
, Val
);
3598 end Set_Entry_Body_Formal_Part
;
3600 procedure Set_Entry_Call_Alternative
3601 (N
: Node_Id
; Val
: Node_Id
) is
3603 pragma Assert
(False
3604 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3605 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3606 Set_Node1_With_Parent
(N
, Val
);
3607 end Set_Entry_Call_Alternative
;
3609 procedure Set_Entry_Call_Statement
3610 (N
: Node_Id
; Val
: Node_Id
) is
3612 pragma Assert
(False
3613 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
3614 Set_Node1_With_Parent
(N
, Val
);
3615 end Set_Entry_Call_Statement
;
3617 procedure Set_Entry_Direct_Name
3618 (N
: Node_Id
; Val
: Node_Id
) is
3620 pragma Assert
(False
3621 or else NT
(N
).Nkind
= N_Accept_Statement
);
3622 Set_Node1_With_Parent
(N
, Val
);
3623 end Set_Entry_Direct_Name
;
3625 procedure Set_Entry_Index
3626 (N
: Node_Id
; Val
: Node_Id
) is
3628 pragma Assert
(False
3629 or else NT
(N
).Nkind
= N_Accept_Statement
);
3630 Set_Node5_With_Parent
(N
, Val
);
3631 end Set_Entry_Index
;
3633 procedure Set_Entry_Index_Specification
3634 (N
: Node_Id
; Val
: Node_Id
) is
3636 pragma Assert
(False
3637 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
3638 Set_Node4_With_Parent
(N
, Val
);
3639 end Set_Entry_Index_Specification
;
3642 (N
: Node_Id
; Val
: Node_Id
) is
3644 pragma Assert
(False
3645 or else NT
(N
).Nkind
in N_Has_Etype
);
3646 Set_Node5
(N
, Val
); -- semantic field, no parent set
3649 procedure Set_Exception_Choices
3650 (N
: Node_Id
; Val
: List_Id
) is
3652 pragma Assert
(False
3653 or else NT
(N
).Nkind
= N_Exception_Handler
);
3654 Set_List4_With_Parent
(N
, Val
);
3655 end Set_Exception_Choices
;
3657 procedure Set_Exception_Handlers
3658 (N
: Node_Id
; Val
: List_Id
) is
3660 pragma Assert
(False
3661 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3662 Set_List5_With_Parent
(N
, Val
);
3663 end Set_Exception_Handlers
;
3665 procedure Set_Exception_Junk
3666 (N
: Node_Id
; Val
: Boolean := True) is
3668 pragma Assert
(False
3669 or else NT
(N
).Nkind
= N_Goto_Statement
3670 or else NT
(N
).Nkind
= N_Label
3671 or else NT
(N
).Nkind
= N_Object_Declaration
3672 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3674 end Set_Exception_Junk
;
3676 procedure Set_Expansion_Delayed
3677 (N
: Node_Id
; Val
: Boolean := True) is
3679 pragma Assert
(False
3680 or else NT
(N
).Nkind
= N_Aggregate
3681 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3682 Set_Flag11
(N
, Val
);
3683 end Set_Expansion_Delayed
;
3685 procedure Set_Explicit_Actual_Parameter
3686 (N
: Node_Id
; Val
: Node_Id
) is
3688 pragma Assert
(False
3689 or else NT
(N
).Nkind
= N_Parameter_Association
);
3690 Set_Node3_With_Parent
(N
, Val
);
3691 end Set_Explicit_Actual_Parameter
;
3693 procedure Set_Explicit_Generic_Actual_Parameter
3694 (N
: Node_Id
; Val
: Node_Id
) is
3696 pragma Assert
(False
3697 or else NT
(N
).Nkind
= N_Generic_Association
);
3698 Set_Node1_With_Parent
(N
, Val
);
3699 end Set_Explicit_Generic_Actual_Parameter
;
3701 procedure Set_Expression
3702 (N
: Node_Id
; Val
: Node_Id
) is
3704 pragma Assert
(False
3705 or else NT
(N
).Nkind
= N_Allocator
3706 or else NT
(N
).Nkind
= N_Assignment_Statement
3707 or else NT
(N
).Nkind
= N_At_Clause
3708 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
3709 or else NT
(N
).Nkind
= N_Case_Statement
3710 or else NT
(N
).Nkind
= N_Code_Statement
3711 or else NT
(N
).Nkind
= N_Component_Association
3712 or else NT
(N
).Nkind
= N_Component_Declaration
3713 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
3714 or else NT
(N
).Nkind
= N_Delay_Until_Statement
3715 or else NT
(N
).Nkind
= N_Discriminant_Association
3716 or else NT
(N
).Nkind
= N_Discriminant_Specification
3717 or else NT
(N
).Nkind
= N_Exception_Declaration
3718 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3719 or else NT
(N
).Nkind
= N_Free_Statement
3720 or else NT
(N
).Nkind
= N_Mod_Clause
3721 or else NT
(N
).Nkind
= N_Modular_Type_Definition
3722 or else NT
(N
).Nkind
= N_Number_Declaration
3723 or else NT
(N
).Nkind
= N_Object_Declaration
3724 or else NT
(N
).Nkind
= N_Parameter_Specification
3725 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
3726 or else NT
(N
).Nkind
= N_Qualified_Expression
3727 or else NT
(N
).Nkind
= N_Raise_Statement
3728 or else NT
(N
).Nkind
= N_Return_Statement
3729 or else NT
(N
).Nkind
= N_Type_Conversion
3730 or else NT
(N
).Nkind
= N_Unchecked_Expression
3731 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
3732 Set_Node3_With_Parent
(N
, Val
);
3735 procedure Set_Expressions
3736 (N
: Node_Id
; Val
: List_Id
) is
3738 pragma Assert
(False
3739 or else NT
(N
).Nkind
= N_Aggregate
3740 or else NT
(N
).Nkind
= N_Attribute_Reference
3741 or else NT
(N
).Nkind
= N_Conditional_Expression
3742 or else NT
(N
).Nkind
= N_Extension_Aggregate
3743 or else NT
(N
).Nkind
= N_Indexed_Component
);
3744 Set_List1_With_Parent
(N
, Val
);
3745 end Set_Expressions
;
3747 procedure Set_First_Bit
3748 (N
: Node_Id
; Val
: Node_Id
) is
3750 pragma Assert
(False
3751 or else NT
(N
).Nkind
= N_Component_Clause
);
3752 Set_Node3_With_Parent
(N
, Val
);
3755 procedure Set_First_Inlined_Subprogram
3756 (N
: Node_Id
; Val
: Entity_Id
) is
3758 pragma Assert
(False
3759 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3760 Set_Node3
(N
, Val
); -- semantic field, no parent set
3761 end Set_First_Inlined_Subprogram
;
3763 procedure Set_First_Name
3764 (N
: Node_Id
; Val
: Boolean := True) is
3766 pragma Assert
(False
3767 or else NT
(N
).Nkind
= N_With_Clause
);
3771 procedure Set_First_Named_Actual
3772 (N
: Node_Id
; Val
: Node_Id
) is
3774 pragma Assert
(False
3775 or else NT
(N
).Nkind
= N_Entry_Call_Statement
3776 or else NT
(N
).Nkind
= N_Function_Call
3777 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3778 Set_Node4
(N
, Val
); -- semantic field, no parent set
3779 end Set_First_Named_Actual
;
3781 procedure Set_First_Real_Statement
3782 (N
: Node_Id
; Val
: Node_Id
) is
3784 pragma Assert
(False
3785 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3786 Set_Node2
(N
, Val
); -- semantic field, no parent set
3787 end Set_First_Real_Statement
;
3789 procedure Set_First_Subtype_Link
3790 (N
: Node_Id
; Val
: Entity_Id
) is
3792 pragma Assert
(False
3793 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3794 Set_Node5
(N
, Val
); -- semantic field, no parent set
3795 end Set_First_Subtype_Link
;
3797 procedure Set_Float_Truncate
3798 (N
: Node_Id
; Val
: Boolean := True) is
3800 pragma Assert
(False
3801 or else NT
(N
).Nkind
= N_Type_Conversion
);
3802 Set_Flag11
(N
, Val
);
3803 end Set_Float_Truncate
;
3805 procedure Set_Formal_Type_Definition
3806 (N
: Node_Id
; Val
: Node_Id
) is
3808 pragma Assert
(False
3809 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
3810 Set_Node3_With_Parent
(N
, Val
);
3811 end Set_Formal_Type_Definition
;
3813 procedure Set_Forwards_OK
3814 (N
: Node_Id
; Val
: Boolean := True) is
3816 pragma Assert
(False
3817 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3819 end Set_Forwards_OK
;
3821 procedure Set_From_At_Mod
3822 (N
: Node_Id
; Val
: Boolean := True) is
3824 pragma Assert
(False
3825 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3827 end Set_From_At_Mod
;
3829 procedure Set_From_Default
3830 (N
: Node_Id
; Val
: Boolean := True) is
3832 pragma Assert
(False
3833 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
3835 end Set_From_Default
;
3837 procedure Set_Generic_Associations
3838 (N
: Node_Id
; Val
: List_Id
) is
3840 pragma Assert
(False
3841 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3842 or else NT
(N
).Nkind
= N_Function_Instantiation
3843 or else NT
(N
).Nkind
= N_Package_Instantiation
3844 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
3845 Set_List3_With_Parent
(N
, Val
);
3846 end Set_Generic_Associations
;
3848 procedure Set_Generic_Formal_Declarations
3849 (N
: Node_Id
; Val
: List_Id
) is
3851 pragma Assert
(False
3852 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3853 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
3854 Set_List2_With_Parent
(N
, Val
);
3855 end Set_Generic_Formal_Declarations
;
3857 procedure Set_Generic_Parent
3858 (N
: Node_Id
; Val
: Node_Id
) is
3860 pragma Assert
(False
3861 or else NT
(N
).Nkind
= N_Function_Specification
3862 or else NT
(N
).Nkind
= N_Package_Specification
3863 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3865 end Set_Generic_Parent
;
3867 procedure Set_Generic_Parent_Type
3868 (N
: Node_Id
; Val
: Node_Id
) is
3870 pragma Assert
(False
3871 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3873 end Set_Generic_Parent_Type
;
3875 procedure Set_Handled_Statement_Sequence
3876 (N
: Node_Id
; Val
: Node_Id
) is
3878 pragma Assert
(False
3879 or else NT
(N
).Nkind
= N_Accept_Statement
3880 or else NT
(N
).Nkind
= N_Block_Statement
3881 or else NT
(N
).Nkind
= N_Entry_Body
3882 or else NT
(N
).Nkind
= N_Package_Body
3883 or else NT
(N
).Nkind
= N_Subprogram_Body
3884 or else NT
(N
).Nkind
= N_Task_Body
);
3885 Set_Node4_With_Parent
(N
, Val
);
3886 end Set_Handled_Statement_Sequence
;
3888 procedure Set_Handler_List_Entry
3889 (N
: Node_Id
; Val
: Node_Id
) is
3891 pragma Assert
(False
3892 or else NT
(N
).Nkind
= N_Object_Declaration
);
3894 end Set_Handler_List_Entry
;
3896 procedure Set_Has_Created_Identifier
3897 (N
: Node_Id
; Val
: Boolean := True) is
3899 pragma Assert
(False
3900 or else NT
(N
).Nkind
= N_Block_Statement
3901 or else NT
(N
).Nkind
= N_Loop_Statement
);
3902 Set_Flag15
(N
, Val
);
3903 end Set_Has_Created_Identifier
;
3905 procedure Set_Has_Dynamic_Length_Check
3906 (N
: Node_Id
; Val
: Boolean := True) is
3908 Set_Flag10
(N
, Val
);
3909 end Set_Has_Dynamic_Length_Check
;
3911 procedure Set_Has_Dynamic_Range_Check
3912 (N
: Node_Id
; Val
: Boolean := True) is
3914 Set_Flag12
(N
, Val
);
3915 end Set_Has_Dynamic_Range_Check
;
3917 procedure Set_Has_No_Elaboration_Code
3918 (N
: Node_Id
; Val
: Boolean := True) is
3920 pragma Assert
(False
3921 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3922 Set_Flag17
(N
, Val
);
3923 end Set_Has_No_Elaboration_Code
;
3925 procedure Set_Has_Priority_Pragma
3926 (N
: Node_Id
; Val
: Boolean := True) is
3928 pragma Assert
(False
3929 or else NT
(N
).Nkind
= N_Protected_Definition
3930 or else NT
(N
).Nkind
= N_Subprogram_Body
3931 or else NT
(N
).Nkind
= N_Task_Definition
);
3933 end Set_Has_Priority_Pragma
;
3935 procedure Set_Has_Private_View
3936 (N
: Node_Id
; Val
: Boolean := True) is
3938 pragma Assert
(False
3939 or else NT
(N
).Nkind
in N_Op
3940 or else NT
(N
).Nkind
= N_Character_Literal
3941 or else NT
(N
).Nkind
= N_Expanded_Name
3942 or else NT
(N
).Nkind
= N_Identifier
3943 or else NT
(N
).Nkind
= N_Operator_Symbol
);
3944 Set_Flag11
(N
, Val
);
3945 end Set_Has_Private_View
;
3947 procedure Set_Has_Storage_Size_Pragma
3948 (N
: Node_Id
; Val
: Boolean := True) is
3950 pragma Assert
(False
3951 or else NT
(N
).Nkind
= N_Task_Definition
);
3953 end Set_Has_Storage_Size_Pragma
;
3955 procedure Set_Has_Task_Info_Pragma
3956 (N
: Node_Id
; Val
: Boolean := True) is
3958 pragma Assert
(False
3959 or else NT
(N
).Nkind
= N_Task_Definition
);
3961 end Set_Has_Task_Info_Pragma
;
3963 procedure Set_Has_Task_Name_Pragma
3964 (N
: Node_Id
; Val
: Boolean := True) is
3966 pragma Assert
(False
3967 or else NT
(N
).Nkind
= N_Task_Definition
);
3969 end Set_Has_Task_Name_Pragma
;
3971 procedure Set_Has_Wide_Character
3972 (N
: Node_Id
; Val
: Boolean := True) is
3974 pragma Assert
(False
3975 or else NT
(N
).Nkind
= N_String_Literal
);
3976 Set_Flag11
(N
, Val
);
3977 end Set_Has_Wide_Character
;
3979 procedure Set_Hidden_By_Use_Clause
3980 (N
: Node_Id
; Val
: Elist_Id
) is
3982 pragma Assert
(False
3983 or else NT
(N
).Nkind
= N_Use_Package_Clause
3984 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
3985 Set_Elist4
(N
, Val
);
3986 end Set_Hidden_By_Use_Clause
;
3988 procedure Set_High_Bound
3989 (N
: Node_Id
; Val
: Node_Id
) is
3991 pragma Assert
(False
3992 or else NT
(N
).Nkind
= N_Range
3993 or else NT
(N
).Nkind
= N_Real_Range_Specification
3994 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
3995 Set_Node2_With_Parent
(N
, Val
);
3998 procedure Set_Identifier
3999 (N
: Node_Id
; Val
: Node_Id
) is
4001 pragma Assert
(False
4002 or else NT
(N
).Nkind
= N_At_Clause
4003 or else NT
(N
).Nkind
= N_Block_Statement
4004 or else NT
(N
).Nkind
= N_Designator
4005 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4006 or else NT
(N
).Nkind
= N_Label
4007 or else NT
(N
).Nkind
= N_Loop_Statement
4008 or else NT
(N
).Nkind
= N_Record_Representation_Clause
4009 or else NT
(N
).Nkind
= N_Subprogram_Info
);
4010 Set_Node1_With_Parent
(N
, Val
);
4013 procedure Set_Implicit_With
4014 (N
: Node_Id
; Val
: Boolean := True) is
4016 pragma Assert
(False
4017 or else NT
(N
).Nkind
= N_With_Clause
);
4018 Set_Flag16
(N
, Val
);
4019 end Set_Implicit_With
;
4021 procedure Set_Interface_List
4022 (N
: Node_Id
; Val
: List_Id
) is
4024 pragma Assert
(False
4025 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4026 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4027 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4028 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
4029 or else NT
(N
).Nkind
= N_Record_Definition
4030 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
4031 or else NT
(N
).Nkind
= N_Single_Task_Declaration
4032 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4033 Set_List2_With_Parent
(N
, Val
);
4034 end Set_Interface_List
;
4036 procedure Set_Interface_Present
4037 (N
: Node_Id
; Val
: Boolean := True) is
4039 pragma Assert
(False
4040 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4041 or else NT
(N
).Nkind
= N_Record_Definition
);
4042 Set_Flag16
(N
, Val
);
4043 end Set_Interface_Present
;
4045 procedure Set_In_Present
4046 (N
: Node_Id
; Val
: Boolean := True) is
4048 pragma Assert
(False
4049 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4050 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4051 Set_Flag15
(N
, Val
);
4054 procedure Set_Includes_Infinities
4055 (N
: Node_Id
; Val
: Boolean := True) is
4057 pragma Assert
(False
4058 or else NT
(N
).Nkind
= N_Range
);
4059 Set_Flag11
(N
, Val
);
4060 end Set_Includes_Infinities
;
4062 procedure Set_Instance_Spec
4063 (N
: Node_Id
; Val
: Node_Id
) is
4065 pragma Assert
(False
4066 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4067 or else NT
(N
).Nkind
= N_Function_Instantiation
4068 or else NT
(N
).Nkind
= N_Package_Instantiation
4069 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
4070 Set_Node5
(N
, Val
); -- semantic field, no Parent set
4071 end Set_Instance_Spec
;
4073 procedure Set_Intval
4074 (N
: Node_Id
; Val
: Uint
) is
4076 pragma Assert
(False
4077 or else NT
(N
).Nkind
= N_Integer_Literal
);
4081 procedure Set_Is_Asynchronous_Call_Block
4082 (N
: Node_Id
; Val
: Boolean := True) is
4084 pragma Assert
(False
4085 or else NT
(N
).Nkind
= N_Block_Statement
);
4087 end Set_Is_Asynchronous_Call_Block
;
4089 procedure Set_Is_Component_Left_Opnd
4090 (N
: Node_Id
; Val
: Boolean := True) is
4092 pragma Assert
(False
4093 or else NT
(N
).Nkind
= N_Op_Concat
);
4094 Set_Flag13
(N
, Val
);
4095 end Set_Is_Component_Left_Opnd
;
4097 procedure Set_Is_Component_Right_Opnd
4098 (N
: Node_Id
; Val
: Boolean := True) is
4100 pragma Assert
(False
4101 or else NT
(N
).Nkind
= N_Op_Concat
);
4102 Set_Flag14
(N
, Val
);
4103 end Set_Is_Component_Right_Opnd
;
4105 procedure Set_Is_Controlling_Actual
4106 (N
: Node_Id
; Val
: Boolean := True) is
4108 pragma Assert
(False
4109 or else NT
(N
).Nkind
in N_Subexpr
);
4110 Set_Flag16
(N
, Val
);
4111 end Set_Is_Controlling_Actual
;
4113 procedure Set_Is_In_Discriminant_Check
4114 (N
: Node_Id
; Val
: Boolean := True) is
4116 pragma Assert
(False
4117 or else NT
(N
).Nkind
= N_Selected_Component
);
4118 Set_Flag11
(N
, Val
);
4119 end Set_Is_In_Discriminant_Check
;
4121 procedure Set_Is_Machine_Number
4122 (N
: Node_Id
; Val
: Boolean := True) is
4124 pragma Assert
(False
4125 or else NT
(N
).Nkind
= N_Real_Literal
);
4126 Set_Flag11
(N
, Val
);
4127 end Set_Is_Machine_Number
;
4129 procedure Set_Is_Null_Loop
4130 (N
: Node_Id
; Val
: Boolean := True) is
4132 pragma Assert
(False
4133 or else NT
(N
).Nkind
= N_Loop_Statement
);
4134 Set_Flag16
(N
, Val
);
4135 end Set_Is_Null_Loop
;
4137 procedure Set_Is_Overloaded
4138 (N
: Node_Id
; Val
: Boolean := True) is
4140 pragma Assert
(False
4141 or else NT
(N
).Nkind
in N_Subexpr
);
4143 end Set_Is_Overloaded
;
4145 procedure Set_Is_Power_Of_2_For_Shift
4146 (N
: Node_Id
; Val
: Boolean := True) is
4148 pragma Assert
(False
4149 or else NT
(N
).Nkind
= N_Op_Expon
);
4150 Set_Flag13
(N
, Val
);
4151 end Set_Is_Power_Of_2_For_Shift
;
4153 procedure Set_Is_Protected_Subprogram_Body
4154 (N
: Node_Id
; Val
: Boolean := True) is
4156 pragma Assert
(False
4157 or else NT
(N
).Nkind
= N_Subprogram_Body
);
4159 end Set_Is_Protected_Subprogram_Body
;
4161 procedure Set_Is_Static_Expression
4162 (N
: Node_Id
; Val
: Boolean := True) is
4164 pragma Assert
(False
4165 or else NT
(N
).Nkind
in N_Subexpr
);
4167 end Set_Is_Static_Expression
;
4169 procedure Set_Is_Subprogram_Descriptor
4170 (N
: Node_Id
; Val
: Boolean := True) is
4172 pragma Assert
(False
4173 or else NT
(N
).Nkind
= N_Object_Declaration
);
4174 Set_Flag16
(N
, Val
);
4175 end Set_Is_Subprogram_Descriptor
;
4177 procedure Set_Is_Task_Allocation_Block
4178 (N
: Node_Id
; Val
: Boolean := True) is
4180 pragma Assert
(False
4181 or else NT
(N
).Nkind
= N_Block_Statement
);
4183 end Set_Is_Task_Allocation_Block
;
4185 procedure Set_Is_Task_Master
4186 (N
: Node_Id
; Val
: Boolean := True) is
4188 pragma Assert
(False
4189 or else NT
(N
).Nkind
= N_Block_Statement
4190 or else NT
(N
).Nkind
= N_Subprogram_Body
4191 or else NT
(N
).Nkind
= N_Task_Body
);
4193 end Set_Is_Task_Master
;
4195 procedure Set_Iteration_Scheme
4196 (N
: Node_Id
; Val
: Node_Id
) is
4198 pragma Assert
(False
4199 or else NT
(N
).Nkind
= N_Loop_Statement
);
4200 Set_Node2_With_Parent
(N
, Val
);
4201 end Set_Iteration_Scheme
;
4204 (N
: Node_Id
; Val
: Entity_Id
) is
4206 pragma Assert
(False
4207 or else NT
(N
).Nkind
= N_Itype_Reference
);
4208 Set_Node1
(N
, Val
); -- no parent, semantic field
4211 procedure Set_Kill_Range_Check
4212 (N
: Node_Id
; Val
: Boolean := True) is
4214 pragma Assert
(False
4215 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4216 Set_Flag11
(N
, Val
);
4217 end Set_Kill_Range_Check
;
4219 procedure Set_Label_Construct
4220 (N
: Node_Id
; Val
: Node_Id
) is
4222 pragma Assert
(False
4223 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
4224 Set_Node2
(N
, Val
); -- semantic field, no parent set
4225 end Set_Label_Construct
;
4227 procedure Set_Last_Bit
4228 (N
: Node_Id
; Val
: Node_Id
) is
4230 pragma Assert
(False
4231 or else NT
(N
).Nkind
= N_Component_Clause
);
4232 Set_Node4_With_Parent
(N
, Val
);
4235 procedure Set_Last_Name
4236 (N
: Node_Id
; Val
: Boolean := True) is
4238 pragma Assert
(False
4239 or else NT
(N
).Nkind
= N_With_Clause
);
4243 procedure Set_Left_Opnd
4244 (N
: Node_Id
; Val
: Node_Id
) is
4246 pragma Assert
(False
4247 or else NT
(N
).Nkind
= N_And_Then
4248 or else NT
(N
).Nkind
= N_In
4249 or else NT
(N
).Nkind
= N_Not_In
4250 or else NT
(N
).Nkind
= N_Or_Else
4251 or else NT
(N
).Nkind
in N_Binary_Op
);
4252 Set_Node2_With_Parent
(N
, Val
);
4255 procedure Set_Library_Unit
4256 (N
: Node_Id
; Val
: Node_Id
) is
4258 pragma Assert
(False
4259 or else NT
(N
).Nkind
= N_Compilation_Unit
4260 or else NT
(N
).Nkind
= N_Package_Body_Stub
4261 or else NT
(N
).Nkind
= N_Protected_Body_Stub
4262 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4263 or else NT
(N
).Nkind
= N_Task_Body_Stub
4264 or else NT
(N
).Nkind
= N_With_Clause
);
4265 Set_Node4
(N
, Val
); -- semantic field, no parent set
4266 end Set_Library_Unit
;
4268 procedure Set_Limited_View_Installed
4269 (N
: Node_Id
; Val
: Boolean := True) is
4271 pragma Assert
(False
4272 or else NT
(N
).Nkind
= N_Package_Specification
4273 or else NT
(N
).Nkind
= N_With_Clause
);
4274 Set_Flag18
(N
, Val
);
4275 end Set_Limited_View_Installed
;
4277 procedure Set_Limited_Present
4278 (N
: Node_Id
; Val
: Boolean := True) is
4280 pragma Assert
(False
4281 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4282 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4283 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
4284 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4285 or else NT
(N
).Nkind
= N_Private_Type_Declaration
4286 or else NT
(N
).Nkind
= N_Record_Definition
4287 or else NT
(N
).Nkind
= N_With_Clause
);
4288 Set_Flag17
(N
, Val
);
4289 end Set_Limited_Present
;
4291 procedure Set_Literals
4292 (N
: Node_Id
; Val
: List_Id
) is
4294 pragma Assert
(False
4295 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
4296 Set_List1_With_Parent
(N
, Val
);
4299 procedure Set_Loop_Actions
4300 (N
: Node_Id
; Val
: List_Id
) is
4302 pragma Assert
(False
4303 or else NT
(N
).Nkind
= N_Component_Association
);
4304 Set_List2
(N
, Val
); -- semantic field, no parent set
4305 end Set_Loop_Actions
;
4307 procedure Set_Loop_Parameter_Specification
4308 (N
: Node_Id
; Val
: Node_Id
) is
4310 pragma Assert
(False
4311 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
4312 Set_Node4_With_Parent
(N
, Val
);
4313 end Set_Loop_Parameter_Specification
;
4315 procedure Set_Low_Bound
4316 (N
: Node_Id
; Val
: Node_Id
) is
4318 pragma Assert
(False
4319 or else NT
(N
).Nkind
= N_Range
4320 or else NT
(N
).Nkind
= N_Real_Range_Specification
4321 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4322 Set_Node1_With_Parent
(N
, Val
);
4325 procedure Set_Mod_Clause
4326 (N
: Node_Id
; Val
: Node_Id
) is
4328 pragma Assert
(False
4329 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4330 Set_Node2_With_Parent
(N
, Val
);
4333 procedure Set_More_Ids
4334 (N
: Node_Id
; Val
: Boolean := True) is
4336 pragma Assert
(False
4337 or else NT
(N
).Nkind
= N_Component_Declaration
4338 or else NT
(N
).Nkind
= N_Discriminant_Specification
4339 or else NT
(N
).Nkind
= N_Exception_Declaration
4340 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4341 or else NT
(N
).Nkind
= N_Number_Declaration
4342 or else NT
(N
).Nkind
= N_Object_Declaration
4343 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4347 procedure Set_Must_Be_Byte_Aligned
4348 (N
: Node_Id
; Val
: Boolean := True) is
4350 pragma Assert
(False
4351 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4352 Set_Flag14
(N
, Val
);
4353 end Set_Must_Be_Byte_Aligned
;
4355 procedure Set_Must_Not_Freeze
4356 (N
: Node_Id
; Val
: Boolean := True) is
4358 pragma Assert
(False
4359 or else NT
(N
).Nkind
= N_Subtype_Indication
4360 or else NT
(N
).Nkind
in N_Subexpr
);
4362 end Set_Must_Not_Freeze
;
4364 procedure Set_Must_Not_Override
4365 (N
: Node_Id
; Val
: Boolean := True) is
4367 pragma Assert
(False
4368 or else NT
(N
).Nkind
= N_Entry_Declaration
4369 or else NT
(N
).Nkind
= N_Function_Instantiation
4370 or else NT
(N
).Nkind
= N_Function_Specification
4371 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4372 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4373 Set_Flag15
(N
, Val
);
4374 end Set_Must_Not_Override
;
4376 procedure Set_Must_Override
4377 (N
: Node_Id
; Val
: Boolean := True) is
4379 pragma Assert
(False
4380 or else NT
(N
).Nkind
= N_Entry_Declaration
4381 or else NT
(N
).Nkind
= N_Function_Instantiation
4382 or else NT
(N
).Nkind
= N_Function_Specification
4383 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4384 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4385 Set_Flag14
(N
, Val
);
4386 end Set_Must_Override
;
4389 (N
: Node_Id
; Val
: Node_Id
) is
4391 pragma Assert
(False
4392 or else NT
(N
).Nkind
= N_Assignment_Statement
4393 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4394 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
4395 or else NT
(N
).Nkind
= N_Designator
4396 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4397 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
4398 or else NT
(N
).Nkind
= N_Exit_Statement
4399 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4400 or else NT
(N
).Nkind
= N_Function_Call
4401 or else NT
(N
).Nkind
= N_Function_Instantiation
4402 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4403 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4404 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4405 or else NT
(N
).Nkind
= N_Goto_Statement
4406 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4407 or else NT
(N
).Nkind
= N_Package_Instantiation
4408 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4409 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
4410 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4411 or else NT
(N
).Nkind
= N_Raise_Statement
4412 or else NT
(N
).Nkind
= N_Requeue_Statement
4413 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
4414 or else NT
(N
).Nkind
= N_Subunit
4415 or else NT
(N
).Nkind
= N_Variant_Part
4416 or else NT
(N
).Nkind
= N_With_Clause
4417 or else NT
(N
).Nkind
= N_With_Type_Clause
);
4418 Set_Node2_With_Parent
(N
, Val
);
4422 (N
: Node_Id
; Val
: List_Id
) is
4424 pragma Assert
(False
4425 or else NT
(N
).Nkind
= N_Abort_Statement
4426 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
4427 Set_List2_With_Parent
(N
, Val
);
4430 procedure Set_Next_Entity
4431 (N
: Node_Id
; Val
: Node_Id
) is
4433 pragma Assert
(False
4434 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4435 or else NT
(N
).Nkind
= N_Defining_Identifier
4436 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4437 Set_Node2
(N
, Val
); -- semantic field, no parent set
4438 end Set_Next_Entity
;
4440 procedure Set_Next_Named_Actual
4441 (N
: Node_Id
; Val
: Node_Id
) is
4443 pragma Assert
(False
4444 or else NT
(N
).Nkind
= N_Parameter_Association
);
4445 Set_Node4
(N
, Val
); -- semantic field, no parent set
4446 end Set_Next_Named_Actual
;
4448 procedure Set_Next_Rep_Item
4449 (N
: Node_Id
; Val
: Node_Id
) is
4451 pragma Assert
(False
4452 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4453 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4454 or else NT
(N
).Nkind
= N_Pragma
4455 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4456 Set_Node4
(N
, Val
); -- semantic field, no parent set
4457 end Set_Next_Rep_Item
;
4459 procedure Set_Next_Use_Clause
4460 (N
: Node_Id
; Val
: Node_Id
) is
4462 pragma Assert
(False
4463 or else NT
(N
).Nkind
= N_Use_Package_Clause
4464 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4465 Set_Node3
(N
, Val
); -- semantic field, no parent set
4466 end Set_Next_Use_Clause
;
4468 procedure Set_No_Ctrl_Actions
4469 (N
: Node_Id
; Val
: Boolean := True) is
4471 pragma Assert
(False
4472 or else NT
(N
).Nkind
= N_Assignment_Statement
);
4474 end Set_No_Ctrl_Actions
;
4476 procedure Set_No_Elaboration_Check
4477 (N
: Node_Id
; Val
: Boolean := True) is
4479 pragma Assert
(False
4480 or else NT
(N
).Nkind
= N_Function_Call
4481 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4482 Set_Flag14
(N
, Val
);
4483 end Set_No_Elaboration_Check
;
4485 procedure Set_No_Entities_Ref_In_Spec
4486 (N
: Node_Id
; Val
: Boolean := True) is
4488 pragma Assert
(False
4489 or else NT
(N
).Nkind
= N_With_Clause
);
4491 end Set_No_Entities_Ref_In_Spec
;
4493 procedure Set_No_Initialization
4494 (N
: Node_Id
; Val
: Boolean := True) is
4496 pragma Assert
(False
4497 or else NT
(N
).Nkind
= N_Allocator
4498 or else NT
(N
).Nkind
= N_Object_Declaration
);
4499 Set_Flag13
(N
, Val
);
4500 end Set_No_Initialization
;
4502 procedure Set_No_Truncation
4503 (N
: Node_Id
; Val
: Boolean := True) is
4505 pragma Assert
(False
4506 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4507 Set_Flag17
(N
, Val
);
4508 end Set_No_Truncation
;
4510 procedure Set_Null_Present
4511 (N
: Node_Id
; Val
: Boolean := True) is
4513 pragma Assert
(False
4514 or else NT
(N
).Nkind
= N_Component_List
4515 or else NT
(N
).Nkind
= N_Procedure_Specification
4516 or else NT
(N
).Nkind
= N_Record_Definition
);
4517 Set_Flag13
(N
, Val
);
4518 end Set_Null_Present
;
4520 procedure Set_Null_Exclusion_Present
4521 (N
: Node_Id
; Val
: Boolean := True) is
4523 pragma Assert
(False
4524 or else NT
(N
).Nkind
= N_Access_Definition
4525 or else NT
(N
).Nkind
= N_Access_Function_Definition
4526 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4527 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
4528 or else NT
(N
).Nkind
= N_Allocator
4529 or else NT
(N
).Nkind
= N_Component_Definition
4530 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4531 or else NT
(N
).Nkind
= N_Discriminant_Specification
4532 or else NT
(N
).Nkind
= N_Function_Specification
4533 or else NT
(N
).Nkind
= N_Object_Declaration
4534 or else NT
(N
).Nkind
= N_Parameter_Specification
4535 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4536 Set_Flag11
(N
, Val
);
4537 end Set_Null_Exclusion_Present
;
4539 procedure Set_Null_Record_Present
4540 (N
: Node_Id
; Val
: Boolean := True) is
4542 pragma Assert
(False
4543 or else NT
(N
).Nkind
= N_Aggregate
4544 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4545 Set_Flag17
(N
, Val
);
4546 end Set_Null_Record_Present
;
4548 procedure Set_Object_Definition
4549 (N
: Node_Id
; Val
: Node_Id
) is
4551 pragma Assert
(False
4552 or else NT
(N
).Nkind
= N_Object_Declaration
);
4553 Set_Node4_With_Parent
(N
, Val
);
4554 end Set_Object_Definition
;
4556 procedure Set_Original_Discriminant
4557 (N
: Node_Id
; Val
: Node_Id
) is
4559 pragma Assert
(False
4560 or else NT
(N
).Nkind
= N_Identifier
);
4561 Set_Node2
(N
, Val
); -- semantic field, no parent set
4562 end Set_Original_Discriminant
;
4564 procedure Set_Original_Entity
4565 (N
: Node_Id
; Val
: Entity_Id
) is
4567 pragma Assert
(False
4568 or else NT
(N
).Nkind
= N_Integer_Literal
4569 or else NT
(N
).Nkind
= N_Real_Literal
);
4570 Set_Node2
(N
, Val
); -- semantic field, no parent set
4571 end Set_Original_Entity
;
4573 procedure Set_Others_Discrete_Choices
4574 (N
: Node_Id
; Val
: List_Id
) is
4576 pragma Assert
(False
4577 or else NT
(N
).Nkind
= N_Others_Choice
);
4578 Set_List1_With_Parent
(N
, Val
);
4579 end Set_Others_Discrete_Choices
;
4581 procedure Set_Out_Present
4582 (N
: Node_Id
; Val
: Boolean := True) is
4584 pragma Assert
(False
4585 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4586 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4587 Set_Flag17
(N
, Val
);
4588 end Set_Out_Present
;
4590 procedure Set_Parameter_Associations
4591 (N
: Node_Id
; Val
: List_Id
) is
4593 pragma Assert
(False
4594 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4595 or else NT
(N
).Nkind
= N_Function_Call
4596 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4597 Set_List3_With_Parent
(N
, Val
);
4598 end Set_Parameter_Associations
;
4600 procedure Set_Parameter_List_Truncated
4601 (N
: Node_Id
; Val
: Boolean := True) is
4603 pragma Assert
(False
4604 or else NT
(N
).Nkind
= N_Function_Call
4605 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4606 Set_Flag17
(N
, Val
);
4607 end Set_Parameter_List_Truncated
;
4609 procedure Set_Parameter_Specifications
4610 (N
: Node_Id
; Val
: List_Id
) is
4612 pragma Assert
(False
4613 or else NT
(N
).Nkind
= N_Accept_Statement
4614 or else NT
(N
).Nkind
= N_Access_Function_Definition
4615 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4616 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
4617 or else NT
(N
).Nkind
= N_Entry_Declaration
4618 or else NT
(N
).Nkind
= N_Function_Specification
4619 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4620 Set_List3_With_Parent
(N
, Val
);
4621 end Set_Parameter_Specifications
;
4623 procedure Set_Parameter_Type
4624 (N
: Node_Id
; Val
: Node_Id
) is
4626 pragma Assert
(False
4627 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4628 Set_Node2_With_Parent
(N
, Val
);
4629 end Set_Parameter_Type
;
4631 procedure Set_Parent_Spec
4632 (N
: Node_Id
; Val
: Node_Id
) is
4634 pragma Assert
(False
4635 or else NT
(N
).Nkind
= N_Function_Instantiation
4636 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4637 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4638 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4639 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4640 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4641 or else NT
(N
).Nkind
= N_Package_Declaration
4642 or else NT
(N
).Nkind
= N_Package_Instantiation
4643 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4644 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4645 or else NT
(N
).Nkind
= N_Subprogram_Declaration
4646 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4647 Set_Node4
(N
, Val
); -- semantic field, no parent set
4648 end Set_Parent_Spec
;
4650 procedure Set_Position
4651 (N
: Node_Id
; Val
: Node_Id
) is
4653 pragma Assert
(False
4654 or else NT
(N
).Nkind
= N_Component_Clause
);
4655 Set_Node2_With_Parent
(N
, Val
);
4658 procedure Set_Pragma_Argument_Associations
4659 (N
: Node_Id
; Val
: List_Id
) is
4661 pragma Assert
(False
4662 or else NT
(N
).Nkind
= N_Pragma
);
4663 Set_List2_With_Parent
(N
, Val
);
4664 end Set_Pragma_Argument_Associations
;
4666 procedure Set_Pragmas_After
4667 (N
: Node_Id
; Val
: List_Id
) is
4669 pragma Assert
(False
4670 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
4671 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
4672 Set_List5_With_Parent
(N
, Val
);
4673 end Set_Pragmas_After
;
4675 procedure Set_Pragmas_Before
4676 (N
: Node_Id
; Val
: List_Id
) is
4678 pragma Assert
(False
4679 or else NT
(N
).Nkind
= N_Accept_Alternative
4680 or else NT
(N
).Nkind
= N_Delay_Alternative
4681 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
4682 or else NT
(N
).Nkind
= N_Mod_Clause
4683 or else NT
(N
).Nkind
= N_Terminate_Alternative
4684 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4685 Set_List4_With_Parent
(N
, Val
);
4686 end Set_Pragmas_Before
;
4688 procedure Set_Prefix
4689 (N
: Node_Id
; Val
: Node_Id
) is
4691 pragma Assert
(False
4692 or else NT
(N
).Nkind
= N_Attribute_Reference
4693 or else NT
(N
).Nkind
= N_Expanded_Name
4694 or else NT
(N
).Nkind
= N_Explicit_Dereference
4695 or else NT
(N
).Nkind
= N_Indexed_Component
4696 or else NT
(N
).Nkind
= N_Reference
4697 or else NT
(N
).Nkind
= N_Selected_Component
4698 or else NT
(N
).Nkind
= N_Slice
);
4699 Set_Node3_With_Parent
(N
, Val
);
4702 procedure Set_Present_Expr
4703 (N
: Node_Id
; Val
: Uint
) is
4705 pragma Assert
(False
4706 or else NT
(N
).Nkind
= N_Variant
);
4708 end Set_Present_Expr
;
4710 procedure Set_Prev_Ids
4711 (N
: Node_Id
; Val
: Boolean := True) is
4713 pragma Assert
(False
4714 or else NT
(N
).Nkind
= N_Component_Declaration
4715 or else NT
(N
).Nkind
= N_Discriminant_Specification
4716 or else NT
(N
).Nkind
= N_Exception_Declaration
4717 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4718 or else NT
(N
).Nkind
= N_Number_Declaration
4719 or else NT
(N
).Nkind
= N_Object_Declaration
4720 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4724 procedure Set_Print_In_Hex
4725 (N
: Node_Id
; Val
: Boolean := True) is
4727 pragma Assert
(False
4728 or else NT
(N
).Nkind
= N_Integer_Literal
);
4729 Set_Flag13
(N
, Val
);
4730 end Set_Print_In_Hex
;
4732 procedure Set_Private_Declarations
4733 (N
: Node_Id
; Val
: List_Id
) is
4735 pragma Assert
(False
4736 or else NT
(N
).Nkind
= N_Package_Specification
4737 or else NT
(N
).Nkind
= N_Protected_Definition
4738 or else NT
(N
).Nkind
= N_Task_Definition
);
4739 Set_List3_With_Parent
(N
, Val
);
4740 end Set_Private_Declarations
;
4742 procedure Set_Private_Present
4743 (N
: Node_Id
; Val
: Boolean := True) is
4745 pragma Assert
(False
4746 or else NT
(N
).Nkind
= N_Compilation_Unit
4747 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4748 or else NT
(N
).Nkind
= N_With_Clause
);
4749 Set_Flag15
(N
, Val
);
4750 end Set_Private_Present
;
4752 procedure Set_Procedure_To_Call
4753 (N
: Node_Id
; Val
: Node_Id
) is
4755 pragma Assert
(False
4756 or else NT
(N
).Nkind
= N_Allocator
4757 or else NT
(N
).Nkind
= N_Free_Statement
4758 or else NT
(N
).Nkind
= N_Return_Statement
);
4759 Set_Node4
(N
, Val
); -- semantic field, no parent set
4760 end Set_Procedure_To_Call
;
4762 procedure Set_Proper_Body
4763 (N
: Node_Id
; Val
: Node_Id
) is
4765 pragma Assert
(False
4766 or else NT
(N
).Nkind
= N_Subunit
);
4767 Set_Node1_With_Parent
(N
, Val
);
4768 end Set_Proper_Body
;
4770 procedure Set_Protected_Definition
4771 (N
: Node_Id
; Val
: Node_Id
) is
4773 pragma Assert
(False
4774 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
4775 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
4776 Set_Node3_With_Parent
(N
, Val
);
4777 end Set_Protected_Definition
;
4779 procedure Set_Protected_Present
4780 (N
: Node_Id
; Val
: Boolean := True) is
4782 pragma Assert
(False
4783 or else NT
(N
).Nkind
= N_Access_Function_Definition
4784 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4785 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4786 or else NT
(N
).Nkind
= N_Record_Definition
);
4788 end Set_Protected_Present
;
4790 procedure Set_Raises_Constraint_Error
4791 (N
: Node_Id
; Val
: Boolean := True) is
4793 pragma Assert
(False
4794 or else NT
(N
).Nkind
in N_Subexpr
);
4796 end Set_Raises_Constraint_Error
;
4798 procedure Set_Range_Constraint
4799 (N
: Node_Id
; Val
: Node_Id
) is
4801 pragma Assert
(False
4802 or else NT
(N
).Nkind
= N_Delta_Constraint
4803 or else NT
(N
).Nkind
= N_Digits_Constraint
);
4804 Set_Node4_With_Parent
(N
, Val
);
4805 end Set_Range_Constraint
;
4807 procedure Set_Range_Expression
4808 (N
: Node_Id
; Val
: Node_Id
) is
4810 pragma Assert
(False
4811 or else NT
(N
).Nkind
= N_Range_Constraint
);
4812 Set_Node4_With_Parent
(N
, Val
);
4813 end Set_Range_Expression
;
4815 procedure Set_Real_Range_Specification
4816 (N
: Node_Id
; Val
: Node_Id
) is
4818 pragma Assert
(False
4819 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
4820 or else NT
(N
).Nkind
= N_Floating_Point_Definition
4821 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
4822 Set_Node4_With_Parent
(N
, Val
);
4823 end Set_Real_Range_Specification
;
4825 procedure Set_Realval
4826 (N
: Node_Id
; Val
: Ureal
) is
4828 pragma Assert
(False
4829 or else NT
(N
).Nkind
= N_Real_Literal
);
4830 Set_Ureal3
(N
, Val
);
4833 procedure Set_Reason
4834 (N
: Node_Id
; Val
: Uint
) is
4836 pragma Assert
(False
4837 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
4838 or else NT
(N
).Nkind
= N_Raise_Program_Error
4839 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
4843 procedure Set_Record_Extension_Part
4844 (N
: Node_Id
; Val
: Node_Id
) is
4846 pragma Assert
(False
4847 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
4848 Set_Node3_With_Parent
(N
, Val
);
4849 end Set_Record_Extension_Part
;
4851 procedure Set_Redundant_Use
4852 (N
: Node_Id
; Val
: Boolean := True) is
4854 pragma Assert
(False
4855 or else NT
(N
).Nkind
= N_Attribute_Reference
4856 or else NT
(N
).Nkind
= N_Expanded_Name
4857 or else NT
(N
).Nkind
= N_Identifier
);
4858 Set_Flag13
(N
, Val
);
4859 end Set_Redundant_Use
;
4861 procedure Set_Result_Definition
4862 (N
: Node_Id
; Val
: Node_Id
) is
4864 pragma Assert
(False
4865 or else NT
(N
).Nkind
= N_Access_Function_Definition
4866 or else NT
(N
).Nkind
= N_Function_Specification
);
4867 Set_Node4_With_Parent
(N
, Val
);
4868 end Set_Result_Definition
;
4870 procedure Set_Return_Type
4871 (N
: Node_Id
; Val
: Node_Id
) is
4873 pragma Assert
(False
4874 or else NT
(N
).Nkind
= N_Return_Statement
);
4875 Set_Node2
(N
, Val
); -- semantic field, no parent set
4876 end Set_Return_Type
;
4878 procedure Set_Reverse_Present
4879 (N
: Node_Id
; Val
: Boolean := True) is
4881 pragma Assert
(False
4882 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
4883 Set_Flag15
(N
, Val
);
4884 end Set_Reverse_Present
;
4886 procedure Set_Right_Opnd
4887 (N
: Node_Id
; Val
: Node_Id
) is
4889 pragma Assert
(False
4890 or else NT
(N
).Nkind
in N_Op
4891 or else NT
(N
).Nkind
= N_And_Then
4892 or else NT
(N
).Nkind
= N_In
4893 or else NT
(N
).Nkind
= N_Not_In
4894 or else NT
(N
).Nkind
= N_Or_Else
);
4895 Set_Node3_With_Parent
(N
, Val
);
4898 procedure Set_Rounded_Result
4899 (N
: Node_Id
; Val
: Boolean := True) is
4901 pragma Assert
(False
4902 or else NT
(N
).Nkind
= N_Op_Divide
4903 or else NT
(N
).Nkind
= N_Op_Multiply
4904 or else NT
(N
).Nkind
= N_Type_Conversion
);
4905 Set_Flag18
(N
, Val
);
4906 end Set_Rounded_Result
;
4909 (N
: Node_Id
; Val
: Node_Id
) is
4911 pragma Assert
(False
4912 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4913 or else NT
(N
).Nkind
= N_Defining_Identifier
4914 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4915 Set_Node3
(N
, Val
); -- semantic field, no parent set
4918 procedure Set_Select_Alternatives
4919 (N
: Node_Id
; Val
: List_Id
) is
4921 pragma Assert
(False
4922 or else NT
(N
).Nkind
= N_Selective_Accept
);
4923 Set_List1_With_Parent
(N
, Val
);
4924 end Set_Select_Alternatives
;
4926 procedure Set_Selector_Name
4927 (N
: Node_Id
; Val
: Node_Id
) is
4929 pragma Assert
(False
4930 or else NT
(N
).Nkind
= N_Expanded_Name
4931 or else NT
(N
).Nkind
= N_Generic_Association
4932 or else NT
(N
).Nkind
= N_Parameter_Association
4933 or else NT
(N
).Nkind
= N_Selected_Component
);
4934 Set_Node2_With_Parent
(N
, Val
);
4935 end Set_Selector_Name
;
4937 procedure Set_Selector_Names
4938 (N
: Node_Id
; Val
: List_Id
) is
4940 pragma Assert
(False
4941 or else NT
(N
).Nkind
= N_Discriminant_Association
);
4942 Set_List1_With_Parent
(N
, Val
);
4943 end Set_Selector_Names
;
4945 procedure Set_Shift_Count_OK
4946 (N
: Node_Id
; Val
: Boolean := True) is
4948 pragma Assert
(False
4949 or else NT
(N
).Nkind
= N_Op_Rotate_Left
4950 or else NT
(N
).Nkind
= N_Op_Rotate_Right
4951 or else NT
(N
).Nkind
= N_Op_Shift_Left
4952 or else NT
(N
).Nkind
= N_Op_Shift_Right
4953 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
4955 end Set_Shift_Count_OK
;
4957 procedure Set_Source_Type
4958 (N
: Node_Id
; Val
: Entity_Id
) is
4960 pragma Assert
(False
4961 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
4962 Set_Node1
(N
, Val
); -- semantic field, no parent set
4963 end Set_Source_Type
;
4965 procedure Set_Specification
4966 (N
: Node_Id
; Val
: Node_Id
) is
4968 pragma Assert
(False
4969 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
4970 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
4971 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
4972 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4973 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4974 or else NT
(N
).Nkind
= N_Package_Declaration
4975 or else NT
(N
).Nkind
= N_Subprogram_Body
4976 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4977 or else NT
(N
).Nkind
= N_Subprogram_Declaration
4978 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4979 Set_Node1_With_Parent
(N
, Val
);
4980 end Set_Specification
;
4982 procedure Set_Statements
4983 (N
: Node_Id
; Val
: List_Id
) is
4985 pragma Assert
(False
4986 or else NT
(N
).Nkind
= N_Abortable_Part
4987 or else NT
(N
).Nkind
= N_Accept_Alternative
4988 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
4989 or else NT
(N
).Nkind
= N_Delay_Alternative
4990 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
4991 or else NT
(N
).Nkind
= N_Exception_Handler
4992 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
4993 or else NT
(N
).Nkind
= N_Loop_Statement
4994 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4995 Set_List3_With_Parent
(N
, Val
);
4998 procedure Set_Static_Processing_OK
4999 (N
: Node_Id
; Val
: Boolean) is
5001 pragma Assert
(False
5002 or else NT
(N
).Nkind
= N_Aggregate
);
5004 end Set_Static_Processing_OK
;
5006 procedure Set_Storage_Pool
5007 (N
: Node_Id
; Val
: Node_Id
) is
5009 pragma Assert
(False
5010 or else NT
(N
).Nkind
= N_Allocator
5011 or else NT
(N
).Nkind
= N_Free_Statement
5012 or else NT
(N
).Nkind
= N_Return_Statement
);
5013 Set_Node1
(N
, Val
); -- semantic field, no parent set
5014 end Set_Storage_Pool
;
5016 procedure Set_Strval
5017 (N
: Node_Id
; Val
: String_Id
) is
5019 pragma Assert
(False
5020 or else NT
(N
).Nkind
= N_Operator_Symbol
5021 or else NT
(N
).Nkind
= N_String_Literal
);
5025 procedure Set_Subtype_Indication
5026 (N
: Node_Id
; Val
: Node_Id
) is
5028 pragma Assert
(False
5029 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
5030 or else NT
(N
).Nkind
= N_Component_Definition
5031 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5032 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5033 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
5034 Set_Node5_With_Parent
(N
, Val
);
5035 end Set_Subtype_Indication
;
5037 procedure Set_Subtype_Mark
5038 (N
: Node_Id
; Val
: Node_Id
) is
5040 pragma Assert
(False
5041 or else NT
(N
).Nkind
= N_Access_Definition
5042 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5043 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5044 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
5045 or else NT
(N
).Nkind
= N_Qualified_Expression
5046 or else NT
(N
).Nkind
= N_Subtype_Indication
5047 or else NT
(N
).Nkind
= N_Type_Conversion
5048 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
5049 Set_Node4_With_Parent
(N
, Val
);
5050 end Set_Subtype_Mark
;
5052 procedure Set_Subtype_Marks
5053 (N
: Node_Id
; Val
: List_Id
) is
5055 pragma Assert
(False
5056 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
5057 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
5058 Set_List2_With_Parent
(N
, Val
);
5059 end Set_Subtype_Marks
;
5061 procedure Set_Synchronized_Present
5062 (N
: Node_Id
; Val
: Boolean := True) is
5064 pragma Assert
(False
5065 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5066 or else NT
(N
).Nkind
= N_Record_Definition
);
5068 end Set_Synchronized_Present
;
5070 procedure Set_Tagged_Present
5071 (N
: Node_Id
; Val
: Boolean := True) is
5073 pragma Assert
(False
5074 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
5075 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
5076 or else NT
(N
).Nkind
= N_Private_Type_Declaration
5077 or else NT
(N
).Nkind
= N_Record_Definition
5078 or else NT
(N
).Nkind
= N_With_Type_Clause
);
5079 Set_Flag15
(N
, Val
);
5080 end Set_Tagged_Present
;
5082 procedure Set_Target_Type
5083 (N
: Node_Id
; Val
: Entity_Id
) is
5085 pragma Assert
(False
5086 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
5087 Set_Node2
(N
, Val
); -- semantic field, no parent set
5088 end Set_Target_Type
;
5090 procedure Set_Task_Definition
5091 (N
: Node_Id
; Val
: Node_Id
) is
5093 pragma Assert
(False
5094 or else NT
(N
).Nkind
= N_Single_Task_Declaration
5095 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
5096 Set_Node3_With_Parent
(N
, Val
);
5097 end Set_Task_Definition
;
5099 procedure Set_Task_Present
5100 (N
: Node_Id
; Val
: Boolean := True) is
5102 pragma Assert
(False
5103 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5104 or else NT
(N
).Nkind
= N_Record_Definition
);
5106 end Set_Task_Present
;
5108 procedure Set_Then_Actions
5109 (N
: Node_Id
; Val
: List_Id
) is
5111 pragma Assert
(False
5112 or else NT
(N
).Nkind
= N_Conditional_Expression
);
5113 Set_List2
(N
, Val
); -- semantic field, no parent set
5114 end Set_Then_Actions
;
5116 procedure Set_Then_Statements
5117 (N
: Node_Id
; Val
: List_Id
) is
5119 pragma Assert
(False
5120 or else NT
(N
).Nkind
= N_Elsif_Part
5121 or else NT
(N
).Nkind
= N_If_Statement
);
5122 Set_List2_With_Parent
(N
, Val
);
5123 end Set_Then_Statements
;
5125 procedure Set_Treat_Fixed_As_Integer
5126 (N
: Node_Id
; Val
: Boolean := True) is
5128 pragma Assert
(False
5129 or else NT
(N
).Nkind
= N_Op_Divide
5130 or else NT
(N
).Nkind
= N_Op_Mod
5131 or else NT
(N
).Nkind
= N_Op_Multiply
5132 or else NT
(N
).Nkind
= N_Op_Rem
);
5133 Set_Flag14
(N
, Val
);
5134 end Set_Treat_Fixed_As_Integer
;
5136 procedure Set_Triggering_Alternative
5137 (N
: Node_Id
; Val
: Node_Id
) is
5139 pragma Assert
(False
5140 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
5141 Set_Node1_With_Parent
(N
, Val
);
5142 end Set_Triggering_Alternative
;
5144 procedure Set_Triggering_Statement
5145 (N
: Node_Id
; Val
: Node_Id
) is
5147 pragma Assert
(False
5148 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5149 Set_Node1_With_Parent
(N
, Val
);
5150 end Set_Triggering_Statement
;
5152 procedure Set_TSS_Elist
5153 (N
: Node_Id
; Val
: Elist_Id
) is
5155 pragma Assert
(False
5156 or else NT
(N
).Nkind
= N_Freeze_Entity
);
5157 Set_Elist3
(N
, Val
); -- semantic field, no parent set
5160 procedure Set_Type_Definition
5161 (N
: Node_Id
; Val
: Node_Id
) is
5163 pragma Assert
(False
5164 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
5165 Set_Node3_With_Parent
(N
, Val
);
5166 end Set_Type_Definition
;
5169 (N
: Node_Id
; Val
: Node_Id
) is
5171 pragma Assert
(False
5172 or else NT
(N
).Nkind
= N_Compilation_Unit
);
5173 Set_Node2_With_Parent
(N
, Val
);
5176 procedure Set_Unknown_Discriminants_Present
5177 (N
: Node_Id
; Val
: Boolean := True) is
5179 pragma Assert
(False
5180 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
5181 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
5182 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5183 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
5184 Set_Flag13
(N
, Val
);
5185 end Set_Unknown_Discriminants_Present
;
5187 procedure Set_Unreferenced_In_Spec
5188 (N
: Node_Id
; Val
: Boolean := True) is
5190 pragma Assert
(False
5191 or else NT
(N
).Nkind
= N_With_Clause
);
5193 end Set_Unreferenced_In_Spec
;
5195 procedure Set_Variant_Part
5196 (N
: Node_Id
; Val
: Node_Id
) is
5198 pragma Assert
(False
5199 or else NT
(N
).Nkind
= N_Component_List
);
5200 Set_Node4_With_Parent
(N
, Val
);
5201 end Set_Variant_Part
;
5203 procedure Set_Variants
5204 (N
: Node_Id
; Val
: List_Id
) is
5206 pragma Assert
(False
5207 or else NT
(N
).Nkind
= N_Variant_Part
);
5208 Set_List1_With_Parent
(N
, Val
);
5211 procedure Set_Visible_Declarations
5212 (N
: Node_Id
; Val
: List_Id
) is
5214 pragma Assert
(False
5215 or else NT
(N
).Nkind
= N_Package_Specification
5216 or else NT
(N
).Nkind
= N_Protected_Definition
5217 or else NT
(N
).Nkind
= N_Task_Definition
);
5218 Set_List2_With_Parent
(N
, Val
);
5219 end Set_Visible_Declarations
;
5221 procedure Set_Was_Originally_Stub
5222 (N
: Node_Id
; Val
: Boolean := True) is
5224 pragma Assert
(False
5225 or else NT
(N
).Nkind
= N_Package_Body
5226 or else NT
(N
).Nkind
= N_Protected_Body
5227 or else NT
(N
).Nkind
= N_Subprogram_Body
5228 or else NT
(N
).Nkind
= N_Task_Body
);
5229 Set_Flag13
(N
, Val
);
5230 end Set_Was_Originally_Stub
;
5232 procedure Set_Zero_Cost_Handling
5233 (N
: Node_Id
; Val
: Boolean := True) is
5235 pragma Assert
(False
5236 or else NT
(N
).Nkind
= N_Exception_Handler
5237 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
5239 end Set_Zero_Cost_Handling
;
5241 -------------------------
5242 -- Iterator Procedures --
5243 -------------------------
5245 procedure Next_Entity
(N
: in out Node_Id
) is
5247 N
:= Next_Entity
(N
);
5250 procedure Next_Named_Actual
(N
: in out Node_Id
) is
5252 N
:= Next_Named_Actual
(N
);
5253 end Next_Named_Actual
;
5255 procedure Next_Rep_Item
(N
: in out Node_Id
) is
5257 N
:= Next_Rep_Item
(N
);
5260 procedure Next_Use_Clause
(N
: in out Node_Id
) is
5262 N
:= Next_Use_Clause
(N
);
5263 end Next_Use_Clause
;
5269 function End_Location
(N
: Node_Id
) return Source_Ptr
is
5270 L
: constant Uint
:= End_Span
(N
);
5276 return Source_Ptr
(Int
(Sloc
(N
)) + UI_To_Int
(L
));
5280 ----------------------
5281 -- Set_End_Location --
5282 ----------------------
5284 procedure Set_End_Location
(N
: Node_Id
; S
: Source_Ptr
) is
5287 UI_From_Int
(Int
(S
) - Int
(Sloc
(N
))));
5288 end Set_End_Location
;