1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE. --
18 -- As a special exception under Section 7 of GPL version 3, you are granted --
19 -- additional permissions described in the GCC Runtime Library Exception, --
20 -- version 3.1, as published by the Free Software Foundation. --
22 -- You should have received a copy of the GNU General Public License and --
23 -- a copy of the GCC Runtime Library Exception along with this program; --
24 -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
25 -- <http://www.gnu.org/licenses/>. --
27 -- GNAT was originally developed by the GNAT team at New York University. --
28 -- Extensive contributions were provided by Ada Core Technologies Inc. --
30 ------------------------------------------------------------------------------
32 pragma Style_Checks
(All_Checks
);
33 -- No subprogram ordering check, due to logical grouping
35 with Atree
; use Atree
;
39 use Atree
.Unchecked_Access
;
40 -- This package is one of the few packages which is allowed to make direct
41 -- references to tree nodes (since it is in the business of providing a
42 -- higher level of tree access which other clients are expected to use and
43 -- which implements checks).
45 use Atree_Private_Part
;
46 -- The only reason that we ask for direct access to the private part of
47 -- the tree package is so that we can directly reference the Nkind field
48 -- of nodes table entries. We do this since it helps the efficiency of
49 -- the Sinfo debugging checks considerably (note that when we are checking
50 -- Nkind values, we don't need to check for a valid node reference, because
51 -- we will check that anyway when we reference the field).
53 NT
: Nodes
.Table_Ptr
renames Nodes
.Table
;
54 -- A short hand abbreviation, useful for the debugging checks
56 ----------------------------
57 -- Field Access Functions --
58 ----------------------------
60 function ABE_Is_Certain
61 (N
: Node_Id
) return Boolean is
64 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
65 or else NT
(N
).Nkind
= N_Function_Call
66 or else NT
(N
).Nkind
= N_Function_Instantiation
67 or else NT
(N
).Nkind
= N_Package_Instantiation
68 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
69 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
73 function Abort_Present
74 (N
: Node_Id
) return Boolean is
77 or else NT
(N
).Nkind
= N_Requeue_Statement
);
81 function Abortable_Part
82 (N
: Node_Id
) return Node_Id
is
85 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
89 function Abstract_Present
90 (N
: Node_Id
) return Boolean is
93 or else NT
(N
).Nkind
= N_Derived_Type_Definition
94 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
95 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
96 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
97 or else NT
(N
).Nkind
= N_Private_Type_Declaration
98 or else NT
(N
).Nkind
= N_Record_Definition
);
100 end Abstract_Present
;
102 function Accept_Handler_Records
103 (N
: Node_Id
) return List_Id
is
106 or else NT
(N
).Nkind
= N_Accept_Alternative
);
108 end Accept_Handler_Records
;
110 function Accept_Statement
111 (N
: Node_Id
) return Node_Id
is
114 or else NT
(N
).Nkind
= N_Accept_Alternative
);
116 end Accept_Statement
;
118 function Access_Definition
119 (N
: Node_Id
) return Node_Id
is
122 or else NT
(N
).Nkind
= N_Component_Definition
123 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
124 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
126 end Access_Definition
;
128 function Access_To_Subprogram_Definition
129 (N
: Node_Id
) return Node_Id
is
132 or else NT
(N
).Nkind
= N_Access_Definition
);
134 end Access_To_Subprogram_Definition
;
136 function Access_Types_To_Process
137 (N
: Node_Id
) return Elist_Id
is
140 or else NT
(N
).Nkind
= N_Freeze_Entity
);
142 end Access_Types_To_Process
;
145 (N
: Node_Id
) return List_Id
is
148 or else NT
(N
).Nkind
= N_And_Then
149 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
150 or else NT
(N
).Nkind
= N_Freeze_Entity
151 or else NT
(N
).Nkind
= N_Or_Else
);
155 function Activation_Chain_Entity
156 (N
: Node_Id
) return Node_Id
is
159 or else NT
(N
).Nkind
= N_Block_Statement
160 or else NT
(N
).Nkind
= N_Entry_Body
161 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
162 or else NT
(N
).Nkind
= N_Package_Declaration
163 or else NT
(N
).Nkind
= N_Subprogram_Body
164 or else NT
(N
).Nkind
= N_Task_Body
);
166 end Activation_Chain_Entity
;
168 function Acts_As_Spec
169 (N
: Node_Id
) return Boolean is
172 or else NT
(N
).Nkind
= N_Compilation_Unit
173 or else NT
(N
).Nkind
= N_Subprogram_Body
);
177 function Actual_Designated_Subtype
178 (N
: Node_Id
) return Node_Id
is
181 or else NT
(N
).Nkind
= N_Explicit_Dereference
182 or else NT
(N
).Nkind
= N_Free_Statement
);
184 end Actual_Designated_Subtype
;
186 function Address_Warning_Posted
187 (N
: Node_Id
) return Boolean is
190 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
192 end Address_Warning_Posted
;
194 function Aggregate_Bounds
195 (N
: Node_Id
) return Node_Id
is
198 or else NT
(N
).Nkind
= N_Aggregate
);
200 end Aggregate_Bounds
;
202 function Aliased_Present
203 (N
: Node_Id
) return Boolean is
206 or else NT
(N
).Nkind
= N_Component_Definition
207 or else NT
(N
).Nkind
= N_Object_Declaration
);
212 (N
: Node_Id
) return Boolean is
215 or else NT
(N
).Nkind
= N_Others_Choice
);
220 (N
: Node_Id
) return Boolean is
223 or else NT
(N
).Nkind
= N_Access_Definition
224 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
228 function Alternatives
229 (N
: Node_Id
) return List_Id
is
232 or else NT
(N
).Nkind
= N_Case_Statement
233 or else NT
(N
).Nkind
= N_In
234 or else NT
(N
).Nkind
= N_Not_In
);
238 function Ancestor_Part
239 (N
: Node_Id
) return Node_Id
is
242 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
246 function Array_Aggregate
247 (N
: Node_Id
) return Node_Id
is
250 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
254 function Assignment_OK
255 (N
: Node_Id
) return Boolean is
258 or else NT
(N
).Nkind
= N_Object_Declaration
259 or else NT
(N
).Nkind
in N_Subexpr
);
263 function Associated_Node
264 (N
: Node_Id
) return Node_Id
is
267 or else NT
(N
).Nkind
in N_Has_Entity
268 or else NT
(N
).Nkind
= N_Aggregate
269 or else NT
(N
).Nkind
= N_Extension_Aggregate
270 or else NT
(N
).Nkind
= N_Selected_Component
);
275 (N
: Node_Id
) return Node_Id
is
278 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
282 function Attribute_Name
283 (N
: Node_Id
) return Name_Id
is
286 or else NT
(N
).Nkind
= N_Attribute_Reference
);
290 function Aux_Decls_Node
291 (N
: Node_Id
) return Node_Id
is
294 or else NT
(N
).Nkind
= N_Compilation_Unit
);
298 function Backwards_OK
299 (N
: Node_Id
) return Boolean is
302 or else NT
(N
).Nkind
= N_Assignment_Statement
);
306 function Bad_Is_Detected
307 (N
: Node_Id
) return Boolean is
310 or else NT
(N
).Nkind
= N_Subprogram_Body
);
314 function Body_Required
315 (N
: Node_Id
) return Boolean is
318 or else NT
(N
).Nkind
= N_Compilation_Unit
);
322 function Body_To_Inline
323 (N
: Node_Id
) return Node_Id
is
326 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
331 (N
: Node_Id
) return Boolean is
334 or else NT
(N
).Nkind
= N_Component_Association
335 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
336 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
337 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
338 or else NT
(N
).Nkind
= N_Generic_Association
);
343 (N
: Node_Id
) return Boolean is
346 or else NT
(N
).Nkind
= N_Extended_Return_Statement
347 or else NT
(N
).Nkind
= N_Return_Statement
);
351 function Char_Literal_Value
352 (N
: Node_Id
) return Uint
is
355 or else NT
(N
).Nkind
= N_Character_Literal
);
357 end Char_Literal_Value
;
360 (N
: Node_Id
) return Name_Id
is
363 or else NT
(N
).Nkind
in N_Has_Chars
);
367 function Check_Address_Alignment
368 (N
: Node_Id
) return Boolean is
371 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
373 end Check_Address_Alignment
;
375 function Choice_Parameter
376 (N
: Node_Id
) return Node_Id
is
379 or else NT
(N
).Nkind
= N_Exception_Handler
);
381 end Choice_Parameter
;
384 (N
: Node_Id
) return List_Id
is
387 or else NT
(N
).Nkind
= N_Component_Association
);
391 function Coextensions
392 (N
: Node_Id
) return Elist_Id
is
395 or else NT
(N
).Nkind
= N_Allocator
);
399 function Comes_From_Extended_Return_Statement
400 (N
: Node_Id
) return Boolean is
403 or else NT
(N
).Nkind
= N_Return_Statement
);
405 end Comes_From_Extended_Return_Statement
;
407 function Compile_Time_Known_Aggregate
408 (N
: Node_Id
) return Boolean is
411 or else NT
(N
).Nkind
= N_Aggregate
);
413 end Compile_Time_Known_Aggregate
;
415 function Component_Associations
416 (N
: Node_Id
) return List_Id
is
419 or else NT
(N
).Nkind
= N_Aggregate
420 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
422 end Component_Associations
;
424 function Component_Clauses
425 (N
: Node_Id
) return List_Id
is
428 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
430 end Component_Clauses
;
432 function Component_Definition
433 (N
: Node_Id
) return Node_Id
is
436 or else NT
(N
).Nkind
= N_Component_Declaration
437 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
438 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
440 end Component_Definition
;
442 function Component_Items
443 (N
: Node_Id
) return List_Id
is
446 or else NT
(N
).Nkind
= N_Component_List
);
450 function Component_List
451 (N
: Node_Id
) return Node_Id
is
454 or else NT
(N
).Nkind
= N_Record_Definition
455 or else NT
(N
).Nkind
= N_Variant
);
459 function Component_Name
460 (N
: Node_Id
) return Node_Id
is
463 or else NT
(N
).Nkind
= N_Component_Clause
);
467 function Componentwise_Assignment
468 (N
: Node_Id
) return Boolean is
471 or else NT
(N
).Nkind
= N_Assignment_Statement
);
473 end Componentwise_Assignment
;
476 (N
: Node_Id
) return Node_Id
is
479 or else NT
(N
).Nkind
= N_Accept_Alternative
480 or else NT
(N
).Nkind
= N_Delay_Alternative
481 or else NT
(N
).Nkind
= N_Elsif_Part
482 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
483 or else NT
(N
).Nkind
= N_Exit_Statement
484 or else NT
(N
).Nkind
= N_If_Statement
485 or else NT
(N
).Nkind
= N_Iteration_Scheme
486 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
487 or else NT
(N
).Nkind
= N_Raise_Program_Error
488 or else NT
(N
).Nkind
= N_Raise_Storage_Error
489 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
493 function Condition_Actions
494 (N
: Node_Id
) return List_Id
is
497 or else NT
(N
).Nkind
= N_Elsif_Part
498 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
500 end Condition_Actions
;
502 function Config_Pragmas
503 (N
: Node_Id
) return List_Id
is
506 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
510 function Constant_Present
511 (N
: Node_Id
) return Boolean is
514 or else NT
(N
).Nkind
= N_Access_Definition
515 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
516 or else NT
(N
).Nkind
= N_Object_Declaration
);
518 end Constant_Present
;
521 (N
: Node_Id
) return Node_Id
is
524 or else NT
(N
).Nkind
= N_Subtype_Indication
);
529 (N
: Node_Id
) return List_Id
is
532 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
536 function Context_Installed
537 (N
: Node_Id
) return Boolean is
540 or else NT
(N
).Nkind
= N_With_Clause
);
542 end Context_Installed
;
544 function Context_Items
545 (N
: Node_Id
) return List_Id
is
548 or else NT
(N
).Nkind
= N_Compilation_Unit
);
552 function Context_Pending
553 (N
: Node_Id
) return Boolean is
556 or else NT
(N
).Nkind
= N_Compilation_Unit
);
560 function Controlling_Argument
561 (N
: Node_Id
) return Node_Id
is
564 or else NT
(N
).Nkind
= N_Function_Call
565 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
567 end Controlling_Argument
;
569 function Conversion_OK
570 (N
: Node_Id
) return Boolean is
573 or else NT
(N
).Nkind
= N_Type_Conversion
);
577 function Corresponding_Body
578 (N
: Node_Id
) return Node_Id
is
581 or else NT
(N
).Nkind
= N_Entry_Declaration
582 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
583 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
584 or else NT
(N
).Nkind
= N_Package_Body_Stub
585 or else NT
(N
).Nkind
= N_Package_Declaration
586 or else NT
(N
).Nkind
= N_Protected_Body_Stub
587 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
588 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
589 or else NT
(N
).Nkind
= N_Subprogram_Declaration
590 or else NT
(N
).Nkind
= N_Task_Body_Stub
591 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
593 end Corresponding_Body
;
595 function Corresponding_Formal_Spec
596 (N
: Node_Id
) return Node_Id
is
599 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
601 end Corresponding_Formal_Spec
;
603 function Corresponding_Generic_Association
604 (N
: Node_Id
) return Node_Id
is
607 or else NT
(N
).Nkind
= N_Object_Declaration
608 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
610 end Corresponding_Generic_Association
;
612 function Corresponding_Integer_Value
613 (N
: Node_Id
) return Uint
is
616 or else NT
(N
).Nkind
= N_Real_Literal
);
618 end Corresponding_Integer_Value
;
620 function Corresponding_Spec
621 (N
: Node_Id
) return Node_Id
is
624 or else NT
(N
).Nkind
= N_Package_Body
625 or else NT
(N
).Nkind
= N_Protected_Body
626 or else NT
(N
).Nkind
= N_Subprogram_Body
627 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
628 or else NT
(N
).Nkind
= N_Task_Body
629 or else NT
(N
).Nkind
= N_With_Clause
);
631 end Corresponding_Spec
;
633 function Corresponding_Stub
634 (N
: Node_Id
) return Node_Id
is
637 or else NT
(N
).Nkind
= N_Subunit
);
639 end Corresponding_Stub
;
641 function Dcheck_Function
642 (N
: Node_Id
) return Entity_Id
is
645 or else NT
(N
).Nkind
= N_Variant
);
649 function Debug_Statement
650 (N
: Node_Id
) return Node_Id
is
653 or else NT
(N
).Nkind
= N_Pragma
);
657 function Declarations
658 (N
: Node_Id
) return List_Id
is
661 or else NT
(N
).Nkind
= N_Accept_Statement
662 or else NT
(N
).Nkind
= N_Block_Statement
663 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
664 or else NT
(N
).Nkind
= N_Entry_Body
665 or else NT
(N
).Nkind
= N_Package_Body
666 or else NT
(N
).Nkind
= N_Protected_Body
667 or else NT
(N
).Nkind
= N_Subprogram_Body
668 or else NT
(N
).Nkind
= N_Task_Body
);
672 function Default_Expression
673 (N
: Node_Id
) return Node_Id
is
676 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
677 or else NT
(N
).Nkind
= N_Parameter_Specification
);
679 end Default_Expression
;
681 function Default_Name
682 (N
: Node_Id
) return Node_Id
is
685 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
686 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
);
690 function Defining_Identifier
691 (N
: Node_Id
) return Entity_Id
is
694 or else NT
(N
).Nkind
= N_Component_Declaration
695 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
696 or else NT
(N
).Nkind
= N_Discriminant_Specification
697 or else NT
(N
).Nkind
= N_Entry_Body
698 or else NT
(N
).Nkind
= N_Entry_Declaration
699 or else NT
(N
).Nkind
= N_Entry_Index_Specification
700 or else NT
(N
).Nkind
= N_Exception_Declaration
701 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
702 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
703 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
704 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
705 or else NT
(N
).Nkind
= N_Full_Type_Declaration
706 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
707 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
708 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
709 or else NT
(N
).Nkind
= N_Number_Declaration
710 or else NT
(N
).Nkind
= N_Object_Declaration
711 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
712 or else NT
(N
).Nkind
= N_Package_Body_Stub
713 or else NT
(N
).Nkind
= N_Parameter_Specification
714 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
715 or else NT
(N
).Nkind
= N_Private_Type_Declaration
716 or else NT
(N
).Nkind
= N_Protected_Body
717 or else NT
(N
).Nkind
= N_Protected_Body_Stub
718 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
719 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
720 or else NT
(N
).Nkind
= N_Single_Task_Declaration
721 or else NT
(N
).Nkind
= N_Subtype_Declaration
722 or else NT
(N
).Nkind
= N_Task_Body
723 or else NT
(N
).Nkind
= N_Task_Body_Stub
724 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
726 end Defining_Identifier
;
728 function Defining_Unit_Name
729 (N
: Node_Id
) return Node_Id
is
732 or else NT
(N
).Nkind
= N_Function_Instantiation
733 or else NT
(N
).Nkind
= N_Function_Specification
734 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
735 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
736 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
737 or else NT
(N
).Nkind
= N_Package_Body
738 or else NT
(N
).Nkind
= N_Package_Instantiation
739 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
740 or else NT
(N
).Nkind
= N_Package_Specification
741 or else NT
(N
).Nkind
= N_Procedure_Instantiation
742 or else NT
(N
).Nkind
= N_Procedure_Specification
);
744 end Defining_Unit_Name
;
746 function Delay_Alternative
747 (N
: Node_Id
) return Node_Id
is
750 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
752 end Delay_Alternative
;
754 function Delay_Statement
755 (N
: Node_Id
) return Node_Id
is
758 or else NT
(N
).Nkind
= N_Delay_Alternative
);
762 function Delta_Expression
763 (N
: Node_Id
) return Node_Id
is
766 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
767 or else NT
(N
).Nkind
= N_Delta_Constraint
768 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
770 end Delta_Expression
;
772 function Digits_Expression
773 (N
: Node_Id
) return Node_Id
is
776 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
777 or else NT
(N
).Nkind
= N_Digits_Constraint
778 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
780 end Digits_Expression
;
782 function Discr_Check_Funcs_Built
783 (N
: Node_Id
) return Boolean is
786 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
788 end Discr_Check_Funcs_Built
;
790 function Discrete_Choices
791 (N
: Node_Id
) return List_Id
is
794 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
795 or else NT
(N
).Nkind
= N_Variant
);
797 end Discrete_Choices
;
799 function Discrete_Range
800 (N
: Node_Id
) return Node_Id
is
803 or else NT
(N
).Nkind
= N_Slice
);
807 function Discrete_Subtype_Definition
808 (N
: Node_Id
) return Node_Id
is
811 or else NT
(N
).Nkind
= N_Entry_Declaration
812 or else NT
(N
).Nkind
= N_Entry_Index_Specification
813 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
815 end Discrete_Subtype_Definition
;
817 function Discrete_Subtype_Definitions
818 (N
: Node_Id
) return List_Id
is
821 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
823 end Discrete_Subtype_Definitions
;
825 function Discriminant_Specifications
826 (N
: Node_Id
) return List_Id
is
829 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
830 or else NT
(N
).Nkind
= N_Full_Type_Declaration
831 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
832 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
833 or else NT
(N
).Nkind
= N_Private_Type_Declaration
834 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
835 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
837 end Discriminant_Specifications
;
839 function Discriminant_Type
840 (N
: Node_Id
) return Node_Id
is
843 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
845 end Discriminant_Type
;
847 function Do_Accessibility_Check
848 (N
: Node_Id
) return Boolean is
851 or else NT
(N
).Nkind
= N_Parameter_Specification
);
853 end Do_Accessibility_Check
;
855 function Do_Discriminant_Check
856 (N
: Node_Id
) return Boolean is
859 or else NT
(N
).Nkind
= N_Selected_Component
);
861 end Do_Discriminant_Check
;
863 function Do_Division_Check
864 (N
: Node_Id
) return Boolean is
867 or else NT
(N
).Nkind
= N_Op_Divide
868 or else NT
(N
).Nkind
= N_Op_Mod
869 or else NT
(N
).Nkind
= N_Op_Rem
);
871 end Do_Division_Check
;
873 function Do_Length_Check
874 (N
: Node_Id
) return Boolean is
877 or else NT
(N
).Nkind
= N_Assignment_Statement
878 or else NT
(N
).Nkind
= N_Op_And
879 or else NT
(N
).Nkind
= N_Op_Or
880 or else NT
(N
).Nkind
= N_Op_Xor
881 or else NT
(N
).Nkind
= N_Type_Conversion
);
885 function Do_Overflow_Check
886 (N
: Node_Id
) return Boolean is
889 or else NT
(N
).Nkind
in N_Op
890 or else NT
(N
).Nkind
= N_Attribute_Reference
891 or else NT
(N
).Nkind
= N_Type_Conversion
);
893 end Do_Overflow_Check
;
895 function Do_Range_Check
896 (N
: Node_Id
) return Boolean is
899 or else NT
(N
).Nkind
in N_Subexpr
);
903 function Do_Storage_Check
904 (N
: Node_Id
) return Boolean is
907 or else NT
(N
).Nkind
= N_Allocator
908 or else NT
(N
).Nkind
= N_Subprogram_Body
);
910 end Do_Storage_Check
;
912 function Do_Tag_Check
913 (N
: Node_Id
) return Boolean is
916 or else NT
(N
).Nkind
= N_Assignment_Statement
917 or else NT
(N
).Nkind
= N_Extended_Return_Statement
918 or else NT
(N
).Nkind
= N_Function_Call
919 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
920 or else NT
(N
).Nkind
= N_Return_Statement
921 or else NT
(N
).Nkind
= N_Type_Conversion
);
925 function Elaborate_All_Desirable
926 (N
: Node_Id
) return Boolean is
929 or else NT
(N
).Nkind
= N_With_Clause
);
931 end Elaborate_All_Desirable
;
933 function Elaborate_All_Present
934 (N
: Node_Id
) return Boolean is
937 or else NT
(N
).Nkind
= N_With_Clause
);
939 end Elaborate_All_Present
;
941 function Elaborate_Desirable
942 (N
: Node_Id
) return Boolean is
945 or else NT
(N
).Nkind
= N_With_Clause
);
947 end Elaborate_Desirable
;
949 function Elaborate_Present
950 (N
: Node_Id
) return Boolean is
953 or else NT
(N
).Nkind
= N_With_Clause
);
955 end Elaborate_Present
;
957 function Elaboration_Boolean
958 (N
: Node_Id
) return Node_Id
is
961 or else NT
(N
).Nkind
= N_Function_Specification
962 or else NT
(N
).Nkind
= N_Procedure_Specification
);
964 end Elaboration_Boolean
;
966 function Else_Actions
967 (N
: Node_Id
) return List_Id
is
970 or else NT
(N
).Nkind
= N_Conditional_Expression
);
974 function Else_Statements
975 (N
: Node_Id
) return List_Id
is
978 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
979 or else NT
(N
).Nkind
= N_If_Statement
980 or else NT
(N
).Nkind
= N_Selective_Accept
);
985 (N
: Node_Id
) return List_Id
is
988 or else NT
(N
).Nkind
= N_If_Statement
);
992 function Enclosing_Variant
993 (N
: Node_Id
) return Node_Id
is
996 or else NT
(N
).Nkind
= N_Variant
);
998 end Enclosing_Variant
;
1001 (N
: Node_Id
) return Node_Id
is
1003 pragma Assert
(False
1004 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
1005 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
1006 or else NT
(N
).Nkind
= N_Loop_Statement
1007 or else NT
(N
).Nkind
= N_Package_Specification
1008 or else NT
(N
).Nkind
= N_Protected_Body
1009 or else NT
(N
).Nkind
= N_Protected_Definition
1010 or else NT
(N
).Nkind
= N_Record_Definition
1011 or else NT
(N
).Nkind
= N_Task_Definition
);
1016 (N
: Node_Id
) return Uint
is
1018 pragma Assert
(False
1019 or else NT
(N
).Nkind
= N_Case_Statement
1020 or else NT
(N
).Nkind
= N_If_Statement
);
1025 (N
: Node_Id
) return Node_Id
is
1027 pragma Assert
(False
1028 or else NT
(N
).Nkind
in N_Has_Entity
1029 or else NT
(N
).Nkind
= N_Freeze_Entity
1030 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1034 function Entity_Or_Associated_Node
1035 (N
: Node_Id
) return Node_Id
is
1037 pragma Assert
(False
1038 or else NT
(N
).Nkind
in N_Has_Entity
1039 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1041 end Entity_Or_Associated_Node
;
1043 function Entry_Body_Formal_Part
1044 (N
: Node_Id
) return Node_Id
is
1046 pragma Assert
(False
1047 or else NT
(N
).Nkind
= N_Entry_Body
);
1049 end Entry_Body_Formal_Part
;
1051 function Entry_Call_Alternative
1052 (N
: Node_Id
) return Node_Id
is
1054 pragma Assert
(False
1055 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
1056 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
1058 end Entry_Call_Alternative
;
1060 function Entry_Call_Statement
1061 (N
: Node_Id
) return Node_Id
is
1063 pragma Assert
(False
1064 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
1066 end Entry_Call_Statement
;
1068 function Entry_Direct_Name
1069 (N
: Node_Id
) return Node_Id
is
1071 pragma Assert
(False
1072 or else NT
(N
).Nkind
= N_Accept_Statement
);
1074 end Entry_Direct_Name
;
1076 function Entry_Index
1077 (N
: Node_Id
) return Node_Id
is
1079 pragma Assert
(False
1080 or else NT
(N
).Nkind
= N_Accept_Statement
);
1084 function Entry_Index_Specification
1085 (N
: Node_Id
) return Node_Id
is
1087 pragma Assert
(False
1088 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
1090 end Entry_Index_Specification
;
1093 (N
: Node_Id
) return Node_Id
is
1095 pragma Assert
(False
1096 or else NT
(N
).Nkind
in N_Has_Etype
);
1100 function Exception_Choices
1101 (N
: Node_Id
) return List_Id
is
1103 pragma Assert
(False
1104 or else NT
(N
).Nkind
= N_Exception_Handler
);
1106 end Exception_Choices
;
1108 function Exception_Handlers
1109 (N
: Node_Id
) return List_Id
is
1111 pragma Assert
(False
1112 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1114 end Exception_Handlers
;
1116 function Exception_Junk
1117 (N
: Node_Id
) return Boolean is
1119 pragma Assert
(False
1120 or else NT
(N
).Nkind
= N_Block_Statement
1121 or else NT
(N
).Nkind
= N_Goto_Statement
1122 or else NT
(N
).Nkind
= N_Label
1123 or else NT
(N
).Nkind
= N_Object_Declaration
1124 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1128 function Exception_Label
1129 (N
: Node_Id
) return Node_Id
is
1131 pragma Assert
(False
1132 or else NT
(N
).Nkind
= N_Exception_Handler
1133 or else NT
(N
).Nkind
= N_Push_Constraint_Error_Label
1134 or else NT
(N
).Nkind
= N_Push_Program_Error_Label
1135 or else NT
(N
).Nkind
= N_Push_Storage_Error_Label
);
1137 end Exception_Label
;
1139 function Expansion_Delayed
1140 (N
: Node_Id
) return Boolean is
1142 pragma Assert
(False
1143 or else NT
(N
).Nkind
= N_Aggregate
1144 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1146 end Expansion_Delayed
;
1148 function Explicit_Actual_Parameter
1149 (N
: Node_Id
) return Node_Id
is
1151 pragma Assert
(False
1152 or else NT
(N
).Nkind
= N_Parameter_Association
);
1154 end Explicit_Actual_Parameter
;
1156 function Explicit_Generic_Actual_Parameter
1157 (N
: Node_Id
) return Node_Id
is
1159 pragma Assert
(False
1160 or else NT
(N
).Nkind
= N_Generic_Association
);
1162 end Explicit_Generic_Actual_Parameter
;
1165 (N
: Node_Id
) return Node_Id
is
1167 pragma Assert
(False
1168 or else NT
(N
).Nkind
= N_Allocator
1169 or else NT
(N
).Nkind
= N_Assignment_Statement
1170 or else NT
(N
).Nkind
= N_At_Clause
1171 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1172 or else NT
(N
).Nkind
= N_Case_Statement
1173 or else NT
(N
).Nkind
= N_Code_Statement
1174 or else NT
(N
).Nkind
= N_Component_Association
1175 or else NT
(N
).Nkind
= N_Component_Declaration
1176 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
1177 or else NT
(N
).Nkind
= N_Delay_Until_Statement
1178 or else NT
(N
).Nkind
= N_Discriminant_Association
1179 or else NT
(N
).Nkind
= N_Discriminant_Specification
1180 or else NT
(N
).Nkind
= N_Exception_Declaration
1181 or else NT
(N
).Nkind
= N_Free_Statement
1182 or else NT
(N
).Nkind
= N_Mod_Clause
1183 or else NT
(N
).Nkind
= N_Modular_Type_Definition
1184 or else NT
(N
).Nkind
= N_Number_Declaration
1185 or else NT
(N
).Nkind
= N_Object_Declaration
1186 or else NT
(N
).Nkind
= N_Parameter_Specification
1187 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
1188 or else NT
(N
).Nkind
= N_Qualified_Expression
1189 or else NT
(N
).Nkind
= N_Raise_Statement
1190 or else NT
(N
).Nkind
= N_Return_Statement
1191 or else NT
(N
).Nkind
= N_Type_Conversion
1192 or else NT
(N
).Nkind
= N_Unchecked_Expression
1193 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1197 function Expressions
1198 (N
: Node_Id
) return List_Id
is
1200 pragma Assert
(False
1201 or else NT
(N
).Nkind
= N_Aggregate
1202 or else NT
(N
).Nkind
= N_Attribute_Reference
1203 or else NT
(N
).Nkind
= N_Conditional_Expression
1204 or else NT
(N
).Nkind
= N_Extension_Aggregate
1205 or else NT
(N
).Nkind
= N_Indexed_Component
);
1210 (N
: Node_Id
) return Node_Id
is
1212 pragma Assert
(False
1213 or else NT
(N
).Nkind
= N_Component_Clause
);
1217 function First_Inlined_Subprogram
1218 (N
: Node_Id
) return Entity_Id
is
1220 pragma Assert
(False
1221 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1223 end First_Inlined_Subprogram
;
1226 (N
: Node_Id
) return Boolean is
1228 pragma Assert
(False
1229 or else NT
(N
).Nkind
= N_With_Clause
);
1233 function First_Named_Actual
1234 (N
: Node_Id
) return Node_Id
is
1236 pragma Assert
(False
1237 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1238 or else NT
(N
).Nkind
= N_Function_Call
1239 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1241 end First_Named_Actual
;
1243 function First_Real_Statement
1244 (N
: Node_Id
) return Node_Id
is
1246 pragma Assert
(False
1247 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1249 end First_Real_Statement
;
1251 function First_Subtype_Link
1252 (N
: Node_Id
) return Entity_Id
is
1254 pragma Assert
(False
1255 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1257 end First_Subtype_Link
;
1259 function Float_Truncate
1260 (N
: Node_Id
) return Boolean is
1262 pragma Assert
(False
1263 or else NT
(N
).Nkind
= N_Type_Conversion
);
1267 function Formal_Type_Definition
1268 (N
: Node_Id
) return Node_Id
is
1270 pragma Assert
(False
1271 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
1273 end Formal_Type_Definition
;
1275 function Forwards_OK
1276 (N
: Node_Id
) return Boolean is
1278 pragma Assert
(False
1279 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1283 function From_At_End
1284 (N
: Node_Id
) return Boolean is
1286 pragma Assert
(False
1287 or else NT
(N
).Nkind
= N_Raise_Statement
);
1291 function From_At_Mod
1292 (N
: Node_Id
) return Boolean is
1294 pragma Assert
(False
1295 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1299 function From_Default
1300 (N
: Node_Id
) return Boolean is
1302 pragma Assert
(False
1303 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
1307 function Generic_Associations
1308 (N
: Node_Id
) return List_Id
is
1310 pragma Assert
(False
1311 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1312 or else NT
(N
).Nkind
= N_Function_Instantiation
1313 or else NT
(N
).Nkind
= N_Package_Instantiation
1314 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1316 end Generic_Associations
;
1318 function Generic_Formal_Declarations
1319 (N
: Node_Id
) return List_Id
is
1321 pragma Assert
(False
1322 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1323 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
1325 end Generic_Formal_Declarations
;
1327 function Generic_Parent
1328 (N
: Node_Id
) return Node_Id
is
1330 pragma Assert
(False
1331 or else NT
(N
).Nkind
= N_Function_Specification
1332 or else NT
(N
).Nkind
= N_Package_Specification
1333 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1337 function Generic_Parent_Type
1338 (N
: Node_Id
) return Node_Id
is
1340 pragma Assert
(False
1341 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1343 end Generic_Parent_Type
;
1345 function Handled_Statement_Sequence
1346 (N
: Node_Id
) return Node_Id
is
1348 pragma Assert
(False
1349 or else NT
(N
).Nkind
= N_Accept_Statement
1350 or else NT
(N
).Nkind
= N_Block_Statement
1351 or else NT
(N
).Nkind
= N_Entry_Body
1352 or else NT
(N
).Nkind
= N_Extended_Return_Statement
1353 or else NT
(N
).Nkind
= N_Package_Body
1354 or else NT
(N
).Nkind
= N_Subprogram_Body
1355 or else NT
(N
).Nkind
= N_Task_Body
);
1357 end Handled_Statement_Sequence
;
1359 function Handler_List_Entry
1360 (N
: Node_Id
) return Node_Id
is
1362 pragma Assert
(False
1363 or else NT
(N
).Nkind
= N_Object_Declaration
);
1365 end Handler_List_Entry
;
1367 function Has_Created_Identifier
1368 (N
: Node_Id
) return Boolean is
1370 pragma Assert
(False
1371 or else NT
(N
).Nkind
= N_Block_Statement
1372 or else NT
(N
).Nkind
= N_Loop_Statement
);
1374 end Has_Created_Identifier
;
1376 function Has_Dynamic_Length_Check
1377 (N
: Node_Id
) return Boolean is
1380 end Has_Dynamic_Length_Check
;
1382 function Has_Dynamic_Range_Check
1383 (N
: Node_Id
) return Boolean is
1386 end Has_Dynamic_Range_Check
;
1388 function Has_Init_Expression
1389 (N
: Node_Id
) return Boolean is
1391 pragma Assert
(False
1392 or else NT
(N
).Nkind
= N_Object_Declaration
);
1394 end Has_Init_Expression
;
1396 function Has_Local_Raise
1397 (N
: Node_Id
) return Boolean is
1399 pragma Assert
(False
1400 or else NT
(N
).Nkind
= N_Exception_Handler
);
1402 end Has_Local_Raise
;
1404 function Has_No_Elaboration_Code
1405 (N
: Node_Id
) return Boolean is
1407 pragma Assert
(False
1408 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1410 end Has_No_Elaboration_Code
;
1412 function Has_Priority_Pragma
1413 (N
: Node_Id
) return Boolean is
1415 pragma Assert
(False
1416 or else NT
(N
).Nkind
= N_Protected_Definition
1417 or else NT
(N
).Nkind
= N_Subprogram_Body
1418 or else NT
(N
).Nkind
= N_Task_Definition
);
1420 end Has_Priority_Pragma
;
1422 function Has_Private_View
1423 (N
: Node_Id
) return Boolean is
1425 pragma Assert
(False
1426 or else NT
(N
).Nkind
in N_Op
1427 or else NT
(N
).Nkind
= N_Character_Literal
1428 or else NT
(N
).Nkind
= N_Expanded_Name
1429 or else NT
(N
).Nkind
= N_Identifier
1430 or else NT
(N
).Nkind
= N_Operator_Symbol
);
1432 end Has_Private_View
;
1434 function Has_Relative_Deadline_Pragma
1435 (N
: Node_Id
) return Boolean is
1437 pragma Assert
(False
1438 or else NT
(N
).Nkind
= N_Subprogram_Body
1439 or else NT
(N
).Nkind
= N_Task_Definition
);
1441 end Has_Relative_Deadline_Pragma
;
1443 function Has_Self_Reference
1444 (N
: Node_Id
) return Boolean is
1446 pragma Assert
(False
1447 or else NT
(N
).Nkind
= N_Aggregate
1448 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1450 end Has_Self_Reference
;
1452 function Has_Storage_Size_Pragma
1453 (N
: Node_Id
) return Boolean is
1455 pragma Assert
(False
1456 or else NT
(N
).Nkind
= N_Task_Definition
);
1458 end Has_Storage_Size_Pragma
;
1460 function Has_Task_Info_Pragma
1461 (N
: Node_Id
) return Boolean is
1463 pragma Assert
(False
1464 or else NT
(N
).Nkind
= N_Task_Definition
);
1466 end Has_Task_Info_Pragma
;
1468 function Has_Task_Name_Pragma
1469 (N
: Node_Id
) return Boolean is
1471 pragma Assert
(False
1472 or else NT
(N
).Nkind
= N_Task_Definition
);
1474 end Has_Task_Name_Pragma
;
1476 function Has_Wide_Character
1477 (N
: Node_Id
) return Boolean is
1479 pragma Assert
(False
1480 or else NT
(N
).Nkind
= N_String_Literal
);
1482 end Has_Wide_Character
;
1484 function Has_Wide_Wide_Character
1485 (N
: Node_Id
) return Boolean is
1487 pragma Assert
(False
1488 or else NT
(N
).Nkind
= N_String_Literal
);
1490 end Has_Wide_Wide_Character
;
1492 function Hidden_By_Use_Clause
1493 (N
: Node_Id
) return Elist_Id
is
1495 pragma Assert
(False
1496 or else NT
(N
).Nkind
= N_Use_Package_Clause
1497 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1499 end Hidden_By_Use_Clause
;
1502 (N
: Node_Id
) return Node_Id
is
1504 pragma Assert
(False
1505 or else NT
(N
).Nkind
= N_Range
1506 or else NT
(N
).Nkind
= N_Real_Range_Specification
1507 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1512 (N
: Node_Id
) return Node_Id
is
1514 pragma Assert
(False
1515 or else NT
(N
).Nkind
= N_At_Clause
1516 or else NT
(N
).Nkind
= N_Block_Statement
1517 or else NT
(N
).Nkind
= N_Designator
1518 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1519 or else NT
(N
).Nkind
= N_Label
1520 or else NT
(N
).Nkind
= N_Loop_Statement
1521 or else NT
(N
).Nkind
= N_Record_Representation_Clause
1522 or else NT
(N
).Nkind
= N_Subprogram_Info
);
1526 function Implicit_With
1527 (N
: Node_Id
) return Boolean is
1529 pragma Assert
(False
1530 or else NT
(N
).Nkind
= N_With_Clause
);
1534 function Interface_List
1535 (N
: Node_Id
) return List_Id
is
1537 pragma Assert
(False
1538 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1539 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
1540 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
1541 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
1542 or else NT
(N
).Nkind
= N_Record_Definition
1543 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
1544 or else NT
(N
).Nkind
= N_Single_Task_Declaration
1545 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
1549 function Interface_Present
1550 (N
: Node_Id
) return Boolean is
1552 pragma Assert
(False
1553 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1554 or else NT
(N
).Nkind
= N_Record_Definition
);
1556 end Interface_Present
;
1559 (N
: Node_Id
) return Boolean is
1561 pragma Assert
(False
1562 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1563 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1567 function Includes_Infinities
1568 (N
: Node_Id
) return Boolean is
1570 pragma Assert
(False
1571 or else NT
(N
).Nkind
= N_Range
);
1573 end Includes_Infinities
;
1575 function Instance_Spec
1576 (N
: Node_Id
) return Node_Id
is
1578 pragma Assert
(False
1579 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1580 or else NT
(N
).Nkind
= N_Function_Instantiation
1581 or else NT
(N
).Nkind
= N_Package_Instantiation
1582 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1587 (N
: Node_Id
) return Uint
is
1589 pragma Assert
(False
1590 or else NT
(N
).Nkind
= N_Integer_Literal
);
1594 function Is_Accessibility_Actual
1595 (N
: Node_Id
) return Boolean is
1597 pragma Assert
(False
1598 or else NT
(N
).Nkind
= N_Parameter_Association
);
1600 end Is_Accessibility_Actual
;
1602 function Is_Asynchronous_Call_Block
1603 (N
: Node_Id
) return Boolean is
1605 pragma Assert
(False
1606 or else NT
(N
).Nkind
= N_Block_Statement
);
1608 end Is_Asynchronous_Call_Block
;
1610 function Is_Component_Left_Opnd
1611 (N
: Node_Id
) return Boolean is
1613 pragma Assert
(False
1614 or else NT
(N
).Nkind
= N_Op_Concat
);
1616 end Is_Component_Left_Opnd
;
1618 function Is_Component_Right_Opnd
1619 (N
: Node_Id
) return Boolean is
1621 pragma Assert
(False
1622 or else NT
(N
).Nkind
= N_Op_Concat
);
1624 end Is_Component_Right_Opnd
;
1626 function Is_Controlling_Actual
1627 (N
: Node_Id
) return Boolean is
1629 pragma Assert
(False
1630 or else NT
(N
).Nkind
in N_Subexpr
);
1632 end Is_Controlling_Actual
;
1634 function Is_Dynamic_Coextension
1635 (N
: Node_Id
) return Boolean is
1637 pragma Assert
(False
1638 or else NT
(N
).Nkind
= N_Allocator
);
1640 end Is_Dynamic_Coextension
;
1643 (N
: Node_Id
) return Boolean is
1645 pragma Assert
(False
1646 or else NT
(N
).Nkind
= N_Conditional_Expression
);
1650 function Is_Entry_Barrier_Function
1651 (N
: Node_Id
) return Boolean is
1653 pragma Assert
(False
1654 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1656 end Is_Entry_Barrier_Function
;
1658 function Is_Expanded_Build_In_Place_Call
1659 (N
: Node_Id
) return Boolean is
1661 pragma Assert
(False
1662 or else NT
(N
).Nkind
= N_Function_Call
);
1664 end Is_Expanded_Build_In_Place_Call
;
1666 function Is_Folded_In_Parser
1667 (N
: Node_Id
) return Boolean is
1669 pragma Assert
(False
1670 or else NT
(N
).Nkind
= N_String_Literal
);
1672 end Is_Folded_In_Parser
;
1674 function Is_In_Discriminant_Check
1675 (N
: Node_Id
) return Boolean is
1677 pragma Assert
(False
1678 or else NT
(N
).Nkind
= N_Selected_Component
);
1680 end Is_In_Discriminant_Check
;
1682 function Is_Machine_Number
1683 (N
: Node_Id
) return Boolean is
1685 pragma Assert
(False
1686 or else NT
(N
).Nkind
= N_Real_Literal
);
1688 end Is_Machine_Number
;
1690 function Is_Null_Loop
1691 (N
: Node_Id
) return Boolean is
1693 pragma Assert
(False
1694 or else NT
(N
).Nkind
= N_Loop_Statement
);
1698 function Is_Overloaded
1699 (N
: Node_Id
) return Boolean is
1701 pragma Assert
(False
1702 or else NT
(N
).Nkind
in N_Subexpr
);
1706 function Is_Power_Of_2_For_Shift
1707 (N
: Node_Id
) return Boolean is
1709 pragma Assert
(False
1710 or else NT
(N
).Nkind
= N_Op_Expon
);
1712 end Is_Power_Of_2_For_Shift
;
1714 function Is_Protected_Subprogram_Body
1715 (N
: Node_Id
) return Boolean is
1717 pragma Assert
(False
1718 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1720 end Is_Protected_Subprogram_Body
;
1722 function Is_Static_Coextension
1723 (N
: Node_Id
) return Boolean is
1725 pragma Assert
(False
1726 or else NT
(N
).Nkind
= N_Allocator
);
1728 end Is_Static_Coextension
;
1730 function Is_Static_Expression
1731 (N
: Node_Id
) return Boolean is
1733 pragma Assert
(False
1734 or else NT
(N
).Nkind
in N_Subexpr
);
1736 end Is_Static_Expression
;
1738 function Is_Subprogram_Descriptor
1739 (N
: Node_Id
) return Boolean is
1741 pragma Assert
(False
1742 or else NT
(N
).Nkind
= N_Object_Declaration
);
1744 end Is_Subprogram_Descriptor
;
1746 function Is_Task_Allocation_Block
1747 (N
: Node_Id
) return Boolean is
1749 pragma Assert
(False
1750 or else NT
(N
).Nkind
= N_Block_Statement
);
1752 end Is_Task_Allocation_Block
;
1754 function Is_Task_Master
1755 (N
: Node_Id
) return Boolean is
1757 pragma Assert
(False
1758 or else NT
(N
).Nkind
= N_Block_Statement
1759 or else NT
(N
).Nkind
= N_Subprogram_Body
1760 or else NT
(N
).Nkind
= N_Task_Body
);
1764 function Iteration_Scheme
1765 (N
: Node_Id
) return Node_Id
is
1767 pragma Assert
(False
1768 or else NT
(N
).Nkind
= N_Loop_Statement
);
1770 end Iteration_Scheme
;
1773 (N
: Node_Id
) return Node_Id
is
1775 pragma Assert
(False
1776 or else NT
(N
).Nkind
= N_Itype_Reference
);
1780 function Kill_Range_Check
1781 (N
: Node_Id
) return Boolean is
1783 pragma Assert
(False
1784 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1786 end Kill_Range_Check
;
1788 function Label_Construct
1789 (N
: Node_Id
) return Node_Id
is
1791 pragma Assert
(False
1792 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
1794 end Label_Construct
;
1797 (N
: Node_Id
) return Node_Id
is
1799 pragma Assert
(False
1800 or else NT
(N
).Nkind
= N_Component_Clause
);
1805 (N
: Node_Id
) return Boolean is
1807 pragma Assert
(False
1808 or else NT
(N
).Nkind
= N_With_Clause
);
1813 (N
: Node_Id
) return Node_Id
is
1815 pragma Assert
(False
1816 or else NT
(N
).Nkind
= N_And_Then
1817 or else NT
(N
).Nkind
= N_In
1818 or else NT
(N
).Nkind
= N_Not_In
1819 or else NT
(N
).Nkind
= N_Or_Else
1820 or else NT
(N
).Nkind
in N_Binary_Op
);
1824 function Library_Unit
1825 (N
: Node_Id
) return Node_Id
is
1827 pragma Assert
(False
1828 or else NT
(N
).Nkind
= N_Compilation_Unit
1829 or else NT
(N
).Nkind
= N_Package_Body_Stub
1830 or else NT
(N
).Nkind
= N_Protected_Body_Stub
1831 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
1832 or else NT
(N
).Nkind
= N_Task_Body_Stub
1833 or else NT
(N
).Nkind
= N_With_Clause
);
1837 function Limited_View_Installed
1838 (N
: Node_Id
) return Boolean is
1840 pragma Assert
(False
1841 or else NT
(N
).Nkind
= N_Package_Specification
1842 or else NT
(N
).Nkind
= N_With_Clause
);
1844 end Limited_View_Installed
;
1846 function Limited_Present
1847 (N
: Node_Id
) return Boolean is
1849 pragma Assert
(False
1850 or else NT
(N
).Nkind
= N_Derived_Type_Definition
1851 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
1852 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
1853 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
1854 or else NT
(N
).Nkind
= N_Private_Type_Declaration
1855 or else NT
(N
).Nkind
= N_Record_Definition
1856 or else NT
(N
).Nkind
= N_With_Clause
);
1858 end Limited_Present
;
1861 (N
: Node_Id
) return List_Id
is
1863 pragma Assert
(False
1864 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
1868 function Local_Raise_Not_OK
1869 (N
: Node_Id
) return Boolean is
1871 pragma Assert
(False
1872 or else NT
(N
).Nkind
= N_Exception_Handler
);
1874 end Local_Raise_Not_OK
;
1876 function Local_Raise_Statements
1877 (N
: Node_Id
) return Elist_Id
is
1879 pragma Assert
(False
1880 or else NT
(N
).Nkind
= N_Exception_Handler
);
1882 end Local_Raise_Statements
;
1884 function Loop_Actions
1885 (N
: Node_Id
) return List_Id
is
1887 pragma Assert
(False
1888 or else NT
(N
).Nkind
= N_Component_Association
);
1892 function Loop_Parameter_Specification
1893 (N
: Node_Id
) return Node_Id
is
1895 pragma Assert
(False
1896 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
1898 end Loop_Parameter_Specification
;
1901 (N
: Node_Id
) return Node_Id
is
1903 pragma Assert
(False
1904 or else NT
(N
).Nkind
= N_Range
1905 or else NT
(N
).Nkind
= N_Real_Range_Specification
1906 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1911 (N
: Node_Id
) return Node_Id
is
1913 pragma Assert
(False
1914 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1919 (N
: Node_Id
) return Boolean is
1921 pragma Assert
(False
1922 or else NT
(N
).Nkind
= N_Component_Declaration
1923 or else NT
(N
).Nkind
= N_Discriminant_Specification
1924 or else NT
(N
).Nkind
= N_Exception_Declaration
1925 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1926 or else NT
(N
).Nkind
= N_Number_Declaration
1927 or else NT
(N
).Nkind
= N_Object_Declaration
1928 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1932 function Must_Be_Byte_Aligned
1933 (N
: Node_Id
) return Boolean is
1935 pragma Assert
(False
1936 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1938 end Must_Be_Byte_Aligned
;
1940 function Must_Not_Freeze
1941 (N
: Node_Id
) return Boolean is
1943 pragma Assert
(False
1944 or else NT
(N
).Nkind
= N_Subtype_Indication
1945 or else NT
(N
).Nkind
in N_Subexpr
);
1947 end Must_Not_Freeze
;
1949 function Must_Not_Override
1950 (N
: Node_Id
) return Boolean is
1952 pragma Assert
(False
1953 or else NT
(N
).Nkind
= N_Entry_Declaration
1954 or else NT
(N
).Nkind
= N_Function_Instantiation
1955 or else NT
(N
).Nkind
= N_Function_Specification
1956 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1957 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1959 end Must_Not_Override
;
1961 function Must_Override
1962 (N
: Node_Id
) return Boolean is
1964 pragma Assert
(False
1965 or else NT
(N
).Nkind
= N_Entry_Declaration
1966 or else NT
(N
).Nkind
= N_Function_Instantiation
1967 or else NT
(N
).Nkind
= N_Function_Specification
1968 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1969 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1974 (N
: Node_Id
) return Node_Id
is
1976 pragma Assert
(False
1977 or else NT
(N
).Nkind
= N_Assignment_Statement
1978 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1979 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
1980 or else NT
(N
).Nkind
= N_Designator
1981 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1982 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
1983 or else NT
(N
).Nkind
= N_Exit_Statement
1984 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1985 or else NT
(N
).Nkind
= N_Function_Call
1986 or else NT
(N
).Nkind
= N_Function_Instantiation
1987 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1988 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1989 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1990 or else NT
(N
).Nkind
= N_Goto_Statement
1991 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
1992 or else NT
(N
).Nkind
= N_Package_Instantiation
1993 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1994 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
1995 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1996 or else NT
(N
).Nkind
= N_Raise_Statement
1997 or else NT
(N
).Nkind
= N_Requeue_Statement
1998 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
1999 or else NT
(N
).Nkind
= N_Subunit
2000 or else NT
(N
).Nkind
= N_Variant_Part
2001 or else NT
(N
).Nkind
= N_With_Clause
);
2006 (N
: Node_Id
) return List_Id
is
2008 pragma Assert
(False
2009 or else NT
(N
).Nkind
= N_Abort_Statement
2010 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
2014 function Next_Entity
2015 (N
: Node_Id
) return Node_Id
is
2017 pragma Assert
(False
2018 or else NT
(N
).Nkind
= N_Defining_Character_Literal
2019 or else NT
(N
).Nkind
= N_Defining_Identifier
2020 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
2024 function Next_Implicit_With
2025 (N
: Node_Id
) return Node_Id
is
2027 pragma Assert
(False
2028 or else NT
(N
).Nkind
= N_With_Clause
);
2030 end Next_Implicit_With
;
2032 function Next_Named_Actual
2033 (N
: Node_Id
) return Node_Id
is
2035 pragma Assert
(False
2036 or else NT
(N
).Nkind
= N_Parameter_Association
);
2038 end Next_Named_Actual
;
2040 function Next_Pragma
2041 (N
: Node_Id
) return Node_Id
is
2043 pragma Assert
(False
2044 or else NT
(N
).Nkind
= N_Pragma
);
2048 function Next_Rep_Item
2049 (N
: Node_Id
) return Node_Id
is
2051 pragma Assert
(False
2052 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
2053 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
2054 or else NT
(N
).Nkind
= N_Pragma
2055 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
2059 function Next_Use_Clause
2060 (N
: Node_Id
) return Node_Id
is
2062 pragma Assert
(False
2063 or else NT
(N
).Nkind
= N_Use_Package_Clause
2064 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2066 end Next_Use_Clause
;
2068 function No_Ctrl_Actions
2069 (N
: Node_Id
) return Boolean is
2071 pragma Assert
(False
2072 or else NT
(N
).Nkind
= N_Assignment_Statement
);
2074 end No_Ctrl_Actions
;
2076 function No_Elaboration_Check
2077 (N
: Node_Id
) return Boolean is
2079 pragma Assert
(False
2080 or else NT
(N
).Nkind
= N_Function_Call
2081 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2083 end No_Elaboration_Check
;
2085 function No_Entities_Ref_In_Spec
2086 (N
: Node_Id
) return Boolean is
2088 pragma Assert
(False
2089 or else NT
(N
).Nkind
= N_With_Clause
);
2091 end No_Entities_Ref_In_Spec
;
2093 function No_Initialization
2094 (N
: Node_Id
) return Boolean is
2096 pragma Assert
(False
2097 or else NT
(N
).Nkind
= N_Allocator
2098 or else NT
(N
).Nkind
= N_Object_Declaration
);
2100 end No_Initialization
;
2102 function No_Truncation
2103 (N
: Node_Id
) return Boolean is
2105 pragma Assert
(False
2106 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2110 function Null_Present
2111 (N
: Node_Id
) return Boolean is
2113 pragma Assert
(False
2114 or else NT
(N
).Nkind
= N_Component_List
2115 or else NT
(N
).Nkind
= N_Procedure_Specification
2116 or else NT
(N
).Nkind
= N_Record_Definition
);
2120 function Null_Exclusion_Present
2121 (N
: Node_Id
) return Boolean is
2123 pragma Assert
(False
2124 or else NT
(N
).Nkind
= N_Access_Definition
2125 or else NT
(N
).Nkind
= N_Access_Function_Definition
2126 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2127 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2128 or else NT
(N
).Nkind
= N_Allocator
2129 or else NT
(N
).Nkind
= N_Component_Definition
2130 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2131 or else NT
(N
).Nkind
= N_Discriminant_Specification
2132 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2133 or else NT
(N
).Nkind
= N_Function_Specification
2134 or else NT
(N
).Nkind
= N_Object_Declaration
2135 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2136 or else NT
(N
).Nkind
= N_Parameter_Specification
2137 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
2139 end Null_Exclusion_Present
;
2141 function Null_Exclusion_In_Return_Present
2142 (N
: Node_Id
) return Boolean is
2144 pragma Assert
(False
2145 or else NT
(N
).Nkind
= N_Access_Function_Definition
);
2147 end Null_Exclusion_In_Return_Present
;
2149 function Null_Record_Present
2150 (N
: Node_Id
) return Boolean is
2152 pragma Assert
(False
2153 or else NT
(N
).Nkind
= N_Aggregate
2154 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2156 end Null_Record_Present
;
2158 function Object_Definition
2159 (N
: Node_Id
) return Node_Id
is
2161 pragma Assert
(False
2162 or else NT
(N
).Nkind
= N_Object_Declaration
);
2164 end Object_Definition
;
2166 function Original_Discriminant
2167 (N
: Node_Id
) return Node_Id
is
2169 pragma Assert
(False
2170 or else NT
(N
).Nkind
= N_Identifier
);
2172 end Original_Discriminant
;
2174 function Original_Entity
2175 (N
: Node_Id
) return Entity_Id
is
2177 pragma Assert
(False
2178 or else NT
(N
).Nkind
= N_Integer_Literal
2179 or else NT
(N
).Nkind
= N_Real_Literal
);
2181 end Original_Entity
;
2183 function Others_Discrete_Choices
2184 (N
: Node_Id
) return List_Id
is
2186 pragma Assert
(False
2187 or else NT
(N
).Nkind
= N_Others_Choice
);
2189 end Others_Discrete_Choices
;
2191 function Out_Present
2192 (N
: Node_Id
) return Boolean is
2194 pragma Assert
(False
2195 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2196 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2200 function Parameter_Associations
2201 (N
: Node_Id
) return List_Id
is
2203 pragma Assert
(False
2204 or else NT
(N
).Nkind
= N_Entry_Call_Statement
2205 or else NT
(N
).Nkind
= N_Function_Call
2206 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2208 end Parameter_Associations
;
2210 function Parameter_List_Truncated
2211 (N
: Node_Id
) return Boolean is
2213 pragma Assert
(False
2214 or else NT
(N
).Nkind
= N_Function_Call
2215 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2217 end Parameter_List_Truncated
;
2219 function Parameter_Specifications
2220 (N
: Node_Id
) return List_Id
is
2222 pragma Assert
(False
2223 or else NT
(N
).Nkind
= N_Accept_Statement
2224 or else NT
(N
).Nkind
= N_Access_Function_Definition
2225 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2226 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
2227 or else NT
(N
).Nkind
= N_Entry_Declaration
2228 or else NT
(N
).Nkind
= N_Function_Specification
2229 or else NT
(N
).Nkind
= N_Procedure_Specification
);
2231 end Parameter_Specifications
;
2233 function Parameter_Type
2234 (N
: Node_Id
) return Node_Id
is
2236 pragma Assert
(False
2237 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2241 function Parent_Spec
2242 (N
: Node_Id
) return Node_Id
is
2244 pragma Assert
(False
2245 or else NT
(N
).Nkind
= N_Function_Instantiation
2246 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
2247 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2248 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
2249 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
2250 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2251 or else NT
(N
).Nkind
= N_Package_Declaration
2252 or else NT
(N
).Nkind
= N_Package_Instantiation
2253 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
2254 or else NT
(N
).Nkind
= N_Procedure_Instantiation
2255 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2256 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2261 (N
: Node_Id
) return Node_Id
is
2263 pragma Assert
(False
2264 or else NT
(N
).Nkind
= N_Component_Clause
);
2268 function Pragma_Argument_Associations
2269 (N
: Node_Id
) return List_Id
is
2271 pragma Assert
(False
2272 or else NT
(N
).Nkind
= N_Pragma
);
2274 end Pragma_Argument_Associations
;
2276 function Pragma_Enabled
2277 (N
: Node_Id
) return Boolean is
2279 pragma Assert
(False
2280 or else NT
(N
).Nkind
= N_Pragma
);
2284 function Pragma_Identifier
2285 (N
: Node_Id
) return Node_Id
is
2287 pragma Assert
(False
2288 or else NT
(N
).Nkind
= N_Pragma
);
2290 end Pragma_Identifier
;
2292 function Pragmas_After
2293 (N
: Node_Id
) return List_Id
is
2295 pragma Assert
(False
2296 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2297 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
2301 function Pragmas_Before
2302 (N
: Node_Id
) return List_Id
is
2304 pragma Assert
(False
2305 or else NT
(N
).Nkind
= N_Accept_Alternative
2306 or else NT
(N
).Nkind
= N_Delay_Alternative
2307 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2308 or else NT
(N
).Nkind
= N_Mod_Clause
2309 or else NT
(N
).Nkind
= N_Terminate_Alternative
2310 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2315 (N
: Node_Id
) return Node_Id
is
2317 pragma Assert
(False
2318 or else NT
(N
).Nkind
= N_Attribute_Reference
2319 or else NT
(N
).Nkind
= N_Expanded_Name
2320 or else NT
(N
).Nkind
= N_Explicit_Dereference
2321 or else NT
(N
).Nkind
= N_Indexed_Component
2322 or else NT
(N
).Nkind
= N_Reference
2323 or else NT
(N
).Nkind
= N_Selected_Component
2324 or else NT
(N
).Nkind
= N_Slice
);
2328 function Present_Expr
2329 (N
: Node_Id
) return Uint
is
2331 pragma Assert
(False
2332 or else NT
(N
).Nkind
= N_Variant
);
2337 (N
: Node_Id
) return Boolean is
2339 pragma Assert
(False
2340 or else NT
(N
).Nkind
= N_Component_Declaration
2341 or else NT
(N
).Nkind
= N_Discriminant_Specification
2342 or else NT
(N
).Nkind
= N_Exception_Declaration
2343 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2344 or else NT
(N
).Nkind
= N_Number_Declaration
2345 or else NT
(N
).Nkind
= N_Object_Declaration
2346 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2350 function Print_In_Hex
2351 (N
: Node_Id
) return Boolean is
2353 pragma Assert
(False
2354 or else NT
(N
).Nkind
= N_Integer_Literal
);
2358 function Private_Declarations
2359 (N
: Node_Id
) return List_Id
is
2361 pragma Assert
(False
2362 or else NT
(N
).Nkind
= N_Package_Specification
2363 or else NT
(N
).Nkind
= N_Protected_Definition
2364 or else NT
(N
).Nkind
= N_Task_Definition
);
2366 end Private_Declarations
;
2368 function Private_Present
2369 (N
: Node_Id
) return Boolean is
2371 pragma Assert
(False
2372 or else NT
(N
).Nkind
= N_Compilation_Unit
2373 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2374 or else NT
(N
).Nkind
= N_With_Clause
);
2376 end Private_Present
;
2378 function Procedure_To_Call
2379 (N
: Node_Id
) return Node_Id
is
2381 pragma Assert
(False
2382 or else NT
(N
).Nkind
= N_Allocator
2383 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2384 or else NT
(N
).Nkind
= N_Free_Statement
2385 or else NT
(N
).Nkind
= N_Return_Statement
);
2387 end Procedure_To_Call
;
2389 function Proper_Body
2390 (N
: Node_Id
) return Node_Id
is
2392 pragma Assert
(False
2393 or else NT
(N
).Nkind
= N_Subunit
);
2397 function Protected_Definition
2398 (N
: Node_Id
) return Node_Id
is
2400 pragma Assert
(False
2401 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
2402 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
2404 end Protected_Definition
;
2406 function Protected_Present
2407 (N
: Node_Id
) return Boolean is
2409 pragma Assert
(False
2410 or else NT
(N
).Nkind
= N_Access_Function_Definition
2411 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
2412 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2413 or else NT
(N
).Nkind
= N_Record_Definition
);
2415 end Protected_Present
;
2417 function Raises_Constraint_Error
2418 (N
: Node_Id
) return Boolean is
2420 pragma Assert
(False
2421 or else NT
(N
).Nkind
in N_Subexpr
);
2423 end Raises_Constraint_Error
;
2425 function Range_Constraint
2426 (N
: Node_Id
) return Node_Id
is
2428 pragma Assert
(False
2429 or else NT
(N
).Nkind
= N_Delta_Constraint
2430 or else NT
(N
).Nkind
= N_Digits_Constraint
);
2432 end Range_Constraint
;
2434 function Range_Expression
2435 (N
: Node_Id
) return Node_Id
is
2437 pragma Assert
(False
2438 or else NT
(N
).Nkind
= N_Range_Constraint
);
2440 end Range_Expression
;
2442 function Real_Range_Specification
2443 (N
: Node_Id
) return Node_Id
is
2445 pragma Assert
(False
2446 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
2447 or else NT
(N
).Nkind
= N_Floating_Point_Definition
2448 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
2450 end Real_Range_Specification
;
2453 (N
: Node_Id
) return Ureal
is
2455 pragma Assert
(False
2456 or else NT
(N
).Nkind
= N_Real_Literal
);
2461 (N
: Node_Id
) return Uint
is
2463 pragma Assert
(False
2464 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2465 or else NT
(N
).Nkind
= N_Raise_Program_Error
2466 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
2470 function Record_Extension_Part
2471 (N
: Node_Id
) return Node_Id
is
2473 pragma Assert
(False
2474 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
2476 end Record_Extension_Part
;
2478 function Redundant_Use
2479 (N
: Node_Id
) return Boolean is
2481 pragma Assert
(False
2482 or else NT
(N
).Nkind
= N_Attribute_Reference
2483 or else NT
(N
).Nkind
= N_Expanded_Name
2484 or else NT
(N
).Nkind
= N_Identifier
);
2488 function Renaming_Exception
2489 (N
: Node_Id
) return Node_Id
is
2491 pragma Assert
(False
2492 or else NT
(N
).Nkind
= N_Exception_Declaration
);
2494 end Renaming_Exception
;
2496 function Result_Definition
2497 (N
: Node_Id
) return Node_Id
is
2499 pragma Assert
(False
2500 or else NT
(N
).Nkind
= N_Access_Function_Definition
2501 or else NT
(N
).Nkind
= N_Function_Specification
);
2503 end Result_Definition
;
2505 function Return_Object_Declarations
2506 (N
: Node_Id
) return List_Id
is
2508 pragma Assert
(False
2509 or else NT
(N
).Nkind
= N_Extended_Return_Statement
);
2511 end Return_Object_Declarations
;
2513 function Return_Statement_Entity
2514 (N
: Node_Id
) return Node_Id
is
2516 pragma Assert
(False
2517 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2518 or else NT
(N
).Nkind
= N_Return_Statement
);
2520 end Return_Statement_Entity
;
2522 function Reverse_Present
2523 (N
: Node_Id
) return Boolean is
2525 pragma Assert
(False
2526 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
2528 end Reverse_Present
;
2531 (N
: Node_Id
) return Node_Id
is
2533 pragma Assert
(False
2534 or else NT
(N
).Nkind
in N_Op
2535 or else NT
(N
).Nkind
= N_And_Then
2536 or else NT
(N
).Nkind
= N_In
2537 or else NT
(N
).Nkind
= N_Not_In
2538 or else NT
(N
).Nkind
= N_Or_Else
);
2542 function Rounded_Result
2543 (N
: Node_Id
) return Boolean is
2545 pragma Assert
(False
2546 or else NT
(N
).Nkind
= N_Op_Divide
2547 or else NT
(N
).Nkind
= N_Op_Multiply
2548 or else NT
(N
).Nkind
= N_Type_Conversion
);
2552 function SCIL_Controlling_Tag
2553 (N
: Node_Id
) return Node_Id
is
2555 pragma Assert
(False
2556 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
);
2558 end SCIL_Controlling_Tag
;
2560 function SCIL_Entity
2561 (N
: Node_Id
) return Node_Id
is
2563 pragma Assert
(False
2564 or else NT
(N
).Nkind
= N_SCIL_Dispatch_Table_Object_Init
2565 or else NT
(N
).Nkind
= N_SCIL_Dispatch_Table_Tag_Init
2566 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
2567 or else NT
(N
).Nkind
= N_SCIL_Membership_Test
2568 or else NT
(N
).Nkind
= N_SCIL_Tag_Init
);
2572 function SCIL_Related_Node
2573 (N
: Node_Id
) return Node_Id
is
2575 pragma Assert
(False
2576 or else NT
(N
).Nkind
= N_SCIL_Dispatch_Table_Object_Init
2577 or else NT
(N
).Nkind
= N_SCIL_Dispatch_Table_Tag_Init
2578 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
2579 or else NT
(N
).Nkind
= N_SCIL_Membership_Test
2580 or else NT
(N
).Nkind
= N_SCIL_Tag_Init
);
2582 end SCIL_Related_Node
;
2584 function SCIL_Tag_Value
2585 (N
: Node_Id
) return Node_Id
is
2587 pragma Assert
(False
2588 or else NT
(N
).Nkind
= N_SCIL_Membership_Test
);
2592 function SCIL_Target_Prim
2593 (N
: Node_Id
) return Node_Id
is
2595 pragma Assert
(False
2596 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
);
2598 end SCIL_Target_Prim
;
2601 (N
: Node_Id
) return Node_Id
is
2603 pragma Assert
(False
2604 or else NT
(N
).Nkind
= N_Defining_Character_Literal
2605 or else NT
(N
).Nkind
= N_Defining_Identifier
2606 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
2610 function Select_Alternatives
2611 (N
: Node_Id
) return List_Id
is
2613 pragma Assert
(False
2614 or else NT
(N
).Nkind
= N_Selective_Accept
);
2616 end Select_Alternatives
;
2618 function Selector_Name
2619 (N
: Node_Id
) return Node_Id
is
2621 pragma Assert
(False
2622 or else NT
(N
).Nkind
= N_Expanded_Name
2623 or else NT
(N
).Nkind
= N_Generic_Association
2624 or else NT
(N
).Nkind
= N_Parameter_Association
2625 or else NT
(N
).Nkind
= N_Selected_Component
);
2629 function Selector_Names
2630 (N
: Node_Id
) return List_Id
is
2632 pragma Assert
(False
2633 or else NT
(N
).Nkind
= N_Discriminant_Association
);
2637 function Shift_Count_OK
2638 (N
: Node_Id
) return Boolean is
2640 pragma Assert
(False
2641 or else NT
(N
).Nkind
= N_Op_Rotate_Left
2642 or else NT
(N
).Nkind
= N_Op_Rotate_Right
2643 or else NT
(N
).Nkind
= N_Op_Shift_Left
2644 or else NT
(N
).Nkind
= N_Op_Shift_Right
2645 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
2649 function Source_Type
2650 (N
: Node_Id
) return Entity_Id
is
2652 pragma Assert
(False
2653 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2657 function Specification
2658 (N
: Node_Id
) return Node_Id
is
2660 pragma Assert
(False
2661 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
2662 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
2663 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
2664 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2665 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2666 or else NT
(N
).Nkind
= N_Package_Declaration
2667 or else NT
(N
).Nkind
= N_Subprogram_Body
2668 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
2669 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2670 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2675 (N
: Node_Id
) return List_Id
is
2677 pragma Assert
(False
2678 or else NT
(N
).Nkind
= N_Abortable_Part
2679 or else NT
(N
).Nkind
= N_Accept_Alternative
2680 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
2681 or else NT
(N
).Nkind
= N_Delay_Alternative
2682 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2683 or else NT
(N
).Nkind
= N_Exception_Handler
2684 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
2685 or else NT
(N
).Nkind
= N_Loop_Statement
2686 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2690 function Static_Processing_OK
2691 (N
: Node_Id
) return Boolean is
2693 pragma Assert
(False
2694 or else NT
(N
).Nkind
= N_Aggregate
);
2696 end Static_Processing_OK
;
2698 function Storage_Pool
2699 (N
: Node_Id
) return Node_Id
is
2701 pragma Assert
(False
2702 or else NT
(N
).Nkind
= N_Allocator
2703 or else NT
(N
).Nkind
= N_Extended_Return_Statement
2704 or else NT
(N
).Nkind
= N_Free_Statement
2705 or else NT
(N
).Nkind
= N_Return_Statement
);
2710 (N
: Node_Id
) return String_Id
is
2712 pragma Assert
(False
2713 or else NT
(N
).Nkind
= N_Operator_Symbol
2714 or else NT
(N
).Nkind
= N_String_Literal
);
2718 function Subtype_Indication
2719 (N
: Node_Id
) return Node_Id
is
2721 pragma Assert
(False
2722 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2723 or else NT
(N
).Nkind
= N_Component_Definition
2724 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2725 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2726 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
2728 end Subtype_Indication
;
2730 function Suppress_Loop_Warnings
2731 (N
: Node_Id
) return Boolean is
2733 pragma Assert
(False
2734 or else NT
(N
).Nkind
= N_Loop_Statement
);
2736 end Suppress_Loop_Warnings
;
2738 function Subtype_Mark
2739 (N
: Node_Id
) return Node_Id
is
2741 pragma Assert
(False
2742 or else NT
(N
).Nkind
= N_Access_Definition
2743 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2744 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2745 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2746 or else NT
(N
).Nkind
= N_Qualified_Expression
2747 or else NT
(N
).Nkind
= N_Subtype_Indication
2748 or else NT
(N
).Nkind
= N_Type_Conversion
2749 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2753 function Subtype_Marks
2754 (N
: Node_Id
) return List_Id
is
2756 pragma Assert
(False
2757 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
2758 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2762 function Synchronized_Present
2763 (N
: Node_Id
) return Boolean is
2765 pragma Assert
(False
2766 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2767 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2768 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2769 or else NT
(N
).Nkind
= N_Record_Definition
);
2771 end Synchronized_Present
;
2773 function Tagged_Present
2774 (N
: Node_Id
) return Boolean is
2776 pragma Assert
(False
2777 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2778 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2779 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2780 or else NT
(N
).Nkind
= N_Record_Definition
);
2784 function Target_Type
2785 (N
: Node_Id
) return Entity_Id
is
2787 pragma Assert
(False
2788 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2792 function Task_Definition
2793 (N
: Node_Id
) return Node_Id
is
2795 pragma Assert
(False
2796 or else NT
(N
).Nkind
= N_Single_Task_Declaration
2797 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2799 end Task_Definition
;
2801 function Task_Present
2802 (N
: Node_Id
) return Boolean is
2804 pragma Assert
(False
2805 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2806 or else NT
(N
).Nkind
= N_Record_Definition
);
2810 function Then_Actions
2811 (N
: Node_Id
) return List_Id
is
2813 pragma Assert
(False
2814 or else NT
(N
).Nkind
= N_Conditional_Expression
);
2818 function Then_Statements
2819 (N
: Node_Id
) return List_Id
is
2821 pragma Assert
(False
2822 or else NT
(N
).Nkind
= N_Elsif_Part
2823 or else NT
(N
).Nkind
= N_If_Statement
);
2825 end Then_Statements
;
2827 function Treat_Fixed_As_Integer
2828 (N
: Node_Id
) return Boolean is
2830 pragma Assert
(False
2831 or else NT
(N
).Nkind
= N_Op_Divide
2832 or else NT
(N
).Nkind
= N_Op_Mod
2833 or else NT
(N
).Nkind
= N_Op_Multiply
2834 or else NT
(N
).Nkind
= N_Op_Rem
);
2836 end Treat_Fixed_As_Integer
;
2838 function Triggering_Alternative
2839 (N
: Node_Id
) return Node_Id
is
2841 pragma Assert
(False
2842 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2844 end Triggering_Alternative
;
2846 function Triggering_Statement
2847 (N
: Node_Id
) return Node_Id
is
2849 pragma Assert
(False
2850 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2852 end Triggering_Statement
;
2855 (N
: Node_Id
) return Elist_Id
is
2857 pragma Assert
(False
2858 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2862 function Type_Definition
2863 (N
: Node_Id
) return Node_Id
is
2865 pragma Assert
(False
2866 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
2868 end Type_Definition
;
2871 (N
: Node_Id
) return Node_Id
is
2873 pragma Assert
(False
2874 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2878 function Unknown_Discriminants_Present
2879 (N
: Node_Id
) return Boolean is
2881 pragma Assert
(False
2882 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
2883 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2884 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2885 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
2887 end Unknown_Discriminants_Present
;
2889 function Unreferenced_In_Spec
2890 (N
: Node_Id
) return Boolean is
2892 pragma Assert
(False
2893 or else NT
(N
).Nkind
= N_With_Clause
);
2895 end Unreferenced_In_Spec
;
2897 function Variant_Part
2898 (N
: Node_Id
) return Node_Id
is
2900 pragma Assert
(False
2901 or else NT
(N
).Nkind
= N_Component_List
);
2906 (N
: Node_Id
) return List_Id
is
2908 pragma Assert
(False
2909 or else NT
(N
).Nkind
= N_Variant_Part
);
2913 function Visible_Declarations
2914 (N
: Node_Id
) return List_Id
is
2916 pragma Assert
(False
2917 or else NT
(N
).Nkind
= N_Package_Specification
2918 or else NT
(N
).Nkind
= N_Protected_Definition
2919 or else NT
(N
).Nkind
= N_Task_Definition
);
2921 end Visible_Declarations
;
2923 function Was_Originally_Stub
2924 (N
: Node_Id
) return Boolean is
2926 pragma Assert
(False
2927 or else NT
(N
).Nkind
= N_Package_Body
2928 or else NT
(N
).Nkind
= N_Protected_Body
2929 or else NT
(N
).Nkind
= N_Subprogram_Body
2930 or else NT
(N
).Nkind
= N_Task_Body
);
2932 end Was_Originally_Stub
;
2934 function Zero_Cost_Handling
2935 (N
: Node_Id
) return Boolean is
2937 pragma Assert
(False
2938 or else NT
(N
).Nkind
= N_Exception_Handler
2939 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2941 end Zero_Cost_Handling
;
2943 --------------------------
2944 -- Field Set Procedures --
2945 --------------------------
2947 procedure Set_ABE_Is_Certain
2948 (N
: Node_Id
; Val
: Boolean := True) is
2950 pragma Assert
(False
2951 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2952 or else NT
(N
).Nkind
= N_Function_Call
2953 or else NT
(N
).Nkind
= N_Function_Instantiation
2954 or else NT
(N
).Nkind
= N_Package_Instantiation
2955 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
2956 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
2957 Set_Flag18
(N
, Val
);
2958 end Set_ABE_Is_Certain
;
2960 procedure Set_Abort_Present
2961 (N
: Node_Id
; Val
: Boolean := True) is
2963 pragma Assert
(False
2964 or else NT
(N
).Nkind
= N_Requeue_Statement
);
2965 Set_Flag15
(N
, Val
);
2966 end Set_Abort_Present
;
2968 procedure Set_Abortable_Part
2969 (N
: Node_Id
; Val
: Node_Id
) is
2971 pragma Assert
(False
2972 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2973 Set_Node2_With_Parent
(N
, Val
);
2974 end Set_Abortable_Part
;
2976 procedure Set_Abstract_Present
2977 (N
: Node_Id
; Val
: Boolean := True) is
2979 pragma Assert
(False
2980 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2981 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2982 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2983 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2984 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2985 or else NT
(N
).Nkind
= N_Record_Definition
);
2987 end Set_Abstract_Present
;
2989 procedure Set_Accept_Handler_Records
2990 (N
: Node_Id
; Val
: List_Id
) is
2992 pragma Assert
(False
2993 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2994 Set_List5
(N
, Val
); -- semantic field, no parent set
2995 end Set_Accept_Handler_Records
;
2997 procedure Set_Accept_Statement
2998 (N
: Node_Id
; Val
: Node_Id
) is
3000 pragma Assert
(False
3001 or else NT
(N
).Nkind
= N_Accept_Alternative
);
3002 Set_Node2_With_Parent
(N
, Val
);
3003 end Set_Accept_Statement
;
3005 procedure Set_Access_Definition
3006 (N
: Node_Id
; Val
: Node_Id
) is
3008 pragma Assert
(False
3009 or else NT
(N
).Nkind
= N_Component_Definition
3010 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3011 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
3012 Set_Node3_With_Parent
(N
, Val
);
3013 end Set_Access_Definition
;
3015 procedure Set_Access_To_Subprogram_Definition
3016 (N
: Node_Id
; Val
: Node_Id
) is
3018 pragma Assert
(False
3019 or else NT
(N
).Nkind
= N_Access_Definition
);
3020 Set_Node3_With_Parent
(N
, Val
);
3021 end Set_Access_To_Subprogram_Definition
;
3023 procedure Set_Access_Types_To_Process
3024 (N
: Node_Id
; Val
: Elist_Id
) is
3026 pragma Assert
(False
3027 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3028 Set_Elist2
(N
, Val
); -- semantic field, no parent set
3029 end Set_Access_Types_To_Process
;
3031 procedure Set_Actions
3032 (N
: Node_Id
; Val
: List_Id
) is
3034 pragma Assert
(False
3035 or else NT
(N
).Nkind
= N_And_Then
3036 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
3037 or else NT
(N
).Nkind
= N_Freeze_Entity
3038 or else NT
(N
).Nkind
= N_Or_Else
);
3039 Set_List1_With_Parent
(N
, Val
);
3042 procedure Set_Activation_Chain_Entity
3043 (N
: Node_Id
; Val
: Node_Id
) is
3045 pragma Assert
(False
3046 or else NT
(N
).Nkind
= N_Block_Statement
3047 or else NT
(N
).Nkind
= N_Entry_Body
3048 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3049 or else NT
(N
).Nkind
= N_Package_Declaration
3050 or else NT
(N
).Nkind
= N_Subprogram_Body
3051 or else NT
(N
).Nkind
= N_Task_Body
);
3052 Set_Node3
(N
, Val
); -- semantic field, no parent set
3053 end Set_Activation_Chain_Entity
;
3055 procedure Set_Acts_As_Spec
3056 (N
: Node_Id
; Val
: Boolean := True) is
3058 pragma Assert
(False
3059 or else NT
(N
).Nkind
= N_Compilation_Unit
3060 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3062 end Set_Acts_As_Spec
;
3064 procedure Set_Actual_Designated_Subtype
3065 (N
: Node_Id
; Val
: Node_Id
) is
3067 pragma Assert
(False
3068 or else NT
(N
).Nkind
= N_Explicit_Dereference
3069 or else NT
(N
).Nkind
= N_Free_Statement
);
3071 end Set_Actual_Designated_Subtype
;
3073 procedure Set_Address_Warning_Posted
3074 (N
: Node_Id
; Val
: Boolean := True) is
3076 pragma Assert
(False
3077 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3078 Set_Flag18
(N
, Val
);
3079 end Set_Address_Warning_Posted
;
3081 procedure Set_Aggregate_Bounds
3082 (N
: Node_Id
; Val
: Node_Id
) is
3084 pragma Assert
(False
3085 or else NT
(N
).Nkind
= N_Aggregate
);
3086 Set_Node3
(N
, Val
); -- semantic field, no parent set
3087 end Set_Aggregate_Bounds
;
3089 procedure Set_Aliased_Present
3090 (N
: Node_Id
; Val
: Boolean := True) is
3092 pragma Assert
(False
3093 or else NT
(N
).Nkind
= N_Component_Definition
3094 or else NT
(N
).Nkind
= N_Object_Declaration
);
3096 end Set_Aliased_Present
;
3098 procedure Set_All_Others
3099 (N
: Node_Id
; Val
: Boolean := True) is
3101 pragma Assert
(False
3102 or else NT
(N
).Nkind
= N_Others_Choice
);
3103 Set_Flag11
(N
, Val
);
3106 procedure Set_All_Present
3107 (N
: Node_Id
; Val
: Boolean := True) is
3109 pragma Assert
(False
3110 or else NT
(N
).Nkind
= N_Access_Definition
3111 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
3112 Set_Flag15
(N
, Val
);
3113 end Set_All_Present
;
3115 procedure Set_Alternatives
3116 (N
: Node_Id
; Val
: List_Id
) is
3118 pragma Assert
(False
3119 or else NT
(N
).Nkind
= N_Case_Statement
3120 or else NT
(N
).Nkind
= N_In
3121 or else NT
(N
).Nkind
= N_Not_In
);
3122 Set_List4_With_Parent
(N
, Val
);
3123 end Set_Alternatives
;
3125 procedure Set_Ancestor_Part
3126 (N
: Node_Id
; Val
: Node_Id
) is
3128 pragma Assert
(False
3129 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3130 Set_Node3_With_Parent
(N
, Val
);
3131 end Set_Ancestor_Part
;
3133 procedure Set_Array_Aggregate
3134 (N
: Node_Id
; Val
: Node_Id
) is
3136 pragma Assert
(False
3137 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
3138 Set_Node3_With_Parent
(N
, Val
);
3139 end Set_Array_Aggregate
;
3141 procedure Set_Assignment_OK
3142 (N
: Node_Id
; Val
: Boolean := True) is
3144 pragma Assert
(False
3145 or else NT
(N
).Nkind
= N_Object_Declaration
3146 or else NT
(N
).Nkind
in N_Subexpr
);
3147 Set_Flag15
(N
, Val
);
3148 end Set_Assignment_OK
;
3150 procedure Set_Associated_Node
3151 (N
: Node_Id
; Val
: Node_Id
) is
3153 pragma Assert
(False
3154 or else NT
(N
).Nkind
in N_Has_Entity
3155 or else NT
(N
).Nkind
= N_Aggregate
3156 or else NT
(N
).Nkind
= N_Extension_Aggregate
3157 or else NT
(N
).Nkind
= N_Selected_Component
);
3158 Set_Node4
(N
, Val
); -- semantic field, no parent set
3159 end Set_Associated_Node
;
3161 procedure Set_At_End_Proc
3162 (N
: Node_Id
; Val
: Node_Id
) is
3164 pragma Assert
(False
3165 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3167 end Set_At_End_Proc
;
3169 procedure Set_Attribute_Name
3170 (N
: Node_Id
; Val
: Name_Id
) is
3172 pragma Assert
(False
3173 or else NT
(N
).Nkind
= N_Attribute_Reference
);
3175 end Set_Attribute_Name
;
3177 procedure Set_Aux_Decls_Node
3178 (N
: Node_Id
; Val
: Node_Id
) is
3180 pragma Assert
(False
3181 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3182 Set_Node5_With_Parent
(N
, Val
);
3183 end Set_Aux_Decls_Node
;
3185 procedure Set_Backwards_OK
3186 (N
: Node_Id
; Val
: Boolean := True) is
3188 pragma Assert
(False
3189 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3191 end Set_Backwards_OK
;
3193 procedure Set_Bad_Is_Detected
3194 (N
: Node_Id
; Val
: Boolean := True) is
3196 pragma Assert
(False
3197 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3198 Set_Flag15
(N
, Val
);
3199 end Set_Bad_Is_Detected
;
3201 procedure Set_Body_Required
3202 (N
: Node_Id
; Val
: Boolean := True) is
3204 pragma Assert
(False
3205 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3206 Set_Flag13
(N
, Val
);
3207 end Set_Body_Required
;
3209 procedure Set_Body_To_Inline
3210 (N
: Node_Id
; Val
: Node_Id
) is
3212 pragma Assert
(False
3213 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
3215 end Set_Body_To_Inline
;
3217 procedure Set_Box_Present
3218 (N
: Node_Id
; Val
: Boolean := True) is
3220 pragma Assert
(False
3221 or else NT
(N
).Nkind
= N_Component_Association
3222 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
3223 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
3224 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3225 or else NT
(N
).Nkind
= N_Generic_Association
);
3226 Set_Flag15
(N
, Val
);
3227 end Set_Box_Present
;
3229 procedure Set_By_Ref
3230 (N
: Node_Id
; Val
: Boolean := True) is
3232 pragma Assert
(False
3233 or else NT
(N
).Nkind
= N_Extended_Return_Statement
3234 or else NT
(N
).Nkind
= N_Return_Statement
);
3238 procedure Set_Char_Literal_Value
3239 (N
: Node_Id
; Val
: Uint
) is
3241 pragma Assert
(False
3242 or else NT
(N
).Nkind
= N_Character_Literal
);
3244 end Set_Char_Literal_Value
;
3247 (N
: Node_Id
; Val
: Name_Id
) is
3249 pragma Assert
(False
3250 or else NT
(N
).Nkind
in N_Has_Chars
);
3254 procedure Set_Check_Address_Alignment
3255 (N
: Node_Id
; Val
: Boolean := True) is
3257 pragma Assert
(False
3258 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3259 Set_Flag11
(N
, Val
);
3260 end Set_Check_Address_Alignment
;
3262 procedure Set_Choice_Parameter
3263 (N
: Node_Id
; Val
: Node_Id
) is
3265 pragma Assert
(False
3266 or else NT
(N
).Nkind
= N_Exception_Handler
);
3267 Set_Node2_With_Parent
(N
, Val
);
3268 end Set_Choice_Parameter
;
3270 procedure Set_Choices
3271 (N
: Node_Id
; Val
: List_Id
) is
3273 pragma Assert
(False
3274 or else NT
(N
).Nkind
= N_Component_Association
);
3275 Set_List1_With_Parent
(N
, Val
);
3278 procedure Set_Coextensions
3279 (N
: Node_Id
; Val
: Elist_Id
) is
3281 pragma Assert
(False
3282 or else NT
(N
).Nkind
= N_Allocator
);
3283 Set_Elist4
(N
, Val
);
3284 end Set_Coextensions
;
3286 procedure Set_Comes_From_Extended_Return_Statement
3287 (N
: Node_Id
; Val
: Boolean := True) is
3289 pragma Assert
(False
3290 or else NT
(N
).Nkind
= N_Return_Statement
);
3291 Set_Flag18
(N
, Val
);
3292 end Set_Comes_From_Extended_Return_Statement
;
3294 procedure Set_Compile_Time_Known_Aggregate
3295 (N
: Node_Id
; Val
: Boolean := True) is
3297 pragma Assert
(False
3298 or else NT
(N
).Nkind
= N_Aggregate
);
3299 Set_Flag18
(N
, Val
);
3300 end Set_Compile_Time_Known_Aggregate
;
3302 procedure Set_Component_Associations
3303 (N
: Node_Id
; Val
: List_Id
) is
3305 pragma Assert
(False
3306 or else NT
(N
).Nkind
= N_Aggregate
3307 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3308 Set_List2_With_Parent
(N
, Val
);
3309 end Set_Component_Associations
;
3311 procedure Set_Component_Clauses
3312 (N
: Node_Id
; Val
: List_Id
) is
3314 pragma Assert
(False
3315 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
3316 Set_List3_With_Parent
(N
, Val
);
3317 end Set_Component_Clauses
;
3319 procedure Set_Component_Definition
3320 (N
: Node_Id
; Val
: Node_Id
) is
3322 pragma Assert
(False
3323 or else NT
(N
).Nkind
= N_Component_Declaration
3324 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
3325 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
3326 Set_Node4_With_Parent
(N
, Val
);
3327 end Set_Component_Definition
;
3329 procedure Set_Component_Items
3330 (N
: Node_Id
; Val
: List_Id
) is
3332 pragma Assert
(False
3333 or else NT
(N
).Nkind
= N_Component_List
);
3334 Set_List3_With_Parent
(N
, Val
);
3335 end Set_Component_Items
;
3337 procedure Set_Component_List
3338 (N
: Node_Id
; Val
: Node_Id
) is
3340 pragma Assert
(False
3341 or else NT
(N
).Nkind
= N_Record_Definition
3342 or else NT
(N
).Nkind
= N_Variant
);
3343 Set_Node1_With_Parent
(N
, Val
);
3344 end Set_Component_List
;
3346 procedure Set_Component_Name
3347 (N
: Node_Id
; Val
: Node_Id
) is
3349 pragma Assert
(False
3350 or else NT
(N
).Nkind
= N_Component_Clause
);
3351 Set_Node1_With_Parent
(N
, Val
);
3352 end Set_Component_Name
;
3354 procedure Set_Componentwise_Assignment
3355 (N
: Node_Id
; Val
: Boolean := True) is
3357 pragma Assert
(False
3358 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3359 Set_Flag14
(N
, Val
);
3360 end Set_Componentwise_Assignment
;
3362 procedure Set_Condition
3363 (N
: Node_Id
; Val
: Node_Id
) is
3365 pragma Assert
(False
3366 or else NT
(N
).Nkind
= N_Accept_Alternative
3367 or else NT
(N
).Nkind
= N_Delay_Alternative
3368 or else NT
(N
).Nkind
= N_Elsif_Part
3369 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
3370 or else NT
(N
).Nkind
= N_Exit_Statement
3371 or else NT
(N
).Nkind
= N_If_Statement
3372 or else NT
(N
).Nkind
= N_Iteration_Scheme
3373 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
3374 or else NT
(N
).Nkind
= N_Raise_Program_Error
3375 or else NT
(N
).Nkind
= N_Raise_Storage_Error
3376 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
3377 Set_Node1_With_Parent
(N
, Val
);
3380 procedure Set_Condition_Actions
3381 (N
: Node_Id
; Val
: List_Id
) is
3383 pragma Assert
(False
3384 or else NT
(N
).Nkind
= N_Elsif_Part
3385 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
3386 Set_List3
(N
, Val
); -- semantic field, no parent set
3387 end Set_Condition_Actions
;
3389 procedure Set_Config_Pragmas
3390 (N
: Node_Id
; Val
: List_Id
) is
3392 pragma Assert
(False
3393 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
);
3394 Set_List4_With_Parent
(N
, Val
);
3395 end Set_Config_Pragmas
;
3397 procedure Set_Constant_Present
3398 (N
: Node_Id
; Val
: Boolean := True) is
3400 pragma Assert
(False
3401 or else NT
(N
).Nkind
= N_Access_Definition
3402 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
3403 or else NT
(N
).Nkind
= N_Object_Declaration
);
3404 Set_Flag17
(N
, Val
);
3405 end Set_Constant_Present
;
3407 procedure Set_Constraint
3408 (N
: Node_Id
; Val
: Node_Id
) is
3410 pragma Assert
(False
3411 or else NT
(N
).Nkind
= N_Subtype_Indication
);
3412 Set_Node3_With_Parent
(N
, Val
);
3415 procedure Set_Constraints
3416 (N
: Node_Id
; Val
: List_Id
) is
3418 pragma Assert
(False
3419 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
3420 Set_List1_With_Parent
(N
, Val
);
3421 end Set_Constraints
;
3423 procedure Set_Context_Installed
3424 (N
: Node_Id
; Val
: Boolean := True) is
3426 pragma Assert
(False
3427 or else NT
(N
).Nkind
= N_With_Clause
);
3428 Set_Flag13
(N
, Val
);
3429 end Set_Context_Installed
;
3431 procedure Set_Context_Items
3432 (N
: Node_Id
; Val
: List_Id
) is
3434 pragma Assert
(False
3435 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3436 Set_List1_With_Parent
(N
, Val
);
3437 end Set_Context_Items
;
3439 procedure Set_Context_Pending
3440 (N
: Node_Id
; Val
: Boolean := True) is
3442 pragma Assert
(False
3443 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3444 Set_Flag16
(N
, Val
);
3445 end Set_Context_Pending
;
3447 procedure Set_Controlling_Argument
3448 (N
: Node_Id
; Val
: Node_Id
) is
3450 pragma Assert
(False
3451 or else NT
(N
).Nkind
= N_Function_Call
3452 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3453 Set_Node1
(N
, Val
); -- semantic field, no parent set
3454 end Set_Controlling_Argument
;
3456 procedure Set_Conversion_OK
3457 (N
: Node_Id
; Val
: Boolean := True) is
3459 pragma Assert
(False
3460 or else NT
(N
).Nkind
= N_Type_Conversion
);
3461 Set_Flag14
(N
, Val
);
3462 end Set_Conversion_OK
;
3464 procedure Set_Corresponding_Body
3465 (N
: Node_Id
; Val
: Node_Id
) is
3467 pragma Assert
(False
3468 or else NT
(N
).Nkind
= N_Entry_Declaration
3469 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3470 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
3471 or else NT
(N
).Nkind
= N_Package_Body_Stub
3472 or else NT
(N
).Nkind
= N_Package_Declaration
3473 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3474 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3475 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
3476 or else NT
(N
).Nkind
= N_Subprogram_Declaration
3477 or else NT
(N
).Nkind
= N_Task_Body_Stub
3478 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3479 Set_Node5
(N
, Val
); -- semantic field, no parent set
3480 end Set_Corresponding_Body
;
3482 procedure Set_Corresponding_Formal_Spec
3483 (N
: Node_Id
; Val
: Node_Id
) is
3485 pragma Assert
(False
3486 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
3487 Set_Node3
(N
, Val
); -- semantic field, no parent set
3488 end Set_Corresponding_Formal_Spec
;
3490 procedure Set_Corresponding_Generic_Association
3491 (N
: Node_Id
; Val
: Node_Id
) is
3493 pragma Assert
(False
3494 or else NT
(N
).Nkind
= N_Object_Declaration
3495 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
3496 Set_Node5
(N
, Val
); -- semantic field, no parent set
3497 end Set_Corresponding_Generic_Association
;
3499 procedure Set_Corresponding_Integer_Value
3500 (N
: Node_Id
; Val
: Uint
) is
3502 pragma Assert
(False
3503 or else NT
(N
).Nkind
= N_Real_Literal
);
3504 Set_Uint4
(N
, Val
); -- semantic field, no parent set
3505 end Set_Corresponding_Integer_Value
;
3507 procedure Set_Corresponding_Spec
3508 (N
: Node_Id
; Val
: Node_Id
) is
3510 pragma Assert
(False
3511 or else NT
(N
).Nkind
= N_Package_Body
3512 or else NT
(N
).Nkind
= N_Protected_Body
3513 or else NT
(N
).Nkind
= N_Subprogram_Body
3514 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
3515 or else NT
(N
).Nkind
= N_Task_Body
3516 or else NT
(N
).Nkind
= N_With_Clause
);
3517 Set_Node5
(N
, Val
); -- semantic field, no parent set
3518 end Set_Corresponding_Spec
;
3520 procedure Set_Corresponding_Stub
3521 (N
: Node_Id
; Val
: Node_Id
) is
3523 pragma Assert
(False
3524 or else NT
(N
).Nkind
= N_Subunit
);
3526 end Set_Corresponding_Stub
;
3528 procedure Set_Dcheck_Function
3529 (N
: Node_Id
; Val
: Entity_Id
) is
3531 pragma Assert
(False
3532 or else NT
(N
).Nkind
= N_Variant
);
3533 Set_Node5
(N
, Val
); -- semantic field, no parent set
3534 end Set_Dcheck_Function
;
3536 procedure Set_Debug_Statement
3537 (N
: Node_Id
; Val
: Node_Id
) is
3539 pragma Assert
(False
3540 or else NT
(N
).Nkind
= N_Pragma
);
3541 Set_Node3_With_Parent
(N
, Val
);
3542 end Set_Debug_Statement
;
3544 procedure Set_Declarations
3545 (N
: Node_Id
; Val
: List_Id
) is
3547 pragma Assert
(False
3548 or else NT
(N
).Nkind
= N_Accept_Statement
3549 or else NT
(N
).Nkind
= N_Block_Statement
3550 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
3551 or else NT
(N
).Nkind
= N_Entry_Body
3552 or else NT
(N
).Nkind
= N_Package_Body
3553 or else NT
(N
).Nkind
= N_Protected_Body
3554 or else NT
(N
).Nkind
= N_Subprogram_Body
3555 or else NT
(N
).Nkind
= N_Task_Body
);
3556 Set_List2_With_Parent
(N
, Val
);
3557 end Set_Declarations
;
3559 procedure Set_Default_Expression
3560 (N
: Node_Id
; Val
: Node_Id
) is
3562 pragma Assert
(False
3563 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3564 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3565 Set_Node5
(N
, Val
); -- semantic field, no parent set
3566 end Set_Default_Expression
;
3568 procedure Set_Default_Name
3569 (N
: Node_Id
; Val
: Node_Id
) is
3571 pragma Assert
(False
3572 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
3573 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
);
3574 Set_Node2_With_Parent
(N
, Val
);
3575 end Set_Default_Name
;
3577 procedure Set_Defining_Identifier
3578 (N
: Node_Id
; Val
: Entity_Id
) is
3580 pragma Assert
(False
3581 or else NT
(N
).Nkind
= N_Component_Declaration
3582 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
3583 or else NT
(N
).Nkind
= N_Discriminant_Specification
3584 or else NT
(N
).Nkind
= N_Entry_Body
3585 or else NT
(N
).Nkind
= N_Entry_Declaration
3586 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3587 or else NT
(N
).Nkind
= N_Exception_Declaration
3588 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
3589 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3590 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3591 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3592 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3593 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
3594 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3595 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
3596 or else NT
(N
).Nkind
= N_Number_Declaration
3597 or else NT
(N
).Nkind
= N_Object_Declaration
3598 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
3599 or else NT
(N
).Nkind
= N_Package_Body_Stub
3600 or else NT
(N
).Nkind
= N_Parameter_Specification
3601 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3602 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3603 or else NT
(N
).Nkind
= N_Protected_Body
3604 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3605 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3606 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
3607 or else NT
(N
).Nkind
= N_Single_Task_Declaration
3608 or else NT
(N
).Nkind
= N_Subtype_Declaration
3609 or else NT
(N
).Nkind
= N_Task_Body
3610 or else NT
(N
).Nkind
= N_Task_Body_Stub
3611 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3612 Set_Node1_With_Parent
(N
, Val
);
3613 end Set_Defining_Identifier
;
3615 procedure Set_Defining_Unit_Name
3616 (N
: Node_Id
; Val
: Node_Id
) is
3618 pragma Assert
(False
3619 or else NT
(N
).Nkind
= N_Function_Instantiation
3620 or else NT
(N
).Nkind
= N_Function_Specification
3621 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
3622 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
3623 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
3624 or else NT
(N
).Nkind
= N_Package_Body
3625 or else NT
(N
).Nkind
= N_Package_Instantiation
3626 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
3627 or else NT
(N
).Nkind
= N_Package_Specification
3628 or else NT
(N
).Nkind
= N_Procedure_Instantiation
3629 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3630 Set_Node1_With_Parent
(N
, Val
);
3631 end Set_Defining_Unit_Name
;
3633 procedure Set_Delay_Alternative
3634 (N
: Node_Id
; Val
: Node_Id
) is
3636 pragma Assert
(False
3637 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3638 Set_Node4_With_Parent
(N
, Val
);
3639 end Set_Delay_Alternative
;
3641 procedure Set_Delay_Statement
3642 (N
: Node_Id
; Val
: Node_Id
) is
3644 pragma Assert
(False
3645 or else NT
(N
).Nkind
= N_Delay_Alternative
);
3646 Set_Node2_With_Parent
(N
, Val
);
3647 end Set_Delay_Statement
;
3649 procedure Set_Delta_Expression
3650 (N
: Node_Id
; Val
: Node_Id
) is
3652 pragma Assert
(False
3653 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3654 or else NT
(N
).Nkind
= N_Delta_Constraint
3655 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
3656 Set_Node3_With_Parent
(N
, Val
);
3657 end Set_Delta_Expression
;
3659 procedure Set_Digits_Expression
3660 (N
: Node_Id
; Val
: Node_Id
) is
3662 pragma Assert
(False
3663 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3664 or else NT
(N
).Nkind
= N_Digits_Constraint
3665 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
3666 Set_Node2_With_Parent
(N
, Val
);
3667 end Set_Digits_Expression
;
3669 procedure Set_Discr_Check_Funcs_Built
3670 (N
: Node_Id
; Val
: Boolean := True) is
3672 pragma Assert
(False
3673 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
3674 Set_Flag11
(N
, Val
);
3675 end Set_Discr_Check_Funcs_Built
;
3677 procedure Set_Discrete_Choices
3678 (N
: Node_Id
; Val
: List_Id
) is
3680 pragma Assert
(False
3681 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
3682 or else NT
(N
).Nkind
= N_Variant
);
3683 Set_List4_With_Parent
(N
, Val
);
3684 end Set_Discrete_Choices
;
3686 procedure Set_Discrete_Range
3687 (N
: Node_Id
; Val
: Node_Id
) is
3689 pragma Assert
(False
3690 or else NT
(N
).Nkind
= N_Slice
);
3691 Set_Node4_With_Parent
(N
, Val
);
3692 end Set_Discrete_Range
;
3694 procedure Set_Discrete_Subtype_Definition
3695 (N
: Node_Id
; Val
: Node_Id
) is
3697 pragma Assert
(False
3698 or else NT
(N
).Nkind
= N_Entry_Declaration
3699 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3700 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
3701 Set_Node4_With_Parent
(N
, Val
);
3702 end Set_Discrete_Subtype_Definition
;
3704 procedure Set_Discrete_Subtype_Definitions
3705 (N
: Node_Id
; Val
: List_Id
) is
3707 pragma Assert
(False
3708 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
3709 Set_List2_With_Parent
(N
, Val
);
3710 end Set_Discrete_Subtype_Definitions
;
3712 procedure Set_Discriminant_Specifications
3713 (N
: Node_Id
; Val
: List_Id
) is
3715 pragma Assert
(False
3716 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3717 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3718 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3719 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3720 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3721 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3722 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3723 Set_List4_With_Parent
(N
, Val
);
3724 end Set_Discriminant_Specifications
;
3726 procedure Set_Discriminant_Type
3727 (N
: Node_Id
; Val
: Node_Id
) is
3729 pragma Assert
(False
3730 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
3731 Set_Node5_With_Parent
(N
, Val
);
3732 end Set_Discriminant_Type
;
3734 procedure Set_Do_Accessibility_Check
3735 (N
: Node_Id
; Val
: Boolean := True) is
3737 pragma Assert
(False
3738 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3739 Set_Flag13
(N
, Val
);
3740 end Set_Do_Accessibility_Check
;
3742 procedure Set_Do_Discriminant_Check
3743 (N
: Node_Id
; Val
: Boolean := True) is
3745 pragma Assert
(False
3746 or else NT
(N
).Nkind
= N_Selected_Component
);
3747 Set_Flag13
(N
, Val
);
3748 end Set_Do_Discriminant_Check
;
3750 procedure Set_Do_Division_Check
3751 (N
: Node_Id
; Val
: Boolean := True) is
3753 pragma Assert
(False
3754 or else NT
(N
).Nkind
= N_Op_Divide
3755 or else NT
(N
).Nkind
= N_Op_Mod
3756 or else NT
(N
).Nkind
= N_Op_Rem
);
3757 Set_Flag13
(N
, Val
);
3758 end Set_Do_Division_Check
;
3760 procedure Set_Do_Length_Check
3761 (N
: Node_Id
; Val
: Boolean := True) is
3763 pragma Assert
(False
3764 or else NT
(N
).Nkind
= N_Assignment_Statement
3765 or else NT
(N
).Nkind
= N_Op_And
3766 or else NT
(N
).Nkind
= N_Op_Or
3767 or else NT
(N
).Nkind
= N_Op_Xor
3768 or else NT
(N
).Nkind
= N_Type_Conversion
);
3770 end Set_Do_Length_Check
;
3772 procedure Set_Do_Overflow_Check
3773 (N
: Node_Id
; Val
: Boolean := True) is
3775 pragma Assert
(False
3776 or else NT
(N
).Nkind
in N_Op
3777 or else NT
(N
).Nkind
= N_Attribute_Reference
3778 or else NT
(N
).Nkind
= N_Type_Conversion
);
3779 Set_Flag17
(N
, Val
);
3780 end Set_Do_Overflow_Check
;
3782 procedure Set_Do_Range_Check
3783 (N
: Node_Id
; Val
: Boolean := True) is
3785 pragma Assert
(False
3786 or else NT
(N
).Nkind
in N_Subexpr
);
3788 end Set_Do_Range_Check
;
3790 procedure Set_Do_Storage_Check
3791 (N
: Node_Id
; Val
: Boolean := True) is
3793 pragma Assert
(False
3794 or else NT
(N
).Nkind
= N_Allocator
3795 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3796 Set_Flag17
(N
, Val
);
3797 end Set_Do_Storage_Check
;
3799 procedure Set_Do_Tag_Check
3800 (N
: Node_Id
; Val
: Boolean := True) is
3802 pragma Assert
(False
3803 or else NT
(N
).Nkind
= N_Assignment_Statement
3804 or else NT
(N
).Nkind
= N_Extended_Return_Statement
3805 or else NT
(N
).Nkind
= N_Function_Call
3806 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
3807 or else NT
(N
).Nkind
= N_Return_Statement
3808 or else NT
(N
).Nkind
= N_Type_Conversion
);
3809 Set_Flag13
(N
, Val
);
3810 end Set_Do_Tag_Check
;
3812 procedure Set_Elaborate_All_Desirable
3813 (N
: Node_Id
; Val
: Boolean := True) is
3815 pragma Assert
(False
3816 or else NT
(N
).Nkind
= N_With_Clause
);
3818 end Set_Elaborate_All_Desirable
;
3820 procedure Set_Elaborate_All_Present
3821 (N
: Node_Id
; Val
: Boolean := True) is
3823 pragma Assert
(False
3824 or else NT
(N
).Nkind
= N_With_Clause
);
3825 Set_Flag14
(N
, Val
);
3826 end Set_Elaborate_All_Present
;
3828 procedure Set_Elaborate_Desirable
3829 (N
: Node_Id
; Val
: Boolean := True) is
3831 pragma Assert
(False
3832 or else NT
(N
).Nkind
= N_With_Clause
);
3833 Set_Flag11
(N
, Val
);
3834 end Set_Elaborate_Desirable
;
3836 procedure Set_Elaborate_Present
3837 (N
: Node_Id
; Val
: Boolean := True) is
3839 pragma Assert
(False
3840 or else NT
(N
).Nkind
= N_With_Clause
);
3842 end Set_Elaborate_Present
;
3844 procedure Set_Elaboration_Boolean
3845 (N
: Node_Id
; Val
: Node_Id
) is
3847 pragma Assert
(False
3848 or else NT
(N
).Nkind
= N_Function_Specification
3849 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3851 end Set_Elaboration_Boolean
;
3853 procedure Set_Else_Actions
3854 (N
: Node_Id
; Val
: List_Id
) is
3856 pragma Assert
(False
3857 or else NT
(N
).Nkind
= N_Conditional_Expression
);
3858 Set_List3
(N
, Val
); -- semantic field, no parent set
3859 end Set_Else_Actions
;
3861 procedure Set_Else_Statements
3862 (N
: Node_Id
; Val
: List_Id
) is
3864 pragma Assert
(False
3865 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3866 or else NT
(N
).Nkind
= N_If_Statement
3867 or else NT
(N
).Nkind
= N_Selective_Accept
);
3868 Set_List4_With_Parent
(N
, Val
);
3869 end Set_Else_Statements
;
3871 procedure Set_Elsif_Parts
3872 (N
: Node_Id
; Val
: List_Id
) is
3874 pragma Assert
(False
3875 or else NT
(N
).Nkind
= N_If_Statement
);
3876 Set_List3_With_Parent
(N
, Val
);
3877 end Set_Elsif_Parts
;
3879 procedure Set_Enclosing_Variant
3880 (N
: Node_Id
; Val
: Node_Id
) is
3882 pragma Assert
(False
3883 or else NT
(N
).Nkind
= N_Variant
);
3884 Set_Node2
(N
, Val
); -- semantic field, no parent set
3885 end Set_Enclosing_Variant
;
3887 procedure Set_End_Label
3888 (N
: Node_Id
; Val
: Node_Id
) is
3890 pragma Assert
(False
3891 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
3892 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
3893 or else NT
(N
).Nkind
= N_Loop_Statement
3894 or else NT
(N
).Nkind
= N_Package_Specification
3895 or else NT
(N
).Nkind
= N_Protected_Body
3896 or else NT
(N
).Nkind
= N_Protected_Definition
3897 or else NT
(N
).Nkind
= N_Record_Definition
3898 or else NT
(N
).Nkind
= N_Task_Definition
);
3899 Set_Node4_With_Parent
(N
, Val
);
3902 procedure Set_End_Span
3903 (N
: Node_Id
; Val
: Uint
) is
3905 pragma Assert
(False
3906 or else NT
(N
).Nkind
= N_Case_Statement
3907 or else NT
(N
).Nkind
= N_If_Statement
);
3911 procedure Set_Entity
3912 (N
: Node_Id
; Val
: Node_Id
) is
3914 pragma Assert
(False
3915 or else NT
(N
).Nkind
in N_Has_Entity
3916 or else NT
(N
).Nkind
= N_Freeze_Entity
3917 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3918 Set_Node4
(N
, Val
); -- semantic field, no parent set
3921 procedure Set_Entry_Body_Formal_Part
3922 (N
: Node_Id
; Val
: Node_Id
) is
3924 pragma Assert
(False
3925 or else NT
(N
).Nkind
= N_Entry_Body
);
3926 Set_Node5_With_Parent
(N
, Val
);
3927 end Set_Entry_Body_Formal_Part
;
3929 procedure Set_Entry_Call_Alternative
3930 (N
: Node_Id
; Val
: Node_Id
) is
3932 pragma Assert
(False
3933 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3934 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3935 Set_Node1_With_Parent
(N
, Val
);
3936 end Set_Entry_Call_Alternative
;
3938 procedure Set_Entry_Call_Statement
3939 (N
: Node_Id
; Val
: Node_Id
) is
3941 pragma Assert
(False
3942 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
3943 Set_Node1_With_Parent
(N
, Val
);
3944 end Set_Entry_Call_Statement
;
3946 procedure Set_Entry_Direct_Name
3947 (N
: Node_Id
; Val
: Node_Id
) is
3949 pragma Assert
(False
3950 or else NT
(N
).Nkind
= N_Accept_Statement
);
3951 Set_Node1_With_Parent
(N
, Val
);
3952 end Set_Entry_Direct_Name
;
3954 procedure Set_Entry_Index
3955 (N
: Node_Id
; Val
: Node_Id
) is
3957 pragma Assert
(False
3958 or else NT
(N
).Nkind
= N_Accept_Statement
);
3959 Set_Node5_With_Parent
(N
, Val
);
3960 end Set_Entry_Index
;
3962 procedure Set_Entry_Index_Specification
3963 (N
: Node_Id
; Val
: Node_Id
) is
3965 pragma Assert
(False
3966 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
3967 Set_Node4_With_Parent
(N
, Val
);
3968 end Set_Entry_Index_Specification
;
3971 (N
: Node_Id
; Val
: Node_Id
) is
3973 pragma Assert
(False
3974 or else NT
(N
).Nkind
in N_Has_Etype
);
3975 Set_Node5
(N
, Val
); -- semantic field, no parent set
3978 procedure Set_Exception_Choices
3979 (N
: Node_Id
; Val
: List_Id
) is
3981 pragma Assert
(False
3982 or else NT
(N
).Nkind
= N_Exception_Handler
);
3983 Set_List4_With_Parent
(N
, Val
);
3984 end Set_Exception_Choices
;
3986 procedure Set_Exception_Handlers
3987 (N
: Node_Id
; Val
: List_Id
) is
3989 pragma Assert
(False
3990 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3991 Set_List5_With_Parent
(N
, Val
);
3992 end Set_Exception_Handlers
;
3994 procedure Set_Exception_Junk
3995 (N
: Node_Id
; Val
: Boolean := True) is
3997 pragma Assert
(False
3998 or else NT
(N
).Nkind
= N_Block_Statement
3999 or else NT
(N
).Nkind
= N_Goto_Statement
4000 or else NT
(N
).Nkind
= N_Label
4001 or else NT
(N
).Nkind
= N_Object_Declaration
4002 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4004 end Set_Exception_Junk
;
4006 procedure Set_Exception_Label
4007 (N
: Node_Id
; Val
: Node_Id
) is
4009 pragma Assert
(False
4010 or else NT
(N
).Nkind
= N_Exception_Handler
4011 or else NT
(N
).Nkind
= N_Push_Constraint_Error_Label
4012 or else NT
(N
).Nkind
= N_Push_Program_Error_Label
4013 or else NT
(N
).Nkind
= N_Push_Storage_Error_Label
);
4014 Set_Node5
(N
, Val
); -- semantic field, no parent set
4015 end Set_Exception_Label
;
4017 procedure Set_Expansion_Delayed
4018 (N
: Node_Id
; Val
: Boolean := True) is
4020 pragma Assert
(False
4021 or else NT
(N
).Nkind
= N_Aggregate
4022 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4023 Set_Flag11
(N
, Val
);
4024 end Set_Expansion_Delayed
;
4026 procedure Set_Explicit_Actual_Parameter
4027 (N
: Node_Id
; Val
: Node_Id
) is
4029 pragma Assert
(False
4030 or else NT
(N
).Nkind
= N_Parameter_Association
);
4031 Set_Node3_With_Parent
(N
, Val
);
4032 end Set_Explicit_Actual_Parameter
;
4034 procedure Set_Explicit_Generic_Actual_Parameter
4035 (N
: Node_Id
; Val
: Node_Id
) is
4037 pragma Assert
(False
4038 or else NT
(N
).Nkind
= N_Generic_Association
);
4039 Set_Node1_With_Parent
(N
, Val
);
4040 end Set_Explicit_Generic_Actual_Parameter
;
4042 procedure Set_Expression
4043 (N
: Node_Id
; Val
: Node_Id
) is
4045 pragma Assert
(False
4046 or else NT
(N
).Nkind
= N_Allocator
4047 or else NT
(N
).Nkind
= N_Assignment_Statement
4048 or else NT
(N
).Nkind
= N_At_Clause
4049 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4050 or else NT
(N
).Nkind
= N_Case_Statement
4051 or else NT
(N
).Nkind
= N_Code_Statement
4052 or else NT
(N
).Nkind
= N_Component_Association
4053 or else NT
(N
).Nkind
= N_Component_Declaration
4054 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
4055 or else NT
(N
).Nkind
= N_Delay_Until_Statement
4056 or else NT
(N
).Nkind
= N_Discriminant_Association
4057 or else NT
(N
).Nkind
= N_Discriminant_Specification
4058 or else NT
(N
).Nkind
= N_Exception_Declaration
4059 or else NT
(N
).Nkind
= N_Free_Statement
4060 or else NT
(N
).Nkind
= N_Mod_Clause
4061 or else NT
(N
).Nkind
= N_Modular_Type_Definition
4062 or else NT
(N
).Nkind
= N_Number_Declaration
4063 or else NT
(N
).Nkind
= N_Object_Declaration
4064 or else NT
(N
).Nkind
= N_Parameter_Specification
4065 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
4066 or else NT
(N
).Nkind
= N_Qualified_Expression
4067 or else NT
(N
).Nkind
= N_Raise_Statement
4068 or else NT
(N
).Nkind
= N_Return_Statement
4069 or else NT
(N
).Nkind
= N_Type_Conversion
4070 or else NT
(N
).Nkind
= N_Unchecked_Expression
4071 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4072 Set_Node3_With_Parent
(N
, Val
);
4075 procedure Set_Expressions
4076 (N
: Node_Id
; Val
: List_Id
) is
4078 pragma Assert
(False
4079 or else NT
(N
).Nkind
= N_Aggregate
4080 or else NT
(N
).Nkind
= N_Attribute_Reference
4081 or else NT
(N
).Nkind
= N_Conditional_Expression
4082 or else NT
(N
).Nkind
= N_Extension_Aggregate
4083 or else NT
(N
).Nkind
= N_Indexed_Component
);
4084 Set_List1_With_Parent
(N
, Val
);
4085 end Set_Expressions
;
4087 procedure Set_First_Bit
4088 (N
: Node_Id
; Val
: Node_Id
) is
4090 pragma Assert
(False
4091 or else NT
(N
).Nkind
= N_Component_Clause
);
4092 Set_Node3_With_Parent
(N
, Val
);
4095 procedure Set_First_Inlined_Subprogram
4096 (N
: Node_Id
; Val
: Entity_Id
) is
4098 pragma Assert
(False
4099 or else NT
(N
).Nkind
= N_Compilation_Unit
);
4100 Set_Node3
(N
, Val
); -- semantic field, no parent set
4101 end Set_First_Inlined_Subprogram
;
4103 procedure Set_First_Name
4104 (N
: Node_Id
; Val
: Boolean := True) is
4106 pragma Assert
(False
4107 or else NT
(N
).Nkind
= N_With_Clause
);
4111 procedure Set_First_Named_Actual
4112 (N
: Node_Id
; Val
: Node_Id
) is
4114 pragma Assert
(False
4115 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4116 or else NT
(N
).Nkind
= N_Function_Call
4117 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4118 Set_Node4
(N
, Val
); -- semantic field, no parent set
4119 end Set_First_Named_Actual
;
4121 procedure Set_First_Real_Statement
4122 (N
: Node_Id
; Val
: Node_Id
) is
4124 pragma Assert
(False
4125 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
4126 Set_Node2
(N
, Val
); -- semantic field, no parent set
4127 end Set_First_Real_Statement
;
4129 procedure Set_First_Subtype_Link
4130 (N
: Node_Id
; Val
: Entity_Id
) is
4132 pragma Assert
(False
4133 or else NT
(N
).Nkind
= N_Freeze_Entity
);
4134 Set_Node5
(N
, Val
); -- semantic field, no parent set
4135 end Set_First_Subtype_Link
;
4137 procedure Set_Float_Truncate
4138 (N
: Node_Id
; Val
: Boolean := True) is
4140 pragma Assert
(False
4141 or else NT
(N
).Nkind
= N_Type_Conversion
);
4142 Set_Flag11
(N
, Val
);
4143 end Set_Float_Truncate
;
4145 procedure Set_Formal_Type_Definition
4146 (N
: Node_Id
; Val
: Node_Id
) is
4148 pragma Assert
(False
4149 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
4150 Set_Node3_With_Parent
(N
, Val
);
4151 end Set_Formal_Type_Definition
;
4153 procedure Set_Forwards_OK
4154 (N
: Node_Id
; Val
: Boolean := True) is
4156 pragma Assert
(False
4157 or else NT
(N
).Nkind
= N_Assignment_Statement
);
4159 end Set_Forwards_OK
;
4161 procedure Set_From_At_End
4162 (N
: Node_Id
; Val
: Boolean := True) is
4164 pragma Assert
(False
4165 or else NT
(N
).Nkind
= N_Raise_Statement
);
4167 end Set_From_At_End
;
4169 procedure Set_From_At_Mod
4170 (N
: Node_Id
; Val
: Boolean := True) is
4172 pragma Assert
(False
4173 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
4175 end Set_From_At_Mod
;
4177 procedure Set_From_Default
4178 (N
: Node_Id
; Val
: Boolean := True) is
4180 pragma Assert
(False
4181 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4183 end Set_From_Default
;
4185 procedure Set_Generic_Associations
4186 (N
: Node_Id
; Val
: List_Id
) is
4188 pragma Assert
(False
4189 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4190 or else NT
(N
).Nkind
= N_Function_Instantiation
4191 or else NT
(N
).Nkind
= N_Package_Instantiation
4192 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
4193 Set_List3_With_Parent
(N
, Val
);
4194 end Set_Generic_Associations
;
4196 procedure Set_Generic_Formal_Declarations
4197 (N
: Node_Id
; Val
: List_Id
) is
4199 pragma Assert
(False
4200 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4201 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
4202 Set_List2_With_Parent
(N
, Val
);
4203 end Set_Generic_Formal_Declarations
;
4205 procedure Set_Generic_Parent
4206 (N
: Node_Id
; Val
: Node_Id
) is
4208 pragma Assert
(False
4209 or else NT
(N
).Nkind
= N_Function_Specification
4210 or else NT
(N
).Nkind
= N_Package_Specification
4211 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4213 end Set_Generic_Parent
;
4215 procedure Set_Generic_Parent_Type
4216 (N
: Node_Id
; Val
: Node_Id
) is
4218 pragma Assert
(False
4219 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
4221 end Set_Generic_Parent_Type
;
4223 procedure Set_Handled_Statement_Sequence
4224 (N
: Node_Id
; Val
: Node_Id
) is
4226 pragma Assert
(False
4227 or else NT
(N
).Nkind
= N_Accept_Statement
4228 or else NT
(N
).Nkind
= N_Block_Statement
4229 or else NT
(N
).Nkind
= N_Entry_Body
4230 or else NT
(N
).Nkind
= N_Extended_Return_Statement
4231 or else NT
(N
).Nkind
= N_Package_Body
4232 or else NT
(N
).Nkind
= N_Subprogram_Body
4233 or else NT
(N
).Nkind
= N_Task_Body
);
4234 Set_Node4_With_Parent
(N
, Val
);
4235 end Set_Handled_Statement_Sequence
;
4237 procedure Set_Handler_List_Entry
4238 (N
: Node_Id
; Val
: Node_Id
) is
4240 pragma Assert
(False
4241 or else NT
(N
).Nkind
= N_Object_Declaration
);
4243 end Set_Handler_List_Entry
;
4245 procedure Set_Has_Created_Identifier
4246 (N
: Node_Id
; Val
: Boolean := True) is
4248 pragma Assert
(False
4249 or else NT
(N
).Nkind
= N_Block_Statement
4250 or else NT
(N
).Nkind
= N_Loop_Statement
);
4251 Set_Flag15
(N
, Val
);
4252 end Set_Has_Created_Identifier
;
4254 procedure Set_Has_Dynamic_Length_Check
4255 (N
: Node_Id
; Val
: Boolean := True) is
4257 Set_Flag10
(N
, Val
);
4258 end Set_Has_Dynamic_Length_Check
;
4260 procedure Set_Has_Dynamic_Range_Check
4261 (N
: Node_Id
; Val
: Boolean := True) is
4263 Set_Flag12
(N
, Val
);
4264 end Set_Has_Dynamic_Range_Check
;
4266 procedure Set_Has_Init_Expression
4267 (N
: Node_Id
; Val
: Boolean := True) is
4269 pragma Assert
(False
4270 or else NT
(N
).Nkind
= N_Object_Declaration
);
4271 Set_Flag14
(N
, Val
);
4272 end Set_Has_Init_Expression
;
4274 procedure Set_Has_Local_Raise
4275 (N
: Node_Id
; Val
: Boolean := True) is
4277 pragma Assert
(False
4278 or else NT
(N
).Nkind
= N_Exception_Handler
);
4280 end Set_Has_Local_Raise
;
4282 procedure Set_Has_No_Elaboration_Code
4283 (N
: Node_Id
; Val
: Boolean := True) is
4285 pragma Assert
(False
4286 or else NT
(N
).Nkind
= N_Compilation_Unit
);
4287 Set_Flag17
(N
, Val
);
4288 end Set_Has_No_Elaboration_Code
;
4290 procedure Set_Has_Priority_Pragma
4291 (N
: Node_Id
; Val
: Boolean := True) is
4293 pragma Assert
(False
4294 or else NT
(N
).Nkind
= N_Protected_Definition
4295 or else NT
(N
).Nkind
= N_Subprogram_Body
4296 or else NT
(N
).Nkind
= N_Task_Definition
);
4298 end Set_Has_Priority_Pragma
;
4300 procedure Set_Has_Private_View
4301 (N
: Node_Id
; Val
: Boolean := True) is
4303 pragma Assert
(False
4304 or else NT
(N
).Nkind
in N_Op
4305 or else NT
(N
).Nkind
= N_Character_Literal
4306 or else NT
(N
).Nkind
= N_Expanded_Name
4307 or else NT
(N
).Nkind
= N_Identifier
4308 or else NT
(N
).Nkind
= N_Operator_Symbol
);
4309 Set_Flag11
(N
, Val
);
4310 end Set_Has_Private_View
;
4312 procedure Set_Has_Relative_Deadline_Pragma
4313 (N
: Node_Id
; Val
: Boolean := True) is
4315 pragma Assert
(False
4316 or else NT
(N
).Nkind
= N_Subprogram_Body
4317 or else NT
(N
).Nkind
= N_Task_Definition
);
4319 end Set_Has_Relative_Deadline_Pragma
;
4321 procedure Set_Has_Self_Reference
4322 (N
: Node_Id
; Val
: Boolean := True) is
4324 pragma Assert
(False
4325 or else NT
(N
).Nkind
= N_Aggregate
4326 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4327 Set_Flag13
(N
, Val
);
4328 end Set_Has_Self_Reference
;
4330 procedure Set_Has_Storage_Size_Pragma
4331 (N
: Node_Id
; Val
: Boolean := True) is
4333 pragma Assert
(False
4334 or else NT
(N
).Nkind
= N_Task_Definition
);
4336 end Set_Has_Storage_Size_Pragma
;
4338 procedure Set_Has_Task_Info_Pragma
4339 (N
: Node_Id
; Val
: Boolean := True) is
4341 pragma Assert
(False
4342 or else NT
(N
).Nkind
= N_Task_Definition
);
4344 end Set_Has_Task_Info_Pragma
;
4346 procedure Set_Has_Task_Name_Pragma
4347 (N
: Node_Id
; Val
: Boolean := True) is
4349 pragma Assert
(False
4350 or else NT
(N
).Nkind
= N_Task_Definition
);
4352 end Set_Has_Task_Name_Pragma
;
4354 procedure Set_Has_Wide_Character
4355 (N
: Node_Id
; Val
: Boolean := True) is
4357 pragma Assert
(False
4358 or else NT
(N
).Nkind
= N_String_Literal
);
4359 Set_Flag11
(N
, Val
);
4360 end Set_Has_Wide_Character
;
4362 procedure Set_Has_Wide_Wide_Character
4363 (N
: Node_Id
; Val
: Boolean := True) is
4365 pragma Assert
(False
4366 or else NT
(N
).Nkind
= N_String_Literal
);
4367 Set_Flag13
(N
, Val
);
4368 end Set_Has_Wide_Wide_Character
;
4370 procedure Set_Hidden_By_Use_Clause
4371 (N
: Node_Id
; Val
: Elist_Id
) is
4373 pragma Assert
(False
4374 or else NT
(N
).Nkind
= N_Use_Package_Clause
4375 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4376 Set_Elist4
(N
, Val
);
4377 end Set_Hidden_By_Use_Clause
;
4379 procedure Set_High_Bound
4380 (N
: Node_Id
; Val
: Node_Id
) is
4382 pragma Assert
(False
4383 or else NT
(N
).Nkind
= N_Range
4384 or else NT
(N
).Nkind
= N_Real_Range_Specification
4385 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4386 Set_Node2_With_Parent
(N
, Val
);
4389 procedure Set_Identifier
4390 (N
: Node_Id
; Val
: Node_Id
) is
4392 pragma Assert
(False
4393 or else NT
(N
).Nkind
= N_At_Clause
4394 or else NT
(N
).Nkind
= N_Block_Statement
4395 or else NT
(N
).Nkind
= N_Designator
4396 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4397 or else NT
(N
).Nkind
= N_Label
4398 or else NT
(N
).Nkind
= N_Loop_Statement
4399 or else NT
(N
).Nkind
= N_Record_Representation_Clause
4400 or else NT
(N
).Nkind
= N_Subprogram_Info
);
4401 Set_Node1_With_Parent
(N
, Val
);
4404 procedure Set_Implicit_With
4405 (N
: Node_Id
; Val
: Boolean := True) is
4407 pragma Assert
(False
4408 or else NT
(N
).Nkind
= N_With_Clause
);
4409 Set_Flag16
(N
, Val
);
4410 end Set_Implicit_With
;
4412 procedure Set_Interface_List
4413 (N
: Node_Id
; Val
: List_Id
) is
4415 pragma Assert
(False
4416 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4417 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4418 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4419 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
4420 or else NT
(N
).Nkind
= N_Record_Definition
4421 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
4422 or else NT
(N
).Nkind
= N_Single_Task_Declaration
4423 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4424 Set_List2_With_Parent
(N
, Val
);
4425 end Set_Interface_List
;
4427 procedure Set_Interface_Present
4428 (N
: Node_Id
; Val
: Boolean := True) is
4430 pragma Assert
(False
4431 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4432 or else NT
(N
).Nkind
= N_Record_Definition
);
4433 Set_Flag16
(N
, Val
);
4434 end Set_Interface_Present
;
4436 procedure Set_In_Present
4437 (N
: Node_Id
; Val
: Boolean := True) is
4439 pragma Assert
(False
4440 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4441 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4442 Set_Flag15
(N
, Val
);
4445 procedure Set_Includes_Infinities
4446 (N
: Node_Id
; Val
: Boolean := True) is
4448 pragma Assert
(False
4449 or else NT
(N
).Nkind
= N_Range
);
4450 Set_Flag11
(N
, Val
);
4451 end Set_Includes_Infinities
;
4453 procedure Set_Instance_Spec
4454 (N
: Node_Id
; Val
: Node_Id
) is
4456 pragma Assert
(False
4457 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4458 or else NT
(N
).Nkind
= N_Function_Instantiation
4459 or else NT
(N
).Nkind
= N_Package_Instantiation
4460 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
4461 Set_Node5
(N
, Val
); -- semantic field, no Parent set
4462 end Set_Instance_Spec
;
4464 procedure Set_Intval
4465 (N
: Node_Id
; Val
: Uint
) is
4467 pragma Assert
(False
4468 or else NT
(N
).Nkind
= N_Integer_Literal
);
4472 procedure Set_Is_Accessibility_Actual
4473 (N
: Node_Id
; Val
: Boolean := True) is
4475 pragma Assert
(False
4476 or else NT
(N
).Nkind
= N_Parameter_Association
);
4477 Set_Flag13
(N
, Val
);
4478 end Set_Is_Accessibility_Actual
;
4480 procedure Set_Is_Asynchronous_Call_Block
4481 (N
: Node_Id
; Val
: Boolean := True) is
4483 pragma Assert
(False
4484 or else NT
(N
).Nkind
= N_Block_Statement
);
4486 end Set_Is_Asynchronous_Call_Block
;
4488 procedure Set_Is_Component_Left_Opnd
4489 (N
: Node_Id
; Val
: Boolean := True) is
4491 pragma Assert
(False
4492 or else NT
(N
).Nkind
= N_Op_Concat
);
4493 Set_Flag13
(N
, Val
);
4494 end Set_Is_Component_Left_Opnd
;
4496 procedure Set_Is_Component_Right_Opnd
4497 (N
: Node_Id
; Val
: Boolean := True) is
4499 pragma Assert
(False
4500 or else NT
(N
).Nkind
= N_Op_Concat
);
4501 Set_Flag14
(N
, Val
);
4502 end Set_Is_Component_Right_Opnd
;
4504 procedure Set_Is_Controlling_Actual
4505 (N
: Node_Id
; Val
: Boolean := True) is
4507 pragma Assert
(False
4508 or else NT
(N
).Nkind
in N_Subexpr
);
4509 Set_Flag16
(N
, Val
);
4510 end Set_Is_Controlling_Actual
;
4512 procedure Set_Is_Dynamic_Coextension
4513 (N
: Node_Id
; Val
: Boolean := True) is
4515 pragma Assert
(False
4516 or else NT
(N
).Nkind
= N_Allocator
);
4517 Set_Flag18
(N
, Val
);
4518 end Set_Is_Dynamic_Coextension
;
4520 procedure Set_Is_Elsif
4521 (N
: Node_Id
; Val
: Boolean := True) is
4523 pragma Assert
(False
4524 or else NT
(N
).Nkind
= N_Conditional_Expression
);
4525 Set_Flag13
(N
, Val
);
4528 procedure Set_Is_Entry_Barrier_Function
4529 (N
: Node_Id
; Val
: Boolean := True) is
4531 pragma Assert
(False
4532 or else NT
(N
).Nkind
= N_Subprogram_Body
);
4534 end Set_Is_Entry_Barrier_Function
;
4536 procedure Set_Is_Expanded_Build_In_Place_Call
4537 (N
: Node_Id
; Val
: Boolean := True) is
4539 pragma Assert
(False
4540 or else NT
(N
).Nkind
= N_Function_Call
);
4541 Set_Flag11
(N
, Val
);
4542 end Set_Is_Expanded_Build_In_Place_Call
;
4544 procedure Set_Is_Folded_In_Parser
4545 (N
: Node_Id
; Val
: Boolean := True) is
4547 pragma Assert
(False
4548 or else NT
(N
).Nkind
= N_String_Literal
);
4550 end Set_Is_Folded_In_Parser
;
4552 procedure Set_Is_In_Discriminant_Check
4553 (N
: Node_Id
; Val
: Boolean := True) is
4555 pragma Assert
(False
4556 or else NT
(N
).Nkind
= N_Selected_Component
);
4557 Set_Flag11
(N
, Val
);
4558 end Set_Is_In_Discriminant_Check
;
4560 procedure Set_Is_Machine_Number
4561 (N
: Node_Id
; Val
: Boolean := True) is
4563 pragma Assert
(False
4564 or else NT
(N
).Nkind
= N_Real_Literal
);
4565 Set_Flag11
(N
, Val
);
4566 end Set_Is_Machine_Number
;
4568 procedure Set_Is_Null_Loop
4569 (N
: Node_Id
; Val
: Boolean := True) is
4571 pragma Assert
(False
4572 or else NT
(N
).Nkind
= N_Loop_Statement
);
4573 Set_Flag16
(N
, Val
);
4574 end Set_Is_Null_Loop
;
4576 procedure Set_Is_Overloaded
4577 (N
: Node_Id
; Val
: Boolean := True) is
4579 pragma Assert
(False
4580 or else NT
(N
).Nkind
in N_Subexpr
);
4582 end Set_Is_Overloaded
;
4584 procedure Set_Is_Power_Of_2_For_Shift
4585 (N
: Node_Id
; Val
: Boolean := True) is
4587 pragma Assert
(False
4588 or else NT
(N
).Nkind
= N_Op_Expon
);
4589 Set_Flag13
(N
, Val
);
4590 end Set_Is_Power_Of_2_For_Shift
;
4592 procedure Set_Is_Protected_Subprogram_Body
4593 (N
: Node_Id
; Val
: Boolean := True) is
4595 pragma Assert
(False
4596 or else NT
(N
).Nkind
= N_Subprogram_Body
);
4598 end Set_Is_Protected_Subprogram_Body
;
4600 procedure Set_Is_Static_Coextension
4601 (N
: Node_Id
; Val
: Boolean := True) is
4603 pragma Assert
(False
4604 or else NT
(N
).Nkind
= N_Allocator
);
4605 Set_Flag14
(N
, Val
);
4606 end Set_Is_Static_Coextension
;
4608 procedure Set_Is_Static_Expression
4609 (N
: Node_Id
; Val
: Boolean := True) is
4611 pragma Assert
(False
4612 or else NT
(N
).Nkind
in N_Subexpr
);
4614 end Set_Is_Static_Expression
;
4616 procedure Set_Is_Subprogram_Descriptor
4617 (N
: Node_Id
; Val
: Boolean := True) is
4619 pragma Assert
(False
4620 or else NT
(N
).Nkind
= N_Object_Declaration
);
4621 Set_Flag16
(N
, Val
);
4622 end Set_Is_Subprogram_Descriptor
;
4624 procedure Set_Is_Task_Allocation_Block
4625 (N
: Node_Id
; Val
: Boolean := True) is
4627 pragma Assert
(False
4628 or else NT
(N
).Nkind
= N_Block_Statement
);
4630 end Set_Is_Task_Allocation_Block
;
4632 procedure Set_Is_Task_Master
4633 (N
: Node_Id
; Val
: Boolean := True) is
4635 pragma Assert
(False
4636 or else NT
(N
).Nkind
= N_Block_Statement
4637 or else NT
(N
).Nkind
= N_Subprogram_Body
4638 or else NT
(N
).Nkind
= N_Task_Body
);
4640 end Set_Is_Task_Master
;
4642 procedure Set_Iteration_Scheme
4643 (N
: Node_Id
; Val
: Node_Id
) is
4645 pragma Assert
(False
4646 or else NT
(N
).Nkind
= N_Loop_Statement
);
4647 Set_Node2_With_Parent
(N
, Val
);
4648 end Set_Iteration_Scheme
;
4651 (N
: Node_Id
; Val
: Entity_Id
) is
4653 pragma Assert
(False
4654 or else NT
(N
).Nkind
= N_Itype_Reference
);
4655 Set_Node1
(N
, Val
); -- no parent, semantic field
4658 procedure Set_Kill_Range_Check
4659 (N
: Node_Id
; Val
: Boolean := True) is
4661 pragma Assert
(False
4662 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4663 Set_Flag11
(N
, Val
);
4664 end Set_Kill_Range_Check
;
4666 procedure Set_Label_Construct
4667 (N
: Node_Id
; Val
: Node_Id
) is
4669 pragma Assert
(False
4670 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
4671 Set_Node2
(N
, Val
); -- semantic field, no parent set
4672 end Set_Label_Construct
;
4674 procedure Set_Last_Bit
4675 (N
: Node_Id
; Val
: Node_Id
) is
4677 pragma Assert
(False
4678 or else NT
(N
).Nkind
= N_Component_Clause
);
4679 Set_Node4_With_Parent
(N
, Val
);
4682 procedure Set_Last_Name
4683 (N
: Node_Id
; Val
: Boolean := True) is
4685 pragma Assert
(False
4686 or else NT
(N
).Nkind
= N_With_Clause
);
4690 procedure Set_Left_Opnd
4691 (N
: Node_Id
; Val
: Node_Id
) is
4693 pragma Assert
(False
4694 or else NT
(N
).Nkind
= N_And_Then
4695 or else NT
(N
).Nkind
= N_In
4696 or else NT
(N
).Nkind
= N_Not_In
4697 or else NT
(N
).Nkind
= N_Or_Else
4698 or else NT
(N
).Nkind
in N_Binary_Op
);
4699 Set_Node2_With_Parent
(N
, Val
);
4702 procedure Set_Library_Unit
4703 (N
: Node_Id
; Val
: Node_Id
) is
4705 pragma Assert
(False
4706 or else NT
(N
).Nkind
= N_Compilation_Unit
4707 or else NT
(N
).Nkind
= N_Package_Body_Stub
4708 or else NT
(N
).Nkind
= N_Protected_Body_Stub
4709 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4710 or else NT
(N
).Nkind
= N_Task_Body_Stub
4711 or else NT
(N
).Nkind
= N_With_Clause
);
4712 Set_Node4
(N
, Val
); -- semantic field, no parent set
4713 end Set_Library_Unit
;
4715 procedure Set_Limited_View_Installed
4716 (N
: Node_Id
; Val
: Boolean := True) is
4718 pragma Assert
(False
4719 or else NT
(N
).Nkind
= N_Package_Specification
4720 or else NT
(N
).Nkind
= N_With_Clause
);
4721 Set_Flag18
(N
, Val
);
4722 end Set_Limited_View_Installed
;
4724 procedure Set_Limited_Present
4725 (N
: Node_Id
; Val
: Boolean := True) is
4727 pragma Assert
(False
4728 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4729 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4730 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
4731 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4732 or else NT
(N
).Nkind
= N_Private_Type_Declaration
4733 or else NT
(N
).Nkind
= N_Record_Definition
4734 or else NT
(N
).Nkind
= N_With_Clause
);
4735 Set_Flag17
(N
, Val
);
4736 end Set_Limited_Present
;
4738 procedure Set_Literals
4739 (N
: Node_Id
; Val
: List_Id
) is
4741 pragma Assert
(False
4742 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
4743 Set_List1_With_Parent
(N
, Val
);
4746 procedure Set_Local_Raise_Not_OK
4747 (N
: Node_Id
; Val
: Boolean := True) is
4749 pragma Assert
(False
4750 or else NT
(N
).Nkind
= N_Exception_Handler
);
4752 end Set_Local_Raise_Not_OK
;
4754 procedure Set_Local_Raise_Statements
4755 (N
: Node_Id
; Val
: Elist_Id
) is
4757 pragma Assert
(False
4758 or else NT
(N
).Nkind
= N_Exception_Handler
);
4759 Set_Elist1
(N
, Val
);
4760 end Set_Local_Raise_Statements
;
4762 procedure Set_Loop_Actions
4763 (N
: Node_Id
; Val
: List_Id
) is
4765 pragma Assert
(False
4766 or else NT
(N
).Nkind
= N_Component_Association
);
4767 Set_List2
(N
, Val
); -- semantic field, no parent set
4768 end Set_Loop_Actions
;
4770 procedure Set_Loop_Parameter_Specification
4771 (N
: Node_Id
; Val
: Node_Id
) is
4773 pragma Assert
(False
4774 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
4775 Set_Node4_With_Parent
(N
, Val
);
4776 end Set_Loop_Parameter_Specification
;
4778 procedure Set_Low_Bound
4779 (N
: Node_Id
; Val
: Node_Id
) is
4781 pragma Assert
(False
4782 or else NT
(N
).Nkind
= N_Range
4783 or else NT
(N
).Nkind
= N_Real_Range_Specification
4784 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
4785 Set_Node1_With_Parent
(N
, Val
);
4788 procedure Set_Mod_Clause
4789 (N
: Node_Id
; Val
: Node_Id
) is
4791 pragma Assert
(False
4792 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4793 Set_Node2_With_Parent
(N
, Val
);
4796 procedure Set_More_Ids
4797 (N
: Node_Id
; Val
: Boolean := True) is
4799 pragma Assert
(False
4800 or else NT
(N
).Nkind
= N_Component_Declaration
4801 or else NT
(N
).Nkind
= N_Discriminant_Specification
4802 or else NT
(N
).Nkind
= N_Exception_Declaration
4803 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4804 or else NT
(N
).Nkind
= N_Number_Declaration
4805 or else NT
(N
).Nkind
= N_Object_Declaration
4806 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4810 procedure Set_Must_Be_Byte_Aligned
4811 (N
: Node_Id
; Val
: Boolean := True) is
4813 pragma Assert
(False
4814 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4815 Set_Flag14
(N
, Val
);
4816 end Set_Must_Be_Byte_Aligned
;
4818 procedure Set_Must_Not_Freeze
4819 (N
: Node_Id
; Val
: Boolean := True) is
4821 pragma Assert
(False
4822 or else NT
(N
).Nkind
= N_Subtype_Indication
4823 or else NT
(N
).Nkind
in N_Subexpr
);
4825 end Set_Must_Not_Freeze
;
4827 procedure Set_Must_Not_Override
4828 (N
: Node_Id
; Val
: Boolean := True) is
4830 pragma Assert
(False
4831 or else NT
(N
).Nkind
= N_Entry_Declaration
4832 or else NT
(N
).Nkind
= N_Function_Instantiation
4833 or else NT
(N
).Nkind
= N_Function_Specification
4834 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4835 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4836 Set_Flag15
(N
, Val
);
4837 end Set_Must_Not_Override
;
4839 procedure Set_Must_Override
4840 (N
: Node_Id
; Val
: Boolean := True) is
4842 pragma Assert
(False
4843 or else NT
(N
).Nkind
= N_Entry_Declaration
4844 or else NT
(N
).Nkind
= N_Function_Instantiation
4845 or else NT
(N
).Nkind
= N_Function_Specification
4846 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4847 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4848 Set_Flag14
(N
, Val
);
4849 end Set_Must_Override
;
4852 (N
: Node_Id
; Val
: Node_Id
) is
4854 pragma Assert
(False
4855 or else NT
(N
).Nkind
= N_Assignment_Statement
4856 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4857 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
4858 or else NT
(N
).Nkind
= N_Designator
4859 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4860 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
4861 or else NT
(N
).Nkind
= N_Exit_Statement
4862 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
4863 or else NT
(N
).Nkind
= N_Function_Call
4864 or else NT
(N
).Nkind
= N_Function_Instantiation
4865 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4866 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4867 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4868 or else NT
(N
).Nkind
= N_Goto_Statement
4869 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4870 or else NT
(N
).Nkind
= N_Package_Instantiation
4871 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4872 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
4873 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4874 or else NT
(N
).Nkind
= N_Raise_Statement
4875 or else NT
(N
).Nkind
= N_Requeue_Statement
4876 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
4877 or else NT
(N
).Nkind
= N_Subunit
4878 or else NT
(N
).Nkind
= N_Variant_Part
4879 or else NT
(N
).Nkind
= N_With_Clause
);
4880 Set_Node2_With_Parent
(N
, Val
);
4884 (N
: Node_Id
; Val
: List_Id
) is
4886 pragma Assert
(False
4887 or else NT
(N
).Nkind
= N_Abort_Statement
4888 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
4889 Set_List2_With_Parent
(N
, Val
);
4892 procedure Set_Next_Entity
4893 (N
: Node_Id
; Val
: Node_Id
) is
4895 pragma Assert
(False
4896 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4897 or else NT
(N
).Nkind
= N_Defining_Identifier
4898 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4899 Set_Node2
(N
, Val
); -- semantic field, no parent set
4900 end Set_Next_Entity
;
4902 procedure Set_Next_Implicit_With
4903 (N
: Node_Id
; Val
: Node_Id
) is
4905 pragma Assert
(False
4906 or else NT
(N
).Nkind
= N_With_Clause
);
4907 Set_Node3
(N
, Val
); -- semantic field, no parent set
4908 end Set_Next_Implicit_With
;
4910 procedure Set_Next_Named_Actual
4911 (N
: Node_Id
; Val
: Node_Id
) is
4913 pragma Assert
(False
4914 or else NT
(N
).Nkind
= N_Parameter_Association
);
4915 Set_Node4
(N
, Val
); -- semantic field, no parent set
4916 end Set_Next_Named_Actual
;
4918 procedure Set_Next_Pragma
4919 (N
: Node_Id
; Val
: Node_Id
) is
4921 pragma Assert
(False
4922 or else NT
(N
).Nkind
= N_Pragma
);
4923 Set_Node1
(N
, Val
); -- semantic field, no parent set
4924 end Set_Next_Pragma
;
4926 procedure Set_Next_Rep_Item
4927 (N
: Node_Id
; Val
: Node_Id
) is
4929 pragma Assert
(False
4930 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4931 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4932 or else NT
(N
).Nkind
= N_Pragma
4933 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4934 Set_Node5
(N
, Val
); -- semantic field, no parent set
4935 end Set_Next_Rep_Item
;
4937 procedure Set_Next_Use_Clause
4938 (N
: Node_Id
; Val
: Node_Id
) is
4940 pragma Assert
(False
4941 or else NT
(N
).Nkind
= N_Use_Package_Clause
4942 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4943 Set_Node3
(N
, Val
); -- semantic field, no parent set
4944 end Set_Next_Use_Clause
;
4946 procedure Set_No_Ctrl_Actions
4947 (N
: Node_Id
; Val
: Boolean := True) is
4949 pragma Assert
(False
4950 or else NT
(N
).Nkind
= N_Assignment_Statement
);
4952 end Set_No_Ctrl_Actions
;
4954 procedure Set_No_Elaboration_Check
4955 (N
: Node_Id
; Val
: Boolean := True) is
4957 pragma Assert
(False
4958 or else NT
(N
).Nkind
= N_Function_Call
4959 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4960 Set_Flag14
(N
, Val
);
4961 end Set_No_Elaboration_Check
;
4963 procedure Set_No_Entities_Ref_In_Spec
4964 (N
: Node_Id
; Val
: Boolean := True) is
4966 pragma Assert
(False
4967 or else NT
(N
).Nkind
= N_With_Clause
);
4969 end Set_No_Entities_Ref_In_Spec
;
4971 procedure Set_No_Initialization
4972 (N
: Node_Id
; Val
: Boolean := True) is
4974 pragma Assert
(False
4975 or else NT
(N
).Nkind
= N_Allocator
4976 or else NT
(N
).Nkind
= N_Object_Declaration
);
4977 Set_Flag13
(N
, Val
);
4978 end Set_No_Initialization
;
4980 procedure Set_No_Truncation
4981 (N
: Node_Id
; Val
: Boolean := True) is
4983 pragma Assert
(False
4984 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4985 Set_Flag17
(N
, Val
);
4986 end Set_No_Truncation
;
4988 procedure Set_Null_Present
4989 (N
: Node_Id
; Val
: Boolean := True) is
4991 pragma Assert
(False
4992 or else NT
(N
).Nkind
= N_Component_List
4993 or else NT
(N
).Nkind
= N_Procedure_Specification
4994 or else NT
(N
).Nkind
= N_Record_Definition
);
4995 Set_Flag13
(N
, Val
);
4996 end Set_Null_Present
;
4998 procedure Set_Null_Exclusion_Present
4999 (N
: Node_Id
; Val
: Boolean := True) is
5001 pragma Assert
(False
5002 or else NT
(N
).Nkind
= N_Access_Definition
5003 or else NT
(N
).Nkind
= N_Access_Function_Definition
5004 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
5005 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
5006 or else NT
(N
).Nkind
= N_Allocator
5007 or else NT
(N
).Nkind
= N_Component_Definition
5008 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5009 or else NT
(N
).Nkind
= N_Discriminant_Specification
5010 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5011 or else NT
(N
).Nkind
= N_Function_Specification
5012 or else NT
(N
).Nkind
= N_Object_Declaration
5013 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
5014 or else NT
(N
).Nkind
= N_Parameter_Specification
5015 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
5016 Set_Flag11
(N
, Val
);
5017 end Set_Null_Exclusion_Present
;
5019 procedure Set_Null_Exclusion_In_Return_Present
5020 (N
: Node_Id
; Val
: Boolean := True) is
5022 pragma Assert
(False
5023 or else NT
(N
).Nkind
= N_Access_Function_Definition
);
5024 Set_Flag14
(N
, Val
);
5025 end Set_Null_Exclusion_In_Return_Present
;
5027 procedure Set_Null_Record_Present
5028 (N
: Node_Id
; Val
: Boolean := True) is
5030 pragma Assert
(False
5031 or else NT
(N
).Nkind
= N_Aggregate
5032 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
5033 Set_Flag17
(N
, Val
);
5034 end Set_Null_Record_Present
;
5036 procedure Set_Object_Definition
5037 (N
: Node_Id
; Val
: Node_Id
) is
5039 pragma Assert
(False
5040 or else NT
(N
).Nkind
= N_Object_Declaration
);
5041 Set_Node4_With_Parent
(N
, Val
);
5042 end Set_Object_Definition
;
5044 procedure Set_Original_Discriminant
5045 (N
: Node_Id
; Val
: Node_Id
) is
5047 pragma Assert
(False
5048 or else NT
(N
).Nkind
= N_Identifier
);
5049 Set_Node2
(N
, Val
); -- semantic field, no parent set
5050 end Set_Original_Discriminant
;
5052 procedure Set_Original_Entity
5053 (N
: Node_Id
; Val
: Entity_Id
) is
5055 pragma Assert
(False
5056 or else NT
(N
).Nkind
= N_Integer_Literal
5057 or else NT
(N
).Nkind
= N_Real_Literal
);
5058 Set_Node2
(N
, Val
); -- semantic field, no parent set
5059 end Set_Original_Entity
;
5061 procedure Set_Others_Discrete_Choices
5062 (N
: Node_Id
; Val
: List_Id
) is
5064 pragma Assert
(False
5065 or else NT
(N
).Nkind
= N_Others_Choice
);
5066 Set_List1_With_Parent
(N
, Val
);
5067 end Set_Others_Discrete_Choices
;
5069 procedure Set_Out_Present
5070 (N
: Node_Id
; Val
: Boolean := True) is
5072 pragma Assert
(False
5073 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5074 or else NT
(N
).Nkind
= N_Parameter_Specification
);
5075 Set_Flag17
(N
, Val
);
5076 end Set_Out_Present
;
5078 procedure Set_Parameter_Associations
5079 (N
: Node_Id
; Val
: List_Id
) is
5081 pragma Assert
(False
5082 or else NT
(N
).Nkind
= N_Entry_Call_Statement
5083 or else NT
(N
).Nkind
= N_Function_Call
5084 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
5085 Set_List3_With_Parent
(N
, Val
);
5086 end Set_Parameter_Associations
;
5088 procedure Set_Parameter_List_Truncated
5089 (N
: Node_Id
; Val
: Boolean := True) is
5091 pragma Assert
(False
5092 or else NT
(N
).Nkind
= N_Function_Call
5093 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
5094 Set_Flag17
(N
, Val
);
5095 end Set_Parameter_List_Truncated
;
5097 procedure Set_Parameter_Specifications
5098 (N
: Node_Id
; Val
: List_Id
) is
5100 pragma Assert
(False
5101 or else NT
(N
).Nkind
= N_Accept_Statement
5102 or else NT
(N
).Nkind
= N_Access_Function_Definition
5103 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
5104 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
5105 or else NT
(N
).Nkind
= N_Entry_Declaration
5106 or else NT
(N
).Nkind
= N_Function_Specification
5107 or else NT
(N
).Nkind
= N_Procedure_Specification
);
5108 Set_List3_With_Parent
(N
, Val
);
5109 end Set_Parameter_Specifications
;
5111 procedure Set_Parameter_Type
5112 (N
: Node_Id
; Val
: Node_Id
) is
5114 pragma Assert
(False
5115 or else NT
(N
).Nkind
= N_Parameter_Specification
);
5116 Set_Node2_With_Parent
(N
, Val
);
5117 end Set_Parameter_Type
;
5119 procedure Set_Parent_Spec
5120 (N
: Node_Id
; Val
: Node_Id
) is
5122 pragma Assert
(False
5123 or else NT
(N
).Nkind
= N_Function_Instantiation
5124 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
5125 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
5126 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
5127 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
5128 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
5129 or else NT
(N
).Nkind
= N_Package_Declaration
5130 or else NT
(N
).Nkind
= N_Package_Instantiation
5131 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
5132 or else NT
(N
).Nkind
= N_Procedure_Instantiation
5133 or else NT
(N
).Nkind
= N_Subprogram_Declaration
5134 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
5135 Set_Node4
(N
, Val
); -- semantic field, no parent set
5136 end Set_Parent_Spec
;
5138 procedure Set_Position
5139 (N
: Node_Id
; Val
: Node_Id
) is
5141 pragma Assert
(False
5142 or else NT
(N
).Nkind
= N_Component_Clause
);
5143 Set_Node2_With_Parent
(N
, Val
);
5146 procedure Set_Pragma_Argument_Associations
5147 (N
: Node_Id
; Val
: List_Id
) is
5149 pragma Assert
(False
5150 or else NT
(N
).Nkind
= N_Pragma
);
5151 Set_List2_With_Parent
(N
, Val
);
5152 end Set_Pragma_Argument_Associations
;
5154 procedure Set_Pragma_Enabled
5155 (N
: Node_Id
; Val
: Boolean := True) is
5157 pragma Assert
(False
5158 or else NT
(N
).Nkind
= N_Pragma
);
5160 end Set_Pragma_Enabled
;
5162 procedure Set_Pragma_Identifier
5163 (N
: Node_Id
; Val
: Node_Id
) is
5165 pragma Assert
(False
5166 or else NT
(N
).Nkind
= N_Pragma
);
5167 Set_Node4_With_Parent
(N
, Val
);
5168 end Set_Pragma_Identifier
;
5170 procedure Set_Pragmas_After
5171 (N
: Node_Id
; Val
: List_Id
) is
5173 pragma Assert
(False
5174 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
5175 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
5176 Set_List5_With_Parent
(N
, Val
);
5177 end Set_Pragmas_After
;
5179 procedure Set_Pragmas_Before
5180 (N
: Node_Id
; Val
: List_Id
) is
5182 pragma Assert
(False
5183 or else NT
(N
).Nkind
= N_Accept_Alternative
5184 or else NT
(N
).Nkind
= N_Delay_Alternative
5185 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
5186 or else NT
(N
).Nkind
= N_Mod_Clause
5187 or else NT
(N
).Nkind
= N_Terminate_Alternative
5188 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5189 Set_List4_With_Parent
(N
, Val
);
5190 end Set_Pragmas_Before
;
5192 procedure Set_Prefix
5193 (N
: Node_Id
; Val
: Node_Id
) is
5195 pragma Assert
(False
5196 or else NT
(N
).Nkind
= N_Attribute_Reference
5197 or else NT
(N
).Nkind
= N_Expanded_Name
5198 or else NT
(N
).Nkind
= N_Explicit_Dereference
5199 or else NT
(N
).Nkind
= N_Indexed_Component
5200 or else NT
(N
).Nkind
= N_Reference
5201 or else NT
(N
).Nkind
= N_Selected_Component
5202 or else NT
(N
).Nkind
= N_Slice
);
5203 Set_Node3_With_Parent
(N
, Val
);
5206 procedure Set_Present_Expr
5207 (N
: Node_Id
; Val
: Uint
) is
5209 pragma Assert
(False
5210 or else NT
(N
).Nkind
= N_Variant
);
5212 end Set_Present_Expr
;
5214 procedure Set_Prev_Ids
5215 (N
: Node_Id
; Val
: Boolean := True) is
5217 pragma Assert
(False
5218 or else NT
(N
).Nkind
= N_Component_Declaration
5219 or else NT
(N
).Nkind
= N_Discriminant_Specification
5220 or else NT
(N
).Nkind
= N_Exception_Declaration
5221 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5222 or else NT
(N
).Nkind
= N_Number_Declaration
5223 or else NT
(N
).Nkind
= N_Object_Declaration
5224 or else NT
(N
).Nkind
= N_Parameter_Specification
);
5228 procedure Set_Print_In_Hex
5229 (N
: Node_Id
; Val
: Boolean := True) is
5231 pragma Assert
(False
5232 or else NT
(N
).Nkind
= N_Integer_Literal
);
5233 Set_Flag13
(N
, Val
);
5234 end Set_Print_In_Hex
;
5236 procedure Set_Private_Declarations
5237 (N
: Node_Id
; Val
: List_Id
) is
5239 pragma Assert
(False
5240 or else NT
(N
).Nkind
= N_Package_Specification
5241 or else NT
(N
).Nkind
= N_Protected_Definition
5242 or else NT
(N
).Nkind
= N_Task_Definition
);
5243 Set_List3_With_Parent
(N
, Val
);
5244 end Set_Private_Declarations
;
5246 procedure Set_Private_Present
5247 (N
: Node_Id
; Val
: Boolean := True) is
5249 pragma Assert
(False
5250 or else NT
(N
).Nkind
= N_Compilation_Unit
5251 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5252 or else NT
(N
).Nkind
= N_With_Clause
);
5253 Set_Flag15
(N
, Val
);
5254 end Set_Private_Present
;
5256 procedure Set_Procedure_To_Call
5257 (N
: Node_Id
; Val
: Node_Id
) is
5259 pragma Assert
(False
5260 or else NT
(N
).Nkind
= N_Allocator
5261 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5262 or else NT
(N
).Nkind
= N_Free_Statement
5263 or else NT
(N
).Nkind
= N_Return_Statement
);
5264 Set_Node2
(N
, Val
); -- semantic field, no parent set
5265 end Set_Procedure_To_Call
;
5267 procedure Set_Proper_Body
5268 (N
: Node_Id
; Val
: Node_Id
) is
5270 pragma Assert
(False
5271 or else NT
(N
).Nkind
= N_Subunit
);
5272 Set_Node1_With_Parent
(N
, Val
);
5273 end Set_Proper_Body
;
5275 procedure Set_Protected_Definition
5276 (N
: Node_Id
; Val
: Node_Id
) is
5278 pragma Assert
(False
5279 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
5280 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
5281 Set_Node3_With_Parent
(N
, Val
);
5282 end Set_Protected_Definition
;
5284 procedure Set_Protected_Present
5285 (N
: Node_Id
; Val
: Boolean := True) is
5287 pragma Assert
(False
5288 or else NT
(N
).Nkind
= N_Access_Function_Definition
5289 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
5290 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5291 or else NT
(N
).Nkind
= N_Record_Definition
);
5293 end Set_Protected_Present
;
5295 procedure Set_Raises_Constraint_Error
5296 (N
: Node_Id
; Val
: Boolean := True) is
5298 pragma Assert
(False
5299 or else NT
(N
).Nkind
in N_Subexpr
);
5301 end Set_Raises_Constraint_Error
;
5303 procedure Set_Range_Constraint
5304 (N
: Node_Id
; Val
: Node_Id
) is
5306 pragma Assert
(False
5307 or else NT
(N
).Nkind
= N_Delta_Constraint
5308 or else NT
(N
).Nkind
= N_Digits_Constraint
);
5309 Set_Node4_With_Parent
(N
, Val
);
5310 end Set_Range_Constraint
;
5312 procedure Set_Range_Expression
5313 (N
: Node_Id
; Val
: Node_Id
) is
5315 pragma Assert
(False
5316 or else NT
(N
).Nkind
= N_Range_Constraint
);
5317 Set_Node4_With_Parent
(N
, Val
);
5318 end Set_Range_Expression
;
5320 procedure Set_Real_Range_Specification
5321 (N
: Node_Id
; Val
: Node_Id
) is
5323 pragma Assert
(False
5324 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
5325 or else NT
(N
).Nkind
= N_Floating_Point_Definition
5326 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
5327 Set_Node4_With_Parent
(N
, Val
);
5328 end Set_Real_Range_Specification
;
5330 procedure Set_Realval
5331 (N
: Node_Id
; Val
: Ureal
) is
5333 pragma Assert
(False
5334 or else NT
(N
).Nkind
= N_Real_Literal
);
5335 Set_Ureal3
(N
, Val
);
5338 procedure Set_Reason
5339 (N
: Node_Id
; Val
: Uint
) is
5341 pragma Assert
(False
5342 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
5343 or else NT
(N
).Nkind
= N_Raise_Program_Error
5344 or else NT
(N
).Nkind
= N_Raise_Storage_Error
);
5348 procedure Set_Record_Extension_Part
5349 (N
: Node_Id
; Val
: Node_Id
) is
5351 pragma Assert
(False
5352 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
5353 Set_Node3_With_Parent
(N
, Val
);
5354 end Set_Record_Extension_Part
;
5356 procedure Set_Redundant_Use
5357 (N
: Node_Id
; Val
: Boolean := True) is
5359 pragma Assert
(False
5360 or else NT
(N
).Nkind
= N_Attribute_Reference
5361 or else NT
(N
).Nkind
= N_Expanded_Name
5362 or else NT
(N
).Nkind
= N_Identifier
);
5363 Set_Flag13
(N
, Val
);
5364 end Set_Redundant_Use
;
5366 procedure Set_Renaming_Exception
5367 (N
: Node_Id
; Val
: Node_Id
) is
5369 pragma Assert
(False
5370 or else NT
(N
).Nkind
= N_Exception_Declaration
);
5372 end Set_Renaming_Exception
;
5374 procedure Set_Result_Definition
5375 (N
: Node_Id
; Val
: Node_Id
) is
5377 pragma Assert
(False
5378 or else NT
(N
).Nkind
= N_Access_Function_Definition
5379 or else NT
(N
).Nkind
= N_Function_Specification
);
5380 Set_Node4_With_Parent
(N
, Val
);
5381 end Set_Result_Definition
;
5383 procedure Set_Return_Object_Declarations
5384 (N
: Node_Id
; Val
: List_Id
) is
5386 pragma Assert
(False
5387 or else NT
(N
).Nkind
= N_Extended_Return_Statement
);
5388 Set_List3_With_Parent
(N
, Val
);
5389 end Set_Return_Object_Declarations
;
5391 procedure Set_Return_Statement_Entity
5392 (N
: Node_Id
; Val
: Node_Id
) is
5394 pragma Assert
(False
5395 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5396 or else NT
(N
).Nkind
= N_Return_Statement
);
5397 Set_Node5
(N
, Val
); -- semantic field, no parent set
5398 end Set_Return_Statement_Entity
;
5400 procedure Set_Reverse_Present
5401 (N
: Node_Id
; Val
: Boolean := True) is
5403 pragma Assert
(False
5404 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
5405 Set_Flag15
(N
, Val
);
5406 end Set_Reverse_Present
;
5408 procedure Set_Right_Opnd
5409 (N
: Node_Id
; Val
: Node_Id
) is
5411 pragma Assert
(False
5412 or else NT
(N
).Nkind
in N_Op
5413 or else NT
(N
).Nkind
= N_And_Then
5414 or else NT
(N
).Nkind
= N_In
5415 or else NT
(N
).Nkind
= N_Not_In
5416 or else NT
(N
).Nkind
= N_Or_Else
);
5417 Set_Node3_With_Parent
(N
, Val
);
5420 procedure Set_Rounded_Result
5421 (N
: Node_Id
; Val
: Boolean := True) is
5423 pragma Assert
(False
5424 or else NT
(N
).Nkind
= N_Op_Divide
5425 or else NT
(N
).Nkind
= N_Op_Multiply
5426 or else NT
(N
).Nkind
= N_Type_Conversion
);
5427 Set_Flag18
(N
, Val
);
5428 end Set_Rounded_Result
;
5430 procedure Set_SCIL_Controlling_Tag
5431 (N
: Node_Id
; Val
: Node_Id
) is
5433 pragma Assert
(False
5434 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
);
5435 Set_Node5
(N
, Val
); -- semantic field, no parent set
5436 end Set_SCIL_Controlling_Tag
;
5438 procedure Set_SCIL_Entity
5439 (N
: Node_Id
; Val
: Node_Id
) is
5441 pragma Assert
(False
5442 or else NT
(N
).Nkind
= N_SCIL_Dispatch_Table_Object_Init
5443 or else NT
(N
).Nkind
= N_SCIL_Dispatch_Table_Tag_Init
5444 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
5445 or else NT
(N
).Nkind
= N_SCIL_Membership_Test
5446 or else NT
(N
).Nkind
= N_SCIL_Tag_Init
);
5447 Set_Node4
(N
, Val
); -- semantic field, no parent set
5448 end Set_SCIL_Entity
;
5450 procedure Set_SCIL_Related_Node
5451 (N
: Node_Id
; Val
: Node_Id
) is
5453 pragma Assert
(False
5454 or else NT
(N
).Nkind
= N_SCIL_Dispatch_Table_Object_Init
5455 or else NT
(N
).Nkind
= N_SCIL_Dispatch_Table_Tag_Init
5456 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
5457 or else NT
(N
).Nkind
= N_SCIL_Membership_Test
5458 or else NT
(N
).Nkind
= N_SCIL_Tag_Init
);
5459 Set_Node1
(N
, Val
); -- semantic field, no parent set
5460 end Set_SCIL_Related_Node
;
5462 procedure Set_SCIL_Tag_Value
5463 (N
: Node_Id
; Val
: Node_Id
) is
5465 pragma Assert
(False
5466 or else NT
(N
).Nkind
= N_SCIL_Membership_Test
);
5467 Set_Node5
(N
, Val
); -- semantic field, no parent set
5468 end Set_SCIL_Tag_Value
;
5470 procedure Set_SCIL_Target_Prim
5471 (N
: Node_Id
; Val
: Node_Id
) is
5473 pragma Assert
(False
5474 or else NT
(N
).Nkind
= N_SCIL_Dispatching_Call
);
5475 Set_Node2
(N
, Val
); -- semantic field, no parent set
5476 end Set_SCIL_Target_Prim
;
5479 (N
: Node_Id
; Val
: Node_Id
) is
5481 pragma Assert
(False
5482 or else NT
(N
).Nkind
= N_Defining_Character_Literal
5483 or else NT
(N
).Nkind
= N_Defining_Identifier
5484 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
5485 Set_Node3
(N
, Val
); -- semantic field, no parent set
5488 procedure Set_Select_Alternatives
5489 (N
: Node_Id
; Val
: List_Id
) is
5491 pragma Assert
(False
5492 or else NT
(N
).Nkind
= N_Selective_Accept
);
5493 Set_List1_With_Parent
(N
, Val
);
5494 end Set_Select_Alternatives
;
5496 procedure Set_Selector_Name
5497 (N
: Node_Id
; Val
: Node_Id
) is
5499 pragma Assert
(False
5500 or else NT
(N
).Nkind
= N_Expanded_Name
5501 or else NT
(N
).Nkind
= N_Generic_Association
5502 or else NT
(N
).Nkind
= N_Parameter_Association
5503 or else NT
(N
).Nkind
= N_Selected_Component
);
5504 Set_Node2_With_Parent
(N
, Val
);
5505 end Set_Selector_Name
;
5507 procedure Set_Selector_Names
5508 (N
: Node_Id
; Val
: List_Id
) is
5510 pragma Assert
(False
5511 or else NT
(N
).Nkind
= N_Discriminant_Association
);
5512 Set_List1_With_Parent
(N
, Val
);
5513 end Set_Selector_Names
;
5515 procedure Set_Shift_Count_OK
5516 (N
: Node_Id
; Val
: Boolean := True) is
5518 pragma Assert
(False
5519 or else NT
(N
).Nkind
= N_Op_Rotate_Left
5520 or else NT
(N
).Nkind
= N_Op_Rotate_Right
5521 or else NT
(N
).Nkind
= N_Op_Shift_Left
5522 or else NT
(N
).Nkind
= N_Op_Shift_Right
5523 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
5525 end Set_Shift_Count_OK
;
5527 procedure Set_Source_Type
5528 (N
: Node_Id
; Val
: Entity_Id
) is
5530 pragma Assert
(False
5531 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
5532 Set_Node1
(N
, Val
); -- semantic field, no parent set
5533 end Set_Source_Type
;
5535 procedure Set_Specification
5536 (N
: Node_Id
; Val
: Node_Id
) is
5538 pragma Assert
(False
5539 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
5540 or else NT
(N
).Nkind
= N_Formal_Abstract_Subprogram_Declaration
5541 or else NT
(N
).Nkind
= N_Formal_Concrete_Subprogram_Declaration
5542 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
5543 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
5544 or else NT
(N
).Nkind
= N_Package_Declaration
5545 or else NT
(N
).Nkind
= N_Subprogram_Body
5546 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
5547 or else NT
(N
).Nkind
= N_Subprogram_Declaration
5548 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
5549 Set_Node1_With_Parent
(N
, Val
);
5550 end Set_Specification
;
5552 procedure Set_Statements
5553 (N
: Node_Id
; Val
: List_Id
) is
5555 pragma Assert
(False
5556 or else NT
(N
).Nkind
= N_Abortable_Part
5557 or else NT
(N
).Nkind
= N_Accept_Alternative
5558 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
5559 or else NT
(N
).Nkind
= N_Delay_Alternative
5560 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
5561 or else NT
(N
).Nkind
= N_Exception_Handler
5562 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
5563 or else NT
(N
).Nkind
= N_Loop_Statement
5564 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5565 Set_List3_With_Parent
(N
, Val
);
5568 procedure Set_Static_Processing_OK
5569 (N
: Node_Id
; Val
: Boolean) is
5571 pragma Assert
(False
5572 or else NT
(N
).Nkind
= N_Aggregate
);
5574 end Set_Static_Processing_OK
;
5576 procedure Set_Storage_Pool
5577 (N
: Node_Id
; Val
: Node_Id
) is
5579 pragma Assert
(False
5580 or else NT
(N
).Nkind
= N_Allocator
5581 or else NT
(N
).Nkind
= N_Extended_Return_Statement
5582 or else NT
(N
).Nkind
= N_Free_Statement
5583 or else NT
(N
).Nkind
= N_Return_Statement
);
5584 Set_Node1
(N
, Val
); -- semantic field, no parent set
5585 end Set_Storage_Pool
;
5587 procedure Set_Strval
5588 (N
: Node_Id
; Val
: String_Id
) is
5590 pragma Assert
(False
5591 or else NT
(N
).Nkind
= N_Operator_Symbol
5592 or else NT
(N
).Nkind
= N_String_Literal
);
5596 procedure Set_Subtype_Indication
5597 (N
: Node_Id
; Val
: Node_Id
) is
5599 pragma Assert
(False
5600 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
5601 or else NT
(N
).Nkind
= N_Component_Definition
5602 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5603 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5604 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
5605 Set_Node5_With_Parent
(N
, Val
);
5606 end Set_Subtype_Indication
;
5608 procedure Set_Subtype_Mark
5609 (N
: Node_Id
; Val
: Node_Id
) is
5611 pragma Assert
(False
5612 or else NT
(N
).Nkind
= N_Access_Definition
5613 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5614 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
5615 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
5616 or else NT
(N
).Nkind
= N_Qualified_Expression
5617 or else NT
(N
).Nkind
= N_Subtype_Indication
5618 or else NT
(N
).Nkind
= N_Type_Conversion
5619 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
5620 Set_Node4_With_Parent
(N
, Val
);
5621 end Set_Subtype_Mark
;
5623 procedure Set_Subtype_Marks
5624 (N
: Node_Id
; Val
: List_Id
) is
5626 pragma Assert
(False
5627 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
5628 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
5629 Set_List2_With_Parent
(N
, Val
);
5630 end Set_Subtype_Marks
;
5632 procedure Set_Suppress_Loop_Warnings
5633 (N
: Node_Id
; Val
: Boolean := True) is
5635 pragma Assert
(False
5636 or else NT
(N
).Nkind
= N_Loop_Statement
);
5637 Set_Flag17
(N
, Val
);
5638 end Set_Suppress_Loop_Warnings
;
5640 procedure Set_Synchronized_Present
5641 (N
: Node_Id
; Val
: Boolean := True) is
5643 pragma Assert
(False
5644 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5645 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
5646 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5647 or else NT
(N
).Nkind
= N_Record_Definition
);
5649 end Set_Synchronized_Present
;
5651 procedure Set_Tagged_Present
5652 (N
: Node_Id
; Val
: Boolean := True) is
5654 pragma Assert
(False
5655 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
5656 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
5657 or else NT
(N
).Nkind
= N_Private_Type_Declaration
5658 or else NT
(N
).Nkind
= N_Record_Definition
);
5659 Set_Flag15
(N
, Val
);
5660 end Set_Tagged_Present
;
5662 procedure Set_Target_Type
5663 (N
: Node_Id
; Val
: Entity_Id
) is
5665 pragma Assert
(False
5666 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
5667 Set_Node2
(N
, Val
); -- semantic field, no parent set
5668 end Set_Target_Type
;
5670 procedure Set_Task_Definition
5671 (N
: Node_Id
; Val
: Node_Id
) is
5673 pragma Assert
(False
5674 or else NT
(N
).Nkind
= N_Single_Task_Declaration
5675 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
5676 Set_Node3_With_Parent
(N
, Val
);
5677 end Set_Task_Definition
;
5679 procedure Set_Task_Present
5680 (N
: Node_Id
; Val
: Boolean := True) is
5682 pragma Assert
(False
5683 or else NT
(N
).Nkind
= N_Derived_Type_Definition
5684 or else NT
(N
).Nkind
= N_Record_Definition
);
5686 end Set_Task_Present
;
5688 procedure Set_Then_Actions
5689 (N
: Node_Id
; Val
: List_Id
) is
5691 pragma Assert
(False
5692 or else NT
(N
).Nkind
= N_Conditional_Expression
);
5693 Set_List2
(N
, Val
); -- semantic field, no parent set
5694 end Set_Then_Actions
;
5696 procedure Set_Then_Statements
5697 (N
: Node_Id
; Val
: List_Id
) is
5699 pragma Assert
(False
5700 or else NT
(N
).Nkind
= N_Elsif_Part
5701 or else NT
(N
).Nkind
= N_If_Statement
);
5702 Set_List2_With_Parent
(N
, Val
);
5703 end Set_Then_Statements
;
5705 procedure Set_Treat_Fixed_As_Integer
5706 (N
: Node_Id
; Val
: Boolean := True) is
5708 pragma Assert
(False
5709 or else NT
(N
).Nkind
= N_Op_Divide
5710 or else NT
(N
).Nkind
= N_Op_Mod
5711 or else NT
(N
).Nkind
= N_Op_Multiply
5712 or else NT
(N
).Nkind
= N_Op_Rem
);
5713 Set_Flag14
(N
, Val
);
5714 end Set_Treat_Fixed_As_Integer
;
5716 procedure Set_Triggering_Alternative
5717 (N
: Node_Id
; Val
: Node_Id
) is
5719 pragma Assert
(False
5720 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
5721 Set_Node1_With_Parent
(N
, Val
);
5722 end Set_Triggering_Alternative
;
5724 procedure Set_Triggering_Statement
5725 (N
: Node_Id
; Val
: Node_Id
) is
5727 pragma Assert
(False
5728 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
5729 Set_Node1_With_Parent
(N
, Val
);
5730 end Set_Triggering_Statement
;
5732 procedure Set_TSS_Elist
5733 (N
: Node_Id
; Val
: Elist_Id
) is
5735 pragma Assert
(False
5736 or else NT
(N
).Nkind
= N_Freeze_Entity
);
5737 Set_Elist3
(N
, Val
); -- semantic field, no parent set
5740 procedure Set_Type_Definition
5741 (N
: Node_Id
; Val
: Node_Id
) is
5743 pragma Assert
(False
5744 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
5745 Set_Node3_With_Parent
(N
, Val
);
5746 end Set_Type_Definition
;
5749 (N
: Node_Id
; Val
: Node_Id
) is
5751 pragma Assert
(False
5752 or else NT
(N
).Nkind
= N_Compilation_Unit
);
5753 Set_Node2_With_Parent
(N
, Val
);
5756 procedure Set_Unknown_Discriminants_Present
5757 (N
: Node_Id
; Val
: Boolean := True) is
5759 pragma Assert
(False
5760 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
5761 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
5762 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
5763 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
5764 Set_Flag13
(N
, Val
);
5765 end Set_Unknown_Discriminants_Present
;
5767 procedure Set_Unreferenced_In_Spec
5768 (N
: Node_Id
; Val
: Boolean := True) is
5770 pragma Assert
(False
5771 or else NT
(N
).Nkind
= N_With_Clause
);
5773 end Set_Unreferenced_In_Spec
;
5775 procedure Set_Variant_Part
5776 (N
: Node_Id
; Val
: Node_Id
) is
5778 pragma Assert
(False
5779 or else NT
(N
).Nkind
= N_Component_List
);
5780 Set_Node4_With_Parent
(N
, Val
);
5781 end Set_Variant_Part
;
5783 procedure Set_Variants
5784 (N
: Node_Id
; Val
: List_Id
) is
5786 pragma Assert
(False
5787 or else NT
(N
).Nkind
= N_Variant_Part
);
5788 Set_List1_With_Parent
(N
, Val
);
5791 procedure Set_Visible_Declarations
5792 (N
: Node_Id
; Val
: List_Id
) is
5794 pragma Assert
(False
5795 or else NT
(N
).Nkind
= N_Package_Specification
5796 or else NT
(N
).Nkind
= N_Protected_Definition
5797 or else NT
(N
).Nkind
= N_Task_Definition
);
5798 Set_List2_With_Parent
(N
, Val
);
5799 end Set_Visible_Declarations
;
5801 procedure Set_Was_Originally_Stub
5802 (N
: Node_Id
; Val
: Boolean := True) is
5804 pragma Assert
(False
5805 or else NT
(N
).Nkind
= N_Package_Body
5806 or else NT
(N
).Nkind
= N_Protected_Body
5807 or else NT
(N
).Nkind
= N_Subprogram_Body
5808 or else NT
(N
).Nkind
= N_Task_Body
);
5809 Set_Flag13
(N
, Val
);
5810 end Set_Was_Originally_Stub
;
5812 procedure Set_Zero_Cost_Handling
5813 (N
: Node_Id
; Val
: Boolean := True) is
5815 pragma Assert
(False
5816 or else NT
(N
).Nkind
= N_Exception_Handler
5817 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
5819 end Set_Zero_Cost_Handling
;
5821 -------------------------
5822 -- Iterator Procedures --
5823 -------------------------
5825 procedure Next_Entity
(N
: in out Node_Id
) is
5827 N
:= Next_Entity
(N
);
5830 procedure Next_Named_Actual
(N
: in out Node_Id
) is
5832 N
:= Next_Named_Actual
(N
);
5833 end Next_Named_Actual
;
5835 procedure Next_Rep_Item
(N
: in out Node_Id
) is
5837 N
:= Next_Rep_Item
(N
);
5840 procedure Next_Use_Clause
(N
: in out Node_Id
) is
5842 N
:= Next_Use_Clause
(N
);
5843 end Next_Use_Clause
;
5849 function End_Location
(N
: Node_Id
) return Source_Ptr
is
5850 L
: constant Uint
:= End_Span
(N
);
5855 return Source_Ptr
(Int
(Sloc
(N
)) + UI_To_Int
(L
));
5859 ----------------------
5860 -- Set_End_Location --
5861 ----------------------
5863 procedure Set_End_Location
(N
: Node_Id
; S
: Source_Ptr
) is
5866 UI_From_Int
(Int
(S
) - Int
(Sloc
(N
))));
5867 end Set_End_Location
;
5876 V2
: Node_Kind
) return Boolean
5879 return T
= V1
or else
5887 V3
: Node_Kind
) return Boolean
5890 return T
= V1
or else
5900 V4
: Node_Kind
) return Boolean
5903 return T
= V1
or else
5915 V5
: Node_Kind
) return Boolean
5918 return T
= V1
or else
5932 V6
: Node_Kind
) return Boolean
5935 return T
= V1
or else
5951 V7
: Node_Kind
) return Boolean
5954 return T
= V1
or else
5972 V8
: Node_Kind
) return Boolean
5975 return T
= V1
or else
5996 V9
: Node_Kind
) return Boolean
5999 return T
= V1
or else
6014 function Pragma_Name
(N
: Node_Id
) return Name_Id
is
6016 return Chars
(Pragma_Identifier
(N
));