1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2006, 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 Aggregate_Bounds
189 (N
: Node_Id
) return Node_Id
is
192 or else NT
(N
).Nkind
= N_Aggregate
);
194 end Aggregate_Bounds
;
196 function Aliased_Present
197 (N
: Node_Id
) return Boolean is
200 or else NT
(N
).Nkind
= N_Component_Definition
201 or else NT
(N
).Nkind
= N_Object_Declaration
);
206 (N
: Node_Id
) return Boolean is
209 or else NT
(N
).Nkind
= N_Others_Choice
);
214 (N
: Node_Id
) return Boolean is
217 or else NT
(N
).Nkind
= N_Access_Definition
218 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
222 function Alternatives
223 (N
: Node_Id
) return List_Id
is
226 or else NT
(N
).Nkind
= N_Case_Statement
);
230 function Ancestor_Part
231 (N
: Node_Id
) return Node_Id
is
234 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
238 function Array_Aggregate
239 (N
: Node_Id
) return Node_Id
is
242 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
246 function Assignment_OK
247 (N
: Node_Id
) return Boolean is
250 or else NT
(N
).Nkind
= N_Object_Declaration
251 or else NT
(N
).Nkind
in N_Subexpr
);
255 function Associated_Node
256 (N
: Node_Id
) return Node_Id
is
259 or else NT
(N
).Nkind
in N_Has_Entity
260 or else NT
(N
).Nkind
= N_Aggregate
261 or else NT
(N
).Nkind
= N_Extension_Aggregate
262 or else NT
(N
).Nkind
= N_Selected_Component
);
267 (N
: Node_Id
) return Node_Id
is
270 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
274 function Attribute_Name
275 (N
: Node_Id
) return Name_Id
is
278 or else NT
(N
).Nkind
= N_Attribute_Reference
);
282 function Aux_Decls_Node
283 (N
: Node_Id
) return Node_Id
is
286 or else NT
(N
).Nkind
= N_Compilation_Unit
);
290 function Backwards_OK
291 (N
: Node_Id
) return Boolean is
294 or else NT
(N
).Nkind
= N_Assignment_Statement
);
298 function Bad_Is_Detected
299 (N
: Node_Id
) return Boolean is
302 or else NT
(N
).Nkind
= N_Subprogram_Body
);
306 function Body_Required
307 (N
: Node_Id
) return Boolean is
310 or else NT
(N
).Nkind
= N_Compilation_Unit
);
314 function Body_To_Inline
315 (N
: Node_Id
) return Node_Id
is
318 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
323 (N
: Node_Id
) return Boolean is
326 or else NT
(N
).Nkind
= N_Component_Association
327 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
328 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
329 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
330 or else NT
(N
).Nkind
= N_Generic_Association
);
335 (N
: Node_Id
) return Boolean is
338 or else NT
(N
).Nkind
= N_Extended_Return_Statement
339 or else NT
(N
).Nkind
= N_Return_Statement
);
343 function Char_Literal_Value
344 (N
: Node_Id
) return Uint
is
347 or else NT
(N
).Nkind
= N_Character_Literal
);
349 end Char_Literal_Value
;
352 (N
: Node_Id
) return Name_Id
is
355 or else NT
(N
).Nkind
in N_Has_Chars
);
359 function Check_Address_Alignment
360 (N
: Node_Id
) return Boolean is
363 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
365 end Check_Address_Alignment
;
367 function Choice_Parameter
368 (N
: Node_Id
) return Node_Id
is
371 or else NT
(N
).Nkind
= N_Exception_Handler
);
373 end Choice_Parameter
;
376 (N
: Node_Id
) return List_Id
is
379 or else NT
(N
).Nkind
= N_Component_Association
);
383 function Comes_From_Extended_Return_Statement
384 (N
: Node_Id
) return Boolean is
387 or else NT
(N
).Nkind
= N_Return_Statement
);
389 end Comes_From_Extended_Return_Statement
;
391 function Compile_Time_Known_Aggregate
392 (N
: Node_Id
) return Boolean is
395 or else NT
(N
).Nkind
= N_Aggregate
);
397 end Compile_Time_Known_Aggregate
;
399 function Component_Associations
400 (N
: Node_Id
) return List_Id
is
403 or else NT
(N
).Nkind
= N_Aggregate
404 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
406 end Component_Associations
;
408 function Component_Clauses
409 (N
: Node_Id
) return List_Id
is
412 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
414 end Component_Clauses
;
416 function Component_Definition
417 (N
: Node_Id
) return Node_Id
is
420 or else NT
(N
).Nkind
= N_Component_Declaration
421 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
422 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
424 end Component_Definition
;
426 function Component_Items
427 (N
: Node_Id
) return List_Id
is
430 or else NT
(N
).Nkind
= N_Component_List
);
434 function Component_List
435 (N
: Node_Id
) return Node_Id
is
438 or else NT
(N
).Nkind
= N_Record_Definition
439 or else NT
(N
).Nkind
= N_Variant
);
443 function Component_Name
444 (N
: Node_Id
) return Node_Id
is
447 or else NT
(N
).Nkind
= N_Component_Clause
);
452 (N
: Node_Id
) return Node_Id
is
455 or else NT
(N
).Nkind
= N_Accept_Alternative
456 or else NT
(N
).Nkind
= N_Delay_Alternative
457 or else NT
(N
).Nkind
= N_Elsif_Part
458 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
459 or else NT
(N
).Nkind
= N_Exit_Statement
460 or else NT
(N
).Nkind
= N_If_Statement
461 or else NT
(N
).Nkind
= N_Iteration_Scheme
462 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
463 or else NT
(N
).Nkind
= N_Raise_Program_Error
464 or else NT
(N
).Nkind
= N_Raise_Storage_Error
465 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
469 function Condition_Actions
470 (N
: Node_Id
) return List_Id
is
473 or else NT
(N
).Nkind
= N_Elsif_Part
474 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
476 end Condition_Actions
;
478 function Config_Pragmas
479 (N
: Node_Id
) return List_Id
is
482 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
486 function Constant_Present
487 (N
: Node_Id
) return Boolean is
490 or else NT
(N
).Nkind
= N_Access_Definition
491 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
492 or else NT
(N
).Nkind
= N_Object_Declaration
);
494 end Constant_Present
;
497 (N
: Node_Id
) return Node_Id
is
500 or else NT
(N
).Nkind
= N_Subtype_Indication
);
505 (N
: Node_Id
) return List_Id
is
508 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
512 function Context_Installed
513 (N
: Node_Id
) return Boolean is
516 or else NT
(N
).Nkind
= N_With_Clause
);
518 end Context_Installed
;
520 function Context_Items
521 (N
: Node_Id
) return List_Id
is
524 or else NT
(N
).Nkind
= N_Compilation_Unit
);
528 function Controlling_Argument
529 (N
: Node_Id
) return Node_Id
is
532 or else NT
(N
).Nkind
= N_Function_Call
533 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
535 end Controlling_Argument
;
537 function Conversion_OK
538 (N
: Node_Id
) return Boolean is
541 or else NT
(N
).Nkind
= N_Type_Conversion
);
545 function Corresponding_Body
546 (N
: Node_Id
) return Node_Id
is
549 or else NT
(N
).Nkind
= N_Entry_Declaration
550 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
551 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
552 or else NT
(N
).Nkind
= N_Package_Body_Stub
553 or else NT
(N
).Nkind
= N_Package_Declaration
554 or else NT
(N
).Nkind
= N_Protected_Body_Stub
555 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
556 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
557 or else NT
(N
).Nkind
= N_Subprogram_Declaration
558 or else NT
(N
).Nkind
= N_Task_Body_Stub
559 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
561 end Corresponding_Body
;
563 function Corresponding_Formal_Spec
564 (N
: Node_Id
) return Node_Id
is
567 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
569 end Corresponding_Formal_Spec
;
571 function Corresponding_Generic_Association
572 (N
: Node_Id
) return Node_Id
is
575 or else NT
(N
).Nkind
= N_Object_Declaration
576 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
578 end Corresponding_Generic_Association
;
580 function Corresponding_Integer_Value
581 (N
: Node_Id
) return Uint
is
584 or else NT
(N
).Nkind
= N_Real_Literal
);
586 end Corresponding_Integer_Value
;
588 function Corresponding_Spec
589 (N
: Node_Id
) return Node_Id
is
592 or else NT
(N
).Nkind
= N_Package_Body
593 or else NT
(N
).Nkind
= N_Protected_Body
594 or else NT
(N
).Nkind
= N_Subprogram_Body
595 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
596 or else NT
(N
).Nkind
= N_Task_Body
597 or else NT
(N
).Nkind
= N_With_Clause
);
599 end Corresponding_Spec
;
601 function Corresponding_Stub
602 (N
: Node_Id
) return Node_Id
is
605 or else NT
(N
).Nkind
= N_Subunit
);
607 end Corresponding_Stub
;
609 function Dcheck_Function
610 (N
: Node_Id
) return Entity_Id
is
613 or else NT
(N
).Nkind
= N_Variant
);
617 function Debug_Statement
618 (N
: Node_Id
) return Node_Id
is
621 or else NT
(N
).Nkind
= N_Pragma
);
625 function Declarations
626 (N
: Node_Id
) return List_Id
is
629 or else NT
(N
).Nkind
= N_Accept_Statement
630 or else NT
(N
).Nkind
= N_Block_Statement
631 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
632 or else NT
(N
).Nkind
= N_Entry_Body
633 or else NT
(N
).Nkind
= N_Package_Body
634 or else NT
(N
).Nkind
= N_Protected_Body
635 or else NT
(N
).Nkind
= N_Subprogram_Body
636 or else NT
(N
).Nkind
= N_Task_Body
);
640 function Default_Expression
641 (N
: Node_Id
) return Node_Id
is
644 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
645 or else NT
(N
).Nkind
= N_Parameter_Specification
);
647 end Default_Expression
;
649 function Default_Name
650 (N
: Node_Id
) return Node_Id
is
653 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
654 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
);
658 function Defining_Identifier
659 (N
: Node_Id
) return Entity_Id
is
662 or else NT
(N
).Nkind
= N_Component_Declaration
663 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
664 or else NT
(N
).Nkind
= N_Discriminant_Specification
665 or else NT
(N
).Nkind
= N_Entry_Body
666 or else NT
(N
).Nkind
= N_Entry_Declaration
667 or else NT
(N
).Nkind
= N_Entry_Index_Specification
668 or else NT
(N
).Nkind
= N_Exception_Declaration
669 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
670 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
671 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
672 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
673 or else NT
(N
).Nkind
= N_Full_Type_Declaration
674 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
675 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
676 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
677 or else NT
(N
).Nkind
= N_Number_Declaration
678 or else NT
(N
).Nkind
= N_Object_Declaration
679 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
680 or else NT
(N
).Nkind
= N_Package_Body_Stub
681 or else NT
(N
).Nkind
= N_Parameter_Specification
682 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
683 or else NT
(N
).Nkind
= N_Private_Type_Declaration
684 or else NT
(N
).Nkind
= N_Protected_Body
685 or else NT
(N
).Nkind
= N_Protected_Body_Stub
686 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
687 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
688 or else NT
(N
).Nkind
= N_Single_Task_Declaration
689 or else NT
(N
).Nkind
= N_Subtype_Declaration
690 or else NT
(N
).Nkind
= N_Task_Body
691 or else NT
(N
).Nkind
= N_Task_Body_Stub
692 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
694 end Defining_Identifier
;
696 function Defining_Unit_Name
697 (N
: Node_Id
) return Node_Id
is
700 or else NT
(N
).Nkind
= N_Function_Instantiation
701 or else NT
(N
).Nkind
= N_Function_Specification
702 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
703 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
704 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
705 or else NT
(N
).Nkind
= N_Package_Body
706 or else NT
(N
).Nkind
= N_Package_Instantiation
707 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
708 or else NT
(N
).Nkind
= N_Package_Specification
709 or else NT
(N
).Nkind
= N_Procedure_Instantiation
710 or else NT
(N
).Nkind
= N_Procedure_Specification
);
712 end Defining_Unit_Name
;
714 function Delay_Alternative
715 (N
: Node_Id
) return Node_Id
is
718 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
720 end Delay_Alternative
;
722 function Delay_Finalize_Attach
723 (N
: Node_Id
) return Boolean is
726 or else NT
(N
).Nkind
= N_Object_Declaration
);
728 end Delay_Finalize_Attach
;
730 function Delay_Statement
731 (N
: Node_Id
) return Node_Id
is
734 or else NT
(N
).Nkind
= N_Delay_Alternative
);
738 function Delta_Expression
739 (N
: Node_Id
) return Node_Id
is
742 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
743 or else NT
(N
).Nkind
= N_Delta_Constraint
744 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
746 end Delta_Expression
;
748 function Digits_Expression
749 (N
: Node_Id
) return Node_Id
is
752 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
753 or else NT
(N
).Nkind
= N_Digits_Constraint
754 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
756 end Digits_Expression
;
758 function Discr_Check_Funcs_Built
759 (N
: Node_Id
) return Boolean is
762 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
764 end Discr_Check_Funcs_Built
;
766 function Discrete_Choices
767 (N
: Node_Id
) return List_Id
is
770 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
771 or else NT
(N
).Nkind
= N_Variant
);
773 end Discrete_Choices
;
775 function Discrete_Range
776 (N
: Node_Id
) return Node_Id
is
779 or else NT
(N
).Nkind
= N_Slice
);
783 function Discrete_Subtype_Definition
784 (N
: Node_Id
) return Node_Id
is
787 or else NT
(N
).Nkind
= N_Entry_Declaration
788 or else NT
(N
).Nkind
= N_Entry_Index_Specification
789 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
791 end Discrete_Subtype_Definition
;
793 function Discrete_Subtype_Definitions
794 (N
: Node_Id
) return List_Id
is
797 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
799 end Discrete_Subtype_Definitions
;
801 function Discriminant_Specifications
802 (N
: Node_Id
) return List_Id
is
805 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
806 or else NT
(N
).Nkind
= N_Full_Type_Declaration
807 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
808 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
809 or else NT
(N
).Nkind
= N_Private_Type_Declaration
810 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
811 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
813 end Discriminant_Specifications
;
815 function Discriminant_Type
816 (N
: Node_Id
) return Node_Id
is
819 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
821 end Discriminant_Type
;
823 function Do_Accessibility_Check
824 (N
: Node_Id
) return Boolean is
827 or else NT
(N
).Nkind
= N_Parameter_Specification
);
829 end Do_Accessibility_Check
;
831 function Do_Discriminant_Check
832 (N
: Node_Id
) return Boolean is
835 or else NT
(N
).Nkind
= N_Selected_Component
);
837 end Do_Discriminant_Check
;
839 function Do_Division_Check
840 (N
: Node_Id
) return Boolean is
843 or else NT
(N
).Nkind
= N_Op_Divide
844 or else NT
(N
).Nkind
= N_Op_Mod
845 or else NT
(N
).Nkind
= N_Op_Rem
);
847 end Do_Division_Check
;
849 function Do_Length_Check
850 (N
: Node_Id
) return Boolean is
853 or else NT
(N
).Nkind
= N_Assignment_Statement
854 or else NT
(N
).Nkind
= N_Op_And
855 or else NT
(N
).Nkind
= N_Op_Or
856 or else NT
(N
).Nkind
= N_Op_Xor
857 or else NT
(N
).Nkind
= N_Type_Conversion
);
861 function Do_Overflow_Check
862 (N
: Node_Id
) return Boolean is
865 or else NT
(N
).Nkind
in N_Op
866 or else NT
(N
).Nkind
= N_Attribute_Reference
867 or else NT
(N
).Nkind
= N_Type_Conversion
);
869 end Do_Overflow_Check
;
871 function Do_Range_Check
872 (N
: Node_Id
) return Boolean is
875 or else NT
(N
).Nkind
in N_Subexpr
);
879 function Do_Storage_Check
880 (N
: Node_Id
) return Boolean is
883 or else NT
(N
).Nkind
= N_Allocator
884 or else NT
(N
).Nkind
= N_Subprogram_Body
);
886 end Do_Storage_Check
;
888 function Do_Tag_Check
889 (N
: Node_Id
) return Boolean is
892 or else NT
(N
).Nkind
= N_Assignment_Statement
893 or else NT
(N
).Nkind
= N_Extended_Return_Statement
894 or else NT
(N
).Nkind
= N_Function_Call
895 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
896 or else NT
(N
).Nkind
= N_Return_Statement
897 or else NT
(N
).Nkind
= N_Type_Conversion
);
901 function Elaborate_All_Desirable
902 (N
: Node_Id
) return Boolean is
905 or else NT
(N
).Nkind
= N_With_Clause
);
907 end Elaborate_All_Desirable
;
909 function Elaborate_All_Present
910 (N
: Node_Id
) return Boolean is
913 or else NT
(N
).Nkind
= N_With_Clause
);
915 end Elaborate_All_Present
;
917 function Elaborate_Desirable
918 (N
: Node_Id
) return Boolean is
921 or else NT
(N
).Nkind
= N_With_Clause
);
923 end Elaborate_Desirable
;
925 function Elaborate_Present
926 (N
: Node_Id
) return Boolean is
929 or else NT
(N
).Nkind
= N_With_Clause
);
931 end Elaborate_Present
;
933 function Elaboration_Boolean
934 (N
: Node_Id
) return Node_Id
is
937 or else NT
(N
).Nkind
= N_Function_Specification
938 or else NT
(N
).Nkind
= N_Procedure_Specification
);
940 end Elaboration_Boolean
;
942 function Else_Actions
943 (N
: Node_Id
) return List_Id
is
946 or else NT
(N
).Nkind
= N_Conditional_Expression
);
950 function Else_Statements
951 (N
: Node_Id
) return List_Id
is
954 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
955 or else NT
(N
).Nkind
= N_If_Statement
956 or else NT
(N
).Nkind
= N_Selective_Accept
);
961 (N
: Node_Id
) return List_Id
is
964 or else NT
(N
).Nkind
= N_If_Statement
);
968 function Enclosing_Variant
969 (N
: Node_Id
) return Node_Id
is
972 or else NT
(N
).Nkind
= N_Variant
);
974 end Enclosing_Variant
;
977 (N
: Node_Id
) return Node_Id
is
980 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
981 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
982 or else NT
(N
).Nkind
= N_Loop_Statement
983 or else NT
(N
).Nkind
= N_Package_Specification
984 or else NT
(N
).Nkind
= N_Protected_Body
985 or else NT
(N
).Nkind
= N_Protected_Definition
986 or else NT
(N
).Nkind
= N_Record_Definition
987 or else NT
(N
).Nkind
= N_Task_Definition
);
992 (N
: Node_Id
) return Uint
is
995 or else NT
(N
).Nkind
= N_Case_Statement
996 or else NT
(N
).Nkind
= N_If_Statement
);
1001 (N
: Node_Id
) return Node_Id
is
1003 pragma Assert
(False
1004 or else NT
(N
).Nkind
in N_Has_Entity
1005 or else NT
(N
).Nkind
= N_Freeze_Entity
1006 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1010 function Entity_Or_Associated_Node
1011 (N
: Node_Id
) return Node_Id
is
1013 pragma Assert
(False
1014 or else NT
(N
).Nkind
in N_Has_Entity
1015 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1017 end Entity_Or_Associated_Node
;
1019 function Entry_Body_Formal_Part
1020 (N
: Node_Id
) return Node_Id
is
1022 pragma Assert
(False
1023 or else NT
(N
).Nkind
= N_Entry_Body
);
1025 end Entry_Body_Formal_Part
;
1027 function Entry_Call_Alternative
1028 (N
: Node_Id
) return Node_Id
is
1030 pragma Assert
(False
1031 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
1032 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
1034 end Entry_Call_Alternative
;
1036 function Entry_Call_Statement
1037 (N
: Node_Id
) return Node_Id
is
1039 pragma Assert
(False
1040 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
1042 end Entry_Call_Statement
;
1044 function Entry_Direct_Name
1045 (N
: Node_Id
) return Node_Id
is
1047 pragma Assert
(False
1048 or else NT
(N
).Nkind
= N_Accept_Statement
);
1050 end Entry_Direct_Name
;
1052 function Entry_Index
1053 (N
: Node_Id
) return Node_Id
is
1055 pragma Assert
(False
1056 or else NT
(N
).Nkind
= N_Accept_Statement
);
1060 function Entry_Index_Specification
1061 (N
: Node_Id
) return Node_Id
is
1063 pragma Assert
(False
1064 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
1066 end Entry_Index_Specification
;
1069 (N
: Node_Id
) return Node_Id
is
1071 pragma Assert
(False
1072 or else NT
(N
).Nkind
in N_Has_Etype
);
1076 function Exception_Choices
1077 (N
: Node_Id
) return List_Id
is
1079 pragma Assert
(False
1080 or else NT
(N
).Nkind
= N_Exception_Handler
);
1082 end Exception_Choices
;
1084 function Exception_Handlers
1085 (N
: Node_Id
) return List_Id
is
1087 pragma Assert
(False
1088 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1090 end Exception_Handlers
;
1092 function Exception_Junk
1093 (N
: Node_Id
) return Boolean is
1095 pragma Assert
(False
1096 or else NT
(N
).Nkind
= N_Goto_Statement
1097 or else NT
(N
).Nkind
= N_Label
1098 or else NT
(N
).Nkind
= N_Object_Declaration
1099 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1103 function Expansion_Delayed
1104 (N
: Node_Id
) return Boolean is
1106 pragma Assert
(False
1107 or else NT
(N
).Nkind
= N_Aggregate
1108 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1110 end Expansion_Delayed
;
1112 function Explicit_Actual_Parameter
1113 (N
: Node_Id
) return Node_Id
is
1115 pragma Assert
(False
1116 or else NT
(N
).Nkind
= N_Parameter_Association
);
1118 end Explicit_Actual_Parameter
;
1120 function Explicit_Generic_Actual_Parameter
1121 (N
: Node_Id
) return Node_Id
is
1123 pragma Assert
(False
1124 or else NT
(N
).Nkind
= N_Generic_Association
);
1126 end Explicit_Generic_Actual_Parameter
;
1129 (N
: Node_Id
) return Node_Id
is
1131 pragma Assert
(False
1132 or else NT
(N
).Nkind
= N_Allocator
1133 or else NT
(N
).Nkind
= N_Assignment_Statement
1134 or else NT
(N
).Nkind
= N_At_Clause
1135 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1136 or else NT
(N
).Nkind
= N_Case_Statement
1137 or else NT
(N
).Nkind
= N_Code_Statement
1138 or else NT
(N
).Nkind
= N_Component_Association
1139 or else NT
(N
).Nkind
= N_Component_Declaration
1140 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
1141 or else NT
(N
).Nkind
= N_Delay_Until_Statement
1142 or else NT
(N
).Nkind
= N_Discriminant_Association
1143 or else NT
(N
).Nkind
= N_Discriminant_Specification
1144 or else NT
(N
).Nkind
= N_Exception_Declaration
1145 or else NT
(N
).Nkind
= N_Free_Statement
1146 or else NT
(N
).Nkind
= N_Mod_Clause
1147 or else NT
(N
).Nkind
= N_Modular_Type_Definition
1148 or else NT
(N
).Nkind
= N_Number_Declaration
1149 or else NT
(N
).Nkind
= N_Object_Declaration
1150 or else NT
(N
).Nkind
= N_Parameter_Specification
1151 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
1152 or else NT
(N
).Nkind
= N_Qualified_Expression
1153 or else NT
(N
).Nkind
= N_Raise_Statement
1154 or else NT
(N
).Nkind
= N_Return_Statement
1155 or else NT
(N
).Nkind
= N_Type_Conversion
1156 or else NT
(N
).Nkind
= N_Unchecked_Expression
1157 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1161 function Expressions
1162 (N
: Node_Id
) return List_Id
is
1164 pragma Assert
(False
1165 or else NT
(N
).Nkind
= N_Aggregate
1166 or else NT
(N
).Nkind
= N_Attribute_Reference
1167 or else NT
(N
).Nkind
= N_Conditional_Expression
1168 or else NT
(N
).Nkind
= N_Extension_Aggregate
1169 or else NT
(N
).Nkind
= N_Indexed_Component
);
1174 (N
: Node_Id
) return Node_Id
is
1176 pragma Assert
(False
1177 or else NT
(N
).Nkind
= N_Component_Clause
);
1181 function First_Inlined_Subprogram
1182 (N
: Node_Id
) return Entity_Id
is
1184 pragma Assert
(False
1185 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1187 end First_Inlined_Subprogram
;
1190 (N
: Node_Id
) return Boolean is
1192 pragma Assert
(False
1193 or else NT
(N
).Nkind
= N_With_Clause
);
1197 function First_Named_Actual
1198 (N
: Node_Id
) return Node_Id
is
1200 pragma Assert
(False
1201 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1202 or else NT
(N
).Nkind
= N_Function_Call
1203 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1205 end First_Named_Actual
;
1207 function First_Real_Statement
1208 (N
: Node_Id
) return Node_Id
is
1210 pragma Assert
(False
1211 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1213 end First_Real_Statement
;
1215 function First_Subtype_Link
1216 (N
: Node_Id
) return Entity_Id
is
1218 pragma Assert
(False
1219 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1221 end First_Subtype_Link
;
1223 function Float_Truncate
1224 (N
: Node_Id
) return Boolean is
1226 pragma Assert
(False
1227 or else NT
(N
).Nkind
= N_Type_Conversion
);
1231 function Formal_Type_Definition
1232 (N
: Node_Id
) return Node_Id
is
1234 pragma Assert
(False
1235 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
1237 end Formal_Type_Definition
;
1239 function Forwards_OK
1240 (N
: Node_Id
) return Boolean is
1242 pragma Assert
(False
1243 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1247 function From_At_Mod
1248 (N
: Node_Id
) return Boolean is
1250 pragma Assert
(False
1251 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1255 function From_Default
1256 (N
: Node_Id
) return Boolean is
1258 pragma Assert
(False
1259 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
1263 function Generic_Associations
1264 (N
: Node_Id
) return List_Id
is
1266 pragma Assert
(False
1267 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1268 or else NT
(N
).Nkind
= N_Function_Instantiation
1269 or else NT
(N
).Nkind
= N_Package_Instantiation
1270 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1272 end Generic_Associations
;
1274 function Generic_Formal_Declarations
1275 (N
: Node_Id
) return List_Id
is
1277 pragma Assert
(False
1278 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1279 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
1281 end Generic_Formal_Declarations
;
1283 function Generic_Parent
1284 (N
: Node_Id
) return Node_Id
is
1286 pragma Assert
(False
1287 or else NT
(N
).Nkind
= N_Function_Specification
1288 or else NT
(N
).Nkind
= N_Package_Specification
1289 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1293 function Generic_Parent_Type
1294 (N
: Node_Id
) return Node_Id
is
1296 pragma Assert
(False
1297 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1299 end Generic_Parent_Type
;
1301 function Handled_Statement_Sequence
1302 (N
: Node_Id
) return Node_Id
is
1304 pragma Assert
(False
1305 or else NT
(N
).Nkind
= N_Accept_Statement
1306 or else NT
(N
).Nkind
= N_Block_Statement
1307 or else NT
(N
).Nkind
= N_Entry_Body
1308 or else NT
(N
).Nkind
= N_Extended_Return_Statement
1309 or else NT
(N
).Nkind
= N_Package_Body
1310 or else NT
(N
).Nkind
= N_Subprogram_Body
1311 or else NT
(N
).Nkind
= N_Task_Body
);
1313 end Handled_Statement_Sequence
;
1315 function Handler_List_Entry
1316 (N
: Node_Id
) return Node_Id
is
1318 pragma Assert
(False
1319 or else NT
(N
).Nkind
= N_Object_Declaration
);
1321 end Handler_List_Entry
;
1323 function Has_Created_Identifier
1324 (N
: Node_Id
) return Boolean is
1326 pragma Assert
(False
1327 or else NT
(N
).Nkind
= N_Block_Statement
1328 or else NT
(N
).Nkind
= N_Loop_Statement
);
1330 end Has_Created_Identifier
;
1332 function Has_Dynamic_Length_Check
1333 (N
: Node_Id
) return Boolean is
1336 end Has_Dynamic_Length_Check
;
1338 function Has_Dynamic_Range_Check
1339 (N
: Node_Id
) return Boolean is
1342 end Has_Dynamic_Range_Check
;
1344 function Has_No_Elaboration_Code
1345 (N
: Node_Id
) return Boolean is
1347 pragma Assert
(False
1348 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1350 end Has_No_Elaboration_Code
;
1352 function Has_Priority_Pragma
1353 (N
: Node_Id
) return Boolean is
1355 pragma Assert
(False
1356 or else NT
(N
).Nkind
= N_Protected_Definition
1357 or else NT
(N
).Nkind
= N_Subprogram_Body
1358 or else NT
(N
).Nkind
= N_Task_Definition
);
1360 end Has_Priority_Pragma
;
1362 function Has_Private_View
1363 (N
: Node_Id
) return Boolean is
1365 pragma Assert
(False
1366 or else NT
(N
).Nkind
in N_Op
1367 or else NT
(N
).Nkind
= N_Character_Literal
1368 or else NT
(N
).Nkind
= N_Expanded_Name
1369 or else NT
(N
).Nkind
= N_Identifier
1370 or else NT
(N
).Nkind
= N_Operator_Symbol
);
1372 end Has_Private_View
;
1374 function Has_Self_Reference
1375 (N
: Node_Id
) return Boolean is
1377 pragma Assert
(False
1378 or else NT
(N
).Nkind
= N_Aggregate
1379 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1381 end Has_Self_Reference
;
1383 function Has_Storage_Size_Pragma
1384 (N
: Node_Id
) return Boolean is
1386 pragma Assert
(False
1387 or else NT
(N
).Nkind
= N_Task_Definition
);
1389 end Has_Storage_Size_Pragma
;
1391 function Has_Task_Info_Pragma
1392 (N
: Node_Id
) return Boolean is
1394 pragma Assert
(False
1395 or else NT
(N
).Nkind
= N_Task_Definition
);
1397 end Has_Task_Info_Pragma
;
1399 function Has_Task_Name_Pragma
1400 (N
: Node_Id
) return Boolean is
1402 pragma Assert
(False
1403 or else NT
(N
).Nkind
= N_Task_Definition
);
1405 end Has_Task_Name_Pragma
;
1407 function Has_Wide_Character
1408 (N
: Node_Id
) return Boolean is
1410 pragma Assert
(False
1411 or else NT
(N
).Nkind
= N_String_Literal
);
1413 end Has_Wide_Character
;
1415 function Hidden_By_Use_Clause
1416 (N
: Node_Id
) return Elist_Id
is
1418 pragma Assert
(False
1419 or else NT
(N
).Nkind
= N_Use_Package_Clause
1420 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1422 end Hidden_By_Use_Clause
;
1425 (N
: Node_Id
) return Node_Id
is
1427 pragma Assert
(False
1428 or else NT
(N
).Nkind
= N_Range
1429 or else NT
(N
).Nkind
= N_Real_Range_Specification
1430 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1435 (N
: Node_Id
) return Node_Id
is
1437 pragma Assert
(False
1438 or else NT
(N
).Nkind
= N_At_Clause
1439 or else NT
(N
).Nkind
= N_Block_Statement
1440 or else NT
(N
).Nkind
= N_Designator
1441 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1442 or else NT
(N
).Nkind
= N_Label
1443 or else NT
(N
).Nkind
= N_Loop_Statement
1444 or else NT
(N
).Nkind
= N_Record_Representation_Clause
1445 or else NT
(N
).Nkind
= N_Subprogram_Info
);
1449 function Implicit_With
1450 (N
: Node_Id
) return Boolean is
1452 pragma Assert
(False
1453 or else NT
(N
).Nkind
= N_With_Clause
);
1457 function Interface_List
1458 (N
: Node_Id
) return List_Id
is
1460 pragma Assert
(False
1461 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1462 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
1463 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
1464 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
1465 or else NT
(N
).Nkind
= N_Record_Definition
1466 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
1467 or else NT
(N
).Nkind
= N_Single_Task_Declaration
1468 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
1472 function Interface_Present
1473 (N
: Node_Id
) return Boolean is
1475 pragma Assert
(False
1476 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1477 or else NT
(N
).Nkind
= N_Record_Definition
);
1479 end Interface_Present
;
1482 (N
: Node_Id
) return Boolean is
1484 pragma Assert
(False
1485 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1486 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1490 function Includes_Infinities
1491 (N
: Node_Id
) return Boolean is
1493 pragma Assert
(False
1494 or else NT
(N
).Nkind
= N_Range
);
1496 end Includes_Infinities
;
1498 function Instance_Spec
1499 (N
: Node_Id
) return Node_Id
is
1501 pragma Assert
(False
1502 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1503 or else NT
(N
).Nkind
= N_Function_Instantiation
1504 or else NT
(N
).Nkind
= N_Package_Instantiation
1505 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1510 (N
: Node_Id
) return Uint
is
1512 pragma Assert
(False
1513 or else NT
(N
).Nkind
= N_Integer_Literal
);
1517 function Is_Asynchronous_Call_Block
1518 (N
: Node_Id
) return Boolean is
1520 pragma Assert
(False
1521 or else NT
(N
).Nkind
= N_Block_Statement
);
1523 end Is_Asynchronous_Call_Block
;
1525 function Is_Component_Left_Opnd
1526 (N
: Node_Id
) return Boolean is
1528 pragma Assert
(False
1529 or else NT
(N
).Nkind
= N_Op_Concat
);
1531 end Is_Component_Left_Opnd
;
1533 function Is_Component_Right_Opnd
1534 (N
: Node_Id
) return Boolean is
1536 pragma Assert
(False
1537 or else NT
(N
).Nkind
= N_Op_Concat
);
1539 end Is_Component_Right_Opnd
;
1541 function Is_Controlling_Actual
1542 (N
: Node_Id
) return Boolean is
1544 pragma Assert
(False
1545 or else NT
(N
).Nkind
in N_Subexpr
);
1547 end Is_Controlling_Actual
;
1549 function Is_Entry_Barrier_Function
1550 (N
: Node_Id
) return Boolean is
1552 pragma Assert
(False
1553 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1555 end Is_Entry_Barrier_Function
;
1557 function Is_In_Discriminant_Check
1558 (N
: Node_Id
) return Boolean is
1560 pragma Assert
(False
1561 or else NT
(N
).Nkind
= N_Selected_Component
);
1563 end Is_In_Discriminant_Check
;
1565 function Is_Machine_Number
1566 (N
: Node_Id
) return Boolean is
1568 pragma Assert
(False
1569 or else NT
(N
).Nkind
= N_Real_Literal
);
1571 end Is_Machine_Number
;
1573 function Is_Null_Loop
1574 (N
: Node_Id
) return Boolean is
1576 pragma Assert
(False
1577 or else NT
(N
).Nkind
= N_Loop_Statement
);
1581 function Is_Overloaded
1582 (N
: Node_Id
) return Boolean is
1584 pragma Assert
(False
1585 or else NT
(N
).Nkind
in N_Subexpr
);
1589 function Is_Power_Of_2_For_Shift
1590 (N
: Node_Id
) return Boolean is
1592 pragma Assert
(False
1593 or else NT
(N
).Nkind
= N_Op_Expon
);
1595 end Is_Power_Of_2_For_Shift
;
1597 function Is_Protected_Subprogram_Body
1598 (N
: Node_Id
) return Boolean is
1600 pragma Assert
(False
1601 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1603 end Is_Protected_Subprogram_Body
;
1605 function Is_Static_Expression
1606 (N
: Node_Id
) return Boolean is
1608 pragma Assert
(False
1609 or else NT
(N
).Nkind
in N_Subexpr
);
1611 end Is_Static_Expression
;
1613 function Is_Subprogram_Descriptor
1614 (N
: Node_Id
) return Boolean is
1616 pragma Assert
(False
1617 or else NT
(N
).Nkind
= N_Object_Declaration
);
1619 end Is_Subprogram_Descriptor
;
1621 function Is_Task_Allocation_Block
1622 (N
: Node_Id
) return Boolean is
1624 pragma Assert
(False
1625 or else NT
(N
).Nkind
= N_Block_Statement
);
1627 end Is_Task_Allocation_Block
;
1629 function Is_Task_Master
1630 (N
: Node_Id
) return Boolean is
1632 pragma Assert
(False
1633 or else NT
(N
).Nkind
= N_Block_Statement
1634 or else NT
(N
).Nkind
= N_Subprogram_Body
1635 or else NT
(N
).Nkind
= N_Task_Body
);
1639 function Iteration_Scheme
1640 (N
: Node_Id
) return Node_Id
is
1642 pragma Assert
(False
1643 or else NT
(N
).Nkind
= N_Loop_Statement
);
1645 end Iteration_Scheme
;
1648 (N
: Node_Id
) return Node_Id
is
1650 pragma Assert
(False
1651 or else NT
(N
).Nkind
= N_Itype_Reference
);
1655 function Kill_Range_Check
1656 (N
: Node_Id
) return Boolean is
1658 pragma Assert
(False
1659 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1661 end Kill_Range_Check
;
1663 function Label_Construct
1664 (N
: Node_Id
) return Node_Id
is
1666 pragma Assert
(False
1667 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
1669 end Label_Construct
;
1672 (N
: Node_Id
) return Node_Id
is
1674 pragma Assert
(False
1675 or else NT
(N
).Nkind
= N_Component_Clause
);
1680 (N
: Node_Id
) return Boolean is
1682 pragma Assert
(False
1683 or else NT
(N
).Nkind
= N_With_Clause
);
1688 (N
: Node_Id
) return Node_Id
is
1690 pragma Assert
(False
1691 or else NT
(N
).Nkind
= N_And_Then
1692 or else NT
(N
).Nkind
= N_In
1693 or else NT
(N
).Nkind
= N_Not_In
1694 or else NT
(N
).Nkind
= N_Or_Else
1695 or else NT
(N
).Nkind
in N_Binary_Op
);
1699 function Library_Unit
1700 (N
: Node_Id
) return Node_Id
is
1702 pragma Assert
(False
1703 or else NT
(N
).Nkind
= N_Compilation_Unit
1704 or else NT
(N
).Nkind
= N_Package_Body_Stub
1705 or else NT
(N
).Nkind
= N_Protected_Body_Stub
1706 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
1707 or else NT
(N
).Nkind
= N_Task_Body_Stub
1708 or else NT
(N
).Nkind
= N_With_Clause
);
1712 function Limited_View_Installed
1713 (N
: Node_Id
) return Boolean is
1715 pragma Assert
(False
1716 or else NT
(N
).Nkind
= N_Package_Specification
1717 or else NT
(N
).Nkind
= N_With_Clause
);
1719 end Limited_View_Installed
;
1721 function Limited_Present
1722 (N
: Node_Id
) return Boolean is
1724 pragma Assert
(False
1725 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1726 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
1727 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
1728 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
1729 or else NT
(N
).Nkind
= N_Private_Type_Declaration
1730 or else NT
(N
).Nkind
= N_Record_Definition
1731 or else NT
(N
).Nkind
= N_With_Clause
);
1733 end Limited_Present
;
1736 (N
: Node_Id
) return List_Id
is
1738 pragma Assert
(False
1739 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
1743 function Loop_Actions
1744 (N
: Node_Id
) return List_Id
is
1746 pragma Assert
(False
1747 or else NT
(N
).Nkind
= N_Component_Association
);
1751 function Loop_Parameter_Specification
1752 (N
: Node_Id
) return Node_Id
is
1754 pragma Assert
(False
1755 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
1757 end Loop_Parameter_Specification
;
1760 (N
: Node_Id
) return Node_Id
is
1762 pragma Assert
(False
1763 or else NT
(N
).Nkind
= N_Range
1764 or else NT
(N
).Nkind
= N_Real_Range_Specification
1765 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1770 (N
: Node_Id
) return Node_Id
is
1772 pragma Assert
(False
1773 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1778 (N
: Node_Id
) return Boolean is
1780 pragma Assert
(False
1781 or else NT
(N
).Nkind
= N_Component_Declaration
1782 or else NT
(N
).Nkind
= N_Discriminant_Specification
1783 or else NT
(N
).Nkind
= N_Exception_Declaration
1784 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1785 or else NT
(N
).Nkind
= N_Number_Declaration
1786 or else NT
(N
).Nkind
= N_Object_Declaration
1787 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1791 function Must_Be_Byte_Aligned
1792 (N
: Node_Id
) return Boolean is
1794 pragma Assert
(False
1795 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1797 end Must_Be_Byte_Aligned
;
1799 function Must_Not_Freeze
1800 (N
: Node_Id
) return Boolean is
1802 pragma Assert
(False
1803 or else NT
(N
).Nkind
= N_Subtype_Indication
1804 or else NT
(N
).Nkind
in N_Subexpr
);
1806 end Must_Not_Freeze
;
1808 function Must_Not_Override
1809 (N
: Node_Id
) return Boolean is
1811 pragma Assert
(False
1812 or else NT
(N
).Nkind
= N_Entry_Declaration
1813 or else NT
(N
).Nkind
= N_Function_Instantiation
1814 or else NT
(N
).Nkind
= N_Function_Specification
1815 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1816 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1818 end Must_Not_Override
;
1820 function Must_Override
1821 (N
: Node_Id
) return Boolean is
1823 pragma Assert
(False
1824 or else NT
(N
).Nkind
= N_Entry_Declaration
1825 or else NT
(N
).Nkind
= N_Function_Instantiation
1826 or else NT
(N
).Nkind
= N_Function_Specification
1827 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1828 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1833 (N
: Node_Id
) return Node_Id
is
1835 pragma Assert
(False
1836 or else NT
(N
).Nkind
= N_Assignment_Statement
1837 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1838 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
1839 or else NT
(N
).Nkind
= N_Designator
1840 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1841 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
1842 or else NT
(N
).Nkind
= N_Exit_Statement
1843 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1844 or else NT
(N
).Nkind
= N_Function_Call
1845 or else NT
(N
).Nkind
= N_Function_Instantiation
1846 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1847 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1848 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1849 or else NT
(N
).Nkind
= N_Goto_Statement
1850 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
1851 or else NT
(N
).Nkind
= N_Package_Instantiation
1852 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1853 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
1854 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1855 or else NT
(N
).Nkind
= N_Raise_Statement
1856 or else NT
(N
).Nkind
= N_Requeue_Statement
1857 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
1858 or else NT
(N
).Nkind
= N_Subunit
1859 or else NT
(N
).Nkind
= N_Variant_Part
1860 or else NT
(N
).Nkind
= N_With_Clause
1861 or else NT
(N
).Nkind
= N_With_Type_Clause
);
1866 (N
: Node_Id
) return List_Id
is
1868 pragma Assert
(False
1869 or else NT
(N
).Nkind
= N_Abort_Statement
1870 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
1874 function Next_Entity
1875 (N
: Node_Id
) return Node_Id
is
1877 pragma Assert
(False
1878 or else NT
(N
).Nkind
= N_Defining_Character_Literal
1879 or else NT
(N
).Nkind
= N_Defining_Identifier
1880 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
1884 function Next_Named_Actual
1885 (N
: Node_Id
) return Node_Id
is
1887 pragma Assert
(False
1888 or else NT
(N
).Nkind
= N_Parameter_Association
);
1890 end Next_Named_Actual
;
1892 function Next_Rep_Item
1893 (N
: Node_Id
) return Node_Id
is
1895 pragma Assert
(False
1896 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1897 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1898 or else NT
(N
).Nkind
= N_Pragma
1899 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1903 function Next_Use_Clause
1904 (N
: Node_Id
) return Node_Id
is
1906 pragma Assert
(False
1907 or else NT
(N
).Nkind
= N_Use_Package_Clause
1908 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1910 end Next_Use_Clause
;
1912 function No_Ctrl_Actions
1913 (N
: Node_Id
) return Boolean is
1915 pragma Assert
(False
1916 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1918 end No_Ctrl_Actions
;
1920 function No_Elaboration_Check
1921 (N
: Node_Id
) return Boolean is
1923 pragma Assert
(False
1924 or else NT
(N
).Nkind
= N_Function_Call
1925 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1927 end No_Elaboration_Check
;
1929 function No_Entities_Ref_In_Spec
1930 (N
: Node_Id
) return Boolean is
1932 pragma Assert
(False
1933 or else NT
(N
).Nkind
= N_With_Clause
);
1935 end No_Entities_Ref_In_Spec
;
1937 function No_Initialization
1938 (N
: Node_Id
) return Boolean is
1940 pragma Assert
(False
1941 or else NT
(N
).Nkind
= N_Allocator
1942 or else NT
(N
).Nkind
= N_Object_Declaration
);
1944 end No_Initialization
;
1946 function No_Truncation
1947 (N
: Node_Id
) return Boolean is
1949 pragma Assert
(False
1950 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1954 function Null_Present
1955 (N
: Node_Id
) return Boolean is
1957 pragma Assert
(False
1958 or else NT
(N
).Nkind
= N_Component_List
1959 or else NT
(N
).Nkind
= N_Procedure_Specification
1960 or else NT
(N
).Nkind
= N_Record_Definition
);
1964 function Null_Exclusion_Present
1965 (N
: Node_Id
) return Boolean is
1967 pragma Assert
(False
1968 or else NT
(N
).Nkind
= N_Access_Definition
1969 or else NT
(N
).Nkind
= N_Access_Function_Definition
1970 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
1971 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
1972 or else NT
(N
).Nkind
= N_Allocator
1973 or else NT
(N
).Nkind
= N_Component_Definition
1974 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1975 or else NT
(N
).Nkind
= N_Discriminant_Specification
1976 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1977 or else NT
(N
).Nkind
= N_Function_Specification
1978 or else NT
(N
).Nkind
= N_Object_Declaration
1979 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
1980 or else NT
(N
).Nkind
= N_Parameter_Specification
1981 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1983 end Null_Exclusion_Present
;
1985 function Null_Record_Present
1986 (N
: Node_Id
) return Boolean is
1988 pragma Assert
(False
1989 or else NT
(N
).Nkind
= N_Aggregate
1990 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1992 end Null_Record_Present
;
1994 function Object_Definition
1995 (N
: Node_Id
) return Node_Id
is
1997 pragma Assert
(False
1998 or else NT
(N
).Nkind
= N_Object_Declaration
);
2000 end Object_Definition
;
2002 function Original_Discriminant
2003 (N
: Node_Id
) return Node_Id
is
2005 pragma Assert
(False
2006 or else NT
(N
).Nkind
= N_Identifier
);
2008 end Original_Discriminant
;
2010 function Original_Entity
2011 (N
: Node_Id
) return Entity_Id
is
2013 pragma Assert
(False
2014 or else NT
(N
).Nkind
= N_Integer_Literal
2015 or else NT
(N
).Nkind
= N_Real_Literal
);
2017 end Original_Entity
;
2019 function Others_Discrete_Choices
2020 (N
: Node_Id
) return List_Id
is
2022 pragma Assert
(False
2023 or else NT
(N
).Nkind
= N_Others_Choice
);
2025 end Others_Discrete_Choices
;
2027 function Out_Present
2028 (N
: Node_Id
) return Boolean is
2030 pragma Assert
(False
2031 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2032 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2036 function Parameter_Associations
2037 (N
: Node_Id
) return List_Id
is
2039 pragma Assert
(False
2040 or else NT
(N
).Nkind
= N_Entry_Call_Statement
2041 or else NT
(N
).Nkind
= N_Function_Call
2042 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2044 end Parameter_Associations
;
2046 function Parameter_List_Truncated
2047 (N
: Node_Id
) return Boolean is
2049 pragma Assert
(False
2050 or else NT
(N
).Nkind
= N_Function_Call
2051 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2053 end Parameter_List_Truncated
;
2055 function Parameter_Specifications
2056 (N
: Node_Id
) return List_Id
is
2058 pragma Assert
(False
2059 or else NT
(N
).Nkind
= N_Accept_Statement
2060 or else NT
(N
).Nkind
= N_Access_Function_Definition
2061 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2062 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
2063 or else NT
(N
).Nkind
= N_Entry_Declaration
2064 or else NT
(N
).Nkind
= N_Function_Specification
2065 or else NT
(N
).Nkind
= N_Procedure_Specification
);
2067 end Parameter_Specifications
;
2069 function Parameter_Type
2070 (N
: Node_Id
) return Node_Id
is
2072 pragma Assert
(False
2073 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2077 function Parent_Spec
2078 (N
: Node_Id
) return Node_Id
is
2080 pragma Assert
(False
2081 or else NT
(N
).Nkind
= N_Function_Instantiation
2082 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
2083 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2084 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
2085 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
2086 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2087 or else NT
(N
).Nkind
= N_Package_Declaration
2088 or else NT
(N
).Nkind
= N_Package_Instantiation
2089 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
2090 or else NT
(N
).Nkind
= N_Procedure_Instantiation
2091 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2092 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2097 (N
: Node_Id
) return Node_Id
is
2099 pragma Assert
(False
2100 or else NT
(N
).Nkind
= N_Component_Clause
);
2104 function Pragma_Argument_Associations
2105 (N
: Node_Id
) return List_Id
is
2107 pragma Assert
(False
2108 or else NT
(N
).Nkind
= N_Pragma
);
2110 end Pragma_Argument_Associations
;
2112 function Pragmas_After
2113 (N
: Node_Id
) return List_Id
is
2115 pragma Assert
(False
2116 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2117 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
2121 function Pragmas_Before
2122 (N
: Node_Id
) return List_Id
is
2124 pragma Assert
(False
2125 or else NT
(N
).Nkind
= N_Accept_Alternative
2126 or else NT
(N
).Nkind
= N_Delay_Alternative
2127 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2128 or else NT
(N
).Nkind
= N_Mod_Clause
2129 or else NT
(N
).Nkind
= N_Terminate_Alternative
2130 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2135 (N
: Node_Id
) return Node_Id
is
2137 pragma Assert
(False
2138 or else NT
(N
).Nkind
= N_Attribute_Reference
2139 or else NT
(N
).Nkind
= N_Expanded_Name
2140 or else NT
(N
).Nkind
= N_Explicit_Dereference
2141 or else NT
(N
).Nkind
= N_Indexed_Component
2142 or else NT
(N
).Nkind
= N_Reference
2143 or else NT
(N
).Nkind
= N_Selected_Component
2144 or else NT
(N
).Nkind
= N_Slice
);
2148 function Present_Expr
2149 (N
: Node_Id
) return Uint
is
2151 pragma Assert
(False
2152 or else NT
(N
).Nkind
= N_Variant
);
2157 (N
: Node_Id
) return Boolean is
2159 pragma Assert
(False
2160 or else NT
(N
).Nkind
= N_Component_Declaration
2161 or else NT
(N
).Nkind
= N_Discriminant_Specification
2162 or else NT
(N
).Nkind
= N_Exception_Declaration
2163 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2164 or else NT
(N
).Nkind
= N_Number_Declaration
2165 or else NT
(N
).Nkind
= N_Object_Declaration
2166 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2170 function Print_In_Hex
2171 (N
: Node_Id
) return Boolean is
2173 pragma Assert
(False
2174 or else NT
(N
).Nkind
= N_Integer_Literal
);
2178 function Private_Declarations
2179 (N
: Node_Id
) return List_Id
is
2181 pragma Assert
(False
2182 or else NT
(N
).Nkind
= N_Package_Specification
2183 or else NT
(N
).Nkind
= N_Protected_Definition
2184 or else NT
(N
).Nkind
= N_Task_Definition
);
2186 end Private_Declarations
;
2188 function Private_Present
2189 (N
: Node_Id
) return Boolean is
2191 pragma Assert
(False
2192 or else NT
(N
).Nkind
= N_Compilation_Unit
2193 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2194 or else NT
(N
).Nkind
= N_With_Clause
);
2196 end Private_Present
;
2198 function Procedure_To_Call
2199 (N
: Node_Id
) return Node_Id
is
2201 pragma Assert
(False
2202 or else NT
(N
).Nkind
= N_Allocator
2203 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2204 or else NT
(N
).Nkind
= N_Free_Statement
2205 or else NT
(N
).Nkind
= N_Return_Statement
);
2207 end Procedure_To_Call
;
2209 function Proper_Body
2210 (N
: Node_Id
) return Node_Id
is
2212 pragma Assert
(False
2213 or else NT
(N
).Nkind
= N_Subunit
);
2217 function Protected_Definition
2218 (N
: Node_Id
) return Node_Id
is
2220 pragma Assert
(False
2221 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
2222 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
2224 end Protected_Definition
;
2226 function Protected_Present
2227 (N
: Node_Id
) return Boolean is
2229 pragma Assert
(False
2230 or else NT
(N
).Nkind
= N_Access_Function_Definition
2231 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2232 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2233 or else NT
(N
).Nkind
= N_Record_Definition
);
2235 end Protected_Present
;
2237 function Raises_Constraint_Error
2238 (N
: Node_Id
) return Boolean is
2240 pragma Assert
(False
2241 or else NT
(N
).Nkind
in N_Subexpr
);
2243 end Raises_Constraint_Error
;
2245 function Range_Constraint
2246 (N
: Node_Id
) return Node_Id
is
2248 pragma Assert
(False
2249 or else NT
(N
).Nkind
= N_Delta_Constraint
2250 or else NT
(N
).Nkind
= N_Digits_Constraint
);
2252 end Range_Constraint
;
2254 function Range_Expression
2255 (N
: Node_Id
) return Node_Id
is
2257 pragma Assert
(False
2258 or else NT
(N
).Nkind
= N_Range_Constraint
);
2260 end Range_Expression
;
2262 function Real_Range_Specification
2263 (N
: Node_Id
) return Node_Id
is
2265 pragma Assert
(False
2266 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
2267 or else NT
(N
).Nkind
= N_Floating_Point_Definition
2268 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
2270 end Real_Range_Specification
;
2273 (N
: Node_Id
) return Ureal
is
2275 pragma Assert
(False
2276 or else NT
(N
).Nkind
= N_Real_Literal
);
2281 (N
: Node_Id
) return Uint
is
2283 pragma Assert
(False
2284 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2285 or else NT
(N
).Nkind
= N_Raise_Program_Error
2286 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
2290 function Record_Extension_Part
2291 (N
: Node_Id
) return Node_Id
is
2293 pragma Assert
(False
2294 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
2296 end Record_Extension_Part
;
2298 function Redundant_Use
2299 (N
: Node_Id
) return Boolean is
2301 pragma Assert
(False
2302 or else NT
(N
).Nkind
= N_Attribute_Reference
2303 or else NT
(N
).Nkind
= N_Expanded_Name
2304 or else NT
(N
).Nkind
= N_Identifier
);
2308 function Result_Definition
2309 (N
: Node_Id
) return Node_Id
is
2311 pragma Assert
(False
2312 or else NT
(N
).Nkind
= N_Access_Function_Definition
2313 or else NT
(N
).Nkind
= N_Function_Specification
);
2315 end Result_Definition
;
2317 function Return_Object_Declarations
2318 (N
: Node_Id
) return List_Id
is
2320 pragma Assert
(False
2321 or else NT
(N
).Nkind
= N_Extended_Return_Statement
);
2323 end Return_Object_Declarations
;
2325 function Return_Statement_Entity
2326 (N
: Node_Id
) return Node_Id
is
2328 pragma Assert
(False
2329 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2330 or else NT
(N
).Nkind
= N_Return_Statement
);
2332 end Return_Statement_Entity
;
2334 function Reverse_Present
2335 (N
: Node_Id
) return Boolean is
2337 pragma Assert
(False
2338 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
2340 end Reverse_Present
;
2343 (N
: Node_Id
) return Node_Id
is
2345 pragma Assert
(False
2346 or else NT
(N
).Nkind
in N_Op
2347 or else NT
(N
).Nkind
= N_And_Then
2348 or else NT
(N
).Nkind
= N_In
2349 or else NT
(N
).Nkind
= N_Not_In
2350 or else NT
(N
).Nkind
= N_Or_Else
);
2354 function Rounded_Result
2355 (N
: Node_Id
) return Boolean is
2357 pragma Assert
(False
2358 or else NT
(N
).Nkind
= N_Op_Divide
2359 or else NT
(N
).Nkind
= N_Op_Multiply
2360 or else NT
(N
).Nkind
= N_Type_Conversion
);
2365 (N
: Node_Id
) return Node_Id
is
2367 pragma Assert
(False
2368 or else NT
(N
).Nkind
= N_Defining_Character_Literal
2369 or else NT
(N
).Nkind
= N_Defining_Identifier
2370 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
2374 function Select_Alternatives
2375 (N
: Node_Id
) return List_Id
is
2377 pragma Assert
(False
2378 or else NT
(N
).Nkind
= N_Selective_Accept
);
2380 end Select_Alternatives
;
2382 function Selector_Name
2383 (N
: Node_Id
) return Node_Id
is
2385 pragma Assert
(False
2386 or else NT
(N
).Nkind
= N_Expanded_Name
2387 or else NT
(N
).Nkind
= N_Generic_Association
2388 or else NT
(N
).Nkind
= N_Parameter_Association
2389 or else NT
(N
).Nkind
= N_Selected_Component
);
2393 function Selector_Names
2394 (N
: Node_Id
) return List_Id
is
2396 pragma Assert
(False
2397 or else NT
(N
).Nkind
= N_Discriminant_Association
);
2401 function Shift_Count_OK
2402 (N
: Node_Id
) return Boolean is
2404 pragma Assert
(False
2405 or else NT
(N
).Nkind
= N_Op_Rotate_Left
2406 or else NT
(N
).Nkind
= N_Op_Rotate_Right
2407 or else NT
(N
).Nkind
= N_Op_Shift_Left
2408 or else NT
(N
).Nkind
= N_Op_Shift_Right
2409 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
2413 function Source_Type
2414 (N
: Node_Id
) return Entity_Id
is
2416 pragma Assert
(False
2417 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2421 function Specification
2422 (N
: Node_Id
) return Node_Id
is
2424 pragma Assert
(False
2425 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
2426 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
2427 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
2428 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2429 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2430 or else NT
(N
).Nkind
= N_Package_Declaration
2431 or else NT
(N
).Nkind
= N_Subprogram_Body
2432 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
2433 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2434 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2439 (N
: Node_Id
) return List_Id
is
2441 pragma Assert
(False
2442 or else NT
(N
).Nkind
= N_Abortable_Part
2443 or else NT
(N
).Nkind
= N_Accept_Alternative
2444 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
2445 or else NT
(N
).Nkind
= N_Delay_Alternative
2446 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2447 or else NT
(N
).Nkind
= N_Exception_Handler
2448 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
2449 or else NT
(N
).Nkind
= N_Loop_Statement
2450 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2454 function Static_Processing_OK
2455 (N
: Node_Id
) return Boolean is
2457 pragma Assert
(False
2458 or else NT
(N
).Nkind
= N_Aggregate
);
2460 end Static_Processing_OK
;
2462 function Storage_Pool
2463 (N
: Node_Id
) return Node_Id
is
2465 pragma Assert
(False
2466 or else NT
(N
).Nkind
= N_Allocator
2467 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2468 or else NT
(N
).Nkind
= N_Free_Statement
2469 or else NT
(N
).Nkind
= N_Return_Statement
);
2474 (N
: Node_Id
) return String_Id
is
2476 pragma Assert
(False
2477 or else NT
(N
).Nkind
= N_Operator_Symbol
2478 or else NT
(N
).Nkind
= N_String_Literal
);
2482 function Subtype_Indication
2483 (N
: Node_Id
) return Node_Id
is
2485 pragma Assert
(False
2486 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2487 or else NT
(N
).Nkind
= N_Component_Definition
2488 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2489 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2490 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
2492 end Subtype_Indication
;
2494 function Subtype_Mark
2495 (N
: Node_Id
) return Node_Id
is
2497 pragma Assert
(False
2498 or else NT
(N
).Nkind
= N_Access_Definition
2499 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2500 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2501 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2502 or else NT
(N
).Nkind
= N_Qualified_Expression
2503 or else NT
(N
).Nkind
= N_Subtype_Indication
2504 or else NT
(N
).Nkind
= N_Type_Conversion
2505 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2509 function Subtype_Marks
2510 (N
: Node_Id
) return List_Id
is
2512 pragma Assert
(False
2513 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
2514 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2518 function Synchronized_Present
2519 (N
: Node_Id
) return Boolean is
2521 pragma Assert
(False
2522 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2523 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2524 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2525 or else NT
(N
).Nkind
= N_Record_Definition
);
2527 end Synchronized_Present
;
2529 function Tagged_Present
2530 (N
: Node_Id
) return Boolean is
2532 pragma Assert
(False
2533 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2534 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2535 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2536 or else NT
(N
).Nkind
= N_Record_Definition
2537 or else NT
(N
).Nkind
= N_With_Type_Clause
);
2541 function Target_Type
2542 (N
: Node_Id
) return Entity_Id
is
2544 pragma Assert
(False
2545 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2549 function Task_Definition
2550 (N
: Node_Id
) return Node_Id
is
2552 pragma Assert
(False
2553 or else NT
(N
).Nkind
= N_Single_Task_Declaration
2554 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2556 end Task_Definition
;
2558 function Task_Present
2559 (N
: Node_Id
) return Boolean is
2561 pragma Assert
(False
2562 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2563 or else NT
(N
).Nkind
= N_Record_Definition
);
2567 function Then_Actions
2568 (N
: Node_Id
) return List_Id
is
2570 pragma Assert
(False
2571 or else NT
(N
).Nkind
= N_Conditional_Expression
);
2575 function Then_Statements
2576 (N
: Node_Id
) return List_Id
is
2578 pragma Assert
(False
2579 or else NT
(N
).Nkind
= N_Elsif_Part
2580 or else NT
(N
).Nkind
= N_If_Statement
);
2582 end Then_Statements
;
2584 function Treat_Fixed_As_Integer
2585 (N
: Node_Id
) return Boolean is
2587 pragma Assert
(False
2588 or else NT
(N
).Nkind
= N_Op_Divide
2589 or else NT
(N
).Nkind
= N_Op_Mod
2590 or else NT
(N
).Nkind
= N_Op_Multiply
2591 or else NT
(N
).Nkind
= N_Op_Rem
);
2593 end Treat_Fixed_As_Integer
;
2595 function Triggering_Alternative
2596 (N
: Node_Id
) return Node_Id
is
2598 pragma Assert
(False
2599 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2601 end Triggering_Alternative
;
2603 function Triggering_Statement
2604 (N
: Node_Id
) return Node_Id
is
2606 pragma Assert
(False
2607 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2609 end Triggering_Statement
;
2612 (N
: Node_Id
) return Elist_Id
is
2614 pragma Assert
(False
2615 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2619 function Type_Definition
2620 (N
: Node_Id
) return Node_Id
is
2622 pragma Assert
(False
2623 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
2625 end Type_Definition
;
2628 (N
: Node_Id
) return Node_Id
is
2630 pragma Assert
(False
2631 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2635 function Unknown_Discriminants_Present
2636 (N
: Node_Id
) return Boolean is
2638 pragma Assert
(False
2639 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
2640 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2641 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2642 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
2644 end Unknown_Discriminants_Present
;
2646 function Unreferenced_In_Spec
2647 (N
: Node_Id
) return Boolean is
2649 pragma Assert
(False
2650 or else NT
(N
).Nkind
= N_With_Clause
);
2652 end Unreferenced_In_Spec
;
2654 function Variant_Part
2655 (N
: Node_Id
) return Node_Id
is
2657 pragma Assert
(False
2658 or else NT
(N
).Nkind
= N_Component_List
);
2663 (N
: Node_Id
) return List_Id
is
2665 pragma Assert
(False
2666 or else NT
(N
).Nkind
= N_Variant_Part
);
2670 function Visible_Declarations
2671 (N
: Node_Id
) return List_Id
is
2673 pragma Assert
(False
2674 or else NT
(N
).Nkind
= N_Package_Specification
2675 or else NT
(N
).Nkind
= N_Protected_Definition
2676 or else NT
(N
).Nkind
= N_Task_Definition
);
2678 end Visible_Declarations
;
2680 function Was_Originally_Stub
2681 (N
: Node_Id
) return Boolean is
2683 pragma Assert
(False
2684 or else NT
(N
).Nkind
= N_Package_Body
2685 or else NT
(N
).Nkind
= N_Protected_Body
2686 or else NT
(N
).Nkind
= N_Subprogram_Body
2687 or else NT
(N
).Nkind
= N_Task_Body
);
2689 end Was_Originally_Stub
;
2691 function Zero_Cost_Handling
2692 (N
: Node_Id
) return Boolean is
2694 pragma Assert
(False
2695 or else NT
(N
).Nkind
= N_Exception_Handler
2696 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2698 end Zero_Cost_Handling
;
2700 --------------------------
2701 -- Field Set Procedures --
2702 --------------------------
2704 procedure Set_ABE_Is_Certain
2705 (N
: Node_Id
; Val
: Boolean := True) is
2707 pragma Assert
(False
2708 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2709 or else NT
(N
).Nkind
= N_Function_Call
2710 or else NT
(N
).Nkind
= N_Function_Instantiation
2711 or else NT
(N
).Nkind
= N_Package_Instantiation
2712 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
2713 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
2714 Set_Flag18
(N
, Val
);
2715 end Set_ABE_Is_Certain
;
2717 procedure Set_Abort_Present
2718 (N
: Node_Id
; Val
: Boolean := True) is
2720 pragma Assert
(False
2721 or else NT
(N
).Nkind
= N_Requeue_Statement
);
2722 Set_Flag15
(N
, Val
);
2723 end Set_Abort_Present
;
2725 procedure Set_Abortable_Part
2726 (N
: Node_Id
; Val
: Node_Id
) is
2728 pragma Assert
(False
2729 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2730 Set_Node2_With_Parent
(N
, Val
);
2731 end Set_Abortable_Part
;
2733 procedure Set_Abstract_Present
2734 (N
: Node_Id
; Val
: Boolean := True) is
2736 pragma Assert
(False
2737 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2738 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2739 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2740 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2741 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2742 or else NT
(N
).Nkind
= N_Record_Definition
);
2744 end Set_Abstract_Present
;
2746 procedure Set_Accept_Handler_Records
2747 (N
: Node_Id
; Val
: List_Id
) is
2749 pragma Assert
(False
2750 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2751 Set_List5
(N
, Val
); -- semantic field, no parent set
2752 end Set_Accept_Handler_Records
;
2754 procedure Set_Accept_Statement
2755 (N
: Node_Id
; Val
: Node_Id
) is
2757 pragma Assert
(False
2758 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2759 Set_Node2_With_Parent
(N
, Val
);
2760 end Set_Accept_Statement
;
2762 procedure Set_Access_Definition
2763 (N
: Node_Id
; Val
: Node_Id
) is
2765 pragma Assert
(False
2766 or else NT
(N
).Nkind
= N_Component_Definition
2767 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2768 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
2769 Set_Node3_With_Parent
(N
, Val
);
2770 end Set_Access_Definition
;
2772 procedure Set_Access_To_Subprogram_Definition
2773 (N
: Node_Id
; Val
: Node_Id
) is
2775 pragma Assert
(False
2776 or else NT
(N
).Nkind
= N_Access_Definition
);
2777 Set_Node3_With_Parent
(N
, Val
);
2778 end Set_Access_To_Subprogram_Definition
;
2780 procedure Set_Access_Types_To_Process
2781 (N
: Node_Id
; Val
: Elist_Id
) is
2783 pragma Assert
(False
2784 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2785 Set_Elist2
(N
, Val
); -- semantic field, no parent set
2786 end Set_Access_Types_To_Process
;
2788 procedure Set_Actions
2789 (N
: Node_Id
; Val
: List_Id
) is
2791 pragma Assert
(False
2792 or else NT
(N
).Nkind
= N_And_Then
2793 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2794 or else NT
(N
).Nkind
= N_Freeze_Entity
2795 or else NT
(N
).Nkind
= N_Or_Else
);
2796 Set_List1_With_Parent
(N
, Val
);
2799 procedure Set_Activation_Chain_Entity
2800 (N
: Node_Id
; Val
: Node_Id
) is
2802 pragma Assert
(False
2803 or else NT
(N
).Nkind
= N_Block_Statement
2804 or else NT
(N
).Nkind
= N_Entry_Body
2805 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2806 or else NT
(N
).Nkind
= N_Package_Declaration
2807 or else NT
(N
).Nkind
= N_Subprogram_Body
2808 or else NT
(N
).Nkind
= N_Task_Body
);
2809 Set_Node3
(N
, Val
); -- semantic field, no parent set
2810 end Set_Activation_Chain_Entity
;
2812 procedure Set_Acts_As_Spec
2813 (N
: Node_Id
; Val
: Boolean := True) is
2815 pragma Assert
(False
2816 or else NT
(N
).Nkind
= N_Compilation_Unit
2817 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2819 end Set_Acts_As_Spec
;
2821 procedure Set_Actual_Designated_Subtype
2822 (N
: Node_Id
; Val
: Node_Id
) is
2824 pragma Assert
(False
2825 or else NT
(N
).Nkind
= N_Explicit_Dereference
2826 or else NT
(N
).Nkind
= N_Free_Statement
);
2828 end Set_Actual_Designated_Subtype
;
2830 procedure Set_Aggregate_Bounds
2831 (N
: Node_Id
; Val
: Node_Id
) is
2833 pragma Assert
(False
2834 or else NT
(N
).Nkind
= N_Aggregate
);
2835 Set_Node3
(N
, Val
); -- semantic field, no parent set
2836 end Set_Aggregate_Bounds
;
2838 procedure Set_Aliased_Present
2839 (N
: Node_Id
; Val
: Boolean := True) is
2841 pragma Assert
(False
2842 or else NT
(N
).Nkind
= N_Component_Definition
2843 or else NT
(N
).Nkind
= N_Object_Declaration
);
2845 end Set_Aliased_Present
;
2847 procedure Set_All_Others
2848 (N
: Node_Id
; Val
: Boolean := True) is
2850 pragma Assert
(False
2851 or else NT
(N
).Nkind
= N_Others_Choice
);
2852 Set_Flag11
(N
, Val
);
2855 procedure Set_All_Present
2856 (N
: Node_Id
; Val
: Boolean := True) is
2858 pragma Assert
(False
2859 or else NT
(N
).Nkind
= N_Access_Definition
2860 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
2861 Set_Flag15
(N
, Val
);
2862 end Set_All_Present
;
2864 procedure Set_Alternatives
2865 (N
: Node_Id
; Val
: List_Id
) is
2867 pragma Assert
(False
2868 or else NT
(N
).Nkind
= N_Case_Statement
);
2869 Set_List4_With_Parent
(N
, Val
);
2870 end Set_Alternatives
;
2872 procedure Set_Ancestor_Part
2873 (N
: Node_Id
; Val
: Node_Id
) is
2875 pragma Assert
(False
2876 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2877 Set_Node3_With_Parent
(N
, Val
);
2878 end Set_Ancestor_Part
;
2880 procedure Set_Array_Aggregate
2881 (N
: Node_Id
; Val
: Node_Id
) is
2883 pragma Assert
(False
2884 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
2885 Set_Node3_With_Parent
(N
, Val
);
2886 end Set_Array_Aggregate
;
2888 procedure Set_Assignment_OK
2889 (N
: Node_Id
; Val
: Boolean := True) is
2891 pragma Assert
(False
2892 or else NT
(N
).Nkind
= N_Object_Declaration
2893 or else NT
(N
).Nkind
in N_Subexpr
);
2894 Set_Flag15
(N
, Val
);
2895 end Set_Assignment_OK
;
2897 procedure Set_Associated_Node
2898 (N
: Node_Id
; Val
: Node_Id
) is
2900 pragma Assert
(False
2901 or else NT
(N
).Nkind
in N_Has_Entity
2902 or else NT
(N
).Nkind
= N_Aggregate
2903 or else NT
(N
).Nkind
= N_Extension_Aggregate
2904 or else NT
(N
).Nkind
= N_Selected_Component
);
2905 Set_Node4
(N
, Val
); -- semantic field, no parent set
2906 end Set_Associated_Node
;
2908 procedure Set_At_End_Proc
2909 (N
: Node_Id
; Val
: Node_Id
) is
2911 pragma Assert
(False
2912 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2914 end Set_At_End_Proc
;
2916 procedure Set_Attribute_Name
2917 (N
: Node_Id
; Val
: Name_Id
) is
2919 pragma Assert
(False
2920 or else NT
(N
).Nkind
= N_Attribute_Reference
);
2922 end Set_Attribute_Name
;
2924 procedure Set_Aux_Decls_Node
2925 (N
: Node_Id
; Val
: Node_Id
) is
2927 pragma Assert
(False
2928 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2929 Set_Node5_With_Parent
(N
, Val
);
2930 end Set_Aux_Decls_Node
;
2932 procedure Set_Backwards_OK
2933 (N
: Node_Id
; Val
: Boolean := True) is
2935 pragma Assert
(False
2936 or else NT
(N
).Nkind
= N_Assignment_Statement
);
2938 end Set_Backwards_OK
;
2940 procedure Set_Bad_Is_Detected
2941 (N
: Node_Id
; Val
: Boolean := True) is
2943 pragma Assert
(False
2944 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2945 Set_Flag15
(N
, Val
);
2946 end Set_Bad_Is_Detected
;
2948 procedure Set_Body_Required
2949 (N
: Node_Id
; Val
: Boolean := True) is
2951 pragma Assert
(False
2952 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2953 Set_Flag13
(N
, Val
);
2954 end Set_Body_Required
;
2956 procedure Set_Body_To_Inline
2957 (N
: Node_Id
; Val
: Node_Id
) is
2959 pragma Assert
(False
2960 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
2962 end Set_Body_To_Inline
;
2964 procedure Set_Box_Present
2965 (N
: Node_Id
; Val
: Boolean := True) is
2967 pragma Assert
(False
2968 or else NT
(N
).Nkind
= N_Component_Association
2969 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
2970 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
2971 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2972 or else NT
(N
).Nkind
= N_Generic_Association
);
2973 Set_Flag15
(N
, Val
);
2974 end Set_Box_Present
;
2976 procedure Set_By_Ref
2977 (N
: Node_Id
; Val
: Boolean := True) is
2979 pragma Assert
(False
2980 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2981 or else NT
(N
).Nkind
= N_Return_Statement
);
2985 procedure Set_Char_Literal_Value
2986 (N
: Node_Id
; Val
: Uint
) is
2988 pragma Assert
(False
2989 or else NT
(N
).Nkind
= N_Character_Literal
);
2991 end Set_Char_Literal_Value
;
2994 (N
: Node_Id
; Val
: Name_Id
) is
2996 pragma Assert
(False
2997 or else NT
(N
).Nkind
in N_Has_Chars
);
3001 procedure Set_Check_Address_Alignment
3002 (N
: Node_Id
; Val
: Boolean := True) is
3004 pragma Assert
(False
3005 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3006 Set_Flag11
(N
, Val
);
3007 end Set_Check_Address_Alignment
;
3009 procedure Set_Choice_Parameter
3010 (N
: Node_Id
; Val
: Node_Id
) is
3012 pragma Assert
(False
3013 or else NT
(N
).Nkind
= N_Exception_Handler
);
3014 Set_Node2_With_Parent
(N
, Val
);
3015 end Set_Choice_Parameter
;
3017 procedure Set_Choices
3018 (N
: Node_Id
; Val
: List_Id
) is
3020 pragma Assert
(False
3021 or else NT
(N
).Nkind
= N_Component_Association
);
3022 Set_List1_With_Parent
(N
, Val
);
3025 procedure Set_Comes_From_Extended_Return_Statement
3026 (N
: Node_Id
; Val
: Boolean := True) is
3028 pragma Assert
(False
3029 or else NT
(N
).Nkind
= N_Return_Statement
);
3030 Set_Flag18
(N
, Val
);
3031 end Set_Comes_From_Extended_Return_Statement
;
3033 procedure Set_Compile_Time_Known_Aggregate
3034 (N
: Node_Id
; Val
: Boolean := True) is
3036 pragma Assert
(False
3037 or else NT
(N
).Nkind
= N_Aggregate
);
3038 Set_Flag18
(N
, Val
);
3039 end Set_Compile_Time_Known_Aggregate
;
3041 procedure Set_Component_Associations
3042 (N
: Node_Id
; Val
: List_Id
) is
3044 pragma Assert
(False
3045 or else NT
(N
).Nkind
= N_Aggregate
3046 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3047 Set_List2_With_Parent
(N
, Val
);
3048 end Set_Component_Associations
;
3050 procedure Set_Component_Clauses
3051 (N
: Node_Id
; Val
: List_Id
) is
3053 pragma Assert
(False
3054 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
3055 Set_List3_With_Parent
(N
, Val
);
3056 end Set_Component_Clauses
;
3058 procedure Set_Component_Definition
3059 (N
: Node_Id
; Val
: Node_Id
) is
3061 pragma Assert
(False
3062 or else NT
(N
).Nkind
= N_Component_Declaration
3063 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
3064 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
3065 Set_Node4_With_Parent
(N
, Val
);
3066 end Set_Component_Definition
;
3068 procedure Set_Component_Items
3069 (N
: Node_Id
; Val
: List_Id
) is
3071 pragma Assert
(False
3072 or else NT
(N
).Nkind
= N_Component_List
);
3073 Set_List3_With_Parent
(N
, Val
);
3074 end Set_Component_Items
;
3076 procedure Set_Component_List
3077 (N
: Node_Id
; Val
: Node_Id
) is
3079 pragma Assert
(False
3080 or else NT
(N
).Nkind
= N_Record_Definition
3081 or else NT
(N
).Nkind
= N_Variant
);
3082 Set_Node1_With_Parent
(N
, Val
);
3083 end Set_Component_List
;
3085 procedure Set_Component_Name
3086 (N
: Node_Id
; Val
: Node_Id
) is
3088 pragma Assert
(False
3089 or else NT
(N
).Nkind
= N_Component_Clause
);
3090 Set_Node1_With_Parent
(N
, Val
);
3091 end Set_Component_Name
;
3093 procedure Set_Condition
3094 (N
: Node_Id
; Val
: Node_Id
) is
3096 pragma Assert
(False
3097 or else NT
(N
).Nkind
= N_Accept_Alternative
3098 or else NT
(N
).Nkind
= N_Delay_Alternative
3099 or else NT
(N
).Nkind
= N_Elsif_Part
3100 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
3101 or else NT
(N
).Nkind
= N_Exit_Statement
3102 or else NT
(N
).Nkind
= N_If_Statement
3103 or else NT
(N
).Nkind
= N_Iteration_Scheme
3104 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
3105 or else NT
(N
).Nkind
= N_Raise_Program_Error
3106 or else NT
(N
).Nkind
= N_Raise_Storage_Error
3107 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
3108 Set_Node1_With_Parent
(N
, Val
);
3111 procedure Set_Condition_Actions
3112 (N
: Node_Id
; Val
: List_Id
) is
3114 pragma Assert
(False
3115 or else NT
(N
).Nkind
= N_Elsif_Part
3116 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
3117 Set_List3
(N
, Val
); -- semantic field, no parent set
3118 end Set_Condition_Actions
;
3120 procedure Set_Config_Pragmas
3121 (N
: Node_Id
; Val
: List_Id
) is
3123 pragma Assert
(False
3124 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
3125 Set_List4_With_Parent
(N
, Val
);
3126 end Set_Config_Pragmas
;
3128 procedure Set_Constant_Present
3129 (N
: Node_Id
; Val
: Boolean := True) is
3131 pragma Assert
(False
3132 or else NT
(N
).Nkind
= N_Access_Definition
3133 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
3134 or else NT
(N
).Nkind
= N_Object_Declaration
);
3135 Set_Flag17
(N
, Val
);
3136 end Set_Constant_Present
;
3138 procedure Set_Constraint
3139 (N
: Node_Id
; Val
: Node_Id
) is
3141 pragma Assert
(False
3142 or else NT
(N
).Nkind
= N_Subtype_Indication
);
3143 Set_Node3_With_Parent
(N
, Val
);
3146 procedure Set_Constraints
3147 (N
: Node_Id
; Val
: List_Id
) is
3149 pragma Assert
(False
3150 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
3151 Set_List1_With_Parent
(N
, Val
);
3152 end Set_Constraints
;
3154 procedure Set_Context_Installed
3155 (N
: Node_Id
; Val
: Boolean := True) is
3157 pragma Assert
(False
3158 or else NT
(N
).Nkind
= N_With_Clause
);
3159 Set_Flag13
(N
, Val
);
3160 end Set_Context_Installed
;
3162 procedure Set_Context_Items
3163 (N
: Node_Id
; Val
: List_Id
) is
3165 pragma Assert
(False
3166 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3167 Set_List1_With_Parent
(N
, Val
);
3168 end Set_Context_Items
;
3170 procedure Set_Controlling_Argument
3171 (N
: Node_Id
; Val
: Node_Id
) is
3173 pragma Assert
(False
3174 or else NT
(N
).Nkind
= N_Function_Call
3175 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3176 Set_Node1
(N
, Val
); -- semantic field, no parent set
3177 end Set_Controlling_Argument
;
3179 procedure Set_Conversion_OK
3180 (N
: Node_Id
; Val
: Boolean := True) is
3182 pragma Assert
(False
3183 or else NT
(N
).Nkind
= N_Type_Conversion
);
3184 Set_Flag14
(N
, Val
);
3185 end Set_Conversion_OK
;
3187 procedure Set_Corresponding_Body
3188 (N
: Node_Id
; Val
: Node_Id
) is
3190 pragma Assert
(False
3191 or else NT
(N
).Nkind
= N_Entry_Declaration
3192 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3193 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
3194 or else NT
(N
).Nkind
= N_Package_Body_Stub
3195 or else NT
(N
).Nkind
= N_Package_Declaration
3196 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3197 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3198 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
3199 or else NT
(N
).Nkind
= N_Subprogram_Declaration
3200 or else NT
(N
).Nkind
= N_Task_Body_Stub
3201 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3202 Set_Node5
(N
, Val
); -- semantic field, no parent set
3203 end Set_Corresponding_Body
;
3205 procedure Set_Corresponding_Formal_Spec
3206 (N
: Node_Id
; Val
: Node_Id
) is
3208 pragma Assert
(False
3209 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
3210 Set_Node3
(N
, Val
); -- semantic field, no parent set
3211 end Set_Corresponding_Formal_Spec
;
3213 procedure Set_Corresponding_Generic_Association
3214 (N
: Node_Id
; Val
: Node_Id
) is
3216 pragma Assert
(False
3217 or else NT
(N
).Nkind
= N_Object_Declaration
3218 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
3219 Set_Node5
(N
, Val
); -- semantic field, no parent set
3220 end Set_Corresponding_Generic_Association
;
3222 procedure Set_Corresponding_Integer_Value
3223 (N
: Node_Id
; Val
: Uint
) is
3225 pragma Assert
(False
3226 or else NT
(N
).Nkind
= N_Real_Literal
);
3227 Set_Uint4
(N
, Val
); -- semantic field, no parent set
3228 end Set_Corresponding_Integer_Value
;
3230 procedure Set_Corresponding_Spec
3231 (N
: Node_Id
; Val
: Node_Id
) is
3233 pragma Assert
(False
3234 or else NT
(N
).Nkind
= N_Package_Body
3235 or else NT
(N
).Nkind
= N_Protected_Body
3236 or else NT
(N
).Nkind
= N_Subprogram_Body
3237 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
3238 or else NT
(N
).Nkind
= N_Task_Body
3239 or else NT
(N
).Nkind
= N_With_Clause
);
3240 Set_Node5
(N
, Val
); -- semantic field, no parent set
3241 end Set_Corresponding_Spec
;
3243 procedure Set_Corresponding_Stub
3244 (N
: Node_Id
; Val
: Node_Id
) is
3246 pragma Assert
(False
3247 or else NT
(N
).Nkind
= N_Subunit
);
3249 end Set_Corresponding_Stub
;
3251 procedure Set_Dcheck_Function
3252 (N
: Node_Id
; Val
: Entity_Id
) is
3254 pragma Assert
(False
3255 or else NT
(N
).Nkind
= N_Variant
);
3256 Set_Node5
(N
, Val
); -- semantic field, no parent set
3257 end Set_Dcheck_Function
;
3259 procedure Set_Debug_Statement
3260 (N
: Node_Id
; Val
: Node_Id
) is
3262 pragma Assert
(False
3263 or else NT
(N
).Nkind
= N_Pragma
);
3264 Set_Node3_With_Parent
(N
, Val
);
3265 end Set_Debug_Statement
;
3267 procedure Set_Declarations
3268 (N
: Node_Id
; Val
: List_Id
) is
3270 pragma Assert
(False
3271 or else NT
(N
).Nkind
= N_Accept_Statement
3272 or else NT
(N
).Nkind
= N_Block_Statement
3273 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
3274 or else NT
(N
).Nkind
= N_Entry_Body
3275 or else NT
(N
).Nkind
= N_Package_Body
3276 or else NT
(N
).Nkind
= N_Protected_Body
3277 or else NT
(N
).Nkind
= N_Subprogram_Body
3278 or else NT
(N
).Nkind
= N_Task_Body
);
3279 Set_List2_With_Parent
(N
, Val
);
3280 end Set_Declarations
;
3282 procedure Set_Default_Expression
3283 (N
: Node_Id
; Val
: Node_Id
) is
3285 pragma Assert
(False
3286 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3287 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3288 Set_Node5
(N
, Val
); -- semantic field, no parent set
3289 end Set_Default_Expression
;
3291 procedure Set_Default_Name
3292 (N
: Node_Id
; Val
: Node_Id
) is
3294 pragma Assert
(False
3295 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
3296 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
);
3297 Set_Node2_With_Parent
(N
, Val
);
3298 end Set_Default_Name
;
3300 procedure Set_Defining_Identifier
3301 (N
: Node_Id
; Val
: Entity_Id
) is
3303 pragma Assert
(False
3304 or else NT
(N
).Nkind
= N_Component_Declaration
3305 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
3306 or else NT
(N
).Nkind
= N_Discriminant_Specification
3307 or else NT
(N
).Nkind
= N_Entry_Body
3308 or else NT
(N
).Nkind
= N_Entry_Declaration
3309 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3310 or else NT
(N
).Nkind
= N_Exception_Declaration
3311 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
3312 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3313 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3314 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3315 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3316 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
3317 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3318 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
3319 or else NT
(N
).Nkind
= N_Number_Declaration
3320 or else NT
(N
).Nkind
= N_Object_Declaration
3321 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
3322 or else NT
(N
).Nkind
= N_Package_Body_Stub
3323 or else NT
(N
).Nkind
= N_Parameter_Specification
3324 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3325 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3326 or else NT
(N
).Nkind
= N_Protected_Body
3327 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3328 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3329 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
3330 or else NT
(N
).Nkind
= N_Single_Task_Declaration
3331 or else NT
(N
).Nkind
= N_Subtype_Declaration
3332 or else NT
(N
).Nkind
= N_Task_Body
3333 or else NT
(N
).Nkind
= N_Task_Body_Stub
3334 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3335 Set_Node1_With_Parent
(N
, Val
);
3336 end Set_Defining_Identifier
;
3338 procedure Set_Defining_Unit_Name
3339 (N
: Node_Id
; Val
: Node_Id
) is
3341 pragma Assert
(False
3342 or else NT
(N
).Nkind
= N_Function_Instantiation
3343 or else NT
(N
).Nkind
= N_Function_Specification
3344 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
3345 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
3346 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
3347 or else NT
(N
).Nkind
= N_Package_Body
3348 or else NT
(N
).Nkind
= N_Package_Instantiation
3349 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
3350 or else NT
(N
).Nkind
= N_Package_Specification
3351 or else NT
(N
).Nkind
= N_Procedure_Instantiation
3352 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3353 Set_Node1_With_Parent
(N
, Val
);
3354 end Set_Defining_Unit_Name
;
3356 procedure Set_Delay_Alternative
3357 (N
: Node_Id
; Val
: Node_Id
) is
3359 pragma Assert
(False
3360 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3361 Set_Node4_With_Parent
(N
, Val
);
3362 end Set_Delay_Alternative
;
3364 procedure Set_Delay_Finalize_Attach
3365 (N
: Node_Id
; Val
: Boolean := True) is
3367 pragma Assert
(False
3368 or else NT
(N
).Nkind
= N_Object_Declaration
);
3369 Set_Flag14
(N
, Val
);
3370 end Set_Delay_Finalize_Attach
;
3372 procedure Set_Delay_Statement
3373 (N
: Node_Id
; Val
: Node_Id
) is
3375 pragma Assert
(False
3376 or else NT
(N
).Nkind
= N_Delay_Alternative
);
3377 Set_Node2_With_Parent
(N
, Val
);
3378 end Set_Delay_Statement
;
3380 procedure Set_Delta_Expression
3381 (N
: Node_Id
; Val
: Node_Id
) is
3383 pragma Assert
(False
3384 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3385 or else NT
(N
).Nkind
= N_Delta_Constraint
3386 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
3387 Set_Node3_With_Parent
(N
, Val
);
3388 end Set_Delta_Expression
;
3390 procedure Set_Digits_Expression
3391 (N
: Node_Id
; Val
: Node_Id
) is
3393 pragma Assert
(False
3394 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3395 or else NT
(N
).Nkind
= N_Digits_Constraint
3396 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
3397 Set_Node2_With_Parent
(N
, Val
);
3398 end Set_Digits_Expression
;
3400 procedure Set_Discr_Check_Funcs_Built
3401 (N
: Node_Id
; Val
: Boolean := True) is
3403 pragma Assert
(False
3404 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
3405 Set_Flag11
(N
, Val
);
3406 end Set_Discr_Check_Funcs_Built
;
3408 procedure Set_Discrete_Choices
3409 (N
: Node_Id
; Val
: List_Id
) is
3411 pragma Assert
(False
3412 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
3413 or else NT
(N
).Nkind
= N_Variant
);
3414 Set_List4_With_Parent
(N
, Val
);
3415 end Set_Discrete_Choices
;
3417 procedure Set_Discrete_Range
3418 (N
: Node_Id
; Val
: Node_Id
) is
3420 pragma Assert
(False
3421 or else NT
(N
).Nkind
= N_Slice
);
3422 Set_Node4_With_Parent
(N
, Val
);
3423 end Set_Discrete_Range
;
3425 procedure Set_Discrete_Subtype_Definition
3426 (N
: Node_Id
; Val
: Node_Id
) is
3428 pragma Assert
(False
3429 or else NT
(N
).Nkind
= N_Entry_Declaration
3430 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3431 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
3432 Set_Node4_With_Parent
(N
, Val
);
3433 end Set_Discrete_Subtype_Definition
;
3435 procedure Set_Discrete_Subtype_Definitions
3436 (N
: Node_Id
; Val
: List_Id
) is
3438 pragma Assert
(False
3439 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
3440 Set_List2_With_Parent
(N
, Val
);
3441 end Set_Discrete_Subtype_Definitions
;
3443 procedure Set_Discriminant_Specifications
3444 (N
: Node_Id
; Val
: List_Id
) is
3446 pragma Assert
(False
3447 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3448 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3449 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3450 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3451 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3452 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3453 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3454 Set_List4_With_Parent
(N
, Val
);
3455 end Set_Discriminant_Specifications
;
3457 procedure Set_Discriminant_Type
3458 (N
: Node_Id
; Val
: Node_Id
) is
3460 pragma Assert
(False
3461 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
3462 Set_Node5_With_Parent
(N
, Val
);
3463 end Set_Discriminant_Type
;
3465 procedure Set_Do_Accessibility_Check
3466 (N
: Node_Id
; Val
: Boolean := True) is
3468 pragma Assert
(False
3469 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3470 Set_Flag13
(N
, Val
);
3471 end Set_Do_Accessibility_Check
;
3473 procedure Set_Do_Discriminant_Check
3474 (N
: Node_Id
; Val
: Boolean := True) is
3476 pragma Assert
(False
3477 or else NT
(N
).Nkind
= N_Selected_Component
);
3478 Set_Flag13
(N
, Val
);
3479 end Set_Do_Discriminant_Check
;
3481 procedure Set_Do_Division_Check
3482 (N
: Node_Id
; Val
: Boolean := True) is
3484 pragma Assert
(False
3485 or else NT
(N
).Nkind
= N_Op_Divide
3486 or else NT
(N
).Nkind
= N_Op_Mod
3487 or else NT
(N
).Nkind
= N_Op_Rem
);
3488 Set_Flag13
(N
, Val
);
3489 end Set_Do_Division_Check
;
3491 procedure Set_Do_Length_Check
3492 (N
: Node_Id
; Val
: Boolean := True) is
3494 pragma Assert
(False
3495 or else NT
(N
).Nkind
= N_Assignment_Statement
3496 or else NT
(N
).Nkind
= N_Op_And
3497 or else NT
(N
).Nkind
= N_Op_Or
3498 or else NT
(N
).Nkind
= N_Op_Xor
3499 or else NT
(N
).Nkind
= N_Type_Conversion
);
3501 end Set_Do_Length_Check
;
3503 procedure Set_Do_Overflow_Check
3504 (N
: Node_Id
; Val
: Boolean := True) is
3506 pragma Assert
(False
3507 or else NT
(N
).Nkind
in N_Op
3508 or else NT
(N
).Nkind
= N_Attribute_Reference
3509 or else NT
(N
).Nkind
= N_Type_Conversion
);
3510 Set_Flag17
(N
, Val
);
3511 end Set_Do_Overflow_Check
;
3513 procedure Set_Do_Range_Check
3514 (N
: Node_Id
; Val
: Boolean := True) is
3516 pragma Assert
(False
3517 or else NT
(N
).Nkind
in N_Subexpr
);
3519 end Set_Do_Range_Check
;
3521 procedure Set_Do_Storage_Check
3522 (N
: Node_Id
; Val
: Boolean := True) is
3524 pragma Assert
(False
3525 or else NT
(N
).Nkind
= N_Allocator
3526 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3527 Set_Flag17
(N
, Val
);
3528 end Set_Do_Storage_Check
;
3530 procedure Set_Do_Tag_Check
3531 (N
: Node_Id
; Val
: Boolean := True) is
3533 pragma Assert
(False
3534 or else NT
(N
).Nkind
= N_Assignment_Statement
3535 or else NT
(N
).Nkind
= N_Extended_Return_Statement
3536 or else NT
(N
).Nkind
= N_Function_Call
3537 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
3538 or else NT
(N
).Nkind
= N_Return_Statement
3539 or else NT
(N
).Nkind
= N_Type_Conversion
);
3540 Set_Flag13
(N
, Val
);
3541 end Set_Do_Tag_Check
;
3543 procedure Set_Elaborate_All_Desirable
3544 (N
: Node_Id
; Val
: Boolean := True) is
3546 pragma Assert
(False
3547 or else NT
(N
).Nkind
= N_With_Clause
);
3549 end Set_Elaborate_All_Desirable
;
3551 procedure Set_Elaborate_All_Present
3552 (N
: Node_Id
; Val
: Boolean := True) is
3554 pragma Assert
(False
3555 or else NT
(N
).Nkind
= N_With_Clause
);
3556 Set_Flag14
(N
, Val
);
3557 end Set_Elaborate_All_Present
;
3559 procedure Set_Elaborate_Desirable
3560 (N
: Node_Id
; Val
: Boolean := True) is
3562 pragma Assert
(False
3563 or else NT
(N
).Nkind
= N_With_Clause
);
3564 Set_Flag11
(N
, Val
);
3565 end Set_Elaborate_Desirable
;
3567 procedure Set_Elaborate_Present
3568 (N
: Node_Id
; Val
: Boolean := True) is
3570 pragma Assert
(False
3571 or else NT
(N
).Nkind
= N_With_Clause
);
3573 end Set_Elaborate_Present
;
3575 procedure Set_Elaboration_Boolean
3576 (N
: Node_Id
; Val
: Node_Id
) is
3578 pragma Assert
(False
3579 or else NT
(N
).Nkind
= N_Function_Specification
3580 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3582 end Set_Elaboration_Boolean
;
3584 procedure Set_Else_Actions
3585 (N
: Node_Id
; Val
: List_Id
) is
3587 pragma Assert
(False
3588 or else NT
(N
).Nkind
= N_Conditional_Expression
);
3589 Set_List3
(N
, Val
); -- semantic field, no parent set
3590 end Set_Else_Actions
;
3592 procedure Set_Else_Statements
3593 (N
: Node_Id
; Val
: List_Id
) is
3595 pragma Assert
(False
3596 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3597 or else NT
(N
).Nkind
= N_If_Statement
3598 or else NT
(N
).Nkind
= N_Selective_Accept
);
3599 Set_List4_With_Parent
(N
, Val
);
3600 end Set_Else_Statements
;
3602 procedure Set_Elsif_Parts
3603 (N
: Node_Id
; Val
: List_Id
) is
3605 pragma Assert
(False
3606 or else NT
(N
).Nkind
= N_If_Statement
);
3607 Set_List3_With_Parent
(N
, Val
);
3608 end Set_Elsif_Parts
;
3610 procedure Set_Enclosing_Variant
3611 (N
: Node_Id
; Val
: Node_Id
) is
3613 pragma Assert
(False
3614 or else NT
(N
).Nkind
= N_Variant
);
3615 Set_Node2
(N
, Val
); -- semantic field, no parent set
3616 end Set_Enclosing_Variant
;
3618 procedure Set_End_Label
3619 (N
: Node_Id
; Val
: Node_Id
) is
3621 pragma Assert
(False
3622 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
3623 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
3624 or else NT
(N
).Nkind
= N_Loop_Statement
3625 or else NT
(N
).Nkind
= N_Package_Specification
3626 or else NT
(N
).Nkind
= N_Protected_Body
3627 or else NT
(N
).Nkind
= N_Protected_Definition
3628 or else NT
(N
).Nkind
= N_Record_Definition
3629 or else NT
(N
).Nkind
= N_Task_Definition
);
3630 Set_Node4_With_Parent
(N
, Val
);
3633 procedure Set_End_Span
3634 (N
: Node_Id
; Val
: Uint
) is
3636 pragma Assert
(False
3637 or else NT
(N
).Nkind
= N_Case_Statement
3638 or else NT
(N
).Nkind
= N_If_Statement
);
3642 procedure Set_Entity
3643 (N
: Node_Id
; Val
: Node_Id
) is
3645 pragma Assert
(False
3646 or else NT
(N
).Nkind
in N_Has_Entity
3647 or else NT
(N
).Nkind
= N_Freeze_Entity
3648 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3649 Set_Node4
(N
, Val
); -- semantic field, no parent set
3652 procedure Set_Entry_Body_Formal_Part
3653 (N
: Node_Id
; Val
: Node_Id
) is
3655 pragma Assert
(False
3656 or else NT
(N
).Nkind
= N_Entry_Body
);
3657 Set_Node5_With_Parent
(N
, Val
);
3658 end Set_Entry_Body_Formal_Part
;
3660 procedure Set_Entry_Call_Alternative
3661 (N
: Node_Id
; Val
: Node_Id
) is
3663 pragma Assert
(False
3664 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3665 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3666 Set_Node1_With_Parent
(N
, Val
);
3667 end Set_Entry_Call_Alternative
;
3669 procedure Set_Entry_Call_Statement
3670 (N
: Node_Id
; Val
: Node_Id
) is
3672 pragma Assert
(False
3673 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
3674 Set_Node1_With_Parent
(N
, Val
);
3675 end Set_Entry_Call_Statement
;
3677 procedure Set_Entry_Direct_Name
3678 (N
: Node_Id
; Val
: Node_Id
) is
3680 pragma Assert
(False
3681 or else NT
(N
).Nkind
= N_Accept_Statement
);
3682 Set_Node1_With_Parent
(N
, Val
);
3683 end Set_Entry_Direct_Name
;
3685 procedure Set_Entry_Index
3686 (N
: Node_Id
; Val
: Node_Id
) is
3688 pragma Assert
(False
3689 or else NT
(N
).Nkind
= N_Accept_Statement
);
3690 Set_Node5_With_Parent
(N
, Val
);
3691 end Set_Entry_Index
;
3693 procedure Set_Entry_Index_Specification
3694 (N
: Node_Id
; Val
: Node_Id
) is
3696 pragma Assert
(False
3697 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
3698 Set_Node4_With_Parent
(N
, Val
);
3699 end Set_Entry_Index_Specification
;
3702 (N
: Node_Id
; Val
: Node_Id
) is
3704 pragma Assert
(False
3705 or else NT
(N
).Nkind
in N_Has_Etype
);
3706 Set_Node5
(N
, Val
); -- semantic field, no parent set
3709 procedure Set_Exception_Choices
3710 (N
: Node_Id
; Val
: List_Id
) is
3712 pragma Assert
(False
3713 or else NT
(N
).Nkind
= N_Exception_Handler
);
3714 Set_List4_With_Parent
(N
, Val
);
3715 end Set_Exception_Choices
;
3717 procedure Set_Exception_Handlers
3718 (N
: Node_Id
; Val
: List_Id
) is
3720 pragma Assert
(False
3721 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3722 Set_List5_With_Parent
(N
, Val
);
3723 end Set_Exception_Handlers
;
3725 procedure Set_Exception_Junk
3726 (N
: Node_Id
; Val
: Boolean := True) is
3728 pragma Assert
(False
3729 or else NT
(N
).Nkind
= N_Goto_Statement
3730 or else NT
(N
).Nkind
= N_Label
3731 or else NT
(N
).Nkind
= N_Object_Declaration
3732 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3734 end Set_Exception_Junk
;
3736 procedure Set_Expansion_Delayed
3737 (N
: Node_Id
; Val
: Boolean := True) is
3739 pragma Assert
(False
3740 or else NT
(N
).Nkind
= N_Aggregate
3741 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3742 Set_Flag11
(N
, Val
);
3743 end Set_Expansion_Delayed
;
3745 procedure Set_Explicit_Actual_Parameter
3746 (N
: Node_Id
; Val
: Node_Id
) is
3748 pragma Assert
(False
3749 or else NT
(N
).Nkind
= N_Parameter_Association
);
3750 Set_Node3_With_Parent
(N
, Val
);
3751 end Set_Explicit_Actual_Parameter
;
3753 procedure Set_Explicit_Generic_Actual_Parameter
3754 (N
: Node_Id
; Val
: Node_Id
) is
3756 pragma Assert
(False
3757 or else NT
(N
).Nkind
= N_Generic_Association
);
3758 Set_Node1_With_Parent
(N
, Val
);
3759 end Set_Explicit_Generic_Actual_Parameter
;
3761 procedure Set_Expression
3762 (N
: Node_Id
; Val
: Node_Id
) is
3764 pragma Assert
(False
3765 or else NT
(N
).Nkind
= N_Allocator
3766 or else NT
(N
).Nkind
= N_Assignment_Statement
3767 or else NT
(N
).Nkind
= N_At_Clause
3768 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
3769 or else NT
(N
).Nkind
= N_Case_Statement
3770 or else NT
(N
).Nkind
= N_Code_Statement
3771 or else NT
(N
).Nkind
= N_Component_Association
3772 or else NT
(N
).Nkind
= N_Component_Declaration
3773 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
3774 or else NT
(N
).Nkind
= N_Delay_Until_Statement
3775 or else NT
(N
).Nkind
= N_Discriminant_Association
3776 or else NT
(N
).Nkind
= N_Discriminant_Specification
3777 or else NT
(N
).Nkind
= N_Exception_Declaration
3778 or else NT
(N
).Nkind
= N_Free_Statement
3779 or else NT
(N
).Nkind
= N_Mod_Clause
3780 or else NT
(N
).Nkind
= N_Modular_Type_Definition
3781 or else NT
(N
).Nkind
= N_Number_Declaration
3782 or else NT
(N
).Nkind
= N_Object_Declaration
3783 or else NT
(N
).Nkind
= N_Parameter_Specification
3784 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
3785 or else NT
(N
).Nkind
= N_Qualified_Expression
3786 or else NT
(N
).Nkind
= N_Raise_Statement
3787 or else NT
(N
).Nkind
= N_Return_Statement
3788 or else NT
(N
).Nkind
= N_Type_Conversion
3789 or else NT
(N
).Nkind
= N_Unchecked_Expression
3790 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
3791 Set_Node3_With_Parent
(N
, Val
);
3794 procedure Set_Expressions
3795 (N
: Node_Id
; Val
: List_Id
) is
3797 pragma Assert
(False
3798 or else NT
(N
).Nkind
= N_Aggregate
3799 or else NT
(N
).Nkind
= N_Attribute_Reference
3800 or else NT
(N
).Nkind
= N_Conditional_Expression
3801 or else NT
(N
).Nkind
= N_Extension_Aggregate
3802 or else NT
(N
).Nkind
= N_Indexed_Component
);
3803 Set_List1_With_Parent
(N
, Val
);
3804 end Set_Expressions
;
3806 procedure Set_First_Bit
3807 (N
: Node_Id
; Val
: Node_Id
) is
3809 pragma Assert
(False
3810 or else NT
(N
).Nkind
= N_Component_Clause
);
3811 Set_Node3_With_Parent
(N
, Val
);
3814 procedure Set_First_Inlined_Subprogram
3815 (N
: Node_Id
; Val
: Entity_Id
) is
3817 pragma Assert
(False
3818 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3819 Set_Node3
(N
, Val
); -- semantic field, no parent set
3820 end Set_First_Inlined_Subprogram
;
3822 procedure Set_First_Name
3823 (N
: Node_Id
; Val
: Boolean := True) is
3825 pragma Assert
(False
3826 or else NT
(N
).Nkind
= N_With_Clause
);
3830 procedure Set_First_Named_Actual
3831 (N
: Node_Id
; Val
: Node_Id
) is
3833 pragma Assert
(False
3834 or else NT
(N
).Nkind
= N_Entry_Call_Statement
3835 or else NT
(N
).Nkind
= N_Function_Call
3836 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3837 Set_Node4
(N
, Val
); -- semantic field, no parent set
3838 end Set_First_Named_Actual
;
3840 procedure Set_First_Real_Statement
3841 (N
: Node_Id
; Val
: Node_Id
) is
3843 pragma Assert
(False
3844 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3845 Set_Node2
(N
, Val
); -- semantic field, no parent set
3846 end Set_First_Real_Statement
;
3848 procedure Set_First_Subtype_Link
3849 (N
: Node_Id
; Val
: Entity_Id
) is
3851 pragma Assert
(False
3852 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3853 Set_Node5
(N
, Val
); -- semantic field, no parent set
3854 end Set_First_Subtype_Link
;
3856 procedure Set_Float_Truncate
3857 (N
: Node_Id
; Val
: Boolean := True) is
3859 pragma Assert
(False
3860 or else NT
(N
).Nkind
= N_Type_Conversion
);
3861 Set_Flag11
(N
, Val
);
3862 end Set_Float_Truncate
;
3864 procedure Set_Formal_Type_Definition
3865 (N
: Node_Id
; Val
: Node_Id
) is
3867 pragma Assert
(False
3868 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
3869 Set_Node3_With_Parent
(N
, Val
);
3870 end Set_Formal_Type_Definition
;
3872 procedure Set_Forwards_OK
3873 (N
: Node_Id
; Val
: Boolean := True) is
3875 pragma Assert
(False
3876 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3878 end Set_Forwards_OK
;
3880 procedure Set_From_At_Mod
3881 (N
: Node_Id
; Val
: Boolean := True) is
3883 pragma Assert
(False
3884 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3886 end Set_From_At_Mod
;
3888 procedure Set_From_Default
3889 (N
: Node_Id
; Val
: Boolean := True) is
3891 pragma Assert
(False
3892 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
3894 end Set_From_Default
;
3896 procedure Set_Generic_Associations
3897 (N
: Node_Id
; Val
: List_Id
) is
3899 pragma Assert
(False
3900 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3901 or else NT
(N
).Nkind
= N_Function_Instantiation
3902 or else NT
(N
).Nkind
= N_Package_Instantiation
3903 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
3904 Set_List3_With_Parent
(N
, Val
);
3905 end Set_Generic_Associations
;
3907 procedure Set_Generic_Formal_Declarations
3908 (N
: Node_Id
; Val
: List_Id
) is
3910 pragma Assert
(False
3911 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3912 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
3913 Set_List2_With_Parent
(N
, Val
);
3914 end Set_Generic_Formal_Declarations
;
3916 procedure Set_Generic_Parent
3917 (N
: Node_Id
; Val
: Node_Id
) is
3919 pragma Assert
(False
3920 or else NT
(N
).Nkind
= N_Function_Specification
3921 or else NT
(N
).Nkind
= N_Package_Specification
3922 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3924 end Set_Generic_Parent
;
3926 procedure Set_Generic_Parent_Type
3927 (N
: Node_Id
; Val
: Node_Id
) is
3929 pragma Assert
(False
3930 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3932 end Set_Generic_Parent_Type
;
3934 procedure Set_Handled_Statement_Sequence
3935 (N
: Node_Id
; Val
: Node_Id
) is
3937 pragma Assert
(False
3938 or else NT
(N
).Nkind
= N_Accept_Statement
3939 or else NT
(N
).Nkind
= N_Block_Statement
3940 or else NT
(N
).Nkind
= N_Entry_Body
3941 or else NT
(N
).Nkind
= N_Extended_Return_Statement
3942 or else NT
(N
).Nkind
= N_Package_Body
3943 or else NT
(N
).Nkind
= N_Subprogram_Body
3944 or else NT
(N
).Nkind
= N_Task_Body
);
3945 Set_Node4_With_Parent
(N
, Val
);
3946 end Set_Handled_Statement_Sequence
;
3948 procedure Set_Handler_List_Entry
3949 (N
: Node_Id
; Val
: Node_Id
) is
3951 pragma Assert
(False
3952 or else NT
(N
).Nkind
= N_Object_Declaration
);
3954 end Set_Handler_List_Entry
;
3956 procedure Set_Has_Created_Identifier
3957 (N
: Node_Id
; Val
: Boolean := True) is
3959 pragma Assert
(False
3960 or else NT
(N
).Nkind
= N_Block_Statement
3961 or else NT
(N
).Nkind
= N_Loop_Statement
);
3962 Set_Flag15
(N
, Val
);
3963 end Set_Has_Created_Identifier
;
3965 procedure Set_Has_Dynamic_Length_Check
3966 (N
: Node_Id
; Val
: Boolean := True) is
3968 Set_Flag10
(N
, Val
);
3969 end Set_Has_Dynamic_Length_Check
;
3971 procedure Set_Has_Dynamic_Range_Check
3972 (N
: Node_Id
; Val
: Boolean := True) is
3974 Set_Flag12
(N
, Val
);
3975 end Set_Has_Dynamic_Range_Check
;
3977 procedure Set_Has_No_Elaboration_Code
3978 (N
: Node_Id
; Val
: Boolean := True) is
3980 pragma Assert
(False
3981 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3982 Set_Flag17
(N
, Val
);
3983 end Set_Has_No_Elaboration_Code
;
3985 procedure Set_Has_Priority_Pragma
3986 (N
: Node_Id
; Val
: Boolean := True) is
3988 pragma Assert
(False
3989 or else NT
(N
).Nkind
= N_Protected_Definition
3990 or else NT
(N
).Nkind
= N_Subprogram_Body
3991 or else NT
(N
).Nkind
= N_Task_Definition
);
3993 end Set_Has_Priority_Pragma
;
3995 procedure Set_Has_Private_View
3996 (N
: Node_Id
; Val
: Boolean := True) is
3998 pragma Assert
(False
3999 or else NT
(N
).Nkind
in N_Op
4000 or else NT
(N
).Nkind
= N_Character_Literal
4001 or else NT
(N
).Nkind
= N_Expanded_Name
4002 or else NT
(N
).Nkind
= N_Identifier
4003 or else NT
(N
).Nkind
= N_Operator_Symbol
);
4004 Set_Flag11
(N
, Val
);
4005 end Set_Has_Private_View
;
4007 procedure Set_Has_Self_Reference
4008 (N
: Node_Id
; Val
: Boolean := True) is
4010 pragma Assert
(False
4011 or else NT
(N
).Nkind
= N_Aggregate
4012 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4013 Set_Flag13
(N
, Val
);
4014 end Set_Has_Self_Reference
;
4016 procedure Set_Has_Storage_Size_Pragma
4017 (N
: Node_Id
; Val
: Boolean := True) is
4019 pragma Assert
(False
4020 or else NT
(N
).Nkind
= N_Task_Definition
);
4022 end Set_Has_Storage_Size_Pragma
;
4024 procedure Set_Has_Task_Info_Pragma
4025 (N
: Node_Id
; Val
: Boolean := True) is
4027 pragma Assert
(False
4028 or else NT
(N
).Nkind
= N_Task_Definition
);
4030 end Set_Has_Task_Info_Pragma
;
4032 procedure Set_Has_Task_Name_Pragma
4033 (N
: Node_Id
; Val
: Boolean := True) is
4035 pragma Assert
(False
4036 or else NT
(N
).Nkind
= N_Task_Definition
);
4038 end Set_Has_Task_Name_Pragma
;
4040 procedure Set_Has_Wide_Character
4041 (N
: Node_Id
; Val
: Boolean := True) is
4043 pragma Assert
(False
4044 or else NT
(N
).Nkind
= N_String_Literal
);
4045 Set_Flag11
(N
, Val
);
4046 end Set_Has_Wide_Character
;
4048 procedure Set_Hidden_By_Use_Clause
4049 (N
: Node_Id
; Val
: Elist_Id
) is
4051 pragma Assert
(False
4052 or else NT
(N
).Nkind
= N_Use_Package_Clause
4053 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4054 Set_Elist4
(N
, Val
);
4055 end Set_Hidden_By_Use_Clause
;
4057 procedure Set_High_Bound
4058 (N
: Node_Id
; Val
: Node_Id
) is
4060 pragma Assert
(False
4061 or else NT
(N
).Nkind
= N_Range
4062 or else NT
(N
).Nkind
= N_Real_Range_Specification
4063 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4064 Set_Node2_With_Parent
(N
, Val
);
4067 procedure Set_Identifier
4068 (N
: Node_Id
; Val
: Node_Id
) is
4070 pragma Assert
(False
4071 or else NT
(N
).Nkind
= N_At_Clause
4072 or else NT
(N
).Nkind
= N_Block_Statement
4073 or else NT
(N
).Nkind
= N_Designator
4074 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4075 or else NT
(N
).Nkind
= N_Label
4076 or else NT
(N
).Nkind
= N_Loop_Statement
4077 or else NT
(N
).Nkind
= N_Record_Representation_Clause
4078 or else NT
(N
).Nkind
= N_Subprogram_Info
);
4079 Set_Node1_With_Parent
(N
, Val
);
4082 procedure Set_Implicit_With
4083 (N
: Node_Id
; Val
: Boolean := True) is
4085 pragma Assert
(False
4086 or else NT
(N
).Nkind
= N_With_Clause
);
4087 Set_Flag16
(N
, Val
);
4088 end Set_Implicit_With
;
4090 procedure Set_Interface_List
4091 (N
: Node_Id
; Val
: List_Id
) is
4093 pragma Assert
(False
4094 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4095 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4096 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4097 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
4098 or else NT
(N
).Nkind
= N_Record_Definition
4099 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
4100 or else NT
(N
).Nkind
= N_Single_Task_Declaration
4101 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4102 Set_List2_With_Parent
(N
, Val
);
4103 end Set_Interface_List
;
4105 procedure Set_Interface_Present
4106 (N
: Node_Id
; Val
: Boolean := True) is
4108 pragma Assert
(False
4109 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4110 or else NT
(N
).Nkind
= N_Record_Definition
);
4111 Set_Flag16
(N
, Val
);
4112 end Set_Interface_Present
;
4114 procedure Set_In_Present
4115 (N
: Node_Id
; Val
: Boolean := True) is
4117 pragma Assert
(False
4118 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4119 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4120 Set_Flag15
(N
, Val
);
4123 procedure Set_Includes_Infinities
4124 (N
: Node_Id
; Val
: Boolean := True) is
4126 pragma Assert
(False
4127 or else NT
(N
).Nkind
= N_Range
);
4128 Set_Flag11
(N
, Val
);
4129 end Set_Includes_Infinities
;
4131 procedure Set_Instance_Spec
4132 (N
: Node_Id
; Val
: Node_Id
) is
4134 pragma Assert
(False
4135 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4136 or else NT
(N
).Nkind
= N_Function_Instantiation
4137 or else NT
(N
).Nkind
= N_Package_Instantiation
4138 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
4139 Set_Node5
(N
, Val
); -- semantic field, no Parent set
4140 end Set_Instance_Spec
;
4142 procedure Set_Intval
4143 (N
: Node_Id
; Val
: Uint
) is
4145 pragma Assert
(False
4146 or else NT
(N
).Nkind
= N_Integer_Literal
);
4150 procedure Set_Is_Asynchronous_Call_Block
4151 (N
: Node_Id
; Val
: Boolean := True) is
4153 pragma Assert
(False
4154 or else NT
(N
).Nkind
= N_Block_Statement
);
4156 end Set_Is_Asynchronous_Call_Block
;
4158 procedure Set_Is_Component_Left_Opnd
4159 (N
: Node_Id
; Val
: Boolean := True) is
4161 pragma Assert
(False
4162 or else NT
(N
).Nkind
= N_Op_Concat
);
4163 Set_Flag13
(N
, Val
);
4164 end Set_Is_Component_Left_Opnd
;
4166 procedure Set_Is_Component_Right_Opnd
4167 (N
: Node_Id
; Val
: Boolean := True) is
4169 pragma Assert
(False
4170 or else NT
(N
).Nkind
= N_Op_Concat
);
4171 Set_Flag14
(N
, Val
);
4172 end Set_Is_Component_Right_Opnd
;
4174 procedure Set_Is_Controlling_Actual
4175 (N
: Node_Id
; Val
: Boolean := True) is
4177 pragma Assert
(False
4178 or else NT
(N
).Nkind
in N_Subexpr
);
4179 Set_Flag16
(N
, Val
);
4180 end Set_Is_Controlling_Actual
;
4182 procedure Set_Is_Entry_Barrier_Function
4183 (N
: Node_Id
; Val
: Boolean := True) is
4185 pragma Assert
(False
4186 or else NT
(N
).Nkind
= N_Subprogram_Body
);
4188 end Set_Is_Entry_Barrier_Function
;
4190 procedure Set_Is_In_Discriminant_Check
4191 (N
: Node_Id
; Val
: Boolean := True) is
4193 pragma Assert
(False
4194 or else NT
(N
).Nkind
= N_Selected_Component
);
4195 Set_Flag11
(N
, Val
);
4196 end Set_Is_In_Discriminant_Check
;
4198 procedure Set_Is_Machine_Number
4199 (N
: Node_Id
; Val
: Boolean := True) is
4201 pragma Assert
(False
4202 or else NT
(N
).Nkind
= N_Real_Literal
);
4203 Set_Flag11
(N
, Val
);
4204 end Set_Is_Machine_Number
;
4206 procedure Set_Is_Null_Loop
4207 (N
: Node_Id
; Val
: Boolean := True) is
4209 pragma Assert
(False
4210 or else NT
(N
).Nkind
= N_Loop_Statement
);
4211 Set_Flag16
(N
, Val
);
4212 end Set_Is_Null_Loop
;
4214 procedure Set_Is_Overloaded
4215 (N
: Node_Id
; Val
: Boolean := True) is
4217 pragma Assert
(False
4218 or else NT
(N
).Nkind
in N_Subexpr
);
4220 end Set_Is_Overloaded
;
4222 procedure Set_Is_Power_Of_2_For_Shift
4223 (N
: Node_Id
; Val
: Boolean := True) is
4225 pragma Assert
(False
4226 or else NT
(N
).Nkind
= N_Op_Expon
);
4227 Set_Flag13
(N
, Val
);
4228 end Set_Is_Power_Of_2_For_Shift
;
4230 procedure Set_Is_Protected_Subprogram_Body
4231 (N
: Node_Id
; Val
: Boolean := True) is
4233 pragma Assert
(False
4234 or else NT
(N
).Nkind
= N_Subprogram_Body
);
4236 end Set_Is_Protected_Subprogram_Body
;
4238 procedure Set_Is_Static_Expression
4239 (N
: Node_Id
; Val
: Boolean := True) is
4241 pragma Assert
(False
4242 or else NT
(N
).Nkind
in N_Subexpr
);
4244 end Set_Is_Static_Expression
;
4246 procedure Set_Is_Subprogram_Descriptor
4247 (N
: Node_Id
; Val
: Boolean := True) is
4249 pragma Assert
(False
4250 or else NT
(N
).Nkind
= N_Object_Declaration
);
4251 Set_Flag16
(N
, Val
);
4252 end Set_Is_Subprogram_Descriptor
;
4254 procedure Set_Is_Task_Allocation_Block
4255 (N
: Node_Id
; Val
: Boolean := True) is
4257 pragma Assert
(False
4258 or else NT
(N
).Nkind
= N_Block_Statement
);
4260 end Set_Is_Task_Allocation_Block
;
4262 procedure Set_Is_Task_Master
4263 (N
: Node_Id
; Val
: Boolean := True) is
4265 pragma Assert
(False
4266 or else NT
(N
).Nkind
= N_Block_Statement
4267 or else NT
(N
).Nkind
= N_Subprogram_Body
4268 or else NT
(N
).Nkind
= N_Task_Body
);
4270 end Set_Is_Task_Master
;
4272 procedure Set_Iteration_Scheme
4273 (N
: Node_Id
; Val
: Node_Id
) is
4275 pragma Assert
(False
4276 or else NT
(N
).Nkind
= N_Loop_Statement
);
4277 Set_Node2_With_Parent
(N
, Val
);
4278 end Set_Iteration_Scheme
;
4281 (N
: Node_Id
; Val
: Entity_Id
) is
4283 pragma Assert
(False
4284 or else NT
(N
).Nkind
= N_Itype_Reference
);
4285 Set_Node1
(N
, Val
); -- no parent, semantic field
4288 procedure Set_Kill_Range_Check
4289 (N
: Node_Id
; Val
: Boolean := True) is
4291 pragma Assert
(False
4292 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4293 Set_Flag11
(N
, Val
);
4294 end Set_Kill_Range_Check
;
4296 procedure Set_Label_Construct
4297 (N
: Node_Id
; Val
: Node_Id
) is
4299 pragma Assert
(False
4300 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
4301 Set_Node2
(N
, Val
); -- semantic field, no parent set
4302 end Set_Label_Construct
;
4304 procedure Set_Last_Bit
4305 (N
: Node_Id
; Val
: Node_Id
) is
4307 pragma Assert
(False
4308 or else NT
(N
).Nkind
= N_Component_Clause
);
4309 Set_Node4_With_Parent
(N
, Val
);
4312 procedure Set_Last_Name
4313 (N
: Node_Id
; Val
: Boolean := True) is
4315 pragma Assert
(False
4316 or else NT
(N
).Nkind
= N_With_Clause
);
4320 procedure Set_Left_Opnd
4321 (N
: Node_Id
; Val
: Node_Id
) is
4323 pragma Assert
(False
4324 or else NT
(N
).Nkind
= N_And_Then
4325 or else NT
(N
).Nkind
= N_In
4326 or else NT
(N
).Nkind
= N_Not_In
4327 or else NT
(N
).Nkind
= N_Or_Else
4328 or else NT
(N
).Nkind
in N_Binary_Op
);
4329 Set_Node2_With_Parent
(N
, Val
);
4332 procedure Set_Library_Unit
4333 (N
: Node_Id
; Val
: Node_Id
) is
4335 pragma Assert
(False
4336 or else NT
(N
).Nkind
= N_Compilation_Unit
4337 or else NT
(N
).Nkind
= N_Package_Body_Stub
4338 or else NT
(N
).Nkind
= N_Protected_Body_Stub
4339 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4340 or else NT
(N
).Nkind
= N_Task_Body_Stub
4341 or else NT
(N
).Nkind
= N_With_Clause
);
4342 Set_Node4
(N
, Val
); -- semantic field, no parent set
4343 end Set_Library_Unit
;
4345 procedure Set_Limited_View_Installed
4346 (N
: Node_Id
; Val
: Boolean := True) is
4348 pragma Assert
(False
4349 or else NT
(N
).Nkind
= N_Package_Specification
4350 or else NT
(N
).Nkind
= N_With_Clause
);
4351 Set_Flag18
(N
, Val
);
4352 end Set_Limited_View_Installed
;
4354 procedure Set_Limited_Present
4355 (N
: Node_Id
; Val
: Boolean := True) is
4357 pragma Assert
(False
4358 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4359 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4360 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
4361 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4362 or else NT
(N
).Nkind
= N_Private_Type_Declaration
4363 or else NT
(N
).Nkind
= N_Record_Definition
4364 or else NT
(N
).Nkind
= N_With_Clause
);
4365 Set_Flag17
(N
, Val
);
4366 end Set_Limited_Present
;
4368 procedure Set_Literals
4369 (N
: Node_Id
; Val
: List_Id
) is
4371 pragma Assert
(False
4372 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
4373 Set_List1_With_Parent
(N
, Val
);
4376 procedure Set_Loop_Actions
4377 (N
: Node_Id
; Val
: List_Id
) is
4379 pragma Assert
(False
4380 or else NT
(N
).Nkind
= N_Component_Association
);
4381 Set_List2
(N
, Val
); -- semantic field, no parent set
4382 end Set_Loop_Actions
;
4384 procedure Set_Loop_Parameter_Specification
4385 (N
: Node_Id
; Val
: Node_Id
) is
4387 pragma Assert
(False
4388 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
4389 Set_Node4_With_Parent
(N
, Val
);
4390 end Set_Loop_Parameter_Specification
;
4392 procedure Set_Low_Bound
4393 (N
: Node_Id
; Val
: Node_Id
) is
4395 pragma Assert
(False
4396 or else NT
(N
).Nkind
= N_Range
4397 or else NT
(N
).Nkind
= N_Real_Range_Specification
4398 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4399 Set_Node1_With_Parent
(N
, Val
);
4402 procedure Set_Mod_Clause
4403 (N
: Node_Id
; Val
: Node_Id
) is
4405 pragma Assert
(False
4406 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4407 Set_Node2_With_Parent
(N
, Val
);
4410 procedure Set_More_Ids
4411 (N
: Node_Id
; Val
: Boolean := True) is
4413 pragma Assert
(False
4414 or else NT
(N
).Nkind
= N_Component_Declaration
4415 or else NT
(N
).Nkind
= N_Discriminant_Specification
4416 or else NT
(N
).Nkind
= N_Exception_Declaration
4417 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4418 or else NT
(N
).Nkind
= N_Number_Declaration
4419 or else NT
(N
).Nkind
= N_Object_Declaration
4420 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4424 procedure Set_Must_Be_Byte_Aligned
4425 (N
: Node_Id
; Val
: Boolean := True) is
4427 pragma Assert
(False
4428 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4429 Set_Flag14
(N
, Val
);
4430 end Set_Must_Be_Byte_Aligned
;
4432 procedure Set_Must_Not_Freeze
4433 (N
: Node_Id
; Val
: Boolean := True) is
4435 pragma Assert
(False
4436 or else NT
(N
).Nkind
= N_Subtype_Indication
4437 or else NT
(N
).Nkind
in N_Subexpr
);
4439 end Set_Must_Not_Freeze
;
4441 procedure Set_Must_Not_Override
4442 (N
: Node_Id
; Val
: Boolean := True) is
4444 pragma Assert
(False
4445 or else NT
(N
).Nkind
= N_Entry_Declaration
4446 or else NT
(N
).Nkind
= N_Function_Instantiation
4447 or else NT
(N
).Nkind
= N_Function_Specification
4448 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4449 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4450 Set_Flag15
(N
, Val
);
4451 end Set_Must_Not_Override
;
4453 procedure Set_Must_Override
4454 (N
: Node_Id
; Val
: Boolean := True) is
4456 pragma Assert
(False
4457 or else NT
(N
).Nkind
= N_Entry_Declaration
4458 or else NT
(N
).Nkind
= N_Function_Instantiation
4459 or else NT
(N
).Nkind
= N_Function_Specification
4460 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4461 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4462 Set_Flag14
(N
, Val
);
4463 end Set_Must_Override
;
4466 (N
: Node_Id
; Val
: Node_Id
) is
4468 pragma Assert
(False
4469 or else NT
(N
).Nkind
= N_Assignment_Statement
4470 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4471 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
4472 or else NT
(N
).Nkind
= N_Designator
4473 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4474 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
4475 or else NT
(N
).Nkind
= N_Exit_Statement
4476 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4477 or else NT
(N
).Nkind
= N_Function_Call
4478 or else NT
(N
).Nkind
= N_Function_Instantiation
4479 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4480 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4481 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4482 or else NT
(N
).Nkind
= N_Goto_Statement
4483 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4484 or else NT
(N
).Nkind
= N_Package_Instantiation
4485 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4486 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
4487 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4488 or else NT
(N
).Nkind
= N_Raise_Statement
4489 or else NT
(N
).Nkind
= N_Requeue_Statement
4490 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
4491 or else NT
(N
).Nkind
= N_Subunit
4492 or else NT
(N
).Nkind
= N_Variant_Part
4493 or else NT
(N
).Nkind
= N_With_Clause
4494 or else NT
(N
).Nkind
= N_With_Type_Clause
);
4495 Set_Node2_With_Parent
(N
, Val
);
4499 (N
: Node_Id
; Val
: List_Id
) is
4501 pragma Assert
(False
4502 or else NT
(N
).Nkind
= N_Abort_Statement
4503 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
4504 Set_List2_With_Parent
(N
, Val
);
4507 procedure Set_Next_Entity
4508 (N
: Node_Id
; Val
: Node_Id
) is
4510 pragma Assert
(False
4511 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4512 or else NT
(N
).Nkind
= N_Defining_Identifier
4513 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4514 Set_Node2
(N
, Val
); -- semantic field, no parent set
4515 end Set_Next_Entity
;
4517 procedure Set_Next_Named_Actual
4518 (N
: Node_Id
; Val
: Node_Id
) is
4520 pragma Assert
(False
4521 or else NT
(N
).Nkind
= N_Parameter_Association
);
4522 Set_Node4
(N
, Val
); -- semantic field, no parent set
4523 end Set_Next_Named_Actual
;
4525 procedure Set_Next_Rep_Item
4526 (N
: Node_Id
; Val
: Node_Id
) is
4528 pragma Assert
(False
4529 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4530 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4531 or else NT
(N
).Nkind
= N_Pragma
4532 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4533 Set_Node5
(N
, Val
); -- semantic field, no parent set
4534 end Set_Next_Rep_Item
;
4536 procedure Set_Next_Use_Clause
4537 (N
: Node_Id
; Val
: Node_Id
) is
4539 pragma Assert
(False
4540 or else NT
(N
).Nkind
= N_Use_Package_Clause
4541 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4542 Set_Node3
(N
, Val
); -- semantic field, no parent set
4543 end Set_Next_Use_Clause
;
4545 procedure Set_No_Ctrl_Actions
4546 (N
: Node_Id
; Val
: Boolean := True) is
4548 pragma Assert
(False
4549 or else NT
(N
).Nkind
= N_Assignment_Statement
);
4551 end Set_No_Ctrl_Actions
;
4553 procedure Set_No_Elaboration_Check
4554 (N
: Node_Id
; Val
: Boolean := True) is
4556 pragma Assert
(False
4557 or else NT
(N
).Nkind
= N_Function_Call
4558 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4559 Set_Flag14
(N
, Val
);
4560 end Set_No_Elaboration_Check
;
4562 procedure Set_No_Entities_Ref_In_Spec
4563 (N
: Node_Id
; Val
: Boolean := True) is
4565 pragma Assert
(False
4566 or else NT
(N
).Nkind
= N_With_Clause
);
4568 end Set_No_Entities_Ref_In_Spec
;
4570 procedure Set_No_Initialization
4571 (N
: Node_Id
; Val
: Boolean := True) is
4573 pragma Assert
(False
4574 or else NT
(N
).Nkind
= N_Allocator
4575 or else NT
(N
).Nkind
= N_Object_Declaration
);
4576 Set_Flag13
(N
, Val
);
4577 end Set_No_Initialization
;
4579 procedure Set_No_Truncation
4580 (N
: Node_Id
; Val
: Boolean := True) is
4582 pragma Assert
(False
4583 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4584 Set_Flag17
(N
, Val
);
4585 end Set_No_Truncation
;
4587 procedure Set_Null_Present
4588 (N
: Node_Id
; Val
: Boolean := True) is
4590 pragma Assert
(False
4591 or else NT
(N
).Nkind
= N_Component_List
4592 or else NT
(N
).Nkind
= N_Procedure_Specification
4593 or else NT
(N
).Nkind
= N_Record_Definition
);
4594 Set_Flag13
(N
, Val
);
4595 end Set_Null_Present
;
4597 procedure Set_Null_Exclusion_Present
4598 (N
: Node_Id
; Val
: Boolean := True) is
4600 pragma Assert
(False
4601 or else NT
(N
).Nkind
= N_Access_Definition
4602 or else NT
(N
).Nkind
= N_Access_Function_Definition
4603 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4604 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
4605 or else NT
(N
).Nkind
= N_Allocator
4606 or else NT
(N
).Nkind
= N_Component_Definition
4607 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4608 or else NT
(N
).Nkind
= N_Discriminant_Specification
4609 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4610 or else NT
(N
).Nkind
= N_Function_Specification
4611 or else NT
(N
).Nkind
= N_Object_Declaration
4612 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4613 or else NT
(N
).Nkind
= N_Parameter_Specification
4614 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4615 Set_Flag11
(N
, Val
);
4616 end Set_Null_Exclusion_Present
;
4618 procedure Set_Null_Record_Present
4619 (N
: Node_Id
; Val
: Boolean := True) is
4621 pragma Assert
(False
4622 or else NT
(N
).Nkind
= N_Aggregate
4623 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4624 Set_Flag17
(N
, Val
);
4625 end Set_Null_Record_Present
;
4627 procedure Set_Object_Definition
4628 (N
: Node_Id
; Val
: Node_Id
) is
4630 pragma Assert
(False
4631 or else NT
(N
).Nkind
= N_Object_Declaration
);
4632 Set_Node4_With_Parent
(N
, Val
);
4633 end Set_Object_Definition
;
4635 procedure Set_Original_Discriminant
4636 (N
: Node_Id
; Val
: Node_Id
) is
4638 pragma Assert
(False
4639 or else NT
(N
).Nkind
= N_Identifier
);
4640 Set_Node2
(N
, Val
); -- semantic field, no parent set
4641 end Set_Original_Discriminant
;
4643 procedure Set_Original_Entity
4644 (N
: Node_Id
; Val
: Entity_Id
) is
4646 pragma Assert
(False
4647 or else NT
(N
).Nkind
= N_Integer_Literal
4648 or else NT
(N
).Nkind
= N_Real_Literal
);
4649 Set_Node2
(N
, Val
); -- semantic field, no parent set
4650 end Set_Original_Entity
;
4652 procedure Set_Others_Discrete_Choices
4653 (N
: Node_Id
; Val
: List_Id
) is
4655 pragma Assert
(False
4656 or else NT
(N
).Nkind
= N_Others_Choice
);
4657 Set_List1_With_Parent
(N
, Val
);
4658 end Set_Others_Discrete_Choices
;
4660 procedure Set_Out_Present
4661 (N
: Node_Id
; Val
: Boolean := True) is
4663 pragma Assert
(False
4664 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4665 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4666 Set_Flag17
(N
, Val
);
4667 end Set_Out_Present
;
4669 procedure Set_Parameter_Associations
4670 (N
: Node_Id
; Val
: List_Id
) is
4672 pragma Assert
(False
4673 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4674 or else NT
(N
).Nkind
= N_Function_Call
4675 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4676 Set_List3_With_Parent
(N
, Val
);
4677 end Set_Parameter_Associations
;
4679 procedure Set_Parameter_List_Truncated
4680 (N
: Node_Id
; Val
: Boolean := True) is
4682 pragma Assert
(False
4683 or else NT
(N
).Nkind
= N_Function_Call
4684 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4685 Set_Flag17
(N
, Val
);
4686 end Set_Parameter_List_Truncated
;
4688 procedure Set_Parameter_Specifications
4689 (N
: Node_Id
; Val
: List_Id
) is
4691 pragma Assert
(False
4692 or else NT
(N
).Nkind
= N_Accept_Statement
4693 or else NT
(N
).Nkind
= N_Access_Function_Definition
4694 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4695 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
4696 or else NT
(N
).Nkind
= N_Entry_Declaration
4697 or else NT
(N
).Nkind
= N_Function_Specification
4698 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4699 Set_List3_With_Parent
(N
, Val
);
4700 end Set_Parameter_Specifications
;
4702 procedure Set_Parameter_Type
4703 (N
: Node_Id
; Val
: Node_Id
) is
4705 pragma Assert
(False
4706 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4707 Set_Node2_With_Parent
(N
, Val
);
4708 end Set_Parameter_Type
;
4710 procedure Set_Parent_Spec
4711 (N
: Node_Id
; Val
: Node_Id
) is
4713 pragma Assert
(False
4714 or else NT
(N
).Nkind
= N_Function_Instantiation
4715 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4716 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4717 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4718 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4719 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4720 or else NT
(N
).Nkind
= N_Package_Declaration
4721 or else NT
(N
).Nkind
= N_Package_Instantiation
4722 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4723 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4724 or else NT
(N
).Nkind
= N_Subprogram_Declaration
4725 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4726 Set_Node4
(N
, Val
); -- semantic field, no parent set
4727 end Set_Parent_Spec
;
4729 procedure Set_Position
4730 (N
: Node_Id
; Val
: Node_Id
) is
4732 pragma Assert
(False
4733 or else NT
(N
).Nkind
= N_Component_Clause
);
4734 Set_Node2_With_Parent
(N
, Val
);
4737 procedure Set_Pragma_Argument_Associations
4738 (N
: Node_Id
; Val
: List_Id
) is
4740 pragma Assert
(False
4741 or else NT
(N
).Nkind
= N_Pragma
);
4742 Set_List2_With_Parent
(N
, Val
);
4743 end Set_Pragma_Argument_Associations
;
4745 procedure Set_Pragmas_After
4746 (N
: Node_Id
; Val
: List_Id
) is
4748 pragma Assert
(False
4749 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
4750 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
4751 Set_List5_With_Parent
(N
, Val
);
4752 end Set_Pragmas_After
;
4754 procedure Set_Pragmas_Before
4755 (N
: Node_Id
; Val
: List_Id
) is
4757 pragma Assert
(False
4758 or else NT
(N
).Nkind
= N_Accept_Alternative
4759 or else NT
(N
).Nkind
= N_Delay_Alternative
4760 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
4761 or else NT
(N
).Nkind
= N_Mod_Clause
4762 or else NT
(N
).Nkind
= N_Terminate_Alternative
4763 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4764 Set_List4_With_Parent
(N
, Val
);
4765 end Set_Pragmas_Before
;
4767 procedure Set_Prefix
4768 (N
: Node_Id
; Val
: Node_Id
) is
4770 pragma Assert
(False
4771 or else NT
(N
).Nkind
= N_Attribute_Reference
4772 or else NT
(N
).Nkind
= N_Expanded_Name
4773 or else NT
(N
).Nkind
= N_Explicit_Dereference
4774 or else NT
(N
).Nkind
= N_Indexed_Component
4775 or else NT
(N
).Nkind
= N_Reference
4776 or else NT
(N
).Nkind
= N_Selected_Component
4777 or else NT
(N
).Nkind
= N_Slice
);
4778 Set_Node3_With_Parent
(N
, Val
);
4781 procedure Set_Present_Expr
4782 (N
: Node_Id
; Val
: Uint
) is
4784 pragma Assert
(False
4785 or else NT
(N
).Nkind
= N_Variant
);
4787 end Set_Present_Expr
;
4789 procedure Set_Prev_Ids
4790 (N
: Node_Id
; Val
: Boolean := True) is
4792 pragma Assert
(False
4793 or else NT
(N
).Nkind
= N_Component_Declaration
4794 or else NT
(N
).Nkind
= N_Discriminant_Specification
4795 or else NT
(N
).Nkind
= N_Exception_Declaration
4796 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4797 or else NT
(N
).Nkind
= N_Number_Declaration
4798 or else NT
(N
).Nkind
= N_Object_Declaration
4799 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4803 procedure Set_Print_In_Hex
4804 (N
: Node_Id
; Val
: Boolean := True) is
4806 pragma Assert
(False
4807 or else NT
(N
).Nkind
= N_Integer_Literal
);
4808 Set_Flag13
(N
, Val
);
4809 end Set_Print_In_Hex
;
4811 procedure Set_Private_Declarations
4812 (N
: Node_Id
; Val
: List_Id
) is
4814 pragma Assert
(False
4815 or else NT
(N
).Nkind
= N_Package_Specification
4816 or else NT
(N
).Nkind
= N_Protected_Definition
4817 or else NT
(N
).Nkind
= N_Task_Definition
);
4818 Set_List3_With_Parent
(N
, Val
);
4819 end Set_Private_Declarations
;
4821 procedure Set_Private_Present
4822 (N
: Node_Id
; Val
: Boolean := True) is
4824 pragma Assert
(False
4825 or else NT
(N
).Nkind
= N_Compilation_Unit
4826 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4827 or else NT
(N
).Nkind
= N_With_Clause
);
4828 Set_Flag15
(N
, Val
);
4829 end Set_Private_Present
;
4831 procedure Set_Procedure_To_Call
4832 (N
: Node_Id
; Val
: Node_Id
) is
4834 pragma Assert
(False
4835 or else NT
(N
).Nkind
= N_Allocator
4836 or else NT
(N
).Nkind
= N_Extended_Return_Statement
4837 or else NT
(N
).Nkind
= N_Free_Statement
4838 or else NT
(N
).Nkind
= N_Return_Statement
);
4839 Set_Node2
(N
, Val
); -- semantic field, no parent set
4840 end Set_Procedure_To_Call
;
4842 procedure Set_Proper_Body
4843 (N
: Node_Id
; Val
: Node_Id
) is
4845 pragma Assert
(False
4846 or else NT
(N
).Nkind
= N_Subunit
);
4847 Set_Node1_With_Parent
(N
, Val
);
4848 end Set_Proper_Body
;
4850 procedure Set_Protected_Definition
4851 (N
: Node_Id
; Val
: Node_Id
) is
4853 pragma Assert
(False
4854 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
4855 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
4856 Set_Node3_With_Parent
(N
, Val
);
4857 end Set_Protected_Definition
;
4859 procedure Set_Protected_Present
4860 (N
: Node_Id
; Val
: Boolean := True) is
4862 pragma Assert
(False
4863 or else NT
(N
).Nkind
= N_Access_Function_Definition
4864 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4865 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4866 or else NT
(N
).Nkind
= N_Record_Definition
);
4868 end Set_Protected_Present
;
4870 procedure Set_Raises_Constraint_Error
4871 (N
: Node_Id
; Val
: Boolean := True) is
4873 pragma Assert
(False
4874 or else NT
(N
).Nkind
in N_Subexpr
);
4876 end Set_Raises_Constraint_Error
;
4878 procedure Set_Range_Constraint
4879 (N
: Node_Id
; Val
: Node_Id
) is
4881 pragma Assert
(False
4882 or else NT
(N
).Nkind
= N_Delta_Constraint
4883 or else NT
(N
).Nkind
= N_Digits_Constraint
);
4884 Set_Node4_With_Parent
(N
, Val
);
4885 end Set_Range_Constraint
;
4887 procedure Set_Range_Expression
4888 (N
: Node_Id
; Val
: Node_Id
) is
4890 pragma Assert
(False
4891 or else NT
(N
).Nkind
= N_Range_Constraint
);
4892 Set_Node4_With_Parent
(N
, Val
);
4893 end Set_Range_Expression
;
4895 procedure Set_Real_Range_Specification
4896 (N
: Node_Id
; Val
: Node_Id
) is
4898 pragma Assert
(False
4899 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
4900 or else NT
(N
).Nkind
= N_Floating_Point_Definition
4901 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
4902 Set_Node4_With_Parent
(N
, Val
);
4903 end Set_Real_Range_Specification
;
4905 procedure Set_Realval
4906 (N
: Node_Id
; Val
: Ureal
) is
4908 pragma Assert
(False
4909 or else NT
(N
).Nkind
= N_Real_Literal
);
4910 Set_Ureal3
(N
, Val
);
4913 procedure Set_Reason
4914 (N
: Node_Id
; Val
: Uint
) is
4916 pragma Assert
(False
4917 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
4918 or else NT
(N
).Nkind
= N_Raise_Program_Error
4919 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
4923 procedure Set_Record_Extension_Part
4924 (N
: Node_Id
; Val
: Node_Id
) is
4926 pragma Assert
(False
4927 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
4928 Set_Node3_With_Parent
(N
, Val
);
4929 end Set_Record_Extension_Part
;
4931 procedure Set_Redundant_Use
4932 (N
: Node_Id
; Val
: Boolean := True) is
4934 pragma Assert
(False
4935 or else NT
(N
).Nkind
= N_Attribute_Reference
4936 or else NT
(N
).Nkind
= N_Expanded_Name
4937 or else NT
(N
).Nkind
= N_Identifier
);
4938 Set_Flag13
(N
, Val
);
4939 end Set_Redundant_Use
;
4941 procedure Set_Result_Definition
4942 (N
: Node_Id
; Val
: Node_Id
) is
4944 pragma Assert
(False
4945 or else NT
(N
).Nkind
= N_Access_Function_Definition
4946 or else NT
(N
).Nkind
= N_Function_Specification
);
4947 Set_Node4_With_Parent
(N
, Val
);
4948 end Set_Result_Definition
;
4950 procedure Set_Return_Object_Declarations
4951 (N
: Node_Id
; Val
: List_Id
) is
4953 pragma Assert
(False
4954 or else NT
(N
).Nkind
= N_Extended_Return_Statement
);
4955 Set_List3_With_Parent
(N
, Val
);
4956 end Set_Return_Object_Declarations
;
4958 procedure Set_Return_Statement_Entity
4959 (N
: Node_Id
; Val
: Node_Id
) is
4961 pragma Assert
(False
4962 or else NT
(N
).Nkind
= N_Extended_Return_Statement
4963 or else NT
(N
).Nkind
= N_Return_Statement
);
4964 Set_Node5
(N
, Val
); -- semantic field, no parent set
4965 end Set_Return_Statement_Entity
;
4967 procedure Set_Reverse_Present
4968 (N
: Node_Id
; Val
: Boolean := True) is
4970 pragma Assert
(False
4971 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
4972 Set_Flag15
(N
, Val
);
4973 end Set_Reverse_Present
;
4975 procedure Set_Right_Opnd
4976 (N
: Node_Id
; Val
: Node_Id
) is
4978 pragma Assert
(False
4979 or else NT
(N
).Nkind
in N_Op
4980 or else NT
(N
).Nkind
= N_And_Then
4981 or else NT
(N
).Nkind
= N_In
4982 or else NT
(N
).Nkind
= N_Not_In
4983 or else NT
(N
).Nkind
= N_Or_Else
);
4984 Set_Node3_With_Parent
(N
, Val
);
4987 procedure Set_Rounded_Result
4988 (N
: Node_Id
; Val
: Boolean := True) is
4990 pragma Assert
(False
4991 or else NT
(N
).Nkind
= N_Op_Divide
4992 or else NT
(N
).Nkind
= N_Op_Multiply
4993 or else NT
(N
).Nkind
= N_Type_Conversion
);
4994 Set_Flag18
(N
, Val
);
4995 end Set_Rounded_Result
;
4998 (N
: Node_Id
; Val
: Node_Id
) is
5000 pragma Assert
(False
5001 or else NT
(N
).Nkind
= N_Defining_Character_Literal
5002 or else NT
(N
).Nkind
= N_Defining_Identifier
5003 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
5004 Set_Node3
(N
, Val
); -- semantic field, no parent set
5007 procedure Set_Select_Alternatives
5008 (N
: Node_Id
; Val
: List_Id
) is
5010 pragma Assert
(False
5011 or else NT
(N
).Nkind
= N_Selective_Accept
);
5012 Set_List1_With_Parent
(N
, Val
);
5013 end Set_Select_Alternatives
;
5015 procedure Set_Selector_Name
5016 (N
: Node_Id
; Val
: Node_Id
) is
5018 pragma Assert
(False
5019 or else NT
(N
).Nkind
= N_Expanded_Name
5020 or else NT
(N
).Nkind
= N_Generic_Association
5021 or else NT
(N
).Nkind
= N_Parameter_Association
5022 or else NT
(N
).Nkind
= N_Selected_Component
);
5023 Set_Node2_With_Parent
(N
, Val
);
5024 end Set_Selector_Name
;
5026 procedure Set_Selector_Names
5027 (N
: Node_Id
; Val
: List_Id
) is
5029 pragma Assert
(False
5030 or else NT
(N
).Nkind
= N_Discriminant_Association
);
5031 Set_List1_With_Parent
(N
, Val
);
5032 end Set_Selector_Names
;
5034 procedure Set_Shift_Count_OK
5035 (N
: Node_Id
; Val
: Boolean := True) is
5037 pragma Assert
(False
5038 or else NT
(N
).Nkind
= N_Op_Rotate_Left
5039 or else NT
(N
).Nkind
= N_Op_Rotate_Right
5040 or else NT
(N
).Nkind
= N_Op_Shift_Left
5041 or else NT
(N
).Nkind
= N_Op_Shift_Right
5042 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
5044 end Set_Shift_Count_OK
;
5046 procedure Set_Source_Type
5047 (N
: Node_Id
; Val
: Entity_Id
) is
5049 pragma Assert
(False
5050 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
5051 Set_Node1
(N
, Val
); -- semantic field, no parent set
5052 end Set_Source_Type
;
5054 procedure Set_Specification
5055 (N
: Node_Id
; Val
: Node_Id
) is
5057 pragma Assert
(False
5058 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
5059 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
5060 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
5061 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
5062 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
5063 or else NT
(N
).Nkind
= N_Package_Declaration
5064 or else NT
(N
).Nkind
= N_Subprogram_Body
5065 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
5066 or else NT
(N
).Nkind
= N_Subprogram_Declaration
5067 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
5068 Set_Node1_With_Parent
(N
, Val
);
5069 end Set_Specification
;
5071 procedure Set_Statements
5072 (N
: Node_Id
; Val
: List_Id
) is
5074 pragma Assert
(False
5075 or else NT
(N
).Nkind
= N_Abortable_Part
5076 or else NT
(N
).Nkind
= N_Accept_Alternative
5077 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
5078 or else NT
(N
).Nkind
= N_Delay_Alternative
5079 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
5080 or else NT
(N
).Nkind
= N_Exception_Handler
5081 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
5082 or else NT
(N
).Nkind
= N_Loop_Statement
5083 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5084 Set_List3_With_Parent
(N
, Val
);
5087 procedure Set_Static_Processing_OK
5088 (N
: Node_Id
; Val
: Boolean) is
5090 pragma Assert
(False
5091 or else NT
(N
).Nkind
= N_Aggregate
);
5093 end Set_Static_Processing_OK
;
5095 procedure Set_Storage_Pool
5096 (N
: Node_Id
; Val
: Node_Id
) is
5098 pragma Assert
(False
5099 or else NT
(N
).Nkind
= N_Allocator
5100 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5101 or else NT
(N
).Nkind
= N_Free_Statement
5102 or else NT
(N
).Nkind
= N_Return_Statement
);
5103 Set_Node1
(N
, Val
); -- semantic field, no parent set
5104 end Set_Storage_Pool
;
5106 procedure Set_Strval
5107 (N
: Node_Id
; Val
: String_Id
) is
5109 pragma Assert
(False
5110 or else NT
(N
).Nkind
= N_Operator_Symbol
5111 or else NT
(N
).Nkind
= N_String_Literal
);
5115 procedure Set_Subtype_Indication
5116 (N
: Node_Id
; Val
: Node_Id
) is
5118 pragma Assert
(False
5119 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
5120 or else NT
(N
).Nkind
= N_Component_Definition
5121 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5122 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5123 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
5124 Set_Node5_With_Parent
(N
, Val
);
5125 end Set_Subtype_Indication
;
5127 procedure Set_Subtype_Mark
5128 (N
: Node_Id
; Val
: Node_Id
) is
5130 pragma Assert
(False
5131 or else NT
(N
).Nkind
= N_Access_Definition
5132 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5133 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5134 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
5135 or else NT
(N
).Nkind
= N_Qualified_Expression
5136 or else NT
(N
).Nkind
= N_Subtype_Indication
5137 or else NT
(N
).Nkind
= N_Type_Conversion
5138 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
5139 Set_Node4_With_Parent
(N
, Val
);
5140 end Set_Subtype_Mark
;
5142 procedure Set_Subtype_Marks
5143 (N
: Node_Id
; Val
: List_Id
) is
5145 pragma Assert
(False
5146 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
5147 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
5148 Set_List2_With_Parent
(N
, Val
);
5149 end Set_Subtype_Marks
;
5151 procedure Set_Synchronized_Present
5152 (N
: Node_Id
; Val
: Boolean := True) is
5154 pragma Assert
(False
5155 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5156 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5157 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5158 or else NT
(N
).Nkind
= N_Record_Definition
);
5160 end Set_Synchronized_Present
;
5162 procedure Set_Tagged_Present
5163 (N
: Node_Id
; Val
: Boolean := True) is
5165 pragma Assert
(False
5166 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
5167 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
5168 or else NT
(N
).Nkind
= N_Private_Type_Declaration
5169 or else NT
(N
).Nkind
= N_Record_Definition
5170 or else NT
(N
).Nkind
= N_With_Type_Clause
);
5171 Set_Flag15
(N
, Val
);
5172 end Set_Tagged_Present
;
5174 procedure Set_Target_Type
5175 (N
: Node_Id
; Val
: Entity_Id
) is
5177 pragma Assert
(False
5178 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
5179 Set_Node2
(N
, Val
); -- semantic field, no parent set
5180 end Set_Target_Type
;
5182 procedure Set_Task_Definition
5183 (N
: Node_Id
; Val
: Node_Id
) is
5185 pragma Assert
(False
5186 or else NT
(N
).Nkind
= N_Single_Task_Declaration
5187 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
5188 Set_Node3_With_Parent
(N
, Val
);
5189 end Set_Task_Definition
;
5191 procedure Set_Task_Present
5192 (N
: Node_Id
; Val
: Boolean := True) is
5194 pragma Assert
(False
5195 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5196 or else NT
(N
).Nkind
= N_Record_Definition
);
5198 end Set_Task_Present
;
5200 procedure Set_Then_Actions
5201 (N
: Node_Id
; Val
: List_Id
) is
5203 pragma Assert
(False
5204 or else NT
(N
).Nkind
= N_Conditional_Expression
);
5205 Set_List2
(N
, Val
); -- semantic field, no parent set
5206 end Set_Then_Actions
;
5208 procedure Set_Then_Statements
5209 (N
: Node_Id
; Val
: List_Id
) is
5211 pragma Assert
(False
5212 or else NT
(N
).Nkind
= N_Elsif_Part
5213 or else NT
(N
).Nkind
= N_If_Statement
);
5214 Set_List2_With_Parent
(N
, Val
);
5215 end Set_Then_Statements
;
5217 procedure Set_Treat_Fixed_As_Integer
5218 (N
: Node_Id
; Val
: Boolean := True) is
5220 pragma Assert
(False
5221 or else NT
(N
).Nkind
= N_Op_Divide
5222 or else NT
(N
).Nkind
= N_Op_Mod
5223 or else NT
(N
).Nkind
= N_Op_Multiply
5224 or else NT
(N
).Nkind
= N_Op_Rem
);
5225 Set_Flag14
(N
, Val
);
5226 end Set_Treat_Fixed_As_Integer
;
5228 procedure Set_Triggering_Alternative
5229 (N
: Node_Id
; Val
: Node_Id
) is
5231 pragma Assert
(False
5232 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
5233 Set_Node1_With_Parent
(N
, Val
);
5234 end Set_Triggering_Alternative
;
5236 procedure Set_Triggering_Statement
5237 (N
: Node_Id
; Val
: Node_Id
) is
5239 pragma Assert
(False
5240 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5241 Set_Node1_With_Parent
(N
, Val
);
5242 end Set_Triggering_Statement
;
5244 procedure Set_TSS_Elist
5245 (N
: Node_Id
; Val
: Elist_Id
) is
5247 pragma Assert
(False
5248 or else NT
(N
).Nkind
= N_Freeze_Entity
);
5249 Set_Elist3
(N
, Val
); -- semantic field, no parent set
5252 procedure Set_Type_Definition
5253 (N
: Node_Id
; Val
: Node_Id
) is
5255 pragma Assert
(False
5256 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
5257 Set_Node3_With_Parent
(N
, Val
);
5258 end Set_Type_Definition
;
5261 (N
: Node_Id
; Val
: Node_Id
) is
5263 pragma Assert
(False
5264 or else NT
(N
).Nkind
= N_Compilation_Unit
);
5265 Set_Node2_With_Parent
(N
, Val
);
5268 procedure Set_Unknown_Discriminants_Present
5269 (N
: Node_Id
; Val
: Boolean := True) is
5271 pragma Assert
(False
5272 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
5273 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
5274 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5275 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
5276 Set_Flag13
(N
, Val
);
5277 end Set_Unknown_Discriminants_Present
;
5279 procedure Set_Unreferenced_In_Spec
5280 (N
: Node_Id
; Val
: Boolean := True) is
5282 pragma Assert
(False
5283 or else NT
(N
).Nkind
= N_With_Clause
);
5285 end Set_Unreferenced_In_Spec
;
5287 procedure Set_Variant_Part
5288 (N
: Node_Id
; Val
: Node_Id
) is
5290 pragma Assert
(False
5291 or else NT
(N
).Nkind
= N_Component_List
);
5292 Set_Node4_With_Parent
(N
, Val
);
5293 end Set_Variant_Part
;
5295 procedure Set_Variants
5296 (N
: Node_Id
; Val
: List_Id
) is
5298 pragma Assert
(False
5299 or else NT
(N
).Nkind
= N_Variant_Part
);
5300 Set_List1_With_Parent
(N
, Val
);
5303 procedure Set_Visible_Declarations
5304 (N
: Node_Id
; Val
: List_Id
) is
5306 pragma Assert
(False
5307 or else NT
(N
).Nkind
= N_Package_Specification
5308 or else NT
(N
).Nkind
= N_Protected_Definition
5309 or else NT
(N
).Nkind
= N_Task_Definition
);
5310 Set_List2_With_Parent
(N
, Val
);
5311 end Set_Visible_Declarations
;
5313 procedure Set_Was_Originally_Stub
5314 (N
: Node_Id
; Val
: Boolean := True) is
5316 pragma Assert
(False
5317 or else NT
(N
).Nkind
= N_Package_Body
5318 or else NT
(N
).Nkind
= N_Protected_Body
5319 or else NT
(N
).Nkind
= N_Subprogram_Body
5320 or else NT
(N
).Nkind
= N_Task_Body
);
5321 Set_Flag13
(N
, Val
);
5322 end Set_Was_Originally_Stub
;
5324 procedure Set_Zero_Cost_Handling
5325 (N
: Node_Id
; Val
: Boolean := True) is
5327 pragma Assert
(False
5328 or else NT
(N
).Nkind
= N_Exception_Handler
5329 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
5331 end Set_Zero_Cost_Handling
;
5333 -------------------------
5334 -- Iterator Procedures --
5335 -------------------------
5337 procedure Next_Entity
(N
: in out Node_Id
) is
5339 N
:= Next_Entity
(N
);
5342 procedure Next_Named_Actual
(N
: in out Node_Id
) is
5344 N
:= Next_Named_Actual
(N
);
5345 end Next_Named_Actual
;
5347 procedure Next_Rep_Item
(N
: in out Node_Id
) is
5349 N
:= Next_Rep_Item
(N
);
5352 procedure Next_Use_Clause
(N
: in out Node_Id
) is
5354 N
:= Next_Use_Clause
(N
);
5355 end Next_Use_Clause
;
5361 function End_Location
(N
: Node_Id
) return Source_Ptr
is
5362 L
: constant Uint
:= End_Span
(N
);
5367 return Source_Ptr
(Int
(Sloc
(N
)) + UI_To_Int
(L
));
5371 ----------------------
5372 -- Set_End_Location --
5373 ----------------------
5375 procedure Set_End_Location
(N
: Node_Id
; S
: Source_Ptr
) is
5378 UI_From_Int
(Int
(S
) - Int
(Sloc
(N
))));
5379 end Set_End_Location
;