1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2007, Free Software Foundation, Inc. --
11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 2, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
17 -- for more details. You should have received a copy of the GNU General --
18 -- Public License distributed with GNAT; see file COPYING. If not, write --
19 -- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
20 -- Boston, MA 02110-1301, USA. --
22 -- As a special exception, if other files instantiate generics from this --
23 -- unit, or you link this unit with other files to produce an executable, --
24 -- this unit does not by itself cause the resulting executable to be --
25 -- covered by the GNU General Public License. This exception does not --
26 -- however invalidate any other reasons why the executable file might be --
27 -- covered by the GNU Public License. --
29 -- GNAT was originally developed by the GNAT team at New York University. --
30 -- Extensive contributions were provided by Ada Core Technologies Inc. --
32 ------------------------------------------------------------------------------
34 pragma Style_Checks
(All_Checks
);
35 -- No subprogram ordering check, due to logical grouping
37 with Atree
; use Atree
;
41 use Atree
.Unchecked_Access
;
42 -- This package is one of the few packages which is allowed to make direct
43 -- references to tree nodes (since it is in the business of providing a
44 -- higher level of tree access which other clients are expected to use and
45 -- which implements checks).
47 use Atree_Private_Part
;
48 -- The only reason that we ask for direct access to the private part of
49 -- the tree package is so that we can directly reference the Nkind field
50 -- of nodes table entries. We do this since it helps the efficiency of
51 -- the Sinfo debugging checks considerably (note that when we are checking
52 -- Nkind values, we don't need to check for a valid node reference, because
53 -- we will check that anyway when we reference the field).
55 NT
: Nodes
.Table_Ptr
renames Nodes
.Table
;
56 -- A short hand abbreviation, useful for the debugging checks
58 ----------------------------
59 -- Field Access Functions --
60 ----------------------------
62 function ABE_Is_Certain
63 (N
: Node_Id
) return Boolean is
66 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
67 or else NT
(N
).Nkind
= N_Function_Call
68 or else NT
(N
).Nkind
= N_Function_Instantiation
69 or else NT
(N
).Nkind
= N_Package_Instantiation
70 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
71 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
75 function Abort_Present
76 (N
: Node_Id
) return Boolean is
79 or else NT
(N
).Nkind
= N_Requeue_Statement
);
83 function Abortable_Part
84 (N
: Node_Id
) return Node_Id
is
87 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
91 function Abstract_Present
92 (N
: Node_Id
) return Boolean is
95 or else NT
(N
).Nkind
= N_Derived_Type_Definition
96 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
97 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
98 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
99 or else NT
(N
).Nkind
= N_Private_Type_Declaration
100 or else NT
(N
).Nkind
= N_Record_Definition
);
102 end Abstract_Present
;
104 function Accept_Handler_Records
105 (N
: Node_Id
) return List_Id
is
108 or else NT
(N
).Nkind
= N_Accept_Alternative
);
110 end Accept_Handler_Records
;
112 function Accept_Statement
113 (N
: Node_Id
) return Node_Id
is
116 or else NT
(N
).Nkind
= N_Accept_Alternative
);
118 end Accept_Statement
;
120 function Access_Definition
121 (N
: Node_Id
) return Node_Id
is
124 or else NT
(N
).Nkind
= N_Component_Definition
125 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
126 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
128 end Access_Definition
;
130 function Access_To_Subprogram_Definition
131 (N
: Node_Id
) return Node_Id
is
134 or else NT
(N
).Nkind
= N_Access_Definition
);
136 end Access_To_Subprogram_Definition
;
138 function Access_Types_To_Process
139 (N
: Node_Id
) return Elist_Id
is
142 or else NT
(N
).Nkind
= N_Freeze_Entity
);
144 end Access_Types_To_Process
;
147 (N
: Node_Id
) return List_Id
is
150 or else NT
(N
).Nkind
= N_And_Then
151 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
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_Statement
);
238 function Ancestor_Part
239 (N
: Node_Id
) return Node_Id
is
242 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
246 function Array_Aggregate
247 (N
: Node_Id
) return Node_Id
is
250 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
254 function Assignment_OK
255 (N
: Node_Id
) return Boolean is
258 or else NT
(N
).Nkind
= N_Object_Declaration
259 or else NT
(N
).Nkind
in N_Subexpr
);
263 function Associated_Node
264 (N
: Node_Id
) return Node_Id
is
267 or else NT
(N
).Nkind
in N_Has_Entity
268 or else NT
(N
).Nkind
= N_Aggregate
269 or else NT
(N
).Nkind
= N_Extension_Aggregate
270 or else NT
(N
).Nkind
= N_Selected_Component
);
275 (N
: Node_Id
) return Node_Id
is
278 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
282 function Attribute_Name
283 (N
: Node_Id
) return Name_Id
is
286 or else NT
(N
).Nkind
= N_Attribute_Reference
);
290 function Aux_Decls_Node
291 (N
: Node_Id
) return Node_Id
is
294 or else NT
(N
).Nkind
= N_Compilation_Unit
);
298 function Backwards_OK
299 (N
: Node_Id
) return Boolean is
302 or else NT
(N
).Nkind
= N_Assignment_Statement
);
306 function Bad_Is_Detected
307 (N
: Node_Id
) return Boolean is
310 or else NT
(N
).Nkind
= N_Subprogram_Body
);
314 function Body_Required
315 (N
: Node_Id
) return Boolean is
318 or else NT
(N
).Nkind
= N_Compilation_Unit
);
322 function Body_To_Inline
323 (N
: Node_Id
) return Node_Id
is
326 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
331 (N
: Node_Id
) return Boolean is
334 or else NT
(N
).Nkind
= N_Component_Association
335 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
336 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
337 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
338 or else NT
(N
).Nkind
= N_Generic_Association
);
343 (N
: Node_Id
) return Boolean is
346 or else NT
(N
).Nkind
= N_Extended_Return_Statement
347 or else NT
(N
).Nkind
= N_Return_Statement
);
351 function Char_Literal_Value
352 (N
: Node_Id
) return Uint
is
355 or else NT
(N
).Nkind
= N_Character_Literal
);
357 end Char_Literal_Value
;
360 (N
: Node_Id
) return Name_Id
is
363 or else NT
(N
).Nkind
in N_Has_Chars
);
367 function Check_Address_Alignment
368 (N
: Node_Id
) return Boolean is
371 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
373 end Check_Address_Alignment
;
375 function Choice_Parameter
376 (N
: Node_Id
) return Node_Id
is
379 or else NT
(N
).Nkind
= N_Exception_Handler
);
381 end Choice_Parameter
;
384 (N
: Node_Id
) return List_Id
is
387 or else NT
(N
).Nkind
= N_Component_Association
);
391 function Coextensions
392 (N
: Node_Id
) return Elist_Id
is
395 or else NT
(N
).Nkind
= N_Allocator
);
399 function Comes_From_Extended_Return_Statement
400 (N
: Node_Id
) return Boolean is
403 or else NT
(N
).Nkind
= N_Return_Statement
);
405 end Comes_From_Extended_Return_Statement
;
407 function Compile_Time_Known_Aggregate
408 (N
: Node_Id
) return Boolean is
411 or else NT
(N
).Nkind
= N_Aggregate
);
413 end Compile_Time_Known_Aggregate
;
415 function Component_Associations
416 (N
: Node_Id
) return List_Id
is
419 or else NT
(N
).Nkind
= N_Aggregate
420 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
422 end Component_Associations
;
424 function Component_Clauses
425 (N
: Node_Id
) return List_Id
is
428 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
430 end Component_Clauses
;
432 function Component_Definition
433 (N
: Node_Id
) return Node_Id
is
436 or else NT
(N
).Nkind
= N_Component_Declaration
437 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
438 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
440 end Component_Definition
;
442 function Component_Items
443 (N
: Node_Id
) return List_Id
is
446 or else NT
(N
).Nkind
= N_Component_List
);
450 function Component_List
451 (N
: Node_Id
) return Node_Id
is
454 or else NT
(N
).Nkind
= N_Record_Definition
455 or else NT
(N
).Nkind
= N_Variant
);
459 function Component_Name
460 (N
: Node_Id
) return Node_Id
is
463 or else NT
(N
).Nkind
= N_Component_Clause
);
468 (N
: Node_Id
) return Node_Id
is
471 or else NT
(N
).Nkind
= N_Accept_Alternative
472 or else NT
(N
).Nkind
= N_Delay_Alternative
473 or else NT
(N
).Nkind
= N_Elsif_Part
474 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
475 or else NT
(N
).Nkind
= N_Exit_Statement
476 or else NT
(N
).Nkind
= N_If_Statement
477 or else NT
(N
).Nkind
= N_Iteration_Scheme
478 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
479 or else NT
(N
).Nkind
= N_Raise_Program_Error
480 or else NT
(N
).Nkind
= N_Raise_Storage_Error
481 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
485 function Condition_Actions
486 (N
: Node_Id
) return List_Id
is
489 or else NT
(N
).Nkind
= N_Elsif_Part
490 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
492 end Condition_Actions
;
494 function Config_Pragmas
495 (N
: Node_Id
) return List_Id
is
498 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
502 function Constant_Present
503 (N
: Node_Id
) return Boolean is
506 or else NT
(N
).Nkind
= N_Access_Definition
507 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
508 or else NT
(N
).Nkind
= N_Object_Declaration
);
510 end Constant_Present
;
513 (N
: Node_Id
) return Node_Id
is
516 or else NT
(N
).Nkind
= N_Subtype_Indication
);
521 (N
: Node_Id
) return List_Id
is
524 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
528 function Context_Installed
529 (N
: Node_Id
) return Boolean is
532 or else NT
(N
).Nkind
= N_With_Clause
);
534 end Context_Installed
;
536 function Context_Items
537 (N
: Node_Id
) return List_Id
is
540 or else NT
(N
).Nkind
= N_Compilation_Unit
);
544 function Controlling_Argument
545 (N
: Node_Id
) return Node_Id
is
548 or else NT
(N
).Nkind
= N_Function_Call
549 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
551 end Controlling_Argument
;
553 function Conversion_OK
554 (N
: Node_Id
) return Boolean is
557 or else NT
(N
).Nkind
= N_Type_Conversion
);
561 function Corresponding_Body
562 (N
: Node_Id
) return Node_Id
is
565 or else NT
(N
).Nkind
= N_Entry_Declaration
566 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
567 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
568 or else NT
(N
).Nkind
= N_Package_Body_Stub
569 or else NT
(N
).Nkind
= N_Package_Declaration
570 or else NT
(N
).Nkind
= N_Protected_Body_Stub
571 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
572 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
573 or else NT
(N
).Nkind
= N_Subprogram_Declaration
574 or else NT
(N
).Nkind
= N_Task_Body_Stub
575 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
577 end Corresponding_Body
;
579 function Corresponding_Formal_Spec
580 (N
: Node_Id
) return Node_Id
is
583 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
585 end Corresponding_Formal_Spec
;
587 function Corresponding_Generic_Association
588 (N
: Node_Id
) return Node_Id
is
591 or else NT
(N
).Nkind
= N_Object_Declaration
592 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
594 end Corresponding_Generic_Association
;
596 function Corresponding_Integer_Value
597 (N
: Node_Id
) return Uint
is
600 or else NT
(N
).Nkind
= N_Real_Literal
);
602 end Corresponding_Integer_Value
;
604 function Corresponding_Spec
605 (N
: Node_Id
) return Node_Id
is
608 or else NT
(N
).Nkind
= N_Package_Body
609 or else NT
(N
).Nkind
= N_Protected_Body
610 or else NT
(N
).Nkind
= N_Subprogram_Body
611 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
612 or else NT
(N
).Nkind
= N_Task_Body
613 or else NT
(N
).Nkind
= N_With_Clause
);
615 end Corresponding_Spec
;
617 function Corresponding_Stub
618 (N
: Node_Id
) return Node_Id
is
621 or else NT
(N
).Nkind
= N_Subunit
);
623 end Corresponding_Stub
;
625 function Dcheck_Function
626 (N
: Node_Id
) return Entity_Id
is
629 or else NT
(N
).Nkind
= N_Variant
);
633 function Debug_Statement
634 (N
: Node_Id
) return Node_Id
is
637 or else NT
(N
).Nkind
= N_Pragma
);
641 function Declarations
642 (N
: Node_Id
) return List_Id
is
645 or else NT
(N
).Nkind
= N_Accept_Statement
646 or else NT
(N
).Nkind
= N_Block_Statement
647 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
648 or else NT
(N
).Nkind
= N_Entry_Body
649 or else NT
(N
).Nkind
= N_Package_Body
650 or else NT
(N
).Nkind
= N_Protected_Body
651 or else NT
(N
).Nkind
= N_Subprogram_Body
652 or else NT
(N
).Nkind
= N_Task_Body
);
656 function Default_Expression
657 (N
: Node_Id
) return Node_Id
is
660 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
661 or else NT
(N
).Nkind
= N_Parameter_Specification
);
663 end Default_Expression
;
665 function Default_Name
666 (N
: Node_Id
) return Node_Id
is
669 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
670 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
);
674 function Defining_Identifier
675 (N
: Node_Id
) return Entity_Id
is
678 or else NT
(N
).Nkind
= N_Component_Declaration
679 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
680 or else NT
(N
).Nkind
= N_Discriminant_Specification
681 or else NT
(N
).Nkind
= N_Entry_Body
682 or else NT
(N
).Nkind
= N_Entry_Declaration
683 or else NT
(N
).Nkind
= N_Entry_Index_Specification
684 or else NT
(N
).Nkind
= N_Exception_Declaration
685 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
686 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
687 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
688 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
689 or else NT
(N
).Nkind
= N_Full_Type_Declaration
690 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
691 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
692 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
693 or else NT
(N
).Nkind
= N_Number_Declaration
694 or else NT
(N
).Nkind
= N_Object_Declaration
695 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
696 or else NT
(N
).Nkind
= N_Package_Body_Stub
697 or else NT
(N
).Nkind
= N_Parameter_Specification
698 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
699 or else NT
(N
).Nkind
= N_Private_Type_Declaration
700 or else NT
(N
).Nkind
= N_Protected_Body
701 or else NT
(N
).Nkind
= N_Protected_Body_Stub
702 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
703 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
704 or else NT
(N
).Nkind
= N_Single_Task_Declaration
705 or else NT
(N
).Nkind
= N_Subtype_Declaration
706 or else NT
(N
).Nkind
= N_Task_Body
707 or else NT
(N
).Nkind
= N_Task_Body_Stub
708 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
710 end Defining_Identifier
;
712 function Defining_Unit_Name
713 (N
: Node_Id
) return Node_Id
is
716 or else NT
(N
).Nkind
= N_Function_Instantiation
717 or else NT
(N
).Nkind
= N_Function_Specification
718 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
719 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
720 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
721 or else NT
(N
).Nkind
= N_Package_Body
722 or else NT
(N
).Nkind
= N_Package_Instantiation
723 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
724 or else NT
(N
).Nkind
= N_Package_Specification
725 or else NT
(N
).Nkind
= N_Procedure_Instantiation
726 or else NT
(N
).Nkind
= N_Procedure_Specification
);
728 end Defining_Unit_Name
;
730 function Delay_Alternative
731 (N
: Node_Id
) return Node_Id
is
734 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
736 end Delay_Alternative
;
738 function Delay_Statement
739 (N
: Node_Id
) return Node_Id
is
742 or else NT
(N
).Nkind
= N_Delay_Alternative
);
746 function Delta_Expression
747 (N
: Node_Id
) return Node_Id
is
750 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
751 or else NT
(N
).Nkind
= N_Delta_Constraint
752 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
754 end Delta_Expression
;
756 function Digits_Expression
757 (N
: Node_Id
) return Node_Id
is
760 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
761 or else NT
(N
).Nkind
= N_Digits_Constraint
762 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
764 end Digits_Expression
;
766 function Discr_Check_Funcs_Built
767 (N
: Node_Id
) return Boolean is
770 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
772 end Discr_Check_Funcs_Built
;
774 function Discrete_Choices
775 (N
: Node_Id
) return List_Id
is
778 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
779 or else NT
(N
).Nkind
= N_Variant
);
781 end Discrete_Choices
;
783 function Discrete_Range
784 (N
: Node_Id
) return Node_Id
is
787 or else NT
(N
).Nkind
= N_Slice
);
791 function Discrete_Subtype_Definition
792 (N
: Node_Id
) return Node_Id
is
795 or else NT
(N
).Nkind
= N_Entry_Declaration
796 or else NT
(N
).Nkind
= N_Entry_Index_Specification
797 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
799 end Discrete_Subtype_Definition
;
801 function Discrete_Subtype_Definitions
802 (N
: Node_Id
) return List_Id
is
805 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
807 end Discrete_Subtype_Definitions
;
809 function Discriminant_Specifications
810 (N
: Node_Id
) return List_Id
is
813 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
814 or else NT
(N
).Nkind
= N_Full_Type_Declaration
815 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
816 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
817 or else NT
(N
).Nkind
= N_Private_Type_Declaration
818 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
819 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
821 end Discriminant_Specifications
;
823 function Discriminant_Type
824 (N
: Node_Id
) return Node_Id
is
827 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
829 end Discriminant_Type
;
831 function Do_Accessibility_Check
832 (N
: Node_Id
) return Boolean is
835 or else NT
(N
).Nkind
= N_Parameter_Specification
);
837 end Do_Accessibility_Check
;
839 function Do_Discriminant_Check
840 (N
: Node_Id
) return Boolean is
843 or else NT
(N
).Nkind
= N_Selected_Component
);
845 end Do_Discriminant_Check
;
847 function Do_Division_Check
848 (N
: Node_Id
) return Boolean is
851 or else NT
(N
).Nkind
= N_Op_Divide
852 or else NT
(N
).Nkind
= N_Op_Mod
853 or else NT
(N
).Nkind
= N_Op_Rem
);
855 end Do_Division_Check
;
857 function Do_Length_Check
858 (N
: Node_Id
) return Boolean is
861 or else NT
(N
).Nkind
= N_Assignment_Statement
862 or else NT
(N
).Nkind
= N_Op_And
863 or else NT
(N
).Nkind
= N_Op_Or
864 or else NT
(N
).Nkind
= N_Op_Xor
865 or else NT
(N
).Nkind
= N_Type_Conversion
);
869 function Do_Overflow_Check
870 (N
: Node_Id
) return Boolean is
873 or else NT
(N
).Nkind
in N_Op
874 or else NT
(N
).Nkind
= N_Attribute_Reference
875 or else NT
(N
).Nkind
= N_Type_Conversion
);
877 end Do_Overflow_Check
;
879 function Do_Range_Check
880 (N
: Node_Id
) return Boolean is
883 or else NT
(N
).Nkind
in N_Subexpr
);
887 function Do_Storage_Check
888 (N
: Node_Id
) return Boolean is
891 or else NT
(N
).Nkind
= N_Allocator
892 or else NT
(N
).Nkind
= N_Subprogram_Body
);
894 end Do_Storage_Check
;
896 function Do_Tag_Check
897 (N
: Node_Id
) return Boolean is
900 or else NT
(N
).Nkind
= N_Assignment_Statement
901 or else NT
(N
).Nkind
= N_Extended_Return_Statement
902 or else NT
(N
).Nkind
= N_Function_Call
903 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
904 or else NT
(N
).Nkind
= N_Return_Statement
905 or else NT
(N
).Nkind
= N_Type_Conversion
);
909 function Elaborate_All_Desirable
910 (N
: Node_Id
) return Boolean is
913 or else NT
(N
).Nkind
= N_With_Clause
);
915 end Elaborate_All_Desirable
;
917 function Elaborate_All_Present
918 (N
: Node_Id
) return Boolean is
921 or else NT
(N
).Nkind
= N_With_Clause
);
923 end Elaborate_All_Present
;
925 function Elaborate_Desirable
926 (N
: Node_Id
) return Boolean is
929 or else NT
(N
).Nkind
= N_With_Clause
);
931 end Elaborate_Desirable
;
933 function Elaborate_Present
934 (N
: Node_Id
) return Boolean is
937 or else NT
(N
).Nkind
= N_With_Clause
);
939 end Elaborate_Present
;
941 function Elaboration_Boolean
942 (N
: Node_Id
) return Node_Id
is
945 or else NT
(N
).Nkind
= N_Function_Specification
946 or else NT
(N
).Nkind
= N_Procedure_Specification
);
948 end Elaboration_Boolean
;
950 function Else_Actions
951 (N
: Node_Id
) return List_Id
is
954 or else NT
(N
).Nkind
= N_Conditional_Expression
);
958 function Else_Statements
959 (N
: Node_Id
) return List_Id
is
962 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
963 or else NT
(N
).Nkind
= N_If_Statement
964 or else NT
(N
).Nkind
= N_Selective_Accept
);
969 (N
: Node_Id
) return List_Id
is
972 or else NT
(N
).Nkind
= N_If_Statement
);
976 function Enclosing_Variant
977 (N
: Node_Id
) return Node_Id
is
980 or else NT
(N
).Nkind
= N_Variant
);
982 end Enclosing_Variant
;
985 (N
: Node_Id
) return Node_Id
is
988 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
989 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
990 or else NT
(N
).Nkind
= N_Loop_Statement
991 or else NT
(N
).Nkind
= N_Package_Specification
992 or else NT
(N
).Nkind
= N_Protected_Body
993 or else NT
(N
).Nkind
= N_Protected_Definition
994 or else NT
(N
).Nkind
= N_Record_Definition
995 or else NT
(N
).Nkind
= N_Task_Definition
);
1000 (N
: Node_Id
) return Uint
is
1002 pragma Assert
(False
1003 or else NT
(N
).Nkind
= N_Case_Statement
1004 or else NT
(N
).Nkind
= N_If_Statement
);
1009 (N
: Node_Id
) return Node_Id
is
1011 pragma Assert
(False
1012 or else NT
(N
).Nkind
in N_Has_Entity
1013 or else NT
(N
).Nkind
= N_Freeze_Entity
1014 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1018 function Entity_Or_Associated_Node
1019 (N
: Node_Id
) return Node_Id
is
1021 pragma Assert
(False
1022 or else NT
(N
).Nkind
in N_Has_Entity
1023 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1025 end Entity_Or_Associated_Node
;
1027 function Entry_Body_Formal_Part
1028 (N
: Node_Id
) return Node_Id
is
1030 pragma Assert
(False
1031 or else NT
(N
).Nkind
= N_Entry_Body
);
1033 end Entry_Body_Formal_Part
;
1035 function Entry_Call_Alternative
1036 (N
: Node_Id
) return Node_Id
is
1038 pragma Assert
(False
1039 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
1040 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
1042 end Entry_Call_Alternative
;
1044 function Entry_Call_Statement
1045 (N
: Node_Id
) return Node_Id
is
1047 pragma Assert
(False
1048 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
1050 end Entry_Call_Statement
;
1052 function Entry_Direct_Name
1053 (N
: Node_Id
) return Node_Id
is
1055 pragma Assert
(False
1056 or else NT
(N
).Nkind
= N_Accept_Statement
);
1058 end Entry_Direct_Name
;
1060 function Entry_Index
1061 (N
: Node_Id
) return Node_Id
is
1063 pragma Assert
(False
1064 or else NT
(N
).Nkind
= N_Accept_Statement
);
1068 function Entry_Index_Specification
1069 (N
: Node_Id
) return Node_Id
is
1071 pragma Assert
(False
1072 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
1074 end Entry_Index_Specification
;
1077 (N
: Node_Id
) return Node_Id
is
1079 pragma Assert
(False
1080 or else NT
(N
).Nkind
in N_Has_Etype
);
1084 function Exception_Choices
1085 (N
: Node_Id
) return List_Id
is
1087 pragma Assert
(False
1088 or else NT
(N
).Nkind
= N_Exception_Handler
);
1090 end Exception_Choices
;
1092 function Exception_Handlers
1093 (N
: Node_Id
) return List_Id
is
1095 pragma Assert
(False
1096 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1098 end Exception_Handlers
;
1100 function Exception_Junk
1101 (N
: Node_Id
) return Boolean is
1103 pragma Assert
(False
1104 or else NT
(N
).Nkind
= N_Block_Statement
1105 or else NT
(N
).Nkind
= N_Goto_Statement
1106 or else NT
(N
).Nkind
= N_Label
1107 or else NT
(N
).Nkind
= N_Object_Declaration
1108 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1112 function Exception_Label
1113 (N
: Node_Id
) return Node_Id
is
1115 pragma Assert
(False
1116 or else NT
(N
).Nkind
= N_Exception_Handler
1117 or else NT
(N
).Nkind
= N_Push_Constraint_Error_Label
1118 or else NT
(N
).Nkind
= N_Push_Program_Error_Label
1119 or else NT
(N
).Nkind
= N_Push_Storage_Error_Label
);
1121 end Exception_Label
;
1123 function Expansion_Delayed
1124 (N
: Node_Id
) return Boolean is
1126 pragma Assert
(False
1127 or else NT
(N
).Nkind
= N_Aggregate
1128 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1130 end Expansion_Delayed
;
1132 function Explicit_Actual_Parameter
1133 (N
: Node_Id
) return Node_Id
is
1135 pragma Assert
(False
1136 or else NT
(N
).Nkind
= N_Parameter_Association
);
1138 end Explicit_Actual_Parameter
;
1140 function Explicit_Generic_Actual_Parameter
1141 (N
: Node_Id
) return Node_Id
is
1143 pragma Assert
(False
1144 or else NT
(N
).Nkind
= N_Generic_Association
);
1146 end Explicit_Generic_Actual_Parameter
;
1149 (N
: Node_Id
) return Node_Id
is
1151 pragma Assert
(False
1152 or else NT
(N
).Nkind
= N_Allocator
1153 or else NT
(N
).Nkind
= N_Assignment_Statement
1154 or else NT
(N
).Nkind
= N_At_Clause
1155 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1156 or else NT
(N
).Nkind
= N_Case_Statement
1157 or else NT
(N
).Nkind
= N_Code_Statement
1158 or else NT
(N
).Nkind
= N_Component_Association
1159 or else NT
(N
).Nkind
= N_Component_Declaration
1160 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
1161 or else NT
(N
).Nkind
= N_Delay_Until_Statement
1162 or else NT
(N
).Nkind
= N_Discriminant_Association
1163 or else NT
(N
).Nkind
= N_Discriminant_Specification
1164 or else NT
(N
).Nkind
= N_Exception_Declaration
1165 or else NT
(N
).Nkind
= N_Free_Statement
1166 or else NT
(N
).Nkind
= N_Mod_Clause
1167 or else NT
(N
).Nkind
= N_Modular_Type_Definition
1168 or else NT
(N
).Nkind
= N_Number_Declaration
1169 or else NT
(N
).Nkind
= N_Object_Declaration
1170 or else NT
(N
).Nkind
= N_Parameter_Specification
1171 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
1172 or else NT
(N
).Nkind
= N_Qualified_Expression
1173 or else NT
(N
).Nkind
= N_Raise_Statement
1174 or else NT
(N
).Nkind
= N_Return_Statement
1175 or else NT
(N
).Nkind
= N_Type_Conversion
1176 or else NT
(N
).Nkind
= N_Unchecked_Expression
1177 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1181 function Expressions
1182 (N
: Node_Id
) return List_Id
is
1184 pragma Assert
(False
1185 or else NT
(N
).Nkind
= N_Aggregate
1186 or else NT
(N
).Nkind
= N_Attribute_Reference
1187 or else NT
(N
).Nkind
= N_Conditional_Expression
1188 or else NT
(N
).Nkind
= N_Extension_Aggregate
1189 or else NT
(N
).Nkind
= N_Indexed_Component
);
1194 (N
: Node_Id
) return Node_Id
is
1196 pragma Assert
(False
1197 or else NT
(N
).Nkind
= N_Component_Clause
);
1201 function First_Inlined_Subprogram
1202 (N
: Node_Id
) return Entity_Id
is
1204 pragma Assert
(False
1205 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1207 end First_Inlined_Subprogram
;
1210 (N
: Node_Id
) return Boolean is
1212 pragma Assert
(False
1213 or else NT
(N
).Nkind
= N_With_Clause
);
1217 function First_Named_Actual
1218 (N
: Node_Id
) return Node_Id
is
1220 pragma Assert
(False
1221 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1222 or else NT
(N
).Nkind
= N_Function_Call
1223 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1225 end First_Named_Actual
;
1227 function First_Real_Statement
1228 (N
: Node_Id
) return Node_Id
is
1230 pragma Assert
(False
1231 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1233 end First_Real_Statement
;
1235 function First_Subtype_Link
1236 (N
: Node_Id
) return Entity_Id
is
1238 pragma Assert
(False
1239 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1241 end First_Subtype_Link
;
1243 function Float_Truncate
1244 (N
: Node_Id
) return Boolean is
1246 pragma Assert
(False
1247 or else NT
(N
).Nkind
= N_Type_Conversion
);
1251 function Formal_Type_Definition
1252 (N
: Node_Id
) return Node_Id
is
1254 pragma Assert
(False
1255 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
1257 end Formal_Type_Definition
;
1259 function Forwards_OK
1260 (N
: Node_Id
) return Boolean is
1262 pragma Assert
(False
1263 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1267 function From_At_Mod
1268 (N
: Node_Id
) return Boolean is
1270 pragma Assert
(False
1271 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1275 function From_Default
1276 (N
: Node_Id
) return Boolean is
1278 pragma Assert
(False
1279 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
1283 function Generic_Associations
1284 (N
: Node_Id
) return List_Id
is
1286 pragma Assert
(False
1287 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1288 or else NT
(N
).Nkind
= N_Function_Instantiation
1289 or else NT
(N
).Nkind
= N_Package_Instantiation
1290 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1292 end Generic_Associations
;
1294 function Generic_Formal_Declarations
1295 (N
: Node_Id
) return List_Id
is
1297 pragma Assert
(False
1298 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1299 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
1301 end Generic_Formal_Declarations
;
1303 function Generic_Parent
1304 (N
: Node_Id
) return Node_Id
is
1306 pragma Assert
(False
1307 or else NT
(N
).Nkind
= N_Function_Specification
1308 or else NT
(N
).Nkind
= N_Package_Specification
1309 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1313 function Generic_Parent_Type
1314 (N
: Node_Id
) return Node_Id
is
1316 pragma Assert
(False
1317 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1319 end Generic_Parent_Type
;
1321 function Handled_Statement_Sequence
1322 (N
: Node_Id
) return Node_Id
is
1324 pragma Assert
(False
1325 or else NT
(N
).Nkind
= N_Accept_Statement
1326 or else NT
(N
).Nkind
= N_Block_Statement
1327 or else NT
(N
).Nkind
= N_Entry_Body
1328 or else NT
(N
).Nkind
= N_Extended_Return_Statement
1329 or else NT
(N
).Nkind
= N_Package_Body
1330 or else NT
(N
).Nkind
= N_Subprogram_Body
1331 or else NT
(N
).Nkind
= N_Task_Body
);
1333 end Handled_Statement_Sequence
;
1335 function Handler_List_Entry
1336 (N
: Node_Id
) return Node_Id
is
1338 pragma Assert
(False
1339 or else NT
(N
).Nkind
= N_Object_Declaration
);
1341 end Handler_List_Entry
;
1343 function Has_Created_Identifier
1344 (N
: Node_Id
) return Boolean is
1346 pragma Assert
(False
1347 or else NT
(N
).Nkind
= N_Block_Statement
1348 or else NT
(N
).Nkind
= N_Loop_Statement
);
1350 end Has_Created_Identifier
;
1352 function Has_Dynamic_Length_Check
1353 (N
: Node_Id
) return Boolean is
1356 end Has_Dynamic_Length_Check
;
1358 function Has_Dynamic_Range_Check
1359 (N
: Node_Id
) return Boolean is
1362 end Has_Dynamic_Range_Check
;
1364 function Has_Init_Expression
1365 (N
: Node_Id
) return Boolean is
1367 pragma Assert
(False
1368 or else NT
(N
).Nkind
= N_Object_Declaration
);
1370 end Has_Init_Expression
;
1372 function Has_Local_Raise
1373 (N
: Node_Id
) return Boolean is
1375 pragma Assert
(False
1376 or else NT
(N
).Nkind
= N_Exception_Handler
);
1378 end Has_Local_Raise
;
1380 function Has_No_Elaboration_Code
1381 (N
: Node_Id
) return Boolean is
1383 pragma Assert
(False
1384 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1386 end Has_No_Elaboration_Code
;
1388 function Has_Priority_Pragma
1389 (N
: Node_Id
) return Boolean is
1391 pragma Assert
(False
1392 or else NT
(N
).Nkind
= N_Protected_Definition
1393 or else NT
(N
).Nkind
= N_Subprogram_Body
1394 or else NT
(N
).Nkind
= N_Task_Definition
);
1396 end Has_Priority_Pragma
;
1398 function Has_Private_View
1399 (N
: Node_Id
) return Boolean is
1401 pragma Assert
(False
1402 or else NT
(N
).Nkind
in N_Op
1403 or else NT
(N
).Nkind
= N_Character_Literal
1404 or else NT
(N
).Nkind
= N_Expanded_Name
1405 or else NT
(N
).Nkind
= N_Identifier
1406 or else NT
(N
).Nkind
= N_Operator_Symbol
);
1408 end Has_Private_View
;
1410 function Has_Self_Reference
1411 (N
: Node_Id
) return Boolean is
1413 pragma Assert
(False
1414 or else NT
(N
).Nkind
= N_Aggregate
1415 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1417 end Has_Self_Reference
;
1419 function Has_Storage_Size_Pragma
1420 (N
: Node_Id
) return Boolean is
1422 pragma Assert
(False
1423 or else NT
(N
).Nkind
= N_Task_Definition
);
1425 end Has_Storage_Size_Pragma
;
1427 function Has_Task_Info_Pragma
1428 (N
: Node_Id
) return Boolean is
1430 pragma Assert
(False
1431 or else NT
(N
).Nkind
= N_Task_Definition
);
1433 end Has_Task_Info_Pragma
;
1435 function Has_Task_Name_Pragma
1436 (N
: Node_Id
) return Boolean is
1438 pragma Assert
(False
1439 or else NT
(N
).Nkind
= N_Task_Definition
);
1441 end Has_Task_Name_Pragma
;
1443 function Has_Wide_Character
1444 (N
: Node_Id
) return Boolean is
1446 pragma Assert
(False
1447 or else NT
(N
).Nkind
= N_String_Literal
);
1449 end Has_Wide_Character
;
1451 function Hidden_By_Use_Clause
1452 (N
: Node_Id
) return Elist_Id
is
1454 pragma Assert
(False
1455 or else NT
(N
).Nkind
= N_Use_Package_Clause
1456 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1458 end Hidden_By_Use_Clause
;
1461 (N
: Node_Id
) return Node_Id
is
1463 pragma Assert
(False
1464 or else NT
(N
).Nkind
= N_Range
1465 or else NT
(N
).Nkind
= N_Real_Range_Specification
1466 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1471 (N
: Node_Id
) return Node_Id
is
1473 pragma Assert
(False
1474 or else NT
(N
).Nkind
= N_At_Clause
1475 or else NT
(N
).Nkind
= N_Block_Statement
1476 or else NT
(N
).Nkind
= N_Designator
1477 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1478 or else NT
(N
).Nkind
= N_Label
1479 or else NT
(N
).Nkind
= N_Loop_Statement
1480 or else NT
(N
).Nkind
= N_Record_Representation_Clause
1481 or else NT
(N
).Nkind
= N_Subprogram_Info
);
1485 function Implicit_With
1486 (N
: Node_Id
) return Boolean is
1488 pragma Assert
(False
1489 or else NT
(N
).Nkind
= N_With_Clause
);
1493 function Interface_List
1494 (N
: Node_Id
) return List_Id
is
1496 pragma Assert
(False
1497 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1498 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
1499 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
1500 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
1501 or else NT
(N
).Nkind
= N_Record_Definition
1502 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
1503 or else NT
(N
).Nkind
= N_Single_Task_Declaration
1504 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
1508 function Interface_Present
1509 (N
: Node_Id
) return Boolean is
1511 pragma Assert
(False
1512 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1513 or else NT
(N
).Nkind
= N_Record_Definition
);
1515 end Interface_Present
;
1518 (N
: Node_Id
) return Boolean is
1520 pragma Assert
(False
1521 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1522 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1526 function Includes_Infinities
1527 (N
: Node_Id
) return Boolean is
1529 pragma Assert
(False
1530 or else NT
(N
).Nkind
= N_Range
);
1532 end Includes_Infinities
;
1534 function Instance_Spec
1535 (N
: Node_Id
) return Node_Id
is
1537 pragma Assert
(False
1538 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1539 or else NT
(N
).Nkind
= N_Function_Instantiation
1540 or else NT
(N
).Nkind
= N_Package_Instantiation
1541 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1546 (N
: Node_Id
) return Uint
is
1548 pragma Assert
(False
1549 or else NT
(N
).Nkind
= N_Integer_Literal
);
1553 function Is_Asynchronous_Call_Block
1554 (N
: Node_Id
) return Boolean is
1556 pragma Assert
(False
1557 or else NT
(N
).Nkind
= N_Block_Statement
);
1559 end Is_Asynchronous_Call_Block
;
1561 function Is_Component_Left_Opnd
1562 (N
: Node_Id
) return Boolean is
1564 pragma Assert
(False
1565 or else NT
(N
).Nkind
= N_Op_Concat
);
1567 end Is_Component_Left_Opnd
;
1569 function Is_Component_Right_Opnd
1570 (N
: Node_Id
) return Boolean is
1572 pragma Assert
(False
1573 or else NT
(N
).Nkind
= N_Op_Concat
);
1575 end Is_Component_Right_Opnd
;
1577 function Is_Controlling_Actual
1578 (N
: Node_Id
) return Boolean is
1580 pragma Assert
(False
1581 or else NT
(N
).Nkind
in N_Subexpr
);
1583 end Is_Controlling_Actual
;
1585 function Is_Dynamic_Coextension
1586 (N
: Node_Id
) return Boolean is
1588 pragma Assert
(False
1589 or else NT
(N
).Nkind
= N_Allocator
);
1591 end Is_Dynamic_Coextension
;
1593 function Is_Entry_Barrier_Function
1594 (N
: Node_Id
) return Boolean is
1596 pragma Assert
(False
1597 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1599 end Is_Entry_Barrier_Function
;
1601 function Is_Expanded_Build_In_Place_Call
1602 (N
: Node_Id
) return Boolean is
1604 pragma Assert
(False
1605 or else NT
(N
).Nkind
= N_Function_Call
);
1607 end Is_Expanded_Build_In_Place_Call
;
1609 function Is_Folded_In_Parser
1610 (N
: Node_Id
) return Boolean is
1612 pragma Assert
(False
1613 or else NT
(N
).Nkind
= N_String_Literal
);
1615 end Is_Folded_In_Parser
;
1617 function Is_In_Discriminant_Check
1618 (N
: Node_Id
) return Boolean is
1620 pragma Assert
(False
1621 or else NT
(N
).Nkind
= N_Selected_Component
);
1623 end Is_In_Discriminant_Check
;
1625 function Is_Machine_Number
1626 (N
: Node_Id
) return Boolean is
1628 pragma Assert
(False
1629 or else NT
(N
).Nkind
= N_Real_Literal
);
1631 end Is_Machine_Number
;
1633 function Is_Null_Loop
1634 (N
: Node_Id
) return Boolean is
1636 pragma Assert
(False
1637 or else NT
(N
).Nkind
= N_Loop_Statement
);
1641 function Is_Overloaded
1642 (N
: Node_Id
) return Boolean is
1644 pragma Assert
(False
1645 or else NT
(N
).Nkind
in N_Subexpr
);
1649 function Is_Power_Of_2_For_Shift
1650 (N
: Node_Id
) return Boolean is
1652 pragma Assert
(False
1653 or else NT
(N
).Nkind
= N_Op_Expon
);
1655 end Is_Power_Of_2_For_Shift
;
1657 function Is_Protected_Subprogram_Body
1658 (N
: Node_Id
) return Boolean is
1660 pragma Assert
(False
1661 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1663 end Is_Protected_Subprogram_Body
;
1665 function Is_Static_Coextension
1666 (N
: Node_Id
) return Boolean is
1668 pragma Assert
(False
1669 or else NT
(N
).Nkind
= N_Allocator
);
1671 end Is_Static_Coextension
;
1673 function Is_Static_Expression
1674 (N
: Node_Id
) return Boolean is
1676 pragma Assert
(False
1677 or else NT
(N
).Nkind
in N_Subexpr
);
1679 end Is_Static_Expression
;
1681 function Is_Subprogram_Descriptor
1682 (N
: Node_Id
) return Boolean is
1684 pragma Assert
(False
1685 or else NT
(N
).Nkind
= N_Object_Declaration
);
1687 end Is_Subprogram_Descriptor
;
1689 function Is_Task_Allocation_Block
1690 (N
: Node_Id
) return Boolean is
1692 pragma Assert
(False
1693 or else NT
(N
).Nkind
= N_Block_Statement
);
1695 end Is_Task_Allocation_Block
;
1697 function Is_Task_Master
1698 (N
: Node_Id
) return Boolean is
1700 pragma Assert
(False
1701 or else NT
(N
).Nkind
= N_Block_Statement
1702 or else NT
(N
).Nkind
= N_Subprogram_Body
1703 or else NT
(N
).Nkind
= N_Task_Body
);
1707 function Iteration_Scheme
1708 (N
: Node_Id
) return Node_Id
is
1710 pragma Assert
(False
1711 or else NT
(N
).Nkind
= N_Loop_Statement
);
1713 end Iteration_Scheme
;
1716 (N
: Node_Id
) return Node_Id
is
1718 pragma Assert
(False
1719 or else NT
(N
).Nkind
= N_Itype_Reference
);
1723 function Kill_Range_Check
1724 (N
: Node_Id
) return Boolean is
1726 pragma Assert
(False
1727 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1729 end Kill_Range_Check
;
1731 function Label_Construct
1732 (N
: Node_Id
) return Node_Id
is
1734 pragma Assert
(False
1735 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
1737 end Label_Construct
;
1740 (N
: Node_Id
) return Node_Id
is
1742 pragma Assert
(False
1743 or else NT
(N
).Nkind
= N_Component_Clause
);
1748 (N
: Node_Id
) return Boolean is
1750 pragma Assert
(False
1751 or else NT
(N
).Nkind
= N_With_Clause
);
1756 (N
: Node_Id
) return Node_Id
is
1758 pragma Assert
(False
1759 or else NT
(N
).Nkind
= N_And_Then
1760 or else NT
(N
).Nkind
= N_In
1761 or else NT
(N
).Nkind
= N_Not_In
1762 or else NT
(N
).Nkind
= N_Or_Else
1763 or else NT
(N
).Nkind
in N_Binary_Op
);
1767 function Library_Unit
1768 (N
: Node_Id
) return Node_Id
is
1770 pragma Assert
(False
1771 or else NT
(N
).Nkind
= N_Compilation_Unit
1772 or else NT
(N
).Nkind
= N_Package_Body_Stub
1773 or else NT
(N
).Nkind
= N_Protected_Body_Stub
1774 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
1775 or else NT
(N
).Nkind
= N_Task_Body_Stub
1776 or else NT
(N
).Nkind
= N_With_Clause
);
1780 function Limited_View_Installed
1781 (N
: Node_Id
) return Boolean is
1783 pragma Assert
(False
1784 or else NT
(N
).Nkind
= N_Package_Specification
1785 or else NT
(N
).Nkind
= N_With_Clause
);
1787 end Limited_View_Installed
;
1789 function Limited_Present
1790 (N
: Node_Id
) return Boolean is
1792 pragma Assert
(False
1793 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1794 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
1795 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
1796 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
1797 or else NT
(N
).Nkind
= N_Private_Type_Declaration
1798 or else NT
(N
).Nkind
= N_Record_Definition
1799 or else NT
(N
).Nkind
= N_With_Clause
);
1801 end Limited_Present
;
1804 (N
: Node_Id
) return List_Id
is
1806 pragma Assert
(False
1807 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
1811 function Local_Raise_Not_OK
1812 (N
: Node_Id
) return Boolean is
1814 pragma Assert
(False
1815 or else NT
(N
).Nkind
= N_Exception_Handler
);
1817 end Local_Raise_Not_OK
;
1819 function Local_Raise_Statements
1820 (N
: Node_Id
) return Elist_Id
is
1822 pragma Assert
(False
1823 or else NT
(N
).Nkind
= N_Exception_Handler
);
1825 end Local_Raise_Statements
;
1827 function Loop_Actions
1828 (N
: Node_Id
) return List_Id
is
1830 pragma Assert
(False
1831 or else NT
(N
).Nkind
= N_Component_Association
);
1835 function Loop_Parameter_Specification
1836 (N
: Node_Id
) return Node_Id
is
1838 pragma Assert
(False
1839 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
1841 end Loop_Parameter_Specification
;
1844 (N
: Node_Id
) return Node_Id
is
1846 pragma Assert
(False
1847 or else NT
(N
).Nkind
= N_Range
1848 or else NT
(N
).Nkind
= N_Real_Range_Specification
1849 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1854 (N
: Node_Id
) return Node_Id
is
1856 pragma Assert
(False
1857 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1862 (N
: Node_Id
) return Boolean is
1864 pragma Assert
(False
1865 or else NT
(N
).Nkind
= N_Component_Declaration
1866 or else NT
(N
).Nkind
= N_Discriminant_Specification
1867 or else NT
(N
).Nkind
= N_Exception_Declaration
1868 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1869 or else NT
(N
).Nkind
= N_Number_Declaration
1870 or else NT
(N
).Nkind
= N_Object_Declaration
1871 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1875 function Must_Be_Byte_Aligned
1876 (N
: Node_Id
) return Boolean is
1878 pragma Assert
(False
1879 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1881 end Must_Be_Byte_Aligned
;
1883 function Must_Not_Freeze
1884 (N
: Node_Id
) return Boolean is
1886 pragma Assert
(False
1887 or else NT
(N
).Nkind
= N_Subtype_Indication
1888 or else NT
(N
).Nkind
in N_Subexpr
);
1890 end Must_Not_Freeze
;
1892 function Must_Not_Override
1893 (N
: Node_Id
) return Boolean is
1895 pragma Assert
(False
1896 or else NT
(N
).Nkind
= N_Entry_Declaration
1897 or else NT
(N
).Nkind
= N_Function_Instantiation
1898 or else NT
(N
).Nkind
= N_Function_Specification
1899 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1900 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1902 end Must_Not_Override
;
1904 function Must_Override
1905 (N
: Node_Id
) return Boolean is
1907 pragma Assert
(False
1908 or else NT
(N
).Nkind
= N_Entry_Declaration
1909 or else NT
(N
).Nkind
= N_Function_Instantiation
1910 or else NT
(N
).Nkind
= N_Function_Specification
1911 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1912 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1917 (N
: Node_Id
) return Node_Id
is
1919 pragma Assert
(False
1920 or else NT
(N
).Nkind
= N_Assignment_Statement
1921 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1922 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
1923 or else NT
(N
).Nkind
= N_Designator
1924 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1925 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
1926 or else NT
(N
).Nkind
= N_Exit_Statement
1927 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1928 or else NT
(N
).Nkind
= N_Function_Call
1929 or else NT
(N
).Nkind
= N_Function_Instantiation
1930 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1931 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1932 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1933 or else NT
(N
).Nkind
= N_Goto_Statement
1934 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
1935 or else NT
(N
).Nkind
= N_Package_Instantiation
1936 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1937 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
1938 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1939 or else NT
(N
).Nkind
= N_Raise_Statement
1940 or else NT
(N
).Nkind
= N_Requeue_Statement
1941 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
1942 or else NT
(N
).Nkind
= N_Subunit
1943 or else NT
(N
).Nkind
= N_Variant_Part
1944 or else NT
(N
).Nkind
= N_With_Clause
);
1949 (N
: Node_Id
) return List_Id
is
1951 pragma Assert
(False
1952 or else NT
(N
).Nkind
= N_Abort_Statement
1953 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
1957 function Next_Entity
1958 (N
: Node_Id
) return Node_Id
is
1960 pragma Assert
(False
1961 or else NT
(N
).Nkind
= N_Defining_Character_Literal
1962 or else NT
(N
).Nkind
= N_Defining_Identifier
1963 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
1967 function Next_Named_Actual
1968 (N
: Node_Id
) return Node_Id
is
1970 pragma Assert
(False
1971 or else NT
(N
).Nkind
= N_Parameter_Association
);
1973 end Next_Named_Actual
;
1975 function Next_Rep_Item
1976 (N
: Node_Id
) return Node_Id
is
1978 pragma Assert
(False
1979 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1980 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1981 or else NT
(N
).Nkind
= N_Pragma
1982 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1986 function Next_Use_Clause
1987 (N
: Node_Id
) return Node_Id
is
1989 pragma Assert
(False
1990 or else NT
(N
).Nkind
= N_Use_Package_Clause
1991 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1993 end Next_Use_Clause
;
1995 function No_Ctrl_Actions
1996 (N
: Node_Id
) return Boolean is
1998 pragma Assert
(False
1999 or else NT
(N
).Nkind
= N_Assignment_Statement
);
2001 end No_Ctrl_Actions
;
2003 function No_Elaboration_Check
2004 (N
: Node_Id
) return Boolean is
2006 pragma Assert
(False
2007 or else NT
(N
).Nkind
= N_Function_Call
2008 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2010 end No_Elaboration_Check
;
2012 function No_Entities_Ref_In_Spec
2013 (N
: Node_Id
) return Boolean is
2015 pragma Assert
(False
2016 or else NT
(N
).Nkind
= N_With_Clause
);
2018 end No_Entities_Ref_In_Spec
;
2020 function No_Initialization
2021 (N
: Node_Id
) return Boolean is
2023 pragma Assert
(False
2024 or else NT
(N
).Nkind
= N_Allocator
2025 or else NT
(N
).Nkind
= N_Object_Declaration
);
2027 end No_Initialization
;
2029 function No_Truncation
2030 (N
: Node_Id
) return Boolean is
2032 pragma Assert
(False
2033 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2037 function Null_Present
2038 (N
: Node_Id
) return Boolean is
2040 pragma Assert
(False
2041 or else NT
(N
).Nkind
= N_Component_List
2042 or else NT
(N
).Nkind
= N_Procedure_Specification
2043 or else NT
(N
).Nkind
= N_Record_Definition
);
2047 function Null_Exclusion_Present
2048 (N
: Node_Id
) return Boolean is
2050 pragma Assert
(False
2051 or else NT
(N
).Nkind
= N_Access_Definition
2052 or else NT
(N
).Nkind
= N_Access_Function_Definition
2053 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2054 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2055 or else NT
(N
).Nkind
= N_Allocator
2056 or else NT
(N
).Nkind
= N_Component_Definition
2057 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2058 or else NT
(N
).Nkind
= N_Discriminant_Specification
2059 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2060 or else NT
(N
).Nkind
= N_Function_Specification
2061 or else NT
(N
).Nkind
= N_Object_Declaration
2062 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2063 or else NT
(N
).Nkind
= N_Parameter_Specification
2064 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
2066 end Null_Exclusion_Present
;
2068 function Null_Record_Present
2069 (N
: Node_Id
) return Boolean is
2071 pragma Assert
(False
2072 or else NT
(N
).Nkind
= N_Aggregate
2073 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2075 end Null_Record_Present
;
2077 function Object_Definition
2078 (N
: Node_Id
) return Node_Id
is
2080 pragma Assert
(False
2081 or else NT
(N
).Nkind
= N_Object_Declaration
);
2083 end Object_Definition
;
2085 function Original_Discriminant
2086 (N
: Node_Id
) return Node_Id
is
2088 pragma Assert
(False
2089 or else NT
(N
).Nkind
= N_Identifier
);
2091 end Original_Discriminant
;
2093 function Original_Entity
2094 (N
: Node_Id
) return Entity_Id
is
2096 pragma Assert
(False
2097 or else NT
(N
).Nkind
= N_Integer_Literal
2098 or else NT
(N
).Nkind
= N_Real_Literal
);
2100 end Original_Entity
;
2102 function Others_Discrete_Choices
2103 (N
: Node_Id
) return List_Id
is
2105 pragma Assert
(False
2106 or else NT
(N
).Nkind
= N_Others_Choice
);
2108 end Others_Discrete_Choices
;
2110 function Out_Present
2111 (N
: Node_Id
) return Boolean is
2113 pragma Assert
(False
2114 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2115 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2119 function Parameter_Associations
2120 (N
: Node_Id
) return List_Id
is
2122 pragma Assert
(False
2123 or else NT
(N
).Nkind
= N_Entry_Call_Statement
2124 or else NT
(N
).Nkind
= N_Function_Call
2125 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2127 end Parameter_Associations
;
2129 function Parameter_List_Truncated
2130 (N
: Node_Id
) return Boolean is
2132 pragma Assert
(False
2133 or else NT
(N
).Nkind
= N_Function_Call
2134 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2136 end Parameter_List_Truncated
;
2138 function Parameter_Specifications
2139 (N
: Node_Id
) return List_Id
is
2141 pragma Assert
(False
2142 or else NT
(N
).Nkind
= N_Accept_Statement
2143 or else NT
(N
).Nkind
= N_Access_Function_Definition
2144 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2145 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
2146 or else NT
(N
).Nkind
= N_Entry_Declaration
2147 or else NT
(N
).Nkind
= N_Function_Specification
2148 or else NT
(N
).Nkind
= N_Procedure_Specification
);
2150 end Parameter_Specifications
;
2152 function Parameter_Type
2153 (N
: Node_Id
) return Node_Id
is
2155 pragma Assert
(False
2156 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2160 function Parent_Spec
2161 (N
: Node_Id
) return Node_Id
is
2163 pragma Assert
(False
2164 or else NT
(N
).Nkind
= N_Function_Instantiation
2165 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
2166 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2167 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
2168 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
2169 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2170 or else NT
(N
).Nkind
= N_Package_Declaration
2171 or else NT
(N
).Nkind
= N_Package_Instantiation
2172 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
2173 or else NT
(N
).Nkind
= N_Procedure_Instantiation
2174 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2175 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2180 (N
: Node_Id
) return Node_Id
is
2182 pragma Assert
(False
2183 or else NT
(N
).Nkind
= N_Component_Clause
);
2187 function Pragma_Argument_Associations
2188 (N
: Node_Id
) return List_Id
is
2190 pragma Assert
(False
2191 or else NT
(N
).Nkind
= N_Pragma
);
2193 end Pragma_Argument_Associations
;
2195 function Pragmas_After
2196 (N
: Node_Id
) return List_Id
is
2198 pragma Assert
(False
2199 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2200 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
2204 function Pragmas_Before
2205 (N
: Node_Id
) return List_Id
is
2207 pragma Assert
(False
2208 or else NT
(N
).Nkind
= N_Accept_Alternative
2209 or else NT
(N
).Nkind
= N_Delay_Alternative
2210 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2211 or else NT
(N
).Nkind
= N_Mod_Clause
2212 or else NT
(N
).Nkind
= N_Terminate_Alternative
2213 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2218 (N
: Node_Id
) return Node_Id
is
2220 pragma Assert
(False
2221 or else NT
(N
).Nkind
= N_Attribute_Reference
2222 or else NT
(N
).Nkind
= N_Expanded_Name
2223 or else NT
(N
).Nkind
= N_Explicit_Dereference
2224 or else NT
(N
).Nkind
= N_Indexed_Component
2225 or else NT
(N
).Nkind
= N_Reference
2226 or else NT
(N
).Nkind
= N_Selected_Component
2227 or else NT
(N
).Nkind
= N_Slice
);
2231 function Present_Expr
2232 (N
: Node_Id
) return Uint
is
2234 pragma Assert
(False
2235 or else NT
(N
).Nkind
= N_Variant
);
2240 (N
: Node_Id
) return Boolean is
2242 pragma Assert
(False
2243 or else NT
(N
).Nkind
= N_Component_Declaration
2244 or else NT
(N
).Nkind
= N_Discriminant_Specification
2245 or else NT
(N
).Nkind
= N_Exception_Declaration
2246 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2247 or else NT
(N
).Nkind
= N_Number_Declaration
2248 or else NT
(N
).Nkind
= N_Object_Declaration
2249 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2253 function Print_In_Hex
2254 (N
: Node_Id
) return Boolean is
2256 pragma Assert
(False
2257 or else NT
(N
).Nkind
= N_Integer_Literal
);
2261 function Private_Declarations
2262 (N
: Node_Id
) return List_Id
is
2264 pragma Assert
(False
2265 or else NT
(N
).Nkind
= N_Package_Specification
2266 or else NT
(N
).Nkind
= N_Protected_Definition
2267 or else NT
(N
).Nkind
= N_Task_Definition
);
2269 end Private_Declarations
;
2271 function Private_Present
2272 (N
: Node_Id
) return Boolean is
2274 pragma Assert
(False
2275 or else NT
(N
).Nkind
= N_Compilation_Unit
2276 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2277 or else NT
(N
).Nkind
= N_With_Clause
);
2279 end Private_Present
;
2281 function Procedure_To_Call
2282 (N
: Node_Id
) return Node_Id
is
2284 pragma Assert
(False
2285 or else NT
(N
).Nkind
= N_Allocator
2286 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2287 or else NT
(N
).Nkind
= N_Free_Statement
2288 or else NT
(N
).Nkind
= N_Return_Statement
);
2290 end Procedure_To_Call
;
2292 function Proper_Body
2293 (N
: Node_Id
) return Node_Id
is
2295 pragma Assert
(False
2296 or else NT
(N
).Nkind
= N_Subunit
);
2300 function Protected_Definition
2301 (N
: Node_Id
) return Node_Id
is
2303 pragma Assert
(False
2304 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
2305 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
2307 end Protected_Definition
;
2309 function Protected_Present
2310 (N
: Node_Id
) return Boolean is
2312 pragma Assert
(False
2313 or else NT
(N
).Nkind
= N_Access_Function_Definition
2314 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2315 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2316 or else NT
(N
).Nkind
= N_Record_Definition
);
2318 end Protected_Present
;
2320 function Raises_Constraint_Error
2321 (N
: Node_Id
) return Boolean is
2323 pragma Assert
(False
2324 or else NT
(N
).Nkind
in N_Subexpr
);
2326 end Raises_Constraint_Error
;
2328 function Range_Constraint
2329 (N
: Node_Id
) return Node_Id
is
2331 pragma Assert
(False
2332 or else NT
(N
).Nkind
= N_Delta_Constraint
2333 or else NT
(N
).Nkind
= N_Digits_Constraint
);
2335 end Range_Constraint
;
2337 function Range_Expression
2338 (N
: Node_Id
) return Node_Id
is
2340 pragma Assert
(False
2341 or else NT
(N
).Nkind
= N_Range_Constraint
);
2343 end Range_Expression
;
2345 function Real_Range_Specification
2346 (N
: Node_Id
) return Node_Id
is
2348 pragma Assert
(False
2349 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
2350 or else NT
(N
).Nkind
= N_Floating_Point_Definition
2351 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
2353 end Real_Range_Specification
;
2356 (N
: Node_Id
) return Ureal
is
2358 pragma Assert
(False
2359 or else NT
(N
).Nkind
= N_Real_Literal
);
2364 (N
: Node_Id
) return Uint
is
2366 pragma Assert
(False
2367 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2368 or else NT
(N
).Nkind
= N_Raise_Program_Error
2369 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
2373 function Record_Extension_Part
2374 (N
: Node_Id
) return Node_Id
is
2376 pragma Assert
(False
2377 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
2379 end Record_Extension_Part
;
2381 function Redundant_Use
2382 (N
: Node_Id
) return Boolean is
2384 pragma Assert
(False
2385 or else NT
(N
).Nkind
= N_Attribute_Reference
2386 or else NT
(N
).Nkind
= N_Expanded_Name
2387 or else NT
(N
).Nkind
= N_Identifier
);
2391 function Renaming_Exception
2392 (N
: Node_Id
) return Node_Id
is
2394 pragma Assert
(False
2395 or else NT
(N
).Nkind
= N_Exception_Declaration
);
2397 end Renaming_Exception
;
2399 function Result_Definition
2400 (N
: Node_Id
) return Node_Id
is
2402 pragma Assert
(False
2403 or else NT
(N
).Nkind
= N_Access_Function_Definition
2404 or else NT
(N
).Nkind
= N_Function_Specification
);
2406 end Result_Definition
;
2408 function Return_Object_Declarations
2409 (N
: Node_Id
) return List_Id
is
2411 pragma Assert
(False
2412 or else NT
(N
).Nkind
= N_Extended_Return_Statement
);
2414 end Return_Object_Declarations
;
2416 function Return_Statement_Entity
2417 (N
: Node_Id
) return Node_Id
is
2419 pragma Assert
(False
2420 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2421 or else NT
(N
).Nkind
= N_Return_Statement
);
2423 end Return_Statement_Entity
;
2425 function Reverse_Present
2426 (N
: Node_Id
) return Boolean is
2428 pragma Assert
(False
2429 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
2431 end Reverse_Present
;
2434 (N
: Node_Id
) return Node_Id
is
2436 pragma Assert
(False
2437 or else NT
(N
).Nkind
in N_Op
2438 or else NT
(N
).Nkind
= N_And_Then
2439 or else NT
(N
).Nkind
= N_In
2440 or else NT
(N
).Nkind
= N_Not_In
2441 or else NT
(N
).Nkind
= N_Or_Else
);
2445 function Rounded_Result
2446 (N
: Node_Id
) return Boolean is
2448 pragma Assert
(False
2449 or else NT
(N
).Nkind
= N_Op_Divide
2450 or else NT
(N
).Nkind
= N_Op_Multiply
2451 or else NT
(N
).Nkind
= N_Type_Conversion
);
2456 (N
: Node_Id
) return Node_Id
is
2458 pragma Assert
(False
2459 or else NT
(N
).Nkind
= N_Defining_Character_Literal
2460 or else NT
(N
).Nkind
= N_Defining_Identifier
2461 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
2465 function Select_Alternatives
2466 (N
: Node_Id
) return List_Id
is
2468 pragma Assert
(False
2469 or else NT
(N
).Nkind
= N_Selective_Accept
);
2471 end Select_Alternatives
;
2473 function Selector_Name
2474 (N
: Node_Id
) return Node_Id
is
2476 pragma Assert
(False
2477 or else NT
(N
).Nkind
= N_Expanded_Name
2478 or else NT
(N
).Nkind
= N_Generic_Association
2479 or else NT
(N
).Nkind
= N_Parameter_Association
2480 or else NT
(N
).Nkind
= N_Selected_Component
);
2484 function Selector_Names
2485 (N
: Node_Id
) return List_Id
is
2487 pragma Assert
(False
2488 or else NT
(N
).Nkind
= N_Discriminant_Association
);
2492 function Shift_Count_OK
2493 (N
: Node_Id
) return Boolean is
2495 pragma Assert
(False
2496 or else NT
(N
).Nkind
= N_Op_Rotate_Left
2497 or else NT
(N
).Nkind
= N_Op_Rotate_Right
2498 or else NT
(N
).Nkind
= N_Op_Shift_Left
2499 or else NT
(N
).Nkind
= N_Op_Shift_Right
2500 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
2504 function Source_Type
2505 (N
: Node_Id
) return Entity_Id
is
2507 pragma Assert
(False
2508 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2512 function Specification
2513 (N
: Node_Id
) return Node_Id
is
2515 pragma Assert
(False
2516 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
2517 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
2518 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
2519 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2520 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2521 or else NT
(N
).Nkind
= N_Package_Declaration
2522 or else NT
(N
).Nkind
= N_Subprogram_Body
2523 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
2524 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2525 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2530 (N
: Node_Id
) return List_Id
is
2532 pragma Assert
(False
2533 or else NT
(N
).Nkind
= N_Abortable_Part
2534 or else NT
(N
).Nkind
= N_Accept_Alternative
2535 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
2536 or else NT
(N
).Nkind
= N_Delay_Alternative
2537 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2538 or else NT
(N
).Nkind
= N_Exception_Handler
2539 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
2540 or else NT
(N
).Nkind
= N_Loop_Statement
2541 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2545 function Static_Processing_OK
2546 (N
: Node_Id
) return Boolean is
2548 pragma Assert
(False
2549 or else NT
(N
).Nkind
= N_Aggregate
);
2551 end Static_Processing_OK
;
2553 function Storage_Pool
2554 (N
: Node_Id
) return Node_Id
is
2556 pragma Assert
(False
2557 or else NT
(N
).Nkind
= N_Allocator
2558 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2559 or else NT
(N
).Nkind
= N_Free_Statement
2560 or else NT
(N
).Nkind
= N_Return_Statement
);
2565 (N
: Node_Id
) return String_Id
is
2567 pragma Assert
(False
2568 or else NT
(N
).Nkind
= N_Operator_Symbol
2569 or else NT
(N
).Nkind
= N_String_Literal
);
2573 function Subtype_Indication
2574 (N
: Node_Id
) return Node_Id
is
2576 pragma Assert
(False
2577 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2578 or else NT
(N
).Nkind
= N_Component_Definition
2579 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2580 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2581 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
2583 end Subtype_Indication
;
2585 function Subtype_Mark
2586 (N
: Node_Id
) return Node_Id
is
2588 pragma Assert
(False
2589 or else NT
(N
).Nkind
= N_Access_Definition
2590 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2591 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2592 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2593 or else NT
(N
).Nkind
= N_Qualified_Expression
2594 or else NT
(N
).Nkind
= N_Subtype_Indication
2595 or else NT
(N
).Nkind
= N_Type_Conversion
2596 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2600 function Subtype_Marks
2601 (N
: Node_Id
) return List_Id
is
2603 pragma Assert
(False
2604 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
2605 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2609 function Synchronized_Present
2610 (N
: Node_Id
) return Boolean is
2612 pragma Assert
(False
2613 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2614 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2615 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2616 or else NT
(N
).Nkind
= N_Record_Definition
);
2618 end Synchronized_Present
;
2620 function Tagged_Present
2621 (N
: Node_Id
) return Boolean is
2623 pragma Assert
(False
2624 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2625 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2626 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2627 or else NT
(N
).Nkind
= N_Record_Definition
);
2631 function Target_Type
2632 (N
: Node_Id
) return Entity_Id
is
2634 pragma Assert
(False
2635 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2639 function Task_Definition
2640 (N
: Node_Id
) return Node_Id
is
2642 pragma Assert
(False
2643 or else NT
(N
).Nkind
= N_Single_Task_Declaration
2644 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2646 end Task_Definition
;
2648 function Task_Present
2649 (N
: Node_Id
) return Boolean is
2651 pragma Assert
(False
2652 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2653 or else NT
(N
).Nkind
= N_Record_Definition
);
2657 function Then_Actions
2658 (N
: Node_Id
) return List_Id
is
2660 pragma Assert
(False
2661 or else NT
(N
).Nkind
= N_Conditional_Expression
);
2665 function Then_Statements
2666 (N
: Node_Id
) return List_Id
is
2668 pragma Assert
(False
2669 or else NT
(N
).Nkind
= N_Elsif_Part
2670 or else NT
(N
).Nkind
= N_If_Statement
);
2672 end Then_Statements
;
2674 function Treat_Fixed_As_Integer
2675 (N
: Node_Id
) return Boolean is
2677 pragma Assert
(False
2678 or else NT
(N
).Nkind
= N_Op_Divide
2679 or else NT
(N
).Nkind
= N_Op_Mod
2680 or else NT
(N
).Nkind
= N_Op_Multiply
2681 or else NT
(N
).Nkind
= N_Op_Rem
);
2683 end Treat_Fixed_As_Integer
;
2685 function Triggering_Alternative
2686 (N
: Node_Id
) return Node_Id
is
2688 pragma Assert
(False
2689 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2691 end Triggering_Alternative
;
2693 function Triggering_Statement
2694 (N
: Node_Id
) return Node_Id
is
2696 pragma Assert
(False
2697 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2699 end Triggering_Statement
;
2702 (N
: Node_Id
) return Elist_Id
is
2704 pragma Assert
(False
2705 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2709 function Type_Definition
2710 (N
: Node_Id
) return Node_Id
is
2712 pragma Assert
(False
2713 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
2715 end Type_Definition
;
2718 (N
: Node_Id
) return Node_Id
is
2720 pragma Assert
(False
2721 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2725 function Unknown_Discriminants_Present
2726 (N
: Node_Id
) return Boolean is
2728 pragma Assert
(False
2729 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
2730 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2731 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2732 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
2734 end Unknown_Discriminants_Present
;
2736 function Unreferenced_In_Spec
2737 (N
: Node_Id
) return Boolean is
2739 pragma Assert
(False
2740 or else NT
(N
).Nkind
= N_With_Clause
);
2742 end Unreferenced_In_Spec
;
2744 function Variant_Part
2745 (N
: Node_Id
) return Node_Id
is
2747 pragma Assert
(False
2748 or else NT
(N
).Nkind
= N_Component_List
);
2753 (N
: Node_Id
) return List_Id
is
2755 pragma Assert
(False
2756 or else NT
(N
).Nkind
= N_Variant_Part
);
2760 function Visible_Declarations
2761 (N
: Node_Id
) return List_Id
is
2763 pragma Assert
(False
2764 or else NT
(N
).Nkind
= N_Package_Specification
2765 or else NT
(N
).Nkind
= N_Protected_Definition
2766 or else NT
(N
).Nkind
= N_Task_Definition
);
2768 end Visible_Declarations
;
2770 function Was_Originally_Stub
2771 (N
: Node_Id
) return Boolean is
2773 pragma Assert
(False
2774 or else NT
(N
).Nkind
= N_Package_Body
2775 or else NT
(N
).Nkind
= N_Protected_Body
2776 or else NT
(N
).Nkind
= N_Subprogram_Body
2777 or else NT
(N
).Nkind
= N_Task_Body
);
2779 end Was_Originally_Stub
;
2781 function Zero_Cost_Handling
2782 (N
: Node_Id
) return Boolean is
2784 pragma Assert
(False
2785 or else NT
(N
).Nkind
= N_Exception_Handler
2786 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2788 end Zero_Cost_Handling
;
2790 --------------------------
2791 -- Field Set Procedures --
2792 --------------------------
2794 procedure Set_ABE_Is_Certain
2795 (N
: Node_Id
; Val
: Boolean := True) is
2797 pragma Assert
(False
2798 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2799 or else NT
(N
).Nkind
= N_Function_Call
2800 or else NT
(N
).Nkind
= N_Function_Instantiation
2801 or else NT
(N
).Nkind
= N_Package_Instantiation
2802 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
2803 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
2804 Set_Flag18
(N
, Val
);
2805 end Set_ABE_Is_Certain
;
2807 procedure Set_Abort_Present
2808 (N
: Node_Id
; Val
: Boolean := True) is
2810 pragma Assert
(False
2811 or else NT
(N
).Nkind
= N_Requeue_Statement
);
2812 Set_Flag15
(N
, Val
);
2813 end Set_Abort_Present
;
2815 procedure Set_Abortable_Part
2816 (N
: Node_Id
; Val
: Node_Id
) is
2818 pragma Assert
(False
2819 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2820 Set_Node2_With_Parent
(N
, Val
);
2821 end Set_Abortable_Part
;
2823 procedure Set_Abstract_Present
2824 (N
: Node_Id
; Val
: Boolean := True) is
2826 pragma Assert
(False
2827 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2828 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2829 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2830 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2831 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2832 or else NT
(N
).Nkind
= N_Record_Definition
);
2834 end Set_Abstract_Present
;
2836 procedure Set_Accept_Handler_Records
2837 (N
: Node_Id
; Val
: List_Id
) is
2839 pragma Assert
(False
2840 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2841 Set_List5
(N
, Val
); -- semantic field, no parent set
2842 end Set_Accept_Handler_Records
;
2844 procedure Set_Accept_Statement
2845 (N
: Node_Id
; Val
: Node_Id
) is
2847 pragma Assert
(False
2848 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2849 Set_Node2_With_Parent
(N
, Val
);
2850 end Set_Accept_Statement
;
2852 procedure Set_Access_Definition
2853 (N
: Node_Id
; Val
: Node_Id
) is
2855 pragma Assert
(False
2856 or else NT
(N
).Nkind
= N_Component_Definition
2857 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2858 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
2859 Set_Node3_With_Parent
(N
, Val
);
2860 end Set_Access_Definition
;
2862 procedure Set_Access_To_Subprogram_Definition
2863 (N
: Node_Id
; Val
: Node_Id
) is
2865 pragma Assert
(False
2866 or else NT
(N
).Nkind
= N_Access_Definition
);
2867 Set_Node3_With_Parent
(N
, Val
);
2868 end Set_Access_To_Subprogram_Definition
;
2870 procedure Set_Access_Types_To_Process
2871 (N
: Node_Id
; Val
: Elist_Id
) is
2873 pragma Assert
(False
2874 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2875 Set_Elist2
(N
, Val
); -- semantic field, no parent set
2876 end Set_Access_Types_To_Process
;
2878 procedure Set_Actions
2879 (N
: Node_Id
; Val
: List_Id
) is
2881 pragma Assert
(False
2882 or else NT
(N
).Nkind
= N_And_Then
2883 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2884 or else NT
(N
).Nkind
= N_Freeze_Entity
2885 or else NT
(N
).Nkind
= N_Or_Else
);
2886 Set_List1_With_Parent
(N
, Val
);
2889 procedure Set_Activation_Chain_Entity
2890 (N
: Node_Id
; Val
: Node_Id
) is
2892 pragma Assert
(False
2893 or else NT
(N
).Nkind
= N_Block_Statement
2894 or else NT
(N
).Nkind
= N_Entry_Body
2895 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2896 or else NT
(N
).Nkind
= N_Package_Declaration
2897 or else NT
(N
).Nkind
= N_Subprogram_Body
2898 or else NT
(N
).Nkind
= N_Task_Body
);
2899 Set_Node3
(N
, Val
); -- semantic field, no parent set
2900 end Set_Activation_Chain_Entity
;
2902 procedure Set_Acts_As_Spec
2903 (N
: Node_Id
; Val
: Boolean := True) is
2905 pragma Assert
(False
2906 or else NT
(N
).Nkind
= N_Compilation_Unit
2907 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2909 end Set_Acts_As_Spec
;
2911 procedure Set_Actual_Designated_Subtype
2912 (N
: Node_Id
; Val
: Node_Id
) is
2914 pragma Assert
(False
2915 or else NT
(N
).Nkind
= N_Explicit_Dereference
2916 or else NT
(N
).Nkind
= N_Free_Statement
);
2918 end Set_Actual_Designated_Subtype
;
2920 procedure Set_Address_Warning_Posted
2921 (N
: Node_Id
; Val
: Boolean := True) is
2923 pragma Assert
(False
2924 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
2925 Set_Flag18
(N
, Val
);
2926 end Set_Address_Warning_Posted
;
2928 procedure Set_Aggregate_Bounds
2929 (N
: Node_Id
; Val
: Node_Id
) is
2931 pragma Assert
(False
2932 or else NT
(N
).Nkind
= N_Aggregate
);
2933 Set_Node3
(N
, Val
); -- semantic field, no parent set
2934 end Set_Aggregate_Bounds
;
2936 procedure Set_Aliased_Present
2937 (N
: Node_Id
; Val
: Boolean := True) is
2939 pragma Assert
(False
2940 or else NT
(N
).Nkind
= N_Component_Definition
2941 or else NT
(N
).Nkind
= N_Object_Declaration
);
2943 end Set_Aliased_Present
;
2945 procedure Set_All_Others
2946 (N
: Node_Id
; Val
: Boolean := True) is
2948 pragma Assert
(False
2949 or else NT
(N
).Nkind
= N_Others_Choice
);
2950 Set_Flag11
(N
, Val
);
2953 procedure Set_All_Present
2954 (N
: Node_Id
; Val
: Boolean := True) is
2956 pragma Assert
(False
2957 or else NT
(N
).Nkind
= N_Access_Definition
2958 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
2959 Set_Flag15
(N
, Val
);
2960 end Set_All_Present
;
2962 procedure Set_Alternatives
2963 (N
: Node_Id
; Val
: List_Id
) is
2965 pragma Assert
(False
2966 or else NT
(N
).Nkind
= N_Case_Statement
);
2967 Set_List4_With_Parent
(N
, Val
);
2968 end Set_Alternatives
;
2970 procedure Set_Ancestor_Part
2971 (N
: Node_Id
; Val
: Node_Id
) is
2973 pragma Assert
(False
2974 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2975 Set_Node3_With_Parent
(N
, Val
);
2976 end Set_Ancestor_Part
;
2978 procedure Set_Array_Aggregate
2979 (N
: Node_Id
; Val
: Node_Id
) is
2981 pragma Assert
(False
2982 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
2983 Set_Node3_With_Parent
(N
, Val
);
2984 end Set_Array_Aggregate
;
2986 procedure Set_Assignment_OK
2987 (N
: Node_Id
; Val
: Boolean := True) is
2989 pragma Assert
(False
2990 or else NT
(N
).Nkind
= N_Object_Declaration
2991 or else NT
(N
).Nkind
in N_Subexpr
);
2992 Set_Flag15
(N
, Val
);
2993 end Set_Assignment_OK
;
2995 procedure Set_Associated_Node
2996 (N
: Node_Id
; Val
: Node_Id
) is
2998 pragma Assert
(False
2999 or else NT
(N
).Nkind
in N_Has_Entity
3000 or else NT
(N
).Nkind
= N_Aggregate
3001 or else NT
(N
).Nkind
= N_Extension_Aggregate
3002 or else NT
(N
).Nkind
= N_Selected_Component
);
3003 Set_Node4
(N
, Val
); -- semantic field, no parent set
3004 end Set_Associated_Node
;
3006 procedure Set_At_End_Proc
3007 (N
: Node_Id
; Val
: Node_Id
) is
3009 pragma Assert
(False
3010 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3012 end Set_At_End_Proc
;
3014 procedure Set_Attribute_Name
3015 (N
: Node_Id
; Val
: Name_Id
) is
3017 pragma Assert
(False
3018 or else NT
(N
).Nkind
= N_Attribute_Reference
);
3020 end Set_Attribute_Name
;
3022 procedure Set_Aux_Decls_Node
3023 (N
: Node_Id
; Val
: Node_Id
) is
3025 pragma Assert
(False
3026 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3027 Set_Node5_With_Parent
(N
, Val
);
3028 end Set_Aux_Decls_Node
;
3030 procedure Set_Backwards_OK
3031 (N
: Node_Id
; Val
: Boolean := True) is
3033 pragma Assert
(False
3034 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3036 end Set_Backwards_OK
;
3038 procedure Set_Bad_Is_Detected
3039 (N
: Node_Id
; Val
: Boolean := True) is
3041 pragma Assert
(False
3042 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3043 Set_Flag15
(N
, Val
);
3044 end Set_Bad_Is_Detected
;
3046 procedure Set_Body_Required
3047 (N
: Node_Id
; Val
: Boolean := True) is
3049 pragma Assert
(False
3050 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3051 Set_Flag13
(N
, Val
);
3052 end Set_Body_Required
;
3054 procedure Set_Body_To_Inline
3055 (N
: Node_Id
; Val
: Node_Id
) is
3057 pragma Assert
(False
3058 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
3060 end Set_Body_To_Inline
;
3062 procedure Set_Box_Present
3063 (N
: Node_Id
; Val
: Boolean := True) is
3065 pragma Assert
(False
3066 or else NT
(N
).Nkind
= N_Component_Association
3067 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
3068 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
3069 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3070 or else NT
(N
).Nkind
= N_Generic_Association
);
3071 Set_Flag15
(N
, Val
);
3072 end Set_Box_Present
;
3074 procedure Set_By_Ref
3075 (N
: Node_Id
; Val
: Boolean := True) is
3077 pragma Assert
(False
3078 or else NT
(N
).Nkind
= N_Extended_Return_Statement
3079 or else NT
(N
).Nkind
= N_Return_Statement
);
3083 procedure Set_Char_Literal_Value
3084 (N
: Node_Id
; Val
: Uint
) is
3086 pragma Assert
(False
3087 or else NT
(N
).Nkind
= N_Character_Literal
);
3089 end Set_Char_Literal_Value
;
3092 (N
: Node_Id
; Val
: Name_Id
) is
3094 pragma Assert
(False
3095 or else NT
(N
).Nkind
in N_Has_Chars
);
3099 procedure Set_Check_Address_Alignment
3100 (N
: Node_Id
; Val
: Boolean := True) is
3102 pragma Assert
(False
3103 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3104 Set_Flag11
(N
, Val
);
3105 end Set_Check_Address_Alignment
;
3107 procedure Set_Choice_Parameter
3108 (N
: Node_Id
; Val
: Node_Id
) is
3110 pragma Assert
(False
3111 or else NT
(N
).Nkind
= N_Exception_Handler
);
3112 Set_Node2_With_Parent
(N
, Val
);
3113 end Set_Choice_Parameter
;
3115 procedure Set_Choices
3116 (N
: Node_Id
; Val
: List_Id
) is
3118 pragma Assert
(False
3119 or else NT
(N
).Nkind
= N_Component_Association
);
3120 Set_List1_With_Parent
(N
, Val
);
3123 procedure Set_Coextensions
3124 (N
: Node_Id
; Val
: Elist_Id
) is
3126 pragma Assert
(False
3127 or else NT
(N
).Nkind
= N_Allocator
);
3128 Set_Elist4
(N
, Val
);
3129 end Set_Coextensions
;
3131 procedure Set_Comes_From_Extended_Return_Statement
3132 (N
: Node_Id
; Val
: Boolean := True) is
3134 pragma Assert
(False
3135 or else NT
(N
).Nkind
= N_Return_Statement
);
3136 Set_Flag18
(N
, Val
);
3137 end Set_Comes_From_Extended_Return_Statement
;
3139 procedure Set_Compile_Time_Known_Aggregate
3140 (N
: Node_Id
; Val
: Boolean := True) is
3142 pragma Assert
(False
3143 or else NT
(N
).Nkind
= N_Aggregate
);
3144 Set_Flag18
(N
, Val
);
3145 end Set_Compile_Time_Known_Aggregate
;
3147 procedure Set_Component_Associations
3148 (N
: Node_Id
; Val
: List_Id
) is
3150 pragma Assert
(False
3151 or else NT
(N
).Nkind
= N_Aggregate
3152 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3153 Set_List2_With_Parent
(N
, Val
);
3154 end Set_Component_Associations
;
3156 procedure Set_Component_Clauses
3157 (N
: Node_Id
; Val
: List_Id
) is
3159 pragma Assert
(False
3160 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
3161 Set_List3_With_Parent
(N
, Val
);
3162 end Set_Component_Clauses
;
3164 procedure Set_Component_Definition
3165 (N
: Node_Id
; Val
: Node_Id
) is
3167 pragma Assert
(False
3168 or else NT
(N
).Nkind
= N_Component_Declaration
3169 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
3170 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
3171 Set_Node4_With_Parent
(N
, Val
);
3172 end Set_Component_Definition
;
3174 procedure Set_Component_Items
3175 (N
: Node_Id
; Val
: List_Id
) is
3177 pragma Assert
(False
3178 or else NT
(N
).Nkind
= N_Component_List
);
3179 Set_List3_With_Parent
(N
, Val
);
3180 end Set_Component_Items
;
3182 procedure Set_Component_List
3183 (N
: Node_Id
; Val
: Node_Id
) is
3185 pragma Assert
(False
3186 or else NT
(N
).Nkind
= N_Record_Definition
3187 or else NT
(N
).Nkind
= N_Variant
);
3188 Set_Node1_With_Parent
(N
, Val
);
3189 end Set_Component_List
;
3191 procedure Set_Component_Name
3192 (N
: Node_Id
; Val
: Node_Id
) is
3194 pragma Assert
(False
3195 or else NT
(N
).Nkind
= N_Component_Clause
);
3196 Set_Node1_With_Parent
(N
, Val
);
3197 end Set_Component_Name
;
3199 procedure Set_Condition
3200 (N
: Node_Id
; Val
: Node_Id
) is
3202 pragma Assert
(False
3203 or else NT
(N
).Nkind
= N_Accept_Alternative
3204 or else NT
(N
).Nkind
= N_Delay_Alternative
3205 or else NT
(N
).Nkind
= N_Elsif_Part
3206 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
3207 or else NT
(N
).Nkind
= N_Exit_Statement
3208 or else NT
(N
).Nkind
= N_If_Statement
3209 or else NT
(N
).Nkind
= N_Iteration_Scheme
3210 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
3211 or else NT
(N
).Nkind
= N_Raise_Program_Error
3212 or else NT
(N
).Nkind
= N_Raise_Storage_Error
3213 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
3214 Set_Node1_With_Parent
(N
, Val
);
3217 procedure Set_Condition_Actions
3218 (N
: Node_Id
; Val
: List_Id
) is
3220 pragma Assert
(False
3221 or else NT
(N
).Nkind
= N_Elsif_Part
3222 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
3223 Set_List3
(N
, Val
); -- semantic field, no parent set
3224 end Set_Condition_Actions
;
3226 procedure Set_Config_Pragmas
3227 (N
: Node_Id
; Val
: List_Id
) is
3229 pragma Assert
(False
3230 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
3231 Set_List4_With_Parent
(N
, Val
);
3232 end Set_Config_Pragmas
;
3234 procedure Set_Constant_Present
3235 (N
: Node_Id
; Val
: Boolean := True) is
3237 pragma Assert
(False
3238 or else NT
(N
).Nkind
= N_Access_Definition
3239 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
3240 or else NT
(N
).Nkind
= N_Object_Declaration
);
3241 Set_Flag17
(N
, Val
);
3242 end Set_Constant_Present
;
3244 procedure Set_Constraint
3245 (N
: Node_Id
; Val
: Node_Id
) is
3247 pragma Assert
(False
3248 or else NT
(N
).Nkind
= N_Subtype_Indication
);
3249 Set_Node3_With_Parent
(N
, Val
);
3252 procedure Set_Constraints
3253 (N
: Node_Id
; Val
: List_Id
) is
3255 pragma Assert
(False
3256 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
3257 Set_List1_With_Parent
(N
, Val
);
3258 end Set_Constraints
;
3260 procedure Set_Context_Installed
3261 (N
: Node_Id
; Val
: Boolean := True) is
3263 pragma Assert
(False
3264 or else NT
(N
).Nkind
= N_With_Clause
);
3265 Set_Flag13
(N
, Val
);
3266 end Set_Context_Installed
;
3268 procedure Set_Context_Items
3269 (N
: Node_Id
; Val
: List_Id
) is
3271 pragma Assert
(False
3272 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3273 Set_List1_With_Parent
(N
, Val
);
3274 end Set_Context_Items
;
3276 procedure Set_Controlling_Argument
3277 (N
: Node_Id
; Val
: Node_Id
) is
3279 pragma Assert
(False
3280 or else NT
(N
).Nkind
= N_Function_Call
3281 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3282 Set_Node1
(N
, Val
); -- semantic field, no parent set
3283 end Set_Controlling_Argument
;
3285 procedure Set_Conversion_OK
3286 (N
: Node_Id
; Val
: Boolean := True) is
3288 pragma Assert
(False
3289 or else NT
(N
).Nkind
= N_Type_Conversion
);
3290 Set_Flag14
(N
, Val
);
3291 end Set_Conversion_OK
;
3293 procedure Set_Corresponding_Body
3294 (N
: Node_Id
; Val
: Node_Id
) is
3296 pragma Assert
(False
3297 or else NT
(N
).Nkind
= N_Entry_Declaration
3298 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3299 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
3300 or else NT
(N
).Nkind
= N_Package_Body_Stub
3301 or else NT
(N
).Nkind
= N_Package_Declaration
3302 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3303 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3304 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
3305 or else NT
(N
).Nkind
= N_Subprogram_Declaration
3306 or else NT
(N
).Nkind
= N_Task_Body_Stub
3307 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3308 Set_Node5
(N
, Val
); -- semantic field, no parent set
3309 end Set_Corresponding_Body
;
3311 procedure Set_Corresponding_Formal_Spec
3312 (N
: Node_Id
; Val
: Node_Id
) is
3314 pragma Assert
(False
3315 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
3316 Set_Node3
(N
, Val
); -- semantic field, no parent set
3317 end Set_Corresponding_Formal_Spec
;
3319 procedure Set_Corresponding_Generic_Association
3320 (N
: Node_Id
; Val
: Node_Id
) is
3322 pragma Assert
(False
3323 or else NT
(N
).Nkind
= N_Object_Declaration
3324 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
3325 Set_Node5
(N
, Val
); -- semantic field, no parent set
3326 end Set_Corresponding_Generic_Association
;
3328 procedure Set_Corresponding_Integer_Value
3329 (N
: Node_Id
; Val
: Uint
) is
3331 pragma Assert
(False
3332 or else NT
(N
).Nkind
= N_Real_Literal
);
3333 Set_Uint4
(N
, Val
); -- semantic field, no parent set
3334 end Set_Corresponding_Integer_Value
;
3336 procedure Set_Corresponding_Spec
3337 (N
: Node_Id
; Val
: Node_Id
) is
3339 pragma Assert
(False
3340 or else NT
(N
).Nkind
= N_Package_Body
3341 or else NT
(N
).Nkind
= N_Protected_Body
3342 or else NT
(N
).Nkind
= N_Subprogram_Body
3343 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
3344 or else NT
(N
).Nkind
= N_Task_Body
3345 or else NT
(N
).Nkind
= N_With_Clause
);
3346 Set_Node5
(N
, Val
); -- semantic field, no parent set
3347 end Set_Corresponding_Spec
;
3349 procedure Set_Corresponding_Stub
3350 (N
: Node_Id
; Val
: Node_Id
) is
3352 pragma Assert
(False
3353 or else NT
(N
).Nkind
= N_Subunit
);
3355 end Set_Corresponding_Stub
;
3357 procedure Set_Dcheck_Function
3358 (N
: Node_Id
; Val
: Entity_Id
) is
3360 pragma Assert
(False
3361 or else NT
(N
).Nkind
= N_Variant
);
3362 Set_Node5
(N
, Val
); -- semantic field, no parent set
3363 end Set_Dcheck_Function
;
3365 procedure Set_Debug_Statement
3366 (N
: Node_Id
; Val
: Node_Id
) is
3368 pragma Assert
(False
3369 or else NT
(N
).Nkind
= N_Pragma
);
3370 Set_Node3_With_Parent
(N
, Val
);
3371 end Set_Debug_Statement
;
3373 procedure Set_Declarations
3374 (N
: Node_Id
; Val
: List_Id
) is
3376 pragma Assert
(False
3377 or else NT
(N
).Nkind
= N_Accept_Statement
3378 or else NT
(N
).Nkind
= N_Block_Statement
3379 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
3380 or else NT
(N
).Nkind
= N_Entry_Body
3381 or else NT
(N
).Nkind
= N_Package_Body
3382 or else NT
(N
).Nkind
= N_Protected_Body
3383 or else NT
(N
).Nkind
= N_Subprogram_Body
3384 or else NT
(N
).Nkind
= N_Task_Body
);
3385 Set_List2_With_Parent
(N
, Val
);
3386 end Set_Declarations
;
3388 procedure Set_Default_Expression
3389 (N
: Node_Id
; Val
: Node_Id
) is
3391 pragma Assert
(False
3392 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3393 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3394 Set_Node5
(N
, Val
); -- semantic field, no parent set
3395 end Set_Default_Expression
;
3397 procedure Set_Default_Name
3398 (N
: Node_Id
; Val
: Node_Id
) is
3400 pragma Assert
(False
3401 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
3402 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
);
3403 Set_Node2_With_Parent
(N
, Val
);
3404 end Set_Default_Name
;
3406 procedure Set_Defining_Identifier
3407 (N
: Node_Id
; Val
: Entity_Id
) is
3409 pragma Assert
(False
3410 or else NT
(N
).Nkind
= N_Component_Declaration
3411 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
3412 or else NT
(N
).Nkind
= N_Discriminant_Specification
3413 or else NT
(N
).Nkind
= N_Entry_Body
3414 or else NT
(N
).Nkind
= N_Entry_Declaration
3415 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3416 or else NT
(N
).Nkind
= N_Exception_Declaration
3417 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
3418 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3419 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3420 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3421 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3422 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
3423 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3424 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
3425 or else NT
(N
).Nkind
= N_Number_Declaration
3426 or else NT
(N
).Nkind
= N_Object_Declaration
3427 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
3428 or else NT
(N
).Nkind
= N_Package_Body_Stub
3429 or else NT
(N
).Nkind
= N_Parameter_Specification
3430 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3431 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3432 or else NT
(N
).Nkind
= N_Protected_Body
3433 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3434 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3435 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
3436 or else NT
(N
).Nkind
= N_Single_Task_Declaration
3437 or else NT
(N
).Nkind
= N_Subtype_Declaration
3438 or else NT
(N
).Nkind
= N_Task_Body
3439 or else NT
(N
).Nkind
= N_Task_Body_Stub
3440 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3441 Set_Node1_With_Parent
(N
, Val
);
3442 end Set_Defining_Identifier
;
3444 procedure Set_Defining_Unit_Name
3445 (N
: Node_Id
; Val
: Node_Id
) is
3447 pragma Assert
(False
3448 or else NT
(N
).Nkind
= N_Function_Instantiation
3449 or else NT
(N
).Nkind
= N_Function_Specification
3450 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
3451 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
3452 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
3453 or else NT
(N
).Nkind
= N_Package_Body
3454 or else NT
(N
).Nkind
= N_Package_Instantiation
3455 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
3456 or else NT
(N
).Nkind
= N_Package_Specification
3457 or else NT
(N
).Nkind
= N_Procedure_Instantiation
3458 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3459 Set_Node1_With_Parent
(N
, Val
);
3460 end Set_Defining_Unit_Name
;
3462 procedure Set_Delay_Alternative
3463 (N
: Node_Id
; Val
: Node_Id
) is
3465 pragma Assert
(False
3466 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3467 Set_Node4_With_Parent
(N
, Val
);
3468 end Set_Delay_Alternative
;
3470 procedure Set_Delay_Statement
3471 (N
: Node_Id
; Val
: Node_Id
) is
3473 pragma Assert
(False
3474 or else NT
(N
).Nkind
= N_Delay_Alternative
);
3475 Set_Node2_With_Parent
(N
, Val
);
3476 end Set_Delay_Statement
;
3478 procedure Set_Delta_Expression
3479 (N
: Node_Id
; Val
: Node_Id
) is
3481 pragma Assert
(False
3482 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3483 or else NT
(N
).Nkind
= N_Delta_Constraint
3484 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
3485 Set_Node3_With_Parent
(N
, Val
);
3486 end Set_Delta_Expression
;
3488 procedure Set_Digits_Expression
3489 (N
: Node_Id
; Val
: Node_Id
) is
3491 pragma Assert
(False
3492 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3493 or else NT
(N
).Nkind
= N_Digits_Constraint
3494 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
3495 Set_Node2_With_Parent
(N
, Val
);
3496 end Set_Digits_Expression
;
3498 procedure Set_Discr_Check_Funcs_Built
3499 (N
: Node_Id
; Val
: Boolean := True) is
3501 pragma Assert
(False
3502 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
3503 Set_Flag11
(N
, Val
);
3504 end Set_Discr_Check_Funcs_Built
;
3506 procedure Set_Discrete_Choices
3507 (N
: Node_Id
; Val
: List_Id
) is
3509 pragma Assert
(False
3510 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
3511 or else NT
(N
).Nkind
= N_Variant
);
3512 Set_List4_With_Parent
(N
, Val
);
3513 end Set_Discrete_Choices
;
3515 procedure Set_Discrete_Range
3516 (N
: Node_Id
; Val
: Node_Id
) is
3518 pragma Assert
(False
3519 or else NT
(N
).Nkind
= N_Slice
);
3520 Set_Node4_With_Parent
(N
, Val
);
3521 end Set_Discrete_Range
;
3523 procedure Set_Discrete_Subtype_Definition
3524 (N
: Node_Id
; Val
: Node_Id
) is
3526 pragma Assert
(False
3527 or else NT
(N
).Nkind
= N_Entry_Declaration
3528 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3529 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
3530 Set_Node4_With_Parent
(N
, Val
);
3531 end Set_Discrete_Subtype_Definition
;
3533 procedure Set_Discrete_Subtype_Definitions
3534 (N
: Node_Id
; Val
: List_Id
) is
3536 pragma Assert
(False
3537 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
3538 Set_List2_With_Parent
(N
, Val
);
3539 end Set_Discrete_Subtype_Definitions
;
3541 procedure Set_Discriminant_Specifications
3542 (N
: Node_Id
; Val
: List_Id
) is
3544 pragma Assert
(False
3545 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3546 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3547 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3548 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3549 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3550 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3551 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3552 Set_List4_With_Parent
(N
, Val
);
3553 end Set_Discriminant_Specifications
;
3555 procedure Set_Discriminant_Type
3556 (N
: Node_Id
; Val
: Node_Id
) is
3558 pragma Assert
(False
3559 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
3560 Set_Node5_With_Parent
(N
, Val
);
3561 end Set_Discriminant_Type
;
3563 procedure Set_Do_Accessibility_Check
3564 (N
: Node_Id
; Val
: Boolean := True) is
3566 pragma Assert
(False
3567 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3568 Set_Flag13
(N
, Val
);
3569 end Set_Do_Accessibility_Check
;
3571 procedure Set_Do_Discriminant_Check
3572 (N
: Node_Id
; Val
: Boolean := True) is
3574 pragma Assert
(False
3575 or else NT
(N
).Nkind
= N_Selected_Component
);
3576 Set_Flag13
(N
, Val
);
3577 end Set_Do_Discriminant_Check
;
3579 procedure Set_Do_Division_Check
3580 (N
: Node_Id
; Val
: Boolean := True) is
3582 pragma Assert
(False
3583 or else NT
(N
).Nkind
= N_Op_Divide
3584 or else NT
(N
).Nkind
= N_Op_Mod
3585 or else NT
(N
).Nkind
= N_Op_Rem
);
3586 Set_Flag13
(N
, Val
);
3587 end Set_Do_Division_Check
;
3589 procedure Set_Do_Length_Check
3590 (N
: Node_Id
; Val
: Boolean := True) is
3592 pragma Assert
(False
3593 or else NT
(N
).Nkind
= N_Assignment_Statement
3594 or else NT
(N
).Nkind
= N_Op_And
3595 or else NT
(N
).Nkind
= N_Op_Or
3596 or else NT
(N
).Nkind
= N_Op_Xor
3597 or else NT
(N
).Nkind
= N_Type_Conversion
);
3599 end Set_Do_Length_Check
;
3601 procedure Set_Do_Overflow_Check
3602 (N
: Node_Id
; Val
: Boolean := True) is
3604 pragma Assert
(False
3605 or else NT
(N
).Nkind
in N_Op
3606 or else NT
(N
).Nkind
= N_Attribute_Reference
3607 or else NT
(N
).Nkind
= N_Type_Conversion
);
3608 Set_Flag17
(N
, Val
);
3609 end Set_Do_Overflow_Check
;
3611 procedure Set_Do_Range_Check
3612 (N
: Node_Id
; Val
: Boolean := True) is
3614 pragma Assert
(False
3615 or else NT
(N
).Nkind
in N_Subexpr
);
3617 end Set_Do_Range_Check
;
3619 procedure Set_Do_Storage_Check
3620 (N
: Node_Id
; Val
: Boolean := True) is
3622 pragma Assert
(False
3623 or else NT
(N
).Nkind
= N_Allocator
3624 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3625 Set_Flag17
(N
, Val
);
3626 end Set_Do_Storage_Check
;
3628 procedure Set_Do_Tag_Check
3629 (N
: Node_Id
; Val
: Boolean := True) is
3631 pragma Assert
(False
3632 or else NT
(N
).Nkind
= N_Assignment_Statement
3633 or else NT
(N
).Nkind
= N_Extended_Return_Statement
3634 or else NT
(N
).Nkind
= N_Function_Call
3635 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
3636 or else NT
(N
).Nkind
= N_Return_Statement
3637 or else NT
(N
).Nkind
= N_Type_Conversion
);
3638 Set_Flag13
(N
, Val
);
3639 end Set_Do_Tag_Check
;
3641 procedure Set_Elaborate_All_Desirable
3642 (N
: Node_Id
; Val
: Boolean := True) is
3644 pragma Assert
(False
3645 or else NT
(N
).Nkind
= N_With_Clause
);
3647 end Set_Elaborate_All_Desirable
;
3649 procedure Set_Elaborate_All_Present
3650 (N
: Node_Id
; Val
: Boolean := True) is
3652 pragma Assert
(False
3653 or else NT
(N
).Nkind
= N_With_Clause
);
3654 Set_Flag14
(N
, Val
);
3655 end Set_Elaborate_All_Present
;
3657 procedure Set_Elaborate_Desirable
3658 (N
: Node_Id
; Val
: Boolean := True) is
3660 pragma Assert
(False
3661 or else NT
(N
).Nkind
= N_With_Clause
);
3662 Set_Flag11
(N
, Val
);
3663 end Set_Elaborate_Desirable
;
3665 procedure Set_Elaborate_Present
3666 (N
: Node_Id
; Val
: Boolean := True) is
3668 pragma Assert
(False
3669 or else NT
(N
).Nkind
= N_With_Clause
);
3671 end Set_Elaborate_Present
;
3673 procedure Set_Elaboration_Boolean
3674 (N
: Node_Id
; Val
: Node_Id
) is
3676 pragma Assert
(False
3677 or else NT
(N
).Nkind
= N_Function_Specification
3678 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3680 end Set_Elaboration_Boolean
;
3682 procedure Set_Else_Actions
3683 (N
: Node_Id
; Val
: List_Id
) is
3685 pragma Assert
(False
3686 or else NT
(N
).Nkind
= N_Conditional_Expression
);
3687 Set_List3
(N
, Val
); -- semantic field, no parent set
3688 end Set_Else_Actions
;
3690 procedure Set_Else_Statements
3691 (N
: Node_Id
; Val
: List_Id
) is
3693 pragma Assert
(False
3694 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3695 or else NT
(N
).Nkind
= N_If_Statement
3696 or else NT
(N
).Nkind
= N_Selective_Accept
);
3697 Set_List4_With_Parent
(N
, Val
);
3698 end Set_Else_Statements
;
3700 procedure Set_Elsif_Parts
3701 (N
: Node_Id
; Val
: List_Id
) is
3703 pragma Assert
(False
3704 or else NT
(N
).Nkind
= N_If_Statement
);
3705 Set_List3_With_Parent
(N
, Val
);
3706 end Set_Elsif_Parts
;
3708 procedure Set_Enclosing_Variant
3709 (N
: Node_Id
; Val
: Node_Id
) is
3711 pragma Assert
(False
3712 or else NT
(N
).Nkind
= N_Variant
);
3713 Set_Node2
(N
, Val
); -- semantic field, no parent set
3714 end Set_Enclosing_Variant
;
3716 procedure Set_End_Label
3717 (N
: Node_Id
; Val
: Node_Id
) is
3719 pragma Assert
(False
3720 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
3721 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
3722 or else NT
(N
).Nkind
= N_Loop_Statement
3723 or else NT
(N
).Nkind
= N_Package_Specification
3724 or else NT
(N
).Nkind
= N_Protected_Body
3725 or else NT
(N
).Nkind
= N_Protected_Definition
3726 or else NT
(N
).Nkind
= N_Record_Definition
3727 or else NT
(N
).Nkind
= N_Task_Definition
);
3728 Set_Node4_With_Parent
(N
, Val
);
3731 procedure Set_End_Span
3732 (N
: Node_Id
; Val
: Uint
) is
3734 pragma Assert
(False
3735 or else NT
(N
).Nkind
= N_Case_Statement
3736 or else NT
(N
).Nkind
= N_If_Statement
);
3740 procedure Set_Entity
3741 (N
: Node_Id
; Val
: Node_Id
) is
3743 pragma Assert
(False
3744 or else NT
(N
).Nkind
in N_Has_Entity
3745 or else NT
(N
).Nkind
= N_Freeze_Entity
3746 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3747 Set_Node4
(N
, Val
); -- semantic field, no parent set
3750 procedure Set_Entry_Body_Formal_Part
3751 (N
: Node_Id
; Val
: Node_Id
) is
3753 pragma Assert
(False
3754 or else NT
(N
).Nkind
= N_Entry_Body
);
3755 Set_Node5_With_Parent
(N
, Val
);
3756 end Set_Entry_Body_Formal_Part
;
3758 procedure Set_Entry_Call_Alternative
3759 (N
: Node_Id
; Val
: Node_Id
) is
3761 pragma Assert
(False
3762 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3763 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3764 Set_Node1_With_Parent
(N
, Val
);
3765 end Set_Entry_Call_Alternative
;
3767 procedure Set_Entry_Call_Statement
3768 (N
: Node_Id
; Val
: Node_Id
) is
3770 pragma Assert
(False
3771 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
3772 Set_Node1_With_Parent
(N
, Val
);
3773 end Set_Entry_Call_Statement
;
3775 procedure Set_Entry_Direct_Name
3776 (N
: Node_Id
; Val
: Node_Id
) is
3778 pragma Assert
(False
3779 or else NT
(N
).Nkind
= N_Accept_Statement
);
3780 Set_Node1_With_Parent
(N
, Val
);
3781 end Set_Entry_Direct_Name
;
3783 procedure Set_Entry_Index
3784 (N
: Node_Id
; Val
: Node_Id
) is
3786 pragma Assert
(False
3787 or else NT
(N
).Nkind
= N_Accept_Statement
);
3788 Set_Node5_With_Parent
(N
, Val
);
3789 end Set_Entry_Index
;
3791 procedure Set_Entry_Index_Specification
3792 (N
: Node_Id
; Val
: Node_Id
) is
3794 pragma Assert
(False
3795 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
3796 Set_Node4_With_Parent
(N
, Val
);
3797 end Set_Entry_Index_Specification
;
3800 (N
: Node_Id
; Val
: Node_Id
) is
3802 pragma Assert
(False
3803 or else NT
(N
).Nkind
in N_Has_Etype
);
3804 Set_Node5
(N
, Val
); -- semantic field, no parent set
3807 procedure Set_Exception_Choices
3808 (N
: Node_Id
; Val
: List_Id
) is
3810 pragma Assert
(False
3811 or else NT
(N
).Nkind
= N_Exception_Handler
);
3812 Set_List4_With_Parent
(N
, Val
);
3813 end Set_Exception_Choices
;
3815 procedure Set_Exception_Handlers
3816 (N
: Node_Id
; Val
: List_Id
) is
3818 pragma Assert
(False
3819 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3820 Set_List5_With_Parent
(N
, Val
);
3821 end Set_Exception_Handlers
;
3823 procedure Set_Exception_Junk
3824 (N
: Node_Id
; Val
: Boolean := True) is
3826 pragma Assert
(False
3827 or else NT
(N
).Nkind
= N_Block_Statement
3828 or else NT
(N
).Nkind
= N_Goto_Statement
3829 or else NT
(N
).Nkind
= N_Label
3830 or else NT
(N
).Nkind
= N_Object_Declaration
3831 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3833 end Set_Exception_Junk
;
3835 procedure Set_Exception_Label
3836 (N
: Node_Id
; Val
: Node_Id
) is
3838 pragma Assert
(False
3839 or else NT
(N
).Nkind
= N_Exception_Handler
3840 or else NT
(N
).Nkind
= N_Push_Constraint_Error_Label
3841 or else NT
(N
).Nkind
= N_Push_Program_Error_Label
3842 or else NT
(N
).Nkind
= N_Push_Storage_Error_Label
);
3843 Set_Node5
(N
, Val
); -- semantic field, no parent set
3844 end Set_Exception_Label
;
3846 procedure Set_Expansion_Delayed
3847 (N
: Node_Id
; Val
: Boolean := True) is
3849 pragma Assert
(False
3850 or else NT
(N
).Nkind
= N_Aggregate
3851 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3852 Set_Flag11
(N
, Val
);
3853 end Set_Expansion_Delayed
;
3855 procedure Set_Explicit_Actual_Parameter
3856 (N
: Node_Id
; Val
: Node_Id
) is
3858 pragma Assert
(False
3859 or else NT
(N
).Nkind
= N_Parameter_Association
);
3860 Set_Node3_With_Parent
(N
, Val
);
3861 end Set_Explicit_Actual_Parameter
;
3863 procedure Set_Explicit_Generic_Actual_Parameter
3864 (N
: Node_Id
; Val
: Node_Id
) is
3866 pragma Assert
(False
3867 or else NT
(N
).Nkind
= N_Generic_Association
);
3868 Set_Node1_With_Parent
(N
, Val
);
3869 end Set_Explicit_Generic_Actual_Parameter
;
3871 procedure Set_Expression
3872 (N
: Node_Id
; Val
: Node_Id
) is
3874 pragma Assert
(False
3875 or else NT
(N
).Nkind
= N_Allocator
3876 or else NT
(N
).Nkind
= N_Assignment_Statement
3877 or else NT
(N
).Nkind
= N_At_Clause
3878 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
3879 or else NT
(N
).Nkind
= N_Case_Statement
3880 or else NT
(N
).Nkind
= N_Code_Statement
3881 or else NT
(N
).Nkind
= N_Component_Association
3882 or else NT
(N
).Nkind
= N_Component_Declaration
3883 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
3884 or else NT
(N
).Nkind
= N_Delay_Until_Statement
3885 or else NT
(N
).Nkind
= N_Discriminant_Association
3886 or else NT
(N
).Nkind
= N_Discriminant_Specification
3887 or else NT
(N
).Nkind
= N_Exception_Declaration
3888 or else NT
(N
).Nkind
= N_Free_Statement
3889 or else NT
(N
).Nkind
= N_Mod_Clause
3890 or else NT
(N
).Nkind
= N_Modular_Type_Definition
3891 or else NT
(N
).Nkind
= N_Number_Declaration
3892 or else NT
(N
).Nkind
= N_Object_Declaration
3893 or else NT
(N
).Nkind
= N_Parameter_Specification
3894 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
3895 or else NT
(N
).Nkind
= N_Qualified_Expression
3896 or else NT
(N
).Nkind
= N_Raise_Statement
3897 or else NT
(N
).Nkind
= N_Return_Statement
3898 or else NT
(N
).Nkind
= N_Type_Conversion
3899 or else NT
(N
).Nkind
= N_Unchecked_Expression
3900 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
3901 Set_Node3_With_Parent
(N
, Val
);
3904 procedure Set_Expressions
3905 (N
: Node_Id
; Val
: List_Id
) is
3907 pragma Assert
(False
3908 or else NT
(N
).Nkind
= N_Aggregate
3909 or else NT
(N
).Nkind
= N_Attribute_Reference
3910 or else NT
(N
).Nkind
= N_Conditional_Expression
3911 or else NT
(N
).Nkind
= N_Extension_Aggregate
3912 or else NT
(N
).Nkind
= N_Indexed_Component
);
3913 Set_List1_With_Parent
(N
, Val
);
3914 end Set_Expressions
;
3916 procedure Set_First_Bit
3917 (N
: Node_Id
; Val
: Node_Id
) is
3919 pragma Assert
(False
3920 or else NT
(N
).Nkind
= N_Component_Clause
);
3921 Set_Node3_With_Parent
(N
, Val
);
3924 procedure Set_First_Inlined_Subprogram
3925 (N
: Node_Id
; Val
: Entity_Id
) is
3927 pragma Assert
(False
3928 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3929 Set_Node3
(N
, Val
); -- semantic field, no parent set
3930 end Set_First_Inlined_Subprogram
;
3932 procedure Set_First_Name
3933 (N
: Node_Id
; Val
: Boolean := True) is
3935 pragma Assert
(False
3936 or else NT
(N
).Nkind
= N_With_Clause
);
3940 procedure Set_First_Named_Actual
3941 (N
: Node_Id
; Val
: Node_Id
) is
3943 pragma Assert
(False
3944 or else NT
(N
).Nkind
= N_Entry_Call_Statement
3945 or else NT
(N
).Nkind
= N_Function_Call
3946 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3947 Set_Node4
(N
, Val
); -- semantic field, no parent set
3948 end Set_First_Named_Actual
;
3950 procedure Set_First_Real_Statement
3951 (N
: Node_Id
; Val
: Node_Id
) is
3953 pragma Assert
(False
3954 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3955 Set_Node2
(N
, Val
); -- semantic field, no parent set
3956 end Set_First_Real_Statement
;
3958 procedure Set_First_Subtype_Link
3959 (N
: Node_Id
; Val
: Entity_Id
) is
3961 pragma Assert
(False
3962 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3963 Set_Node5
(N
, Val
); -- semantic field, no parent set
3964 end Set_First_Subtype_Link
;
3966 procedure Set_Float_Truncate
3967 (N
: Node_Id
; Val
: Boolean := True) is
3969 pragma Assert
(False
3970 or else NT
(N
).Nkind
= N_Type_Conversion
);
3971 Set_Flag11
(N
, Val
);
3972 end Set_Float_Truncate
;
3974 procedure Set_Formal_Type_Definition
3975 (N
: Node_Id
; Val
: Node_Id
) is
3977 pragma Assert
(False
3978 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
3979 Set_Node3_With_Parent
(N
, Val
);
3980 end Set_Formal_Type_Definition
;
3982 procedure Set_Forwards_OK
3983 (N
: Node_Id
; Val
: Boolean := True) is
3985 pragma Assert
(False
3986 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3988 end Set_Forwards_OK
;
3990 procedure Set_From_At_Mod
3991 (N
: Node_Id
; Val
: Boolean := True) is
3993 pragma Assert
(False
3994 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3996 end Set_From_At_Mod
;
3998 procedure Set_From_Default
3999 (N
: Node_Id
; Val
: Boolean := True) is
4001 pragma Assert
(False
4002 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4004 end Set_From_Default
;
4006 procedure Set_Generic_Associations
4007 (N
: Node_Id
; Val
: List_Id
) is
4009 pragma Assert
(False
4010 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4011 or else NT
(N
).Nkind
= N_Function_Instantiation
4012 or else NT
(N
).Nkind
= N_Package_Instantiation
4013 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
4014 Set_List3_With_Parent
(N
, Val
);
4015 end Set_Generic_Associations
;
4017 procedure Set_Generic_Formal_Declarations
4018 (N
: Node_Id
; Val
: List_Id
) is
4020 pragma Assert
(False
4021 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4022 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
4023 Set_List2_With_Parent
(N
, Val
);
4024 end Set_Generic_Formal_Declarations
;
4026 procedure Set_Generic_Parent
4027 (N
: Node_Id
; Val
: Node_Id
) is
4029 pragma Assert
(False
4030 or else NT
(N
).Nkind
= N_Function_Specification
4031 or else NT
(N
).Nkind
= N_Package_Specification
4032 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4034 end Set_Generic_Parent
;
4036 procedure Set_Generic_Parent_Type
4037 (N
: Node_Id
; Val
: Node_Id
) is
4039 pragma Assert
(False
4040 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4042 end Set_Generic_Parent_Type
;
4044 procedure Set_Handled_Statement_Sequence
4045 (N
: Node_Id
; Val
: Node_Id
) is
4047 pragma Assert
(False
4048 or else NT
(N
).Nkind
= N_Accept_Statement
4049 or else NT
(N
).Nkind
= N_Block_Statement
4050 or else NT
(N
).Nkind
= N_Entry_Body
4051 or else NT
(N
).Nkind
= N_Extended_Return_Statement
4052 or else NT
(N
).Nkind
= N_Package_Body
4053 or else NT
(N
).Nkind
= N_Subprogram_Body
4054 or else NT
(N
).Nkind
= N_Task_Body
);
4055 Set_Node4_With_Parent
(N
, Val
);
4056 end Set_Handled_Statement_Sequence
;
4058 procedure Set_Handler_List_Entry
4059 (N
: Node_Id
; Val
: Node_Id
) is
4061 pragma Assert
(False
4062 or else NT
(N
).Nkind
= N_Object_Declaration
);
4064 end Set_Handler_List_Entry
;
4066 procedure Set_Has_Created_Identifier
4067 (N
: Node_Id
; Val
: Boolean := True) is
4069 pragma Assert
(False
4070 or else NT
(N
).Nkind
= N_Block_Statement
4071 or else NT
(N
).Nkind
= N_Loop_Statement
);
4072 Set_Flag15
(N
, Val
);
4073 end Set_Has_Created_Identifier
;
4075 procedure Set_Has_Dynamic_Length_Check
4076 (N
: Node_Id
; Val
: Boolean := True) is
4078 Set_Flag10
(N
, Val
);
4079 end Set_Has_Dynamic_Length_Check
;
4081 procedure Set_Has_Dynamic_Range_Check
4082 (N
: Node_Id
; Val
: Boolean := True) is
4084 Set_Flag12
(N
, Val
);
4085 end Set_Has_Dynamic_Range_Check
;
4087 procedure Set_Has_Init_Expression
4088 (N
: Node_Id
; Val
: Boolean := True) is
4090 pragma Assert
(False
4091 or else NT
(N
).Nkind
= N_Object_Declaration
);
4092 Set_Flag14
(N
, Val
);
4093 end Set_Has_Init_Expression
;
4095 procedure Set_Has_Local_Raise
4096 (N
: Node_Id
; Val
: Boolean := True) is
4098 pragma Assert
(False
4099 or else NT
(N
).Nkind
= N_Exception_Handler
);
4101 end Set_Has_Local_Raise
;
4103 procedure Set_Has_No_Elaboration_Code
4104 (N
: Node_Id
; Val
: Boolean := True) is
4106 pragma Assert
(False
4107 or else NT
(N
).Nkind
= N_Compilation_Unit
);
4108 Set_Flag17
(N
, Val
);
4109 end Set_Has_No_Elaboration_Code
;
4111 procedure Set_Has_Priority_Pragma
4112 (N
: Node_Id
; Val
: Boolean := True) is
4114 pragma Assert
(False
4115 or else NT
(N
).Nkind
= N_Protected_Definition
4116 or else NT
(N
).Nkind
= N_Subprogram_Body
4117 or else NT
(N
).Nkind
= N_Task_Definition
);
4119 end Set_Has_Priority_Pragma
;
4121 procedure Set_Has_Private_View
4122 (N
: Node_Id
; Val
: Boolean := True) is
4124 pragma Assert
(False
4125 or else NT
(N
).Nkind
in N_Op
4126 or else NT
(N
).Nkind
= N_Character_Literal
4127 or else NT
(N
).Nkind
= N_Expanded_Name
4128 or else NT
(N
).Nkind
= N_Identifier
4129 or else NT
(N
).Nkind
= N_Operator_Symbol
);
4130 Set_Flag11
(N
, Val
);
4131 end Set_Has_Private_View
;
4133 procedure Set_Has_Self_Reference
4134 (N
: Node_Id
; Val
: Boolean := True) is
4136 pragma Assert
(False
4137 or else NT
(N
).Nkind
= N_Aggregate
4138 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4139 Set_Flag13
(N
, Val
);
4140 end Set_Has_Self_Reference
;
4142 procedure Set_Has_Storage_Size_Pragma
4143 (N
: Node_Id
; Val
: Boolean := True) is
4145 pragma Assert
(False
4146 or else NT
(N
).Nkind
= N_Task_Definition
);
4148 end Set_Has_Storage_Size_Pragma
;
4150 procedure Set_Has_Task_Info_Pragma
4151 (N
: Node_Id
; Val
: Boolean := True) is
4153 pragma Assert
(False
4154 or else NT
(N
).Nkind
= N_Task_Definition
);
4156 end Set_Has_Task_Info_Pragma
;
4158 procedure Set_Has_Task_Name_Pragma
4159 (N
: Node_Id
; Val
: Boolean := True) is
4161 pragma Assert
(False
4162 or else NT
(N
).Nkind
= N_Task_Definition
);
4164 end Set_Has_Task_Name_Pragma
;
4166 procedure Set_Has_Wide_Character
4167 (N
: Node_Id
; Val
: Boolean := True) is
4169 pragma Assert
(False
4170 or else NT
(N
).Nkind
= N_String_Literal
);
4171 Set_Flag11
(N
, Val
);
4172 end Set_Has_Wide_Character
;
4174 procedure Set_Hidden_By_Use_Clause
4175 (N
: Node_Id
; Val
: Elist_Id
) is
4177 pragma Assert
(False
4178 or else NT
(N
).Nkind
= N_Use_Package_Clause
4179 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4180 Set_Elist4
(N
, Val
);
4181 end Set_Hidden_By_Use_Clause
;
4183 procedure Set_High_Bound
4184 (N
: Node_Id
; Val
: Node_Id
) is
4186 pragma Assert
(False
4187 or else NT
(N
).Nkind
= N_Range
4188 or else NT
(N
).Nkind
= N_Real_Range_Specification
4189 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4190 Set_Node2_With_Parent
(N
, Val
);
4193 procedure Set_Identifier
4194 (N
: Node_Id
; Val
: Node_Id
) is
4196 pragma Assert
(False
4197 or else NT
(N
).Nkind
= N_At_Clause
4198 or else NT
(N
).Nkind
= N_Block_Statement
4199 or else NT
(N
).Nkind
= N_Designator
4200 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4201 or else NT
(N
).Nkind
= N_Label
4202 or else NT
(N
).Nkind
= N_Loop_Statement
4203 or else NT
(N
).Nkind
= N_Record_Representation_Clause
4204 or else NT
(N
).Nkind
= N_Subprogram_Info
);
4205 Set_Node1_With_Parent
(N
, Val
);
4208 procedure Set_Implicit_With
4209 (N
: Node_Id
; Val
: Boolean := True) is
4211 pragma Assert
(False
4212 or else NT
(N
).Nkind
= N_With_Clause
);
4213 Set_Flag16
(N
, Val
);
4214 end Set_Implicit_With
;
4216 procedure Set_Interface_List
4217 (N
: Node_Id
; Val
: List_Id
) is
4219 pragma Assert
(False
4220 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4221 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4222 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4223 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
4224 or else NT
(N
).Nkind
= N_Record_Definition
4225 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
4226 or else NT
(N
).Nkind
= N_Single_Task_Declaration
4227 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4228 Set_List2_With_Parent
(N
, Val
);
4229 end Set_Interface_List
;
4231 procedure Set_Interface_Present
4232 (N
: Node_Id
; Val
: Boolean := True) is
4234 pragma Assert
(False
4235 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4236 or else NT
(N
).Nkind
= N_Record_Definition
);
4237 Set_Flag16
(N
, Val
);
4238 end Set_Interface_Present
;
4240 procedure Set_In_Present
4241 (N
: Node_Id
; Val
: Boolean := True) is
4243 pragma Assert
(False
4244 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4245 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4246 Set_Flag15
(N
, Val
);
4249 procedure Set_Includes_Infinities
4250 (N
: Node_Id
; Val
: Boolean := True) is
4252 pragma Assert
(False
4253 or else NT
(N
).Nkind
= N_Range
);
4254 Set_Flag11
(N
, Val
);
4255 end Set_Includes_Infinities
;
4257 procedure Set_Instance_Spec
4258 (N
: Node_Id
; Val
: Node_Id
) is
4260 pragma Assert
(False
4261 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4262 or else NT
(N
).Nkind
= N_Function_Instantiation
4263 or else NT
(N
).Nkind
= N_Package_Instantiation
4264 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
4265 Set_Node5
(N
, Val
); -- semantic field, no Parent set
4266 end Set_Instance_Spec
;
4268 procedure Set_Intval
4269 (N
: Node_Id
; Val
: Uint
) is
4271 pragma Assert
(False
4272 or else NT
(N
).Nkind
= N_Integer_Literal
);
4276 procedure Set_Is_Asynchronous_Call_Block
4277 (N
: Node_Id
; Val
: Boolean := True) is
4279 pragma Assert
(False
4280 or else NT
(N
).Nkind
= N_Block_Statement
);
4282 end Set_Is_Asynchronous_Call_Block
;
4284 procedure Set_Is_Component_Left_Opnd
4285 (N
: Node_Id
; Val
: Boolean := True) is
4287 pragma Assert
(False
4288 or else NT
(N
).Nkind
= N_Op_Concat
);
4289 Set_Flag13
(N
, Val
);
4290 end Set_Is_Component_Left_Opnd
;
4292 procedure Set_Is_Component_Right_Opnd
4293 (N
: Node_Id
; Val
: Boolean := True) is
4295 pragma Assert
(False
4296 or else NT
(N
).Nkind
= N_Op_Concat
);
4297 Set_Flag14
(N
, Val
);
4298 end Set_Is_Component_Right_Opnd
;
4300 procedure Set_Is_Controlling_Actual
4301 (N
: Node_Id
; Val
: Boolean := True) is
4303 pragma Assert
(False
4304 or else NT
(N
).Nkind
in N_Subexpr
);
4305 Set_Flag16
(N
, Val
);
4306 end Set_Is_Controlling_Actual
;
4308 procedure Set_Is_Dynamic_Coextension
4309 (N
: Node_Id
; Val
: Boolean := True) is
4311 pragma Assert
(False
4312 or else NT
(N
).Nkind
= N_Allocator
);
4313 Set_Flag18
(N
, Val
);
4314 end Set_Is_Dynamic_Coextension
;
4316 procedure Set_Is_Entry_Barrier_Function
4317 (N
: Node_Id
; Val
: Boolean := True) is
4319 pragma Assert
(False
4320 or else NT
(N
).Nkind
= N_Subprogram_Body
);
4322 end Set_Is_Entry_Barrier_Function
;
4324 procedure Set_Is_Expanded_Build_In_Place_Call
4325 (N
: Node_Id
; Val
: Boolean := True) is
4327 pragma Assert
(False
4328 or else NT
(N
).Nkind
= N_Function_Call
);
4329 Set_Flag11
(N
, Val
);
4330 end Set_Is_Expanded_Build_In_Place_Call
;
4332 procedure Set_Is_Folded_In_Parser
4333 (N
: Node_Id
; Val
: Boolean := True) is
4335 pragma Assert
(False
4336 or else NT
(N
).Nkind
= N_String_Literal
);
4338 end Set_Is_Folded_In_Parser
;
4340 procedure Set_Is_In_Discriminant_Check
4341 (N
: Node_Id
; Val
: Boolean := True) is
4343 pragma Assert
(False
4344 or else NT
(N
).Nkind
= N_Selected_Component
);
4345 Set_Flag11
(N
, Val
);
4346 end Set_Is_In_Discriminant_Check
;
4348 procedure Set_Is_Machine_Number
4349 (N
: Node_Id
; Val
: Boolean := True) is
4351 pragma Assert
(False
4352 or else NT
(N
).Nkind
= N_Real_Literal
);
4353 Set_Flag11
(N
, Val
);
4354 end Set_Is_Machine_Number
;
4356 procedure Set_Is_Null_Loop
4357 (N
: Node_Id
; Val
: Boolean := True) is
4359 pragma Assert
(False
4360 or else NT
(N
).Nkind
= N_Loop_Statement
);
4361 Set_Flag16
(N
, Val
);
4362 end Set_Is_Null_Loop
;
4364 procedure Set_Is_Overloaded
4365 (N
: Node_Id
; Val
: Boolean := True) is
4367 pragma Assert
(False
4368 or else NT
(N
).Nkind
in N_Subexpr
);
4370 end Set_Is_Overloaded
;
4372 procedure Set_Is_Power_Of_2_For_Shift
4373 (N
: Node_Id
; Val
: Boolean := True) is
4375 pragma Assert
(False
4376 or else NT
(N
).Nkind
= N_Op_Expon
);
4377 Set_Flag13
(N
, Val
);
4378 end Set_Is_Power_Of_2_For_Shift
;
4380 procedure Set_Is_Protected_Subprogram_Body
4381 (N
: Node_Id
; Val
: Boolean := True) is
4383 pragma Assert
(False
4384 or else NT
(N
).Nkind
= N_Subprogram_Body
);
4386 end Set_Is_Protected_Subprogram_Body
;
4388 procedure Set_Is_Static_Coextension
4389 (N
: Node_Id
; Val
: Boolean := True) is
4391 pragma Assert
(False
4392 or else NT
(N
).Nkind
= N_Allocator
);
4393 Set_Flag14
(N
, Val
);
4394 end Set_Is_Static_Coextension
;
4396 procedure Set_Is_Static_Expression
4397 (N
: Node_Id
; Val
: Boolean := True) is
4399 pragma Assert
(False
4400 or else NT
(N
).Nkind
in N_Subexpr
);
4402 end Set_Is_Static_Expression
;
4404 procedure Set_Is_Subprogram_Descriptor
4405 (N
: Node_Id
; Val
: Boolean := True) is
4407 pragma Assert
(False
4408 or else NT
(N
).Nkind
= N_Object_Declaration
);
4409 Set_Flag16
(N
, Val
);
4410 end Set_Is_Subprogram_Descriptor
;
4412 procedure Set_Is_Task_Allocation_Block
4413 (N
: Node_Id
; Val
: Boolean := True) is
4415 pragma Assert
(False
4416 or else NT
(N
).Nkind
= N_Block_Statement
);
4418 end Set_Is_Task_Allocation_Block
;
4420 procedure Set_Is_Task_Master
4421 (N
: Node_Id
; Val
: Boolean := True) is
4423 pragma Assert
(False
4424 or else NT
(N
).Nkind
= N_Block_Statement
4425 or else NT
(N
).Nkind
= N_Subprogram_Body
4426 or else NT
(N
).Nkind
= N_Task_Body
);
4428 end Set_Is_Task_Master
;
4430 procedure Set_Iteration_Scheme
4431 (N
: Node_Id
; Val
: Node_Id
) is
4433 pragma Assert
(False
4434 or else NT
(N
).Nkind
= N_Loop_Statement
);
4435 Set_Node2_With_Parent
(N
, Val
);
4436 end Set_Iteration_Scheme
;
4439 (N
: Node_Id
; Val
: Entity_Id
) is
4441 pragma Assert
(False
4442 or else NT
(N
).Nkind
= N_Itype_Reference
);
4443 Set_Node1
(N
, Val
); -- no parent, semantic field
4446 procedure Set_Kill_Range_Check
4447 (N
: Node_Id
; Val
: Boolean := True) is
4449 pragma Assert
(False
4450 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4451 Set_Flag11
(N
, Val
);
4452 end Set_Kill_Range_Check
;
4454 procedure Set_Label_Construct
4455 (N
: Node_Id
; Val
: Node_Id
) is
4457 pragma Assert
(False
4458 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
4459 Set_Node2
(N
, Val
); -- semantic field, no parent set
4460 end Set_Label_Construct
;
4462 procedure Set_Last_Bit
4463 (N
: Node_Id
; Val
: Node_Id
) is
4465 pragma Assert
(False
4466 or else NT
(N
).Nkind
= N_Component_Clause
);
4467 Set_Node4_With_Parent
(N
, Val
);
4470 procedure Set_Last_Name
4471 (N
: Node_Id
; Val
: Boolean := True) is
4473 pragma Assert
(False
4474 or else NT
(N
).Nkind
= N_With_Clause
);
4478 procedure Set_Left_Opnd
4479 (N
: Node_Id
; Val
: Node_Id
) is
4481 pragma Assert
(False
4482 or else NT
(N
).Nkind
= N_And_Then
4483 or else NT
(N
).Nkind
= N_In
4484 or else NT
(N
).Nkind
= N_Not_In
4485 or else NT
(N
).Nkind
= N_Or_Else
4486 or else NT
(N
).Nkind
in N_Binary_Op
);
4487 Set_Node2_With_Parent
(N
, Val
);
4490 procedure Set_Library_Unit
4491 (N
: Node_Id
; Val
: Node_Id
) is
4493 pragma Assert
(False
4494 or else NT
(N
).Nkind
= N_Compilation_Unit
4495 or else NT
(N
).Nkind
= N_Package_Body_Stub
4496 or else NT
(N
).Nkind
= N_Protected_Body_Stub
4497 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4498 or else NT
(N
).Nkind
= N_Task_Body_Stub
4499 or else NT
(N
).Nkind
= N_With_Clause
);
4500 Set_Node4
(N
, Val
); -- semantic field, no parent set
4501 end Set_Library_Unit
;
4503 procedure Set_Limited_View_Installed
4504 (N
: Node_Id
; Val
: Boolean := True) is
4506 pragma Assert
(False
4507 or else NT
(N
).Nkind
= N_Package_Specification
4508 or else NT
(N
).Nkind
= N_With_Clause
);
4509 Set_Flag18
(N
, Val
);
4510 end Set_Limited_View_Installed
;
4512 procedure Set_Limited_Present
4513 (N
: Node_Id
; Val
: Boolean := True) is
4515 pragma Assert
(False
4516 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4517 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4518 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
4519 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4520 or else NT
(N
).Nkind
= N_Private_Type_Declaration
4521 or else NT
(N
).Nkind
= N_Record_Definition
4522 or else NT
(N
).Nkind
= N_With_Clause
);
4523 Set_Flag17
(N
, Val
);
4524 end Set_Limited_Present
;
4526 procedure Set_Literals
4527 (N
: Node_Id
; Val
: List_Id
) is
4529 pragma Assert
(False
4530 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
4531 Set_List1_With_Parent
(N
, Val
);
4534 procedure Set_Local_Raise_Not_OK
4535 (N
: Node_Id
; Val
: Boolean := True) is
4537 pragma Assert
(False
4538 or else NT
(N
).Nkind
= N_Exception_Handler
);
4540 end Set_Local_Raise_Not_OK
;
4542 procedure Set_Local_Raise_Statements
4543 (N
: Node_Id
; Val
: Elist_Id
) is
4545 pragma Assert
(False
4546 or else NT
(N
).Nkind
= N_Exception_Handler
);
4547 Set_Elist1
(N
, Val
);
4548 end Set_Local_Raise_Statements
;
4550 procedure Set_Loop_Actions
4551 (N
: Node_Id
; Val
: List_Id
) is
4553 pragma Assert
(False
4554 or else NT
(N
).Nkind
= N_Component_Association
);
4555 Set_List2
(N
, Val
); -- semantic field, no parent set
4556 end Set_Loop_Actions
;
4558 procedure Set_Loop_Parameter_Specification
4559 (N
: Node_Id
; Val
: Node_Id
) is
4561 pragma Assert
(False
4562 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
4563 Set_Node4_With_Parent
(N
, Val
);
4564 end Set_Loop_Parameter_Specification
;
4566 procedure Set_Low_Bound
4567 (N
: Node_Id
; Val
: Node_Id
) is
4569 pragma Assert
(False
4570 or else NT
(N
).Nkind
= N_Range
4571 or else NT
(N
).Nkind
= N_Real_Range_Specification
4572 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4573 Set_Node1_With_Parent
(N
, Val
);
4576 procedure Set_Mod_Clause
4577 (N
: Node_Id
; Val
: Node_Id
) is
4579 pragma Assert
(False
4580 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4581 Set_Node2_With_Parent
(N
, Val
);
4584 procedure Set_More_Ids
4585 (N
: Node_Id
; Val
: Boolean := True) is
4587 pragma Assert
(False
4588 or else NT
(N
).Nkind
= N_Component_Declaration
4589 or else NT
(N
).Nkind
= N_Discriminant_Specification
4590 or else NT
(N
).Nkind
= N_Exception_Declaration
4591 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4592 or else NT
(N
).Nkind
= N_Number_Declaration
4593 or else NT
(N
).Nkind
= N_Object_Declaration
4594 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4598 procedure Set_Must_Be_Byte_Aligned
4599 (N
: Node_Id
; Val
: Boolean := True) is
4601 pragma Assert
(False
4602 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4603 Set_Flag14
(N
, Val
);
4604 end Set_Must_Be_Byte_Aligned
;
4606 procedure Set_Must_Not_Freeze
4607 (N
: Node_Id
; Val
: Boolean := True) is
4609 pragma Assert
(False
4610 or else NT
(N
).Nkind
= N_Subtype_Indication
4611 or else NT
(N
).Nkind
in N_Subexpr
);
4613 end Set_Must_Not_Freeze
;
4615 procedure Set_Must_Not_Override
4616 (N
: Node_Id
; Val
: Boolean := True) is
4618 pragma Assert
(False
4619 or else NT
(N
).Nkind
= N_Entry_Declaration
4620 or else NT
(N
).Nkind
= N_Function_Instantiation
4621 or else NT
(N
).Nkind
= N_Function_Specification
4622 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4623 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4624 Set_Flag15
(N
, Val
);
4625 end Set_Must_Not_Override
;
4627 procedure Set_Must_Override
4628 (N
: Node_Id
; Val
: Boolean := True) is
4630 pragma Assert
(False
4631 or else NT
(N
).Nkind
= N_Entry_Declaration
4632 or else NT
(N
).Nkind
= N_Function_Instantiation
4633 or else NT
(N
).Nkind
= N_Function_Specification
4634 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4635 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4636 Set_Flag14
(N
, Val
);
4637 end Set_Must_Override
;
4640 (N
: Node_Id
; Val
: Node_Id
) is
4642 pragma Assert
(False
4643 or else NT
(N
).Nkind
= N_Assignment_Statement
4644 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4645 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
4646 or else NT
(N
).Nkind
= N_Designator
4647 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4648 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
4649 or else NT
(N
).Nkind
= N_Exit_Statement
4650 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4651 or else NT
(N
).Nkind
= N_Function_Call
4652 or else NT
(N
).Nkind
= N_Function_Instantiation
4653 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4654 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4655 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4656 or else NT
(N
).Nkind
= N_Goto_Statement
4657 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4658 or else NT
(N
).Nkind
= N_Package_Instantiation
4659 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4660 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
4661 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4662 or else NT
(N
).Nkind
= N_Raise_Statement
4663 or else NT
(N
).Nkind
= N_Requeue_Statement
4664 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
4665 or else NT
(N
).Nkind
= N_Subunit
4666 or else NT
(N
).Nkind
= N_Variant_Part
4667 or else NT
(N
).Nkind
= N_With_Clause
);
4668 Set_Node2_With_Parent
(N
, Val
);
4672 (N
: Node_Id
; Val
: List_Id
) is
4674 pragma Assert
(False
4675 or else NT
(N
).Nkind
= N_Abort_Statement
4676 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
4677 Set_List2_With_Parent
(N
, Val
);
4680 procedure Set_Next_Entity
4681 (N
: Node_Id
; Val
: Node_Id
) is
4683 pragma Assert
(False
4684 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4685 or else NT
(N
).Nkind
= N_Defining_Identifier
4686 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4687 Set_Node2
(N
, Val
); -- semantic field, no parent set
4688 end Set_Next_Entity
;
4690 procedure Set_Next_Named_Actual
4691 (N
: Node_Id
; Val
: Node_Id
) is
4693 pragma Assert
(False
4694 or else NT
(N
).Nkind
= N_Parameter_Association
);
4695 Set_Node4
(N
, Val
); -- semantic field, no parent set
4696 end Set_Next_Named_Actual
;
4698 procedure Set_Next_Rep_Item
4699 (N
: Node_Id
; Val
: Node_Id
) is
4701 pragma Assert
(False
4702 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4703 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4704 or else NT
(N
).Nkind
= N_Pragma
4705 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4706 Set_Node5
(N
, Val
); -- semantic field, no parent set
4707 end Set_Next_Rep_Item
;
4709 procedure Set_Next_Use_Clause
4710 (N
: Node_Id
; Val
: Node_Id
) is
4712 pragma Assert
(False
4713 or else NT
(N
).Nkind
= N_Use_Package_Clause
4714 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4715 Set_Node3
(N
, Val
); -- semantic field, no parent set
4716 end Set_Next_Use_Clause
;
4718 procedure Set_No_Ctrl_Actions
4719 (N
: Node_Id
; Val
: Boolean := True) is
4721 pragma Assert
(False
4722 or else NT
(N
).Nkind
= N_Assignment_Statement
);
4724 end Set_No_Ctrl_Actions
;
4726 procedure Set_No_Elaboration_Check
4727 (N
: Node_Id
; Val
: Boolean := True) is
4729 pragma Assert
(False
4730 or else NT
(N
).Nkind
= N_Function_Call
4731 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4732 Set_Flag14
(N
, Val
);
4733 end Set_No_Elaboration_Check
;
4735 procedure Set_No_Entities_Ref_In_Spec
4736 (N
: Node_Id
; Val
: Boolean := True) is
4738 pragma Assert
(False
4739 or else NT
(N
).Nkind
= N_With_Clause
);
4741 end Set_No_Entities_Ref_In_Spec
;
4743 procedure Set_No_Initialization
4744 (N
: Node_Id
; Val
: Boolean := True) is
4746 pragma Assert
(False
4747 or else NT
(N
).Nkind
= N_Allocator
4748 or else NT
(N
).Nkind
= N_Object_Declaration
);
4749 Set_Flag13
(N
, Val
);
4750 end Set_No_Initialization
;
4752 procedure Set_No_Truncation
4753 (N
: Node_Id
; Val
: Boolean := True) is
4755 pragma Assert
(False
4756 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4757 Set_Flag17
(N
, Val
);
4758 end Set_No_Truncation
;
4760 procedure Set_Null_Present
4761 (N
: Node_Id
; Val
: Boolean := True) is
4763 pragma Assert
(False
4764 or else NT
(N
).Nkind
= N_Component_List
4765 or else NT
(N
).Nkind
= N_Procedure_Specification
4766 or else NT
(N
).Nkind
= N_Record_Definition
);
4767 Set_Flag13
(N
, Val
);
4768 end Set_Null_Present
;
4770 procedure Set_Null_Exclusion_Present
4771 (N
: Node_Id
; Val
: Boolean := True) is
4773 pragma Assert
(False
4774 or else NT
(N
).Nkind
= N_Access_Definition
4775 or else NT
(N
).Nkind
= N_Access_Function_Definition
4776 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4777 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
4778 or else NT
(N
).Nkind
= N_Allocator
4779 or else NT
(N
).Nkind
= N_Component_Definition
4780 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4781 or else NT
(N
).Nkind
= N_Discriminant_Specification
4782 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4783 or else NT
(N
).Nkind
= N_Function_Specification
4784 or else NT
(N
).Nkind
= N_Object_Declaration
4785 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4786 or else NT
(N
).Nkind
= N_Parameter_Specification
4787 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4788 Set_Flag11
(N
, Val
);
4789 end Set_Null_Exclusion_Present
;
4791 procedure Set_Null_Record_Present
4792 (N
: Node_Id
; Val
: Boolean := True) is
4794 pragma Assert
(False
4795 or else NT
(N
).Nkind
= N_Aggregate
4796 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4797 Set_Flag17
(N
, Val
);
4798 end Set_Null_Record_Present
;
4800 procedure Set_Object_Definition
4801 (N
: Node_Id
; Val
: Node_Id
) is
4803 pragma Assert
(False
4804 or else NT
(N
).Nkind
= N_Object_Declaration
);
4805 Set_Node4_With_Parent
(N
, Val
);
4806 end Set_Object_Definition
;
4808 procedure Set_Original_Discriminant
4809 (N
: Node_Id
; Val
: Node_Id
) is
4811 pragma Assert
(False
4812 or else NT
(N
).Nkind
= N_Identifier
);
4813 Set_Node2
(N
, Val
); -- semantic field, no parent set
4814 end Set_Original_Discriminant
;
4816 procedure Set_Original_Entity
4817 (N
: Node_Id
; Val
: Entity_Id
) is
4819 pragma Assert
(False
4820 or else NT
(N
).Nkind
= N_Integer_Literal
4821 or else NT
(N
).Nkind
= N_Real_Literal
);
4822 Set_Node2
(N
, Val
); -- semantic field, no parent set
4823 end Set_Original_Entity
;
4825 procedure Set_Others_Discrete_Choices
4826 (N
: Node_Id
; Val
: List_Id
) is
4828 pragma Assert
(False
4829 or else NT
(N
).Nkind
= N_Others_Choice
);
4830 Set_List1_With_Parent
(N
, Val
);
4831 end Set_Others_Discrete_Choices
;
4833 procedure Set_Out_Present
4834 (N
: Node_Id
; Val
: Boolean := True) is
4836 pragma Assert
(False
4837 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4838 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4839 Set_Flag17
(N
, Val
);
4840 end Set_Out_Present
;
4842 procedure Set_Parameter_Associations
4843 (N
: Node_Id
; Val
: List_Id
) is
4845 pragma Assert
(False
4846 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4847 or else NT
(N
).Nkind
= N_Function_Call
4848 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4849 Set_List3_With_Parent
(N
, Val
);
4850 end Set_Parameter_Associations
;
4852 procedure Set_Parameter_List_Truncated
4853 (N
: Node_Id
; Val
: Boolean := True) is
4855 pragma Assert
(False
4856 or else NT
(N
).Nkind
= N_Function_Call
4857 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4858 Set_Flag17
(N
, Val
);
4859 end Set_Parameter_List_Truncated
;
4861 procedure Set_Parameter_Specifications
4862 (N
: Node_Id
; Val
: List_Id
) is
4864 pragma Assert
(False
4865 or else NT
(N
).Nkind
= N_Accept_Statement
4866 or else NT
(N
).Nkind
= N_Access_Function_Definition
4867 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4868 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
4869 or else NT
(N
).Nkind
= N_Entry_Declaration
4870 or else NT
(N
).Nkind
= N_Function_Specification
4871 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4872 Set_List3_With_Parent
(N
, Val
);
4873 end Set_Parameter_Specifications
;
4875 procedure Set_Parameter_Type
4876 (N
: Node_Id
; Val
: Node_Id
) is
4878 pragma Assert
(False
4879 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4880 Set_Node2_With_Parent
(N
, Val
);
4881 end Set_Parameter_Type
;
4883 procedure Set_Parent_Spec
4884 (N
: Node_Id
; Val
: Node_Id
) is
4886 pragma Assert
(False
4887 or else NT
(N
).Nkind
= N_Function_Instantiation
4888 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4889 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4890 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4891 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4892 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4893 or else NT
(N
).Nkind
= N_Package_Declaration
4894 or else NT
(N
).Nkind
= N_Package_Instantiation
4895 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4896 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4897 or else NT
(N
).Nkind
= N_Subprogram_Declaration
4898 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4899 Set_Node4
(N
, Val
); -- semantic field, no parent set
4900 end Set_Parent_Spec
;
4902 procedure Set_Position
4903 (N
: Node_Id
; Val
: Node_Id
) is
4905 pragma Assert
(False
4906 or else NT
(N
).Nkind
= N_Component_Clause
);
4907 Set_Node2_With_Parent
(N
, Val
);
4910 procedure Set_Pragma_Argument_Associations
4911 (N
: Node_Id
; Val
: List_Id
) is
4913 pragma Assert
(False
4914 or else NT
(N
).Nkind
= N_Pragma
);
4915 Set_List2_With_Parent
(N
, Val
);
4916 end Set_Pragma_Argument_Associations
;
4918 procedure Set_Pragmas_After
4919 (N
: Node_Id
; Val
: List_Id
) is
4921 pragma Assert
(False
4922 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
4923 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
4924 Set_List5_With_Parent
(N
, Val
);
4925 end Set_Pragmas_After
;
4927 procedure Set_Pragmas_Before
4928 (N
: Node_Id
; Val
: List_Id
) is
4930 pragma Assert
(False
4931 or else NT
(N
).Nkind
= N_Accept_Alternative
4932 or else NT
(N
).Nkind
= N_Delay_Alternative
4933 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
4934 or else NT
(N
).Nkind
= N_Mod_Clause
4935 or else NT
(N
).Nkind
= N_Terminate_Alternative
4936 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4937 Set_List4_With_Parent
(N
, Val
);
4938 end Set_Pragmas_Before
;
4940 procedure Set_Prefix
4941 (N
: Node_Id
; Val
: Node_Id
) is
4943 pragma Assert
(False
4944 or else NT
(N
).Nkind
= N_Attribute_Reference
4945 or else NT
(N
).Nkind
= N_Expanded_Name
4946 or else NT
(N
).Nkind
= N_Explicit_Dereference
4947 or else NT
(N
).Nkind
= N_Indexed_Component
4948 or else NT
(N
).Nkind
= N_Reference
4949 or else NT
(N
).Nkind
= N_Selected_Component
4950 or else NT
(N
).Nkind
= N_Slice
);
4951 Set_Node3_With_Parent
(N
, Val
);
4954 procedure Set_Present_Expr
4955 (N
: Node_Id
; Val
: Uint
) is
4957 pragma Assert
(False
4958 or else NT
(N
).Nkind
= N_Variant
);
4960 end Set_Present_Expr
;
4962 procedure Set_Prev_Ids
4963 (N
: Node_Id
; Val
: Boolean := True) is
4965 pragma Assert
(False
4966 or else NT
(N
).Nkind
= N_Component_Declaration
4967 or else NT
(N
).Nkind
= N_Discriminant_Specification
4968 or else NT
(N
).Nkind
= N_Exception_Declaration
4969 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4970 or else NT
(N
).Nkind
= N_Number_Declaration
4971 or else NT
(N
).Nkind
= N_Object_Declaration
4972 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4976 procedure Set_Print_In_Hex
4977 (N
: Node_Id
; Val
: Boolean := True) is
4979 pragma Assert
(False
4980 or else NT
(N
).Nkind
= N_Integer_Literal
);
4981 Set_Flag13
(N
, Val
);
4982 end Set_Print_In_Hex
;
4984 procedure Set_Private_Declarations
4985 (N
: Node_Id
; Val
: List_Id
) is
4987 pragma Assert
(False
4988 or else NT
(N
).Nkind
= N_Package_Specification
4989 or else NT
(N
).Nkind
= N_Protected_Definition
4990 or else NT
(N
).Nkind
= N_Task_Definition
);
4991 Set_List3_With_Parent
(N
, Val
);
4992 end Set_Private_Declarations
;
4994 procedure Set_Private_Present
4995 (N
: Node_Id
; Val
: Boolean := True) is
4997 pragma Assert
(False
4998 or else NT
(N
).Nkind
= N_Compilation_Unit
4999 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5000 or else NT
(N
).Nkind
= N_With_Clause
);
5001 Set_Flag15
(N
, Val
);
5002 end Set_Private_Present
;
5004 procedure Set_Procedure_To_Call
5005 (N
: Node_Id
; Val
: Node_Id
) is
5007 pragma Assert
(False
5008 or else NT
(N
).Nkind
= N_Allocator
5009 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5010 or else NT
(N
).Nkind
= N_Free_Statement
5011 or else NT
(N
).Nkind
= N_Return_Statement
);
5012 Set_Node2
(N
, Val
); -- semantic field, no parent set
5013 end Set_Procedure_To_Call
;
5015 procedure Set_Proper_Body
5016 (N
: Node_Id
; Val
: Node_Id
) is
5018 pragma Assert
(False
5019 or else NT
(N
).Nkind
= N_Subunit
);
5020 Set_Node1_With_Parent
(N
, Val
);
5021 end Set_Proper_Body
;
5023 procedure Set_Protected_Definition
5024 (N
: Node_Id
; Val
: Node_Id
) is
5026 pragma Assert
(False
5027 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
5028 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
5029 Set_Node3_With_Parent
(N
, Val
);
5030 end Set_Protected_Definition
;
5032 procedure Set_Protected_Present
5033 (N
: Node_Id
; Val
: Boolean := True) is
5035 pragma Assert
(False
5036 or else NT
(N
).Nkind
= N_Access_Function_Definition
5037 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
5038 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5039 or else NT
(N
).Nkind
= N_Record_Definition
);
5041 end Set_Protected_Present
;
5043 procedure Set_Raises_Constraint_Error
5044 (N
: Node_Id
; Val
: Boolean := True) is
5046 pragma Assert
(False
5047 or else NT
(N
).Nkind
in N_Subexpr
);
5049 end Set_Raises_Constraint_Error
;
5051 procedure Set_Range_Constraint
5052 (N
: Node_Id
; Val
: Node_Id
) is
5054 pragma Assert
(False
5055 or else NT
(N
).Nkind
= N_Delta_Constraint
5056 or else NT
(N
).Nkind
= N_Digits_Constraint
);
5057 Set_Node4_With_Parent
(N
, Val
);
5058 end Set_Range_Constraint
;
5060 procedure Set_Range_Expression
5061 (N
: Node_Id
; Val
: Node_Id
) is
5063 pragma Assert
(False
5064 or else NT
(N
).Nkind
= N_Range_Constraint
);
5065 Set_Node4_With_Parent
(N
, Val
);
5066 end Set_Range_Expression
;
5068 procedure Set_Real_Range_Specification
5069 (N
: Node_Id
; Val
: Node_Id
) is
5071 pragma Assert
(False
5072 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
5073 or else NT
(N
).Nkind
= N_Floating_Point_Definition
5074 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
5075 Set_Node4_With_Parent
(N
, Val
);
5076 end Set_Real_Range_Specification
;
5078 procedure Set_Realval
5079 (N
: Node_Id
; Val
: Ureal
) is
5081 pragma Assert
(False
5082 or else NT
(N
).Nkind
= N_Real_Literal
);
5083 Set_Ureal3
(N
, Val
);
5086 procedure Set_Reason
5087 (N
: Node_Id
; Val
: Uint
) is
5089 pragma Assert
(False
5090 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
5091 or else NT
(N
).Nkind
= N_Raise_Program_Error
5092 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
5096 procedure Set_Record_Extension_Part
5097 (N
: Node_Id
; Val
: Node_Id
) is
5099 pragma Assert
(False
5100 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
5101 Set_Node3_With_Parent
(N
, Val
);
5102 end Set_Record_Extension_Part
;
5104 procedure Set_Redundant_Use
5105 (N
: Node_Id
; Val
: Boolean := True) is
5107 pragma Assert
(False
5108 or else NT
(N
).Nkind
= N_Attribute_Reference
5109 or else NT
(N
).Nkind
= N_Expanded_Name
5110 or else NT
(N
).Nkind
= N_Identifier
);
5111 Set_Flag13
(N
, Val
);
5112 end Set_Redundant_Use
;
5114 procedure Set_Renaming_Exception
5115 (N
: Node_Id
; Val
: Node_Id
) is
5117 pragma Assert
(False
5118 or else NT
(N
).Nkind
= N_Exception_Declaration
);
5120 end Set_Renaming_Exception
;
5122 procedure Set_Result_Definition
5123 (N
: Node_Id
; Val
: Node_Id
) is
5125 pragma Assert
(False
5126 or else NT
(N
).Nkind
= N_Access_Function_Definition
5127 or else NT
(N
).Nkind
= N_Function_Specification
);
5128 Set_Node4_With_Parent
(N
, Val
);
5129 end Set_Result_Definition
;
5131 procedure Set_Return_Object_Declarations
5132 (N
: Node_Id
; Val
: List_Id
) is
5134 pragma Assert
(False
5135 or else NT
(N
).Nkind
= N_Extended_Return_Statement
);
5136 Set_List3_With_Parent
(N
, Val
);
5137 end Set_Return_Object_Declarations
;
5139 procedure Set_Return_Statement_Entity
5140 (N
: Node_Id
; Val
: Node_Id
) is
5142 pragma Assert
(False
5143 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5144 or else NT
(N
).Nkind
= N_Return_Statement
);
5145 Set_Node5
(N
, Val
); -- semantic field, no parent set
5146 end Set_Return_Statement_Entity
;
5148 procedure Set_Reverse_Present
5149 (N
: Node_Id
; Val
: Boolean := True) is
5151 pragma Assert
(False
5152 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
5153 Set_Flag15
(N
, Val
);
5154 end Set_Reverse_Present
;
5156 procedure Set_Right_Opnd
5157 (N
: Node_Id
; Val
: Node_Id
) is
5159 pragma Assert
(False
5160 or else NT
(N
).Nkind
in N_Op
5161 or else NT
(N
).Nkind
= N_And_Then
5162 or else NT
(N
).Nkind
= N_In
5163 or else NT
(N
).Nkind
= N_Not_In
5164 or else NT
(N
).Nkind
= N_Or_Else
);
5165 Set_Node3_With_Parent
(N
, Val
);
5168 procedure Set_Rounded_Result
5169 (N
: Node_Id
; Val
: Boolean := True) is
5171 pragma Assert
(False
5172 or else NT
(N
).Nkind
= N_Op_Divide
5173 or else NT
(N
).Nkind
= N_Op_Multiply
5174 or else NT
(N
).Nkind
= N_Type_Conversion
);
5175 Set_Flag18
(N
, Val
);
5176 end Set_Rounded_Result
;
5179 (N
: Node_Id
; Val
: Node_Id
) is
5181 pragma Assert
(False
5182 or else NT
(N
).Nkind
= N_Defining_Character_Literal
5183 or else NT
(N
).Nkind
= N_Defining_Identifier
5184 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
5185 Set_Node3
(N
, Val
); -- semantic field, no parent set
5188 procedure Set_Select_Alternatives
5189 (N
: Node_Id
; Val
: List_Id
) is
5191 pragma Assert
(False
5192 or else NT
(N
).Nkind
= N_Selective_Accept
);
5193 Set_List1_With_Parent
(N
, Val
);
5194 end Set_Select_Alternatives
;
5196 procedure Set_Selector_Name
5197 (N
: Node_Id
; Val
: Node_Id
) is
5199 pragma Assert
(False
5200 or else NT
(N
).Nkind
= N_Expanded_Name
5201 or else NT
(N
).Nkind
= N_Generic_Association
5202 or else NT
(N
).Nkind
= N_Parameter_Association
5203 or else NT
(N
).Nkind
= N_Selected_Component
);
5204 Set_Node2_With_Parent
(N
, Val
);
5205 end Set_Selector_Name
;
5207 procedure Set_Selector_Names
5208 (N
: Node_Id
; Val
: List_Id
) is
5210 pragma Assert
(False
5211 or else NT
(N
).Nkind
= N_Discriminant_Association
);
5212 Set_List1_With_Parent
(N
, Val
);
5213 end Set_Selector_Names
;
5215 procedure Set_Shift_Count_OK
5216 (N
: Node_Id
; Val
: Boolean := True) is
5218 pragma Assert
(False
5219 or else NT
(N
).Nkind
= N_Op_Rotate_Left
5220 or else NT
(N
).Nkind
= N_Op_Rotate_Right
5221 or else NT
(N
).Nkind
= N_Op_Shift_Left
5222 or else NT
(N
).Nkind
= N_Op_Shift_Right
5223 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
5225 end Set_Shift_Count_OK
;
5227 procedure Set_Source_Type
5228 (N
: Node_Id
; Val
: Entity_Id
) is
5230 pragma Assert
(False
5231 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
5232 Set_Node1
(N
, Val
); -- semantic field, no parent set
5233 end Set_Source_Type
;
5235 procedure Set_Specification
5236 (N
: Node_Id
; Val
: Node_Id
) is
5238 pragma Assert
(False
5239 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
5240 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
5241 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
5242 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
5243 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
5244 or else NT
(N
).Nkind
= N_Package_Declaration
5245 or else NT
(N
).Nkind
= N_Subprogram_Body
5246 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
5247 or else NT
(N
).Nkind
= N_Subprogram_Declaration
5248 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
5249 Set_Node1_With_Parent
(N
, Val
);
5250 end Set_Specification
;
5252 procedure Set_Statements
5253 (N
: Node_Id
; Val
: List_Id
) is
5255 pragma Assert
(False
5256 or else NT
(N
).Nkind
= N_Abortable_Part
5257 or else NT
(N
).Nkind
= N_Accept_Alternative
5258 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
5259 or else NT
(N
).Nkind
= N_Delay_Alternative
5260 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
5261 or else NT
(N
).Nkind
= N_Exception_Handler
5262 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
5263 or else NT
(N
).Nkind
= N_Loop_Statement
5264 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5265 Set_List3_With_Parent
(N
, Val
);
5268 procedure Set_Static_Processing_OK
5269 (N
: Node_Id
; Val
: Boolean) is
5271 pragma Assert
(False
5272 or else NT
(N
).Nkind
= N_Aggregate
);
5274 end Set_Static_Processing_OK
;
5276 procedure Set_Storage_Pool
5277 (N
: Node_Id
; Val
: Node_Id
) is
5279 pragma Assert
(False
5280 or else NT
(N
).Nkind
= N_Allocator
5281 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5282 or else NT
(N
).Nkind
= N_Free_Statement
5283 or else NT
(N
).Nkind
= N_Return_Statement
);
5284 Set_Node1
(N
, Val
); -- semantic field, no parent set
5285 end Set_Storage_Pool
;
5287 procedure Set_Strval
5288 (N
: Node_Id
; Val
: String_Id
) is
5290 pragma Assert
(False
5291 or else NT
(N
).Nkind
= N_Operator_Symbol
5292 or else NT
(N
).Nkind
= N_String_Literal
);
5296 procedure Set_Subtype_Indication
5297 (N
: Node_Id
; Val
: Node_Id
) is
5299 pragma Assert
(False
5300 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
5301 or else NT
(N
).Nkind
= N_Component_Definition
5302 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5303 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5304 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
5305 Set_Node5_With_Parent
(N
, Val
);
5306 end Set_Subtype_Indication
;
5308 procedure Set_Subtype_Mark
5309 (N
: Node_Id
; Val
: Node_Id
) is
5311 pragma Assert
(False
5312 or else NT
(N
).Nkind
= N_Access_Definition
5313 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5314 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5315 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
5316 or else NT
(N
).Nkind
= N_Qualified_Expression
5317 or else NT
(N
).Nkind
= N_Subtype_Indication
5318 or else NT
(N
).Nkind
= N_Type_Conversion
5319 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
5320 Set_Node4_With_Parent
(N
, Val
);
5321 end Set_Subtype_Mark
;
5323 procedure Set_Subtype_Marks
5324 (N
: Node_Id
; Val
: List_Id
) is
5326 pragma Assert
(False
5327 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
5328 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
5329 Set_List2_With_Parent
(N
, Val
);
5330 end Set_Subtype_Marks
;
5332 procedure Set_Synchronized_Present
5333 (N
: Node_Id
; Val
: Boolean := True) is
5335 pragma Assert
(False
5336 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5337 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5338 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5339 or else NT
(N
).Nkind
= N_Record_Definition
);
5341 end Set_Synchronized_Present
;
5343 procedure Set_Tagged_Present
5344 (N
: Node_Id
; Val
: Boolean := True) is
5346 pragma Assert
(False
5347 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
5348 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
5349 or else NT
(N
).Nkind
= N_Private_Type_Declaration
5350 or else NT
(N
).Nkind
= N_Record_Definition
);
5351 Set_Flag15
(N
, Val
);
5352 end Set_Tagged_Present
;
5354 procedure Set_Target_Type
5355 (N
: Node_Id
; Val
: Entity_Id
) is
5357 pragma Assert
(False
5358 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
5359 Set_Node2
(N
, Val
); -- semantic field, no parent set
5360 end Set_Target_Type
;
5362 procedure Set_Task_Definition
5363 (N
: Node_Id
; Val
: Node_Id
) is
5365 pragma Assert
(False
5366 or else NT
(N
).Nkind
= N_Single_Task_Declaration
5367 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
5368 Set_Node3_With_Parent
(N
, Val
);
5369 end Set_Task_Definition
;
5371 procedure Set_Task_Present
5372 (N
: Node_Id
; Val
: Boolean := True) is
5374 pragma Assert
(False
5375 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5376 or else NT
(N
).Nkind
= N_Record_Definition
);
5378 end Set_Task_Present
;
5380 procedure Set_Then_Actions
5381 (N
: Node_Id
; Val
: List_Id
) is
5383 pragma Assert
(False
5384 or else NT
(N
).Nkind
= N_Conditional_Expression
);
5385 Set_List2
(N
, Val
); -- semantic field, no parent set
5386 end Set_Then_Actions
;
5388 procedure Set_Then_Statements
5389 (N
: Node_Id
; Val
: List_Id
) is
5391 pragma Assert
(False
5392 or else NT
(N
).Nkind
= N_Elsif_Part
5393 or else NT
(N
).Nkind
= N_If_Statement
);
5394 Set_List2_With_Parent
(N
, Val
);
5395 end Set_Then_Statements
;
5397 procedure Set_Treat_Fixed_As_Integer
5398 (N
: Node_Id
; Val
: Boolean := True) is
5400 pragma Assert
(False
5401 or else NT
(N
).Nkind
= N_Op_Divide
5402 or else NT
(N
).Nkind
= N_Op_Mod
5403 or else NT
(N
).Nkind
= N_Op_Multiply
5404 or else NT
(N
).Nkind
= N_Op_Rem
);
5405 Set_Flag14
(N
, Val
);
5406 end Set_Treat_Fixed_As_Integer
;
5408 procedure Set_Triggering_Alternative
5409 (N
: Node_Id
; Val
: Node_Id
) is
5411 pragma Assert
(False
5412 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
5413 Set_Node1_With_Parent
(N
, Val
);
5414 end Set_Triggering_Alternative
;
5416 procedure Set_Triggering_Statement
5417 (N
: Node_Id
; Val
: Node_Id
) is
5419 pragma Assert
(False
5420 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5421 Set_Node1_With_Parent
(N
, Val
);
5422 end Set_Triggering_Statement
;
5424 procedure Set_TSS_Elist
5425 (N
: Node_Id
; Val
: Elist_Id
) is
5427 pragma Assert
(False
5428 or else NT
(N
).Nkind
= N_Freeze_Entity
);
5429 Set_Elist3
(N
, Val
); -- semantic field, no parent set
5432 procedure Set_Type_Definition
5433 (N
: Node_Id
; Val
: Node_Id
) is
5435 pragma Assert
(False
5436 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
5437 Set_Node3_With_Parent
(N
, Val
);
5438 end Set_Type_Definition
;
5441 (N
: Node_Id
; Val
: Node_Id
) is
5443 pragma Assert
(False
5444 or else NT
(N
).Nkind
= N_Compilation_Unit
);
5445 Set_Node2_With_Parent
(N
, Val
);
5448 procedure Set_Unknown_Discriminants_Present
5449 (N
: Node_Id
; Val
: Boolean := True) is
5451 pragma Assert
(False
5452 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
5453 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
5454 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5455 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
5456 Set_Flag13
(N
, Val
);
5457 end Set_Unknown_Discriminants_Present
;
5459 procedure Set_Unreferenced_In_Spec
5460 (N
: Node_Id
; Val
: Boolean := True) is
5462 pragma Assert
(False
5463 or else NT
(N
).Nkind
= N_With_Clause
);
5465 end Set_Unreferenced_In_Spec
;
5467 procedure Set_Variant_Part
5468 (N
: Node_Id
; Val
: Node_Id
) is
5470 pragma Assert
(False
5471 or else NT
(N
).Nkind
= N_Component_List
);
5472 Set_Node4_With_Parent
(N
, Val
);
5473 end Set_Variant_Part
;
5475 procedure Set_Variants
5476 (N
: Node_Id
; Val
: List_Id
) is
5478 pragma Assert
(False
5479 or else NT
(N
).Nkind
= N_Variant_Part
);
5480 Set_List1_With_Parent
(N
, Val
);
5483 procedure Set_Visible_Declarations
5484 (N
: Node_Id
; Val
: List_Id
) is
5486 pragma Assert
(False
5487 or else NT
(N
).Nkind
= N_Package_Specification
5488 or else NT
(N
).Nkind
= N_Protected_Definition
5489 or else NT
(N
).Nkind
= N_Task_Definition
);
5490 Set_List2_With_Parent
(N
, Val
);
5491 end Set_Visible_Declarations
;
5493 procedure Set_Was_Originally_Stub
5494 (N
: Node_Id
; Val
: Boolean := True) is
5496 pragma Assert
(False
5497 or else NT
(N
).Nkind
= N_Package_Body
5498 or else NT
(N
).Nkind
= N_Protected_Body
5499 or else NT
(N
).Nkind
= N_Subprogram_Body
5500 or else NT
(N
).Nkind
= N_Task_Body
);
5501 Set_Flag13
(N
, Val
);
5502 end Set_Was_Originally_Stub
;
5504 procedure Set_Zero_Cost_Handling
5505 (N
: Node_Id
; Val
: Boolean := True) is
5507 pragma Assert
(False
5508 or else NT
(N
).Nkind
= N_Exception_Handler
5509 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
5511 end Set_Zero_Cost_Handling
;
5513 -------------------------
5514 -- Iterator Procedures --
5515 -------------------------
5517 procedure Next_Entity
(N
: in out Node_Id
) is
5519 N
:= Next_Entity
(N
);
5522 procedure Next_Named_Actual
(N
: in out Node_Id
) is
5524 N
:= Next_Named_Actual
(N
);
5525 end Next_Named_Actual
;
5527 procedure Next_Rep_Item
(N
: in out Node_Id
) is
5529 N
:= Next_Rep_Item
(N
);
5532 procedure Next_Use_Clause
(N
: in out Node_Id
) is
5534 N
:= Next_Use_Clause
(N
);
5535 end Next_Use_Clause
;
5541 function End_Location
(N
: Node_Id
) return Source_Ptr
is
5542 L
: constant Uint
:= End_Span
(N
);
5547 return Source_Ptr
(Int
(Sloc
(N
)) + UI_To_Int
(L
));
5551 ----------------------
5552 -- Set_End_Location --
5553 ----------------------
5555 procedure Set_End_Location
(N
: Node_Id
; S
: Source_Ptr
) is
5558 UI_From_Int
(Int
(S
) - Int
(Sloc
(N
))));
5559 end Set_End_Location
;