1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
11 -- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
13 -- GNAT is free software; you can redistribute it and/or modify it under --
14 -- terms of the GNU General Public License as published by the Free Soft- --
15 -- ware Foundation; either version 2, or (at your option) any later ver- --
16 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
17 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
18 -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
19 -- for more details. You should have received a copy of the GNU General --
20 -- Public License distributed with GNAT; see file COPYING. If not, write --
21 -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
22 -- MA 02111-1307, USA. --
24 -- As a special exception, if other files instantiate generics from this --
25 -- unit, or you link this unit with other files to produce an executable, --
26 -- this unit does not by itself cause the resulting executable to be --
27 -- covered by the GNU General Public License. This exception does not --
28 -- however invalidate any other reasons why the executable file might be --
29 -- covered by the GNU Public License. --
31 -- GNAT was originally developed by the GNAT team at New York University. --
32 -- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). --
34 ------------------------------------------------------------------------------
36 pragma Style_Checks
(All_Checks
);
37 -- No subprogram ordering check, due to logical grouping
39 with Atree
; use Atree
;
43 use Atree
.Unchecked_Access
;
44 -- This package is one of the few packages which is allowed to make direct
45 -- references to tree nodes (since it is in the business of providing a
46 -- higher level of tree access which other clients are expected to use and
47 -- which implements checks).
49 use Atree_Private_Part
;
50 -- The only reason that we ask for direct access to the private part of
51 -- the tree package is so that we can directly reference the Nkind field
52 -- of nodes table entries. We do this since it helps the efficiency of
53 -- the Sinfo debugging checks considerably (note that when we are checking
54 -- Nkind values, we don't need to check for a valid node reference, because
55 -- we will check that anyway when we reference the field).
57 NT
: Nodes
.Table_Ptr
renames Nodes
.Table
;
58 -- A short hand abbreviation, useful for the debugging checks
60 ----------------------------
61 -- Field Access Functions --
62 ----------------------------
64 function ABE_Is_Certain
65 (N
: Node_Id
) return Boolean is
68 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
69 or else NT
(N
).Nkind
= N_Function_Call
70 or else NT
(N
).Nkind
= N_Function_Instantiation
71 or else NT
(N
).Nkind
= N_Package_Instantiation
72 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
73 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
77 function Abort_Present
78 (N
: Node_Id
) return Boolean is
81 or else NT
(N
).Nkind
= N_Requeue_Statement
);
85 function Abortable_Part
86 (N
: Node_Id
) return Node_Id
is
89 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
93 function Abstract_Present
94 (N
: Node_Id
) return Boolean is
97 or else NT
(N
).Nkind
= N_Derived_Type_Definition
98 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
99 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
100 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
101 or else NT
(N
).Nkind
= N_Private_Type_Declaration
102 or else NT
(N
).Nkind
= N_Record_Definition
);
104 end Abstract_Present
;
106 function Accept_Handler_Records
107 (N
: Node_Id
) return List_Id
is
110 or else NT
(N
).Nkind
= N_Accept_Alternative
);
112 end Accept_Handler_Records
;
114 function Accept_Statement
115 (N
: Node_Id
) return Node_Id
is
118 or else NT
(N
).Nkind
= N_Accept_Alternative
);
120 end Accept_Statement
;
122 function Access_Types_To_Process
123 (N
: Node_Id
) return Elist_Id
is
126 or else NT
(N
).Nkind
= N_Freeze_Entity
);
128 end Access_Types_To_Process
;
131 (N
: Node_Id
) return List_Id
is
134 or else NT
(N
).Nkind
= N_And_Then
135 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
136 or else NT
(N
).Nkind
= N_Freeze_Entity
137 or else NT
(N
).Nkind
= N_Or_Else
);
141 function Activation_Chain_Entity
142 (N
: Node_Id
) return Node_Id
is
145 or else NT
(N
).Nkind
= N_Block_Statement
146 or else NT
(N
).Nkind
= N_Entry_Body
147 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
148 or else NT
(N
).Nkind
= N_Package_Declaration
149 or else NT
(N
).Nkind
= N_Subprogram_Body
150 or else NT
(N
).Nkind
= N_Task_Body
);
152 end Activation_Chain_Entity
;
154 function Acts_As_Spec
155 (N
: Node_Id
) return Boolean is
158 or else NT
(N
).Nkind
= N_Compilation_Unit
159 or else NT
(N
).Nkind
= N_Subprogram_Body
);
163 function Aggregate_Bounds
164 (N
: Node_Id
) return Node_Id
is
167 or else NT
(N
).Nkind
= N_Aggregate
);
169 end Aggregate_Bounds
;
171 function Aliased_Present
172 (N
: Node_Id
) return Boolean is
175 or else NT
(N
).Nkind
= N_Component_Declaration
176 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
177 or else NT
(N
).Nkind
= N_Object_Declaration
178 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
183 (N
: Node_Id
) return Boolean is
186 or else NT
(N
).Nkind
= N_Others_Choice
);
191 (N
: Node_Id
) return Boolean is
194 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
198 function Alternatives
199 (N
: Node_Id
) return List_Id
is
202 or else NT
(N
).Nkind
= N_Case_Statement
);
206 function Ancestor_Part
207 (N
: Node_Id
) return Node_Id
is
210 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
214 function Array_Aggregate
215 (N
: Node_Id
) return Node_Id
is
218 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
222 function Assignment_OK
223 (N
: Node_Id
) return Boolean is
226 or else NT
(N
).Nkind
= N_Object_Declaration
227 or else NT
(N
).Nkind
in N_Subexpr
);
231 function Associated_Node
232 (N
: Node_Id
) return Node_Id
is
235 or else NT
(N
).Nkind
in N_Has_Entity
236 or else NT
(N
).Nkind
= N_Aggregate
237 or else NT
(N
).Nkind
= N_Extension_Aggregate
238 or else NT
(N
).Nkind
= N_Selected_Component
);
243 (N
: Node_Id
) return Node_Id
is
246 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
250 function Attribute_Name
251 (N
: Node_Id
) return Name_Id
is
254 or else NT
(N
).Nkind
= N_Attribute_Reference
);
258 function Aux_Decls_Node
259 (N
: Node_Id
) return Node_Id
is
262 or else NT
(N
).Nkind
= N_Compilation_Unit
);
266 function Backwards_OK
267 (N
: Node_Id
) return Boolean is
270 or else NT
(N
).Nkind
= N_Assignment_Statement
);
274 function Bad_Is_Detected
275 (N
: Node_Id
) return Boolean is
278 or else NT
(N
).Nkind
= N_Subprogram_Body
);
282 function Body_Required
283 (N
: Node_Id
) return Boolean is
286 or else NT
(N
).Nkind
= N_Compilation_Unit
);
290 function Body_To_Inline
291 (N
: Node_Id
) return Node_Id
is
294 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
299 (N
: Node_Id
) return Boolean is
302 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
303 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
);
308 (N
: Node_Id
) return Boolean is
311 or else NT
(N
).Nkind
= N_Return_Statement
);
315 function Char_Literal_Value
316 (N
: Node_Id
) return Char_Code
is
319 or else NT
(N
).Nkind
= N_Character_Literal
);
320 return Char_Code2
(N
);
321 end Char_Literal_Value
;
324 (N
: Node_Id
) return Name_Id
is
327 or else NT
(N
).Nkind
in N_Has_Chars
);
331 function Choice_Parameter
332 (N
: Node_Id
) return Node_Id
is
335 or else NT
(N
).Nkind
= N_Exception_Handler
);
337 end Choice_Parameter
;
340 (N
: Node_Id
) return List_Id
is
343 or else NT
(N
).Nkind
= N_Component_Association
);
347 function Compile_Time_Known_Aggregate
348 (N
: Node_Id
) return Boolean is
351 or else NT
(N
).Nkind
= N_Aggregate
);
353 end Compile_Time_Known_Aggregate
;
355 function Component_Associations
356 (N
: Node_Id
) return List_Id
is
359 or else NT
(N
).Nkind
= N_Aggregate
360 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
362 end Component_Associations
;
364 function Component_Clauses
365 (N
: Node_Id
) return List_Id
is
368 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
370 end Component_Clauses
;
372 function Component_Items
373 (N
: Node_Id
) return List_Id
is
376 or else NT
(N
).Nkind
= N_Component_List
);
380 function Component_List
381 (N
: Node_Id
) return Node_Id
is
384 or else NT
(N
).Nkind
= N_Record_Definition
385 or else NT
(N
).Nkind
= N_Variant
);
389 function Component_Name
390 (N
: Node_Id
) return Node_Id
is
393 or else NT
(N
).Nkind
= N_Component_Clause
);
398 (N
: Node_Id
) return Node_Id
is
401 or else NT
(N
).Nkind
= N_Accept_Alternative
402 or else NT
(N
).Nkind
= N_Delay_Alternative
403 or else NT
(N
).Nkind
= N_Elsif_Part
404 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
405 or else NT
(N
).Nkind
= N_Exit_Statement
406 or else NT
(N
).Nkind
= N_If_Statement
407 or else NT
(N
).Nkind
= N_Iteration_Scheme
408 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
409 or else NT
(N
).Nkind
= N_Raise_Program_Error
410 or else NT
(N
).Nkind
= N_Raise_Storage_Error
411 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
415 function Condition_Actions
416 (N
: Node_Id
) return List_Id
is
419 or else NT
(N
).Nkind
= N_Elsif_Part
420 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
422 end Condition_Actions
;
424 function Constant_Present
425 (N
: Node_Id
) return Boolean is
428 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
429 or else NT
(N
).Nkind
= N_Object_Declaration
);
431 end Constant_Present
;
434 (N
: Node_Id
) return Node_Id
is
437 or else NT
(N
).Nkind
= N_Subtype_Indication
);
442 (N
: Node_Id
) return List_Id
is
445 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
449 function Context_Installed
450 (N
: Node_Id
) return Boolean is
453 or else NT
(N
).Nkind
= N_With_Clause
);
455 end Context_Installed
;
457 function Context_Items
458 (N
: Node_Id
) return List_Id
is
461 or else NT
(N
).Nkind
= N_Compilation_Unit
);
465 function Controlling_Argument
466 (N
: Node_Id
) return Node_Id
is
469 or else NT
(N
).Nkind
= N_Function_Call
470 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
472 end Controlling_Argument
;
474 function Conversion_OK
475 (N
: Node_Id
) return Boolean is
478 or else NT
(N
).Nkind
= N_Type_Conversion
);
482 function Corresponding_Body
483 (N
: Node_Id
) return Node_Id
is
486 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
487 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
488 or else NT
(N
).Nkind
= N_Package_Body_Stub
489 or else NT
(N
).Nkind
= N_Package_Declaration
490 or else NT
(N
).Nkind
= N_Protected_Body_Stub
491 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
492 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
493 or else NT
(N
).Nkind
= N_Subprogram_Declaration
494 or else NT
(N
).Nkind
= N_Task_Body_Stub
495 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
497 end Corresponding_Body
;
499 function Corresponding_Generic_Association
500 (N
: Node_Id
) return Node_Id
is
503 or else NT
(N
).Nkind
= N_Object_Declaration
504 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
506 end Corresponding_Generic_Association
;
508 function Corresponding_Integer_Value
509 (N
: Node_Id
) return Uint
is
512 or else NT
(N
).Nkind
= N_Real_Literal
);
514 end Corresponding_Integer_Value
;
516 function Corresponding_Spec
517 (N
: Node_Id
) return Node_Id
is
520 or else NT
(N
).Nkind
= N_Package_Body
521 or else NT
(N
).Nkind
= N_Protected_Body
522 or else NT
(N
).Nkind
= N_Subprogram_Body
523 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
524 or else NT
(N
).Nkind
= N_Task_Body
525 or else NT
(N
).Nkind
= N_With_Clause
);
527 end Corresponding_Spec
;
529 function Corresponding_Stub
530 (N
: Node_Id
) return Node_Id
is
533 or else NT
(N
).Nkind
= N_Subunit
);
535 end Corresponding_Stub
;
537 function Dcheck_Function
538 (N
: Node_Id
) return Entity_Id
is
541 or else NT
(N
).Nkind
= N_Variant
);
545 function Debug_Statement
546 (N
: Node_Id
) return Node_Id
is
549 or else NT
(N
).Nkind
= N_Pragma
);
553 function Declarations
554 (N
: Node_Id
) return List_Id
is
557 or else NT
(N
).Nkind
= N_Accept_Statement
558 or else NT
(N
).Nkind
= N_Block_Statement
559 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
560 or else NT
(N
).Nkind
= N_Entry_Body
561 or else NT
(N
).Nkind
= N_Package_Body
562 or else NT
(N
).Nkind
= N_Protected_Body
563 or else NT
(N
).Nkind
= N_Subprogram_Body
564 or else NT
(N
).Nkind
= N_Task_Body
);
568 function Default_Expression
569 (N
: Node_Id
) return Node_Id
is
572 or else NT
(N
).Nkind
= N_Parameter_Specification
);
574 end Default_Expression
;
576 function Default_Name
577 (N
: Node_Id
) return Node_Id
is
580 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
);
584 function Defining_Identifier
585 (N
: Node_Id
) return Entity_Id
is
588 or else NT
(N
).Nkind
= N_Component_Declaration
589 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
590 or else NT
(N
).Nkind
= N_Discriminant_Specification
591 or else NT
(N
).Nkind
= N_Entry_Body
592 or else NT
(N
).Nkind
= N_Entry_Declaration
593 or else NT
(N
).Nkind
= N_Entry_Index_Specification
594 or else NT
(N
).Nkind
= N_Exception_Declaration
595 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
596 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
597 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
598 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
599 or else NT
(N
).Nkind
= N_Full_Type_Declaration
600 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
601 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
602 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
603 or else NT
(N
).Nkind
= N_Number_Declaration
604 or else NT
(N
).Nkind
= N_Object_Declaration
605 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
606 or else NT
(N
).Nkind
= N_Package_Body_Stub
607 or else NT
(N
).Nkind
= N_Parameter_Specification
608 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
609 or else NT
(N
).Nkind
= N_Private_Type_Declaration
610 or else NT
(N
).Nkind
= N_Protected_Body
611 or else NT
(N
).Nkind
= N_Protected_Body_Stub
612 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
613 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
614 or else NT
(N
).Nkind
= N_Single_Task_Declaration
615 or else NT
(N
).Nkind
= N_Subtype_Declaration
616 or else NT
(N
).Nkind
= N_Task_Body
617 or else NT
(N
).Nkind
= N_Task_Body_Stub
618 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
620 end Defining_Identifier
;
622 function Defining_Unit_Name
623 (N
: Node_Id
) return Node_Id
is
626 or else NT
(N
).Nkind
= N_Function_Instantiation
627 or else NT
(N
).Nkind
= N_Function_Specification
628 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
629 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
630 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
631 or else NT
(N
).Nkind
= N_Package_Body
632 or else NT
(N
).Nkind
= N_Package_Instantiation
633 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
634 or else NT
(N
).Nkind
= N_Package_Specification
635 or else NT
(N
).Nkind
= N_Procedure_Instantiation
636 or else NT
(N
).Nkind
= N_Procedure_Specification
);
638 end Defining_Unit_Name
;
640 function Delay_Alternative
641 (N
: Node_Id
) return Node_Id
is
644 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
646 end Delay_Alternative
;
648 function Delay_Finalize_Attach
649 (N
: Node_Id
) return Boolean is
652 or else NT
(N
).Nkind
= N_Object_Declaration
);
654 end Delay_Finalize_Attach
;
656 function Delay_Statement
657 (N
: Node_Id
) return Node_Id
is
660 or else NT
(N
).Nkind
= N_Delay_Alternative
);
664 function Delta_Expression
665 (N
: Node_Id
) return Node_Id
is
668 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
669 or else NT
(N
).Nkind
= N_Delta_Constraint
670 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
672 end Delta_Expression
;
674 function Digits_Expression
675 (N
: Node_Id
) return Node_Id
is
678 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
679 or else NT
(N
).Nkind
= N_Digits_Constraint
680 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
682 end Digits_Expression
;
684 function Discr_Check_Funcs_Built
685 (N
: Node_Id
) return Boolean is
688 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
690 end Discr_Check_Funcs_Built
;
692 function Discrete_Choices
693 (N
: Node_Id
) return List_Id
is
696 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
697 or else NT
(N
).Nkind
= N_Variant
);
699 end Discrete_Choices
;
701 function Discrete_Range
702 (N
: Node_Id
) return Node_Id
is
705 or else NT
(N
).Nkind
= N_Slice
);
709 function Discrete_Subtype_Definition
710 (N
: Node_Id
) return Node_Id
is
713 or else NT
(N
).Nkind
= N_Entry_Declaration
714 or else NT
(N
).Nkind
= N_Entry_Index_Specification
715 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
717 end Discrete_Subtype_Definition
;
719 function Discrete_Subtype_Definitions
720 (N
: Node_Id
) return List_Id
is
723 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
725 end Discrete_Subtype_Definitions
;
727 function Discriminant_Specifications
728 (N
: Node_Id
) return List_Id
is
731 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
732 or else NT
(N
).Nkind
= N_Full_Type_Declaration
733 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
734 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
735 or else NT
(N
).Nkind
= N_Private_Type_Declaration
736 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
737 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
739 end Discriminant_Specifications
;
741 function Discriminant_Type
742 (N
: Node_Id
) return Node_Id
is
745 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
747 end Discriminant_Type
;
749 function Do_Access_Check
750 (N
: Node_Id
) return Boolean is
753 or else NT
(N
).Nkind
= N_Attribute_Reference
754 or else NT
(N
).Nkind
= N_Explicit_Dereference
755 or else NT
(N
).Nkind
= N_Indexed_Component
756 or else NT
(N
).Nkind
= N_Selected_Component
757 or else NT
(N
).Nkind
= N_Slice
);
761 function Do_Accessibility_Check
762 (N
: Node_Id
) return Boolean is
765 or else NT
(N
).Nkind
= N_Parameter_Specification
);
767 end Do_Accessibility_Check
;
769 function Do_Discriminant_Check
770 (N
: Node_Id
) return Boolean is
773 or else NT
(N
).Nkind
= N_Selected_Component
);
775 end Do_Discriminant_Check
;
777 function Do_Division_Check
778 (N
: Node_Id
) return Boolean is
781 or else NT
(N
).Nkind
= N_Op_Divide
782 or else NT
(N
).Nkind
= N_Op_Mod
783 or else NT
(N
).Nkind
= N_Op_Rem
);
785 end Do_Division_Check
;
787 function Do_Length_Check
788 (N
: Node_Id
) return Boolean is
791 or else NT
(N
).Nkind
= N_Assignment_Statement
792 or else NT
(N
).Nkind
= N_Op_And
793 or else NT
(N
).Nkind
= N_Op_Or
794 or else NT
(N
).Nkind
= N_Op_Xor
795 or else NT
(N
).Nkind
= N_Type_Conversion
);
799 function Do_Overflow_Check
800 (N
: Node_Id
) return Boolean is
803 or else NT
(N
).Nkind
in N_Op
804 or else NT
(N
).Nkind
= N_Attribute_Reference
805 or else NT
(N
).Nkind
= N_Type_Conversion
);
807 end Do_Overflow_Check
;
809 function Do_Range_Check
810 (N
: Node_Id
) return Boolean is
813 or else NT
(N
).Nkind
in N_Subexpr
);
817 function Do_Storage_Check
818 (N
: Node_Id
) return Boolean is
821 or else NT
(N
).Nkind
= N_Allocator
822 or else NT
(N
).Nkind
= N_Subprogram_Body
);
824 end Do_Storage_Check
;
826 function Do_Tag_Check
827 (N
: Node_Id
) return Boolean is
830 or else NT
(N
).Nkind
= N_Assignment_Statement
831 or else NT
(N
).Nkind
= N_Function_Call
832 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
833 or else NT
(N
).Nkind
= N_Return_Statement
834 or else NT
(N
).Nkind
= N_Type_Conversion
);
838 function Elaborate_All_Present
839 (N
: Node_Id
) return Boolean is
842 or else NT
(N
).Nkind
= N_With_Clause
);
844 end Elaborate_All_Present
;
846 function Elaborate_Present
847 (N
: Node_Id
) return Boolean is
850 or else NT
(N
).Nkind
= N_With_Clause
);
852 end Elaborate_Present
;
854 function Elaboration_Boolean
855 (N
: Node_Id
) return Node_Id
is
858 or else NT
(N
).Nkind
= N_Function_Specification
859 or else NT
(N
).Nkind
= N_Procedure_Specification
);
861 end Elaboration_Boolean
;
863 function Else_Actions
864 (N
: Node_Id
) return List_Id
is
867 or else NT
(N
).Nkind
= N_Conditional_Expression
);
871 function Else_Statements
872 (N
: Node_Id
) return List_Id
is
875 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
876 or else NT
(N
).Nkind
= N_If_Statement
877 or else NT
(N
).Nkind
= N_Selective_Accept
);
882 (N
: Node_Id
) return List_Id
is
885 or else NT
(N
).Nkind
= N_If_Statement
);
889 function Enclosing_Variant
890 (N
: Node_Id
) return Node_Id
is
893 or else NT
(N
).Nkind
= N_Variant
);
895 end Enclosing_Variant
;
898 (N
: Node_Id
) return Node_Id
is
901 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
902 or else NT
(N
).Nkind
= N_Loop_Statement
903 or else NT
(N
).Nkind
= N_Package_Specification
904 or else NT
(N
).Nkind
= N_Protected_Body
905 or else NT
(N
).Nkind
= N_Protected_Definition
906 or else NT
(N
).Nkind
= N_Record_Definition
907 or else NT
(N
).Nkind
= N_Task_Definition
);
912 (N
: Node_Id
) return Uint
is
915 or else NT
(N
).Nkind
= N_Case_Statement
916 or else NT
(N
).Nkind
= N_If_Statement
);
921 (N
: Node_Id
) return Node_Id
is
924 or else NT
(N
).Nkind
in N_Has_Entity
925 or else NT
(N
).Nkind
= N_Freeze_Entity
);
929 function Entry_Body_Formal_Part
930 (N
: Node_Id
) return Node_Id
is
933 or else NT
(N
).Nkind
= N_Entry_Body
);
935 end Entry_Body_Formal_Part
;
937 function Entry_Call_Alternative
938 (N
: Node_Id
) return Node_Id
is
941 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
942 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
944 end Entry_Call_Alternative
;
946 function Entry_Call_Statement
947 (N
: Node_Id
) return Node_Id
is
950 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
952 end Entry_Call_Statement
;
954 function Entry_Direct_Name
955 (N
: Node_Id
) return Node_Id
is
958 or else NT
(N
).Nkind
= N_Accept_Statement
);
960 end Entry_Direct_Name
;
963 (N
: Node_Id
) return Node_Id
is
966 or else NT
(N
).Nkind
= N_Accept_Statement
);
970 function Entry_Index_Specification
971 (N
: Node_Id
) return Node_Id
is
974 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
976 end Entry_Index_Specification
;
979 (N
: Node_Id
) return Node_Id
is
982 or else NT
(N
).Nkind
in N_Has_Etype
);
986 function Exception_Choices
987 (N
: Node_Id
) return List_Id
is
990 or else NT
(N
).Nkind
= N_Exception_Handler
);
992 end Exception_Choices
;
994 function Exception_Handlers
995 (N
: Node_Id
) return List_Id
is
998 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1000 end Exception_Handlers
;
1002 function Exception_Junk
1003 (N
: Node_Id
) return Boolean is
1005 pragma Assert
(False
1006 or else NT
(N
).Nkind
= N_Goto_Statement
1007 or else NT
(N
).Nkind
= N_Label
1008 or else NT
(N
).Nkind
= N_Object_Declaration
1009 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1013 function Expansion_Delayed
1014 (N
: Node_Id
) return Boolean is
1016 pragma Assert
(False
1017 or else NT
(N
).Nkind
= N_Aggregate
1018 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1020 end Expansion_Delayed
;
1022 function Explicit_Actual_Parameter
1023 (N
: Node_Id
) return Node_Id
is
1025 pragma Assert
(False
1026 or else NT
(N
).Nkind
= N_Parameter_Association
);
1028 end Explicit_Actual_Parameter
;
1030 function Explicit_Generic_Actual_Parameter
1031 (N
: Node_Id
) return Node_Id
is
1033 pragma Assert
(False
1034 or else NT
(N
).Nkind
= N_Generic_Association
);
1036 end Explicit_Generic_Actual_Parameter
;
1039 (N
: Node_Id
) return Node_Id
is
1041 pragma Assert
(False
1042 or else NT
(N
).Nkind
= N_Allocator
1043 or else NT
(N
).Nkind
= N_Assignment_Statement
1044 or else NT
(N
).Nkind
= N_At_Clause
1045 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1046 or else NT
(N
).Nkind
= N_Case_Statement
1047 or else NT
(N
).Nkind
= N_Code_Statement
1048 or else NT
(N
).Nkind
= N_Component_Association
1049 or else NT
(N
).Nkind
= N_Component_Declaration
1050 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
1051 or else NT
(N
).Nkind
= N_Delay_Until_Statement
1052 or else NT
(N
).Nkind
= N_Discriminant_Association
1053 or else NT
(N
).Nkind
= N_Discriminant_Specification
1054 or else NT
(N
).Nkind
= N_Exception_Declaration
1055 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1056 or else NT
(N
).Nkind
= N_Free_Statement
1057 or else NT
(N
).Nkind
= N_Mod_Clause
1058 or else NT
(N
).Nkind
= N_Modular_Type_Definition
1059 or else NT
(N
).Nkind
= N_Number_Declaration
1060 or else NT
(N
).Nkind
= N_Object_Declaration
1061 or else NT
(N
).Nkind
= N_Parameter_Specification
1062 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
1063 or else NT
(N
).Nkind
= N_Qualified_Expression
1064 or else NT
(N
).Nkind
= N_Return_Statement
1065 or else NT
(N
).Nkind
= N_Type_Conversion
1066 or else NT
(N
).Nkind
= N_Unchecked_Expression
1067 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1071 function Expressions
1072 (N
: Node_Id
) return List_Id
is
1074 pragma Assert
(False
1075 or else NT
(N
).Nkind
= N_Aggregate
1076 or else NT
(N
).Nkind
= N_Attribute_Reference
1077 or else NT
(N
).Nkind
= N_Conditional_Expression
1078 or else NT
(N
).Nkind
= N_Extension_Aggregate
1079 or else NT
(N
).Nkind
= N_Indexed_Component
);
1084 (N
: Node_Id
) return Node_Id
is
1086 pragma Assert
(False
1087 or else NT
(N
).Nkind
= N_Component_Clause
);
1091 function First_Inlined_Subprogram
1092 (N
: Node_Id
) return Entity_Id
is
1094 pragma Assert
(False
1095 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1097 end First_Inlined_Subprogram
;
1100 (N
: Node_Id
) return Boolean is
1102 pragma Assert
(False
1103 or else NT
(N
).Nkind
= N_With_Clause
);
1107 function First_Named_Actual
1108 (N
: Node_Id
) return Node_Id
is
1110 pragma Assert
(False
1111 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1112 or else NT
(N
).Nkind
= N_Function_Call
1113 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1115 end First_Named_Actual
;
1117 function First_Real_Statement
1118 (N
: Node_Id
) return Node_Id
is
1120 pragma Assert
(False
1121 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
1123 end First_Real_Statement
;
1125 function First_Subtype_Link
1126 (N
: Node_Id
) return Entity_Id
is
1128 pragma Assert
(False
1129 or else NT
(N
).Nkind
= N_Freeze_Entity
);
1131 end First_Subtype_Link
;
1133 function Float_Truncate
1134 (N
: Node_Id
) return Boolean is
1136 pragma Assert
(False
1137 or else NT
(N
).Nkind
= N_Type_Conversion
);
1141 function Formal_Type_Definition
1142 (N
: Node_Id
) return Node_Id
is
1144 pragma Assert
(False
1145 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
1147 end Formal_Type_Definition
;
1149 function Forwards_OK
1150 (N
: Node_Id
) return Boolean is
1152 pragma Assert
(False
1153 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1157 function From_At_Mod
1158 (N
: Node_Id
) return Boolean is
1160 pragma Assert
(False
1161 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
1165 function Generic_Associations
1166 (N
: Node_Id
) return List_Id
is
1168 pragma Assert
(False
1169 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1170 or else NT
(N
).Nkind
= N_Function_Instantiation
1171 or else NT
(N
).Nkind
= N_Package_Instantiation
1172 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1174 end Generic_Associations
;
1176 function Generic_Formal_Declarations
1177 (N
: Node_Id
) return List_Id
is
1179 pragma Assert
(False
1180 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1181 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
1183 end Generic_Formal_Declarations
;
1185 function Generic_Parent
1186 (N
: Node_Id
) return Node_Id
is
1188 pragma Assert
(False
1189 or else NT
(N
).Nkind
= N_Function_Specification
1190 or else NT
(N
).Nkind
= N_Package_Specification
1191 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1195 function Generic_Parent_Type
1196 (N
: Node_Id
) return Node_Id
is
1198 pragma Assert
(False
1199 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
1201 end Generic_Parent_Type
;
1203 function Handled_Statement_Sequence
1204 (N
: Node_Id
) return Node_Id
is
1206 pragma Assert
(False
1207 or else NT
(N
).Nkind
= N_Accept_Statement
1208 or else NT
(N
).Nkind
= N_Block_Statement
1209 or else NT
(N
).Nkind
= N_Entry_Body
1210 or else NT
(N
).Nkind
= N_Package_Body
1211 or else NT
(N
).Nkind
= N_Subprogram_Body
1212 or else NT
(N
).Nkind
= N_Task_Body
);
1214 end Handled_Statement_Sequence
;
1216 function Handler_List_Entry
1217 (N
: Node_Id
) return Node_Id
is
1219 pragma Assert
(False
1220 or else NT
(N
).Nkind
= N_Object_Declaration
);
1222 end Handler_List_Entry
;
1224 function Has_Created_Identifier
1225 (N
: Node_Id
) return Boolean is
1227 pragma Assert
(False
1228 or else NT
(N
).Nkind
= N_Block_Statement
1229 or else NT
(N
).Nkind
= N_Loop_Statement
);
1231 end Has_Created_Identifier
;
1233 function Has_Dynamic_Length_Check
1234 (N
: Node_Id
) return Boolean is
1237 end Has_Dynamic_Length_Check
;
1239 function Has_Dynamic_Range_Check
1240 (N
: Node_Id
) return Boolean is
1243 end Has_Dynamic_Range_Check
;
1245 function Has_No_Elaboration_Code
1246 (N
: Node_Id
) return Boolean is
1248 pragma Assert
(False
1249 or else NT
(N
).Nkind
= N_Compilation_Unit
);
1251 end Has_No_Elaboration_Code
;
1253 function Has_Priority_Pragma
1254 (N
: Node_Id
) return Boolean is
1256 pragma Assert
(False
1257 or else NT
(N
).Nkind
= N_Protected_Definition
1258 or else NT
(N
).Nkind
= N_Subprogram_Body
1259 or else NT
(N
).Nkind
= N_Task_Definition
);
1261 end Has_Priority_Pragma
;
1263 function Has_Private_View
1264 (N
: Node_Id
) return Boolean is
1266 pragma Assert
(False
1267 or else NT
(N
).Nkind
in N_Op
1268 or else NT
(N
).Nkind
= N_Character_Literal
1269 or else NT
(N
).Nkind
= N_Expanded_Name
1270 or else NT
(N
).Nkind
= N_Identifier
1271 or else NT
(N
).Nkind
= N_Operator_Symbol
);
1273 end Has_Private_View
;
1275 function Has_Storage_Size_Pragma
1276 (N
: Node_Id
) return Boolean is
1278 pragma Assert
(False
1279 or else NT
(N
).Nkind
= N_Task_Definition
);
1281 end Has_Storage_Size_Pragma
;
1283 function Has_Task_Info_Pragma
1284 (N
: Node_Id
) return Boolean is
1286 pragma Assert
(False
1287 or else NT
(N
).Nkind
= N_Task_Definition
);
1289 end Has_Task_Info_Pragma
;
1291 function Has_Task_Name_Pragma
1292 (N
: Node_Id
) return Boolean is
1294 pragma Assert
(False
1295 or else NT
(N
).Nkind
= N_Task_Definition
);
1297 end Has_Task_Name_Pragma
;
1299 function Has_Wide_Character
1300 (N
: Node_Id
) return Boolean is
1302 pragma Assert
(False
1303 or else NT
(N
).Nkind
= N_String_Literal
);
1305 end Has_Wide_Character
;
1307 function Hidden_By_Use_Clause
1308 (N
: Node_Id
) return Elist_Id
is
1310 pragma Assert
(False
1311 or else NT
(N
).Nkind
= N_Use_Package_Clause
1312 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1314 end Hidden_By_Use_Clause
;
1317 (N
: Node_Id
) return Node_Id
is
1319 pragma Assert
(False
1320 or else NT
(N
).Nkind
= N_Range
1321 or else NT
(N
).Nkind
= N_Real_Range_Specification
1322 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1327 (N
: Node_Id
) return Node_Id
is
1329 pragma Assert
(False
1330 or else NT
(N
).Nkind
= N_At_Clause
1331 or else NT
(N
).Nkind
= N_Block_Statement
1332 or else NT
(N
).Nkind
= N_Designator
1333 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1334 or else NT
(N
).Nkind
= N_Label
1335 or else NT
(N
).Nkind
= N_Loop_Statement
1336 or else NT
(N
).Nkind
= N_Record_Representation_Clause
1337 or else NT
(N
).Nkind
= N_Subprogram_Info
);
1341 function Implicit_With
1342 (N
: Node_Id
) return Boolean is
1344 pragma Assert
(False
1345 or else NT
(N
).Nkind
= N_With_Clause
);
1350 (N
: Node_Id
) return Boolean is
1352 pragma Assert
(False
1353 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1354 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1358 function Includes_Infinities
1359 (N
: Node_Id
) return Boolean is
1361 pragma Assert
(False
1362 or else NT
(N
).Nkind
= N_Range
);
1364 end Includes_Infinities
;
1366 function Instance_Spec
1367 (N
: Node_Id
) return Node_Id
is
1369 pragma Assert
(False
1370 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1371 or else NT
(N
).Nkind
= N_Function_Instantiation
1372 or else NT
(N
).Nkind
= N_Package_Instantiation
1373 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
1378 (N
: Node_Id
) return Uint
is
1380 pragma Assert
(False
1381 or else NT
(N
).Nkind
= N_Integer_Literal
);
1385 function Is_Asynchronous_Call_Block
1386 (N
: Node_Id
) return Boolean is
1388 pragma Assert
(False
1389 or else NT
(N
).Nkind
= N_Block_Statement
);
1391 end Is_Asynchronous_Call_Block
;
1393 function Is_Component_Left_Opnd
1394 (N
: Node_Id
) return Boolean is
1396 pragma Assert
(False
1397 or else NT
(N
).Nkind
= N_Op_Concat
);
1399 end Is_Component_Left_Opnd
;
1401 function Is_Component_Right_Opnd
1402 (N
: Node_Id
) return Boolean is
1404 pragma Assert
(False
1405 or else NT
(N
).Nkind
= N_Op_Concat
);
1407 end Is_Component_Right_Opnd
;
1409 function Is_Controlling_Actual
1410 (N
: Node_Id
) return Boolean is
1412 pragma Assert
(False
1413 or else NT
(N
).Nkind
in N_Subexpr
);
1415 end Is_Controlling_Actual
;
1417 function Is_Machine_Number
1418 (N
: Node_Id
) return Boolean is
1420 pragma Assert
(False
1421 or else NT
(N
).Nkind
= N_Real_Literal
);
1423 end Is_Machine_Number
;
1425 function Is_Overloaded
1426 (N
: Node_Id
) return Boolean is
1428 pragma Assert
(False
1429 or else NT
(N
).Nkind
in N_Subexpr
);
1433 function Is_Power_Of_2_For_Shift
1434 (N
: Node_Id
) return Boolean is
1436 pragma Assert
(False
1437 or else NT
(N
).Nkind
= N_Op_Expon
);
1439 end Is_Power_Of_2_For_Shift
;
1441 function Is_Protected_Subprogram_Body
1442 (N
: Node_Id
) return Boolean is
1444 pragma Assert
(False
1445 or else NT
(N
).Nkind
= N_Subprogram_Body
);
1447 end Is_Protected_Subprogram_Body
;
1449 function Is_Static_Expression
1450 (N
: Node_Id
) return Boolean is
1452 pragma Assert
(False
1453 or else NT
(N
).Nkind
in N_Subexpr
);
1455 end Is_Static_Expression
;
1457 function Is_Subprogram_Descriptor
1458 (N
: Node_Id
) return Boolean is
1460 pragma Assert
(False
1461 or else NT
(N
).Nkind
= N_Object_Declaration
);
1463 end Is_Subprogram_Descriptor
;
1465 function Is_Task_Allocation_Block
1466 (N
: Node_Id
) return Boolean is
1468 pragma Assert
(False
1469 or else NT
(N
).Nkind
= N_Block_Statement
);
1471 end Is_Task_Allocation_Block
;
1473 function Is_Task_Master
1474 (N
: Node_Id
) return Boolean is
1476 pragma Assert
(False
1477 or else NT
(N
).Nkind
= N_Block_Statement
1478 or else NT
(N
).Nkind
= N_Subprogram_Body
1479 or else NT
(N
).Nkind
= N_Task_Body
);
1483 function Iteration_Scheme
1484 (N
: Node_Id
) return Node_Id
is
1486 pragma Assert
(False
1487 or else NT
(N
).Nkind
= N_Loop_Statement
);
1489 end Iteration_Scheme
;
1492 (N
: Node_Id
) return Node_Id
is
1494 pragma Assert
(False
1495 or else NT
(N
).Nkind
= N_Itype_Reference
);
1499 function Kill_Range_Check
1500 (N
: Node_Id
) return Boolean is
1502 pragma Assert
(False
1503 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
1505 end Kill_Range_Check
;
1507 function Label_Construct
1508 (N
: Node_Id
) return Node_Id
is
1510 pragma Assert
(False
1511 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
1513 end Label_Construct
;
1516 (N
: Node_Id
) return Node_Id
is
1518 pragma Assert
(False
1519 or else NT
(N
).Nkind
= N_Component_Clause
);
1524 (N
: Node_Id
) return Boolean is
1526 pragma Assert
(False
1527 or else NT
(N
).Nkind
= N_With_Clause
);
1532 (N
: Node_Id
) return Node_Id
is
1534 pragma Assert
(False
1535 or else NT
(N
).Nkind
= N_And_Then
1536 or else NT
(N
).Nkind
= N_In
1537 or else NT
(N
).Nkind
= N_Not_In
1538 or else NT
(N
).Nkind
= N_Or_Else
1539 or else NT
(N
).Nkind
in N_Binary_Op
);
1543 function Library_Unit
1544 (N
: Node_Id
) return Node_Id
is
1546 pragma Assert
(False
1547 or else NT
(N
).Nkind
= N_Compilation_Unit
1548 or else NT
(N
).Nkind
= N_Package_Body_Stub
1549 or else NT
(N
).Nkind
= N_Protected_Body_Stub
1550 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
1551 or else NT
(N
).Nkind
= N_Task_Body_Stub
1552 or else NT
(N
).Nkind
= N_With_Clause
);
1556 function Limited_Present
1557 (N
: Node_Id
) return Boolean is
1559 pragma Assert
(False
1560 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
1561 or else NT
(N
).Nkind
= N_Private_Type_Declaration
1562 or else NT
(N
).Nkind
= N_Record_Definition
);
1564 end Limited_Present
;
1567 (N
: Node_Id
) return List_Id
is
1569 pragma Assert
(False
1570 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
1574 function Loop_Actions
1575 (N
: Node_Id
) return List_Id
is
1577 pragma Assert
(False
1578 or else NT
(N
).Nkind
= N_Component_Association
);
1582 function Loop_Parameter_Specification
1583 (N
: Node_Id
) return Node_Id
is
1585 pragma Assert
(False
1586 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
1588 end Loop_Parameter_Specification
;
1591 (N
: Node_Id
) return Node_Id
is
1593 pragma Assert
(False
1594 or else NT
(N
).Nkind
= N_Range
1595 or else NT
(N
).Nkind
= N_Real_Range_Specification
1596 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
1601 (N
: Node_Id
) return Node_Id
is
1603 pragma Assert
(False
1604 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1609 (N
: Node_Id
) return Boolean is
1611 pragma Assert
(False
1612 or else NT
(N
).Nkind
= N_Component_Declaration
1613 or else NT
(N
).Nkind
= N_Discriminant_Specification
1614 or else NT
(N
).Nkind
= N_Exception_Declaration
1615 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1616 or else NT
(N
).Nkind
= N_Number_Declaration
1617 or else NT
(N
).Nkind
= N_Object_Declaration
1618 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1622 function Must_Not_Freeze
1623 (N
: Node_Id
) return Boolean is
1625 pragma Assert
(False
1626 or else NT
(N
).Nkind
= N_Subtype_Indication
1627 or else NT
(N
).Nkind
in N_Subexpr
);
1629 end Must_Not_Freeze
;
1632 (N
: Node_Id
) return Node_Id
is
1634 pragma Assert
(False
1635 or else NT
(N
).Nkind
= N_Assignment_Statement
1636 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1637 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
1638 or else NT
(N
).Nkind
= N_Designator
1639 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1640 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
1641 or else NT
(N
).Nkind
= N_Exit_Statement
1642 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
1643 or else NT
(N
).Nkind
= N_Function_Call
1644 or else NT
(N
).Nkind
= N_Function_Instantiation
1645 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1646 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1647 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1648 or else NT
(N
).Nkind
= N_Goto_Statement
1649 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
1650 or else NT
(N
).Nkind
= N_Package_Instantiation
1651 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1652 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
1653 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1654 or else NT
(N
).Nkind
= N_Raise_Statement
1655 or else NT
(N
).Nkind
= N_Requeue_Statement
1656 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
1657 or else NT
(N
).Nkind
= N_Subunit
1658 or else NT
(N
).Nkind
= N_Variant_Part
1659 or else NT
(N
).Nkind
= N_With_Clause
1660 or else NT
(N
).Nkind
= N_With_Type_Clause
);
1665 (N
: Node_Id
) return List_Id
is
1667 pragma Assert
(False
1668 or else NT
(N
).Nkind
= N_Abort_Statement
1669 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
1673 function Next_Entity
1674 (N
: Node_Id
) return Node_Id
is
1676 pragma Assert
(False
1677 or else NT
(N
).Nkind
= N_Defining_Character_Literal
1678 or else NT
(N
).Nkind
= N_Defining_Identifier
1679 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
1683 function Next_Named_Actual
1684 (N
: Node_Id
) return Node_Id
is
1686 pragma Assert
(False
1687 or else NT
(N
).Nkind
= N_Parameter_Association
);
1689 end Next_Named_Actual
;
1691 function Next_Rep_Item
1692 (N
: Node_Id
) return Node_Id
is
1694 pragma Assert
(False
1695 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
1696 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
1697 or else NT
(N
).Nkind
= N_Pragma
1698 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
1702 function Next_Use_Clause
1703 (N
: Node_Id
) return Node_Id
is
1705 pragma Assert
(False
1706 or else NT
(N
).Nkind
= N_Use_Package_Clause
1707 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
1709 end Next_Use_Clause
;
1711 function No_Ctrl_Actions
1712 (N
: Node_Id
) return Boolean is
1714 pragma Assert
(False
1715 or else NT
(N
).Nkind
= N_Assignment_Statement
);
1717 end No_Ctrl_Actions
;
1719 function No_Entities_Ref_In_Spec
1720 (N
: Node_Id
) return Boolean is
1722 pragma Assert
(False
1723 or else NT
(N
).Nkind
= N_With_Clause
);
1725 end No_Entities_Ref_In_Spec
;
1727 function No_Initialization
1728 (N
: Node_Id
) return Boolean is
1730 pragma Assert
(False
1731 or else NT
(N
).Nkind
= N_Allocator
1732 or else NT
(N
).Nkind
= N_Object_Declaration
);
1734 end No_Initialization
;
1736 function Null_Present
1737 (N
: Node_Id
) return Boolean is
1739 pragma Assert
(False
1740 or else NT
(N
).Nkind
= N_Component_List
1741 or else NT
(N
).Nkind
= N_Record_Definition
);
1745 function Null_Record_Present
1746 (N
: Node_Id
) return Boolean is
1748 pragma Assert
(False
1749 or else NT
(N
).Nkind
= N_Aggregate
1750 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
1752 end Null_Record_Present
;
1754 function Object_Definition
1755 (N
: Node_Id
) return Node_Id
is
1757 pragma Assert
(False
1758 or else NT
(N
).Nkind
= N_Object_Declaration
);
1760 end Object_Definition
;
1762 function OK_For_Stream
1763 (N
: Node_Id
) return Boolean is
1765 pragma Assert
(False
1766 or else NT
(N
).Nkind
= N_Attribute_Reference
);
1770 function Original_Discriminant
1771 (N
: Node_Id
) return Node_Id
is
1773 pragma Assert
(False
1774 or else NT
(N
).Nkind
= N_Identifier
);
1776 end Original_Discriminant
;
1778 function Others_Discrete_Choices
1779 (N
: Node_Id
) return List_Id
is
1781 pragma Assert
(False
1782 or else NT
(N
).Nkind
= N_Others_Choice
);
1784 end Others_Discrete_Choices
;
1786 function Out_Present
1787 (N
: Node_Id
) return Boolean is
1789 pragma Assert
(False
1790 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1791 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1795 function Parameter_Associations
1796 (N
: Node_Id
) return List_Id
is
1798 pragma Assert
(False
1799 or else NT
(N
).Nkind
= N_Entry_Call_Statement
1800 or else NT
(N
).Nkind
= N_Function_Call
1801 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1803 end Parameter_Associations
;
1805 function Parameter_List_Truncated
1806 (N
: Node_Id
) return Boolean is
1808 pragma Assert
(False
1809 or else NT
(N
).Nkind
= N_Function_Call
1810 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
1812 end Parameter_List_Truncated
;
1814 function Parameter_Specifications
1815 (N
: Node_Id
) return List_Id
is
1817 pragma Assert
(False
1818 or else NT
(N
).Nkind
= N_Accept_Statement
1819 or else NT
(N
).Nkind
= N_Access_Function_Definition
1820 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
1821 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
1822 or else NT
(N
).Nkind
= N_Entry_Declaration
1823 or else NT
(N
).Nkind
= N_Function_Specification
1824 or else NT
(N
).Nkind
= N_Procedure_Specification
);
1826 end Parameter_Specifications
;
1828 function Parameter_Type
1829 (N
: Node_Id
) return Node_Id
is
1831 pragma Assert
(False
1832 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1836 function Parent_Spec
1837 (N
: Node_Id
) return Node_Id
is
1839 pragma Assert
(False
1840 or else NT
(N
).Nkind
= N_Function_Instantiation
1841 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
1842 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
1843 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
1844 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
1845 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
1846 or else NT
(N
).Nkind
= N_Package_Declaration
1847 or else NT
(N
).Nkind
= N_Package_Instantiation
1848 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
1849 or else NT
(N
).Nkind
= N_Procedure_Instantiation
1850 or else NT
(N
).Nkind
= N_Subprogram_Declaration
1851 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
1856 (N
: Node_Id
) return Node_Id
is
1858 pragma Assert
(False
1859 or else NT
(N
).Nkind
= N_Component_Clause
);
1863 function Pragma_Argument_Associations
1864 (N
: Node_Id
) return List_Id
is
1866 pragma Assert
(False
1867 or else NT
(N
).Nkind
= N_Pragma
);
1869 end Pragma_Argument_Associations
;
1871 function Pragmas_After
1872 (N
: Node_Id
) return List_Id
is
1874 pragma Assert
(False
1875 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
1876 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
1880 function Pragmas_Before
1881 (N
: Node_Id
) return List_Id
is
1883 pragma Assert
(False
1884 or else NT
(N
).Nkind
= N_Accept_Alternative
1885 or else NT
(N
).Nkind
= N_Delay_Alternative
1886 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
1887 or else NT
(N
).Nkind
= N_Mod_Clause
1888 or else NT
(N
).Nkind
= N_Terminate_Alternative
1889 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
1894 (N
: Node_Id
) return Node_Id
is
1896 pragma Assert
(False
1897 or else NT
(N
).Nkind
= N_Attribute_Reference
1898 or else NT
(N
).Nkind
= N_Expanded_Name
1899 or else NT
(N
).Nkind
= N_Explicit_Dereference
1900 or else NT
(N
).Nkind
= N_Indexed_Component
1901 or else NT
(N
).Nkind
= N_Reference
1902 or else NT
(N
).Nkind
= N_Selected_Component
1903 or else NT
(N
).Nkind
= N_Slice
);
1907 function Present_Expr
1908 (N
: Node_Id
) return Uint
is
1910 pragma Assert
(False
1911 or else NT
(N
).Nkind
= N_Variant
);
1916 (N
: Node_Id
) return Boolean is
1918 pragma Assert
(False
1919 or else NT
(N
).Nkind
= N_Component_Declaration
1920 or else NT
(N
).Nkind
= N_Discriminant_Specification
1921 or else NT
(N
).Nkind
= N_Exception_Declaration
1922 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
1923 or else NT
(N
).Nkind
= N_Number_Declaration
1924 or else NT
(N
).Nkind
= N_Object_Declaration
1925 or else NT
(N
).Nkind
= N_Parameter_Specification
);
1929 function Print_In_Hex
1930 (N
: Node_Id
) return Boolean is
1932 pragma Assert
(False
1933 or else NT
(N
).Nkind
= N_Integer_Literal
);
1937 function Private_Declarations
1938 (N
: Node_Id
) return List_Id
is
1940 pragma Assert
(False
1941 or else NT
(N
).Nkind
= N_Package_Specification
1942 or else NT
(N
).Nkind
= N_Protected_Definition
1943 or else NT
(N
).Nkind
= N_Task_Definition
);
1945 end Private_Declarations
;
1947 function Private_Present
1948 (N
: Node_Id
) return Boolean is
1950 pragma Assert
(False
1951 or else NT
(N
).Nkind
= N_Compilation_Unit
1952 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
);
1954 end Private_Present
;
1956 function Procedure_To_Call
1957 (N
: Node_Id
) return Node_Id
is
1959 pragma Assert
(False
1960 or else NT
(N
).Nkind
= N_Allocator
1961 or else NT
(N
).Nkind
= N_Free_Statement
1962 or else NT
(N
).Nkind
= N_Return_Statement
);
1964 end Procedure_To_Call
;
1966 function Proper_Body
1967 (N
: Node_Id
) return Node_Id
is
1969 pragma Assert
(False
1970 or else NT
(N
).Nkind
= N_Subunit
);
1974 function Protected_Definition
1975 (N
: Node_Id
) return Node_Id
is
1977 pragma Assert
(False
1978 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
1979 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
1981 end Protected_Definition
;
1983 function Protected_Present
1984 (N
: Node_Id
) return Boolean is
1986 pragma Assert
(False
1987 or else NT
(N
).Nkind
= N_Access_Function_Definition
1988 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
);
1990 end Protected_Present
;
1992 function Raises_Constraint_Error
1993 (N
: Node_Id
) return Boolean is
1995 pragma Assert
(False
1996 or else NT
(N
).Nkind
in N_Subexpr
);
1998 end Raises_Constraint_Error
;
2000 function Range_Constraint
2001 (N
: Node_Id
) return Node_Id
is
2003 pragma Assert
(False
2004 or else NT
(N
).Nkind
= N_Delta_Constraint
2005 or else NT
(N
).Nkind
= N_Digits_Constraint
);
2007 end Range_Constraint
;
2009 function Range_Expression
2010 (N
: Node_Id
) return Node_Id
is
2012 pragma Assert
(False
2013 or else NT
(N
).Nkind
= N_Range_Constraint
);
2015 end Range_Expression
;
2017 function Real_Range_Specification
2018 (N
: Node_Id
) return Node_Id
is
2020 pragma Assert
(False
2021 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
2022 or else NT
(N
).Nkind
= N_Floating_Point_Definition
2023 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
2025 end Real_Range_Specification
;
2028 (N
: Node_Id
) return Ureal
is
2030 pragma Assert
(False
2031 or else NT
(N
).Nkind
= N_Real_Literal
);
2035 function Record_Extension_Part
2036 (N
: Node_Id
) return Node_Id
is
2038 pragma Assert
(False
2039 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
2041 end Record_Extension_Part
;
2043 function Redundant_Use
2044 (N
: Node_Id
) return Boolean is
2046 pragma Assert
(False
2047 or else NT
(N
).Nkind
= N_Attribute_Reference
2048 or else NT
(N
).Nkind
= N_Expanded_Name
2049 or else NT
(N
).Nkind
= N_Identifier
);
2053 function Return_Type
2054 (N
: Node_Id
) return Node_Id
is
2056 pragma Assert
(False
2057 or else NT
(N
).Nkind
= N_Return_Statement
);
2061 function Reverse_Present
2062 (N
: Node_Id
) return Boolean is
2064 pragma Assert
(False
2065 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
2067 end Reverse_Present
;
2070 (N
: Node_Id
) return Node_Id
is
2072 pragma Assert
(False
2073 or else NT
(N
).Nkind
in N_Op
2074 or else NT
(N
).Nkind
= N_And_Then
2075 or else NT
(N
).Nkind
= N_In
2076 or else NT
(N
).Nkind
= N_Not_In
2077 or else NT
(N
).Nkind
= N_Or_Else
);
2081 function Rounded_Result
2082 (N
: Node_Id
) return Boolean is
2084 pragma Assert
(False
2085 or else NT
(N
).Nkind
= N_Op_Divide
2086 or else NT
(N
).Nkind
= N_Op_Multiply
2087 or else NT
(N
).Nkind
= N_Type_Conversion
);
2092 (N
: Node_Id
) return Node_Id
is
2094 pragma Assert
(False
2095 or else NT
(N
).Nkind
= N_Defining_Character_Literal
2096 or else NT
(N
).Nkind
= N_Defining_Identifier
2097 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
2101 function Select_Alternatives
2102 (N
: Node_Id
) return List_Id
is
2104 pragma Assert
(False
2105 or else NT
(N
).Nkind
= N_Selective_Accept
);
2107 end Select_Alternatives
;
2109 function Selector_Name
2110 (N
: Node_Id
) return Node_Id
is
2112 pragma Assert
(False
2113 or else NT
(N
).Nkind
= N_Expanded_Name
2114 or else NT
(N
).Nkind
= N_Generic_Association
2115 or else NT
(N
).Nkind
= N_Parameter_Association
2116 or else NT
(N
).Nkind
= N_Selected_Component
);
2120 function Selector_Names
2121 (N
: Node_Id
) return List_Id
is
2123 pragma Assert
(False
2124 or else NT
(N
).Nkind
= N_Discriminant_Association
);
2128 function Shift_Count_OK
2129 (N
: Node_Id
) return Boolean is
2131 pragma Assert
(False
2132 or else NT
(N
).Nkind
= N_Op_Rotate_Left
2133 or else NT
(N
).Nkind
= N_Op_Rotate_Right
2134 or else NT
(N
).Nkind
= N_Op_Shift_Left
2135 or else NT
(N
).Nkind
= N_Op_Shift_Right
2136 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
2140 function Source_Type
2141 (N
: Node_Id
) return Entity_Id
is
2143 pragma Assert
(False
2144 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2148 function Specification
2149 (N
: Node_Id
) return Node_Id
is
2151 pragma Assert
(False
2152 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
2153 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
2154 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2155 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2156 or else NT
(N
).Nkind
= N_Package_Declaration
2157 or else NT
(N
).Nkind
= N_Subprogram_Body
2158 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
2159 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2160 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
2165 (N
: Node_Id
) return List_Id
is
2167 pragma Assert
(False
2168 or else NT
(N
).Nkind
= N_Abortable_Part
2169 or else NT
(N
).Nkind
= N_Accept_Alternative
2170 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
2171 or else NT
(N
).Nkind
= N_Delay_Alternative
2172 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
2173 or else NT
(N
).Nkind
= N_Exception_Handler
2174 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
2175 or else NT
(N
).Nkind
= N_Loop_Statement
2176 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2180 function Static_Processing_OK
2181 (N
: Node_Id
) return Boolean is
2183 pragma Assert
(False
2184 or else NT
(N
).Nkind
= N_Aggregate
);
2186 end Static_Processing_OK
;
2188 function Storage_Pool
2189 (N
: Node_Id
) return Node_Id
is
2191 pragma Assert
(False
2192 or else NT
(N
).Nkind
= N_Allocator
2193 or else NT
(N
).Nkind
= N_Free_Statement
2194 or else NT
(N
).Nkind
= N_Return_Statement
);
2199 (N
: Node_Id
) return String_Id
is
2201 pragma Assert
(False
2202 or else NT
(N
).Nkind
= N_Operator_Symbol
2203 or else NT
(N
).Nkind
= N_String_Literal
);
2207 function Subtype_Indication
2208 (N
: Node_Id
) return Node_Id
is
2210 pragma Assert
(False
2211 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2212 or else NT
(N
).Nkind
= N_Component_Declaration
2213 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
2214 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2215 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2216 or else NT
(N
).Nkind
= N_Subtype_Declaration
2217 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
2219 end Subtype_Indication
;
2221 function Subtype_Mark
2222 (N
: Node_Id
) return Node_Id
is
2224 pragma Assert
(False
2225 or else NT
(N
).Nkind
= N_Access_Definition
2226 or else NT
(N
).Nkind
= N_Access_Function_Definition
2227 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2228 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2229 or else NT
(N
).Nkind
= N_Function_Specification
2230 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2231 or else NT
(N
).Nkind
= N_Qualified_Expression
2232 or else NT
(N
).Nkind
= N_Subtype_Indication
2233 or else NT
(N
).Nkind
= N_Type_Conversion
2234 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
2238 function Subtype_Marks
2239 (N
: Node_Id
) return List_Id
is
2241 pragma Assert
(False
2242 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
2243 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
2247 function Tagged_Present
2248 (N
: Node_Id
) return Boolean is
2250 pragma Assert
(False
2251 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2252 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2253 or else NT
(N
).Nkind
= N_Record_Definition
2254 or else NT
(N
).Nkind
= N_With_Type_Clause
);
2258 function Target_Type
2259 (N
: Node_Id
) return Entity_Id
is
2261 pragma Assert
(False
2262 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
2266 function Task_Body_Procedure
2267 (N
: Node_Id
) return Entity_Id
is
2269 pragma Assert
(False
2270 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2272 end Task_Body_Procedure
;
2274 function Task_Definition
2275 (N
: Node_Id
) return Node_Id
is
2277 pragma Assert
(False
2278 or else NT
(N
).Nkind
= N_Single_Task_Declaration
2279 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2281 end Task_Definition
;
2283 function Then_Actions
2284 (N
: Node_Id
) return List_Id
is
2286 pragma Assert
(False
2287 or else NT
(N
).Nkind
= N_Conditional_Expression
);
2291 function Then_Statements
2292 (N
: Node_Id
) return List_Id
is
2294 pragma Assert
(False
2295 or else NT
(N
).Nkind
= N_Elsif_Part
2296 or else NT
(N
).Nkind
= N_If_Statement
);
2298 end Then_Statements
;
2300 function Treat_Fixed_As_Integer
2301 (N
: Node_Id
) return Boolean is
2303 pragma Assert
(False
2304 or else NT
(N
).Nkind
= N_Op_Divide
2305 or else NT
(N
).Nkind
= N_Op_Mod
2306 or else NT
(N
).Nkind
= N_Op_Multiply
2307 or else NT
(N
).Nkind
= N_Op_Rem
);
2309 end Treat_Fixed_As_Integer
;
2311 function Triggering_Alternative
2312 (N
: Node_Id
) return Node_Id
is
2314 pragma Assert
(False
2315 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2317 end Triggering_Alternative
;
2319 function Triggering_Statement
2320 (N
: Node_Id
) return Node_Id
is
2322 pragma Assert
(False
2323 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
2325 end Triggering_Statement
;
2328 (N
: Node_Id
) return Elist_Id
is
2330 pragma Assert
(False
2331 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2335 function Type_Definition
2336 (N
: Node_Id
) return Node_Id
is
2338 pragma Assert
(False
2339 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
2341 end Type_Definition
;
2344 (N
: Node_Id
) return Node_Id
is
2346 pragma Assert
(False
2347 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2351 function Unknown_Discriminants_Present
2352 (N
: Node_Id
) return Boolean is
2354 pragma Assert
(False
2355 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
2356 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2357 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2358 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
2360 end Unknown_Discriminants_Present
;
2362 function Unreferenced_In_Spec
2363 (N
: Node_Id
) return Boolean is
2365 pragma Assert
(False
2366 or else NT
(N
).Nkind
= N_With_Clause
);
2368 end Unreferenced_In_Spec
;
2370 function Variant_Part
2371 (N
: Node_Id
) return Node_Id
is
2373 pragma Assert
(False
2374 or else NT
(N
).Nkind
= N_Component_List
);
2379 (N
: Node_Id
) return List_Id
is
2381 pragma Assert
(False
2382 or else NT
(N
).Nkind
= N_Variant_Part
);
2386 function Visible_Declarations
2387 (N
: Node_Id
) return List_Id
is
2389 pragma Assert
(False
2390 or else NT
(N
).Nkind
= N_Package_Specification
2391 or else NT
(N
).Nkind
= N_Protected_Definition
2392 or else NT
(N
).Nkind
= N_Task_Definition
);
2394 end Visible_Declarations
;
2396 function Was_Originally_Stub
2397 (N
: Node_Id
) return Boolean is
2399 pragma Assert
(False
2400 or else NT
(N
).Nkind
= N_Package_Body
2401 or else NT
(N
).Nkind
= N_Protected_Body
2402 or else NT
(N
).Nkind
= N_Subprogram_Body
2403 or else NT
(N
).Nkind
= N_Task_Body
);
2405 end Was_Originally_Stub
;
2407 function Zero_Cost_Handling
2408 (N
: Node_Id
) return Boolean is
2410 pragma Assert
(False
2411 or else NT
(N
).Nkind
= N_Exception_Handler
2412 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2414 end Zero_Cost_Handling
;
2416 --------------------------
2417 -- Field Set Procedures --
2418 --------------------------
2420 procedure Set_ABE_Is_Certain
2421 (N
: Node_Id
; Val
: Boolean := True) is
2423 pragma Assert
(False
2424 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2425 or else NT
(N
).Nkind
= N_Function_Call
2426 or else NT
(N
).Nkind
= N_Function_Instantiation
2427 or else NT
(N
).Nkind
= N_Package_Instantiation
2428 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
2429 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
2430 Set_Flag18
(N
, Val
);
2431 end Set_ABE_Is_Certain
;
2433 procedure Set_Abort_Present
2434 (N
: Node_Id
; Val
: Boolean := True) is
2436 pragma Assert
(False
2437 or else NT
(N
).Nkind
= N_Requeue_Statement
);
2438 Set_Flag15
(N
, Val
);
2439 end Set_Abort_Present
;
2441 procedure Set_Abortable_Part
2442 (N
: Node_Id
; Val
: Node_Id
) is
2444 pragma Assert
(False
2445 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
2446 Set_Node2_With_Parent
(N
, Val
);
2447 end Set_Abortable_Part
;
2449 procedure Set_Abstract_Present
2450 (N
: Node_Id
; Val
: Boolean := True) is
2452 pragma Assert
(False
2453 or else NT
(N
).Nkind
= N_Derived_Type_Definition
2454 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
2455 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
2456 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2457 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2458 or else NT
(N
).Nkind
= N_Record_Definition
);
2460 end Set_Abstract_Present
;
2462 procedure Set_Accept_Handler_Records
2463 (N
: Node_Id
; Val
: List_Id
) is
2465 pragma Assert
(False
2466 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2467 Set_List5
(N
, Val
); -- semantic field, no parent set
2468 end Set_Accept_Handler_Records
;
2470 procedure Set_Accept_Statement
2471 (N
: Node_Id
; Val
: Node_Id
) is
2473 pragma Assert
(False
2474 or else NT
(N
).Nkind
= N_Accept_Alternative
);
2475 Set_Node2_With_Parent
(N
, Val
);
2476 end Set_Accept_Statement
;
2478 procedure Set_Access_Types_To_Process
2479 (N
: Node_Id
; Val
: Elist_Id
) is
2481 pragma Assert
(False
2482 or else NT
(N
).Nkind
= N_Freeze_Entity
);
2483 Set_Elist2
(N
, Val
); -- semantic field, no parent set
2484 end Set_Access_Types_To_Process
;
2486 procedure Set_Actions
2487 (N
: Node_Id
; Val
: List_Id
) is
2489 pragma Assert
(False
2490 or else NT
(N
).Nkind
= N_And_Then
2491 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2492 or else NT
(N
).Nkind
= N_Freeze_Entity
2493 or else NT
(N
).Nkind
= N_Or_Else
);
2494 Set_List1_With_Parent
(N
, Val
);
2497 procedure Set_Activation_Chain_Entity
2498 (N
: Node_Id
; Val
: Node_Id
) is
2500 pragma Assert
(False
2501 or else NT
(N
).Nkind
= N_Block_Statement
2502 or else NT
(N
).Nkind
= N_Entry_Body
2503 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2504 or else NT
(N
).Nkind
= N_Package_Declaration
2505 or else NT
(N
).Nkind
= N_Subprogram_Body
2506 or else NT
(N
).Nkind
= N_Task_Body
);
2507 Set_Node3
(N
, Val
); -- semantic field, no parent set
2508 end Set_Activation_Chain_Entity
;
2510 procedure Set_Acts_As_Spec
2511 (N
: Node_Id
; Val
: Boolean := True) is
2513 pragma Assert
(False
2514 or else NT
(N
).Nkind
= N_Compilation_Unit
2515 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2517 end Set_Acts_As_Spec
;
2519 procedure Set_Aggregate_Bounds
2520 (N
: Node_Id
; Val
: Node_Id
) is
2522 pragma Assert
(False
2523 or else NT
(N
).Nkind
= N_Aggregate
);
2524 Set_Node3
(N
, Val
); -- semantic field, no parent set
2525 end Set_Aggregate_Bounds
;
2527 procedure Set_Aliased_Present
2528 (N
: Node_Id
; Val
: Boolean := True) is
2530 pragma Assert
(False
2531 or else NT
(N
).Nkind
= N_Component_Declaration
2532 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
2533 or else NT
(N
).Nkind
= N_Object_Declaration
2534 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
2536 end Set_Aliased_Present
;
2538 procedure Set_All_Others
2539 (N
: Node_Id
; Val
: Boolean := True) is
2541 pragma Assert
(False
2542 or else NT
(N
).Nkind
= N_Others_Choice
);
2543 Set_Flag11
(N
, Val
);
2546 procedure Set_All_Present
2547 (N
: Node_Id
; Val
: Boolean := True) is
2549 pragma Assert
(False
2550 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
);
2551 Set_Flag15
(N
, Val
);
2552 end Set_All_Present
;
2554 procedure Set_Alternatives
2555 (N
: Node_Id
; Val
: List_Id
) is
2557 pragma Assert
(False
2558 or else NT
(N
).Nkind
= N_Case_Statement
);
2559 Set_List4_With_Parent
(N
, Val
);
2560 end Set_Alternatives
;
2562 procedure Set_Ancestor_Part
2563 (N
: Node_Id
; Val
: Node_Id
) is
2565 pragma Assert
(False
2566 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2567 Set_Node3_With_Parent
(N
, Val
);
2568 end Set_Ancestor_Part
;
2570 procedure Set_Array_Aggregate
2571 (N
: Node_Id
; Val
: Node_Id
) is
2573 pragma Assert
(False
2574 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
);
2575 Set_Node3_With_Parent
(N
, Val
);
2576 end Set_Array_Aggregate
;
2578 procedure Set_Assignment_OK
2579 (N
: Node_Id
; Val
: Boolean := True) is
2581 pragma Assert
(False
2582 or else NT
(N
).Nkind
= N_Object_Declaration
2583 or else NT
(N
).Nkind
in N_Subexpr
);
2584 Set_Flag15
(N
, Val
);
2585 end Set_Assignment_OK
;
2587 procedure Set_Associated_Node
2588 (N
: Node_Id
; Val
: Node_Id
) is
2590 pragma Assert
(False
2591 or else NT
(N
).Nkind
in N_Has_Entity
2592 or else NT
(N
).Nkind
= N_Aggregate
2593 or else NT
(N
).Nkind
= N_Extension_Aggregate
2594 or else NT
(N
).Nkind
= N_Selected_Component
);
2595 Set_Node4
(N
, Val
); -- semantic field, no parent set
2596 end Set_Associated_Node
;
2598 procedure Set_At_End_Proc
2599 (N
: Node_Id
; Val
: Node_Id
) is
2601 pragma Assert
(False
2602 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
2604 end Set_At_End_Proc
;
2606 procedure Set_Attribute_Name
2607 (N
: Node_Id
; Val
: Name_Id
) is
2609 pragma Assert
(False
2610 or else NT
(N
).Nkind
= N_Attribute_Reference
);
2612 end Set_Attribute_Name
;
2614 procedure Set_Aux_Decls_Node
2615 (N
: Node_Id
; Val
: Node_Id
) is
2617 pragma Assert
(False
2618 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2619 Set_Node5_With_Parent
(N
, Val
);
2620 end Set_Aux_Decls_Node
;
2622 procedure Set_Backwards_OK
2623 (N
: Node_Id
; Val
: Boolean := True) is
2625 pragma Assert
(False
2626 or else NT
(N
).Nkind
= N_Assignment_Statement
);
2628 end Set_Backwards_OK
;
2630 procedure Set_Bad_Is_Detected
2631 (N
: Node_Id
; Val
: Boolean := True) is
2633 pragma Assert
(False
2634 or else NT
(N
).Nkind
= N_Subprogram_Body
);
2635 Set_Flag15
(N
, Val
);
2636 end Set_Bad_Is_Detected
;
2638 procedure Set_Body_Required
2639 (N
: Node_Id
; Val
: Boolean := True) is
2641 pragma Assert
(False
2642 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2643 Set_Flag13
(N
, Val
);
2644 end Set_Body_Required
;
2646 procedure Set_Body_To_Inline
2647 (N
: Node_Id
; Val
: Node_Id
) is
2649 pragma Assert
(False
2650 or else NT
(N
).Nkind
= N_Subprogram_Declaration
);
2652 end Set_Body_To_Inline
;
2654 procedure Set_Box_Present
2655 (N
: Node_Id
; Val
: Boolean := True) is
2657 pragma Assert
(False
2658 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2659 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
);
2660 Set_Flag15
(N
, Val
);
2661 end Set_Box_Present
;
2663 procedure Set_By_Ref
2664 (N
: Node_Id
; Val
: Boolean := True) is
2666 pragma Assert
(False
2667 or else NT
(N
).Nkind
= N_Return_Statement
);
2671 procedure Set_Char_Literal_Value
2672 (N
: Node_Id
; Val
: Char_Code
) is
2674 pragma Assert
(False
2675 or else NT
(N
).Nkind
= N_Character_Literal
);
2676 Set_Char_Code2
(N
, Val
);
2677 end Set_Char_Literal_Value
;
2680 (N
: Node_Id
; Val
: Name_Id
) is
2682 pragma Assert
(False
2683 or else NT
(N
).Nkind
in N_Has_Chars
);
2687 procedure Set_Choice_Parameter
2688 (N
: Node_Id
; Val
: Node_Id
) is
2690 pragma Assert
(False
2691 or else NT
(N
).Nkind
= N_Exception_Handler
);
2692 Set_Node2_With_Parent
(N
, Val
);
2693 end Set_Choice_Parameter
;
2695 procedure Set_Choices
2696 (N
: Node_Id
; Val
: List_Id
) is
2698 pragma Assert
(False
2699 or else NT
(N
).Nkind
= N_Component_Association
);
2700 Set_List1_With_Parent
(N
, Val
);
2703 procedure Set_Compile_Time_Known_Aggregate
2704 (N
: Node_Id
; Val
: Boolean := True) is
2706 pragma Assert
(False
2707 or else NT
(N
).Nkind
= N_Aggregate
);
2708 Set_Flag18
(N
, Val
);
2709 end Set_Compile_Time_Known_Aggregate
;
2711 procedure Set_Component_Associations
2712 (N
: Node_Id
; Val
: List_Id
) is
2714 pragma Assert
(False
2715 or else NT
(N
).Nkind
= N_Aggregate
2716 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
2717 Set_List2_With_Parent
(N
, Val
);
2718 end Set_Component_Associations
;
2720 procedure Set_Component_Clauses
2721 (N
: Node_Id
; Val
: List_Id
) is
2723 pragma Assert
(False
2724 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
2725 Set_List3_With_Parent
(N
, Val
);
2726 end Set_Component_Clauses
;
2728 procedure Set_Component_Items
2729 (N
: Node_Id
; Val
: List_Id
) is
2731 pragma Assert
(False
2732 or else NT
(N
).Nkind
= N_Component_List
);
2733 Set_List3_With_Parent
(N
, Val
);
2734 end Set_Component_Items
;
2736 procedure Set_Component_List
2737 (N
: Node_Id
; Val
: Node_Id
) is
2739 pragma Assert
(False
2740 or else NT
(N
).Nkind
= N_Record_Definition
2741 or else NT
(N
).Nkind
= N_Variant
);
2742 Set_Node1_With_Parent
(N
, Val
);
2743 end Set_Component_List
;
2745 procedure Set_Component_Name
2746 (N
: Node_Id
; Val
: Node_Id
) is
2748 pragma Assert
(False
2749 or else NT
(N
).Nkind
= N_Component_Clause
);
2750 Set_Node1_With_Parent
(N
, Val
);
2751 end Set_Component_Name
;
2753 procedure Set_Condition
2754 (N
: Node_Id
; Val
: Node_Id
) is
2756 pragma Assert
(False
2757 or else NT
(N
).Nkind
= N_Accept_Alternative
2758 or else NT
(N
).Nkind
= N_Delay_Alternative
2759 or else NT
(N
).Nkind
= N_Elsif_Part
2760 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
2761 or else NT
(N
).Nkind
= N_Exit_Statement
2762 or else NT
(N
).Nkind
= N_If_Statement
2763 or else NT
(N
).Nkind
= N_Iteration_Scheme
2764 or else NT
(N
).Nkind
= N_Raise_Constraint_Error
2765 or else NT
(N
).Nkind
= N_Raise_Program_Error
2766 or else NT
(N
).Nkind
= N_Raise_Storage_Error
2767 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
2768 Set_Node1_With_Parent
(N
, Val
);
2771 procedure Set_Condition_Actions
2772 (N
: Node_Id
; Val
: List_Id
) is
2774 pragma Assert
(False
2775 or else NT
(N
).Nkind
= N_Elsif_Part
2776 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
2777 Set_List3
(N
, Val
); -- semantic field, no parent set
2778 end Set_Condition_Actions
;
2780 procedure Set_Constant_Present
2781 (N
: Node_Id
; Val
: Boolean := True) is
2783 pragma Assert
(False
2784 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
2785 or else NT
(N
).Nkind
= N_Object_Declaration
);
2786 Set_Flag17
(N
, Val
);
2787 end Set_Constant_Present
;
2789 procedure Set_Constraint
2790 (N
: Node_Id
; Val
: Node_Id
) is
2792 pragma Assert
(False
2793 or else NT
(N
).Nkind
= N_Subtype_Indication
);
2794 Set_Node3_With_Parent
(N
, Val
);
2797 procedure Set_Constraints
2798 (N
: Node_Id
; Val
: List_Id
) is
2800 pragma Assert
(False
2801 or else NT
(N
).Nkind
= N_Index_Or_Discriminant_Constraint
);
2802 Set_List1_With_Parent
(N
, Val
);
2803 end Set_Constraints
;
2805 procedure Set_Context_Installed
2806 (N
: Node_Id
; Val
: Boolean := True) is
2808 pragma Assert
(False
2809 or else NT
(N
).Nkind
= N_With_Clause
);
2810 Set_Flag13
(N
, Val
);
2811 end Set_Context_Installed
;
2813 procedure Set_Context_Items
2814 (N
: Node_Id
; Val
: List_Id
) is
2816 pragma Assert
(False
2817 or else NT
(N
).Nkind
= N_Compilation_Unit
);
2818 Set_List1_With_Parent
(N
, Val
);
2819 end Set_Context_Items
;
2821 procedure Set_Controlling_Argument
2822 (N
: Node_Id
; Val
: Node_Id
) is
2824 pragma Assert
(False
2825 or else NT
(N
).Nkind
= N_Function_Call
2826 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
2827 Set_Node1
(N
, Val
); -- semantic field, no parent set
2828 end Set_Controlling_Argument
;
2830 procedure Set_Conversion_OK
2831 (N
: Node_Id
; Val
: Boolean := True) is
2833 pragma Assert
(False
2834 or else NT
(N
).Nkind
= N_Type_Conversion
);
2835 Set_Flag14
(N
, Val
);
2836 end Set_Conversion_OK
;
2838 procedure Set_Corresponding_Body
2839 (N
: Node_Id
; Val
: Node_Id
) is
2841 pragma Assert
(False
2842 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
2843 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
2844 or else NT
(N
).Nkind
= N_Package_Body_Stub
2845 or else NT
(N
).Nkind
= N_Package_Declaration
2846 or else NT
(N
).Nkind
= N_Protected_Body_Stub
2847 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
2848 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
2849 or else NT
(N
).Nkind
= N_Subprogram_Declaration
2850 or else NT
(N
).Nkind
= N_Task_Body_Stub
2851 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2852 Set_Node5
(N
, Val
); -- semantic field, no parent set
2853 end Set_Corresponding_Body
;
2855 procedure Set_Corresponding_Generic_Association
2856 (N
: Node_Id
; Val
: Node_Id
) is
2858 pragma Assert
(False
2859 or else NT
(N
).Nkind
= N_Object_Declaration
2860 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
);
2861 Set_Node5
(N
, Val
); -- semantic field, no parent set
2862 end Set_Corresponding_Generic_Association
;
2863 procedure Set_Corresponding_Integer_Value
2864 (N
: Node_Id
; Val
: Uint
) is
2866 pragma Assert
(False
2867 or else NT
(N
).Nkind
= N_Real_Literal
);
2868 Set_Uint4
(N
, Val
); -- semantic field, no parent set
2869 end Set_Corresponding_Integer_Value
;
2871 procedure Set_Corresponding_Spec
2872 (N
: Node_Id
; Val
: Node_Id
) is
2874 pragma Assert
(False
2875 or else NT
(N
).Nkind
= N_Package_Body
2876 or else NT
(N
).Nkind
= N_Protected_Body
2877 or else NT
(N
).Nkind
= N_Subprogram_Body
2878 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
2879 or else NT
(N
).Nkind
= N_Task_Body
2880 or else NT
(N
).Nkind
= N_With_Clause
);
2881 Set_Node5
(N
, Val
); -- semantic field, no parent set
2882 end Set_Corresponding_Spec
;
2884 procedure Set_Corresponding_Stub
2885 (N
: Node_Id
; Val
: Node_Id
) is
2887 pragma Assert
(False
2888 or else NT
(N
).Nkind
= N_Subunit
);
2890 end Set_Corresponding_Stub
;
2892 procedure Set_Dcheck_Function
2893 (N
: Node_Id
; Val
: Entity_Id
) is
2895 pragma Assert
(False
2896 or else NT
(N
).Nkind
= N_Variant
);
2897 Set_Node5
(N
, Val
); -- semantic field, no parent set
2898 end Set_Dcheck_Function
;
2900 procedure Set_Debug_Statement
2901 (N
: Node_Id
; Val
: Node_Id
) is
2903 pragma Assert
(False
2904 or else NT
(N
).Nkind
= N_Pragma
);
2905 Set_Node3_With_Parent
(N
, Val
);
2906 end Set_Debug_Statement
;
2908 procedure Set_Declarations
2909 (N
: Node_Id
; Val
: List_Id
) is
2911 pragma Assert
(False
2912 or else NT
(N
).Nkind
= N_Accept_Statement
2913 or else NT
(N
).Nkind
= N_Block_Statement
2914 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
2915 or else NT
(N
).Nkind
= N_Entry_Body
2916 or else NT
(N
).Nkind
= N_Package_Body
2917 or else NT
(N
).Nkind
= N_Protected_Body
2918 or else NT
(N
).Nkind
= N_Subprogram_Body
2919 or else NT
(N
).Nkind
= N_Task_Body
);
2920 Set_List2_With_Parent
(N
, Val
);
2921 end Set_Declarations
;
2923 procedure Set_Default_Expression
2924 (N
: Node_Id
; Val
: Node_Id
) is
2926 pragma Assert
(False
2927 or else NT
(N
).Nkind
= N_Parameter_Specification
);
2928 Set_Node5
(N
, Val
); -- semantic field, no parent set
2929 end Set_Default_Expression
;
2931 procedure Set_Default_Name
2932 (N
: Node_Id
; Val
: Node_Id
) is
2934 pragma Assert
(False
2935 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
);
2936 Set_Node2_With_Parent
(N
, Val
);
2937 end Set_Default_Name
;
2939 procedure Set_Defining_Identifier
2940 (N
: Node_Id
; Val
: Entity_Id
) is
2942 pragma Assert
(False
2943 or else NT
(N
).Nkind
= N_Component_Declaration
2944 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
2945 or else NT
(N
).Nkind
= N_Discriminant_Specification
2946 or else NT
(N
).Nkind
= N_Entry_Body
2947 or else NT
(N
).Nkind
= N_Entry_Declaration
2948 or else NT
(N
).Nkind
= N_Entry_Index_Specification
2949 or else NT
(N
).Nkind
= N_Exception_Declaration
2950 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
2951 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
2952 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
2953 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
2954 or else NT
(N
).Nkind
= N_Full_Type_Declaration
2955 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
2956 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
2957 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
2958 or else NT
(N
).Nkind
= N_Number_Declaration
2959 or else NT
(N
).Nkind
= N_Object_Declaration
2960 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
2961 or else NT
(N
).Nkind
= N_Package_Body_Stub
2962 or else NT
(N
).Nkind
= N_Parameter_Specification
2963 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
2964 or else NT
(N
).Nkind
= N_Private_Type_Declaration
2965 or else NT
(N
).Nkind
= N_Protected_Body
2966 or else NT
(N
).Nkind
= N_Protected_Body_Stub
2967 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
2968 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
2969 or else NT
(N
).Nkind
= N_Single_Task_Declaration
2970 or else NT
(N
).Nkind
= N_Subtype_Declaration
2971 or else NT
(N
).Nkind
= N_Task_Body
2972 or else NT
(N
).Nkind
= N_Task_Body_Stub
2973 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
2974 Set_Node1_With_Parent
(N
, Val
);
2975 end Set_Defining_Identifier
;
2977 procedure Set_Defining_Unit_Name
2978 (N
: Node_Id
; Val
: Node_Id
) is
2980 pragma Assert
(False
2981 or else NT
(N
).Nkind
= N_Function_Instantiation
2982 or else NT
(N
).Nkind
= N_Function_Specification
2983 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
2984 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
2985 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
2986 or else NT
(N
).Nkind
= N_Package_Body
2987 or else NT
(N
).Nkind
= N_Package_Instantiation
2988 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
2989 or else NT
(N
).Nkind
= N_Package_Specification
2990 or else NT
(N
).Nkind
= N_Procedure_Instantiation
2991 or else NT
(N
).Nkind
= N_Procedure_Specification
);
2992 Set_Node1_With_Parent
(N
, Val
);
2993 end Set_Defining_Unit_Name
;
2995 procedure Set_Delay_Alternative
2996 (N
: Node_Id
; Val
: Node_Id
) is
2998 pragma Assert
(False
2999 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3000 Set_Node4_With_Parent
(N
, Val
);
3001 end Set_Delay_Alternative
;
3003 procedure Set_Delay_Finalize_Attach
3004 (N
: Node_Id
; Val
: Boolean := True) is
3006 pragma Assert
(False
3007 or else NT
(N
).Nkind
= N_Object_Declaration
);
3008 Set_Flag14
(N
, Val
);
3009 end Set_Delay_Finalize_Attach
;
3011 procedure Set_Delay_Statement
3012 (N
: Node_Id
; Val
: Node_Id
) is
3014 pragma Assert
(False
3015 or else NT
(N
).Nkind
= N_Delay_Alternative
);
3016 Set_Node2_With_Parent
(N
, Val
);
3017 end Set_Delay_Statement
;
3019 procedure Set_Delta_Expression
3020 (N
: Node_Id
; Val
: Node_Id
) is
3022 pragma Assert
(False
3023 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3024 or else NT
(N
).Nkind
= N_Delta_Constraint
3025 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
3026 Set_Node3_With_Parent
(N
, Val
);
3027 end Set_Delta_Expression
;
3029 procedure Set_Digits_Expression
3030 (N
: Node_Id
; Val
: Node_Id
) is
3032 pragma Assert
(False
3033 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
3034 or else NT
(N
).Nkind
= N_Digits_Constraint
3035 or else NT
(N
).Nkind
= N_Floating_Point_Definition
);
3036 Set_Node2_With_Parent
(N
, Val
);
3037 end Set_Digits_Expression
;
3039 procedure Set_Discr_Check_Funcs_Built
3040 (N
: Node_Id
; Val
: Boolean := True) is
3042 pragma Assert
(False
3043 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
3044 Set_Flag11
(N
, Val
);
3045 end Set_Discr_Check_Funcs_Built
;
3047 procedure Set_Discrete_Choices
3048 (N
: Node_Id
; Val
: List_Id
) is
3050 pragma Assert
(False
3051 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
3052 or else NT
(N
).Nkind
= N_Variant
);
3053 Set_List4_With_Parent
(N
, Val
);
3054 end Set_Discrete_Choices
;
3056 procedure Set_Discrete_Range
3057 (N
: Node_Id
; Val
: Node_Id
) is
3059 pragma Assert
(False
3060 or else NT
(N
).Nkind
= N_Slice
);
3061 Set_Node4_With_Parent
(N
, Val
);
3062 end Set_Discrete_Range
;
3064 procedure Set_Discrete_Subtype_Definition
3065 (N
: Node_Id
; Val
: Node_Id
) is
3067 pragma Assert
(False
3068 or else NT
(N
).Nkind
= N_Entry_Declaration
3069 or else NT
(N
).Nkind
= N_Entry_Index_Specification
3070 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
3071 Set_Node4_With_Parent
(N
, Val
);
3072 end Set_Discrete_Subtype_Definition
;
3074 procedure Set_Discrete_Subtype_Definitions
3075 (N
: Node_Id
; Val
: List_Id
) is
3077 pragma Assert
(False
3078 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
);
3079 Set_List2_With_Parent
(N
, Val
);
3080 end Set_Discrete_Subtype_Definitions
;
3082 procedure Set_Discriminant_Specifications
3083 (N
: Node_Id
; Val
: List_Id
) is
3085 pragma Assert
(False
3086 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
3087 or else NT
(N
).Nkind
= N_Full_Type_Declaration
3088 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
3089 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
3090 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3091 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
3092 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
3093 Set_List4_With_Parent
(N
, Val
);
3094 end Set_Discriminant_Specifications
;
3096 procedure Set_Discriminant_Type
3097 (N
: Node_Id
; Val
: Node_Id
) is
3099 pragma Assert
(False
3100 or else NT
(N
).Nkind
= N_Discriminant_Specification
);
3101 Set_Node5_With_Parent
(N
, Val
);
3102 end Set_Discriminant_Type
;
3104 procedure Set_Do_Access_Check
3105 (N
: Node_Id
; Val
: Boolean := True) is
3107 pragma Assert
(False
3108 or else NT
(N
).Nkind
= N_Attribute_Reference
3109 or else NT
(N
).Nkind
= N_Explicit_Dereference
3110 or else NT
(N
).Nkind
= N_Indexed_Component
3111 or else NT
(N
).Nkind
= N_Selected_Component
3112 or else NT
(N
).Nkind
= N_Slice
);
3113 Set_Flag11
(N
, Val
);
3114 end Set_Do_Access_Check
;
3116 procedure Set_Do_Accessibility_Check
3117 (N
: Node_Id
; Val
: Boolean := True) is
3119 pragma Assert
(False
3120 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3121 Set_Flag13
(N
, Val
);
3122 end Set_Do_Accessibility_Check
;
3124 procedure Set_Do_Discriminant_Check
3125 (N
: Node_Id
; Val
: Boolean := True) is
3127 pragma Assert
(False
3128 or else NT
(N
).Nkind
= N_Selected_Component
);
3129 Set_Flag13
(N
, Val
);
3130 end Set_Do_Discriminant_Check
;
3132 procedure Set_Do_Division_Check
3133 (N
: Node_Id
; Val
: Boolean := True) is
3135 pragma Assert
(False
3136 or else NT
(N
).Nkind
= N_Op_Divide
3137 or else NT
(N
).Nkind
= N_Op_Mod
3138 or else NT
(N
).Nkind
= N_Op_Rem
);
3139 Set_Flag13
(N
, Val
);
3140 end Set_Do_Division_Check
;
3142 procedure Set_Do_Length_Check
3143 (N
: Node_Id
; Val
: Boolean := True) is
3145 pragma Assert
(False
3146 or else NT
(N
).Nkind
= N_Assignment_Statement
3147 or else NT
(N
).Nkind
= N_Op_And
3148 or else NT
(N
).Nkind
= N_Op_Or
3149 or else NT
(N
).Nkind
= N_Op_Xor
3150 or else NT
(N
).Nkind
= N_Type_Conversion
);
3152 end Set_Do_Length_Check
;
3154 procedure Set_Do_Overflow_Check
3155 (N
: Node_Id
; Val
: Boolean := True) is
3157 pragma Assert
(False
3158 or else NT
(N
).Nkind
in N_Op
3159 or else NT
(N
).Nkind
= N_Attribute_Reference
3160 or else NT
(N
).Nkind
= N_Type_Conversion
);
3161 Set_Flag17
(N
, Val
);
3162 end Set_Do_Overflow_Check
;
3164 procedure Set_Do_Range_Check
3165 (N
: Node_Id
; Val
: Boolean := True) is
3167 pragma Assert
(False
3168 or else NT
(N
).Nkind
in N_Subexpr
);
3170 end Set_Do_Range_Check
;
3172 procedure Set_Do_Storage_Check
3173 (N
: Node_Id
; Val
: Boolean := True) is
3175 pragma Assert
(False
3176 or else NT
(N
).Nkind
= N_Allocator
3177 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3178 Set_Flag17
(N
, Val
);
3179 end Set_Do_Storage_Check
;
3181 procedure Set_Do_Tag_Check
3182 (N
: Node_Id
; Val
: Boolean := True) is
3184 pragma Assert
(False
3185 or else NT
(N
).Nkind
= N_Assignment_Statement
3186 or else NT
(N
).Nkind
= N_Function_Call
3187 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
3188 or else NT
(N
).Nkind
= N_Return_Statement
3189 or else NT
(N
).Nkind
= N_Type_Conversion
);
3190 Set_Flag13
(N
, Val
);
3191 end Set_Do_Tag_Check
;
3193 procedure Set_Elaborate_All_Present
3194 (N
: Node_Id
; Val
: Boolean := True) is
3196 pragma Assert
(False
3197 or else NT
(N
).Nkind
= N_With_Clause
);
3198 Set_Flag15
(N
, Val
);
3199 end Set_Elaborate_All_Present
;
3201 procedure Set_Elaborate_Present
3202 (N
: Node_Id
; Val
: Boolean := True) is
3204 pragma Assert
(False
3205 or else NT
(N
).Nkind
= N_With_Clause
);
3207 end Set_Elaborate_Present
;
3209 procedure Set_Elaboration_Boolean
3210 (N
: Node_Id
; Val
: Node_Id
) is
3212 pragma Assert
(False
3213 or else NT
(N
).Nkind
= N_Function_Specification
3214 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3216 end Set_Elaboration_Boolean
;
3218 procedure Set_Else_Actions
3219 (N
: Node_Id
; Val
: List_Id
) is
3221 pragma Assert
(False
3222 or else NT
(N
).Nkind
= N_Conditional_Expression
);
3223 Set_List3
(N
, Val
); -- semantic field, no parent set
3224 end Set_Else_Actions
;
3226 procedure Set_Else_Statements
3227 (N
: Node_Id
; Val
: List_Id
) is
3229 pragma Assert
(False
3230 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3231 or else NT
(N
).Nkind
= N_If_Statement
3232 or else NT
(N
).Nkind
= N_Selective_Accept
);
3233 Set_List4_With_Parent
(N
, Val
);
3234 end Set_Else_Statements
;
3236 procedure Set_Elsif_Parts
3237 (N
: Node_Id
; Val
: List_Id
) is
3239 pragma Assert
(False
3240 or else NT
(N
).Nkind
= N_If_Statement
);
3241 Set_List3_With_Parent
(N
, Val
);
3242 end Set_Elsif_Parts
;
3244 procedure Set_Enclosing_Variant
3245 (N
: Node_Id
; Val
: Node_Id
) is
3247 pragma Assert
(False
3248 or else NT
(N
).Nkind
= N_Variant
);
3249 Set_Node2
(N
, Val
); -- semantic field, no parent set
3250 end Set_Enclosing_Variant
;
3252 procedure Set_End_Label
3253 (N
: Node_Id
; Val
: Node_Id
) is
3255 pragma Assert
(False
3256 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
3257 or else NT
(N
).Nkind
= N_Loop_Statement
3258 or else NT
(N
).Nkind
= N_Package_Specification
3259 or else NT
(N
).Nkind
= N_Protected_Body
3260 or else NT
(N
).Nkind
= N_Protected_Definition
3261 or else NT
(N
).Nkind
= N_Record_Definition
3262 or else NT
(N
).Nkind
= N_Task_Definition
);
3263 Set_Node4_With_Parent
(N
, Val
);
3266 procedure Set_End_Span
3267 (N
: Node_Id
; Val
: Uint
) is
3269 pragma Assert
(False
3270 or else NT
(N
).Nkind
= N_Case_Statement
3271 or else NT
(N
).Nkind
= N_If_Statement
);
3275 procedure Set_Entity
3276 (N
: Node_Id
; Val
: Node_Id
) is
3278 pragma Assert
(False
3279 or else NT
(N
).Nkind
in N_Has_Entity
3280 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3281 Set_Node4
(N
, Val
); -- semantic field, no parent set
3284 procedure Set_Entry_Body_Formal_Part
3285 (N
: Node_Id
; Val
: Node_Id
) is
3287 pragma Assert
(False
3288 or else NT
(N
).Nkind
= N_Entry_Body
);
3289 Set_Node5_With_Parent
(N
, Val
);
3290 end Set_Entry_Body_Formal_Part
;
3292 procedure Set_Entry_Call_Alternative
3293 (N
: Node_Id
; Val
: Node_Id
) is
3295 pragma Assert
(False
3296 or else NT
(N
).Nkind
= N_Conditional_Entry_Call
3297 or else NT
(N
).Nkind
= N_Timed_Entry_Call
);
3298 Set_Node1_With_Parent
(N
, Val
);
3299 end Set_Entry_Call_Alternative
;
3301 procedure Set_Entry_Call_Statement
3302 (N
: Node_Id
; Val
: Node_Id
) is
3304 pragma Assert
(False
3305 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
);
3306 Set_Node1_With_Parent
(N
, Val
);
3307 end Set_Entry_Call_Statement
;
3309 procedure Set_Entry_Direct_Name
3310 (N
: Node_Id
; Val
: Node_Id
) is
3312 pragma Assert
(False
3313 or else NT
(N
).Nkind
= N_Accept_Statement
);
3314 Set_Node1_With_Parent
(N
, Val
);
3315 end Set_Entry_Direct_Name
;
3317 procedure Set_Entry_Index
3318 (N
: Node_Id
; Val
: Node_Id
) is
3320 pragma Assert
(False
3321 or else NT
(N
).Nkind
= N_Accept_Statement
);
3322 Set_Node5_With_Parent
(N
, Val
);
3323 end Set_Entry_Index
;
3325 procedure Set_Entry_Index_Specification
3326 (N
: Node_Id
; Val
: Node_Id
) is
3328 pragma Assert
(False
3329 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
);
3330 Set_Node4_With_Parent
(N
, Val
);
3331 end Set_Entry_Index_Specification
;
3334 (N
: Node_Id
; Val
: Node_Id
) is
3336 pragma Assert
(False
3337 or else NT
(N
).Nkind
in N_Has_Etype
);
3338 Set_Node5
(N
, Val
); -- semantic field, no parent set
3341 procedure Set_Exception_Choices
3342 (N
: Node_Id
; Val
: List_Id
) is
3344 pragma Assert
(False
3345 or else NT
(N
).Nkind
= N_Exception_Handler
);
3346 Set_List4_With_Parent
(N
, Val
);
3347 end Set_Exception_Choices
;
3349 procedure Set_Exception_Handlers
3350 (N
: Node_Id
; Val
: List_Id
) is
3352 pragma Assert
(False
3353 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3354 Set_List5_With_Parent
(N
, Val
);
3355 end Set_Exception_Handlers
;
3357 procedure Set_Exception_Junk
3358 (N
: Node_Id
; Val
: Boolean := True) is
3360 pragma Assert
(False
3361 or else NT
(N
).Nkind
= N_Goto_Statement
3362 or else NT
(N
).Nkind
= N_Label
3363 or else NT
(N
).Nkind
= N_Object_Declaration
3364 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3365 Set_Flag11
(N
, Val
);
3366 end Set_Exception_Junk
;
3368 procedure Set_Expansion_Delayed
3369 (N
: Node_Id
; Val
: Boolean := True) is
3371 pragma Assert
(False
3372 or else NT
(N
).Nkind
= N_Aggregate
3373 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
3374 Set_Flag11
(N
, Val
);
3375 end Set_Expansion_Delayed
;
3377 procedure Set_Explicit_Actual_Parameter
3378 (N
: Node_Id
; Val
: Node_Id
) is
3380 pragma Assert
(False
3381 or else NT
(N
).Nkind
= N_Parameter_Association
);
3382 Set_Node3_With_Parent
(N
, Val
);
3383 end Set_Explicit_Actual_Parameter
;
3385 procedure Set_Explicit_Generic_Actual_Parameter
3386 (N
: Node_Id
; Val
: Node_Id
) is
3388 pragma Assert
(False
3389 or else NT
(N
).Nkind
= N_Generic_Association
);
3390 Set_Node1_With_Parent
(N
, Val
);
3391 end Set_Explicit_Generic_Actual_Parameter
;
3393 procedure Set_Expression
3394 (N
: Node_Id
; Val
: Node_Id
) is
3396 pragma Assert
(False
3397 or else NT
(N
).Nkind
= N_Allocator
3398 or else NT
(N
).Nkind
= N_Assignment_Statement
3399 or else NT
(N
).Nkind
= N_At_Clause
3400 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
3401 or else NT
(N
).Nkind
= N_Case_Statement
3402 or else NT
(N
).Nkind
= N_Code_Statement
3403 or else NT
(N
).Nkind
= N_Component_Association
3404 or else NT
(N
).Nkind
= N_Component_Declaration
3405 or else NT
(N
).Nkind
= N_Delay_Relative_Statement
3406 or else NT
(N
).Nkind
= N_Delay_Until_Statement
3407 or else NT
(N
).Nkind
= N_Discriminant_Association
3408 or else NT
(N
).Nkind
= N_Discriminant_Specification
3409 or else NT
(N
).Nkind
= N_Exception_Declaration
3410 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3411 or else NT
(N
).Nkind
= N_Free_Statement
3412 or else NT
(N
).Nkind
= N_Mod_Clause
3413 or else NT
(N
).Nkind
= N_Modular_Type_Definition
3414 or else NT
(N
).Nkind
= N_Number_Declaration
3415 or else NT
(N
).Nkind
= N_Object_Declaration
3416 or else NT
(N
).Nkind
= N_Parameter_Specification
3417 or else NT
(N
).Nkind
= N_Pragma_Argument_Association
3418 or else NT
(N
).Nkind
= N_Qualified_Expression
3419 or else NT
(N
).Nkind
= N_Return_Statement
3420 or else NT
(N
).Nkind
= N_Type_Conversion
3421 or else NT
(N
).Nkind
= N_Unchecked_Expression
3422 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
3423 Set_Node3_With_Parent
(N
, Val
);
3426 procedure Set_Expressions
3427 (N
: Node_Id
; Val
: List_Id
) is
3429 pragma Assert
(False
3430 or else NT
(N
).Nkind
= N_Aggregate
3431 or else NT
(N
).Nkind
= N_Attribute_Reference
3432 or else NT
(N
).Nkind
= N_Conditional_Expression
3433 or else NT
(N
).Nkind
= N_Extension_Aggregate
3434 or else NT
(N
).Nkind
= N_Indexed_Component
);
3435 Set_List1_With_Parent
(N
, Val
);
3436 end Set_Expressions
;
3438 procedure Set_First_Bit
3439 (N
: Node_Id
; Val
: Node_Id
) is
3441 pragma Assert
(False
3442 or else NT
(N
).Nkind
= N_Component_Clause
);
3443 Set_Node3_With_Parent
(N
, Val
);
3446 procedure Set_First_Inlined_Subprogram
3447 (N
: Node_Id
; Val
: Entity_Id
) is
3449 pragma Assert
(False
3450 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3451 Set_Node3
(N
, Val
); -- semantic field, no parent set
3452 end Set_First_Inlined_Subprogram
;
3454 procedure Set_First_Name
3455 (N
: Node_Id
; Val
: Boolean := True) is
3457 pragma Assert
(False
3458 or else NT
(N
).Nkind
= N_With_Clause
);
3462 procedure Set_First_Named_Actual
3463 (N
: Node_Id
; Val
: Node_Id
) is
3465 pragma Assert
(False
3466 or else NT
(N
).Nkind
= N_Entry_Call_Statement
3467 or else NT
(N
).Nkind
= N_Function_Call
3468 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
3469 Set_Node4
(N
, Val
); -- semantic field, no parent set
3470 end Set_First_Named_Actual
;
3472 procedure Set_First_Real_Statement
3473 (N
: Node_Id
; Val
: Node_Id
) is
3475 pragma Assert
(False
3476 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
3477 Set_Node2
(N
, Val
); -- semantic field, no parent set
3478 end Set_First_Real_Statement
;
3480 procedure Set_First_Subtype_Link
3481 (N
: Node_Id
; Val
: Entity_Id
) is
3483 pragma Assert
(False
3484 or else NT
(N
).Nkind
= N_Freeze_Entity
);
3485 Set_Node5
(N
, Val
); -- semantic field, no parent set
3486 end Set_First_Subtype_Link
;
3488 procedure Set_Float_Truncate
3489 (N
: Node_Id
; Val
: Boolean := True) is
3491 pragma Assert
(False
3492 or else NT
(N
).Nkind
= N_Type_Conversion
);
3493 Set_Flag11
(N
, Val
);
3494 end Set_Float_Truncate
;
3496 procedure Set_Formal_Type_Definition
3497 (N
: Node_Id
; Val
: Node_Id
) is
3499 pragma Assert
(False
3500 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
);
3501 Set_Node3_With_Parent
(N
, Val
);
3502 end Set_Formal_Type_Definition
;
3504 procedure Set_Forwards_OK
3505 (N
: Node_Id
; Val
: Boolean := True) is
3507 pragma Assert
(False
3508 or else NT
(N
).Nkind
= N_Assignment_Statement
);
3510 end Set_Forwards_OK
;
3512 procedure Set_From_At_Mod
3513 (N
: Node_Id
; Val
: Boolean := True) is
3515 pragma Assert
(False
3516 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
);
3518 end Set_From_At_Mod
;
3520 procedure Set_Generic_Associations
3521 (N
: Node_Id
; Val
: List_Id
) is
3523 pragma Assert
(False
3524 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3525 or else NT
(N
).Nkind
= N_Function_Instantiation
3526 or else NT
(N
).Nkind
= N_Package_Instantiation
3527 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
3528 Set_List3_With_Parent
(N
, Val
);
3529 end Set_Generic_Associations
;
3531 procedure Set_Generic_Formal_Declarations
3532 (N
: Node_Id
; Val
: List_Id
) is
3534 pragma Assert
(False
3535 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
3536 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
);
3537 Set_List2_With_Parent
(N
, Val
);
3538 end Set_Generic_Formal_Declarations
;
3540 procedure Set_Generic_Parent
3541 (N
: Node_Id
; Val
: Node_Id
) is
3543 pragma Assert
(False
3544 or else NT
(N
).Nkind
= N_Function_Specification
3545 or else NT
(N
).Nkind
= N_Package_Specification
3546 or else NT
(N
).Nkind
= N_Procedure_Specification
);
3548 end Set_Generic_Parent
;
3550 procedure Set_Generic_Parent_Type
3551 (N
: Node_Id
; Val
: Node_Id
) is
3553 pragma Assert
(False
3554 or else NT
(N
).Nkind
= N_Subtype_Declaration
);
3556 end Set_Generic_Parent_Type
;
3558 procedure Set_Handled_Statement_Sequence
3559 (N
: Node_Id
; Val
: Node_Id
) is
3561 pragma Assert
(False
3562 or else NT
(N
).Nkind
= N_Accept_Statement
3563 or else NT
(N
).Nkind
= N_Block_Statement
3564 or else NT
(N
).Nkind
= N_Entry_Body
3565 or else NT
(N
).Nkind
= N_Package_Body
3566 or else NT
(N
).Nkind
= N_Subprogram_Body
3567 or else NT
(N
).Nkind
= N_Task_Body
);
3568 Set_Node4_With_Parent
(N
, Val
);
3569 end Set_Handled_Statement_Sequence
;
3571 procedure Set_Handler_List_Entry
3572 (N
: Node_Id
; Val
: Node_Id
) is
3574 pragma Assert
(False
3575 or else NT
(N
).Nkind
= N_Object_Declaration
);
3577 end Set_Handler_List_Entry
;
3579 procedure Set_Has_Created_Identifier
3580 (N
: Node_Id
; Val
: Boolean := True) is
3582 pragma Assert
(False
3583 or else NT
(N
).Nkind
= N_Block_Statement
3584 or else NT
(N
).Nkind
= N_Loop_Statement
);
3585 Set_Flag15
(N
, Val
);
3586 end Set_Has_Created_Identifier
;
3588 procedure Set_Has_Dynamic_Length_Check
3589 (N
: Node_Id
; Val
: Boolean := True) is
3591 Set_Flag10
(N
, Val
);
3592 end Set_Has_Dynamic_Length_Check
;
3594 procedure Set_Has_Dynamic_Range_Check
3595 (N
: Node_Id
; Val
: Boolean := True) is
3597 Set_Flag12
(N
, Val
);
3598 end Set_Has_Dynamic_Range_Check
;
3600 procedure Set_Has_No_Elaboration_Code
3601 (N
: Node_Id
; Val
: Boolean := True) is
3603 pragma Assert
(False
3604 or else NT
(N
).Nkind
= N_Compilation_Unit
);
3605 Set_Flag17
(N
, Val
);
3606 end Set_Has_No_Elaboration_Code
;
3608 procedure Set_Has_Priority_Pragma
3609 (N
: Node_Id
; Val
: Boolean := True) is
3611 pragma Assert
(False
3612 or else NT
(N
).Nkind
= N_Protected_Definition
3613 or else NT
(N
).Nkind
= N_Subprogram_Body
3614 or else NT
(N
).Nkind
= N_Task_Definition
);
3616 end Set_Has_Priority_Pragma
;
3618 procedure Set_Has_Private_View
3619 (N
: Node_Id
; Val
: Boolean := True) is
3621 pragma Assert
(False
3622 or else NT
(N
).Nkind
in N_Op
3623 or else NT
(N
).Nkind
= N_Character_Literal
3624 or else NT
(N
).Nkind
= N_Expanded_Name
3625 or else NT
(N
).Nkind
= N_Identifier
3626 or else NT
(N
).Nkind
= N_Operator_Symbol
);
3627 Set_Flag11
(N
, Val
);
3628 end Set_Has_Private_View
;
3630 procedure Set_Has_Storage_Size_Pragma
3631 (N
: Node_Id
; Val
: Boolean := True) is
3633 pragma Assert
(False
3634 or else NT
(N
).Nkind
= N_Task_Definition
);
3636 end Set_Has_Storage_Size_Pragma
;
3638 procedure Set_Has_Task_Info_Pragma
3639 (N
: Node_Id
; Val
: Boolean := True) is
3641 pragma Assert
(False
3642 or else NT
(N
).Nkind
= N_Task_Definition
);
3644 end Set_Has_Task_Info_Pragma
;
3646 procedure Set_Has_Task_Name_Pragma
3647 (N
: Node_Id
; Val
: Boolean := True) is
3649 pragma Assert
(False
3650 or else NT
(N
).Nkind
= N_Task_Definition
);
3652 end Set_Has_Task_Name_Pragma
;
3654 procedure Set_Has_Wide_Character
3655 (N
: Node_Id
; Val
: Boolean := True) is
3657 pragma Assert
(False
3658 or else NT
(N
).Nkind
= N_String_Literal
);
3659 Set_Flag11
(N
, Val
);
3660 end Set_Has_Wide_Character
;
3662 procedure Set_Hidden_By_Use_Clause
3663 (N
: Node_Id
; Val
: Elist_Id
) is
3665 pragma Assert
(False
3666 or else NT
(N
).Nkind
= N_Use_Package_Clause
3667 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
3668 Set_Elist4
(N
, Val
);
3669 end Set_Hidden_By_Use_Clause
;
3671 procedure Set_High_Bound
3672 (N
: Node_Id
; Val
: Node_Id
) is
3674 pragma Assert
(False
3675 or else NT
(N
).Nkind
= N_Range
3676 or else NT
(N
).Nkind
= N_Real_Range_Specification
3677 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
3678 Set_Node2_With_Parent
(N
, Val
);
3681 procedure Set_Identifier
3682 (N
: Node_Id
; Val
: Node_Id
) is
3684 pragma Assert
(False
3685 or else NT
(N
).Nkind
= N_At_Clause
3686 or else NT
(N
).Nkind
= N_Block_Statement
3687 or else NT
(N
).Nkind
= N_Designator
3688 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
3689 or else NT
(N
).Nkind
= N_Label
3690 or else NT
(N
).Nkind
= N_Loop_Statement
3691 or else NT
(N
).Nkind
= N_Record_Representation_Clause
3692 or else NT
(N
).Nkind
= N_Subprogram_Info
);
3693 Set_Node1_With_Parent
(N
, Val
);
3696 procedure Set_Implicit_With
3697 (N
: Node_Id
; Val
: Boolean := True) is
3699 pragma Assert
(False
3700 or else NT
(N
).Nkind
= N_With_Clause
);
3701 Set_Flag17
(N
, Val
);
3702 end Set_Implicit_With
;
3704 procedure Set_In_Present
3705 (N
: Node_Id
; Val
: Boolean := True) is
3707 pragma Assert
(False
3708 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3709 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3710 Set_Flag15
(N
, Val
);
3713 procedure Set_Includes_Infinities
3714 (N
: Node_Id
; Val
: Boolean := True) is
3716 pragma Assert
(False
3717 or else NT
(N
).Nkind
= N_Range
);
3718 Set_Flag11
(N
, Val
);
3719 end Set_Includes_Infinities
;
3721 procedure Set_Instance_Spec
3722 (N
: Node_Id
; Val
: Node_Id
) is
3724 pragma Assert
(False
3725 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3726 or else NT
(N
).Nkind
= N_Function_Instantiation
3727 or else NT
(N
).Nkind
= N_Package_Instantiation
3728 or else NT
(N
).Nkind
= N_Procedure_Instantiation
);
3729 Set_Node5
(N
, Val
); -- semantic field, no Parent set
3730 end Set_Instance_Spec
;
3732 procedure Set_Intval
3733 (N
: Node_Id
; Val
: Uint
) is
3735 pragma Assert
(False
3736 or else NT
(N
).Nkind
= N_Integer_Literal
);
3740 procedure Set_Is_Asynchronous_Call_Block
3741 (N
: Node_Id
; Val
: Boolean := True) is
3743 pragma Assert
(False
3744 or else NT
(N
).Nkind
= N_Block_Statement
);
3746 end Set_Is_Asynchronous_Call_Block
;
3748 procedure Set_Is_Component_Left_Opnd
3749 (N
: Node_Id
; Val
: Boolean := True) is
3751 pragma Assert
(False
3752 or else NT
(N
).Nkind
= N_Op_Concat
);
3753 Set_Flag13
(N
, Val
);
3754 end Set_Is_Component_Left_Opnd
;
3756 procedure Set_Is_Component_Right_Opnd
3757 (N
: Node_Id
; Val
: Boolean := True) is
3759 pragma Assert
(False
3760 or else NT
(N
).Nkind
= N_Op_Concat
);
3761 Set_Flag14
(N
, Val
);
3762 end Set_Is_Component_Right_Opnd
;
3764 procedure Set_Is_Controlling_Actual
3765 (N
: Node_Id
; Val
: Boolean := True) is
3767 pragma Assert
(False
3768 or else NT
(N
).Nkind
in N_Subexpr
);
3769 Set_Flag16
(N
, Val
);
3770 end Set_Is_Controlling_Actual
;
3772 procedure Set_Is_Machine_Number
3773 (N
: Node_Id
; Val
: Boolean := True) is
3775 pragma Assert
(False
3776 or else NT
(N
).Nkind
= N_Real_Literal
);
3777 Set_Flag11
(N
, Val
);
3778 end Set_Is_Machine_Number
;
3780 procedure Set_Is_Overloaded
3781 (N
: Node_Id
; Val
: Boolean := True) is
3783 pragma Assert
(False
3784 or else NT
(N
).Nkind
in N_Subexpr
);
3786 end Set_Is_Overloaded
;
3788 procedure Set_Is_Power_Of_2_For_Shift
3789 (N
: Node_Id
; Val
: Boolean := True) is
3791 pragma Assert
(False
3792 or else NT
(N
).Nkind
= N_Op_Expon
);
3793 Set_Flag13
(N
, Val
);
3794 end Set_Is_Power_Of_2_For_Shift
;
3796 procedure Set_Is_Protected_Subprogram_Body
3797 (N
: Node_Id
; Val
: Boolean := True) is
3799 pragma Assert
(False
3800 or else NT
(N
).Nkind
= N_Subprogram_Body
);
3802 end Set_Is_Protected_Subprogram_Body
;
3804 procedure Set_Is_Static_Expression
3805 (N
: Node_Id
; Val
: Boolean := True) is
3807 pragma Assert
(False
3808 or else NT
(N
).Nkind
in N_Subexpr
);
3810 end Set_Is_Static_Expression
;
3812 procedure Set_Is_Subprogram_Descriptor
3813 (N
: Node_Id
; Val
: Boolean := True) is
3815 pragma Assert
(False
3816 or else NT
(N
).Nkind
= N_Object_Declaration
);
3817 Set_Flag16
(N
, Val
);
3818 end Set_Is_Subprogram_Descriptor
;
3820 procedure Set_Is_Task_Allocation_Block
3821 (N
: Node_Id
; Val
: Boolean := True) is
3823 pragma Assert
(False
3824 or else NT
(N
).Nkind
= N_Block_Statement
);
3826 end Set_Is_Task_Allocation_Block
;
3828 procedure Set_Is_Task_Master
3829 (N
: Node_Id
; Val
: Boolean := True) is
3831 pragma Assert
(False
3832 or else NT
(N
).Nkind
= N_Block_Statement
3833 or else NT
(N
).Nkind
= N_Subprogram_Body
3834 or else NT
(N
).Nkind
= N_Task_Body
);
3836 end Set_Is_Task_Master
;
3838 procedure Set_Iteration_Scheme
3839 (N
: Node_Id
; Val
: Node_Id
) is
3841 pragma Assert
(False
3842 or else NT
(N
).Nkind
= N_Loop_Statement
);
3843 Set_Node2_With_Parent
(N
, Val
);
3844 end Set_Iteration_Scheme
;
3847 (N
: Node_Id
; Val
: Entity_Id
) is
3849 pragma Assert
(False
3850 or else NT
(N
).Nkind
= N_Itype_Reference
);
3851 Set_Node1
(N
, Val
); -- no parent, semantic field
3854 procedure Set_Kill_Range_Check
3855 (N
: Node_Id
; Val
: Boolean := True) is
3857 pragma Assert
(False
3858 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
3859 Set_Flag11
(N
, Val
);
3860 end Set_Kill_Range_Check
;
3862 procedure Set_Label_Construct
3863 (N
: Node_Id
; Val
: Node_Id
) is
3865 pragma Assert
(False
3866 or else NT
(N
).Nkind
= N_Implicit_Label_Declaration
);
3867 Set_Node2
(N
, Val
); -- semantic field, no parent set
3868 end Set_Label_Construct
;
3870 procedure Set_Last_Bit
3871 (N
: Node_Id
; Val
: Node_Id
) is
3873 pragma Assert
(False
3874 or else NT
(N
).Nkind
= N_Component_Clause
);
3875 Set_Node4_With_Parent
(N
, Val
);
3878 procedure Set_Last_Name
3879 (N
: Node_Id
; Val
: Boolean := True) is
3881 pragma Assert
(False
3882 or else NT
(N
).Nkind
= N_With_Clause
);
3886 procedure Set_Left_Opnd
3887 (N
: Node_Id
; Val
: Node_Id
) is
3889 pragma Assert
(False
3890 or else NT
(N
).Nkind
= N_And_Then
3891 or else NT
(N
).Nkind
= N_In
3892 or else NT
(N
).Nkind
= N_Not_In
3893 or else NT
(N
).Nkind
= N_Or_Else
3894 or else NT
(N
).Nkind
in N_Binary_Op
);
3895 Set_Node2_With_Parent
(N
, Val
);
3898 procedure Set_Library_Unit
3899 (N
: Node_Id
; Val
: Node_Id
) is
3901 pragma Assert
(False
3902 or else NT
(N
).Nkind
= N_Compilation_Unit
3903 or else NT
(N
).Nkind
= N_Package_Body_Stub
3904 or else NT
(N
).Nkind
= N_Protected_Body_Stub
3905 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
3906 or else NT
(N
).Nkind
= N_Task_Body_Stub
3907 or else NT
(N
).Nkind
= N_With_Clause
);
3908 Set_Node4
(N
, Val
); -- semantic field, no parent set
3909 end Set_Library_Unit
;
3911 procedure Set_Limited_Present
3912 (N
: Node_Id
; Val
: Boolean := True) is
3914 pragma Assert
(False
3915 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
3916 or else NT
(N
).Nkind
= N_Private_Type_Declaration
3917 or else NT
(N
).Nkind
= N_Record_Definition
);
3918 Set_Flag17
(N
, Val
);
3919 end Set_Limited_Present
;
3921 procedure Set_Literals
3922 (N
: Node_Id
; Val
: List_Id
) is
3924 pragma Assert
(False
3925 or else NT
(N
).Nkind
= N_Enumeration_Type_Definition
);
3926 Set_List1_With_Parent
(N
, Val
);
3929 procedure Set_Loop_Actions
3930 (N
: Node_Id
; Val
: List_Id
) is
3932 pragma Assert
(False
3933 or else NT
(N
).Nkind
= N_Component_Association
);
3934 Set_List2
(N
, Val
); -- semantic field, no parent set
3935 end Set_Loop_Actions
;
3937 procedure Set_Loop_Parameter_Specification
3938 (N
: Node_Id
; Val
: Node_Id
) is
3940 pragma Assert
(False
3941 or else NT
(N
).Nkind
= N_Iteration_Scheme
);
3942 Set_Node4_With_Parent
(N
, Val
);
3943 end Set_Loop_Parameter_Specification
;
3945 procedure Set_Low_Bound
3946 (N
: Node_Id
; Val
: Node_Id
) is
3948 pragma Assert
(False
3949 or else NT
(N
).Nkind
= N_Range
3950 or else NT
(N
).Nkind
= N_Real_Range_Specification
3951 or else NT
(N
).Nkind
= N_Signed_Integer_Type_Definition
);
3952 Set_Node1_With_Parent
(N
, Val
);
3955 procedure Set_Mod_Clause
3956 (N
: Node_Id
; Val
: Node_Id
) is
3958 pragma Assert
(False
3959 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
3960 Set_Node2_With_Parent
(N
, Val
);
3963 procedure Set_More_Ids
3964 (N
: Node_Id
; Val
: Boolean := True) is
3966 pragma Assert
(False
3967 or else NT
(N
).Nkind
= N_Component_Declaration
3968 or else NT
(N
).Nkind
= N_Discriminant_Specification
3969 or else NT
(N
).Nkind
= N_Exception_Declaration
3970 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
3971 or else NT
(N
).Nkind
= N_Number_Declaration
3972 or else NT
(N
).Nkind
= N_Object_Declaration
3973 or else NT
(N
).Nkind
= N_Parameter_Specification
);
3977 procedure Set_Must_Not_Freeze
3978 (N
: Node_Id
; Val
: Boolean := True) is
3980 pragma Assert
(False
3981 or else NT
(N
).Nkind
= N_Subtype_Indication
3982 or else NT
(N
).Nkind
in N_Subexpr
);
3984 end Set_Must_Not_Freeze
;
3987 (N
: Node_Id
; Val
: Node_Id
) is
3989 pragma Assert
(False
3990 or else NT
(N
).Nkind
= N_Assignment_Statement
3991 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
3992 or else NT
(N
).Nkind
= N_Defining_Program_Unit_Name
3993 or else NT
(N
).Nkind
= N_Designator
3994 or else NT
(N
).Nkind
= N_Entry_Call_Statement
3995 or else NT
(N
).Nkind
= N_Exception_Renaming_Declaration
3996 or else NT
(N
).Nkind
= N_Exit_Statement
3997 or else NT
(N
).Nkind
= N_Formal_Package_Declaration
3998 or else NT
(N
).Nkind
= N_Function_Call
3999 or else NT
(N
).Nkind
= N_Function_Instantiation
4000 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4001 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4002 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4003 or else NT
(N
).Nkind
= N_Goto_Statement
4004 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4005 or else NT
(N
).Nkind
= N_Package_Instantiation
4006 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4007 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
4008 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4009 or else NT
(N
).Nkind
= N_Raise_Statement
4010 or else NT
(N
).Nkind
= N_Requeue_Statement
4011 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
4012 or else NT
(N
).Nkind
= N_Subunit
4013 or else NT
(N
).Nkind
= N_Variant_Part
4014 or else NT
(N
).Nkind
= N_With_Clause
4015 or else NT
(N
).Nkind
= N_With_Type_Clause
);
4016 Set_Node2_With_Parent
(N
, Val
);
4020 (N
: Node_Id
; Val
: List_Id
) is
4022 pragma Assert
(False
4023 or else NT
(N
).Nkind
= N_Abort_Statement
4024 or else NT
(N
).Nkind
= N_Use_Package_Clause
);
4025 Set_List2_With_Parent
(N
, Val
);
4028 procedure Set_Next_Entity
4029 (N
: Node_Id
; Val
: Node_Id
) is
4031 pragma Assert
(False
4032 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4033 or else NT
(N
).Nkind
= N_Defining_Identifier
4034 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4035 Set_Node2
(N
, Val
); -- semantic field, no parent set
4036 end Set_Next_Entity
;
4038 procedure Set_Next_Named_Actual
4039 (N
: Node_Id
; Val
: Node_Id
) is
4041 pragma Assert
(False
4042 or else NT
(N
).Nkind
= N_Parameter_Association
);
4043 Set_Node4
(N
, Val
); -- semantic field, no parent set
4044 end Set_Next_Named_Actual
;
4046 procedure Set_Next_Rep_Item
4047 (N
: Node_Id
; Val
: Node_Id
) is
4049 pragma Assert
(False
4050 or else NT
(N
).Nkind
= N_Attribute_Definition_Clause
4051 or else NT
(N
).Nkind
= N_Enumeration_Representation_Clause
4052 or else NT
(N
).Nkind
= N_Pragma
4053 or else NT
(N
).Nkind
= N_Record_Representation_Clause
);
4054 Set_Node4
(N
, Val
); -- semantic field, no parent set
4055 end Set_Next_Rep_Item
;
4057 procedure Set_Next_Use_Clause
4058 (N
: Node_Id
; Val
: Node_Id
) is
4060 pragma Assert
(False
4061 or else NT
(N
).Nkind
= N_Use_Package_Clause
4062 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4063 Set_Node3
(N
, Val
); -- semantic field, no parent set
4064 end Set_Next_Use_Clause
;
4066 procedure Set_No_Ctrl_Actions
4067 (N
: Node_Id
; Val
: Boolean := True) is
4069 pragma Assert
(False
4070 or else NT
(N
).Nkind
= N_Assignment_Statement
);
4072 end Set_No_Ctrl_Actions
;
4074 procedure Set_No_Entities_Ref_In_Spec
4075 (N
: Node_Id
; Val
: Boolean := True) is
4077 pragma Assert
(False
4078 or else NT
(N
).Nkind
= N_With_Clause
);
4080 end Set_No_Entities_Ref_In_Spec
;
4082 procedure Set_No_Initialization
4083 (N
: Node_Id
; Val
: Boolean := True) is
4085 pragma Assert
(False
4086 or else NT
(N
).Nkind
= N_Allocator
4087 or else NT
(N
).Nkind
= N_Object_Declaration
);
4088 Set_Flag13
(N
, Val
);
4089 end Set_No_Initialization
;
4091 procedure Set_Null_Present
4092 (N
: Node_Id
; Val
: Boolean := True) is
4094 pragma Assert
(False
4095 or else NT
(N
).Nkind
= N_Component_List
4096 or else NT
(N
).Nkind
= N_Record_Definition
);
4097 Set_Flag13
(N
, Val
);
4098 end Set_Null_Present
;
4100 procedure Set_Null_Record_Present
4101 (N
: Node_Id
; Val
: Boolean := True) is
4103 pragma Assert
(False
4104 or else NT
(N
).Nkind
= N_Aggregate
4105 or else NT
(N
).Nkind
= N_Extension_Aggregate
);
4106 Set_Flag17
(N
, Val
);
4107 end Set_Null_Record_Present
;
4109 procedure Set_Object_Definition
4110 (N
: Node_Id
; Val
: Node_Id
) is
4112 pragma Assert
(False
4113 or else NT
(N
).Nkind
= N_Object_Declaration
);
4114 Set_Node4_With_Parent
(N
, Val
);
4115 end Set_Object_Definition
;
4117 procedure Set_OK_For_Stream
4118 (N
: Node_Id
; Val
: Boolean := True) is
4120 pragma Assert
(False
4121 or else NT
(N
).Nkind
= N_Attribute_Reference
);
4123 end Set_OK_For_Stream
;
4125 procedure Set_Original_Discriminant
4126 (N
: Node_Id
; Val
: Node_Id
) is
4128 pragma Assert
(False
4129 or else NT
(N
).Nkind
= N_Identifier
);
4130 Set_Node2
(N
, Val
); -- semantic field, no parent set
4131 end Set_Original_Discriminant
;
4133 procedure Set_Others_Discrete_Choices
4134 (N
: Node_Id
; Val
: List_Id
) is
4136 pragma Assert
(False
4137 or else NT
(N
).Nkind
= N_Others_Choice
);
4138 Set_List1_With_Parent
(N
, Val
);
4139 end Set_Others_Discrete_Choices
;
4141 procedure Set_Out_Present
4142 (N
: Node_Id
; Val
: Boolean := True) is
4144 pragma Assert
(False
4145 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4146 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4147 Set_Flag17
(N
, Val
);
4148 end Set_Out_Present
;
4150 procedure Set_Parameter_Associations
4151 (N
: Node_Id
; Val
: List_Id
) is
4153 pragma Assert
(False
4154 or else NT
(N
).Nkind
= N_Entry_Call_Statement
4155 or else NT
(N
).Nkind
= N_Function_Call
4156 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4157 Set_List3_With_Parent
(N
, Val
);
4158 end Set_Parameter_Associations
;
4160 procedure Set_Parameter_List_Truncated
4161 (N
: Node_Id
; Val
: Boolean := True) is
4163 pragma Assert
(False
4164 or else NT
(N
).Nkind
= N_Function_Call
4165 or else NT
(N
).Nkind
= N_Procedure_Call_Statement
);
4166 Set_Flag17
(N
, Val
);
4167 end Set_Parameter_List_Truncated
;
4169 procedure Set_Parameter_Specifications
4170 (N
: Node_Id
; Val
: List_Id
) is
4172 pragma Assert
(False
4173 or else NT
(N
).Nkind
= N_Accept_Statement
4174 or else NT
(N
).Nkind
= N_Access_Function_Definition
4175 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
4176 or else NT
(N
).Nkind
= N_Entry_Body_Formal_Part
4177 or else NT
(N
).Nkind
= N_Entry_Declaration
4178 or else NT
(N
).Nkind
= N_Function_Specification
4179 or else NT
(N
).Nkind
= N_Procedure_Specification
);
4180 Set_List3_With_Parent
(N
, Val
);
4181 end Set_Parameter_Specifications
;
4183 procedure Set_Parameter_Type
4184 (N
: Node_Id
; Val
: Node_Id
) is
4186 pragma Assert
(False
4187 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4188 Set_Node2_With_Parent
(N
, Val
);
4189 end Set_Parameter_Type
;
4191 procedure Set_Parent_Spec
4192 (N
: Node_Id
; Val
: Node_Id
) is
4194 pragma Assert
(False
4195 or else NT
(N
).Nkind
= N_Function_Instantiation
4196 or else NT
(N
).Nkind
= N_Generic_Function_Renaming_Declaration
4197 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4198 or else NT
(N
).Nkind
= N_Generic_Package_Renaming_Declaration
4199 or else NT
(N
).Nkind
= N_Generic_Procedure_Renaming_Declaration
4200 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4201 or else NT
(N
).Nkind
= N_Package_Declaration
4202 or else NT
(N
).Nkind
= N_Package_Instantiation
4203 or else NT
(N
).Nkind
= N_Package_Renaming_Declaration
4204 or else NT
(N
).Nkind
= N_Procedure_Instantiation
4205 or else NT
(N
).Nkind
= N_Subprogram_Declaration
4206 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4207 Set_Node4
(N
, Val
); -- semantic field, no parent set
4208 end Set_Parent_Spec
;
4210 procedure Set_Position
4211 (N
: Node_Id
; Val
: Node_Id
) is
4213 pragma Assert
(False
4214 or else NT
(N
).Nkind
= N_Component_Clause
);
4215 Set_Node2_With_Parent
(N
, Val
);
4218 procedure Set_Pragma_Argument_Associations
4219 (N
: Node_Id
; Val
: List_Id
) is
4221 pragma Assert
(False
4222 or else NT
(N
).Nkind
= N_Pragma
);
4223 Set_List2_With_Parent
(N
, Val
);
4224 end Set_Pragma_Argument_Associations
;
4226 procedure Set_Pragmas_After
4227 (N
: Node_Id
; Val
: List_Id
) is
4229 pragma Assert
(False
4230 or else NT
(N
).Nkind
= N_Compilation_Unit_Aux
4231 or else NT
(N
).Nkind
= N_Terminate_Alternative
);
4232 Set_List5_With_Parent
(N
, Val
);
4233 end Set_Pragmas_After
;
4235 procedure Set_Pragmas_Before
4236 (N
: Node_Id
; Val
: List_Id
) is
4238 pragma Assert
(False
4239 or else NT
(N
).Nkind
= N_Accept_Alternative
4240 or else NT
(N
).Nkind
= N_Delay_Alternative
4241 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
4242 or else NT
(N
).Nkind
= N_Mod_Clause
4243 or else NT
(N
).Nkind
= N_Terminate_Alternative
4244 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4245 Set_List4_With_Parent
(N
, Val
);
4246 end Set_Pragmas_Before
;
4248 procedure Set_Prefix
4249 (N
: Node_Id
; Val
: Node_Id
) is
4251 pragma Assert
(False
4252 or else NT
(N
).Nkind
= N_Attribute_Reference
4253 or else NT
(N
).Nkind
= N_Expanded_Name
4254 or else NT
(N
).Nkind
= N_Explicit_Dereference
4255 or else NT
(N
).Nkind
= N_Indexed_Component
4256 or else NT
(N
).Nkind
= N_Reference
4257 or else NT
(N
).Nkind
= N_Selected_Component
4258 or else NT
(N
).Nkind
= N_Slice
);
4259 Set_Node3_With_Parent
(N
, Val
);
4262 procedure Set_Present_Expr
4263 (N
: Node_Id
; Val
: Uint
) is
4265 pragma Assert
(False
4266 or else NT
(N
).Nkind
= N_Variant
);
4268 end Set_Present_Expr
;
4270 procedure Set_Prev_Ids
4271 (N
: Node_Id
; Val
: Boolean := True) is
4273 pragma Assert
(False
4274 or else NT
(N
).Nkind
= N_Component_Declaration
4275 or else NT
(N
).Nkind
= N_Discriminant_Specification
4276 or else NT
(N
).Nkind
= N_Exception_Declaration
4277 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4278 or else NT
(N
).Nkind
= N_Number_Declaration
4279 or else NT
(N
).Nkind
= N_Object_Declaration
4280 or else NT
(N
).Nkind
= N_Parameter_Specification
);
4284 procedure Set_Print_In_Hex
4285 (N
: Node_Id
; Val
: Boolean := True) is
4287 pragma Assert
(False
4288 or else NT
(N
).Nkind
= N_Integer_Literal
);
4289 Set_Flag13
(N
, Val
);
4290 end Set_Print_In_Hex
;
4292 procedure Set_Private_Declarations
4293 (N
: Node_Id
; Val
: List_Id
) is
4295 pragma Assert
(False
4296 or else NT
(N
).Nkind
= N_Package_Specification
4297 or else NT
(N
).Nkind
= N_Protected_Definition
4298 or else NT
(N
).Nkind
= N_Task_Definition
);
4299 Set_List3_With_Parent
(N
, Val
);
4300 end Set_Private_Declarations
;
4302 procedure Set_Private_Present
4303 (N
: Node_Id
; Val
: Boolean := True) is
4305 pragma Assert
(False
4306 or else NT
(N
).Nkind
= N_Compilation_Unit
4307 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
);
4308 Set_Flag15
(N
, Val
);
4309 end Set_Private_Present
;
4311 procedure Set_Procedure_To_Call
4312 (N
: Node_Id
; Val
: Node_Id
) is
4314 pragma Assert
(False
4315 or else NT
(N
).Nkind
= N_Allocator
4316 or else NT
(N
).Nkind
= N_Free_Statement
4317 or else NT
(N
).Nkind
= N_Return_Statement
);
4318 Set_Node4
(N
, Val
); -- semantic field, no parent set
4319 end Set_Procedure_To_Call
;
4321 procedure Set_Proper_Body
4322 (N
: Node_Id
; Val
: Node_Id
) is
4324 pragma Assert
(False
4325 or else NT
(N
).Nkind
= N_Subunit
);
4326 Set_Node1_With_Parent
(N
, Val
);
4327 end Set_Proper_Body
;
4329 procedure Set_Protected_Definition
4330 (N
: Node_Id
; Val
: Node_Id
) is
4332 pragma Assert
(False
4333 or else NT
(N
).Nkind
= N_Protected_Type_Declaration
4334 or else NT
(N
).Nkind
= N_Single_Protected_Declaration
);
4335 Set_Node3_With_Parent
(N
, Val
);
4336 end Set_Protected_Definition
;
4338 procedure Set_Protected_Present
4339 (N
: Node_Id
; Val
: Boolean := True) is
4341 pragma Assert
(False
4342 or else NT
(N
).Nkind
= N_Access_Function_Definition
4343 or else NT
(N
).Nkind
= N_Access_Procedure_Definition
);
4344 Set_Flag15
(N
, Val
);
4345 end Set_Protected_Present
;
4347 procedure Set_Raises_Constraint_Error
4348 (N
: Node_Id
; Val
: Boolean := True) is
4350 pragma Assert
(False
4351 or else NT
(N
).Nkind
in N_Subexpr
);
4353 end Set_Raises_Constraint_Error
;
4355 procedure Set_Range_Constraint
4356 (N
: Node_Id
; Val
: Node_Id
) is
4358 pragma Assert
(False
4359 or else NT
(N
).Nkind
= N_Delta_Constraint
4360 or else NT
(N
).Nkind
= N_Digits_Constraint
);
4361 Set_Node4_With_Parent
(N
, Val
);
4362 end Set_Range_Constraint
;
4364 procedure Set_Range_Expression
4365 (N
: Node_Id
; Val
: Node_Id
) is
4367 pragma Assert
(False
4368 or else NT
(N
).Nkind
= N_Range_Constraint
);
4369 Set_Node4_With_Parent
(N
, Val
);
4370 end Set_Range_Expression
;
4372 procedure Set_Real_Range_Specification
4373 (N
: Node_Id
; Val
: Node_Id
) is
4375 pragma Assert
(False
4376 or else NT
(N
).Nkind
= N_Decimal_Fixed_Point_Definition
4377 or else NT
(N
).Nkind
= N_Floating_Point_Definition
4378 or else NT
(N
).Nkind
= N_Ordinary_Fixed_Point_Definition
);
4379 Set_Node4_With_Parent
(N
, Val
);
4380 end Set_Real_Range_Specification
;
4382 procedure Set_Realval
4383 (N
: Node_Id
; Val
: Ureal
) is
4385 pragma Assert
(False
4386 or else NT
(N
).Nkind
= N_Real_Literal
);
4387 Set_Ureal3
(N
, Val
);
4390 procedure Set_Record_Extension_Part
4391 (N
: Node_Id
; Val
: Node_Id
) is
4393 pragma Assert
(False
4394 or else NT
(N
).Nkind
= N_Derived_Type_Definition
);
4395 Set_Node3_With_Parent
(N
, Val
);
4396 end Set_Record_Extension_Part
;
4398 procedure Set_Redundant_Use
4399 (N
: Node_Id
; Val
: Boolean := True) is
4401 pragma Assert
(False
4402 or else NT
(N
).Nkind
= N_Attribute_Reference
4403 or else NT
(N
).Nkind
= N_Expanded_Name
4404 or else NT
(N
).Nkind
= N_Identifier
);
4405 Set_Flag13
(N
, Val
);
4406 end Set_Redundant_Use
;
4408 procedure Set_Return_Type
4409 (N
: Node_Id
; Val
: Node_Id
) is
4411 pragma Assert
(False
4412 or else NT
(N
).Nkind
= N_Return_Statement
);
4413 Set_Node2
(N
, Val
); -- semantic field, no parent set
4414 end Set_Return_Type
;
4416 procedure Set_Reverse_Present
4417 (N
: Node_Id
; Val
: Boolean := True) is
4419 pragma Assert
(False
4420 or else NT
(N
).Nkind
= N_Loop_Parameter_Specification
);
4421 Set_Flag15
(N
, Val
);
4422 end Set_Reverse_Present
;
4424 procedure Set_Right_Opnd
4425 (N
: Node_Id
; Val
: Node_Id
) is
4427 pragma Assert
(False
4428 or else NT
(N
).Nkind
in N_Op
4429 or else NT
(N
).Nkind
= N_And_Then
4430 or else NT
(N
).Nkind
= N_In
4431 or else NT
(N
).Nkind
= N_Not_In
4432 or else NT
(N
).Nkind
= N_Or_Else
);
4433 Set_Node3_With_Parent
(N
, Val
);
4436 procedure Set_Rounded_Result
4437 (N
: Node_Id
; Val
: Boolean := True) is
4439 pragma Assert
(False
4440 or else NT
(N
).Nkind
= N_Op_Divide
4441 or else NT
(N
).Nkind
= N_Op_Multiply
4442 or else NT
(N
).Nkind
= N_Type_Conversion
);
4443 Set_Flag18
(N
, Val
);
4444 end Set_Rounded_Result
;
4447 (N
: Node_Id
; Val
: Node_Id
) is
4449 pragma Assert
(False
4450 or else NT
(N
).Nkind
= N_Defining_Character_Literal
4451 or else NT
(N
).Nkind
= N_Defining_Identifier
4452 or else NT
(N
).Nkind
= N_Defining_Operator_Symbol
);
4453 Set_Node3
(N
, Val
); -- semantic field, no parent set
4456 procedure Set_Select_Alternatives
4457 (N
: Node_Id
; Val
: List_Id
) is
4459 pragma Assert
(False
4460 or else NT
(N
).Nkind
= N_Selective_Accept
);
4461 Set_List1_With_Parent
(N
, Val
);
4462 end Set_Select_Alternatives
;
4464 procedure Set_Selector_Name
4465 (N
: Node_Id
; Val
: Node_Id
) is
4467 pragma Assert
(False
4468 or else NT
(N
).Nkind
= N_Expanded_Name
4469 or else NT
(N
).Nkind
= N_Generic_Association
4470 or else NT
(N
).Nkind
= N_Parameter_Association
4471 or else NT
(N
).Nkind
= N_Selected_Component
);
4472 Set_Node2_With_Parent
(N
, Val
);
4473 end Set_Selector_Name
;
4475 procedure Set_Selector_Names
4476 (N
: Node_Id
; Val
: List_Id
) is
4478 pragma Assert
(False
4479 or else NT
(N
).Nkind
= N_Discriminant_Association
);
4480 Set_List1_With_Parent
(N
, Val
);
4481 end Set_Selector_Names
;
4483 procedure Set_Shift_Count_OK
4484 (N
: Node_Id
; Val
: Boolean := True) is
4486 pragma Assert
(False
4487 or else NT
(N
).Nkind
= N_Op_Rotate_Left
4488 or else NT
(N
).Nkind
= N_Op_Rotate_Right
4489 or else NT
(N
).Nkind
= N_Op_Shift_Left
4490 or else NT
(N
).Nkind
= N_Op_Shift_Right
4491 or else NT
(N
).Nkind
= N_Op_Shift_Right_Arithmetic
);
4493 end Set_Shift_Count_OK
;
4495 procedure Set_Source_Type
4496 (N
: Node_Id
; Val
: Entity_Id
) is
4498 pragma Assert
(False
4499 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
4500 Set_Node1
(N
, Val
); -- semantic field, no parent set
4501 end Set_Source_Type
;
4503 procedure Set_Specification
4504 (N
: Node_Id
; Val
: Node_Id
) is
4506 pragma Assert
(False
4507 or else NT
(N
).Nkind
= N_Abstract_Subprogram_Declaration
4508 or else NT
(N
).Nkind
= N_Formal_Subprogram_Declaration
4509 or else NT
(N
).Nkind
= N_Generic_Package_Declaration
4510 or else NT
(N
).Nkind
= N_Generic_Subprogram_Declaration
4511 or else NT
(N
).Nkind
= N_Package_Declaration
4512 or else NT
(N
).Nkind
= N_Subprogram_Body
4513 or else NT
(N
).Nkind
= N_Subprogram_Body_Stub
4514 or else NT
(N
).Nkind
= N_Subprogram_Declaration
4515 or else NT
(N
).Nkind
= N_Subprogram_Renaming_Declaration
);
4516 Set_Node1_With_Parent
(N
, Val
);
4517 end Set_Specification
;
4519 procedure Set_Statements
4520 (N
: Node_Id
; Val
: List_Id
) is
4522 pragma Assert
(False
4523 or else NT
(N
).Nkind
= N_Abortable_Part
4524 or else NT
(N
).Nkind
= N_Accept_Alternative
4525 or else NT
(N
).Nkind
= N_Case_Statement_Alternative
4526 or else NT
(N
).Nkind
= N_Delay_Alternative
4527 or else NT
(N
).Nkind
= N_Entry_Call_Alternative
4528 or else NT
(N
).Nkind
= N_Exception_Handler
4529 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
4530 or else NT
(N
).Nkind
= N_Loop_Statement
4531 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4532 Set_List3_With_Parent
(N
, Val
);
4535 procedure Set_Static_Processing_OK
4536 (N
: Node_Id
; Val
: Boolean) is
4538 pragma Assert
(False
4539 or else NT
(N
).Nkind
= N_Aggregate
);
4541 end Set_Static_Processing_OK
;
4543 procedure Set_Storage_Pool
4544 (N
: Node_Id
; Val
: Node_Id
) is
4546 pragma Assert
(False
4547 or else NT
(N
).Nkind
= N_Allocator
4548 or else NT
(N
).Nkind
= N_Free_Statement
4549 or else NT
(N
).Nkind
= N_Return_Statement
);
4550 Set_Node1
(N
, Val
); -- semantic field, no parent set
4551 end Set_Storage_Pool
;
4553 procedure Set_Strval
4554 (N
: Node_Id
; Val
: String_Id
) is
4556 pragma Assert
(False
4557 or else NT
(N
).Nkind
= N_Operator_Symbol
4558 or else NT
(N
).Nkind
= N_String_Literal
);
4562 procedure Set_Subtype_Indication
4563 (N
: Node_Id
; Val
: Node_Id
) is
4565 pragma Assert
(False
4566 or else NT
(N
).Nkind
= N_Access_To_Object_Definition
4567 or else NT
(N
).Nkind
= N_Component_Declaration
4568 or else NT
(N
).Nkind
= N_Constrained_Array_Definition
4569 or else NT
(N
).Nkind
= N_Derived_Type_Definition
4570 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4571 or else NT
(N
).Nkind
= N_Subtype_Declaration
4572 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
);
4573 Set_Node5_With_Parent
(N
, Val
);
4574 end Set_Subtype_Indication
;
4576 procedure Set_Subtype_Mark
4577 (N
: Node_Id
; Val
: Node_Id
) is
4579 pragma Assert
(False
4580 or else NT
(N
).Nkind
= N_Access_Definition
4581 or else NT
(N
).Nkind
= N_Access_Function_Definition
4582 or else NT
(N
).Nkind
= N_Formal_Derived_Type_Definition
4583 or else NT
(N
).Nkind
= N_Formal_Object_Declaration
4584 or else NT
(N
).Nkind
= N_Function_Specification
4585 or else NT
(N
).Nkind
= N_Object_Renaming_Declaration
4586 or else NT
(N
).Nkind
= N_Qualified_Expression
4587 or else NT
(N
).Nkind
= N_Subtype_Indication
4588 or else NT
(N
).Nkind
= N_Type_Conversion
4589 or else NT
(N
).Nkind
= N_Unchecked_Type_Conversion
);
4590 Set_Node4_With_Parent
(N
, Val
);
4591 end Set_Subtype_Mark
;
4593 procedure Set_Subtype_Marks
4594 (N
: Node_Id
; Val
: List_Id
) is
4596 pragma Assert
(False
4597 or else NT
(N
).Nkind
= N_Unconstrained_Array_Definition
4598 or else NT
(N
).Nkind
= N_Use_Type_Clause
);
4599 Set_List2_With_Parent
(N
, Val
);
4600 end Set_Subtype_Marks
;
4602 procedure Set_Tagged_Present
4603 (N
: Node_Id
; Val
: Boolean := True) is
4605 pragma Assert
(False
4606 or else NT
(N
).Nkind
= N_Formal_Private_Type_Definition
4607 or else NT
(N
).Nkind
= N_Private_Type_Declaration
4608 or else NT
(N
).Nkind
= N_Record_Definition
4609 or else NT
(N
).Nkind
= N_With_Type_Clause
);
4610 Set_Flag15
(N
, Val
);
4611 end Set_Tagged_Present
;
4613 procedure Set_Target_Type
4614 (N
: Node_Id
; Val
: Entity_Id
) is
4616 pragma Assert
(False
4617 or else NT
(N
).Nkind
= N_Validate_Unchecked_Conversion
);
4618 Set_Node2
(N
, Val
); -- semantic field, no parent set
4619 end Set_Target_Type
;
4621 procedure Set_Task_Body_Procedure
4622 (N
: Node_Id
; Val
: Entity_Id
) is
4624 pragma Assert
(False
4625 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4626 Set_Node2
(N
, Val
); -- semantic field, no parent set
4627 end Set_Task_Body_Procedure
;
4629 procedure Set_Task_Definition
4630 (N
: Node_Id
; Val
: Node_Id
) is
4632 pragma Assert
(False
4633 or else NT
(N
).Nkind
= N_Single_Task_Declaration
4634 or else NT
(N
).Nkind
= N_Task_Type_Declaration
);
4635 Set_Node3_With_Parent
(N
, Val
);
4636 end Set_Task_Definition
;
4638 procedure Set_Then_Actions
4639 (N
: Node_Id
; Val
: List_Id
) is
4641 pragma Assert
(False
4642 or else NT
(N
).Nkind
= N_Conditional_Expression
);
4643 Set_List2
(N
, Val
); -- semantic field, no parent set
4644 end Set_Then_Actions
;
4646 procedure Set_Then_Statements
4647 (N
: Node_Id
; Val
: List_Id
) is
4649 pragma Assert
(False
4650 or else NT
(N
).Nkind
= N_Elsif_Part
4651 or else NT
(N
).Nkind
= N_If_Statement
);
4652 Set_List2_With_Parent
(N
, Val
);
4653 end Set_Then_Statements
;
4655 procedure Set_Treat_Fixed_As_Integer
4656 (N
: Node_Id
; Val
: Boolean := True) is
4658 pragma Assert
(False
4659 or else NT
(N
).Nkind
= N_Op_Divide
4660 or else NT
(N
).Nkind
= N_Op_Mod
4661 or else NT
(N
).Nkind
= N_Op_Multiply
4662 or else NT
(N
).Nkind
= N_Op_Rem
);
4663 Set_Flag14
(N
, Val
);
4664 end Set_Treat_Fixed_As_Integer
;
4666 procedure Set_Triggering_Alternative
4667 (N
: Node_Id
; Val
: Node_Id
) is
4669 pragma Assert
(False
4670 or else NT
(N
).Nkind
= N_Asynchronous_Select
);
4671 Set_Node1_With_Parent
(N
, Val
);
4672 end Set_Triggering_Alternative
;
4674 procedure Set_Triggering_Statement
4675 (N
: Node_Id
; Val
: Node_Id
) is
4677 pragma Assert
(False
4678 or else NT
(N
).Nkind
= N_Triggering_Alternative
);
4679 Set_Node1_With_Parent
(N
, Val
);
4680 end Set_Triggering_Statement
;
4682 procedure Set_TSS_Elist
4683 (N
: Node_Id
; Val
: Elist_Id
) is
4685 pragma Assert
(False
4686 or else NT
(N
).Nkind
= N_Freeze_Entity
);
4687 Set_Elist3
(N
, Val
); -- semantic field, no parent set
4690 procedure Set_Type_Definition
4691 (N
: Node_Id
; Val
: Node_Id
) is
4693 pragma Assert
(False
4694 or else NT
(N
).Nkind
= N_Full_Type_Declaration
);
4695 Set_Node3_With_Parent
(N
, Val
);
4696 end Set_Type_Definition
;
4699 (N
: Node_Id
; Val
: Node_Id
) is
4701 pragma Assert
(False
4702 or else NT
(N
).Nkind
= N_Compilation_Unit
);
4703 Set_Node2_With_Parent
(N
, Val
);
4706 procedure Set_Unknown_Discriminants_Present
4707 (N
: Node_Id
; Val
: Boolean := True) is
4709 pragma Assert
(False
4710 or else NT
(N
).Nkind
= N_Formal_Type_Declaration
4711 or else NT
(N
).Nkind
= N_Incomplete_Type_Declaration
4712 or else NT
(N
).Nkind
= N_Private_Extension_Declaration
4713 or else NT
(N
).Nkind
= N_Private_Type_Declaration
);
4714 Set_Flag13
(N
, Val
);
4715 end Set_Unknown_Discriminants_Present
;
4717 procedure Set_Unreferenced_In_Spec
4718 (N
: Node_Id
; Val
: Boolean := True) is
4720 pragma Assert
(False
4721 or else NT
(N
).Nkind
= N_With_Clause
);
4723 end Set_Unreferenced_In_Spec
;
4725 procedure Set_Variant_Part
4726 (N
: Node_Id
; Val
: Node_Id
) is
4728 pragma Assert
(False
4729 or else NT
(N
).Nkind
= N_Component_List
);
4730 Set_Node4_With_Parent
(N
, Val
);
4731 end Set_Variant_Part
;
4733 procedure Set_Variants
4734 (N
: Node_Id
; Val
: List_Id
) is
4736 pragma Assert
(False
4737 or else NT
(N
).Nkind
= N_Variant_Part
);
4738 Set_List1_With_Parent
(N
, Val
);
4741 procedure Set_Visible_Declarations
4742 (N
: Node_Id
; Val
: List_Id
) is
4744 pragma Assert
(False
4745 or else NT
(N
).Nkind
= N_Package_Specification
4746 or else NT
(N
).Nkind
= N_Protected_Definition
4747 or else NT
(N
).Nkind
= N_Task_Definition
);
4748 Set_List2_With_Parent
(N
, Val
);
4749 end Set_Visible_Declarations
;
4751 procedure Set_Was_Originally_Stub
4752 (N
: Node_Id
; Val
: Boolean := True) is
4754 pragma Assert
(False
4755 or else NT
(N
).Nkind
= N_Package_Body
4756 or else NT
(N
).Nkind
= N_Protected_Body
4757 or else NT
(N
).Nkind
= N_Subprogram_Body
4758 or else NT
(N
).Nkind
= N_Task_Body
);
4759 Set_Flag13
(N
, Val
);
4760 end Set_Was_Originally_Stub
;
4762 procedure Set_Zero_Cost_Handling
4763 (N
: Node_Id
; Val
: Boolean := True) is
4765 pragma Assert
(False
4766 or else NT
(N
).Nkind
= N_Exception_Handler
4767 or else NT
(N
).Nkind
= N_Handled_Sequence_Of_Statements
);
4769 end Set_Zero_Cost_Handling
;
4771 -------------------------
4772 -- Iterator Procedures --
4773 -------------------------
4775 procedure Next_Entity
(N
: in out Node_Id
) is
4777 N
:= Next_Entity
(N
);
4780 procedure Next_Named_Actual
(N
: in out Node_Id
) is
4782 N
:= Next_Named_Actual
(N
);
4783 end Next_Named_Actual
;
4785 procedure Next_Rep_Item
(N
: in out Node_Id
) is
4787 N
:= Next_Rep_Item
(N
);
4790 procedure Next_Use_Clause
(N
: in out Node_Id
) is
4792 N
:= Next_Use_Clause
(N
);
4793 end Next_Use_Clause
;
4799 function End_Location
(N
: Node_Id
) return Source_Ptr
is
4800 L
: constant Uint
:= End_Span
(N
);
4806 return Source_Ptr
(Int
(Sloc
(N
)) + UI_To_Int
(L
));
4810 ----------------------
4811 -- Set_End_Location --
4812 ----------------------
4814 procedure Set_End_Location
(N
: Node_Id
; S
: Source_Ptr
) is
4817 UI_From_Int
(Int
(S
) - Int
(Sloc
(N
))));
4818 end Set_End_Location
;