1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE. --
18 -- As a special exception under Section 7 of GPL version 3, you are granted --
19 -- additional permissions described in the GCC Runtime Library Exception, --
20 -- version 3.1, as published by the Free Software Foundation. --
22 -- You should have received a copy of the GNU General Public License and --
23 -- a copy of the GCC Runtime Library Exception along with this program; --
24 -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
25 -- <http://www.gnu.org/licenses/>. --
27 -- GNAT was originally developed by the GNAT team at New York University. --
28 -- Extensive contributions were provided by Ada Core Technologies Inc. --
30 ------------------------------------------------------------------------------
32 pragma Style_Checks
(All_Checks
);
33 -- No subprogram ordering check, due to logical grouping
35 with Atree
; use Atree
;
39 use Atree
.Unchecked_Access
;
40 -- This package is one of the few packages which is allowed to make direct
41 -- references to tree nodes (since it is in the business of providing a
42 -- higher level of tree access which other clients are expected to use and
43 -- which implements checks).
45 use Atree_Private_Part
;
46 -- The only reason that we ask for direct access to the private part of
47 -- the tree package is so that we can directly reference the Nkind field
48 -- of nodes table entries. We do this since it helps the efficiency of
49 -- the Sinfo debugging checks considerably (note that when we are checking
50 -- Nkind values, we don't need to check for a valid node reference, because
51 -- we will check that anyway when we reference the field).
53 NT
: Nodes
.Table_Ptr
renames Nodes
.Table
;
54 -- A short hand abbreviation, useful for the debugging checks
56 ----------------------------
57 -- Field Access Functions --
58 ----------------------------
60 function ABE_Is_Certain
61 (N
: Node_Id
) return Boolean is
64 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
65 or else NT
(N
).Nkind
= N_Function_Call
66 or else NT
(N
).Nkind
= N_Function_Instantiation
67 or else NT
(N
).Nkind
= N_Package_Instantiation
68 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
69 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
73 function Abort_Present
74 (N
: Node_Id
) return Boolean is
77 or else NT
(N
).Nkind
= N_Requeue_Statement
);
81 function Abortable_Part
82 (N
: Node_Id
) return Node_Id
is
85 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
89 function Abstract_Present
90 (N
: Node_Id
) return Boolean is
93 or else NT
(N
).Nkind
= N_Derived_Type_Definition
94 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
95 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
96 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
97 or else NT
(N
).Nkind
= N_Private_Type_Declaration
98 or else NT
(N
).Nkind
= N_Record_Definition
);
100 end Abstract_Present
;
102 function Accept_Handler_Records
103 (N
: Node_Id
) return List_Id
is
106 or else NT
(N
).Nkind
= N_Accept_Alternative
);
108 end Accept_Handler_Records
;
110 function Accept_Statement
111 (N
: Node_Id
) return Node_Id
is
114 or else NT
(N
).Nkind
= N_Accept_Alternative
);
116 end Accept_Statement
;
118 function Access_Definition
119 (N
: Node_Id
) return Node_Id
is
122 or else NT
(N
).Nkind
= N_Component_Definition
123 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
124 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
126 end Access_Definition
;
128 function Access_To_Subprogram_Definition
129 (N
: Node_Id
) return Node_Id
is
132 or else NT
(N
).Nkind
= N_Access_Definition
);
134 end Access_To_Subprogram_Definition
;
136 function Access_Types_To_Process
137 (N
: Node_Id
) return Elist_Id
is
140 or else NT
(N
).Nkind
= N_Freeze_Entity
);
142 end Access_Types_To_Process
;
145 (N
: Node_Id
) return List_Id
is
148 or else NT
(N
).Nkind
= N_And_Then
149 or else NT
(N
).Nkind
= N_Case_Expression_Alternative
150 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
151 or else NT
(N
).Nkind
= N_Expression_With_Actions
152 or else NT
(N
).Nkind
= N_Freeze_Entity
153 or else NT
(N
).Nkind
= N_Or_Else
);
157 function Activation_Chain_Entity
158 (N
: Node_Id
) return Node_Id
is
161 or else NT
(N
).Nkind
= N_Block_Statement
162 or else NT
(N
).Nkind
= N_Entry_Body
163 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
164 or else NT
(N
).Nkind
= N_Package_Declaration
165 or else NT
(N
).Nkind
= N_Subprogram_Body
166 or else NT
(N
).Nkind
= N_Task_Body
);
168 end Activation_Chain_Entity
;
170 function Acts_As_Spec
171 (N
: Node_Id
) return Boolean is
174 or else NT
(N
).Nkind
= N_Compilation_Unit
175 or else NT
(N
).Nkind
= N_Subprogram_Body
);
179 function Actual_Designated_Subtype
180 (N
: Node_Id
) return Node_Id
is
183 or else NT
(N
).Nkind
= N_Explicit_Dereference
184 or else NT
(N
).Nkind
= N_Free_Statement
);
186 end Actual_Designated_Subtype
;
188 function Address_Warning_Posted
189 (N
: Node_Id
) return Boolean is
192 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
194 end Address_Warning_Posted
;
196 function Aggregate_Bounds
197 (N
: Node_Id
) return Node_Id
is
200 or else NT
(N
).Nkind
= N_Aggregate
);
202 end Aggregate_Bounds
;
204 function Aliased_Present
205 (N
: Node_Id
) return Boolean is
208 or else NT
(N
).Nkind
= N_Component_Definition
209 or else NT
(N
).Nkind
= N_Object_Declaration
);
214 (N
: Node_Id
) return Boolean is
217 or else NT
(N
).Nkind
= N_Others_Choice
);
222 (N
: Node_Id
) return Boolean is
225 or else NT
(N
).Nkind
= N_Access_Definition
226 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
230 function Alternatives
231 (N
: Node_Id
) return List_Id
is
234 or else NT
(N
).Nkind
= N_Case_Expression
235 or else NT
(N
).Nkind
= N_Case_Statement
236 or else NT
(N
).Nkind
= N_In
237 or else NT
(N
).Nkind
= N_Not_In
);
241 function Ancestor_Part
242 (N
: Node_Id
) return Node_Id
is
245 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
249 function Array_Aggregate
250 (N
: Node_Id
) return Node_Id
is
253 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
257 function Assignment_OK
258 (N
: Node_Id
) return Boolean is
261 or else NT
(N
).Nkind
= N_Object_Declaration
262 or else NT
(N
).Nkind
in N_Subexpr
);
266 function Associated_Node
267 (N
: Node_Id
) return Node_Id
is
270 or else NT
(N
).Nkind
in N_Has_Entity
271 or else NT
(N
).Nkind
= N_Aggregate
272 or else NT
(N
).Nkind
= N_Extension_Aggregate
273 or else NT
(N
).Nkind
= N_Selected_Component
);
278 (N
: Node_Id
) return Node_Id
is
281 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
285 function Attribute_Name
286 (N
: Node_Id
) return Name_Id
is
289 or else NT
(N
).Nkind
= N_Attribute_Reference
);
293 function Aux_Decls_Node
294 (N
: Node_Id
) return Node_Id
is
297 or else NT
(N
).Nkind
= N_Compilation_Unit
);
301 function Backwards_OK
302 (N
: Node_Id
) return Boolean is
305 or else NT
(N
).Nkind
= N_Assignment_Statement
);
309 function Bad_Is_Detected
310 (N
: Node_Id
) return Boolean is
313 or else NT
(N
).Nkind
= N_Subprogram_Body
);
317 function Body_Required
318 (N
: Node_Id
) return Boolean is
321 or else NT
(N
).Nkind
= N_Compilation_Unit
);
325 function Body_To_Inline
326 (N
: Node_Id
) return Node_Id
is
329 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
334 (N
: Node_Id
) return Boolean is
337 or else NT
(N
).Nkind
= N_Component_Association
338 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
339 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
340 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
341 or else NT
(N
).Nkind
= N_Generic_Association
);
346 (N
: Node_Id
) return Boolean is
349 or else NT
(N
).Nkind
= N_Extended_Return_Statement
350 or else NT
(N
).Nkind
= N_Return_Statement
);
354 function Char_Literal_Value
355 (N
: Node_Id
) return Uint
is
358 or else NT
(N
).Nkind
= N_Character_Literal
);
360 end Char_Literal_Value
;
363 (N
: Node_Id
) return Name_Id
is
366 or else NT
(N
).Nkind
in N_Has_Chars
);
370 function Check_Address_Alignment
371 (N
: Node_Id
) return Boolean is
374 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
376 end Check_Address_Alignment
;
378 function Choice_Parameter
379 (N
: Node_Id
) return Node_Id
is
382 or else NT
(N
).Nkind
= N_Exception_Handler
);
384 end Choice_Parameter
;
387 (N
: Node_Id
) return List_Id
is
390 or else NT
(N
).Nkind
= N_Component_Association
);
394 function Coextensions
395 (N
: Node_Id
) return Elist_Id
is
398 or else NT
(N
).Nkind
= N_Allocator
);
402 function Comes_From_Extended_Return_Statement
403 (N
: Node_Id
) return Boolean is
406 or else NT
(N
).Nkind
= N_Return_Statement
);
408 end Comes_From_Extended_Return_Statement
;
410 function Compile_Time_Known_Aggregate
411 (N
: Node_Id
) return Boolean is
414 or else NT
(N
).Nkind
= N_Aggregate
);
416 end Compile_Time_Known_Aggregate
;
418 function Component_Associations
419 (N
: Node_Id
) return List_Id
is
422 or else NT
(N
).Nkind
= N_Aggregate
423 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
425 end Component_Associations
;
427 function Component_Clauses
428 (N
: Node_Id
) return List_Id
is
431 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
433 end Component_Clauses
;
435 function Component_Definition
436 (N
: Node_Id
) return Node_Id
is
439 or else NT
(N
).Nkind
= N_Component_Declaration
440 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
441 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
443 end Component_Definition
;
445 function Component_Items
446 (N
: Node_Id
) return List_Id
is
449 or else NT
(N
).Nkind
= N_Component_List
);
453 function Component_List
454 (N
: Node_Id
) return Node_Id
is
457 or else NT
(N
).Nkind
= N_Record_Definition
458 or else NT
(N
).Nkind
= N_Variant
);
462 function Component_Name
463 (N
: Node_Id
) return Node_Id
is
466 or else NT
(N
).Nkind
= N_Component_Clause
);
470 function Componentwise_Assignment
471 (N
: Node_Id
) return Boolean is
474 or else NT
(N
).Nkind
= N_Assignment_Statement
);
476 end Componentwise_Assignment
;
479 (N
: Node_Id
) return Node_Id
is
482 or else NT
(N
).Nkind
= N_Accept_Alternative
483 or else NT
(N
).Nkind
= N_Delay_Alternative
484 or else NT
(N
).Nkind
= N_Elsif_Part
485 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
486 or else NT
(N
).Nkind
= N_Exit_Statement
487 or else NT
(N
).Nkind
= N_If_Statement
488 or else NT
(N
).Nkind
= N_Iteration_Scheme
489 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
490 or else NT
(N
).Nkind
= N_Raise_Program_Error
491 or else NT
(N
).Nkind
= N_Raise_Storage_Error
492 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
496 function Condition_Actions
497 (N
: Node_Id
) return List_Id
is
500 or else NT
(N
).Nkind
= N_Elsif_Part
501 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
503 end Condition_Actions
;
505 function Config_Pragmas
506 (N
: Node_Id
) return List_Id
is
509 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
513 function Constant_Present
514 (N
: Node_Id
) return Boolean is
517 or else NT
(N
).Nkind
= N_Access_Definition
518 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
519 or else NT
(N
).Nkind
= N_Object_Declaration
);
521 end Constant_Present
;
524 (N
: Node_Id
) return Node_Id
is
527 or else NT
(N
).Nkind
= N_Subtype_Indication
);
532 (N
: Node_Id
) return List_Id
is
535 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
539 function Context_Installed
540 (N
: Node_Id
) return Boolean is
543 or else NT
(N
).Nkind
= N_With_Clause
);
545 end Context_Installed
;
547 function Context_Items
548 (N
: Node_Id
) return List_Id
is
551 or else NT
(N
).Nkind
= N_Compilation_Unit
);
555 function Context_Pending
556 (N
: Node_Id
) return Boolean is
559 or else NT
(N
).Nkind
= N_Compilation_Unit
);
563 function Controlling_Argument
564 (N
: Node_Id
) return Node_Id
is
567 or else NT
(N
).Nkind
= N_Function_Call
568 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
570 end Controlling_Argument
;
572 function Conversion_OK
573 (N
: Node_Id
) return Boolean is
576 or else NT
(N
).Nkind
= N_Type_Conversion
);
580 function Corresponding_Body
581 (N
: Node_Id
) return Node_Id
is
584 or else NT
(N
).Nkind
= N_Entry_Declaration
585 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
586 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
587 or else NT
(N
).Nkind
= N_Package_Body_Stub
588 or else NT
(N
).Nkind
= N_Package_Declaration
589 or else NT
(N
).Nkind
= N_Protected_Body_Stub
590 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
591 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
592 or else NT
(N
).Nkind
= N_Subprogram_Declaration
593 or else NT
(N
).Nkind
= N_Task_Body_Stub
594 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
596 end Corresponding_Body
;
598 function Corresponding_Formal_Spec
599 (N
: Node_Id
) return Node_Id
is
602 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
604 end Corresponding_Formal_Spec
;
606 function Corresponding_Generic_Association
607 (N
: Node_Id
) return Node_Id
is
610 or else NT
(N
).Nkind
= N_Object_Declaration
611 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
613 end Corresponding_Generic_Association
;
615 function Corresponding_Integer_Value
616 (N
: Node_Id
) return Uint
is
619 or else NT
(N
).Nkind
= N_Real_Literal
);
621 end Corresponding_Integer_Value
;
623 function Corresponding_Spec
624 (N
: Node_Id
) return Node_Id
is
627 or else NT
(N
).Nkind
= N_Package_Body
628 or else NT
(N
).Nkind
= N_Protected_Body
629 or else NT
(N
).Nkind
= N_Subprogram_Body
630 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
631 or else NT
(N
).Nkind
= N_Task_Body
632 or else NT
(N
).Nkind
= N_With_Clause
);
634 end Corresponding_Spec
;
636 function Corresponding_Stub
637 (N
: Node_Id
) return Node_Id
is
640 or else NT
(N
).Nkind
= N_Subunit
);
642 end Corresponding_Stub
;
644 function Dcheck_Function
645 (N
: Node_Id
) return Entity_Id
is
648 or else NT
(N
).Nkind
= N_Variant
);
652 function Debug_Statement
653 (N
: Node_Id
) return Node_Id
is
656 or else NT
(N
).Nkind
= N_Pragma
);
660 function Declarations
661 (N
: Node_Id
) return List_Id
is
664 or else NT
(N
).Nkind
= N_Accept_Statement
665 or else NT
(N
).Nkind
= N_Block_Statement
666 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
667 or else NT
(N
).Nkind
= N_Entry_Body
668 or else NT
(N
).Nkind
= N_Package_Body
669 or else NT
(N
).Nkind
= N_Protected_Body
670 or else NT
(N
).Nkind
= N_Subprogram_Body
671 or else NT
(N
).Nkind
= N_Task_Body
);
675 function Default_Expression
676 (N
: Node_Id
) return Node_Id
is
679 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
680 or else NT
(N
).Nkind
= N_Parameter_Specification
);
682 end Default_Expression
;
684 function Default_Name
685 (N
: Node_Id
) return Node_Id
is
688 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
689 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
);
693 function Defining_Identifier
694 (N
: Node_Id
) return Entity_Id
is
697 or else NT
(N
).Nkind
= N_Component_Declaration
698 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
699 or else NT
(N
).Nkind
= N_Discriminant_Specification
700 or else NT
(N
).Nkind
= N_Entry_Body
701 or else NT
(N
).Nkind
= N_Entry_Declaration
702 or else NT
(N
).Nkind
= N_Entry_Index_Specification
703 or else NT
(N
).Nkind
= N_Exception_Declaration
704 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
705 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
706 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
707 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
708 or else NT
(N
).Nkind
= N_Full_Type_Declaration
709 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
710 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
711 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
712 or else NT
(N
).Nkind
= N_Number_Declaration
713 or else NT
(N
).Nkind
= N_Object_Declaration
714 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
715 or else NT
(N
).Nkind
= N_Package_Body_Stub
716 or else NT
(N
).Nkind
= N_Parameter_Specification
717 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
718 or else NT
(N
).Nkind
= N_Private_Type_Declaration
719 or else NT
(N
).Nkind
= N_Protected_Body
720 or else NT
(N
).Nkind
= N_Protected_Body_Stub
721 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
722 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
723 or else NT
(N
).Nkind
= N_Single_Task_Declaration
724 or else NT
(N
).Nkind
= N_Subtype_Declaration
725 or else NT
(N
).Nkind
= N_Task_Body
726 or else NT
(N
).Nkind
= N_Task_Body_Stub
727 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
729 end Defining_Identifier
;
731 function Defining_Unit_Name
732 (N
: Node_Id
) return Node_Id
is
735 or else NT
(N
).Nkind
= N_Function_Instantiation
736 or else NT
(N
).Nkind
= N_Function_Specification
737 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
738 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
739 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
740 or else NT
(N
).Nkind
= N_Package_Body
741 or else NT
(N
).Nkind
= N_Package_Instantiation
742 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
743 or else NT
(N
).Nkind
= N_Package_Specification
744 or else NT
(N
).Nkind
= N_Procedure_Instantiation
745 or else NT
(N
).Nkind
= N_Procedure_Specification
);
747 end Defining_Unit_Name
;
749 function Delay_Alternative
750 (N
: Node_Id
) return Node_Id
is
753 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
755 end Delay_Alternative
;
757 function Delay_Statement
758 (N
: Node_Id
) return Node_Id
is
761 or else NT
(N
).Nkind
= N_Delay_Alternative
);
765 function Delta_Expression
766 (N
: Node_Id
) return Node_Id
is
769 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
770 or else NT
(N
).Nkind
= N_Delta_Constraint
771 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
773 end Delta_Expression
;
775 function Digits_Expression
776 (N
: Node_Id
) return Node_Id
is
779 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
780 or else NT
(N
).Nkind
= N_Digits_Constraint
781 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
783 end Digits_Expression
;
785 function Discr_Check_Funcs_Built
786 (N
: Node_Id
) return Boolean is
789 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
791 end Discr_Check_Funcs_Built
;
793 function Discrete_Choices
794 (N
: Node_Id
) return List_Id
is
797 or else NT
(N
).Nkind
= N_Case_Expression_Alternative
798 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
799 or else NT
(N
).Nkind
= N_Variant
);
801 end Discrete_Choices
;
803 function Discrete_Range
804 (N
: Node_Id
) return Node_Id
is
807 or else NT
(N
).Nkind
= N_Slice
);
811 function Discrete_Subtype_Definition
812 (N
: Node_Id
) return Node_Id
is
815 or else NT
(N
).Nkind
= N_Entry_Declaration
816 or else NT
(N
).Nkind
= N_Entry_Index_Specification
817 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
819 end Discrete_Subtype_Definition
;
821 function Discrete_Subtype_Definitions
822 (N
: Node_Id
) return List_Id
is
825 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
827 end Discrete_Subtype_Definitions
;
829 function Discriminant_Specifications
830 (N
: Node_Id
) return List_Id
is
833 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
834 or else NT
(N
).Nkind
= N_Full_Type_Declaration
835 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
836 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
837 or else NT
(N
).Nkind
= N_Private_Type_Declaration
838 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
839 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
841 end Discriminant_Specifications
;
843 function Discriminant_Type
844 (N
: Node_Id
) return Node_Id
is
847 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
849 end Discriminant_Type
;
851 function Do_Accessibility_Check
852 (N
: Node_Id
) return Boolean is
855 or else NT
(N
).Nkind
= N_Parameter_Specification
);
857 end Do_Accessibility_Check
;
859 function Do_Discriminant_Check
860 (N
: Node_Id
) return Boolean is
863 or else NT
(N
).Nkind
= N_Selected_Component
);
865 end Do_Discriminant_Check
;
867 function Do_Division_Check
868 (N
: Node_Id
) return Boolean is
871 or else NT
(N
).Nkind
= N_Op_Divide
872 or else NT
(N
).Nkind
= N_Op_Mod
873 or else NT
(N
).Nkind
= N_Op_Rem
);
875 end Do_Division_Check
;
877 function Do_Length_Check
878 (N
: Node_Id
) return Boolean is
881 or else NT
(N
).Nkind
= N_Assignment_Statement
882 or else NT
(N
).Nkind
= N_Op_And
883 or else NT
(N
).Nkind
= N_Op_Or
884 or else NT
(N
).Nkind
= N_Op_Xor
885 or else NT
(N
).Nkind
= N_Type_Conversion
);
889 function Do_Overflow_Check
890 (N
: Node_Id
) return Boolean is
893 or else NT
(N
).Nkind
in N_Op
894 or else NT
(N
).Nkind
= N_Attribute_Reference
895 or else NT
(N
).Nkind
= N_Type_Conversion
);
897 end Do_Overflow_Check
;
899 function Do_Range_Check
900 (N
: Node_Id
) return Boolean is
903 or else NT
(N
).Nkind
in N_Subexpr
);
907 function Do_Storage_Check
908 (N
: Node_Id
) return Boolean is
911 or else NT
(N
).Nkind
= N_Allocator
912 or else NT
(N
).Nkind
= N_Subprogram_Body
);
914 end Do_Storage_Check
;
916 function Do_Tag_Check
917 (N
: Node_Id
) return Boolean is
920 or else NT
(N
).Nkind
= N_Assignment_Statement
921 or else NT
(N
).Nkind
= N_Extended_Return_Statement
922 or else NT
(N
).Nkind
= N_Function_Call
923 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
924 or else NT
(N
).Nkind
= N_Return_Statement
925 or else NT
(N
).Nkind
= N_Type_Conversion
);
929 function Elaborate_All_Desirable
930 (N
: Node_Id
) return Boolean is
933 or else NT
(N
).Nkind
= N_With_Clause
);
935 end Elaborate_All_Desirable
;
937 function Elaborate_All_Present
938 (N
: Node_Id
) return Boolean is
941 or else NT
(N
).Nkind
= N_With_Clause
);
943 end Elaborate_All_Present
;
945 function Elaborate_Desirable
946 (N
: Node_Id
) return Boolean is
949 or else NT
(N
).Nkind
= N_With_Clause
);
951 end Elaborate_Desirable
;
953 function Elaborate_Present
954 (N
: Node_Id
) return Boolean is
957 or else NT
(N
).Nkind
= N_With_Clause
);
959 end Elaborate_Present
;
961 function Elaboration_Boolean
962 (N
: Node_Id
) return Node_Id
is
965 or else NT
(N
).Nkind
= N_Function_Specification
966 or else NT
(N
).Nkind
= N_Procedure_Specification
);
968 end Elaboration_Boolean
;
970 function Else_Actions
971 (N
: Node_Id
) return List_Id
is
974 or else NT
(N
).Nkind
= N_Conditional_Expression
);
978 function Else_Statements
979 (N
: Node_Id
) return List_Id
is
982 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
983 or else NT
(N
).Nkind
= N_If_Statement
984 or else NT
(N
).Nkind
= N_Selective_Accept
);
989 (N
: Node_Id
) return List_Id
is
992 or else NT
(N
).Nkind
= N_If_Statement
);
996 function Enclosing_Variant
997 (N
: Node_Id
) return Node_Id
is
1000 or else NT
(N
).Nkind
= N_Variant
);
1002 end Enclosing_Variant
;
1005 (N
: Node_Id
) return Node_Id
is
1007 pragma Assert
(False
1008 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
1009 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
1010 or else NT
(N
).Nkind
= N_Loop_Statement
1011 or else NT
(N
).Nkind
= N_Package_Specification
1012 or else NT
(N
).Nkind
= N_Protected_Body
1013 or else NT
(N
).Nkind
= N_Protected_Definition
1014 or else NT
(N
).Nkind
= N_Record_Definition
1015 or else NT
(N
).Nkind
= N_Task_Definition
);
1020 (N
: Node_Id
) return Uint
is
1022 pragma Assert
(False
1023 or else NT
(N
).Nkind
= N_Case_Statement
1024 or else NT
(N
).Nkind
= N_If_Statement
);
1029 (N
: Node_Id
) return Node_Id
is
1031 pragma Assert
(False
1032 or else NT
(N
).Nkind
in N_Has_Entity
1033 or else NT
(N
).Nkind
= N_Freeze_Entity
1034 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1038 function Entity_Or_Associated_Node
1039 (N
: Node_Id
) return Node_Id
is
1041 pragma Assert
(False
1042 or else NT
(N
).Nkind
in N_Has_Entity
1043 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1045 end Entity_Or_Associated_Node
;
1047 function Entry_Body_Formal_Part
1048 (N
: Node_Id
) return Node_Id
is
1050 pragma Assert
(False
1051 or else NT
(N
).Nkind
= N_Entry_Body
);
1053 end Entry_Body_Formal_Part
;
1055 function Entry_Call_Alternative
1056 (N
: Node_Id
) return Node_Id
is
1058 pragma Assert
(False
1059 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
1060 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
1062 end Entry_Call_Alternative
;
1064 function Entry_Call_Statement
1065 (N
: Node_Id
) return Node_Id
is
1067 pragma Assert
(False
1068 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
1070 end Entry_Call_Statement
;
1072 function Entry_Direct_Name
1073 (N
: Node_Id
) return Node_Id
is
1075 pragma Assert
(False
1076 or else NT
(N
).Nkind
= N_Accept_Statement
);
1078 end Entry_Direct_Name
;
1080 function Entry_Index
1081 (N
: Node_Id
) return Node_Id
is
1083 pragma Assert
(False
1084 or else NT
(N
).Nkind
= N_Accept_Statement
);
1088 function Entry_Index_Specification
1089 (N
: Node_Id
) return Node_Id
is
1091 pragma Assert
(False
1092 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
1094 end Entry_Index_Specification
;
1097 (N
: Node_Id
) return Node_Id
is
1099 pragma Assert
(False
1100 or else NT
(N
).Nkind
in N_Has_Etype
);
1104 function Exception_Choices
1105 (N
: Node_Id
) return List_Id
is
1107 pragma Assert
(False
1108 or else NT
(N
).Nkind
= N_Exception_Handler
);
1110 end Exception_Choices
;
1112 function Exception_Handlers
1113 (N
: Node_Id
) return List_Id
is
1115 pragma Assert
(False
1116 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1118 end Exception_Handlers
;
1120 function Exception_Junk
1121 (N
: Node_Id
) return Boolean is
1123 pragma Assert
(False
1124 or else NT
(N
).Nkind
= N_Block_Statement
1125 or else NT
(N
).Nkind
= N_Goto_Statement
1126 or else NT
(N
).Nkind
= N_Label
1127 or else NT
(N
).Nkind
= N_Object_Declaration
1128 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1132 function Exception_Label
1133 (N
: Node_Id
) return Node_Id
is
1135 pragma Assert
(False
1136 or else NT
(N
).Nkind
= N_Exception_Handler
1137 or else NT
(N
).Nkind
= N_Push_Constraint_Error_Label
1138 or else NT
(N
).Nkind
= N_Push_Program_Error_Label
1139 or else NT
(N
).Nkind
= N_Push_Storage_Error_Label
);
1141 end Exception_Label
;
1143 function Expansion_Delayed
1144 (N
: Node_Id
) return Boolean is
1146 pragma Assert
(False
1147 or else NT
(N
).Nkind
= N_Aggregate
1148 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1150 end Expansion_Delayed
;
1152 function Explicit_Actual_Parameter
1153 (N
: Node_Id
) return Node_Id
is
1155 pragma Assert
(False
1156 or else NT
(N
).Nkind
= N_Parameter_Association
);
1158 end Explicit_Actual_Parameter
;
1160 function Explicit_Generic_Actual_Parameter
1161 (N
: Node_Id
) return Node_Id
is
1163 pragma Assert
(False
1164 or else NT
(N
).Nkind
= N_Generic_Association
);
1166 end Explicit_Generic_Actual_Parameter
;
1169 (N
: Node_Id
) return Node_Id
is
1171 pragma Assert
(False
1172 or else NT
(N
).Nkind
= N_Allocator
1173 or else NT
(N
).Nkind
= N_Assignment_Statement
1174 or else NT
(N
).Nkind
= N_At_Clause
1175 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1176 or else NT
(N
).Nkind
= N_Case_Expression
1177 or else NT
(N
).Nkind
= N_Case_Expression_Alternative
1178 or else NT
(N
).Nkind
= N_Case_Statement
1179 or else NT
(N
).Nkind
= N_Code_Statement
1180 or else NT
(N
).Nkind
= N_Component_Association
1181 or else NT
(N
).Nkind
= N_Component_Declaration
1182 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
1183 or else NT
(N
).Nkind
= N_Delay_Until_Statement
1184 or else NT
(N
).Nkind
= N_Discriminant_Association
1185 or else NT
(N
).Nkind
= N_Discriminant_Specification
1186 or else NT
(N
).Nkind
= N_Exception_Declaration
1187 or else NT
(N
).Nkind
= N_Expression_With_Actions
1188 or else NT
(N
).Nkind
= N_Free_Statement
1189 or else NT
(N
).Nkind
= N_Mod_Clause
1190 or else NT
(N
).Nkind
= N_Modular_Type_Definition
1191 or else NT
(N
).Nkind
= N_Number_Declaration
1192 or else NT
(N
).Nkind
= N_Object_Declaration
1193 or else NT
(N
).Nkind
= N_Parameter_Specification
1194 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
1195 or else NT
(N
).Nkind
= N_Qualified_Expression
1196 or else NT
(N
).Nkind
= N_Raise_Statement
1197 or else NT
(N
).Nkind
= N_Return_Statement
1198 or else NT
(N
).Nkind
= N_Type_Conversion
1199 or else NT
(N
).Nkind
= N_Unchecked_Expression
1200 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1204 function Expressions
1205 (N
: Node_Id
) return List_Id
is
1207 pragma Assert
(False
1208 or else NT
(N
).Nkind
= N_Aggregate
1209 or else NT
(N
).Nkind
= N_Attribute_Reference
1210 or else NT
(N
).Nkind
= N_Conditional_Expression
1211 or else NT
(N
).Nkind
= N_Extension_Aggregate
1212 or else NT
(N
).Nkind
= N_Indexed_Component
);
1217 (N
: Node_Id
) return Node_Id
is
1219 pragma Assert
(False
1220 or else NT
(N
).Nkind
= N_Component_Clause
);
1224 function First_Inlined_Subprogram
1225 (N
: Node_Id
) return Entity_Id
is
1227 pragma Assert
(False
1228 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1230 end First_Inlined_Subprogram
;
1233 (N
: Node_Id
) return Boolean is
1235 pragma Assert
(False
1236 or else NT
(N
).Nkind
= N_With_Clause
);
1240 function First_Named_Actual
1241 (N
: Node_Id
) return Node_Id
is
1243 pragma Assert
(False
1244 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1245 or else NT
(N
).Nkind
= N_Function_Call
1246 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1248 end First_Named_Actual
;
1250 function First_Real_Statement
1251 (N
: Node_Id
) return Node_Id
is
1253 pragma Assert
(False
1254 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1256 end First_Real_Statement
;
1258 function First_Subtype_Link
1259 (N
: Node_Id
) return Entity_Id
is
1261 pragma Assert
(False
1262 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1264 end First_Subtype_Link
;
1266 function Float_Truncate
1267 (N
: Node_Id
) return Boolean is
1269 pragma Assert
(False
1270 or else NT
(N
).Nkind
= N_Type_Conversion
);
1274 function Formal_Type_Definition
1275 (N
: Node_Id
) return Node_Id
is
1277 pragma Assert
(False
1278 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
1280 end Formal_Type_Definition
;
1282 function Forwards_OK
1283 (N
: Node_Id
) return Boolean is
1285 pragma Assert
(False
1286 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1290 function From_At_End
1291 (N
: Node_Id
) return Boolean is
1293 pragma Assert
(False
1294 or else NT
(N
).Nkind
= N_Raise_Statement
);
1298 function From_At_Mod
1299 (N
: Node_Id
) return Boolean is
1301 pragma Assert
(False
1302 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1306 function From_Default
1307 (N
: Node_Id
) return Boolean is
1309 pragma Assert
(False
1310 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
1314 function Generic_Associations
1315 (N
: Node_Id
) return List_Id
is
1317 pragma Assert
(False
1318 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1319 or else NT
(N
).Nkind
= N_Function_Instantiation
1320 or else NT
(N
).Nkind
= N_Package_Instantiation
1321 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1323 end Generic_Associations
;
1325 function Generic_Formal_Declarations
1326 (N
: Node_Id
) return List_Id
is
1328 pragma Assert
(False
1329 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1330 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
1332 end Generic_Formal_Declarations
;
1334 function Generic_Parent
1335 (N
: Node_Id
) return Node_Id
is
1337 pragma Assert
(False
1338 or else NT
(N
).Nkind
= N_Function_Specification
1339 or else NT
(N
).Nkind
= N_Package_Specification
1340 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1344 function Generic_Parent_Type
1345 (N
: Node_Id
) return Node_Id
is
1347 pragma Assert
(False
1348 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1350 end Generic_Parent_Type
;
1352 function Handled_Statement_Sequence
1353 (N
: Node_Id
) return Node_Id
is
1355 pragma Assert
(False
1356 or else NT
(N
).Nkind
= N_Accept_Statement
1357 or else NT
(N
).Nkind
= N_Block_Statement
1358 or else NT
(N
).Nkind
= N_Entry_Body
1359 or else NT
(N
).Nkind
= N_Extended_Return_Statement
1360 or else NT
(N
).Nkind
= N_Package_Body
1361 or else NT
(N
).Nkind
= N_Subprogram_Body
1362 or else NT
(N
).Nkind
= N_Task_Body
);
1364 end Handled_Statement_Sequence
;
1366 function Handler_List_Entry
1367 (N
: Node_Id
) return Node_Id
is
1369 pragma Assert
(False
1370 or else NT
(N
).Nkind
= N_Object_Declaration
);
1372 end Handler_List_Entry
;
1374 function Has_Created_Identifier
1375 (N
: Node_Id
) return Boolean is
1377 pragma Assert
(False
1378 or else NT
(N
).Nkind
= N_Block_Statement
1379 or else NT
(N
).Nkind
= N_Loop_Statement
);
1381 end Has_Created_Identifier
;
1383 function Has_Dynamic_Length_Check
1384 (N
: Node_Id
) return Boolean is
1387 end Has_Dynamic_Length_Check
;
1389 function Has_Dynamic_Range_Check
1390 (N
: Node_Id
) return Boolean is
1393 end Has_Dynamic_Range_Check
;
1395 function Has_Init_Expression
1396 (N
: Node_Id
) return Boolean is
1398 pragma Assert
(False
1399 or else NT
(N
).Nkind
= N_Object_Declaration
);
1401 end Has_Init_Expression
;
1403 function Has_Local_Raise
1404 (N
: Node_Id
) return Boolean is
1406 pragma Assert
(False
1407 or else NT
(N
).Nkind
= N_Exception_Handler
);
1409 end Has_Local_Raise
;
1411 function Has_No_Elaboration_Code
1412 (N
: Node_Id
) return Boolean is
1414 pragma Assert
(False
1415 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1417 end Has_No_Elaboration_Code
;
1419 function Has_Priority_Pragma
1420 (N
: Node_Id
) return Boolean is
1422 pragma Assert
(False
1423 or else NT
(N
).Nkind
= N_Protected_Definition
1424 or else NT
(N
).Nkind
= N_Subprogram_Body
1425 or else NT
(N
).Nkind
= N_Task_Definition
);
1427 end Has_Priority_Pragma
;
1429 function Has_Private_View
1430 (N
: Node_Id
) return Boolean is
1432 pragma Assert
(False
1433 or else NT
(N
).Nkind
in N_Op
1434 or else NT
(N
).Nkind
= N_Character_Literal
1435 or else NT
(N
).Nkind
= N_Expanded_Name
1436 or else NT
(N
).Nkind
= N_Identifier
1437 or else NT
(N
).Nkind
= N_Operator_Symbol
);
1439 end Has_Private_View
;
1441 function Has_Relative_Deadline_Pragma
1442 (N
: Node_Id
) return Boolean is
1444 pragma Assert
(False
1445 or else NT
(N
).Nkind
= N_Subprogram_Body
1446 or else NT
(N
).Nkind
= N_Task_Definition
);
1448 end Has_Relative_Deadline_Pragma
;
1450 function Has_Self_Reference
1451 (N
: Node_Id
) return Boolean is
1453 pragma Assert
(False
1454 or else NT
(N
).Nkind
= N_Aggregate
1455 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1457 end Has_Self_Reference
;
1459 function Has_Storage_Size_Pragma
1460 (N
: Node_Id
) return Boolean is
1462 pragma Assert
(False
1463 or else NT
(N
).Nkind
= N_Task_Definition
);
1465 end Has_Storage_Size_Pragma
;
1467 function Has_Task_Info_Pragma
1468 (N
: Node_Id
) return Boolean is
1470 pragma Assert
(False
1471 or else NT
(N
).Nkind
= N_Task_Definition
);
1473 end Has_Task_Info_Pragma
;
1475 function Has_Task_Name_Pragma
1476 (N
: Node_Id
) return Boolean is
1478 pragma Assert
(False
1479 or else NT
(N
).Nkind
= N_Task_Definition
);
1481 end Has_Task_Name_Pragma
;
1483 function Has_Wide_Character
1484 (N
: Node_Id
) return Boolean is
1486 pragma Assert
(False
1487 or else NT
(N
).Nkind
= N_String_Literal
);
1489 end Has_Wide_Character
;
1491 function Has_Wide_Wide_Character
1492 (N
: Node_Id
) return Boolean is
1494 pragma Assert
(False
1495 or else NT
(N
).Nkind
= N_String_Literal
);
1497 end Has_Wide_Wide_Character
;
1499 function Hidden_By_Use_Clause
1500 (N
: Node_Id
) return Elist_Id
is
1502 pragma Assert
(False
1503 or else NT
(N
).Nkind
= N_Use_Package_Clause
1504 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1506 end Hidden_By_Use_Clause
;
1509 (N
: Node_Id
) return Node_Id
is
1511 pragma Assert
(False
1512 or else NT
(N
).Nkind
= N_Range
1513 or else NT
(N
).Nkind
= N_Real_Range_Specification
1514 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1519 (N
: Node_Id
) return Node_Id
is
1521 pragma Assert
(False
1522 or else NT
(N
).Nkind
= N_At_Clause
1523 or else NT
(N
).Nkind
= N_Block_Statement
1524 or else NT
(N
).Nkind
= N_Designator
1525 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1526 or else NT
(N
).Nkind
= N_Label
1527 or else NT
(N
).Nkind
= N_Loop_Statement
1528 or else NT
(N
).Nkind
= N_Record_Representation_Clause
1529 or else NT
(N
).Nkind
= N_Subprogram_Info
);
1533 function Implicit_With
1534 (N
: Node_Id
) return Boolean is
1536 pragma Assert
(False
1537 or else NT
(N
).Nkind
= N_With_Clause
);
1541 function Interface_List
1542 (N
: Node_Id
) return List_Id
is
1544 pragma Assert
(False
1545 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1546 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
1547 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
1548 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
1549 or else NT
(N
).Nkind
= N_Record_Definition
1550 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
1551 or else NT
(N
).Nkind
= N_Single_Task_Declaration
1552 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
1556 function Interface_Present
1557 (N
: Node_Id
) return Boolean is
1559 pragma Assert
(False
1560 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1561 or else NT
(N
).Nkind
= N_Record_Definition
);
1563 end Interface_Present
;
1565 function Import_Interface_Present
1566 (N
: Node_Id
) return Boolean is
1568 pragma Assert
(False
1569 or else NT
(N
).Nkind
= N_Pragma
);
1571 end Import_Interface_Present
;
1574 (N
: Node_Id
) return Boolean is
1576 pragma Assert
(False
1577 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1578 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1582 function Includes_Infinities
1583 (N
: Node_Id
) return Boolean is
1585 pragma Assert
(False
1586 or else NT
(N
).Nkind
= N_Range
);
1588 end Includes_Infinities
;
1590 function Inherited_Discriminant
1591 (N
: Node_Id
) return Boolean is
1593 pragma Assert
(False
1594 or else NT
(N
).Nkind
= N_Component_Association
);
1596 end Inherited_Discriminant
;
1598 function Instance_Spec
1599 (N
: Node_Id
) return Node_Id
is
1601 pragma Assert
(False
1602 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1603 or else NT
(N
).Nkind
= N_Function_Instantiation
1604 or else NT
(N
).Nkind
= N_Package_Instantiation
1605 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1610 (N
: Node_Id
) return Uint
is
1612 pragma Assert
(False
1613 or else NT
(N
).Nkind
= N_Integer_Literal
);
1617 function Is_Accessibility_Actual
1618 (N
: Node_Id
) return Boolean is
1620 pragma Assert
(False
1621 or else NT
(N
).Nkind
= N_Parameter_Association
);
1623 end Is_Accessibility_Actual
;
1625 function Is_Asynchronous_Call_Block
1626 (N
: Node_Id
) return Boolean is
1628 pragma Assert
(False
1629 or else NT
(N
).Nkind
= N_Block_Statement
);
1631 end Is_Asynchronous_Call_Block
;
1633 function Is_Component_Left_Opnd
1634 (N
: Node_Id
) return Boolean is
1636 pragma Assert
(False
1637 or else NT
(N
).Nkind
= N_Op_Concat
);
1639 end Is_Component_Left_Opnd
;
1641 function Is_Component_Right_Opnd
1642 (N
: Node_Id
) return Boolean is
1644 pragma Assert
(False
1645 or else NT
(N
).Nkind
= N_Op_Concat
);
1647 end Is_Component_Right_Opnd
;
1649 function Is_Controlling_Actual
1650 (N
: Node_Id
) return Boolean is
1652 pragma Assert
(False
1653 or else NT
(N
).Nkind
in N_Subexpr
);
1655 end Is_Controlling_Actual
;
1657 function Is_Dynamic_Coextension
1658 (N
: Node_Id
) return Boolean is
1660 pragma Assert
(False
1661 or else NT
(N
).Nkind
= N_Allocator
);
1663 end Is_Dynamic_Coextension
;
1666 (N
: Node_Id
) return Boolean is
1668 pragma Assert
(False
1669 or else NT
(N
).Nkind
= N_Conditional_Expression
);
1673 function Is_Entry_Barrier_Function
1674 (N
: Node_Id
) return Boolean is
1676 pragma Assert
(False
1677 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1679 end Is_Entry_Barrier_Function
;
1681 function Is_Expanded_Build_In_Place_Call
1682 (N
: Node_Id
) return Boolean is
1684 pragma Assert
(False
1685 or else NT
(N
).Nkind
= N_Function_Call
);
1687 end Is_Expanded_Build_In_Place_Call
;
1689 function Is_Folded_In_Parser
1690 (N
: Node_Id
) return Boolean is
1692 pragma Assert
(False
1693 or else NT
(N
).Nkind
= N_String_Literal
);
1695 end Is_Folded_In_Parser
;
1697 function Is_In_Discriminant_Check
1698 (N
: Node_Id
) return Boolean is
1700 pragma Assert
(False
1701 or else NT
(N
).Nkind
= N_Selected_Component
);
1703 end Is_In_Discriminant_Check
;
1705 function Is_Machine_Number
1706 (N
: Node_Id
) return Boolean is
1708 pragma Assert
(False
1709 or else NT
(N
).Nkind
= N_Real_Literal
);
1711 end Is_Machine_Number
;
1713 function Is_Null_Loop
1714 (N
: Node_Id
) return Boolean is
1716 pragma Assert
(False
1717 or else NT
(N
).Nkind
= N_Loop_Statement
);
1721 function Is_Overloaded
1722 (N
: Node_Id
) return Boolean is
1724 pragma Assert
(False
1725 or else NT
(N
).Nkind
in N_Subexpr
);
1729 function Is_Power_Of_2_For_Shift
1730 (N
: Node_Id
) return Boolean is
1732 pragma Assert
(False
1733 or else NT
(N
).Nkind
= N_Op_Expon
);
1735 end Is_Power_Of_2_For_Shift
;
1737 function Is_Protected_Subprogram_Body
1738 (N
: Node_Id
) return Boolean is
1740 pragma Assert
(False
1741 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1743 end Is_Protected_Subprogram_Body
;
1745 function Is_Static_Coextension
1746 (N
: Node_Id
) return Boolean is
1748 pragma Assert
(False
1749 or else NT
(N
).Nkind
= N_Allocator
);
1751 end Is_Static_Coextension
;
1753 function Is_Static_Expression
1754 (N
: Node_Id
) return Boolean is
1756 pragma Assert
(False
1757 or else NT
(N
).Nkind
in N_Subexpr
);
1759 end Is_Static_Expression
;
1761 function Is_Subprogram_Descriptor
1762 (N
: Node_Id
) return Boolean is
1764 pragma Assert
(False
1765 or else NT
(N
).Nkind
= N_Object_Declaration
);
1767 end Is_Subprogram_Descriptor
;
1769 function Is_Task_Allocation_Block
1770 (N
: Node_Id
) return Boolean is
1772 pragma Assert
(False
1773 or else NT
(N
).Nkind
= N_Block_Statement
);
1775 end Is_Task_Allocation_Block
;
1777 function Is_Task_Master
1778 (N
: Node_Id
) return Boolean is
1780 pragma Assert
(False
1781 or else NT
(N
).Nkind
= N_Block_Statement
1782 or else NT
(N
).Nkind
= N_Subprogram_Body
1783 or else NT
(N
).Nkind
= N_Task_Body
);
1787 function Iteration_Scheme
1788 (N
: Node_Id
) return Node_Id
is
1790 pragma Assert
(False
1791 or else NT
(N
).Nkind
= N_Loop_Statement
);
1793 end Iteration_Scheme
;
1796 (N
: Node_Id
) return Node_Id
is
1798 pragma Assert
(False
1799 or else NT
(N
).Nkind
= N_Itype_Reference
);
1803 function Kill_Range_Check
1804 (N
: Node_Id
) return Boolean is
1806 pragma Assert
(False
1807 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1809 end Kill_Range_Check
;
1811 function Label_Construct
1812 (N
: Node_Id
) return Node_Id
is
1814 pragma Assert
(False
1815 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
1817 end Label_Construct
;
1820 (N
: Node_Id
) return Node_Id
is
1822 pragma Assert
(False
1823 or else NT
(N
).Nkind
= N_Component_Clause
);
1828 (N
: Node_Id
) return Boolean is
1830 pragma Assert
(False
1831 or else NT
(N
).Nkind
= N_With_Clause
);
1836 (N
: Node_Id
) return Node_Id
is
1838 pragma Assert
(False
1839 or else NT
(N
).Nkind
= N_And_Then
1840 or else NT
(N
).Nkind
= N_In
1841 or else NT
(N
).Nkind
= N_Not_In
1842 or else NT
(N
).Nkind
= N_Or_Else
1843 or else NT
(N
).Nkind
in N_Binary_Op
);
1847 function Library_Unit
1848 (N
: Node_Id
) return Node_Id
is
1850 pragma Assert
(False
1851 or else NT
(N
).Nkind
= N_Compilation_Unit
1852 or else NT
(N
).Nkind
= N_Package_Body_Stub
1853 or else NT
(N
).Nkind
= N_Protected_Body_Stub
1854 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
1855 or else NT
(N
).Nkind
= N_Task_Body_Stub
1856 or else NT
(N
).Nkind
= N_With_Clause
);
1860 function Limited_View_Installed
1861 (N
: Node_Id
) return Boolean is
1863 pragma Assert
(False
1864 or else NT
(N
).Nkind
= N_Package_Specification
1865 or else NT
(N
).Nkind
= N_With_Clause
);
1867 end Limited_View_Installed
;
1869 function Limited_Present
1870 (N
: Node_Id
) return Boolean is
1872 pragma Assert
(False
1873 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1874 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
1875 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
1876 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
1877 or else NT
(N
).Nkind
= N_Private_Type_Declaration
1878 or else NT
(N
).Nkind
= N_Record_Definition
1879 or else NT
(N
).Nkind
= N_With_Clause
);
1881 end Limited_Present
;
1884 (N
: Node_Id
) return List_Id
is
1886 pragma Assert
(False
1887 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
1891 function Local_Raise_Not_OK
1892 (N
: Node_Id
) return Boolean is
1894 pragma Assert
(False
1895 or else NT
(N
).Nkind
= N_Exception_Handler
);
1897 end Local_Raise_Not_OK
;
1899 function Local_Raise_Statements
1900 (N
: Node_Id
) return Elist_Id
is
1902 pragma Assert
(False
1903 or else NT
(N
).Nkind
= N_Exception_Handler
);
1905 end Local_Raise_Statements
;
1907 function Loop_Actions
1908 (N
: Node_Id
) return List_Id
is
1910 pragma Assert
(False
1911 or else NT
(N
).Nkind
= N_Component_Association
);
1915 function Loop_Parameter_Specification
1916 (N
: Node_Id
) return Node_Id
is
1918 pragma Assert
(False
1919 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
1921 end Loop_Parameter_Specification
;
1924 (N
: Node_Id
) return Node_Id
is
1926 pragma Assert
(False
1927 or else NT
(N
).Nkind
= N_Range
1928 or else NT
(N
).Nkind
= N_Real_Range_Specification
1929 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1934 (N
: Node_Id
) return Node_Id
is
1936 pragma Assert
(False
1937 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1942 (N
: Node_Id
) return Boolean is
1944 pragma Assert
(False
1945 or else NT
(N
).Nkind
= N_Component_Declaration
1946 or else NT
(N
).Nkind
= N_Discriminant_Specification
1947 or else NT
(N
).Nkind
= N_Exception_Declaration
1948 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1949 or else NT
(N
).Nkind
= N_Number_Declaration
1950 or else NT
(N
).Nkind
= N_Object_Declaration
1951 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1955 function Must_Be_Byte_Aligned
1956 (N
: Node_Id
) return Boolean is
1958 pragma Assert
(False
1959 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1961 end Must_Be_Byte_Aligned
;
1963 function Must_Not_Freeze
1964 (N
: Node_Id
) return Boolean is
1966 pragma Assert
(False
1967 or else NT
(N
).Nkind
= N_Subtype_Indication
1968 or else NT
(N
).Nkind
in N_Subexpr
);
1970 end Must_Not_Freeze
;
1972 function Must_Not_Override
1973 (N
: Node_Id
) return Boolean is
1975 pragma Assert
(False
1976 or else NT
(N
).Nkind
= N_Entry_Declaration
1977 or else NT
(N
).Nkind
= N_Function_Instantiation
1978 or else NT
(N
).Nkind
= N_Function_Specification
1979 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1980 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1982 end Must_Not_Override
;
1984 function Must_Override
1985 (N
: Node_Id
) return Boolean is
1987 pragma Assert
(False
1988 or else NT
(N
).Nkind
= N_Entry_Declaration
1989 or else NT
(N
).Nkind
= N_Function_Instantiation
1990 or else NT
(N
).Nkind
= N_Function_Specification
1991 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1992 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1997 (N
: Node_Id
) return Node_Id
is
1999 pragma Assert
(False
2000 or else NT
(N
).Nkind
= N_Assignment_Statement
2001 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
2002 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
2003 or else NT
(N
).Nkind
= N_Designator
2004 or else NT
(N
).Nkind
= N_Entry_Call_Statement
2005 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
2006 or else NT
(N
).Nkind
= N_Exit_Statement
2007 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2008 or else NT
(N
).Nkind
= N_Function_Call
2009 or else NT
(N
).Nkind
= N_Function_Instantiation
2010 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
2011 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
2012 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
2013 or else NT
(N
).Nkind
= N_Goto_Statement
2014 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2015 or else NT
(N
).Nkind
= N_Package_Instantiation
2016 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
2017 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
2018 or else NT
(N
).Nkind
= N_Procedure_Instantiation
2019 or else NT
(N
).Nkind
= N_Raise_Statement
2020 or else NT
(N
).Nkind
= N_Requeue_Statement
2021 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
2022 or else NT
(N
).Nkind
= N_Subunit
2023 or else NT
(N
).Nkind
= N_Variant_Part
2024 or else NT
(N
).Nkind
= N_With_Clause
);
2029 (N
: Node_Id
) return List_Id
is
2031 pragma Assert
(False
2032 or else NT
(N
).Nkind
= N_Abort_Statement
2033 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
2037 function Next_Entity
2038 (N
: Node_Id
) return Node_Id
is
2040 pragma Assert
(False
2041 or else NT
(N
).Nkind
= N_Defining_Character_Literal
2042 or else NT
(N
).Nkind
= N_Defining_Identifier
2043 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
2047 function Next_Exit_Statement
2048 (N
: Node_Id
) return Node_Id
is
2050 pragma Assert
(False
2051 or else NT
(N
).Nkind
= N_Exit_Statement
);
2053 end Next_Exit_Statement
;
2055 function Next_Implicit_With
2056 (N
: Node_Id
) return Node_Id
is
2058 pragma Assert
(False
2059 or else NT
(N
).Nkind
= N_With_Clause
);
2061 end Next_Implicit_With
;
2063 function Next_Named_Actual
2064 (N
: Node_Id
) return Node_Id
is
2066 pragma Assert
(False
2067 or else NT
(N
).Nkind
= N_Parameter_Association
);
2069 end Next_Named_Actual
;
2071 function Next_Pragma
2072 (N
: Node_Id
) return Node_Id
is
2074 pragma Assert
(False
2075 or else NT
(N
).Nkind
= N_Pragma
);
2079 function Next_Rep_Item
2080 (N
: Node_Id
) return Node_Id
is
2082 pragma Assert
(False
2083 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
2084 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
2085 or else NT
(N
).Nkind
= N_Pragma
2086 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
2090 function Next_Use_Clause
2091 (N
: Node_Id
) return Node_Id
is
2093 pragma Assert
(False
2094 or else NT
(N
).Nkind
= N_Use_Package_Clause
2095 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2097 end Next_Use_Clause
;
2099 function No_Ctrl_Actions
2100 (N
: Node_Id
) return Boolean is
2102 pragma Assert
(False
2103 or else NT
(N
).Nkind
= N_Assignment_Statement
);
2105 end No_Ctrl_Actions
;
2107 function No_Elaboration_Check
2108 (N
: Node_Id
) return Boolean is
2110 pragma Assert
(False
2111 or else NT
(N
).Nkind
= N_Function_Call
2112 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2114 end No_Elaboration_Check
;
2116 function No_Entities_Ref_In_Spec
2117 (N
: Node_Id
) return Boolean is
2119 pragma Assert
(False
2120 or else NT
(N
).Nkind
= N_With_Clause
);
2122 end No_Entities_Ref_In_Spec
;
2124 function No_Initialization
2125 (N
: Node_Id
) return Boolean is
2127 pragma Assert
(False
2128 or else NT
(N
).Nkind
= N_Allocator
2129 or else NT
(N
).Nkind
= N_Object_Declaration
);
2131 end No_Initialization
;
2133 function No_Truncation
2134 (N
: Node_Id
) return Boolean is
2136 pragma Assert
(False
2137 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2141 function Null_Present
2142 (N
: Node_Id
) return Boolean is
2144 pragma Assert
(False
2145 or else NT
(N
).Nkind
= N_Component_List
2146 or else NT
(N
).Nkind
= N_Procedure_Specification
2147 or else NT
(N
).Nkind
= N_Record_Definition
);
2151 function Null_Exclusion_Present
2152 (N
: Node_Id
) return Boolean is
2154 pragma Assert
(False
2155 or else NT
(N
).Nkind
= N_Access_Definition
2156 or else NT
(N
).Nkind
= N_Access_Function_Definition
2157 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2158 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2159 or else NT
(N
).Nkind
= N_Allocator
2160 or else NT
(N
).Nkind
= N_Component_Definition
2161 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2162 or else NT
(N
).Nkind
= N_Discriminant_Specification
2163 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2164 or else NT
(N
).Nkind
= N_Function_Specification
2165 or else NT
(N
).Nkind
= N_Object_Declaration
2166 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2167 or else NT
(N
).Nkind
= N_Parameter_Specification
2168 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
2170 end Null_Exclusion_Present
;
2172 function Null_Exclusion_In_Return_Present
2173 (N
: Node_Id
) return Boolean is
2175 pragma Assert
(False
2176 or else NT
(N
).Nkind
= N_Access_Function_Definition
);
2178 end Null_Exclusion_In_Return_Present
;
2180 function Null_Record_Present
2181 (N
: Node_Id
) return Boolean is
2183 pragma Assert
(False
2184 or else NT
(N
).Nkind
= N_Aggregate
2185 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2187 end Null_Record_Present
;
2189 function Object_Definition
2190 (N
: Node_Id
) return Node_Id
is
2192 pragma Assert
(False
2193 or else NT
(N
).Nkind
= N_Object_Declaration
);
2195 end Object_Definition
;
2197 function Original_Discriminant
2198 (N
: Node_Id
) return Node_Id
is
2200 pragma Assert
(False
2201 or else NT
(N
).Nkind
= N_Identifier
);
2203 end Original_Discriminant
;
2205 function Original_Entity
2206 (N
: Node_Id
) return Entity_Id
is
2208 pragma Assert
(False
2209 or else NT
(N
).Nkind
= N_Integer_Literal
2210 or else NT
(N
).Nkind
= N_Real_Literal
);
2212 end Original_Entity
;
2214 function Others_Discrete_Choices
2215 (N
: Node_Id
) return List_Id
is
2217 pragma Assert
(False
2218 or else NT
(N
).Nkind
= N_Others_Choice
);
2220 end Others_Discrete_Choices
;
2222 function Out_Present
2223 (N
: Node_Id
) return Boolean is
2225 pragma Assert
(False
2226 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2227 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2231 function Parameter_Associations
2232 (N
: Node_Id
) return List_Id
is
2234 pragma Assert
(False
2235 or else NT
(N
).Nkind
= N_Entry_Call_Statement
2236 or else NT
(N
).Nkind
= N_Function_Call
2237 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2239 end Parameter_Associations
;
2241 function Parameter_List_Truncated
2242 (N
: Node_Id
) return Boolean is
2244 pragma Assert
(False
2245 or else NT
(N
).Nkind
= N_Function_Call
2246 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2248 end Parameter_List_Truncated
;
2250 function Parameter_Specifications
2251 (N
: Node_Id
) return List_Id
is
2253 pragma Assert
(False
2254 or else NT
(N
).Nkind
= N_Accept_Statement
2255 or else NT
(N
).Nkind
= N_Access_Function_Definition
2256 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2257 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
2258 or else NT
(N
).Nkind
= N_Entry_Declaration
2259 or else NT
(N
).Nkind
= N_Function_Specification
2260 or else NT
(N
).Nkind
= N_Procedure_Specification
);
2262 end Parameter_Specifications
;
2264 function Parameter_Type
2265 (N
: Node_Id
) return Node_Id
is
2267 pragma Assert
(False
2268 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2272 function Parent_Spec
2273 (N
: Node_Id
) return Node_Id
is
2275 pragma Assert
(False
2276 or else NT
(N
).Nkind
= N_Function_Instantiation
2277 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
2278 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2279 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
2280 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
2281 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2282 or else NT
(N
).Nkind
= N_Package_Declaration
2283 or else NT
(N
).Nkind
= N_Package_Instantiation
2284 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
2285 or else NT
(N
).Nkind
= N_Procedure_Instantiation
2286 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2287 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2292 (N
: Node_Id
) return Node_Id
is
2294 pragma Assert
(False
2295 or else NT
(N
).Nkind
= N_Component_Clause
);
2299 function Pragma_Argument_Associations
2300 (N
: Node_Id
) return List_Id
is
2302 pragma Assert
(False
2303 or else NT
(N
).Nkind
= N_Pragma
);
2305 end Pragma_Argument_Associations
;
2307 function Pragma_Enabled
2308 (N
: Node_Id
) return Boolean is
2310 pragma Assert
(False
2311 or else NT
(N
).Nkind
= N_Pragma
);
2315 function Pragma_Identifier
2316 (N
: Node_Id
) return Node_Id
is
2318 pragma Assert
(False
2319 or else NT
(N
).Nkind
= N_Pragma
);
2321 end Pragma_Identifier
;
2323 function Pragmas_After
2324 (N
: Node_Id
) return List_Id
is
2326 pragma Assert
(False
2327 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2328 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
2332 function Pragmas_Before
2333 (N
: Node_Id
) return List_Id
is
2335 pragma Assert
(False
2336 or else NT
(N
).Nkind
= N_Accept_Alternative
2337 or else NT
(N
).Nkind
= N_Delay_Alternative
2338 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2339 or else NT
(N
).Nkind
= N_Mod_Clause
2340 or else NT
(N
).Nkind
= N_Terminate_Alternative
2341 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2346 (N
: Node_Id
) return Node_Id
is
2348 pragma Assert
(False
2349 or else NT
(N
).Nkind
= N_Attribute_Reference
2350 or else NT
(N
).Nkind
= N_Expanded_Name
2351 or else NT
(N
).Nkind
= N_Explicit_Dereference
2352 or else NT
(N
).Nkind
= N_Indexed_Component
2353 or else NT
(N
).Nkind
= N_Reference
2354 or else NT
(N
).Nkind
= N_Selected_Component
2355 or else NT
(N
).Nkind
= N_Slice
);
2359 function Present_Expr
2360 (N
: Node_Id
) return Uint
is
2362 pragma Assert
(False
2363 or else NT
(N
).Nkind
= N_Variant
);
2368 (N
: Node_Id
) return Boolean is
2370 pragma Assert
(False
2371 or else NT
(N
).Nkind
= N_Component_Declaration
2372 or else NT
(N
).Nkind
= N_Discriminant_Specification
2373 or else NT
(N
).Nkind
= N_Exception_Declaration
2374 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2375 or else NT
(N
).Nkind
= N_Number_Declaration
2376 or else NT
(N
).Nkind
= N_Object_Declaration
2377 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2381 function Print_In_Hex
2382 (N
: Node_Id
) return Boolean is
2384 pragma Assert
(False
2385 or else NT
(N
).Nkind
= N_Integer_Literal
);
2389 function Private_Declarations
2390 (N
: Node_Id
) return List_Id
is
2392 pragma Assert
(False
2393 or else NT
(N
).Nkind
= N_Package_Specification
2394 or else NT
(N
).Nkind
= N_Protected_Definition
2395 or else NT
(N
).Nkind
= N_Task_Definition
);
2397 end Private_Declarations
;
2399 function Private_Present
2400 (N
: Node_Id
) return Boolean is
2402 pragma Assert
(False
2403 or else NT
(N
).Nkind
= N_Compilation_Unit
2404 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2405 or else NT
(N
).Nkind
= N_With_Clause
);
2407 end Private_Present
;
2409 function Procedure_To_Call
2410 (N
: Node_Id
) return Node_Id
is
2412 pragma Assert
(False
2413 or else NT
(N
).Nkind
= N_Allocator
2414 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2415 or else NT
(N
).Nkind
= N_Free_Statement
2416 or else NT
(N
).Nkind
= N_Return_Statement
);
2418 end Procedure_To_Call
;
2420 function Proper_Body
2421 (N
: Node_Id
) return Node_Id
is
2423 pragma Assert
(False
2424 or else NT
(N
).Nkind
= N_Subunit
);
2428 function Protected_Definition
2429 (N
: Node_Id
) return Node_Id
is
2431 pragma Assert
(False
2432 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
2433 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
2435 end Protected_Definition
;
2437 function Protected_Present
2438 (N
: Node_Id
) return Boolean is
2440 pragma Assert
(False
2441 or else NT
(N
).Nkind
= N_Access_Function_Definition
2442 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2443 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2444 or else NT
(N
).Nkind
= N_Record_Definition
);
2446 end Protected_Present
;
2448 function Raises_Constraint_Error
2449 (N
: Node_Id
) return Boolean is
2451 pragma Assert
(False
2452 or else NT
(N
).Nkind
in N_Subexpr
);
2454 end Raises_Constraint_Error
;
2456 function Range_Constraint
2457 (N
: Node_Id
) return Node_Id
is
2459 pragma Assert
(False
2460 or else NT
(N
).Nkind
= N_Delta_Constraint
2461 or else NT
(N
).Nkind
= N_Digits_Constraint
);
2463 end Range_Constraint
;
2465 function Range_Expression
2466 (N
: Node_Id
) return Node_Id
is
2468 pragma Assert
(False
2469 or else NT
(N
).Nkind
= N_Range_Constraint
);
2471 end Range_Expression
;
2473 function Real_Range_Specification
2474 (N
: Node_Id
) return Node_Id
is
2476 pragma Assert
(False
2477 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
2478 or else NT
(N
).Nkind
= N_Floating_Point_Definition
2479 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
2481 end Real_Range_Specification
;
2484 (N
: Node_Id
) return Ureal
is
2486 pragma Assert
(False
2487 or else NT
(N
).Nkind
= N_Real_Literal
);
2492 (N
: Node_Id
) return Uint
is
2494 pragma Assert
(False
2495 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2496 or else NT
(N
).Nkind
= N_Raise_Program_Error
2497 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
2501 function Record_Extension_Part
2502 (N
: Node_Id
) return Node_Id
is
2504 pragma Assert
(False
2505 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
2507 end Record_Extension_Part
;
2509 function Redundant_Use
2510 (N
: Node_Id
) return Boolean is
2512 pragma Assert
(False
2513 or else NT
(N
).Nkind
= N_Attribute_Reference
2514 or else NT
(N
).Nkind
= N_Expanded_Name
2515 or else NT
(N
).Nkind
= N_Identifier
);
2519 function Renaming_Exception
2520 (N
: Node_Id
) return Node_Id
is
2522 pragma Assert
(False
2523 or else NT
(N
).Nkind
= N_Exception_Declaration
);
2525 end Renaming_Exception
;
2527 function Result_Definition
2528 (N
: Node_Id
) return Node_Id
is
2530 pragma Assert
(False
2531 or else NT
(N
).Nkind
= N_Access_Function_Definition
2532 or else NT
(N
).Nkind
= N_Function_Specification
);
2534 end Result_Definition
;
2536 function Return_Object_Declarations
2537 (N
: Node_Id
) return List_Id
is
2539 pragma Assert
(False
2540 or else NT
(N
).Nkind
= N_Extended_Return_Statement
);
2542 end Return_Object_Declarations
;
2544 function Return_Statement_Entity
2545 (N
: Node_Id
) return Node_Id
is
2547 pragma Assert
(False
2548 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2549 or else NT
(N
).Nkind
= N_Return_Statement
);
2551 end Return_Statement_Entity
;
2553 function Reverse_Present
2554 (N
: Node_Id
) return Boolean is
2556 pragma Assert
(False
2557 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
2559 end Reverse_Present
;
2562 (N
: Node_Id
) return Node_Id
is
2564 pragma Assert
(False
2565 or else NT
(N
).Nkind
in N_Op
2566 or else NT
(N
).Nkind
= N_And_Then
2567 or else NT
(N
).Nkind
= N_In
2568 or else NT
(N
).Nkind
= N_Not_In
2569 or else NT
(N
).Nkind
= N_Or_Else
);
2573 function Rounded_Result
2574 (N
: Node_Id
) return Boolean is
2576 pragma Assert
(False
2577 or else NT
(N
).Nkind
= N_Op_Divide
2578 or else NT
(N
).Nkind
= N_Op_Multiply
2579 or else NT
(N
).Nkind
= N_Type_Conversion
);
2583 function SCIL_Controlling_Tag
2584 (N
: Node_Id
) return Node_Id
is
2586 pragma Assert
(False
2587 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
);
2589 end SCIL_Controlling_Tag
;
2591 function SCIL_Entity
2592 (N
: Node_Id
) return Node_Id
is
2594 pragma Assert
(False
2595 or else NT
(N
).Nkind
= N_SCIL_Dispatch_Table_Tag_Init
2596 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
2597 or else NT
(N
).Nkind
= N_SCIL_Membership_Test
);
2601 function SCIL_Tag_Value
2602 (N
: Node_Id
) return Node_Id
is
2604 pragma Assert
(False
2605 or else NT
(N
).Nkind
= N_SCIL_Membership_Test
);
2609 function SCIL_Target_Prim
2610 (N
: Node_Id
) return Node_Id
is
2612 pragma Assert
(False
2613 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
);
2615 end SCIL_Target_Prim
;
2618 (N
: Node_Id
) return Node_Id
is
2620 pragma Assert
(False
2621 or else NT
(N
).Nkind
= N_Defining_Character_Literal
2622 or else NT
(N
).Nkind
= N_Defining_Identifier
2623 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
2627 function Select_Alternatives
2628 (N
: Node_Id
) return List_Id
is
2630 pragma Assert
(False
2631 or else NT
(N
).Nkind
= N_Selective_Accept
);
2633 end Select_Alternatives
;
2635 function Selector_Name
2636 (N
: Node_Id
) return Node_Id
is
2638 pragma Assert
(False
2639 or else NT
(N
).Nkind
= N_Expanded_Name
2640 or else NT
(N
).Nkind
= N_Generic_Association
2641 or else NT
(N
).Nkind
= N_Parameter_Association
2642 or else NT
(N
).Nkind
= N_Selected_Component
);
2646 function Selector_Names
2647 (N
: Node_Id
) return List_Id
is
2649 pragma Assert
(False
2650 or else NT
(N
).Nkind
= N_Discriminant_Association
);
2654 function Shift_Count_OK
2655 (N
: Node_Id
) return Boolean is
2657 pragma Assert
(False
2658 or else NT
(N
).Nkind
= N_Op_Rotate_Left
2659 or else NT
(N
).Nkind
= N_Op_Rotate_Right
2660 or else NT
(N
).Nkind
= N_Op_Shift_Left
2661 or else NT
(N
).Nkind
= N_Op_Shift_Right
2662 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
2666 function Source_Type
2667 (N
: Node_Id
) return Entity_Id
is
2669 pragma Assert
(False
2670 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2674 function Specification
2675 (N
: Node_Id
) return Node_Id
is
2677 pragma Assert
(False
2678 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
2679 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
2680 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
2681 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2682 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2683 or else NT
(N
).Nkind
= N_Package_Declaration
2684 or else NT
(N
).Nkind
= N_Subprogram_Body
2685 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
2686 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2687 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2692 (N
: Node_Id
) return List_Id
is
2694 pragma Assert
(False
2695 or else NT
(N
).Nkind
= N_Abortable_Part
2696 or else NT
(N
).Nkind
= N_Accept_Alternative
2697 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
2698 or else NT
(N
).Nkind
= N_Delay_Alternative
2699 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2700 or else NT
(N
).Nkind
= N_Exception_Handler
2701 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
2702 or else NT
(N
).Nkind
= N_Loop_Statement
2703 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2707 function Static_Processing_OK
2708 (N
: Node_Id
) return Boolean is
2710 pragma Assert
(False
2711 or else NT
(N
).Nkind
= N_Aggregate
);
2713 end Static_Processing_OK
;
2715 function Storage_Pool
2716 (N
: Node_Id
) return Node_Id
is
2718 pragma Assert
(False
2719 or else NT
(N
).Nkind
= N_Allocator
2720 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2721 or else NT
(N
).Nkind
= N_Free_Statement
2722 or else NT
(N
).Nkind
= N_Return_Statement
);
2727 (N
: Node_Id
) return String_Id
is
2729 pragma Assert
(False
2730 or else NT
(N
).Nkind
= N_Operator_Symbol
2731 or else NT
(N
).Nkind
= N_String_Literal
);
2735 function Subtype_Indication
2736 (N
: Node_Id
) return Node_Id
is
2738 pragma Assert
(False
2739 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2740 or else NT
(N
).Nkind
= N_Component_Definition
2741 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2742 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2743 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
2745 end Subtype_Indication
;
2747 function Suppress_Loop_Warnings
2748 (N
: Node_Id
) return Boolean is
2750 pragma Assert
(False
2751 or else NT
(N
).Nkind
= N_Loop_Statement
);
2753 end Suppress_Loop_Warnings
;
2755 function Subtype_Mark
2756 (N
: Node_Id
) return Node_Id
is
2758 pragma Assert
(False
2759 or else NT
(N
).Nkind
= N_Access_Definition
2760 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2761 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2762 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2763 or else NT
(N
).Nkind
= N_Qualified_Expression
2764 or else NT
(N
).Nkind
= N_Subtype_Indication
2765 or else NT
(N
).Nkind
= N_Type_Conversion
2766 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2770 function Subtype_Marks
2771 (N
: Node_Id
) return List_Id
is
2773 pragma Assert
(False
2774 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
2775 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2779 function Synchronized_Present
2780 (N
: Node_Id
) return Boolean is
2782 pragma Assert
(False
2783 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2784 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2785 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2786 or else NT
(N
).Nkind
= N_Record_Definition
);
2788 end Synchronized_Present
;
2790 function Tagged_Present
2791 (N
: Node_Id
) return Boolean is
2793 pragma Assert
(False
2794 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2795 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2796 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2797 or else NT
(N
).Nkind
= N_Record_Definition
);
2801 function Target_Type
2802 (N
: Node_Id
) return Entity_Id
is
2804 pragma Assert
(False
2805 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2809 function Task_Definition
2810 (N
: Node_Id
) return Node_Id
is
2812 pragma Assert
(False
2813 or else NT
(N
).Nkind
= N_Single_Task_Declaration
2814 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2816 end Task_Definition
;
2818 function Task_Present
2819 (N
: Node_Id
) return Boolean is
2821 pragma Assert
(False
2822 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2823 or else NT
(N
).Nkind
= N_Record_Definition
);
2827 function Then_Actions
2828 (N
: Node_Id
) return List_Id
is
2830 pragma Assert
(False
2831 or else NT
(N
).Nkind
= N_Conditional_Expression
);
2835 function Then_Statements
2836 (N
: Node_Id
) return List_Id
is
2838 pragma Assert
(False
2839 or else NT
(N
).Nkind
= N_Elsif_Part
2840 or else NT
(N
).Nkind
= N_If_Statement
);
2842 end Then_Statements
;
2844 function Treat_Fixed_As_Integer
2845 (N
: Node_Id
) return Boolean is
2847 pragma Assert
(False
2848 or else NT
(N
).Nkind
= N_Op_Divide
2849 or else NT
(N
).Nkind
= N_Op_Mod
2850 or else NT
(N
).Nkind
= N_Op_Multiply
2851 or else NT
(N
).Nkind
= N_Op_Rem
);
2853 end Treat_Fixed_As_Integer
;
2855 function Triggering_Alternative
2856 (N
: Node_Id
) return Node_Id
is
2858 pragma Assert
(False
2859 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2861 end Triggering_Alternative
;
2863 function Triggering_Statement
2864 (N
: Node_Id
) return Node_Id
is
2866 pragma Assert
(False
2867 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2869 end Triggering_Statement
;
2872 (N
: Node_Id
) return Elist_Id
is
2874 pragma Assert
(False
2875 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2879 function Type_Definition
2880 (N
: Node_Id
) return Node_Id
is
2882 pragma Assert
(False
2883 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
2885 end Type_Definition
;
2888 (N
: Node_Id
) return Node_Id
is
2890 pragma Assert
(False
2891 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2895 function Unknown_Discriminants_Present
2896 (N
: Node_Id
) return Boolean is
2898 pragma Assert
(False
2899 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
2900 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2901 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2902 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
2904 end Unknown_Discriminants_Present
;
2906 function Unreferenced_In_Spec
2907 (N
: Node_Id
) return Boolean is
2909 pragma Assert
(False
2910 or else NT
(N
).Nkind
= N_With_Clause
);
2912 end Unreferenced_In_Spec
;
2914 function Variant_Part
2915 (N
: Node_Id
) return Node_Id
is
2917 pragma Assert
(False
2918 or else NT
(N
).Nkind
= N_Component_List
);
2923 (N
: Node_Id
) return List_Id
is
2925 pragma Assert
(False
2926 or else NT
(N
).Nkind
= N_Variant_Part
);
2930 function Visible_Declarations
2931 (N
: Node_Id
) return List_Id
is
2933 pragma Assert
(False
2934 or else NT
(N
).Nkind
= N_Package_Specification
2935 or else NT
(N
).Nkind
= N_Protected_Definition
2936 or else NT
(N
).Nkind
= N_Task_Definition
);
2938 end Visible_Declarations
;
2940 function Was_Originally_Stub
2941 (N
: Node_Id
) return Boolean is
2943 pragma Assert
(False
2944 or else NT
(N
).Nkind
= N_Package_Body
2945 or else NT
(N
).Nkind
= N_Protected_Body
2946 or else NT
(N
).Nkind
= N_Subprogram_Body
2947 or else NT
(N
).Nkind
= N_Task_Body
);
2949 end Was_Originally_Stub
;
2951 function Withed_Body
2952 (N
: Node_Id
) return Node_Id
is
2954 pragma Assert
(False
2955 or else NT
(N
).Nkind
= N_With_Clause
);
2959 function Zero_Cost_Handling
2960 (N
: Node_Id
) return Boolean is
2962 pragma Assert
(False
2963 or else NT
(N
).Nkind
= N_Exception_Handler
2964 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2966 end Zero_Cost_Handling
;
2968 --------------------------
2969 -- Field Set Procedures --
2970 --------------------------
2972 procedure Set_ABE_Is_Certain
2973 (N
: Node_Id
; Val
: Boolean := True) is
2975 pragma Assert
(False
2976 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2977 or else NT
(N
).Nkind
= N_Function_Call
2978 or else NT
(N
).Nkind
= N_Function_Instantiation
2979 or else NT
(N
).Nkind
= N_Package_Instantiation
2980 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
2981 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
2982 Set_Flag18
(N
, Val
);
2983 end Set_ABE_Is_Certain
;
2985 procedure Set_Abort_Present
2986 (N
: Node_Id
; Val
: Boolean := True) is
2988 pragma Assert
(False
2989 or else NT
(N
).Nkind
= N_Requeue_Statement
);
2990 Set_Flag15
(N
, Val
);
2991 end Set_Abort_Present
;
2993 procedure Set_Abortable_Part
2994 (N
: Node_Id
; Val
: Node_Id
) is
2996 pragma Assert
(False
2997 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2998 Set_Node2_With_Parent
(N
, Val
);
2999 end Set_Abortable_Part
;
3001 procedure Set_Abstract_Present
3002 (N
: Node_Id
; Val
: Boolean := True) is
3004 pragma Assert
(False
3005 or else NT
(N
).Nkind
= N_Derived_Type_Definition
3006 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
3007 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
3008 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3009 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3010 or else NT
(N
).Nkind
= N_Record_Definition
);
3012 end Set_Abstract_Present
;
3014 procedure Set_Accept_Handler_Records
3015 (N
: Node_Id
; Val
: List_Id
) is
3017 pragma Assert
(False
3018 or else NT
(N
).Nkind
= N_Accept_Alternative
);
3019 Set_List5
(N
, Val
); -- semantic field, no parent set
3020 end Set_Accept_Handler_Records
;
3022 procedure Set_Accept_Statement
3023 (N
: Node_Id
; Val
: Node_Id
) is
3025 pragma Assert
(False
3026 or else NT
(N
).Nkind
= N_Accept_Alternative
);
3027 Set_Node2_With_Parent
(N
, Val
);
3028 end Set_Accept_Statement
;
3030 procedure Set_Access_Definition
3031 (N
: Node_Id
; Val
: Node_Id
) is
3033 pragma Assert
(False
3034 or else NT
(N
).Nkind
= N_Component_Definition
3035 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3036 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
3037 Set_Node3_With_Parent
(N
, Val
);
3038 end Set_Access_Definition
;
3040 procedure Set_Access_To_Subprogram_Definition
3041 (N
: Node_Id
; Val
: Node_Id
) is
3043 pragma Assert
(False
3044 or else NT
(N
).Nkind
= N_Access_Definition
);
3045 Set_Node3_With_Parent
(N
, Val
);
3046 end Set_Access_To_Subprogram_Definition
;
3048 procedure Set_Access_Types_To_Process
3049 (N
: Node_Id
; Val
: Elist_Id
) is
3051 pragma Assert
(False
3052 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3053 Set_Elist2
(N
, Val
); -- semantic field, no parent set
3054 end Set_Access_Types_To_Process
;
3056 procedure Set_Actions
3057 (N
: Node_Id
; Val
: List_Id
) is
3059 pragma Assert
(False
3060 or else NT
(N
).Nkind
= N_And_Then
3061 or else NT
(N
).Nkind
= N_Case_Expression_Alternative
3062 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
3063 or else NT
(N
).Nkind
= N_Expression_With_Actions
3064 or else NT
(N
).Nkind
= N_Freeze_Entity
3065 or else NT
(N
).Nkind
= N_Or_Else
);
3066 Set_List1_With_Parent
(N
, Val
);
3069 procedure Set_Activation_Chain_Entity
3070 (N
: Node_Id
; Val
: Node_Id
) is
3072 pragma Assert
(False
3073 or else NT
(N
).Nkind
= N_Block_Statement
3074 or else NT
(N
).Nkind
= N_Entry_Body
3075 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3076 or else NT
(N
).Nkind
= N_Package_Declaration
3077 or else NT
(N
).Nkind
= N_Subprogram_Body
3078 or else NT
(N
).Nkind
= N_Task_Body
);
3079 Set_Node3
(N
, Val
); -- semantic field, no parent set
3080 end Set_Activation_Chain_Entity
;
3082 procedure Set_Acts_As_Spec
3083 (N
: Node_Id
; Val
: Boolean := True) is
3085 pragma Assert
(False
3086 or else NT
(N
).Nkind
= N_Compilation_Unit
3087 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3089 end Set_Acts_As_Spec
;
3091 procedure Set_Actual_Designated_Subtype
3092 (N
: Node_Id
; Val
: Node_Id
) is
3094 pragma Assert
(False
3095 or else NT
(N
).Nkind
= N_Explicit_Dereference
3096 or else NT
(N
).Nkind
= N_Free_Statement
);
3098 end Set_Actual_Designated_Subtype
;
3100 procedure Set_Address_Warning_Posted
3101 (N
: Node_Id
; Val
: Boolean := True) is
3103 pragma Assert
(False
3104 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3105 Set_Flag18
(N
, Val
);
3106 end Set_Address_Warning_Posted
;
3108 procedure Set_Aggregate_Bounds
3109 (N
: Node_Id
; Val
: Node_Id
) is
3111 pragma Assert
(False
3112 or else NT
(N
).Nkind
= N_Aggregate
);
3113 Set_Node3
(N
, Val
); -- semantic field, no parent set
3114 end Set_Aggregate_Bounds
;
3116 procedure Set_Aliased_Present
3117 (N
: Node_Id
; Val
: Boolean := True) is
3119 pragma Assert
(False
3120 or else NT
(N
).Nkind
= N_Component_Definition
3121 or else NT
(N
).Nkind
= N_Object_Declaration
);
3123 end Set_Aliased_Present
;
3125 procedure Set_All_Others
3126 (N
: Node_Id
; Val
: Boolean := True) is
3128 pragma Assert
(False
3129 or else NT
(N
).Nkind
= N_Others_Choice
);
3130 Set_Flag11
(N
, Val
);
3133 procedure Set_All_Present
3134 (N
: Node_Id
; Val
: Boolean := True) is
3136 pragma Assert
(False
3137 or else NT
(N
).Nkind
= N_Access_Definition
3138 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
3139 Set_Flag15
(N
, Val
);
3140 end Set_All_Present
;
3142 procedure Set_Alternatives
3143 (N
: Node_Id
; Val
: List_Id
) is
3145 pragma Assert
(False
3146 or else NT
(N
).Nkind
= N_Case_Expression
3147 or else NT
(N
).Nkind
= N_Case_Statement
3148 or else NT
(N
).Nkind
= N_In
3149 or else NT
(N
).Nkind
= N_Not_In
);
3150 Set_List4_With_Parent
(N
, Val
);
3151 end Set_Alternatives
;
3153 procedure Set_Ancestor_Part
3154 (N
: Node_Id
; Val
: Node_Id
) is
3156 pragma Assert
(False
3157 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3158 Set_Node3_With_Parent
(N
, Val
);
3159 end Set_Ancestor_Part
;
3161 procedure Set_Array_Aggregate
3162 (N
: Node_Id
; Val
: Node_Id
) is
3164 pragma Assert
(False
3165 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
3166 Set_Node3_With_Parent
(N
, Val
);
3167 end Set_Array_Aggregate
;
3169 procedure Set_Assignment_OK
3170 (N
: Node_Id
; Val
: Boolean := True) is
3172 pragma Assert
(False
3173 or else NT
(N
).Nkind
= N_Object_Declaration
3174 or else NT
(N
).Nkind
in N_Subexpr
);
3175 Set_Flag15
(N
, Val
);
3176 end Set_Assignment_OK
;
3178 procedure Set_Associated_Node
3179 (N
: Node_Id
; Val
: Node_Id
) is
3181 pragma Assert
(False
3182 or else NT
(N
).Nkind
in N_Has_Entity
3183 or else NT
(N
).Nkind
= N_Aggregate
3184 or else NT
(N
).Nkind
= N_Extension_Aggregate
3185 or else NT
(N
).Nkind
= N_Selected_Component
);
3186 Set_Node4
(N
, Val
); -- semantic field, no parent set
3187 end Set_Associated_Node
;
3189 procedure Set_At_End_Proc
3190 (N
: Node_Id
; Val
: Node_Id
) is
3192 pragma Assert
(False
3193 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3195 end Set_At_End_Proc
;
3197 procedure Set_Attribute_Name
3198 (N
: Node_Id
; Val
: Name_Id
) is
3200 pragma Assert
(False
3201 or else NT
(N
).Nkind
= N_Attribute_Reference
);
3203 end Set_Attribute_Name
;
3205 procedure Set_Aux_Decls_Node
3206 (N
: Node_Id
; Val
: Node_Id
) is
3208 pragma Assert
(False
3209 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3210 Set_Node5_With_Parent
(N
, Val
);
3211 end Set_Aux_Decls_Node
;
3213 procedure Set_Backwards_OK
3214 (N
: Node_Id
; Val
: Boolean := True) is
3216 pragma Assert
(False
3217 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3219 end Set_Backwards_OK
;
3221 procedure Set_Bad_Is_Detected
3222 (N
: Node_Id
; Val
: Boolean := True) is
3224 pragma Assert
(False
3225 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3226 Set_Flag15
(N
, Val
);
3227 end Set_Bad_Is_Detected
;
3229 procedure Set_Body_Required
3230 (N
: Node_Id
; Val
: Boolean := True) is
3232 pragma Assert
(False
3233 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3234 Set_Flag13
(N
, Val
);
3235 end Set_Body_Required
;
3237 procedure Set_Body_To_Inline
3238 (N
: Node_Id
; Val
: Node_Id
) is
3240 pragma Assert
(False
3241 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
3243 end Set_Body_To_Inline
;
3245 procedure Set_Box_Present
3246 (N
: Node_Id
; Val
: Boolean := True) is
3248 pragma Assert
(False
3249 or else NT
(N
).Nkind
= N_Component_Association
3250 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
3251 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
3252 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3253 or else NT
(N
).Nkind
= N_Generic_Association
);
3254 Set_Flag15
(N
, Val
);
3255 end Set_Box_Present
;
3257 procedure Set_By_Ref
3258 (N
: Node_Id
; Val
: Boolean := True) is
3260 pragma Assert
(False
3261 or else NT
(N
).Nkind
= N_Extended_Return_Statement
3262 or else NT
(N
).Nkind
= N_Return_Statement
);
3266 procedure Set_Char_Literal_Value
3267 (N
: Node_Id
; Val
: Uint
) is
3269 pragma Assert
(False
3270 or else NT
(N
).Nkind
= N_Character_Literal
);
3272 end Set_Char_Literal_Value
;
3275 (N
: Node_Id
; Val
: Name_Id
) is
3277 pragma Assert
(False
3278 or else NT
(N
).Nkind
in N_Has_Chars
);
3282 procedure Set_Check_Address_Alignment
3283 (N
: Node_Id
; Val
: Boolean := True) is
3285 pragma Assert
(False
3286 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3287 Set_Flag11
(N
, Val
);
3288 end Set_Check_Address_Alignment
;
3290 procedure Set_Choice_Parameter
3291 (N
: Node_Id
; Val
: Node_Id
) is
3293 pragma Assert
(False
3294 or else NT
(N
).Nkind
= N_Exception_Handler
);
3295 Set_Node2_With_Parent
(N
, Val
);
3296 end Set_Choice_Parameter
;
3298 procedure Set_Choices
3299 (N
: Node_Id
; Val
: List_Id
) is
3301 pragma Assert
(False
3302 or else NT
(N
).Nkind
= N_Component_Association
);
3303 Set_List1_With_Parent
(N
, Val
);
3306 procedure Set_Coextensions
3307 (N
: Node_Id
; Val
: Elist_Id
) is
3309 pragma Assert
(False
3310 or else NT
(N
).Nkind
= N_Allocator
);
3311 Set_Elist4
(N
, Val
);
3312 end Set_Coextensions
;
3314 procedure Set_Comes_From_Extended_Return_Statement
3315 (N
: Node_Id
; Val
: Boolean := True) is
3317 pragma Assert
(False
3318 or else NT
(N
).Nkind
= N_Return_Statement
);
3319 Set_Flag18
(N
, Val
);
3320 end Set_Comes_From_Extended_Return_Statement
;
3322 procedure Set_Compile_Time_Known_Aggregate
3323 (N
: Node_Id
; Val
: Boolean := True) is
3325 pragma Assert
(False
3326 or else NT
(N
).Nkind
= N_Aggregate
);
3327 Set_Flag18
(N
, Val
);
3328 end Set_Compile_Time_Known_Aggregate
;
3330 procedure Set_Component_Associations
3331 (N
: Node_Id
; Val
: List_Id
) is
3333 pragma Assert
(False
3334 or else NT
(N
).Nkind
= N_Aggregate
3335 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3336 Set_List2_With_Parent
(N
, Val
);
3337 end Set_Component_Associations
;
3339 procedure Set_Component_Clauses
3340 (N
: Node_Id
; Val
: List_Id
) is
3342 pragma Assert
(False
3343 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
3344 Set_List3_With_Parent
(N
, Val
);
3345 end Set_Component_Clauses
;
3347 procedure Set_Component_Definition
3348 (N
: Node_Id
; Val
: Node_Id
) is
3350 pragma Assert
(False
3351 or else NT
(N
).Nkind
= N_Component_Declaration
3352 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
3353 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
3354 Set_Node4_With_Parent
(N
, Val
);
3355 end Set_Component_Definition
;
3357 procedure Set_Component_Items
3358 (N
: Node_Id
; Val
: List_Id
) is
3360 pragma Assert
(False
3361 or else NT
(N
).Nkind
= N_Component_List
);
3362 Set_List3_With_Parent
(N
, Val
);
3363 end Set_Component_Items
;
3365 procedure Set_Component_List
3366 (N
: Node_Id
; Val
: Node_Id
) is
3368 pragma Assert
(False
3369 or else NT
(N
).Nkind
= N_Record_Definition
3370 or else NT
(N
).Nkind
= N_Variant
);
3371 Set_Node1_With_Parent
(N
, Val
);
3372 end Set_Component_List
;
3374 procedure Set_Component_Name
3375 (N
: Node_Id
; Val
: Node_Id
) is
3377 pragma Assert
(False
3378 or else NT
(N
).Nkind
= N_Component_Clause
);
3379 Set_Node1_With_Parent
(N
, Val
);
3380 end Set_Component_Name
;
3382 procedure Set_Componentwise_Assignment
3383 (N
: Node_Id
; Val
: Boolean := True) is
3385 pragma Assert
(False
3386 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3387 Set_Flag14
(N
, Val
);
3388 end Set_Componentwise_Assignment
;
3390 procedure Set_Condition
3391 (N
: Node_Id
; Val
: Node_Id
) is
3393 pragma Assert
(False
3394 or else NT
(N
).Nkind
= N_Accept_Alternative
3395 or else NT
(N
).Nkind
= N_Delay_Alternative
3396 or else NT
(N
).Nkind
= N_Elsif_Part
3397 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
3398 or else NT
(N
).Nkind
= N_Exit_Statement
3399 or else NT
(N
).Nkind
= N_If_Statement
3400 or else NT
(N
).Nkind
= N_Iteration_Scheme
3401 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
3402 or else NT
(N
).Nkind
= N_Raise_Program_Error
3403 or else NT
(N
).Nkind
= N_Raise_Storage_Error
3404 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
3405 Set_Node1_With_Parent
(N
, Val
);
3408 procedure Set_Condition_Actions
3409 (N
: Node_Id
; Val
: List_Id
) is
3411 pragma Assert
(False
3412 or else NT
(N
).Nkind
= N_Elsif_Part
3413 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
3414 Set_List3
(N
, Val
); -- semantic field, no parent set
3415 end Set_Condition_Actions
;
3417 procedure Set_Config_Pragmas
3418 (N
: Node_Id
; Val
: List_Id
) is
3420 pragma Assert
(False
3421 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
3422 Set_List4_With_Parent
(N
, Val
);
3423 end Set_Config_Pragmas
;
3425 procedure Set_Constant_Present
3426 (N
: Node_Id
; Val
: Boolean := True) is
3428 pragma Assert
(False
3429 or else NT
(N
).Nkind
= N_Access_Definition
3430 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
3431 or else NT
(N
).Nkind
= N_Object_Declaration
);
3432 Set_Flag17
(N
, Val
);
3433 end Set_Constant_Present
;
3435 procedure Set_Constraint
3436 (N
: Node_Id
; Val
: Node_Id
) is
3438 pragma Assert
(False
3439 or else NT
(N
).Nkind
= N_Subtype_Indication
);
3440 Set_Node3_With_Parent
(N
, Val
);
3443 procedure Set_Constraints
3444 (N
: Node_Id
; Val
: List_Id
) is
3446 pragma Assert
(False
3447 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
3448 Set_List1_With_Parent
(N
, Val
);
3449 end Set_Constraints
;
3451 procedure Set_Context_Installed
3452 (N
: Node_Id
; Val
: Boolean := True) is
3454 pragma Assert
(False
3455 or else NT
(N
).Nkind
= N_With_Clause
);
3456 Set_Flag13
(N
, Val
);
3457 end Set_Context_Installed
;
3459 procedure Set_Context_Items
3460 (N
: Node_Id
; Val
: List_Id
) is
3462 pragma Assert
(False
3463 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3464 Set_List1_With_Parent
(N
, Val
);
3465 end Set_Context_Items
;
3467 procedure Set_Context_Pending
3468 (N
: Node_Id
; Val
: Boolean := True) is
3470 pragma Assert
(False
3471 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3472 Set_Flag16
(N
, Val
);
3473 end Set_Context_Pending
;
3475 procedure Set_Controlling_Argument
3476 (N
: Node_Id
; Val
: Node_Id
) is
3478 pragma Assert
(False
3479 or else NT
(N
).Nkind
= N_Function_Call
3480 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3481 Set_Node1
(N
, Val
); -- semantic field, no parent set
3482 end Set_Controlling_Argument
;
3484 procedure Set_Conversion_OK
3485 (N
: Node_Id
; Val
: Boolean := True) is
3487 pragma Assert
(False
3488 or else NT
(N
).Nkind
= N_Type_Conversion
);
3489 Set_Flag14
(N
, Val
);
3490 end Set_Conversion_OK
;
3492 procedure Set_Corresponding_Body
3493 (N
: Node_Id
; Val
: Node_Id
) is
3495 pragma Assert
(False
3496 or else NT
(N
).Nkind
= N_Entry_Declaration
3497 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3498 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
3499 or else NT
(N
).Nkind
= N_Package_Body_Stub
3500 or else NT
(N
).Nkind
= N_Package_Declaration
3501 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3502 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3503 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
3504 or else NT
(N
).Nkind
= N_Subprogram_Declaration
3505 or else NT
(N
).Nkind
= N_Task_Body_Stub
3506 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3507 Set_Node5
(N
, Val
); -- semantic field, no parent set
3508 end Set_Corresponding_Body
;
3510 procedure Set_Corresponding_Formal_Spec
3511 (N
: Node_Id
; Val
: Node_Id
) is
3513 pragma Assert
(False
3514 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
3515 Set_Node3
(N
, Val
); -- semantic field, no parent set
3516 end Set_Corresponding_Formal_Spec
;
3518 procedure Set_Corresponding_Generic_Association
3519 (N
: Node_Id
; Val
: Node_Id
) is
3521 pragma Assert
(False
3522 or else NT
(N
).Nkind
= N_Object_Declaration
3523 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
3524 Set_Node5
(N
, Val
); -- semantic field, no parent set
3525 end Set_Corresponding_Generic_Association
;
3527 procedure Set_Corresponding_Integer_Value
3528 (N
: Node_Id
; Val
: Uint
) is
3530 pragma Assert
(False
3531 or else NT
(N
).Nkind
= N_Real_Literal
);
3532 Set_Uint4
(N
, Val
); -- semantic field, no parent set
3533 end Set_Corresponding_Integer_Value
;
3535 procedure Set_Corresponding_Spec
3536 (N
: Node_Id
; Val
: Node_Id
) is
3538 pragma Assert
(False
3539 or else NT
(N
).Nkind
= N_Package_Body
3540 or else NT
(N
).Nkind
= N_Protected_Body
3541 or else NT
(N
).Nkind
= N_Subprogram_Body
3542 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
3543 or else NT
(N
).Nkind
= N_Task_Body
3544 or else NT
(N
).Nkind
= N_With_Clause
);
3545 Set_Node5
(N
, Val
); -- semantic field, no parent set
3546 end Set_Corresponding_Spec
;
3548 procedure Set_Corresponding_Stub
3549 (N
: Node_Id
; Val
: Node_Id
) is
3551 pragma Assert
(False
3552 or else NT
(N
).Nkind
= N_Subunit
);
3554 end Set_Corresponding_Stub
;
3556 procedure Set_Dcheck_Function
3557 (N
: Node_Id
; Val
: Entity_Id
) is
3559 pragma Assert
(False
3560 or else NT
(N
).Nkind
= N_Variant
);
3561 Set_Node5
(N
, Val
); -- semantic field, no parent set
3562 end Set_Dcheck_Function
;
3564 procedure Set_Debug_Statement
3565 (N
: Node_Id
; Val
: Node_Id
) is
3567 pragma Assert
(False
3568 or else NT
(N
).Nkind
= N_Pragma
);
3569 Set_Node3_With_Parent
(N
, Val
);
3570 end Set_Debug_Statement
;
3572 procedure Set_Declarations
3573 (N
: Node_Id
; Val
: List_Id
) is
3575 pragma Assert
(False
3576 or else NT
(N
).Nkind
= N_Accept_Statement
3577 or else NT
(N
).Nkind
= N_Block_Statement
3578 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
3579 or else NT
(N
).Nkind
= N_Entry_Body
3580 or else NT
(N
).Nkind
= N_Package_Body
3581 or else NT
(N
).Nkind
= N_Protected_Body
3582 or else NT
(N
).Nkind
= N_Subprogram_Body
3583 or else NT
(N
).Nkind
= N_Task_Body
);
3584 Set_List2_With_Parent
(N
, Val
);
3585 end Set_Declarations
;
3587 procedure Set_Default_Expression
3588 (N
: Node_Id
; Val
: Node_Id
) is
3590 pragma Assert
(False
3591 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3592 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3593 Set_Node5
(N
, Val
); -- semantic field, no parent set
3594 end Set_Default_Expression
;
3596 procedure Set_Default_Name
3597 (N
: Node_Id
; Val
: Node_Id
) is
3599 pragma Assert
(False
3600 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
3601 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
);
3602 Set_Node2_With_Parent
(N
, Val
);
3603 end Set_Default_Name
;
3605 procedure Set_Defining_Identifier
3606 (N
: Node_Id
; Val
: Entity_Id
) is
3608 pragma Assert
(False
3609 or else NT
(N
).Nkind
= N_Component_Declaration
3610 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
3611 or else NT
(N
).Nkind
= N_Discriminant_Specification
3612 or else NT
(N
).Nkind
= N_Entry_Body
3613 or else NT
(N
).Nkind
= N_Entry_Declaration
3614 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3615 or else NT
(N
).Nkind
= N_Exception_Declaration
3616 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
3617 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3618 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3619 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3620 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3621 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
3622 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3623 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
3624 or else NT
(N
).Nkind
= N_Number_Declaration
3625 or else NT
(N
).Nkind
= N_Object_Declaration
3626 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
3627 or else NT
(N
).Nkind
= N_Package_Body_Stub
3628 or else NT
(N
).Nkind
= N_Parameter_Specification
3629 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3630 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3631 or else NT
(N
).Nkind
= N_Protected_Body
3632 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3633 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3634 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
3635 or else NT
(N
).Nkind
= N_Single_Task_Declaration
3636 or else NT
(N
).Nkind
= N_Subtype_Declaration
3637 or else NT
(N
).Nkind
= N_Task_Body
3638 or else NT
(N
).Nkind
= N_Task_Body_Stub
3639 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3640 Set_Node1_With_Parent
(N
, Val
);
3641 end Set_Defining_Identifier
;
3643 procedure Set_Defining_Unit_Name
3644 (N
: Node_Id
; Val
: Node_Id
) is
3646 pragma Assert
(False
3647 or else NT
(N
).Nkind
= N_Function_Instantiation
3648 or else NT
(N
).Nkind
= N_Function_Specification
3649 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
3650 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
3651 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
3652 or else NT
(N
).Nkind
= N_Package_Body
3653 or else NT
(N
).Nkind
= N_Package_Instantiation
3654 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
3655 or else NT
(N
).Nkind
= N_Package_Specification
3656 or else NT
(N
).Nkind
= N_Procedure_Instantiation
3657 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3658 Set_Node1_With_Parent
(N
, Val
);
3659 end Set_Defining_Unit_Name
;
3661 procedure Set_Delay_Alternative
3662 (N
: Node_Id
; Val
: Node_Id
) is
3664 pragma Assert
(False
3665 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3666 Set_Node4_With_Parent
(N
, Val
);
3667 end Set_Delay_Alternative
;
3669 procedure Set_Delay_Statement
3670 (N
: Node_Id
; Val
: Node_Id
) is
3672 pragma Assert
(False
3673 or else NT
(N
).Nkind
= N_Delay_Alternative
);
3674 Set_Node2_With_Parent
(N
, Val
);
3675 end Set_Delay_Statement
;
3677 procedure Set_Delta_Expression
3678 (N
: Node_Id
; Val
: Node_Id
) is
3680 pragma Assert
(False
3681 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3682 or else NT
(N
).Nkind
= N_Delta_Constraint
3683 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
3684 Set_Node3_With_Parent
(N
, Val
);
3685 end Set_Delta_Expression
;
3687 procedure Set_Digits_Expression
3688 (N
: Node_Id
; Val
: Node_Id
) is
3690 pragma Assert
(False
3691 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3692 or else NT
(N
).Nkind
= N_Digits_Constraint
3693 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
3694 Set_Node2_With_Parent
(N
, Val
);
3695 end Set_Digits_Expression
;
3697 procedure Set_Discr_Check_Funcs_Built
3698 (N
: Node_Id
; Val
: Boolean := True) is
3700 pragma Assert
(False
3701 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
3702 Set_Flag11
(N
, Val
);
3703 end Set_Discr_Check_Funcs_Built
;
3705 procedure Set_Discrete_Choices
3706 (N
: Node_Id
; Val
: List_Id
) is
3708 pragma Assert
(False
3709 or else NT
(N
).Nkind
= N_Case_Expression_Alternative
3710 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
3711 or else NT
(N
).Nkind
= N_Variant
);
3712 Set_List4_With_Parent
(N
, Val
);
3713 end Set_Discrete_Choices
;
3715 procedure Set_Discrete_Range
3716 (N
: Node_Id
; Val
: Node_Id
) is
3718 pragma Assert
(False
3719 or else NT
(N
).Nkind
= N_Slice
);
3720 Set_Node4_With_Parent
(N
, Val
);
3721 end Set_Discrete_Range
;
3723 procedure Set_Discrete_Subtype_Definition
3724 (N
: Node_Id
; Val
: Node_Id
) is
3726 pragma Assert
(False
3727 or else NT
(N
).Nkind
= N_Entry_Declaration
3728 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3729 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
3730 Set_Node4_With_Parent
(N
, Val
);
3731 end Set_Discrete_Subtype_Definition
;
3733 procedure Set_Discrete_Subtype_Definitions
3734 (N
: Node_Id
; Val
: List_Id
) is
3736 pragma Assert
(False
3737 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
3738 Set_List2_With_Parent
(N
, Val
);
3739 end Set_Discrete_Subtype_Definitions
;
3741 procedure Set_Discriminant_Specifications
3742 (N
: Node_Id
; Val
: List_Id
) is
3744 pragma Assert
(False
3745 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3746 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3747 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3748 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3749 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3750 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3751 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3752 Set_List4_With_Parent
(N
, Val
);
3753 end Set_Discriminant_Specifications
;
3755 procedure Set_Discriminant_Type
3756 (N
: Node_Id
; Val
: Node_Id
) is
3758 pragma Assert
(False
3759 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
3760 Set_Node5_With_Parent
(N
, Val
);
3761 end Set_Discriminant_Type
;
3763 procedure Set_Do_Accessibility_Check
3764 (N
: Node_Id
; Val
: Boolean := True) is
3766 pragma Assert
(False
3767 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3768 Set_Flag13
(N
, Val
);
3769 end Set_Do_Accessibility_Check
;
3771 procedure Set_Do_Discriminant_Check
3772 (N
: Node_Id
; Val
: Boolean := True) is
3774 pragma Assert
(False
3775 or else NT
(N
).Nkind
= N_Selected_Component
);
3776 Set_Flag13
(N
, Val
);
3777 end Set_Do_Discriminant_Check
;
3779 procedure Set_Do_Division_Check
3780 (N
: Node_Id
; Val
: Boolean := True) is
3782 pragma Assert
(False
3783 or else NT
(N
).Nkind
= N_Op_Divide
3784 or else NT
(N
).Nkind
= N_Op_Mod
3785 or else NT
(N
).Nkind
= N_Op_Rem
);
3786 Set_Flag13
(N
, Val
);
3787 end Set_Do_Division_Check
;
3789 procedure Set_Do_Length_Check
3790 (N
: Node_Id
; Val
: Boolean := True) is
3792 pragma Assert
(False
3793 or else NT
(N
).Nkind
= N_Assignment_Statement
3794 or else NT
(N
).Nkind
= N_Op_And
3795 or else NT
(N
).Nkind
= N_Op_Or
3796 or else NT
(N
).Nkind
= N_Op_Xor
3797 or else NT
(N
).Nkind
= N_Type_Conversion
);
3799 end Set_Do_Length_Check
;
3801 procedure Set_Do_Overflow_Check
3802 (N
: Node_Id
; Val
: Boolean := True) is
3804 pragma Assert
(False
3805 or else NT
(N
).Nkind
in N_Op
3806 or else NT
(N
).Nkind
= N_Attribute_Reference
3807 or else NT
(N
).Nkind
= N_Type_Conversion
);
3808 Set_Flag17
(N
, Val
);
3809 end Set_Do_Overflow_Check
;
3811 procedure Set_Do_Range_Check
3812 (N
: Node_Id
; Val
: Boolean := True) is
3814 pragma Assert
(False
3815 or else NT
(N
).Nkind
in N_Subexpr
);
3817 end Set_Do_Range_Check
;
3819 procedure Set_Do_Storage_Check
3820 (N
: Node_Id
; Val
: Boolean := True) is
3822 pragma Assert
(False
3823 or else NT
(N
).Nkind
= N_Allocator
3824 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3825 Set_Flag17
(N
, Val
);
3826 end Set_Do_Storage_Check
;
3828 procedure Set_Do_Tag_Check
3829 (N
: Node_Id
; Val
: Boolean := True) is
3831 pragma Assert
(False
3832 or else NT
(N
).Nkind
= N_Assignment_Statement
3833 or else NT
(N
).Nkind
= N_Extended_Return_Statement
3834 or else NT
(N
).Nkind
= N_Function_Call
3835 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
3836 or else NT
(N
).Nkind
= N_Return_Statement
3837 or else NT
(N
).Nkind
= N_Type_Conversion
);
3838 Set_Flag13
(N
, Val
);
3839 end Set_Do_Tag_Check
;
3841 procedure Set_Elaborate_All_Desirable
3842 (N
: Node_Id
; Val
: Boolean := True) is
3844 pragma Assert
(False
3845 or else NT
(N
).Nkind
= N_With_Clause
);
3847 end Set_Elaborate_All_Desirable
;
3849 procedure Set_Elaborate_All_Present
3850 (N
: Node_Id
; Val
: Boolean := True) is
3852 pragma Assert
(False
3853 or else NT
(N
).Nkind
= N_With_Clause
);
3854 Set_Flag14
(N
, Val
);
3855 end Set_Elaborate_All_Present
;
3857 procedure Set_Elaborate_Desirable
3858 (N
: Node_Id
; Val
: Boolean := True) is
3860 pragma Assert
(False
3861 or else NT
(N
).Nkind
= N_With_Clause
);
3862 Set_Flag11
(N
, Val
);
3863 end Set_Elaborate_Desirable
;
3865 procedure Set_Elaborate_Present
3866 (N
: Node_Id
; Val
: Boolean := True) is
3868 pragma Assert
(False
3869 or else NT
(N
).Nkind
= N_With_Clause
);
3871 end Set_Elaborate_Present
;
3873 procedure Set_Elaboration_Boolean
3874 (N
: Node_Id
; Val
: Node_Id
) is
3876 pragma Assert
(False
3877 or else NT
(N
).Nkind
= N_Function_Specification
3878 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3880 end Set_Elaboration_Boolean
;
3882 procedure Set_Else_Actions
3883 (N
: Node_Id
; Val
: List_Id
) is
3885 pragma Assert
(False
3886 or else NT
(N
).Nkind
= N_Conditional_Expression
);
3887 Set_List3
(N
, Val
); -- semantic field, no parent set
3888 end Set_Else_Actions
;
3890 procedure Set_Else_Statements
3891 (N
: Node_Id
; Val
: List_Id
) is
3893 pragma Assert
(False
3894 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3895 or else NT
(N
).Nkind
= N_If_Statement
3896 or else NT
(N
).Nkind
= N_Selective_Accept
);
3897 Set_List4_With_Parent
(N
, Val
);
3898 end Set_Else_Statements
;
3900 procedure Set_Elsif_Parts
3901 (N
: Node_Id
; Val
: List_Id
) is
3903 pragma Assert
(False
3904 or else NT
(N
).Nkind
= N_If_Statement
);
3905 Set_List3_With_Parent
(N
, Val
);
3906 end Set_Elsif_Parts
;
3908 procedure Set_Enclosing_Variant
3909 (N
: Node_Id
; Val
: Node_Id
) is
3911 pragma Assert
(False
3912 or else NT
(N
).Nkind
= N_Variant
);
3913 Set_Node2
(N
, Val
); -- semantic field, no parent set
3914 end Set_Enclosing_Variant
;
3916 procedure Set_End_Label
3917 (N
: Node_Id
; Val
: Node_Id
) is
3919 pragma Assert
(False
3920 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
3921 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
3922 or else NT
(N
).Nkind
= N_Loop_Statement
3923 or else NT
(N
).Nkind
= N_Package_Specification
3924 or else NT
(N
).Nkind
= N_Protected_Body
3925 or else NT
(N
).Nkind
= N_Protected_Definition
3926 or else NT
(N
).Nkind
= N_Record_Definition
3927 or else NT
(N
).Nkind
= N_Task_Definition
);
3928 Set_Node4_With_Parent
(N
, Val
);
3931 procedure Set_End_Span
3932 (N
: Node_Id
; Val
: Uint
) is
3934 pragma Assert
(False
3935 or else NT
(N
).Nkind
= N_Case_Statement
3936 or else NT
(N
).Nkind
= N_If_Statement
);
3940 procedure Set_Entity
3941 (N
: Node_Id
; Val
: Node_Id
) is
3943 pragma Assert
(False
3944 or else NT
(N
).Nkind
in N_Has_Entity
3945 or else NT
(N
).Nkind
= N_Freeze_Entity
3946 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3947 Set_Node4
(N
, Val
); -- semantic field, no parent set
3950 procedure Set_Entry_Body_Formal_Part
3951 (N
: Node_Id
; Val
: Node_Id
) is
3953 pragma Assert
(False
3954 or else NT
(N
).Nkind
= N_Entry_Body
);
3955 Set_Node5_With_Parent
(N
, Val
);
3956 end Set_Entry_Body_Formal_Part
;
3958 procedure Set_Entry_Call_Alternative
3959 (N
: Node_Id
; Val
: Node_Id
) is
3961 pragma Assert
(False
3962 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3963 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3964 Set_Node1_With_Parent
(N
, Val
);
3965 end Set_Entry_Call_Alternative
;
3967 procedure Set_Entry_Call_Statement
3968 (N
: Node_Id
; Val
: Node_Id
) is
3970 pragma Assert
(False
3971 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
3972 Set_Node1_With_Parent
(N
, Val
);
3973 end Set_Entry_Call_Statement
;
3975 procedure Set_Entry_Direct_Name
3976 (N
: Node_Id
; Val
: Node_Id
) is
3978 pragma Assert
(False
3979 or else NT
(N
).Nkind
= N_Accept_Statement
);
3980 Set_Node1_With_Parent
(N
, Val
);
3981 end Set_Entry_Direct_Name
;
3983 procedure Set_Entry_Index
3984 (N
: Node_Id
; Val
: Node_Id
) is
3986 pragma Assert
(False
3987 or else NT
(N
).Nkind
= N_Accept_Statement
);
3988 Set_Node5_With_Parent
(N
, Val
);
3989 end Set_Entry_Index
;
3991 procedure Set_Entry_Index_Specification
3992 (N
: Node_Id
; Val
: Node_Id
) is
3994 pragma Assert
(False
3995 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
3996 Set_Node4_With_Parent
(N
, Val
);
3997 end Set_Entry_Index_Specification
;
4000 (N
: Node_Id
; Val
: Node_Id
) is
4002 pragma Assert
(False
4003 or else NT
(N
).Nkind
in N_Has_Etype
);
4004 Set_Node5
(N
, Val
); -- semantic field, no parent set
4007 procedure Set_Exception_Choices
4008 (N
: Node_Id
; Val
: List_Id
) is
4010 pragma Assert
(False
4011 or else NT
(N
).Nkind
= N_Exception_Handler
);
4012 Set_List4_With_Parent
(N
, Val
);
4013 end Set_Exception_Choices
;
4015 procedure Set_Exception_Handlers
4016 (N
: Node_Id
; Val
: List_Id
) is
4018 pragma Assert
(False
4019 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
4020 Set_List5_With_Parent
(N
, Val
);
4021 end Set_Exception_Handlers
;
4023 procedure Set_Exception_Junk
4024 (N
: Node_Id
; Val
: Boolean := True) is
4026 pragma Assert
(False
4027 or else NT
(N
).Nkind
= N_Block_Statement
4028 or else NT
(N
).Nkind
= N_Goto_Statement
4029 or else NT
(N
).Nkind
= N_Label
4030 or else NT
(N
).Nkind
= N_Object_Declaration
4031 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4033 end Set_Exception_Junk
;
4035 procedure Set_Exception_Label
4036 (N
: Node_Id
; Val
: Node_Id
) is
4038 pragma Assert
(False
4039 or else NT
(N
).Nkind
= N_Exception_Handler
4040 or else NT
(N
).Nkind
= N_Push_Constraint_Error_Label
4041 or else NT
(N
).Nkind
= N_Push_Program_Error_Label
4042 or else NT
(N
).Nkind
= N_Push_Storage_Error_Label
);
4043 Set_Node5
(N
, Val
); -- semantic field, no parent set
4044 end Set_Exception_Label
;
4046 procedure Set_Expansion_Delayed
4047 (N
: Node_Id
; Val
: Boolean := True) is
4049 pragma Assert
(False
4050 or else NT
(N
).Nkind
= N_Aggregate
4051 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4052 Set_Flag11
(N
, Val
);
4053 end Set_Expansion_Delayed
;
4055 procedure Set_Explicit_Actual_Parameter
4056 (N
: Node_Id
; Val
: Node_Id
) is
4058 pragma Assert
(False
4059 or else NT
(N
).Nkind
= N_Parameter_Association
);
4060 Set_Node3_With_Parent
(N
, Val
);
4061 end Set_Explicit_Actual_Parameter
;
4063 procedure Set_Explicit_Generic_Actual_Parameter
4064 (N
: Node_Id
; Val
: Node_Id
) is
4066 pragma Assert
(False
4067 or else NT
(N
).Nkind
= N_Generic_Association
);
4068 Set_Node1_With_Parent
(N
, Val
);
4069 end Set_Explicit_Generic_Actual_Parameter
;
4071 procedure Set_Expression
4072 (N
: Node_Id
; Val
: Node_Id
) is
4074 pragma Assert
(False
4075 or else NT
(N
).Nkind
= N_Allocator
4076 or else NT
(N
).Nkind
= N_Assignment_Statement
4077 or else NT
(N
).Nkind
= N_At_Clause
4078 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4079 or else NT
(N
).Nkind
= N_Case_Expression
4080 or else NT
(N
).Nkind
= N_Case_Expression_Alternative
4081 or else NT
(N
).Nkind
= N_Case_Statement
4082 or else NT
(N
).Nkind
= N_Code_Statement
4083 or else NT
(N
).Nkind
= N_Component_Association
4084 or else NT
(N
).Nkind
= N_Component_Declaration
4085 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
4086 or else NT
(N
).Nkind
= N_Delay_Until_Statement
4087 or else NT
(N
).Nkind
= N_Discriminant_Association
4088 or else NT
(N
).Nkind
= N_Discriminant_Specification
4089 or else NT
(N
).Nkind
= N_Exception_Declaration
4090 or else NT
(N
).Nkind
= N_Expression_With_Actions
4091 or else NT
(N
).Nkind
= N_Free_Statement
4092 or else NT
(N
).Nkind
= N_Mod_Clause
4093 or else NT
(N
).Nkind
= N_Modular_Type_Definition
4094 or else NT
(N
).Nkind
= N_Number_Declaration
4095 or else NT
(N
).Nkind
= N_Object_Declaration
4096 or else NT
(N
).Nkind
= N_Parameter_Specification
4097 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
4098 or else NT
(N
).Nkind
= N_Qualified_Expression
4099 or else NT
(N
).Nkind
= N_Raise_Statement
4100 or else NT
(N
).Nkind
= N_Return_Statement
4101 or else NT
(N
).Nkind
= N_Type_Conversion
4102 or else NT
(N
).Nkind
= N_Unchecked_Expression
4103 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4104 Set_Node3_With_Parent
(N
, Val
);
4107 procedure Set_Expressions
4108 (N
: Node_Id
; Val
: List_Id
) is
4110 pragma Assert
(False
4111 or else NT
(N
).Nkind
= N_Aggregate
4112 or else NT
(N
).Nkind
= N_Attribute_Reference
4113 or else NT
(N
).Nkind
= N_Conditional_Expression
4114 or else NT
(N
).Nkind
= N_Extension_Aggregate
4115 or else NT
(N
).Nkind
= N_Indexed_Component
);
4116 Set_List1_With_Parent
(N
, Val
);
4117 end Set_Expressions
;
4119 procedure Set_First_Bit
4120 (N
: Node_Id
; Val
: Node_Id
) is
4122 pragma Assert
(False
4123 or else NT
(N
).Nkind
= N_Component_Clause
);
4124 Set_Node3_With_Parent
(N
, Val
);
4127 procedure Set_First_Inlined_Subprogram
4128 (N
: Node_Id
; Val
: Entity_Id
) is
4130 pragma Assert
(False
4131 or else NT
(N
).Nkind
= N_Compilation_Unit
);
4132 Set_Node3
(N
, Val
); -- semantic field, no parent set
4133 end Set_First_Inlined_Subprogram
;
4135 procedure Set_First_Name
4136 (N
: Node_Id
; Val
: Boolean := True) is
4138 pragma Assert
(False
4139 or else NT
(N
).Nkind
= N_With_Clause
);
4143 procedure Set_First_Named_Actual
4144 (N
: Node_Id
; Val
: Node_Id
) is
4146 pragma Assert
(False
4147 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4148 or else NT
(N
).Nkind
= N_Function_Call
4149 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4150 Set_Node4
(N
, Val
); -- semantic field, no parent set
4151 end Set_First_Named_Actual
;
4153 procedure Set_First_Real_Statement
4154 (N
: Node_Id
; Val
: Node_Id
) is
4156 pragma Assert
(False
4157 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
4158 Set_Node2
(N
, Val
); -- semantic field, no parent set
4159 end Set_First_Real_Statement
;
4161 procedure Set_First_Subtype_Link
4162 (N
: Node_Id
; Val
: Entity_Id
) is
4164 pragma Assert
(False
4165 or else NT
(N
).Nkind
= N_Freeze_Entity
);
4166 Set_Node5
(N
, Val
); -- semantic field, no parent set
4167 end Set_First_Subtype_Link
;
4169 procedure Set_Float_Truncate
4170 (N
: Node_Id
; Val
: Boolean := True) is
4172 pragma Assert
(False
4173 or else NT
(N
).Nkind
= N_Type_Conversion
);
4174 Set_Flag11
(N
, Val
);
4175 end Set_Float_Truncate
;
4177 procedure Set_Formal_Type_Definition
4178 (N
: Node_Id
; Val
: Node_Id
) is
4180 pragma Assert
(False
4181 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
4182 Set_Node3_With_Parent
(N
, Val
);
4183 end Set_Formal_Type_Definition
;
4185 procedure Set_Forwards_OK
4186 (N
: Node_Id
; Val
: Boolean := True) is
4188 pragma Assert
(False
4189 or else NT
(N
).Nkind
= N_Assignment_Statement
);
4191 end Set_Forwards_OK
;
4193 procedure Set_From_At_End
4194 (N
: Node_Id
; Val
: Boolean := True) is
4196 pragma Assert
(False
4197 or else NT
(N
).Nkind
= N_Raise_Statement
);
4199 end Set_From_At_End
;
4201 procedure Set_From_At_Mod
4202 (N
: Node_Id
; Val
: Boolean := True) is
4204 pragma Assert
(False
4205 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
4207 end Set_From_At_Mod
;
4209 procedure Set_From_Default
4210 (N
: Node_Id
; Val
: Boolean := True) is
4212 pragma Assert
(False
4213 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4215 end Set_From_Default
;
4217 procedure Set_Generic_Associations
4218 (N
: Node_Id
; Val
: List_Id
) is
4220 pragma Assert
(False
4221 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4222 or else NT
(N
).Nkind
= N_Function_Instantiation
4223 or else NT
(N
).Nkind
= N_Package_Instantiation
4224 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
4225 Set_List3_With_Parent
(N
, Val
);
4226 end Set_Generic_Associations
;
4228 procedure Set_Generic_Formal_Declarations
4229 (N
: Node_Id
; Val
: List_Id
) is
4231 pragma Assert
(False
4232 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4233 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
4234 Set_List2_With_Parent
(N
, Val
);
4235 end Set_Generic_Formal_Declarations
;
4237 procedure Set_Generic_Parent
4238 (N
: Node_Id
; Val
: Node_Id
) is
4240 pragma Assert
(False
4241 or else NT
(N
).Nkind
= N_Function_Specification
4242 or else NT
(N
).Nkind
= N_Package_Specification
4243 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4245 end Set_Generic_Parent
;
4247 procedure Set_Generic_Parent_Type
4248 (N
: Node_Id
; Val
: Node_Id
) is
4250 pragma Assert
(False
4251 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4253 end Set_Generic_Parent_Type
;
4255 procedure Set_Handled_Statement_Sequence
4256 (N
: Node_Id
; Val
: Node_Id
) is
4258 pragma Assert
(False
4259 or else NT
(N
).Nkind
= N_Accept_Statement
4260 or else NT
(N
).Nkind
= N_Block_Statement
4261 or else NT
(N
).Nkind
= N_Entry_Body
4262 or else NT
(N
).Nkind
= N_Extended_Return_Statement
4263 or else NT
(N
).Nkind
= N_Package_Body
4264 or else NT
(N
).Nkind
= N_Subprogram_Body
4265 or else NT
(N
).Nkind
= N_Task_Body
);
4266 Set_Node4_With_Parent
(N
, Val
);
4267 end Set_Handled_Statement_Sequence
;
4269 procedure Set_Handler_List_Entry
4270 (N
: Node_Id
; Val
: Node_Id
) is
4272 pragma Assert
(False
4273 or else NT
(N
).Nkind
= N_Object_Declaration
);
4275 end Set_Handler_List_Entry
;
4277 procedure Set_Has_Created_Identifier
4278 (N
: Node_Id
; Val
: Boolean := True) is
4280 pragma Assert
(False
4281 or else NT
(N
).Nkind
= N_Block_Statement
4282 or else NT
(N
).Nkind
= N_Loop_Statement
);
4283 Set_Flag15
(N
, Val
);
4284 end Set_Has_Created_Identifier
;
4286 procedure Set_Has_Dynamic_Length_Check
4287 (N
: Node_Id
; Val
: Boolean := True) is
4289 Set_Flag10
(N
, Val
);
4290 end Set_Has_Dynamic_Length_Check
;
4292 procedure Set_Has_Dynamic_Range_Check
4293 (N
: Node_Id
; Val
: Boolean := True) is
4295 Set_Flag12
(N
, Val
);
4296 end Set_Has_Dynamic_Range_Check
;
4298 procedure Set_Has_Init_Expression
4299 (N
: Node_Id
; Val
: Boolean := True) is
4301 pragma Assert
(False
4302 or else NT
(N
).Nkind
= N_Object_Declaration
);
4303 Set_Flag14
(N
, Val
);
4304 end Set_Has_Init_Expression
;
4306 procedure Set_Has_Local_Raise
4307 (N
: Node_Id
; Val
: Boolean := True) is
4309 pragma Assert
(False
4310 or else NT
(N
).Nkind
= N_Exception_Handler
);
4312 end Set_Has_Local_Raise
;
4314 procedure Set_Has_No_Elaboration_Code
4315 (N
: Node_Id
; Val
: Boolean := True) is
4317 pragma Assert
(False
4318 or else NT
(N
).Nkind
= N_Compilation_Unit
);
4319 Set_Flag17
(N
, Val
);
4320 end Set_Has_No_Elaboration_Code
;
4322 procedure Set_Has_Priority_Pragma
4323 (N
: Node_Id
; Val
: Boolean := True) is
4325 pragma Assert
(False
4326 or else NT
(N
).Nkind
= N_Protected_Definition
4327 or else NT
(N
).Nkind
= N_Subprogram_Body
4328 or else NT
(N
).Nkind
= N_Task_Definition
);
4330 end Set_Has_Priority_Pragma
;
4332 procedure Set_Has_Private_View
4333 (N
: Node_Id
; Val
: Boolean := True) is
4335 pragma Assert
(False
4336 or else NT
(N
).Nkind
in N_Op
4337 or else NT
(N
).Nkind
= N_Character_Literal
4338 or else NT
(N
).Nkind
= N_Expanded_Name
4339 or else NT
(N
).Nkind
= N_Identifier
4340 or else NT
(N
).Nkind
= N_Operator_Symbol
);
4341 Set_Flag11
(N
, Val
);
4342 end Set_Has_Private_View
;
4344 procedure Set_Has_Relative_Deadline_Pragma
4345 (N
: Node_Id
; Val
: Boolean := True) is
4347 pragma Assert
(False
4348 or else NT
(N
).Nkind
= N_Subprogram_Body
4349 or else NT
(N
).Nkind
= N_Task_Definition
);
4351 end Set_Has_Relative_Deadline_Pragma
;
4353 procedure Set_Has_Self_Reference
4354 (N
: Node_Id
; Val
: Boolean := True) is
4356 pragma Assert
(False
4357 or else NT
(N
).Nkind
= N_Aggregate
4358 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4359 Set_Flag13
(N
, Val
);
4360 end Set_Has_Self_Reference
;
4362 procedure Set_Has_Storage_Size_Pragma
4363 (N
: Node_Id
; Val
: Boolean := True) is
4365 pragma Assert
(False
4366 or else NT
(N
).Nkind
= N_Task_Definition
);
4368 end Set_Has_Storage_Size_Pragma
;
4370 procedure Set_Has_Task_Info_Pragma
4371 (N
: Node_Id
; Val
: Boolean := True) is
4373 pragma Assert
(False
4374 or else NT
(N
).Nkind
= N_Task_Definition
);
4376 end Set_Has_Task_Info_Pragma
;
4378 procedure Set_Has_Task_Name_Pragma
4379 (N
: Node_Id
; Val
: Boolean := True) is
4381 pragma Assert
(False
4382 or else NT
(N
).Nkind
= N_Task_Definition
);
4384 end Set_Has_Task_Name_Pragma
;
4386 procedure Set_Has_Wide_Character
4387 (N
: Node_Id
; Val
: Boolean := True) is
4389 pragma Assert
(False
4390 or else NT
(N
).Nkind
= N_String_Literal
);
4391 Set_Flag11
(N
, Val
);
4392 end Set_Has_Wide_Character
;
4394 procedure Set_Has_Wide_Wide_Character
4395 (N
: Node_Id
; Val
: Boolean := True) is
4397 pragma Assert
(False
4398 or else NT
(N
).Nkind
= N_String_Literal
);
4399 Set_Flag13
(N
, Val
);
4400 end Set_Has_Wide_Wide_Character
;
4402 procedure Set_Hidden_By_Use_Clause
4403 (N
: Node_Id
; Val
: Elist_Id
) is
4405 pragma Assert
(False
4406 or else NT
(N
).Nkind
= N_Use_Package_Clause
4407 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4408 Set_Elist4
(N
, Val
);
4409 end Set_Hidden_By_Use_Clause
;
4411 procedure Set_High_Bound
4412 (N
: Node_Id
; Val
: Node_Id
) is
4414 pragma Assert
(False
4415 or else NT
(N
).Nkind
= N_Range
4416 or else NT
(N
).Nkind
= N_Real_Range_Specification
4417 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4418 Set_Node2_With_Parent
(N
, Val
);
4421 procedure Set_Identifier
4422 (N
: Node_Id
; Val
: Node_Id
) is
4424 pragma Assert
(False
4425 or else NT
(N
).Nkind
= N_At_Clause
4426 or else NT
(N
).Nkind
= N_Block_Statement
4427 or else NT
(N
).Nkind
= N_Designator
4428 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4429 or else NT
(N
).Nkind
= N_Label
4430 or else NT
(N
).Nkind
= N_Loop_Statement
4431 or else NT
(N
).Nkind
= N_Record_Representation_Clause
4432 or else NT
(N
).Nkind
= N_Subprogram_Info
);
4433 Set_Node1_With_Parent
(N
, Val
);
4436 procedure Set_Implicit_With
4437 (N
: Node_Id
; Val
: Boolean := True) is
4439 pragma Assert
(False
4440 or else NT
(N
).Nkind
= N_With_Clause
);
4441 Set_Flag16
(N
, Val
);
4442 end Set_Implicit_With
;
4444 procedure Set_Interface_List
4445 (N
: Node_Id
; Val
: List_Id
) is
4447 pragma Assert
(False
4448 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4449 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4450 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4451 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
4452 or else NT
(N
).Nkind
= N_Record_Definition
4453 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
4454 or else NT
(N
).Nkind
= N_Single_Task_Declaration
4455 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4456 Set_List2_With_Parent
(N
, Val
);
4457 end Set_Interface_List
;
4459 procedure Set_Interface_Present
4460 (N
: Node_Id
; Val
: Boolean := True) is
4462 pragma Assert
(False
4463 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4464 or else NT
(N
).Nkind
= N_Record_Definition
);
4465 Set_Flag16
(N
, Val
);
4466 end Set_Interface_Present
;
4468 procedure Set_Import_Interface_Present
4469 (N
: Node_Id
; Val
: Boolean := True) is
4471 pragma Assert
(False
4472 or else NT
(N
).Nkind
= N_Pragma
);
4473 Set_Flag16
(N
, Val
);
4474 end Set_Import_Interface_Present
;
4476 procedure Set_In_Present
4477 (N
: Node_Id
; Val
: Boolean := True) is
4479 pragma Assert
(False
4480 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4481 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4482 Set_Flag15
(N
, Val
);
4485 procedure Set_Includes_Infinities
4486 (N
: Node_Id
; Val
: Boolean := True) is
4488 pragma Assert
(False
4489 or else NT
(N
).Nkind
= N_Range
);
4490 Set_Flag11
(N
, Val
);
4491 end Set_Includes_Infinities
;
4493 procedure Set_Inherited_Discriminant
4494 (N
: Node_Id
; Val
: Boolean := True) is
4496 pragma Assert
(False
4497 or else NT
(N
).Nkind
= N_Component_Association
);
4498 Set_Flag13
(N
, Val
);
4499 end Set_Inherited_Discriminant
;
4501 procedure Set_Instance_Spec
4502 (N
: Node_Id
; Val
: Node_Id
) is
4504 pragma Assert
(False
4505 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4506 or else NT
(N
).Nkind
= N_Function_Instantiation
4507 or else NT
(N
).Nkind
= N_Package_Instantiation
4508 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
4509 Set_Node5
(N
, Val
); -- semantic field, no Parent set
4510 end Set_Instance_Spec
;
4512 procedure Set_Intval
4513 (N
: Node_Id
; Val
: Uint
) is
4515 pragma Assert
(False
4516 or else NT
(N
).Nkind
= N_Integer_Literal
);
4520 procedure Set_Is_Accessibility_Actual
4521 (N
: Node_Id
; Val
: Boolean := True) is
4523 pragma Assert
(False
4524 or else NT
(N
).Nkind
= N_Parameter_Association
);
4525 Set_Flag13
(N
, Val
);
4526 end Set_Is_Accessibility_Actual
;
4528 procedure Set_Is_Asynchronous_Call_Block
4529 (N
: Node_Id
; Val
: Boolean := True) is
4531 pragma Assert
(False
4532 or else NT
(N
).Nkind
= N_Block_Statement
);
4534 end Set_Is_Asynchronous_Call_Block
;
4536 procedure Set_Is_Component_Left_Opnd
4537 (N
: Node_Id
; Val
: Boolean := True) is
4539 pragma Assert
(False
4540 or else NT
(N
).Nkind
= N_Op_Concat
);
4541 Set_Flag13
(N
, Val
);
4542 end Set_Is_Component_Left_Opnd
;
4544 procedure Set_Is_Component_Right_Opnd
4545 (N
: Node_Id
; Val
: Boolean := True) is
4547 pragma Assert
(False
4548 or else NT
(N
).Nkind
= N_Op_Concat
);
4549 Set_Flag14
(N
, Val
);
4550 end Set_Is_Component_Right_Opnd
;
4552 procedure Set_Is_Controlling_Actual
4553 (N
: Node_Id
; Val
: Boolean := True) is
4555 pragma Assert
(False
4556 or else NT
(N
).Nkind
in N_Subexpr
);
4557 Set_Flag16
(N
, Val
);
4558 end Set_Is_Controlling_Actual
;
4560 procedure Set_Is_Dynamic_Coextension
4561 (N
: Node_Id
; Val
: Boolean := True) is
4563 pragma Assert
(False
4564 or else NT
(N
).Nkind
= N_Allocator
);
4565 Set_Flag18
(N
, Val
);
4566 end Set_Is_Dynamic_Coextension
;
4568 procedure Set_Is_Elsif
4569 (N
: Node_Id
; Val
: Boolean := True) is
4571 pragma Assert
(False
4572 or else NT
(N
).Nkind
= N_Conditional_Expression
);
4573 Set_Flag13
(N
, Val
);
4576 procedure Set_Is_Entry_Barrier_Function
4577 (N
: Node_Id
; Val
: Boolean := True) is
4579 pragma Assert
(False
4580 or else NT
(N
).Nkind
= N_Subprogram_Body
);
4582 end Set_Is_Entry_Barrier_Function
;
4584 procedure Set_Is_Expanded_Build_In_Place_Call
4585 (N
: Node_Id
; Val
: Boolean := True) is
4587 pragma Assert
(False
4588 or else NT
(N
).Nkind
= N_Function_Call
);
4589 Set_Flag11
(N
, Val
);
4590 end Set_Is_Expanded_Build_In_Place_Call
;
4592 procedure Set_Is_Folded_In_Parser
4593 (N
: Node_Id
; Val
: Boolean := True) is
4595 pragma Assert
(False
4596 or else NT
(N
).Nkind
= N_String_Literal
);
4598 end Set_Is_Folded_In_Parser
;
4600 procedure Set_Is_In_Discriminant_Check
4601 (N
: Node_Id
; Val
: Boolean := True) is
4603 pragma Assert
(False
4604 or else NT
(N
).Nkind
= N_Selected_Component
);
4605 Set_Flag11
(N
, Val
);
4606 end Set_Is_In_Discriminant_Check
;
4608 procedure Set_Is_Machine_Number
4609 (N
: Node_Id
; Val
: Boolean := True) is
4611 pragma Assert
(False
4612 or else NT
(N
).Nkind
= N_Real_Literal
);
4613 Set_Flag11
(N
, Val
);
4614 end Set_Is_Machine_Number
;
4616 procedure Set_Is_Null_Loop
4617 (N
: Node_Id
; Val
: Boolean := True) is
4619 pragma Assert
(False
4620 or else NT
(N
).Nkind
= N_Loop_Statement
);
4621 Set_Flag16
(N
, Val
);
4622 end Set_Is_Null_Loop
;
4624 procedure Set_Is_Overloaded
4625 (N
: Node_Id
; Val
: Boolean := True) is
4627 pragma Assert
(False
4628 or else NT
(N
).Nkind
in N_Subexpr
);
4630 end Set_Is_Overloaded
;
4632 procedure Set_Is_Power_Of_2_For_Shift
4633 (N
: Node_Id
; Val
: Boolean := True) is
4635 pragma Assert
(False
4636 or else NT
(N
).Nkind
= N_Op_Expon
);
4637 Set_Flag13
(N
, Val
);
4638 end Set_Is_Power_Of_2_For_Shift
;
4640 procedure Set_Is_Protected_Subprogram_Body
4641 (N
: Node_Id
; Val
: Boolean := True) is
4643 pragma Assert
(False
4644 or else NT
(N
).Nkind
= N_Subprogram_Body
);
4646 end Set_Is_Protected_Subprogram_Body
;
4648 procedure Set_Is_Static_Coextension
4649 (N
: Node_Id
; Val
: Boolean := True) is
4651 pragma Assert
(False
4652 or else NT
(N
).Nkind
= N_Allocator
);
4653 Set_Flag14
(N
, Val
);
4654 end Set_Is_Static_Coextension
;
4656 procedure Set_Is_Static_Expression
4657 (N
: Node_Id
; Val
: Boolean := True) is
4659 pragma Assert
(False
4660 or else NT
(N
).Nkind
in N_Subexpr
);
4662 end Set_Is_Static_Expression
;
4664 procedure Set_Is_Subprogram_Descriptor
4665 (N
: Node_Id
; Val
: Boolean := True) is
4667 pragma Assert
(False
4668 or else NT
(N
).Nkind
= N_Object_Declaration
);
4669 Set_Flag16
(N
, Val
);
4670 end Set_Is_Subprogram_Descriptor
;
4672 procedure Set_Is_Task_Allocation_Block
4673 (N
: Node_Id
; Val
: Boolean := True) is
4675 pragma Assert
(False
4676 or else NT
(N
).Nkind
= N_Block_Statement
);
4678 end Set_Is_Task_Allocation_Block
;
4680 procedure Set_Is_Task_Master
4681 (N
: Node_Id
; Val
: Boolean := True) is
4683 pragma Assert
(False
4684 or else NT
(N
).Nkind
= N_Block_Statement
4685 or else NT
(N
).Nkind
= N_Subprogram_Body
4686 or else NT
(N
).Nkind
= N_Task_Body
);
4688 end Set_Is_Task_Master
;
4690 procedure Set_Iteration_Scheme
4691 (N
: Node_Id
; Val
: Node_Id
) is
4693 pragma Assert
(False
4694 or else NT
(N
).Nkind
= N_Loop_Statement
);
4695 Set_Node2_With_Parent
(N
, Val
);
4696 end Set_Iteration_Scheme
;
4699 (N
: Node_Id
; Val
: Entity_Id
) is
4701 pragma Assert
(False
4702 or else NT
(N
).Nkind
= N_Itype_Reference
);
4703 Set_Node1
(N
, Val
); -- no parent, semantic field
4706 procedure Set_Kill_Range_Check
4707 (N
: Node_Id
; Val
: Boolean := True) is
4709 pragma Assert
(False
4710 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4711 Set_Flag11
(N
, Val
);
4712 end Set_Kill_Range_Check
;
4714 procedure Set_Label_Construct
4715 (N
: Node_Id
; Val
: Node_Id
) is
4717 pragma Assert
(False
4718 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
4719 Set_Node2
(N
, Val
); -- semantic field, no parent set
4720 end Set_Label_Construct
;
4722 procedure Set_Last_Bit
4723 (N
: Node_Id
; Val
: Node_Id
) is
4725 pragma Assert
(False
4726 or else NT
(N
).Nkind
= N_Component_Clause
);
4727 Set_Node4_With_Parent
(N
, Val
);
4730 procedure Set_Last_Name
4731 (N
: Node_Id
; Val
: Boolean := True) is
4733 pragma Assert
(False
4734 or else NT
(N
).Nkind
= N_With_Clause
);
4738 procedure Set_Left_Opnd
4739 (N
: Node_Id
; Val
: Node_Id
) is
4741 pragma Assert
(False
4742 or else NT
(N
).Nkind
= N_And_Then
4743 or else NT
(N
).Nkind
= N_In
4744 or else NT
(N
).Nkind
= N_Not_In
4745 or else NT
(N
).Nkind
= N_Or_Else
4746 or else NT
(N
).Nkind
in N_Binary_Op
);
4747 Set_Node2_With_Parent
(N
, Val
);
4750 procedure Set_Library_Unit
4751 (N
: Node_Id
; Val
: Node_Id
) is
4753 pragma Assert
(False
4754 or else NT
(N
).Nkind
= N_Compilation_Unit
4755 or else NT
(N
).Nkind
= N_Package_Body_Stub
4756 or else NT
(N
).Nkind
= N_Protected_Body_Stub
4757 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4758 or else NT
(N
).Nkind
= N_Task_Body_Stub
4759 or else NT
(N
).Nkind
= N_With_Clause
);
4760 Set_Node4
(N
, Val
); -- semantic field, no parent set
4761 end Set_Library_Unit
;
4763 procedure Set_Limited_View_Installed
4764 (N
: Node_Id
; Val
: Boolean := True) is
4766 pragma Assert
(False
4767 or else NT
(N
).Nkind
= N_Package_Specification
4768 or else NT
(N
).Nkind
= N_With_Clause
);
4769 Set_Flag18
(N
, Val
);
4770 end Set_Limited_View_Installed
;
4772 procedure Set_Limited_Present
4773 (N
: Node_Id
; Val
: Boolean := True) is
4775 pragma Assert
(False
4776 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4777 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4778 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
4779 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4780 or else NT
(N
).Nkind
= N_Private_Type_Declaration
4781 or else NT
(N
).Nkind
= N_Record_Definition
4782 or else NT
(N
).Nkind
= N_With_Clause
);
4783 Set_Flag17
(N
, Val
);
4784 end Set_Limited_Present
;
4786 procedure Set_Literals
4787 (N
: Node_Id
; Val
: List_Id
) is
4789 pragma Assert
(False
4790 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
4791 Set_List1_With_Parent
(N
, Val
);
4794 procedure Set_Local_Raise_Not_OK
4795 (N
: Node_Id
; Val
: Boolean := True) is
4797 pragma Assert
(False
4798 or else NT
(N
).Nkind
= N_Exception_Handler
);
4800 end Set_Local_Raise_Not_OK
;
4802 procedure Set_Local_Raise_Statements
4803 (N
: Node_Id
; Val
: Elist_Id
) is
4805 pragma Assert
(False
4806 or else NT
(N
).Nkind
= N_Exception_Handler
);
4807 Set_Elist1
(N
, Val
);
4808 end Set_Local_Raise_Statements
;
4810 procedure Set_Loop_Actions
4811 (N
: Node_Id
; Val
: List_Id
) is
4813 pragma Assert
(False
4814 or else NT
(N
).Nkind
= N_Component_Association
);
4815 Set_List2
(N
, Val
); -- semantic field, no parent set
4816 end Set_Loop_Actions
;
4818 procedure Set_Loop_Parameter_Specification
4819 (N
: Node_Id
; Val
: Node_Id
) is
4821 pragma Assert
(False
4822 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
4823 Set_Node4_With_Parent
(N
, Val
);
4824 end Set_Loop_Parameter_Specification
;
4826 procedure Set_Low_Bound
4827 (N
: Node_Id
; Val
: Node_Id
) is
4829 pragma Assert
(False
4830 or else NT
(N
).Nkind
= N_Range
4831 or else NT
(N
).Nkind
= N_Real_Range_Specification
4832 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4833 Set_Node1_With_Parent
(N
, Val
);
4836 procedure Set_Mod_Clause
4837 (N
: Node_Id
; Val
: Node_Id
) is
4839 pragma Assert
(False
4840 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4841 Set_Node2_With_Parent
(N
, Val
);
4844 procedure Set_More_Ids
4845 (N
: Node_Id
; Val
: Boolean := True) is
4847 pragma Assert
(False
4848 or else NT
(N
).Nkind
= N_Component_Declaration
4849 or else NT
(N
).Nkind
= N_Discriminant_Specification
4850 or else NT
(N
).Nkind
= N_Exception_Declaration
4851 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4852 or else NT
(N
).Nkind
= N_Number_Declaration
4853 or else NT
(N
).Nkind
= N_Object_Declaration
4854 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4858 procedure Set_Must_Be_Byte_Aligned
4859 (N
: Node_Id
; Val
: Boolean := True) is
4861 pragma Assert
(False
4862 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4863 Set_Flag14
(N
, Val
);
4864 end Set_Must_Be_Byte_Aligned
;
4866 procedure Set_Must_Not_Freeze
4867 (N
: Node_Id
; Val
: Boolean := True) is
4869 pragma Assert
(False
4870 or else NT
(N
).Nkind
= N_Subtype_Indication
4871 or else NT
(N
).Nkind
in N_Subexpr
);
4873 end Set_Must_Not_Freeze
;
4875 procedure Set_Must_Not_Override
4876 (N
: Node_Id
; Val
: Boolean := True) is
4878 pragma Assert
(False
4879 or else NT
(N
).Nkind
= N_Entry_Declaration
4880 or else NT
(N
).Nkind
= N_Function_Instantiation
4881 or else NT
(N
).Nkind
= N_Function_Specification
4882 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4883 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4884 Set_Flag15
(N
, Val
);
4885 end Set_Must_Not_Override
;
4887 procedure Set_Must_Override
4888 (N
: Node_Id
; Val
: Boolean := True) is
4890 pragma Assert
(False
4891 or else NT
(N
).Nkind
= N_Entry_Declaration
4892 or else NT
(N
).Nkind
= N_Function_Instantiation
4893 or else NT
(N
).Nkind
= N_Function_Specification
4894 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4895 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4896 Set_Flag14
(N
, Val
);
4897 end Set_Must_Override
;
4900 (N
: Node_Id
; Val
: Node_Id
) is
4902 pragma Assert
(False
4903 or else NT
(N
).Nkind
= N_Assignment_Statement
4904 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4905 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
4906 or else NT
(N
).Nkind
= N_Designator
4907 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4908 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
4909 or else NT
(N
).Nkind
= N_Exit_Statement
4910 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4911 or else NT
(N
).Nkind
= N_Function_Call
4912 or else NT
(N
).Nkind
= N_Function_Instantiation
4913 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4914 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4915 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4916 or else NT
(N
).Nkind
= N_Goto_Statement
4917 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4918 or else NT
(N
).Nkind
= N_Package_Instantiation
4919 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4920 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
4921 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4922 or else NT
(N
).Nkind
= N_Raise_Statement
4923 or else NT
(N
).Nkind
= N_Requeue_Statement
4924 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
4925 or else NT
(N
).Nkind
= N_Subunit
4926 or else NT
(N
).Nkind
= N_Variant_Part
4927 or else NT
(N
).Nkind
= N_With_Clause
);
4928 Set_Node2_With_Parent
(N
, Val
);
4932 (N
: Node_Id
; Val
: List_Id
) is
4934 pragma Assert
(False
4935 or else NT
(N
).Nkind
= N_Abort_Statement
4936 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
4937 Set_List2_With_Parent
(N
, Val
);
4940 procedure Set_Next_Entity
4941 (N
: Node_Id
; Val
: Node_Id
) is
4943 pragma Assert
(False
4944 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4945 or else NT
(N
).Nkind
= N_Defining_Identifier
4946 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4947 Set_Node2
(N
, Val
); -- semantic field, no parent set
4948 end Set_Next_Entity
;
4950 procedure Set_Next_Exit_Statement
4951 (N
: Node_Id
; Val
: Node_Id
) is
4953 pragma Assert
(False
4954 or else NT
(N
).Nkind
= N_Exit_Statement
);
4955 Set_Node3
(N
, Val
); -- semantic field, no parent set
4956 end Set_Next_Exit_Statement
;
4958 procedure Set_Next_Implicit_With
4959 (N
: Node_Id
; Val
: Node_Id
) is
4961 pragma Assert
(False
4962 or else NT
(N
).Nkind
= N_With_Clause
);
4963 Set_Node3
(N
, Val
); -- semantic field, no parent set
4964 end Set_Next_Implicit_With
;
4966 procedure Set_Next_Named_Actual
4967 (N
: Node_Id
; Val
: Node_Id
) is
4969 pragma Assert
(False
4970 or else NT
(N
).Nkind
= N_Parameter_Association
);
4971 Set_Node4
(N
, Val
); -- semantic field, no parent set
4972 end Set_Next_Named_Actual
;
4974 procedure Set_Next_Pragma
4975 (N
: Node_Id
; Val
: Node_Id
) is
4977 pragma Assert
(False
4978 or else NT
(N
).Nkind
= N_Pragma
);
4979 Set_Node1
(N
, Val
); -- semantic field, no parent set
4980 end Set_Next_Pragma
;
4982 procedure Set_Next_Rep_Item
4983 (N
: Node_Id
; Val
: Node_Id
) is
4985 pragma Assert
(False
4986 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4987 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4988 or else NT
(N
).Nkind
= N_Pragma
4989 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4990 Set_Node5
(N
, Val
); -- semantic field, no parent set
4991 end Set_Next_Rep_Item
;
4993 procedure Set_Next_Use_Clause
4994 (N
: Node_Id
; Val
: Node_Id
) is
4996 pragma Assert
(False
4997 or else NT
(N
).Nkind
= N_Use_Package_Clause
4998 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4999 Set_Node3
(N
, Val
); -- semantic field, no parent set
5000 end Set_Next_Use_Clause
;
5002 procedure Set_No_Ctrl_Actions
5003 (N
: Node_Id
; Val
: Boolean := True) is
5005 pragma Assert
(False
5006 or else NT
(N
).Nkind
= N_Assignment_Statement
);
5008 end Set_No_Ctrl_Actions
;
5010 procedure Set_No_Elaboration_Check
5011 (N
: Node_Id
; Val
: Boolean := True) is
5013 pragma Assert
(False
5014 or else NT
(N
).Nkind
= N_Function_Call
5015 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
5016 Set_Flag14
(N
, Val
);
5017 end Set_No_Elaboration_Check
;
5019 procedure Set_No_Entities_Ref_In_Spec
5020 (N
: Node_Id
; Val
: Boolean := True) is
5022 pragma Assert
(False
5023 or else NT
(N
).Nkind
= N_With_Clause
);
5025 end Set_No_Entities_Ref_In_Spec
;
5027 procedure Set_No_Initialization
5028 (N
: Node_Id
; Val
: Boolean := True) is
5030 pragma Assert
(False
5031 or else NT
(N
).Nkind
= N_Allocator
5032 or else NT
(N
).Nkind
= N_Object_Declaration
);
5033 Set_Flag13
(N
, Val
);
5034 end Set_No_Initialization
;
5036 procedure Set_No_Truncation
5037 (N
: Node_Id
; Val
: Boolean := True) is
5039 pragma Assert
(False
5040 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
5041 Set_Flag17
(N
, Val
);
5042 end Set_No_Truncation
;
5044 procedure Set_Null_Present
5045 (N
: Node_Id
; Val
: Boolean := True) is
5047 pragma Assert
(False
5048 or else NT
(N
).Nkind
= N_Component_List
5049 or else NT
(N
).Nkind
= N_Procedure_Specification
5050 or else NT
(N
).Nkind
= N_Record_Definition
);
5051 Set_Flag13
(N
, Val
);
5052 end Set_Null_Present
;
5054 procedure Set_Null_Exclusion_Present
5055 (N
: Node_Id
; Val
: Boolean := True) is
5057 pragma Assert
(False
5058 or else NT
(N
).Nkind
= N_Access_Definition
5059 or else NT
(N
).Nkind
= N_Access_Function_Definition
5060 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
5061 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
5062 or else NT
(N
).Nkind
= N_Allocator
5063 or else NT
(N
).Nkind
= N_Component_Definition
5064 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5065 or else NT
(N
).Nkind
= N_Discriminant_Specification
5066 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5067 or else NT
(N
).Nkind
= N_Function_Specification
5068 or else NT
(N
).Nkind
= N_Object_Declaration
5069 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
5070 or else NT
(N
).Nkind
= N_Parameter_Specification
5071 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
5072 Set_Flag11
(N
, Val
);
5073 end Set_Null_Exclusion_Present
;
5075 procedure Set_Null_Exclusion_In_Return_Present
5076 (N
: Node_Id
; Val
: Boolean := True) is
5078 pragma Assert
(False
5079 or else NT
(N
).Nkind
= N_Access_Function_Definition
);
5080 Set_Flag14
(N
, Val
);
5081 end Set_Null_Exclusion_In_Return_Present
;
5083 procedure Set_Null_Record_Present
5084 (N
: Node_Id
; Val
: Boolean := True) is
5086 pragma Assert
(False
5087 or else NT
(N
).Nkind
= N_Aggregate
5088 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
5089 Set_Flag17
(N
, Val
);
5090 end Set_Null_Record_Present
;
5092 procedure Set_Object_Definition
5093 (N
: Node_Id
; Val
: Node_Id
) is
5095 pragma Assert
(False
5096 or else NT
(N
).Nkind
= N_Object_Declaration
);
5097 Set_Node4_With_Parent
(N
, Val
);
5098 end Set_Object_Definition
;
5100 procedure Set_Original_Discriminant
5101 (N
: Node_Id
; Val
: Node_Id
) is
5103 pragma Assert
(False
5104 or else NT
(N
).Nkind
= N_Identifier
);
5105 Set_Node2
(N
, Val
); -- semantic field, no parent set
5106 end Set_Original_Discriminant
;
5108 procedure Set_Original_Entity
5109 (N
: Node_Id
; Val
: Entity_Id
) is
5111 pragma Assert
(False
5112 or else NT
(N
).Nkind
= N_Integer_Literal
5113 or else NT
(N
).Nkind
= N_Real_Literal
);
5114 Set_Node2
(N
, Val
); -- semantic field, no parent set
5115 end Set_Original_Entity
;
5117 procedure Set_Others_Discrete_Choices
5118 (N
: Node_Id
; Val
: List_Id
) is
5120 pragma Assert
(False
5121 or else NT
(N
).Nkind
= N_Others_Choice
);
5122 Set_List1_With_Parent
(N
, Val
);
5123 end Set_Others_Discrete_Choices
;
5125 procedure Set_Out_Present
5126 (N
: Node_Id
; Val
: Boolean := True) is
5128 pragma Assert
(False
5129 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5130 or else NT
(N
).Nkind
= N_Parameter_Specification
);
5131 Set_Flag17
(N
, Val
);
5132 end Set_Out_Present
;
5134 procedure Set_Parameter_Associations
5135 (N
: Node_Id
; Val
: List_Id
) is
5137 pragma Assert
(False
5138 or else NT
(N
).Nkind
= N_Entry_Call_Statement
5139 or else NT
(N
).Nkind
= N_Function_Call
5140 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
5141 Set_List3_With_Parent
(N
, Val
);
5142 end Set_Parameter_Associations
;
5144 procedure Set_Parameter_List_Truncated
5145 (N
: Node_Id
; Val
: Boolean := True) is
5147 pragma Assert
(False
5148 or else NT
(N
).Nkind
= N_Function_Call
5149 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
5150 Set_Flag17
(N
, Val
);
5151 end Set_Parameter_List_Truncated
;
5153 procedure Set_Parameter_Specifications
5154 (N
: Node_Id
; Val
: List_Id
) is
5156 pragma Assert
(False
5157 or else NT
(N
).Nkind
= N_Accept_Statement
5158 or else NT
(N
).Nkind
= N_Access_Function_Definition
5159 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
5160 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
5161 or else NT
(N
).Nkind
= N_Entry_Declaration
5162 or else NT
(N
).Nkind
= N_Function_Specification
5163 or else NT
(N
).Nkind
= N_Procedure_Specification
);
5164 Set_List3_With_Parent
(N
, Val
);
5165 end Set_Parameter_Specifications
;
5167 procedure Set_Parameter_Type
5168 (N
: Node_Id
; Val
: Node_Id
) is
5170 pragma Assert
(False
5171 or else NT
(N
).Nkind
= N_Parameter_Specification
);
5172 Set_Node2_With_Parent
(N
, Val
);
5173 end Set_Parameter_Type
;
5175 procedure Set_Parent_Spec
5176 (N
: Node_Id
; Val
: Node_Id
) is
5178 pragma Assert
(False
5179 or else NT
(N
).Nkind
= N_Function_Instantiation
5180 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
5181 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
5182 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
5183 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
5184 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
5185 or else NT
(N
).Nkind
= N_Package_Declaration
5186 or else NT
(N
).Nkind
= N_Package_Instantiation
5187 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
5188 or else NT
(N
).Nkind
= N_Procedure_Instantiation
5189 or else NT
(N
).Nkind
= N_Subprogram_Declaration
5190 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
5191 Set_Node4
(N
, Val
); -- semantic field, no parent set
5192 end Set_Parent_Spec
;
5194 procedure Set_Position
5195 (N
: Node_Id
; Val
: Node_Id
) is
5197 pragma Assert
(False
5198 or else NT
(N
).Nkind
= N_Component_Clause
);
5199 Set_Node2_With_Parent
(N
, Val
);
5202 procedure Set_Pragma_Argument_Associations
5203 (N
: Node_Id
; Val
: List_Id
) is
5205 pragma Assert
(False
5206 or else NT
(N
).Nkind
= N_Pragma
);
5207 Set_List2_With_Parent
(N
, Val
);
5208 end Set_Pragma_Argument_Associations
;
5210 procedure Set_Pragma_Enabled
5211 (N
: Node_Id
; Val
: Boolean := True) is
5213 pragma Assert
(False
5214 or else NT
(N
).Nkind
= N_Pragma
);
5216 end Set_Pragma_Enabled
;
5218 procedure Set_Pragma_Identifier
5219 (N
: Node_Id
; Val
: Node_Id
) is
5221 pragma Assert
(False
5222 or else NT
(N
).Nkind
= N_Pragma
);
5223 Set_Node4_With_Parent
(N
, Val
);
5224 end Set_Pragma_Identifier
;
5226 procedure Set_Pragmas_After
5227 (N
: Node_Id
; Val
: List_Id
) is
5229 pragma Assert
(False
5230 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
5231 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
5232 Set_List5_With_Parent
(N
, Val
);
5233 end Set_Pragmas_After
;
5235 procedure Set_Pragmas_Before
5236 (N
: Node_Id
; Val
: List_Id
) is
5238 pragma Assert
(False
5239 or else NT
(N
).Nkind
= N_Accept_Alternative
5240 or else NT
(N
).Nkind
= N_Delay_Alternative
5241 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
5242 or else NT
(N
).Nkind
= N_Mod_Clause
5243 or else NT
(N
).Nkind
= N_Terminate_Alternative
5244 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5245 Set_List4_With_Parent
(N
, Val
);
5246 end Set_Pragmas_Before
;
5248 procedure Set_Prefix
5249 (N
: Node_Id
; Val
: Node_Id
) is
5251 pragma Assert
(False
5252 or else NT
(N
).Nkind
= N_Attribute_Reference
5253 or else NT
(N
).Nkind
= N_Expanded_Name
5254 or else NT
(N
).Nkind
= N_Explicit_Dereference
5255 or else NT
(N
).Nkind
= N_Indexed_Component
5256 or else NT
(N
).Nkind
= N_Reference
5257 or else NT
(N
).Nkind
= N_Selected_Component
5258 or else NT
(N
).Nkind
= N_Slice
);
5259 Set_Node3_With_Parent
(N
, Val
);
5262 procedure Set_Present_Expr
5263 (N
: Node_Id
; Val
: Uint
) is
5265 pragma Assert
(False
5266 or else NT
(N
).Nkind
= N_Variant
);
5268 end Set_Present_Expr
;
5270 procedure Set_Prev_Ids
5271 (N
: Node_Id
; Val
: Boolean := True) is
5273 pragma Assert
(False
5274 or else NT
(N
).Nkind
= N_Component_Declaration
5275 or else NT
(N
).Nkind
= N_Discriminant_Specification
5276 or else NT
(N
).Nkind
= N_Exception_Declaration
5277 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5278 or else NT
(N
).Nkind
= N_Number_Declaration
5279 or else NT
(N
).Nkind
= N_Object_Declaration
5280 or else NT
(N
).Nkind
= N_Parameter_Specification
);
5284 procedure Set_Print_In_Hex
5285 (N
: Node_Id
; Val
: Boolean := True) is
5287 pragma Assert
(False
5288 or else NT
(N
).Nkind
= N_Integer_Literal
);
5289 Set_Flag13
(N
, Val
);
5290 end Set_Print_In_Hex
;
5292 procedure Set_Private_Declarations
5293 (N
: Node_Id
; Val
: List_Id
) is
5295 pragma Assert
(False
5296 or else NT
(N
).Nkind
= N_Package_Specification
5297 or else NT
(N
).Nkind
= N_Protected_Definition
5298 or else NT
(N
).Nkind
= N_Task_Definition
);
5299 Set_List3_With_Parent
(N
, Val
);
5300 end Set_Private_Declarations
;
5302 procedure Set_Private_Present
5303 (N
: Node_Id
; Val
: Boolean := True) is
5305 pragma Assert
(False
5306 or else NT
(N
).Nkind
= N_Compilation_Unit
5307 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5308 or else NT
(N
).Nkind
= N_With_Clause
);
5309 Set_Flag15
(N
, Val
);
5310 end Set_Private_Present
;
5312 procedure Set_Procedure_To_Call
5313 (N
: Node_Id
; Val
: Node_Id
) is
5315 pragma Assert
(False
5316 or else NT
(N
).Nkind
= N_Allocator
5317 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5318 or else NT
(N
).Nkind
= N_Free_Statement
5319 or else NT
(N
).Nkind
= N_Return_Statement
);
5320 Set_Node2
(N
, Val
); -- semantic field, no parent set
5321 end Set_Procedure_To_Call
;
5323 procedure Set_Proper_Body
5324 (N
: Node_Id
; Val
: Node_Id
) is
5326 pragma Assert
(False
5327 or else NT
(N
).Nkind
= N_Subunit
);
5328 Set_Node1_With_Parent
(N
, Val
);
5329 end Set_Proper_Body
;
5331 procedure Set_Protected_Definition
5332 (N
: Node_Id
; Val
: Node_Id
) is
5334 pragma Assert
(False
5335 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
5336 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
5337 Set_Node3_With_Parent
(N
, Val
);
5338 end Set_Protected_Definition
;
5340 procedure Set_Protected_Present
5341 (N
: Node_Id
; Val
: Boolean := True) is
5343 pragma Assert
(False
5344 or else NT
(N
).Nkind
= N_Access_Function_Definition
5345 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
5346 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5347 or else NT
(N
).Nkind
= N_Record_Definition
);
5349 end Set_Protected_Present
;
5351 procedure Set_Raises_Constraint_Error
5352 (N
: Node_Id
; Val
: Boolean := True) is
5354 pragma Assert
(False
5355 or else NT
(N
).Nkind
in N_Subexpr
);
5357 end Set_Raises_Constraint_Error
;
5359 procedure Set_Range_Constraint
5360 (N
: Node_Id
; Val
: Node_Id
) is
5362 pragma Assert
(False
5363 or else NT
(N
).Nkind
= N_Delta_Constraint
5364 or else NT
(N
).Nkind
= N_Digits_Constraint
);
5365 Set_Node4_With_Parent
(N
, Val
);
5366 end Set_Range_Constraint
;
5368 procedure Set_Range_Expression
5369 (N
: Node_Id
; Val
: Node_Id
) is
5371 pragma Assert
(False
5372 or else NT
(N
).Nkind
= N_Range_Constraint
);
5373 Set_Node4_With_Parent
(N
, Val
);
5374 end Set_Range_Expression
;
5376 procedure Set_Real_Range_Specification
5377 (N
: Node_Id
; Val
: Node_Id
) is
5379 pragma Assert
(False
5380 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
5381 or else NT
(N
).Nkind
= N_Floating_Point_Definition
5382 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
5383 Set_Node4_With_Parent
(N
, Val
);
5384 end Set_Real_Range_Specification
;
5386 procedure Set_Realval
5387 (N
: Node_Id
; Val
: Ureal
) is
5389 pragma Assert
(False
5390 or else NT
(N
).Nkind
= N_Real_Literal
);
5391 Set_Ureal3
(N
, Val
);
5394 procedure Set_Reason
5395 (N
: Node_Id
; Val
: Uint
) is
5397 pragma Assert
(False
5398 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
5399 or else NT
(N
).Nkind
= N_Raise_Program_Error
5400 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
5404 procedure Set_Record_Extension_Part
5405 (N
: Node_Id
; Val
: Node_Id
) is
5407 pragma Assert
(False
5408 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
5409 Set_Node3_With_Parent
(N
, Val
);
5410 end Set_Record_Extension_Part
;
5412 procedure Set_Redundant_Use
5413 (N
: Node_Id
; Val
: Boolean := True) is
5415 pragma Assert
(False
5416 or else NT
(N
).Nkind
= N_Attribute_Reference
5417 or else NT
(N
).Nkind
= N_Expanded_Name
5418 or else NT
(N
).Nkind
= N_Identifier
);
5419 Set_Flag13
(N
, Val
);
5420 end Set_Redundant_Use
;
5422 procedure Set_Renaming_Exception
5423 (N
: Node_Id
; Val
: Node_Id
) is
5425 pragma Assert
(False
5426 or else NT
(N
).Nkind
= N_Exception_Declaration
);
5428 end Set_Renaming_Exception
;
5430 procedure Set_Result_Definition
5431 (N
: Node_Id
; Val
: Node_Id
) is
5433 pragma Assert
(False
5434 or else NT
(N
).Nkind
= N_Access_Function_Definition
5435 or else NT
(N
).Nkind
= N_Function_Specification
);
5436 Set_Node4_With_Parent
(N
, Val
);
5437 end Set_Result_Definition
;
5439 procedure Set_Return_Object_Declarations
5440 (N
: Node_Id
; Val
: List_Id
) is
5442 pragma Assert
(False
5443 or else NT
(N
).Nkind
= N_Extended_Return_Statement
);
5444 Set_List3_With_Parent
(N
, Val
);
5445 end Set_Return_Object_Declarations
;
5447 procedure Set_Return_Statement_Entity
5448 (N
: Node_Id
; Val
: Node_Id
) is
5450 pragma Assert
(False
5451 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5452 or else NT
(N
).Nkind
= N_Return_Statement
);
5453 Set_Node5
(N
, Val
); -- semantic field, no parent set
5454 end Set_Return_Statement_Entity
;
5456 procedure Set_Reverse_Present
5457 (N
: Node_Id
; Val
: Boolean := True) is
5459 pragma Assert
(False
5460 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
5461 Set_Flag15
(N
, Val
);
5462 end Set_Reverse_Present
;
5464 procedure Set_Right_Opnd
5465 (N
: Node_Id
; Val
: Node_Id
) is
5467 pragma Assert
(False
5468 or else NT
(N
).Nkind
in N_Op
5469 or else NT
(N
).Nkind
= N_And_Then
5470 or else NT
(N
).Nkind
= N_In
5471 or else NT
(N
).Nkind
= N_Not_In
5472 or else NT
(N
).Nkind
= N_Or_Else
);
5473 Set_Node3_With_Parent
(N
, Val
);
5476 procedure Set_Rounded_Result
5477 (N
: Node_Id
; Val
: Boolean := True) is
5479 pragma Assert
(False
5480 or else NT
(N
).Nkind
= N_Op_Divide
5481 or else NT
(N
).Nkind
= N_Op_Multiply
5482 or else NT
(N
).Nkind
= N_Type_Conversion
);
5483 Set_Flag18
(N
, Val
);
5484 end Set_Rounded_Result
;
5486 procedure Set_SCIL_Controlling_Tag
5487 (N
: Node_Id
; Val
: Node_Id
) is
5489 pragma Assert
(False
5490 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
);
5491 Set_Node5
(N
, Val
); -- semantic field, no parent set
5492 end Set_SCIL_Controlling_Tag
;
5494 procedure Set_SCIL_Entity
5495 (N
: Node_Id
; Val
: Node_Id
) is
5497 pragma Assert
(False
5498 or else NT
(N
).Nkind
= N_SCIL_Dispatch_Table_Tag_Init
5499 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
5500 or else NT
(N
).Nkind
= N_SCIL_Membership_Test
);
5501 Set_Node4
(N
, Val
); -- semantic field, no parent set
5502 end Set_SCIL_Entity
;
5504 procedure Set_SCIL_Tag_Value
5505 (N
: Node_Id
; Val
: Node_Id
) is
5507 pragma Assert
(False
5508 or else NT
(N
).Nkind
= N_SCIL_Membership_Test
);
5509 Set_Node5
(N
, Val
); -- semantic field, no parent set
5510 end Set_SCIL_Tag_Value
;
5512 procedure Set_SCIL_Target_Prim
5513 (N
: Node_Id
; Val
: Node_Id
) is
5515 pragma Assert
(False
5516 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
);
5517 Set_Node2
(N
, Val
); -- semantic field, no parent set
5518 end Set_SCIL_Target_Prim
;
5521 (N
: Node_Id
; Val
: Node_Id
) is
5523 pragma Assert
(False
5524 or else NT
(N
).Nkind
= N_Defining_Character_Literal
5525 or else NT
(N
).Nkind
= N_Defining_Identifier
5526 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
5527 Set_Node3
(N
, Val
); -- semantic field, no parent set
5530 procedure Set_Select_Alternatives
5531 (N
: Node_Id
; Val
: List_Id
) is
5533 pragma Assert
(False
5534 or else NT
(N
).Nkind
= N_Selective_Accept
);
5535 Set_List1_With_Parent
(N
, Val
);
5536 end Set_Select_Alternatives
;
5538 procedure Set_Selector_Name
5539 (N
: Node_Id
; Val
: Node_Id
) is
5541 pragma Assert
(False
5542 or else NT
(N
).Nkind
= N_Expanded_Name
5543 or else NT
(N
).Nkind
= N_Generic_Association
5544 or else NT
(N
).Nkind
= N_Parameter_Association
5545 or else NT
(N
).Nkind
= N_Selected_Component
);
5546 Set_Node2_With_Parent
(N
, Val
);
5547 end Set_Selector_Name
;
5549 procedure Set_Selector_Names
5550 (N
: Node_Id
; Val
: List_Id
) is
5552 pragma Assert
(False
5553 or else NT
(N
).Nkind
= N_Discriminant_Association
);
5554 Set_List1_With_Parent
(N
, Val
);
5555 end Set_Selector_Names
;
5557 procedure Set_Shift_Count_OK
5558 (N
: Node_Id
; Val
: Boolean := True) is
5560 pragma Assert
(False
5561 or else NT
(N
).Nkind
= N_Op_Rotate_Left
5562 or else NT
(N
).Nkind
= N_Op_Rotate_Right
5563 or else NT
(N
).Nkind
= N_Op_Shift_Left
5564 or else NT
(N
).Nkind
= N_Op_Shift_Right
5565 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
5567 end Set_Shift_Count_OK
;
5569 procedure Set_Source_Type
5570 (N
: Node_Id
; Val
: Entity_Id
) is
5572 pragma Assert
(False
5573 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
5574 Set_Node1
(N
, Val
); -- semantic field, no parent set
5575 end Set_Source_Type
;
5577 procedure Set_Specification
5578 (N
: Node_Id
; Val
: Node_Id
) is
5580 pragma Assert
(False
5581 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
5582 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
5583 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
5584 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
5585 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
5586 or else NT
(N
).Nkind
= N_Package_Declaration
5587 or else NT
(N
).Nkind
= N_Subprogram_Body
5588 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
5589 or else NT
(N
).Nkind
= N_Subprogram_Declaration
5590 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
5591 Set_Node1_With_Parent
(N
, Val
);
5592 end Set_Specification
;
5594 procedure Set_Statements
5595 (N
: Node_Id
; Val
: List_Id
) is
5597 pragma Assert
(False
5598 or else NT
(N
).Nkind
= N_Abortable_Part
5599 or else NT
(N
).Nkind
= N_Accept_Alternative
5600 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
5601 or else NT
(N
).Nkind
= N_Delay_Alternative
5602 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
5603 or else NT
(N
).Nkind
= N_Exception_Handler
5604 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
5605 or else NT
(N
).Nkind
= N_Loop_Statement
5606 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5607 Set_List3_With_Parent
(N
, Val
);
5610 procedure Set_Static_Processing_OK
5611 (N
: Node_Id
; Val
: Boolean) is
5613 pragma Assert
(False
5614 or else NT
(N
).Nkind
= N_Aggregate
);
5616 end Set_Static_Processing_OK
;
5618 procedure Set_Storage_Pool
5619 (N
: Node_Id
; Val
: Node_Id
) is
5621 pragma Assert
(False
5622 or else NT
(N
).Nkind
= N_Allocator
5623 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5624 or else NT
(N
).Nkind
= N_Free_Statement
5625 or else NT
(N
).Nkind
= N_Return_Statement
);
5626 Set_Node1
(N
, Val
); -- semantic field, no parent set
5627 end Set_Storage_Pool
;
5629 procedure Set_Strval
5630 (N
: Node_Id
; Val
: String_Id
) is
5632 pragma Assert
(False
5633 or else NT
(N
).Nkind
= N_Operator_Symbol
5634 or else NT
(N
).Nkind
= N_String_Literal
);
5638 procedure Set_Subtype_Indication
5639 (N
: Node_Id
; Val
: Node_Id
) is
5641 pragma Assert
(False
5642 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
5643 or else NT
(N
).Nkind
= N_Component_Definition
5644 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5645 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5646 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
5647 Set_Node5_With_Parent
(N
, Val
);
5648 end Set_Subtype_Indication
;
5650 procedure Set_Subtype_Mark
5651 (N
: Node_Id
; Val
: Node_Id
) is
5653 pragma Assert
(False
5654 or else NT
(N
).Nkind
= N_Access_Definition
5655 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5656 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5657 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
5658 or else NT
(N
).Nkind
= N_Qualified_Expression
5659 or else NT
(N
).Nkind
= N_Subtype_Indication
5660 or else NT
(N
).Nkind
= N_Type_Conversion
5661 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
5662 Set_Node4_With_Parent
(N
, Val
);
5663 end Set_Subtype_Mark
;
5665 procedure Set_Subtype_Marks
5666 (N
: Node_Id
; Val
: List_Id
) is
5668 pragma Assert
(False
5669 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
5670 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
5671 Set_List2_With_Parent
(N
, Val
);
5672 end Set_Subtype_Marks
;
5674 procedure Set_Suppress_Loop_Warnings
5675 (N
: Node_Id
; Val
: Boolean := True) is
5677 pragma Assert
(False
5678 or else NT
(N
).Nkind
= N_Loop_Statement
);
5679 Set_Flag17
(N
, Val
);
5680 end Set_Suppress_Loop_Warnings
;
5682 procedure Set_Synchronized_Present
5683 (N
: Node_Id
; Val
: Boolean := True) is
5685 pragma Assert
(False
5686 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5687 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5688 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5689 or else NT
(N
).Nkind
= N_Record_Definition
);
5691 end Set_Synchronized_Present
;
5693 procedure Set_Tagged_Present
5694 (N
: Node_Id
; Val
: Boolean := True) is
5696 pragma Assert
(False
5697 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
5698 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
5699 or else NT
(N
).Nkind
= N_Private_Type_Declaration
5700 or else NT
(N
).Nkind
= N_Record_Definition
);
5701 Set_Flag15
(N
, Val
);
5702 end Set_Tagged_Present
;
5704 procedure Set_Target_Type
5705 (N
: Node_Id
; Val
: Entity_Id
) is
5707 pragma Assert
(False
5708 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
5709 Set_Node2
(N
, Val
); -- semantic field, no parent set
5710 end Set_Target_Type
;
5712 procedure Set_Task_Definition
5713 (N
: Node_Id
; Val
: Node_Id
) is
5715 pragma Assert
(False
5716 or else NT
(N
).Nkind
= N_Single_Task_Declaration
5717 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
5718 Set_Node3_With_Parent
(N
, Val
);
5719 end Set_Task_Definition
;
5721 procedure Set_Task_Present
5722 (N
: Node_Id
; Val
: Boolean := True) is
5724 pragma Assert
(False
5725 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5726 or else NT
(N
).Nkind
= N_Record_Definition
);
5728 end Set_Task_Present
;
5730 procedure Set_Then_Actions
5731 (N
: Node_Id
; Val
: List_Id
) is
5733 pragma Assert
(False
5734 or else NT
(N
).Nkind
= N_Conditional_Expression
);
5735 Set_List2
(N
, Val
); -- semantic field, no parent set
5736 end Set_Then_Actions
;
5738 procedure Set_Then_Statements
5739 (N
: Node_Id
; Val
: List_Id
) is
5741 pragma Assert
(False
5742 or else NT
(N
).Nkind
= N_Elsif_Part
5743 or else NT
(N
).Nkind
= N_If_Statement
);
5744 Set_List2_With_Parent
(N
, Val
);
5745 end Set_Then_Statements
;
5747 procedure Set_Treat_Fixed_As_Integer
5748 (N
: Node_Id
; Val
: Boolean := True) is
5750 pragma Assert
(False
5751 or else NT
(N
).Nkind
= N_Op_Divide
5752 or else NT
(N
).Nkind
= N_Op_Mod
5753 or else NT
(N
).Nkind
= N_Op_Multiply
5754 or else NT
(N
).Nkind
= N_Op_Rem
);
5755 Set_Flag14
(N
, Val
);
5756 end Set_Treat_Fixed_As_Integer
;
5758 procedure Set_Triggering_Alternative
5759 (N
: Node_Id
; Val
: Node_Id
) is
5761 pragma Assert
(False
5762 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
5763 Set_Node1_With_Parent
(N
, Val
);
5764 end Set_Triggering_Alternative
;
5766 procedure Set_Triggering_Statement
5767 (N
: Node_Id
; Val
: Node_Id
) is
5769 pragma Assert
(False
5770 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5771 Set_Node1_With_Parent
(N
, Val
);
5772 end Set_Triggering_Statement
;
5774 procedure Set_TSS_Elist
5775 (N
: Node_Id
; Val
: Elist_Id
) is
5777 pragma Assert
(False
5778 or else NT
(N
).Nkind
= N_Freeze_Entity
);
5779 Set_Elist3
(N
, Val
); -- semantic field, no parent set
5782 procedure Set_Type_Definition
5783 (N
: Node_Id
; Val
: Node_Id
) is
5785 pragma Assert
(False
5786 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
5787 Set_Node3_With_Parent
(N
, Val
);
5788 end Set_Type_Definition
;
5791 (N
: Node_Id
; Val
: Node_Id
) is
5793 pragma Assert
(False
5794 or else NT
(N
).Nkind
= N_Compilation_Unit
);
5795 Set_Node2_With_Parent
(N
, Val
);
5798 procedure Set_Unknown_Discriminants_Present
5799 (N
: Node_Id
; Val
: Boolean := True) is
5801 pragma Assert
(False
5802 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
5803 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
5804 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5805 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
5806 Set_Flag13
(N
, Val
);
5807 end Set_Unknown_Discriminants_Present
;
5809 procedure Set_Unreferenced_In_Spec
5810 (N
: Node_Id
; Val
: Boolean := True) is
5812 pragma Assert
(False
5813 or else NT
(N
).Nkind
= N_With_Clause
);
5815 end Set_Unreferenced_In_Spec
;
5817 procedure Set_Variant_Part
5818 (N
: Node_Id
; Val
: Node_Id
) is
5820 pragma Assert
(False
5821 or else NT
(N
).Nkind
= N_Component_List
);
5822 Set_Node4_With_Parent
(N
, Val
);
5823 end Set_Variant_Part
;
5825 procedure Set_Variants
5826 (N
: Node_Id
; Val
: List_Id
) is
5828 pragma Assert
(False
5829 or else NT
(N
).Nkind
= N_Variant_Part
);
5830 Set_List1_With_Parent
(N
, Val
);
5833 procedure Set_Visible_Declarations
5834 (N
: Node_Id
; Val
: List_Id
) is
5836 pragma Assert
(False
5837 or else NT
(N
).Nkind
= N_Package_Specification
5838 or else NT
(N
).Nkind
= N_Protected_Definition
5839 or else NT
(N
).Nkind
= N_Task_Definition
);
5840 Set_List2_With_Parent
(N
, Val
);
5841 end Set_Visible_Declarations
;
5843 procedure Set_Was_Originally_Stub
5844 (N
: Node_Id
; Val
: Boolean := True) is
5846 pragma Assert
(False
5847 or else NT
(N
).Nkind
= N_Package_Body
5848 or else NT
(N
).Nkind
= N_Protected_Body
5849 or else NT
(N
).Nkind
= N_Subprogram_Body
5850 or else NT
(N
).Nkind
= N_Task_Body
);
5851 Set_Flag13
(N
, Val
);
5852 end Set_Was_Originally_Stub
;
5854 procedure Set_Withed_Body
5855 (N
: Node_Id
; Val
: Node_Id
) is
5857 pragma Assert
(False
5858 or else NT
(N
).Nkind
= N_With_Clause
);
5860 end Set_Withed_Body
;
5862 procedure Set_Zero_Cost_Handling
5863 (N
: Node_Id
; Val
: Boolean := True) is
5865 pragma Assert
(False
5866 or else NT
(N
).Nkind
= N_Exception_Handler
5867 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
5869 end Set_Zero_Cost_Handling
;
5871 -------------------------
5872 -- Iterator Procedures --
5873 -------------------------
5875 procedure Next_Entity
(N
: in out Node_Id
) is
5877 N
:= Next_Entity
(N
);
5880 procedure Next_Named_Actual
(N
: in out Node_Id
) is
5882 N
:= Next_Named_Actual
(N
);
5883 end Next_Named_Actual
;
5885 procedure Next_Rep_Item
(N
: in out Node_Id
) is
5887 N
:= Next_Rep_Item
(N
);
5890 procedure Next_Use_Clause
(N
: in out Node_Id
) is
5892 N
:= Next_Use_Clause
(N
);
5893 end Next_Use_Clause
;
5899 function End_Location
(N
: Node_Id
) return Source_Ptr
is
5900 L
: constant Uint
:= End_Span
(N
);
5905 return Source_Ptr
(Int
(Sloc
(N
)) + UI_To_Int
(L
));
5909 ----------------------
5910 -- Set_End_Location --
5911 ----------------------
5913 procedure Set_End_Location
(N
: Node_Id
; S
: Source_Ptr
) is
5916 UI_From_Int
(Int
(S
) - Int
(Sloc
(N
))));
5917 end Set_End_Location
;
5926 V2
: Node_Kind
) return Boolean
5929 return T
= V1
or else
5937 V3
: Node_Kind
) return Boolean
5940 return T
= V1
or else
5950 V4
: Node_Kind
) return Boolean
5953 return T
= V1
or else
5965 V5
: Node_Kind
) return Boolean
5968 return T
= V1
or else
5982 V6
: Node_Kind
) return Boolean
5985 return T
= V1
or else
6001 V7
: Node_Kind
) return Boolean
6004 return T
= V1
or else
6022 V8
: Node_Kind
) return Boolean
6025 return T
= V1
or else
6045 V9
: Node_Kind
) return Boolean
6048 return T
= V1
or else
6063 function Pragma_Name
(N
: Node_Id
) return Name_Id
is
6065 return Chars
(Pragma_Identifier
(N
));