1------------------------------------------------------------------------------
2--                                                                          --
3--                         GNAT COMPILER COMPONENTS                         --
4--                                                                          --
5--                                S I N F O                                 --
6--                                                                          --
7--                                 B o d y                                  --
8--                                                                          --
9--          Copyright (C) 1992-2018, Free Software Foundation, Inc.         --
10--                                                                          --
11-- GNAT is free software;  you can  redistribute it  and/or modify it under --
12-- terms of the  GNU General Public License as published  by the Free Soft- --
13-- ware  Foundation;  either version 3,  or (at your option) any later ver- --
14-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
15-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
16-- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
17--                                                                          --
18-- As a special exception under Section 7 of GPL version 3, you are granted --
19-- additional permissions described in the GCC Runtime Library Exception,   --
20-- version 3.1, as published by the Free Software Foundation.               --
21--                                                                          --
22-- You should have received a copy of the GNU General Public License and    --
23-- a copy of the GCC Runtime Library Exception along with this program;     --
24-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
25-- <http://www.gnu.org/licenses/>.                                          --
26--                                                                          --
27-- GNAT was originally developed  by the GNAT team at  New York University. --
28-- Extensive contributions were provided by Ada Core Technologies Inc.      --
29--                                                                          --
30------------------------------------------------------------------------------
31
32pragma Style_Checks (All_Checks);
33--  No subprogram ordering check, due to logical grouping
34
35with Atree; use Atree;
36
37package body Sinfo is
38
39   use Atree.Unchecked_Access;
40   --  This package is one of the few packages which is allowed to make direct
41   --  references to tree nodes (since it is in the business of providing a
42   --  higher level of tree access which other clients are expected to use and
43   --  which implements checks).
44
45   use Atree_Private_Part;
46   --  The only reason that we ask for direct access to the private part of
47   --  the tree package is so that we can directly reference the Nkind field
48   --  of nodes table entries. We do this since it helps the efficiency of
49   --  the Sinfo debugging checks considerably (note that when we are checking
50   --  Nkind values, we don't need to check for a valid node reference, because
51   --  we will check that anyway when we reference the field).
52
53   NT : Nodes.Table_Ptr renames Nodes.Table;
54   --  A short hand abbreviation, useful for the debugging checks
55
56   ----------------------------
57   -- Field Access Functions --
58   ----------------------------
59
60   --  Note: The use of Assert (False or else ...) is just a device to allow
61   --  uniform format of the conditions following this. Note that csinfo
62   --  expects this uniform format.
63
64   function Abort_Present
65      (N : Node_Id) return Boolean is
66   begin
67      pragma Assert (False
68        or else NT (N).Nkind = N_Requeue_Statement);
69      return Flag15 (N);
70   end Abort_Present;
71
72   function Abortable_Part
73      (N : Node_Id) return Node_Id is
74   begin
75      pragma Assert (False
76        or else NT (N).Nkind = N_Asynchronous_Select);
77      return Node2 (N);
78   end Abortable_Part;
79
80   function Abstract_Present
81      (N : Node_Id) return Boolean is
82   begin
83      pragma Assert (False
84        or else NT (N).Nkind = N_Derived_Type_Definition
85        or else NT (N).Nkind = N_Formal_Derived_Type_Definition
86        or else NT (N).Nkind = N_Formal_Private_Type_Definition
87        or else NT (N).Nkind = N_Private_Extension_Declaration
88        or else NT (N).Nkind = N_Private_Type_Declaration
89        or else NT (N).Nkind = N_Record_Definition);
90      return Flag4 (N);
91   end Abstract_Present;
92
93   function Accept_Handler_Records
94      (N : Node_Id) return List_Id is
95   begin
96      pragma Assert (False
97        or else NT (N).Nkind = N_Accept_Alternative);
98      return List5 (N);
99   end Accept_Handler_Records;
100
101   function Accept_Statement
102      (N : Node_Id) return Node_Id is
103   begin
104      pragma Assert (False
105        or else NT (N).Nkind = N_Accept_Alternative);
106      return Node2 (N);
107   end Accept_Statement;
108
109   function Access_Definition
110     (N : Node_Id) return Node_Id is
111   begin
112      pragma Assert (False
113        or else NT (N).Nkind = N_Component_Definition
114        or else NT (N).Nkind = N_Formal_Object_Declaration
115        or else NT (N).Nkind = N_Object_Renaming_Declaration);
116      return Node3 (N);
117   end Access_Definition;
118
119   function Access_To_Subprogram_Definition
120     (N : Node_Id) return Node_Id is
121   begin
122      pragma Assert (False
123        or else NT (N).Nkind = N_Access_Definition);
124      return Node3 (N);
125   end Access_To_Subprogram_Definition;
126
127   function Access_Types_To_Process
128      (N : Node_Id) return Elist_Id is
129   begin
130      pragma Assert (False
131        or else NT (N).Nkind = N_Freeze_Entity);
132      return Elist2 (N);
133   end Access_Types_To_Process;
134
135   function Actions
136      (N : Node_Id) return List_Id is
137   begin
138      pragma Assert (False
139        or else NT (N).Nkind = N_And_Then
140        or else NT (N).Nkind = N_Case_Expression_Alternative
141        or else NT (N).Nkind = N_Compilation_Unit_Aux
142        or else NT (N).Nkind = N_Compound_Statement
143        or else NT (N).Nkind = N_Expression_With_Actions
144        or else NT (N).Nkind = N_Freeze_Entity
145        or else NT (N).Nkind = N_Or_Else);
146      return List1 (N);
147   end Actions;
148
149   function Activation_Chain_Entity
150      (N : Node_Id) return Node_Id is
151   begin
152      pragma Assert (False
153        or else NT (N).Nkind = N_Block_Statement
154        or else NT (N).Nkind = N_Entry_Body
155        or else NT (N).Nkind = N_Generic_Package_Declaration
156        or else NT (N).Nkind = N_Package_Declaration
157        or else NT (N).Nkind = N_Subprogram_Body
158        or else NT (N).Nkind = N_Task_Body);
159      return Node3 (N);
160   end Activation_Chain_Entity;
161
162   function Acts_As_Spec
163      (N : Node_Id) return Boolean is
164   begin
165      pragma Assert (False
166        or else NT (N).Nkind = N_Compilation_Unit
167        or else NT (N).Nkind = N_Subprogram_Body);
168      return Flag4 (N);
169   end Acts_As_Spec;
170
171   function Actual_Designated_Subtype
172     (N : Node_Id) return Node_Id is
173   begin
174      pragma Assert (False
175        or else NT (N).Nkind = N_Explicit_Dereference
176        or else NT (N).Nkind = N_Free_Statement);
177      return Node4 (N);
178   end Actual_Designated_Subtype;
179
180   function Address_Warning_Posted
181      (N : Node_Id) return Boolean is
182   begin
183      pragma Assert (False
184        or else NT (N).Nkind = N_Attribute_Definition_Clause);
185      return Flag18 (N);
186   end Address_Warning_Posted;
187
188   function Aggregate_Bounds
189      (N : Node_Id) return Node_Id is
190   begin
191      pragma Assert (False
192        or else NT (N).Nkind = N_Aggregate);
193      return Node3 (N);
194   end Aggregate_Bounds;
195
196   function Aliased_Present
197      (N : Node_Id) return Boolean is
198   begin
199      pragma Assert (False
200        or else NT (N).Nkind = N_Component_Definition
201        or else NT (N).Nkind = N_Object_Declaration
202        or else NT (N).Nkind = N_Parameter_Specification);
203      return Flag4 (N);
204   end Aliased_Present;
205
206   function Alloc_For_BIP_Return
207      (N : Node_Id) return Boolean is
208   begin
209      pragma Assert (False
210        or else NT (N).Nkind = N_Allocator);
211      return Flag1 (N);
212   end Alloc_For_BIP_Return;
213
214   function All_Others
215      (N : Node_Id) return Boolean is
216   begin
217      pragma Assert (False
218        or else NT (N).Nkind = N_Others_Choice);
219      return Flag11 (N);
220   end All_Others;
221
222   function All_Present
223      (N : Node_Id) return Boolean is
224   begin
225      pragma Assert (False
226        or else NT (N).Nkind = N_Access_Definition
227        or else NT (N).Nkind = N_Access_To_Object_Definition
228        or else NT (N).Nkind = N_Quantified_Expression
229        or else NT (N).Nkind = N_Use_Type_Clause);
230      return Flag15 (N);
231   end All_Present;
232
233   function Alternatives
234      (N : Node_Id) return List_Id is
235   begin
236      pragma Assert (False
237        or else NT (N).Nkind = N_Case_Expression
238        or else NT (N).Nkind = N_Case_Statement
239        or else NT (N).Nkind = N_In
240        or else NT (N).Nkind = N_Not_In);
241      return List4 (N);
242   end Alternatives;
243
244   function Ancestor_Part
245      (N : Node_Id) return Node_Id is
246   begin
247      pragma Assert (False
248        or else NT (N).Nkind = N_Extension_Aggregate);
249      return Node3 (N);
250   end Ancestor_Part;
251
252   function Atomic_Sync_Required
253      (N : Node_Id) return Boolean is
254   begin
255      pragma Assert (False
256        or else NT (N).Nkind = N_Expanded_Name
257        or else NT (N).Nkind = N_Explicit_Dereference
258        or else NT (N).Nkind = N_Identifier
259        or else NT (N).Nkind = N_Indexed_Component
260        or else NT (N).Nkind = N_Selected_Component);
261      return Flag14 (N);
262   end Atomic_Sync_Required;
263
264   function Array_Aggregate
265      (N : Node_Id) return Node_Id is
266   begin
267      pragma Assert (False
268        or else NT (N).Nkind = N_Enumeration_Representation_Clause);
269      return Node3 (N);
270   end Array_Aggregate;
271
272   function Aspect_Rep_Item
273      (N : Node_Id) return Node_Id is
274   begin
275      pragma Assert (False
276        or else NT (N).Nkind = N_Aspect_Specification);
277      return Node2 (N);
278   end Aspect_Rep_Item;
279
280   function Assignment_OK
281      (N : Node_Id) return Boolean is
282   begin
283      pragma Assert (False
284        or else NT (N).Nkind = N_Object_Declaration
285        or else NT (N).Nkind in N_Subexpr);
286      return Flag15 (N);
287   end Assignment_OK;
288
289   function Associated_Node
290      (N : Node_Id) return Node_Id is
291   begin
292      pragma Assert (False
293        or else NT (N).Nkind in N_Has_Entity
294        or else NT (N).Nkind = N_Aggregate
295        or else NT (N).Nkind = N_Extension_Aggregate
296        or else NT (N).Nkind = N_Selected_Component
297        or else NT (N).Nkind = N_Use_Package_Clause);
298      return Node4 (N);
299   end Associated_Node;
300
301   function At_End_Proc
302      (N : Node_Id) return Node_Id is
303   begin
304      pragma Assert (False
305        or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
306      return Node1 (N);
307   end At_End_Proc;
308
309   function Attribute_Name
310      (N : Node_Id) return Name_Id is
311   begin
312      pragma Assert (False
313        or else NT (N).Nkind = N_Attribute_Reference);
314      return Name2 (N);
315   end Attribute_Name;
316
317   function Aux_Decls_Node
318      (N : Node_Id) return Node_Id is
319   begin
320      pragma Assert (False
321        or else NT (N).Nkind = N_Compilation_Unit);
322      return Node5 (N);
323   end Aux_Decls_Node;
324
325   function Backwards_OK
326      (N : Node_Id) return Boolean is
327   begin
328      pragma Assert (False
329        or else NT (N).Nkind = N_Assignment_Statement);
330      return Flag6 (N);
331   end Backwards_OK;
332
333   function Bad_Is_Detected
334      (N : Node_Id) return Boolean is
335   begin
336      pragma Assert (False
337        or else NT (N).Nkind = N_Subprogram_Body);
338      return Flag15 (N);
339   end Bad_Is_Detected;
340
341   function Body_Required
342      (N : Node_Id) return Boolean is
343   begin
344      pragma Assert (False
345        or else NT (N).Nkind = N_Compilation_Unit);
346      return Flag13 (N);
347   end Body_Required;
348
349   function Body_To_Inline
350      (N : Node_Id) return Node_Id is
351   begin
352      pragma Assert (False
353        or else NT (N).Nkind = N_Subprogram_Declaration);
354      return Node3 (N);
355   end Body_To_Inline;
356
357   function Box_Present
358      (N : Node_Id) return Boolean is
359   begin
360      pragma Assert (False
361        or else NT (N).Nkind = N_Component_Association
362        or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
363        or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
364        or else NT (N).Nkind = N_Formal_Package_Declaration
365        or else NT (N).Nkind = N_Generic_Association
366        or else NT (N).Nkind = N_Iterated_Component_Association);
367      return Flag15 (N);
368   end Box_Present;
369
370   function By_Ref
371      (N : Node_Id) return Boolean is
372   begin
373      pragma Assert (False
374        or else NT (N).Nkind = N_Extended_Return_Statement
375        or else NT (N).Nkind = N_Simple_Return_Statement);
376      return Flag5 (N);
377   end By_Ref;
378
379   function Char_Literal_Value
380      (N : Node_Id) return Uint is
381   begin
382      pragma Assert (False
383        or else NT (N).Nkind = N_Character_Literal);
384      return Uint2 (N);
385   end Char_Literal_Value;
386
387   function Chars
388      (N : Node_Id) return Name_Id is
389   begin
390      pragma Assert (False
391        or else NT (N).Nkind in N_Has_Chars);
392      return Name1 (N);
393   end Chars;
394
395   function Check_Address_Alignment
396      (N : Node_Id) return Boolean is
397   begin
398      pragma Assert (False
399          or else NT (N).Nkind = N_Attribute_Definition_Clause);
400      return Flag11 (N);
401   end Check_Address_Alignment;
402
403   function Choice_Parameter
404      (N : Node_Id) return Node_Id is
405   begin
406      pragma Assert (False
407        or else NT (N).Nkind = N_Exception_Handler);
408      return Node2 (N);
409   end Choice_Parameter;
410
411   function Choices
412      (N : Node_Id) return List_Id is
413   begin
414      pragma Assert (False
415        or else NT (N).Nkind = N_Component_Association);
416      return List1 (N);
417   end Choices;
418
419   function Class_Present
420      (N : Node_Id) return Boolean is
421   begin
422      pragma Assert (False
423        or else NT (N).Nkind = N_Aspect_Specification
424        or else NT (N).Nkind = N_Pragma);
425      return Flag6 (N);
426   end Class_Present;
427
428   function Classifications
429      (N : Node_Id) return Node_Id is
430   begin
431      pragma Assert (False
432        or else NT (N).Nkind = N_Contract);
433      return Node3 (N);
434   end Classifications;
435
436   function Cleanup_Actions
437      (N : Node_Id) return List_Id is
438   begin
439      pragma Assert (False
440        or else NT (N).Nkind = N_Block_Statement);
441      return List5 (N);
442   end Cleanup_Actions;
443
444   function Comes_From_Extended_Return_Statement
445      (N : Node_Id) return Boolean is
446   begin
447      pragma Assert (False
448        or else NT (N).Nkind = N_Simple_Return_Statement);
449      return Flag18 (N);
450   end Comes_From_Extended_Return_Statement;
451
452   function Compile_Time_Known_Aggregate
453      (N : Node_Id) return Boolean is
454   begin
455      pragma Assert (False
456        or else NT (N).Nkind = N_Aggregate);
457      return Flag18 (N);
458   end Compile_Time_Known_Aggregate;
459
460   function Component_Associations
461      (N : Node_Id) return List_Id is
462   begin
463      pragma Assert (False
464        or else NT (N).Nkind = N_Aggregate
465        or else NT (N).Nkind = N_Delta_Aggregate
466        or else NT (N).Nkind = N_Extension_Aggregate);
467      return List2 (N);
468   end Component_Associations;
469
470   function Component_Clauses
471      (N : Node_Id) return List_Id is
472   begin
473      pragma Assert (False
474        or else NT (N).Nkind = N_Record_Representation_Clause);
475      return List3 (N);
476   end Component_Clauses;
477
478   function Component_Definition
479      (N : Node_Id) return Node_Id is
480   begin
481      pragma Assert (False
482        or else NT (N).Nkind = N_Component_Declaration
483        or else NT (N).Nkind = N_Constrained_Array_Definition
484        or else NT (N).Nkind = N_Unconstrained_Array_Definition);
485      return Node4 (N);
486   end Component_Definition;
487
488   function Component_Items
489      (N : Node_Id) return List_Id is
490   begin
491      pragma Assert (False
492        or else NT (N).Nkind = N_Component_List);
493      return List3 (N);
494   end Component_Items;
495
496   function Component_List
497      (N : Node_Id) return Node_Id is
498   begin
499      pragma Assert (False
500        or else NT (N).Nkind = N_Record_Definition
501        or else NT (N).Nkind = N_Variant);
502      return Node1 (N);
503   end Component_List;
504
505   function Component_Name
506      (N : Node_Id) return Node_Id is
507   begin
508      pragma Assert (False
509        or else NT (N).Nkind = N_Component_Clause);
510      return Node1 (N);
511   end Component_Name;
512
513   function Componentwise_Assignment
514      (N : Node_Id) return Boolean is
515   begin
516      pragma Assert (False
517        or else NT (N).Nkind = N_Assignment_Statement);
518      return Flag14 (N);
519   end Componentwise_Assignment;
520
521   function Condition
522      (N : Node_Id) return Node_Id is
523   begin
524      pragma Assert (False
525        or else NT (N).Nkind = N_Accept_Alternative
526        or else NT (N).Nkind = N_Delay_Alternative
527        or else NT (N).Nkind = N_Elsif_Part
528        or else NT (N).Nkind = N_Entry_Body_Formal_Part
529        or else NT (N).Nkind = N_Exit_Statement
530        or else NT (N).Nkind = N_If_Statement
531        or else NT (N).Nkind = N_Iteration_Scheme
532        or else NT (N).Nkind = N_Quantified_Expression
533        or else NT (N).Nkind = N_Raise_Constraint_Error
534        or else NT (N).Nkind = N_Raise_Program_Error
535        or else NT (N).Nkind = N_Raise_Storage_Error
536        or else NT (N).Nkind = N_Terminate_Alternative);
537      return Node1 (N);
538   end Condition;
539
540   function Condition_Actions
541      (N : Node_Id) return List_Id is
542   begin
543      pragma Assert (False
544        or else NT (N).Nkind = N_Elsif_Part
545        or else NT (N).Nkind = N_Iteration_Scheme);
546      return List3 (N);
547   end Condition_Actions;
548
549   function Config_Pragmas
550      (N : Node_Id) return List_Id is
551   begin
552      pragma Assert (False
553        or else NT (N).Nkind = N_Compilation_Unit_Aux);
554      return List4 (N);
555   end Config_Pragmas;
556
557   function Constant_Present
558      (N : Node_Id) return Boolean is
559   begin
560      pragma Assert (False
561        or else NT (N).Nkind = N_Access_Definition
562        or else NT (N).Nkind = N_Access_To_Object_Definition
563        or else NT (N).Nkind = N_Object_Declaration);
564      return Flag17 (N);
565   end Constant_Present;
566
567   function Constraint
568      (N : Node_Id) return Node_Id is
569   begin
570      pragma Assert (False
571        or else NT (N).Nkind = N_Subtype_Indication);
572      return Node3 (N);
573   end Constraint;
574
575   function Constraints
576      (N : Node_Id) return List_Id is
577   begin
578      pragma Assert (False
579        or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint);
580      return List1 (N);
581   end Constraints;
582
583   function Context_Installed
584      (N : Node_Id) return Boolean is
585   begin
586      pragma Assert (False
587        or else NT (N).Nkind = N_With_Clause);
588      return Flag13 (N);
589   end Context_Installed;
590
591   function Context_Items
592      (N : Node_Id) return List_Id is
593   begin
594      pragma Assert (False
595        or else NT (N).Nkind = N_Compilation_Unit);
596      return List1 (N);
597   end Context_Items;
598
599   function Context_Pending
600      (N : Node_Id) return Boolean is
601   begin
602      pragma Assert (False
603        or else NT (N).Nkind = N_Compilation_Unit);
604      return Flag16 (N);
605   end Context_Pending;
606
607   function Contract_Test_Cases
608      (N : Node_Id) return Node_Id is
609   begin
610      pragma Assert (False
611        or else NT (N).Nkind = N_Contract);
612      return Node2 (N);
613   end Contract_Test_Cases;
614
615   function Controlling_Argument
616      (N : Node_Id) return Node_Id is
617   begin
618      pragma Assert (False
619        or else NT (N).Nkind = N_Function_Call
620        or else NT (N).Nkind = N_Procedure_Call_Statement);
621      return Node1 (N);
622   end Controlling_Argument;
623
624   function Conversion_OK
625      (N : Node_Id) return Boolean is
626   begin
627      pragma Assert (False
628        or else NT (N).Nkind = N_Type_Conversion);
629      return Flag14 (N);
630   end Conversion_OK;
631
632   function Convert_To_Return_False
633      (N : Node_Id) return Boolean is
634   begin
635      pragma Assert (False
636        or else NT (N).Nkind = N_Raise_Expression);
637      return Flag13 (N);
638   end Convert_To_Return_False;
639
640   function Corresponding_Aspect
641      (N : Node_Id) return Node_Id is
642   begin
643      pragma Assert (False
644        or else NT (N).Nkind = N_Pragma);
645      return Node3 (N);
646   end Corresponding_Aspect;
647
648   function Corresponding_Body
649      (N : Node_Id) return Node_Id is
650   begin
651      pragma Assert (False
652        or else NT (N).Nkind = N_Entry_Declaration
653        or else NT (N).Nkind = N_Generic_Package_Declaration
654        or else NT (N).Nkind = N_Generic_Subprogram_Declaration
655        or else NT (N).Nkind = N_Package_Body_Stub
656        or else NT (N).Nkind = N_Package_Declaration
657        or else NT (N).Nkind = N_Protected_Body_Stub
658        or else NT (N).Nkind = N_Protected_Type_Declaration
659        or else NT (N).Nkind = N_Subprogram_Body_Stub
660        or else NT (N).Nkind = N_Subprogram_Declaration
661        or else NT (N).Nkind = N_Task_Body_Stub
662        or else NT (N).Nkind = N_Task_Type_Declaration);
663      return Node5 (N);
664   end Corresponding_Body;
665
666   function Corresponding_Formal_Spec
667      (N : Node_Id) return Node_Id is
668   begin
669      pragma Assert (False
670        or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
671      return Node3 (N);
672   end Corresponding_Formal_Spec;
673
674   function Corresponding_Generic_Association
675      (N : Node_Id) return Node_Id is
676   begin
677      pragma Assert (False
678        or else NT (N).Nkind = N_Object_Declaration
679        or else NT (N).Nkind = N_Object_Renaming_Declaration);
680      return Node5 (N);
681   end Corresponding_Generic_Association;
682
683   function Corresponding_Integer_Value
684      (N : Node_Id) return Uint is
685   begin
686      pragma Assert (False
687        or else NT (N).Nkind = N_Real_Literal);
688      return Uint4 (N);
689   end Corresponding_Integer_Value;
690
691   function Corresponding_Spec
692      (N : Node_Id) return Entity_Id is
693   begin
694      pragma Assert (False
695        or else NT (N).Nkind = N_Expression_Function
696        or else NT (N).Nkind = N_Package_Body
697        or else NT (N).Nkind = N_Protected_Body
698        or else NT (N).Nkind = N_Subprogram_Body
699        or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
700        or else NT (N).Nkind = N_Task_Body
701        or else NT (N).Nkind = N_With_Clause);
702      return Node5 (N);
703   end Corresponding_Spec;
704
705   function Corresponding_Spec_Of_Stub
706      (N : Node_Id) return Entity_Id is
707   begin
708      pragma Assert (False
709        or else NT (N).Nkind = N_Package_Body_Stub
710        or else NT (N).Nkind = N_Protected_Body_Stub
711        or else NT (N).Nkind = N_Subprogram_Body_Stub
712        or else NT (N).Nkind = N_Task_Body_Stub);
713      return Node2 (N);
714   end Corresponding_Spec_Of_Stub;
715
716   function Corresponding_Stub
717      (N : Node_Id) return Node_Id is
718   begin
719      pragma Assert (False
720        or else NT (N).Nkind = N_Subunit);
721      return Node3 (N);
722   end Corresponding_Stub;
723
724   function Dcheck_Function
725      (N : Node_Id) return Entity_Id is
726   begin
727      pragma Assert (False
728        or else NT (N).Nkind = N_Variant);
729      return Node5 (N);
730   end Dcheck_Function;
731
732   function Declarations
733      (N : Node_Id) return List_Id is
734   begin
735      pragma Assert (False
736        or else NT (N).Nkind = N_Accept_Statement
737        or else NT (N).Nkind = N_Block_Statement
738        or else NT (N).Nkind = N_Compilation_Unit_Aux
739        or else NT (N).Nkind = N_Entry_Body
740        or else NT (N).Nkind = N_Package_Body
741        or else NT (N).Nkind = N_Protected_Body
742        or else NT (N).Nkind = N_Subprogram_Body
743        or else NT (N).Nkind = N_Task_Body);
744      return List2 (N);
745   end Declarations;
746
747   function Default_Expression
748      (N : Node_Id) return Node_Id is
749   begin
750      pragma Assert (False
751        or else NT (N).Nkind = N_Formal_Object_Declaration
752        or else NT (N).Nkind = N_Parameter_Specification);
753      return Node5 (N);
754   end Default_Expression;
755
756   function Default_Storage_Pool
757      (N : Node_Id) return Node_Id is
758   begin
759      pragma Assert (False
760        or else NT (N).Nkind = N_Compilation_Unit_Aux);
761      return Node3 (N);
762   end Default_Storage_Pool;
763
764   function Default_Name
765      (N : Node_Id) return Node_Id is
766   begin
767      pragma Assert (False
768        or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
769        or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration);
770      return Node2 (N);
771   end Default_Name;
772
773   function Defining_Identifier
774      (N : Node_Id) return Entity_Id is
775   begin
776      pragma Assert (False
777        or else NT (N).Nkind = N_Component_Declaration
778        or else NT (N).Nkind = N_Defining_Program_Unit_Name
779        or else NT (N).Nkind = N_Discriminant_Specification
780        or else NT (N).Nkind = N_Entry_Body
781        or else NT (N).Nkind = N_Entry_Declaration
782        or else NT (N).Nkind = N_Entry_Index_Specification
783        or else NT (N).Nkind = N_Exception_Declaration
784        or else NT (N).Nkind = N_Exception_Renaming_Declaration
785        or else NT (N).Nkind = N_Formal_Object_Declaration
786        or else NT (N).Nkind = N_Formal_Package_Declaration
787        or else NT (N).Nkind = N_Formal_Type_Declaration
788        or else NT (N).Nkind = N_Full_Type_Declaration
789        or else NT (N).Nkind = N_Implicit_Label_Declaration
790        or else NT (N).Nkind = N_Incomplete_Type_Declaration
791        or else NT (N).Nkind = N_Iterated_Component_Association
792        or else NT (N).Nkind = N_Iterator_Specification
793        or else NT (N).Nkind = N_Loop_Parameter_Specification
794        or else NT (N).Nkind = N_Number_Declaration
795        or else NT (N).Nkind = N_Object_Declaration
796        or else NT (N).Nkind = N_Object_Renaming_Declaration
797        or else NT (N).Nkind = N_Package_Body_Stub
798        or else NT (N).Nkind = N_Parameter_Specification
799        or else NT (N).Nkind = N_Private_Extension_Declaration
800        or else NT (N).Nkind = N_Private_Type_Declaration
801        or else NT (N).Nkind = N_Protected_Body
802        or else NT (N).Nkind = N_Protected_Body_Stub
803        or else NT (N).Nkind = N_Protected_Type_Declaration
804        or else NT (N).Nkind = N_Single_Protected_Declaration
805        or else NT (N).Nkind = N_Single_Task_Declaration
806        or else NT (N).Nkind = N_Subtype_Declaration
807        or else NT (N).Nkind = N_Task_Body
808        or else NT (N).Nkind = N_Task_Body_Stub
809        or else NT (N).Nkind = N_Task_Type_Declaration);
810      return Node1 (N);
811   end Defining_Identifier;
812
813   function Defining_Unit_Name
814      (N : Node_Id) return Node_Id is
815   begin
816      pragma Assert (False
817        or else NT (N).Nkind = N_Function_Instantiation
818        or else NT (N).Nkind = N_Function_Specification
819        or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
820        or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
821        or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
822        or else NT (N).Nkind = N_Package_Body
823        or else NT (N).Nkind = N_Package_Instantiation
824        or else NT (N).Nkind = N_Package_Renaming_Declaration
825        or else NT (N).Nkind = N_Package_Specification
826        or else NT (N).Nkind = N_Procedure_Instantiation
827        or else NT (N).Nkind = N_Procedure_Specification);
828      return Node1 (N);
829   end Defining_Unit_Name;
830
831   function Delay_Alternative
832      (N : Node_Id) return Node_Id is
833   begin
834      pragma Assert (False
835        or else NT (N).Nkind = N_Timed_Entry_Call);
836      return Node4 (N);
837   end Delay_Alternative;
838
839   function Delay_Statement
840      (N : Node_Id) return Node_Id is
841   begin
842      pragma Assert (False
843        or else NT (N).Nkind = N_Delay_Alternative);
844      return Node2 (N);
845   end Delay_Statement;
846
847   function Delta_Expression
848      (N : Node_Id) return Node_Id is
849   begin
850      pragma Assert (False
851        or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
852        or else NT (N).Nkind = N_Delta_Constraint
853        or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
854      return Node3 (N);
855   end Delta_Expression;
856
857   function Digits_Expression
858      (N : Node_Id) return Node_Id is
859   begin
860      pragma Assert (False
861        or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
862        or else NT (N).Nkind = N_Digits_Constraint
863        or else NT (N).Nkind = N_Floating_Point_Definition);
864      return Node2 (N);
865   end Digits_Expression;
866
867   function Discr_Check_Funcs_Built
868      (N : Node_Id) return Boolean is
869   begin
870      pragma Assert (False
871        or else NT (N).Nkind = N_Full_Type_Declaration);
872      return Flag11 (N);
873   end Discr_Check_Funcs_Built;
874
875   function Discrete_Choices
876      (N : Node_Id) return List_Id is
877   begin
878      pragma Assert (False
879        or else NT (N).Nkind = N_Case_Expression_Alternative
880        or else NT (N).Nkind = N_Case_Statement_Alternative
881        or else NT (N).Nkind = N_Iterated_Component_Association
882        or else NT (N).Nkind = N_Variant);
883      return List4 (N);
884   end Discrete_Choices;
885
886   function Discrete_Range
887      (N : Node_Id) return Node_Id is
888   begin
889      pragma Assert (False
890        or else NT (N).Nkind = N_Slice);
891      return Node4 (N);
892   end Discrete_Range;
893
894   function Discrete_Subtype_Definition
895      (N : Node_Id) return Node_Id is
896   begin
897      pragma Assert (False
898        or else NT (N).Nkind = N_Entry_Declaration
899        or else NT (N).Nkind = N_Entry_Index_Specification
900        or else NT (N).Nkind = N_Loop_Parameter_Specification);
901      return Node4 (N);
902   end Discrete_Subtype_Definition;
903
904   function Discrete_Subtype_Definitions
905      (N : Node_Id) return List_Id is
906   begin
907      pragma Assert (False
908        or else NT (N).Nkind = N_Constrained_Array_Definition);
909      return List2 (N);
910   end Discrete_Subtype_Definitions;
911
912   function Discriminant_Specifications
913      (N : Node_Id) return List_Id is
914   begin
915      pragma Assert (False
916        or else NT (N).Nkind = N_Formal_Type_Declaration
917        or else NT (N).Nkind = N_Full_Type_Declaration
918        or else NT (N).Nkind = N_Incomplete_Type_Declaration
919        or else NT (N).Nkind = N_Private_Extension_Declaration
920        or else NT (N).Nkind = N_Private_Type_Declaration
921        or else NT (N).Nkind = N_Protected_Type_Declaration
922        or else NT (N).Nkind = N_Task_Type_Declaration);
923      return List4 (N);
924   end Discriminant_Specifications;
925
926   function Discriminant_Type
927      (N : Node_Id) return Node_Id is
928   begin
929      pragma Assert (False
930        or else NT (N).Nkind = N_Discriminant_Specification);
931      return Node5 (N);
932   end Discriminant_Type;
933
934   function Do_Accessibility_Check
935      (N : Node_Id) return Boolean is
936   begin
937      pragma Assert (False
938        or else NT (N).Nkind = N_Parameter_Specification);
939      return Flag13 (N);
940   end Do_Accessibility_Check;
941
942   function Do_Discriminant_Check
943      (N : Node_Id) return Boolean is
944   begin
945      pragma Assert (False
946        or else NT (N).Nkind = N_Assignment_Statement
947        or else NT (N).Nkind = N_Selected_Component
948        or else NT (N).Nkind = N_Type_Conversion);
949      return Flag3 (N);
950   end Do_Discriminant_Check;
951
952   function Do_Division_Check
953      (N : Node_Id) return Boolean is
954   begin
955      pragma Assert (False
956        or else NT (N).Nkind = N_Op_Divide
957        or else NT (N).Nkind = N_Op_Mod
958        or else NT (N).Nkind = N_Op_Rem);
959      return Flag13 (N);
960   end Do_Division_Check;
961
962   function Do_Length_Check
963      (N : Node_Id) return Boolean is
964   begin
965      pragma Assert (False
966        or else NT (N).Nkind = N_Assignment_Statement
967        or else NT (N).Nkind = N_Op_And
968        or else NT (N).Nkind = N_Op_Or
969        or else NT (N).Nkind = N_Op_Xor
970        or else NT (N).Nkind = N_Type_Conversion);
971      return Flag4 (N);
972   end Do_Length_Check;
973
974   function Do_Overflow_Check
975      (N : Node_Id) return Boolean is
976   begin
977      pragma Assert (False
978        or else NT (N).Nkind in N_Op
979        or else NT (N).Nkind = N_Attribute_Reference
980        or else NT (N).Nkind = N_Case_Expression
981        or else NT (N).Nkind = N_If_Expression
982        or else NT (N).Nkind = N_Type_Conversion);
983      return Flag17 (N);
984   end Do_Overflow_Check;
985
986   function Do_Range_Check
987      (N : Node_Id) return Boolean is
988   begin
989      pragma Assert (False
990        or else NT (N).Nkind in N_Subexpr);
991      return Flag9 (N);
992   end Do_Range_Check;
993
994   function Do_Storage_Check
995      (N : Node_Id) return Boolean is
996   begin
997      pragma Assert (False
998        or else NT (N).Nkind = N_Allocator
999        or else NT (N).Nkind = N_Subprogram_Body);
1000      return Flag17 (N);
1001   end Do_Storage_Check;
1002
1003   function Do_Tag_Check
1004      (N : Node_Id) return Boolean is
1005   begin
1006      pragma Assert (False
1007        or else NT (N).Nkind = N_Assignment_Statement
1008        or else NT (N).Nkind = N_Extended_Return_Statement
1009        or else NT (N).Nkind = N_Function_Call
1010        or else NT (N).Nkind = N_Procedure_Call_Statement
1011        or else NT (N).Nkind = N_Simple_Return_Statement
1012        or else NT (N).Nkind = N_Type_Conversion);
1013      return Flag13 (N);
1014   end Do_Tag_Check;
1015
1016   function Elaborate_All_Desirable
1017      (N : Node_Id) return Boolean is
1018   begin
1019      pragma Assert (False
1020        or else NT (N).Nkind = N_With_Clause);
1021      return Flag9 (N);
1022   end Elaborate_All_Desirable;
1023
1024   function Elaborate_All_Present
1025      (N : Node_Id) return Boolean is
1026   begin
1027      pragma Assert (False
1028        or else NT (N).Nkind = N_With_Clause);
1029      return Flag14 (N);
1030   end Elaborate_All_Present;
1031
1032   function Elaborate_Desirable
1033      (N : Node_Id) return Boolean is
1034   begin
1035      pragma Assert (False
1036        or else NT (N).Nkind = N_With_Clause);
1037      return Flag11 (N);
1038   end Elaborate_Desirable;
1039
1040   function Elaborate_Present
1041      (N : Node_Id) return Boolean is
1042   begin
1043      pragma Assert (False
1044        or else NT (N).Nkind = N_With_Clause);
1045      return Flag4 (N);
1046   end Elaborate_Present;
1047
1048   function Else_Actions
1049      (N : Node_Id) return List_Id is
1050   begin
1051      pragma Assert (False
1052        or else NT (N).Nkind = N_If_Expression);
1053      return List3 (N);
1054   end Else_Actions;
1055
1056   function Else_Statements
1057      (N : Node_Id) return List_Id is
1058   begin
1059      pragma Assert (False
1060        or else NT (N).Nkind = N_Conditional_Entry_Call
1061        or else NT (N).Nkind = N_If_Statement
1062        or else NT (N).Nkind = N_Selective_Accept);
1063      return List4 (N);
1064   end Else_Statements;
1065
1066   function Elsif_Parts
1067      (N : Node_Id) return List_Id is
1068   begin
1069      pragma Assert (False
1070        or else NT (N).Nkind = N_If_Statement);
1071      return List3 (N);
1072   end Elsif_Parts;
1073
1074   function Enclosing_Variant
1075      (N : Node_Id) return Node_Id is
1076   begin
1077      pragma Assert (False
1078        or else NT (N).Nkind = N_Variant);
1079      return Node2 (N);
1080   end Enclosing_Variant;
1081
1082   function End_Label
1083      (N : Node_Id) return Node_Id is
1084   begin
1085      pragma Assert (False
1086        or else NT (N).Nkind = N_Enumeration_Type_Definition
1087        or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
1088        or else NT (N).Nkind = N_Loop_Statement
1089        or else NT (N).Nkind = N_Package_Specification
1090        or else NT (N).Nkind = N_Protected_Body
1091        or else NT (N).Nkind = N_Protected_Definition
1092        or else NT (N).Nkind = N_Record_Definition
1093        or else NT (N).Nkind = N_Task_Definition);
1094      return Node4 (N);
1095   end End_Label;
1096
1097   function End_Span
1098      (N : Node_Id) return Uint is
1099   begin
1100      pragma Assert (False
1101        or else NT (N).Nkind = N_Case_Statement
1102        or else NT (N).Nkind = N_If_Statement);
1103      return Uint5 (N);
1104   end End_Span;
1105
1106   function Entity
1107      (N : Node_Id) return Node_Id is
1108   begin
1109      pragma Assert (False
1110        or else NT (N).Nkind in N_Has_Entity
1111        or else NT (N).Nkind = N_Aspect_Specification
1112        or else NT (N).Nkind = N_Attribute_Definition_Clause
1113        or else NT (N).Nkind = N_Freeze_Entity
1114        or else NT (N).Nkind = N_Freeze_Generic_Entity);
1115      return Node4 (N);
1116   end Entity;
1117
1118   function Entity_Or_Associated_Node
1119      (N : Node_Id) return Node_Id is
1120   begin
1121      pragma Assert (False
1122        or else NT (N).Nkind in N_Has_Entity
1123        or else NT (N).Nkind = N_Freeze_Entity);
1124      return Node4 (N);
1125   end Entity_Or_Associated_Node;
1126
1127   function Entry_Body_Formal_Part
1128      (N : Node_Id) return Node_Id is
1129   begin
1130      pragma Assert (False
1131        or else NT (N).Nkind = N_Entry_Body);
1132      return Node5 (N);
1133   end Entry_Body_Formal_Part;
1134
1135   function Entry_Call_Alternative
1136      (N : Node_Id) return Node_Id is
1137   begin
1138      pragma Assert (False
1139        or else NT (N).Nkind = N_Conditional_Entry_Call
1140        or else NT (N).Nkind = N_Timed_Entry_Call);
1141      return Node1 (N);
1142   end Entry_Call_Alternative;
1143
1144   function Entry_Call_Statement
1145      (N : Node_Id) return Node_Id is
1146   begin
1147      pragma Assert (False
1148        or else NT (N).Nkind = N_Entry_Call_Alternative);
1149      return Node1 (N);
1150   end Entry_Call_Statement;
1151
1152   function Entry_Direct_Name
1153      (N : Node_Id) return Node_Id is
1154   begin
1155      pragma Assert (False
1156        or else NT (N).Nkind = N_Accept_Statement);
1157      return Node1 (N);
1158   end Entry_Direct_Name;
1159
1160   function Entry_Index
1161      (N : Node_Id) return Node_Id is
1162   begin
1163      pragma Assert (False
1164        or else NT (N).Nkind = N_Accept_Statement);
1165      return Node5 (N);
1166   end Entry_Index;
1167
1168   function Entry_Index_Specification
1169      (N : Node_Id) return Node_Id is
1170   begin
1171      pragma Assert (False
1172        or else NT (N).Nkind = N_Entry_Body_Formal_Part);
1173      return Node4 (N);
1174   end Entry_Index_Specification;
1175
1176   function Etype
1177      (N : Node_Id) return Node_Id is
1178   begin
1179      pragma Assert (False
1180        or else NT (N).Nkind in N_Has_Etype);
1181      return Node5 (N);
1182   end Etype;
1183
1184   function Exception_Choices
1185      (N : Node_Id) return List_Id is
1186   begin
1187      pragma Assert (False
1188        or else NT (N).Nkind = N_Exception_Handler);
1189      return List4 (N);
1190   end Exception_Choices;
1191
1192   function Exception_Handlers
1193      (N : Node_Id) return List_Id is
1194   begin
1195      pragma Assert (False
1196        or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
1197      return List5 (N);
1198   end Exception_Handlers;
1199
1200   function Exception_Junk
1201     (N : Node_Id) return Boolean is
1202   begin
1203      pragma Assert (False
1204        or else NT (N).Nkind = N_Block_Statement
1205        or else NT (N).Nkind = N_Goto_Statement
1206        or else NT (N).Nkind = N_Label
1207        or else NT (N).Nkind = N_Object_Declaration
1208        or else NT (N).Nkind = N_Subtype_Declaration);
1209      return Flag8 (N);
1210   end Exception_Junk;
1211
1212   function Exception_Label
1213     (N : Node_Id) return Node_Id is
1214   begin
1215      pragma Assert (False
1216        or else NT (N).Nkind = N_Exception_Handler
1217        or else NT (N).Nkind = N_Push_Constraint_Error_Label
1218        or else NT (N).Nkind = N_Push_Program_Error_Label
1219        or else NT (N).Nkind = N_Push_Storage_Error_Label);
1220      return Node5 (N);
1221   end Exception_Label;
1222
1223   function Expansion_Delayed
1224     (N : Node_Id) return Boolean is
1225   begin
1226      pragma Assert (False
1227        or else NT (N).Nkind = N_Aggregate
1228        or else NT (N).Nkind = N_Extension_Aggregate);
1229      return Flag11 (N);
1230   end Expansion_Delayed;
1231
1232   function Explicit_Actual_Parameter
1233      (N : Node_Id) return Node_Id is
1234   begin
1235      pragma Assert (False
1236        or else NT (N).Nkind = N_Parameter_Association);
1237      return Node3 (N);
1238   end Explicit_Actual_Parameter;
1239
1240   function Explicit_Generic_Actual_Parameter
1241      (N : Node_Id) return Node_Id is
1242   begin
1243      pragma Assert (False
1244        or else NT (N).Nkind = N_Generic_Association);
1245      return Node1 (N);
1246   end Explicit_Generic_Actual_Parameter;
1247
1248   function Expression
1249      (N : Node_Id) return Node_Id is
1250   begin
1251      pragma Assert (False
1252        or else NT (N).Nkind = N_Allocator
1253        or else NT (N).Nkind = N_Aspect_Specification
1254        or else NT (N).Nkind = N_Assignment_Statement
1255        or else NT (N).Nkind = N_At_Clause
1256        or else NT (N).Nkind = N_Attribute_Definition_Clause
1257        or else NT (N).Nkind = N_Case_Expression
1258        or else NT (N).Nkind = N_Case_Expression_Alternative
1259        or else NT (N).Nkind = N_Case_Statement
1260        or else NT (N).Nkind = N_Code_Statement
1261        or else NT (N).Nkind = N_Component_Association
1262        or else NT (N).Nkind = N_Component_Declaration
1263        or else NT (N).Nkind = N_Delay_Relative_Statement
1264        or else NT (N).Nkind = N_Delay_Until_Statement
1265        or else NT (N).Nkind = N_Delta_Aggregate
1266        or else NT (N).Nkind = N_Discriminant_Association
1267        or else NT (N).Nkind = N_Discriminant_Specification
1268        or else NT (N).Nkind = N_Exception_Declaration
1269        or else NT (N).Nkind = N_Expression_Function
1270        or else NT (N).Nkind = N_Expression_With_Actions
1271        or else NT (N).Nkind = N_Free_Statement
1272        or else NT (N).Nkind = N_Iterated_Component_Association
1273        or else NT (N).Nkind = N_Mod_Clause
1274        or else NT (N).Nkind = N_Modular_Type_Definition
1275        or else NT (N).Nkind = N_Number_Declaration
1276        or else NT (N).Nkind = N_Object_Declaration
1277        or else NT (N).Nkind = N_Parameter_Specification
1278        or else NT (N).Nkind = N_Pragma_Argument_Association
1279        or else NT (N).Nkind = N_Qualified_Expression
1280        or else NT (N).Nkind = N_Raise_Expression
1281        or else NT (N).Nkind = N_Raise_Statement
1282        or else NT (N).Nkind = N_Reduction_Expression
1283        or else NT (N).Nkind = N_Reduction_Expression_Parameter
1284        or else NT (N).Nkind = N_Simple_Return_Statement
1285        or else NT (N).Nkind = N_Type_Conversion
1286        or else NT (N).Nkind = N_Unchecked_Expression
1287        or else NT (N).Nkind = N_Unchecked_Type_Conversion);
1288      return Node3 (N);
1289   end Expression;
1290
1291   function Expression_Copy
1292      (N : Node_Id) return Node_Id is
1293   begin
1294      pragma Assert (False
1295        or else NT (N).Nkind = N_Pragma_Argument_Association);
1296      return Node2 (N);
1297   end Expression_Copy;
1298
1299   function Expressions
1300      (N : Node_Id) return List_Id is
1301   begin
1302      pragma Assert (False
1303        or else NT (N).Nkind = N_Aggregate
1304        or else NT (N).Nkind = N_Attribute_Reference
1305        or else NT (N).Nkind = N_Extension_Aggregate
1306        or else NT (N).Nkind = N_If_Expression
1307        or else NT (N).Nkind = N_Indexed_Component);
1308      return List1 (N);
1309   end Expressions;
1310
1311   function First_Bit
1312      (N : Node_Id) return Node_Id is
1313   begin
1314      pragma Assert (False
1315        or else NT (N).Nkind = N_Component_Clause);
1316      return Node3 (N);
1317   end First_Bit;
1318
1319   function First_Inlined_Subprogram
1320      (N : Node_Id) return Entity_Id is
1321   begin
1322      pragma Assert (False
1323        or else NT (N).Nkind = N_Compilation_Unit);
1324      return Node3 (N);
1325   end First_Inlined_Subprogram;
1326
1327   function First_Name
1328      (N : Node_Id) return Boolean is
1329   begin
1330      pragma Assert (False
1331        or else NT (N).Nkind = N_With_Clause);
1332      return Flag5 (N);
1333   end First_Name;
1334
1335   function First_Named_Actual
1336      (N : Node_Id) return Node_Id is
1337   begin
1338      pragma Assert (False
1339        or else NT (N).Nkind = N_Entry_Call_Statement
1340        or else NT (N).Nkind = N_Function_Call
1341        or else NT (N).Nkind = N_Procedure_Call_Statement);
1342      return Node4 (N);
1343   end First_Named_Actual;
1344
1345   function First_Real_Statement
1346      (N : Node_Id) return Node_Id is
1347   begin
1348      pragma Assert (False
1349        or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
1350      return Node2 (N);
1351   end First_Real_Statement;
1352
1353   function First_Subtype_Link
1354      (N : Node_Id) return Entity_Id is
1355   begin
1356      pragma Assert (False
1357        or else NT (N).Nkind = N_Freeze_Entity);
1358      return Node5 (N);
1359   end First_Subtype_Link;
1360
1361   function Float_Truncate
1362      (N : Node_Id) return Boolean is
1363   begin
1364      pragma Assert (False
1365        or else NT (N).Nkind = N_Type_Conversion);
1366      return Flag11 (N);
1367   end Float_Truncate;
1368
1369   function Formal_Type_Definition
1370      (N : Node_Id) return Node_Id is
1371   begin
1372      pragma Assert (False
1373        or else NT (N).Nkind = N_Formal_Type_Declaration);
1374      return Node3 (N);
1375   end Formal_Type_Definition;
1376
1377   function Forwards_OK
1378      (N : Node_Id) return Boolean is
1379   begin
1380      pragma Assert (False
1381        or else NT (N).Nkind = N_Assignment_Statement);
1382      return Flag5 (N);
1383   end Forwards_OK;
1384
1385   function From_Aspect_Specification
1386      (N : Node_Id) return Boolean is
1387   begin
1388      pragma Assert (False
1389        or else NT (N).Nkind = N_Attribute_Definition_Clause
1390        or else NT (N).Nkind = N_Pragma);
1391      return Flag13 (N);
1392   end From_Aspect_Specification;
1393
1394   function From_At_End
1395      (N : Node_Id) return Boolean is
1396   begin
1397      pragma Assert (False
1398        or else NT (N).Nkind = N_Raise_Statement);
1399      return Flag4 (N);
1400   end From_At_End;
1401
1402   function From_At_Mod
1403      (N : Node_Id) return Boolean is
1404   begin
1405      pragma Assert (False
1406        or else NT (N).Nkind = N_Attribute_Definition_Clause);
1407      return Flag4 (N);
1408   end From_At_Mod;
1409
1410   function From_Conditional_Expression
1411      (N : Node_Id) return Boolean is
1412   begin
1413      pragma Assert (False
1414        or else NT (N).Nkind = N_Case_Statement
1415        or else NT (N).Nkind = N_If_Statement);
1416      return Flag1 (N);
1417   end From_Conditional_Expression;
1418
1419   function From_Default
1420      (N : Node_Id) return Boolean is
1421   begin
1422      pragma Assert (False
1423        or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
1424      return Flag6 (N);
1425   end From_Default;
1426
1427   function Generalized_Indexing
1428      (N : Node_Id) return Node_Id is
1429   begin
1430      pragma Assert (False
1431        or else NT (N).Nkind = N_Indexed_Component);
1432      return Node4 (N);
1433   end Generalized_Indexing;
1434
1435   function Generic_Associations
1436      (N : Node_Id) return List_Id is
1437   begin
1438      pragma Assert (False
1439        or else NT (N).Nkind = N_Formal_Package_Declaration
1440        or else NT (N).Nkind = N_Function_Instantiation
1441        or else NT (N).Nkind = N_Package_Instantiation
1442        or else NT (N).Nkind = N_Procedure_Instantiation);
1443      return List3 (N);
1444   end Generic_Associations;
1445
1446   function Generic_Formal_Declarations
1447      (N : Node_Id) return List_Id is
1448   begin
1449      pragma Assert (False
1450        or else NT (N).Nkind = N_Generic_Package_Declaration
1451        or else NT (N).Nkind = N_Generic_Subprogram_Declaration);
1452      return List2 (N);
1453   end Generic_Formal_Declarations;
1454
1455   function Generic_Parent
1456      (N : Node_Id) return Node_Id is
1457   begin
1458      pragma Assert (False
1459        or else NT (N).Nkind = N_Function_Specification
1460        or else NT (N).Nkind = N_Package_Specification
1461        or else NT (N).Nkind = N_Procedure_Specification);
1462      return Node5 (N);
1463   end Generic_Parent;
1464
1465   function Generic_Parent_Type
1466      (N : Node_Id) return Node_Id is
1467   begin
1468      pragma Assert (False
1469        or else NT (N).Nkind = N_Subtype_Declaration);
1470      return Node4 (N);
1471   end Generic_Parent_Type;
1472
1473   function Handled_Statement_Sequence
1474      (N : Node_Id) return Node_Id is
1475   begin
1476      pragma Assert (False
1477        or else NT (N).Nkind = N_Accept_Statement
1478        or else NT (N).Nkind = N_Block_Statement
1479        or else NT (N).Nkind = N_Entry_Body
1480        or else NT (N).Nkind = N_Extended_Return_Statement
1481        or else NT (N).Nkind = N_Package_Body
1482        or else NT (N).Nkind = N_Subprogram_Body
1483        or else NT (N).Nkind = N_Task_Body);
1484      return Node4 (N);
1485   end Handled_Statement_Sequence;
1486
1487   function Handler_List_Entry
1488      (N : Node_Id) return Node_Id is
1489   begin
1490      pragma Assert (False
1491        or else NT (N).Nkind = N_Object_Declaration);
1492      return Node2 (N);
1493   end Handler_List_Entry;
1494
1495   function Has_Created_Identifier
1496      (N : Node_Id) return Boolean is
1497   begin
1498      pragma Assert (False
1499        or else NT (N).Nkind = N_Block_Statement
1500        or else NT (N).Nkind = N_Loop_Statement);
1501      return Flag15 (N);
1502   end Has_Created_Identifier;
1503
1504   function Has_Dereference_Action
1505      (N : Node_Id) return Boolean is
1506   begin
1507      pragma Assert (False
1508        or else NT (N).Nkind = N_Explicit_Dereference);
1509      return Flag13 (N);
1510   end Has_Dereference_Action;
1511
1512   function Has_Dynamic_Length_Check
1513      (N : Node_Id) return Boolean is
1514   begin
1515      pragma Assert (False
1516        or else NT (N).Nkind in N_Subexpr);
1517      return Flag10 (N);
1518   end Has_Dynamic_Length_Check;
1519
1520   function Has_Dynamic_Range_Check
1521      (N : Node_Id) return Boolean is
1522   begin
1523      pragma Assert (False
1524        or else NT (N).Nkind =  N_Subtype_Declaration
1525        or else NT (N).Nkind in N_Subexpr);
1526      return Flag12 (N);
1527   end Has_Dynamic_Range_Check;
1528
1529   function Has_Init_Expression
1530      (N : Node_Id) return Boolean is
1531   begin
1532      pragma Assert (False
1533        or else NT (N).Nkind = N_Object_Declaration);
1534      return Flag14 (N);
1535   end Has_Init_Expression;
1536
1537   function Has_Local_Raise
1538      (N : Node_Id) return Boolean is
1539   begin
1540      pragma Assert (False
1541        or else NT (N).Nkind = N_Exception_Handler);
1542      return Flag8 (N);
1543   end Has_Local_Raise;
1544
1545   function Has_No_Elaboration_Code
1546      (N : Node_Id) return Boolean is
1547   begin
1548      pragma Assert (False
1549        or else NT (N).Nkind = N_Compilation_Unit);
1550      return Flag17 (N);
1551   end Has_No_Elaboration_Code;
1552
1553   function Has_Pragma_Suppress_All
1554      (N : Node_Id) return Boolean is
1555   begin
1556      pragma Assert (False
1557        or else NT (N).Nkind = N_Compilation_Unit);
1558      return Flag14 (N);
1559   end Has_Pragma_Suppress_All;
1560
1561   function Has_Private_View
1562      (N : Node_Id) return Boolean is
1563   begin
1564      pragma Assert (False
1565       or else NT (N).Nkind in N_Op
1566       or else NT (N).Nkind = N_Character_Literal
1567       or else NT (N).Nkind = N_Expanded_Name
1568       or else NT (N).Nkind = N_Identifier
1569       or else NT (N).Nkind = N_Operator_Symbol);
1570      return Flag11 (N);
1571   end Has_Private_View;
1572
1573   function Has_Relative_Deadline_Pragma
1574      (N : Node_Id) return Boolean is
1575   begin
1576      pragma Assert (False
1577        or else NT (N).Nkind = N_Subprogram_Body
1578        or else NT (N).Nkind = N_Task_Definition);
1579      return Flag9 (N);
1580   end Has_Relative_Deadline_Pragma;
1581
1582   function Has_Self_Reference
1583      (N : Node_Id) return Boolean is
1584   begin
1585      pragma Assert (False
1586        or else NT (N).Nkind = N_Aggregate
1587        or else NT (N).Nkind = N_Extension_Aggregate);
1588      return Flag13 (N);
1589   end Has_Self_Reference;
1590
1591   function Has_SP_Choice
1592      (N : Node_Id) return Boolean is
1593   begin
1594      pragma Assert (False
1595        or else NT (N).Nkind = N_Case_Expression_Alternative
1596        or else NT (N).Nkind = N_Case_Statement_Alternative
1597        or else NT (N).Nkind = N_Variant);
1598      return Flag15 (N);
1599   end Has_SP_Choice;
1600
1601   function Has_Storage_Size_Pragma
1602      (N : Node_Id) return Boolean is
1603   begin
1604      pragma Assert (False
1605        or else NT (N).Nkind = N_Task_Definition);
1606      return Flag5 (N);
1607   end Has_Storage_Size_Pragma;
1608
1609   function Has_Target_Names
1610      (N : Node_Id) return Boolean is
1611   begin
1612      pragma Assert (False
1613        or else NT (N).Nkind = N_Assignment_Statement);
1614      return Flag8 (N);
1615   end Has_Target_Names;
1616
1617   function Has_Wide_Character
1618      (N : Node_Id) return Boolean is
1619   begin
1620      pragma Assert (False
1621        or else NT (N).Nkind = N_String_Literal);
1622      return Flag11 (N);
1623   end Has_Wide_Character;
1624
1625   function Has_Wide_Wide_Character
1626      (N : Node_Id) return Boolean is
1627   begin
1628      pragma Assert (False
1629        or else NT (N).Nkind = N_String_Literal);
1630      return Flag13 (N);
1631   end Has_Wide_Wide_Character;
1632
1633   function Header_Size_Added
1634      (N : Node_Id) return Boolean is
1635   begin
1636      pragma Assert (False
1637        or else NT (N).Nkind = N_Attribute_Reference);
1638      return Flag11 (N);
1639   end Header_Size_Added;
1640
1641   function Hidden_By_Use_Clause
1642     (N : Node_Id) return Elist_Id is
1643   begin
1644      pragma Assert (False
1645        or else NT (N).Nkind = N_Use_Package_Clause
1646        or else NT (N).Nkind = N_Use_Type_Clause);
1647      return Elist5 (N);
1648   end Hidden_By_Use_Clause;
1649
1650   function High_Bound
1651      (N : Node_Id) return Node_Id is
1652   begin
1653      pragma Assert (False
1654        or else NT (N).Nkind = N_Range
1655        or else NT (N).Nkind = N_Real_Range_Specification
1656        or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
1657      return Node2 (N);
1658   end High_Bound;
1659
1660   function Identifier
1661      (N : Node_Id) return Node_Id is
1662   begin
1663      pragma Assert (False
1664        or else NT (N).Nkind = N_Aspect_Specification
1665        or else NT (N).Nkind = N_At_Clause
1666        or else NT (N).Nkind = N_Block_Statement
1667        or else NT (N).Nkind = N_Designator
1668        or else NT (N).Nkind = N_Enumeration_Representation_Clause
1669        or else NT (N).Nkind = N_Label
1670        or else NT (N).Nkind = N_Loop_Statement
1671        or else NT (N).Nkind = N_Record_Representation_Clause);
1672      return Node1 (N);
1673   end Identifier;
1674
1675   function Implicit_With
1676      (N : Node_Id) return Boolean is
1677   begin
1678      pragma Assert (False
1679        or else NT (N).Nkind = N_With_Clause);
1680      return Flag16 (N);
1681   end Implicit_With;
1682
1683   function Interface_List
1684      (N : Node_Id) return List_Id is
1685   begin
1686      pragma Assert (False
1687        or else NT (N).Nkind = N_Derived_Type_Definition
1688        or else NT (N).Nkind = N_Formal_Derived_Type_Definition
1689        or else NT (N).Nkind = N_Private_Extension_Declaration
1690        or else NT (N).Nkind = N_Protected_Type_Declaration
1691        or else NT (N).Nkind = N_Record_Definition
1692        or else NT (N).Nkind = N_Single_Protected_Declaration
1693        or else NT (N).Nkind = N_Single_Task_Declaration
1694        or else NT (N).Nkind = N_Task_Type_Declaration);
1695      return List2 (N);
1696   end Interface_List;
1697
1698   function Interface_Present
1699      (N : Node_Id) return Boolean is
1700   begin
1701      pragma Assert (False
1702        or else NT (N).Nkind = N_Derived_Type_Definition
1703        or else NT (N).Nkind = N_Record_Definition);
1704      return Flag16 (N);
1705   end Interface_Present;
1706
1707   function Import_Interface_Present
1708      (N : Node_Id) return Boolean is
1709   begin
1710      pragma Assert (False
1711        or else NT (N).Nkind = N_Pragma);
1712      return Flag16 (N);
1713   end Import_Interface_Present;
1714
1715   function In_Present
1716      (N : Node_Id) return Boolean is
1717   begin
1718      pragma Assert (False
1719        or else NT (N).Nkind = N_Formal_Object_Declaration
1720        or else NT (N).Nkind = N_Parameter_Specification);
1721      return Flag15 (N);
1722   end In_Present;
1723
1724   function Includes_Infinities
1725      (N : Node_Id) return Boolean is
1726   begin
1727      pragma Assert (False
1728        or else NT (N).Nkind = N_Range);
1729      return Flag11 (N);
1730   end Includes_Infinities;
1731
1732   function Incomplete_View
1733     (N : Node_Id) return Node_Id is
1734   begin
1735      pragma Assert (False
1736        or else NT (N).Nkind = N_Full_Type_Declaration);
1737      return Node2 (N);
1738   end Incomplete_View;
1739
1740   function Inherited_Discriminant
1741      (N : Node_Id) return Boolean is
1742   begin
1743      pragma Assert (False
1744        or else NT (N).Nkind = N_Component_Association);
1745      return Flag13 (N);
1746   end Inherited_Discriminant;
1747
1748   function Instance_Spec
1749      (N : Node_Id) return Node_Id is
1750   begin
1751      pragma Assert (False
1752        or else NT (N).Nkind = N_Formal_Package_Declaration
1753        or else NT (N).Nkind = N_Function_Instantiation
1754        or else NT (N).Nkind = N_Package_Instantiation
1755        or else NT (N).Nkind = N_Procedure_Instantiation);
1756      return Node5 (N);
1757   end Instance_Spec;
1758
1759   function Intval
1760      (N : Node_Id) return Uint is
1761   begin
1762      pragma Assert (False
1763        or else NT (N).Nkind = N_Integer_Literal);
1764      return Uint3 (N);
1765   end Intval;
1766
1767   function Is_Abort_Block
1768     (N : Node_Id) return Boolean is
1769   begin
1770      pragma Assert (False
1771        or else NT (N).Nkind = N_Block_Statement);
1772      return Flag4 (N);
1773   end Is_Abort_Block;
1774
1775   function Is_Accessibility_Actual
1776     (N : Node_Id) return Boolean is
1777   begin
1778      pragma Assert (False
1779        or else NT (N).Nkind = N_Parameter_Association);
1780      return Flag13 (N);
1781   end Is_Accessibility_Actual;
1782
1783   function Is_Analyzed_Pragma
1784      (N : Node_Id) return Boolean is
1785   begin
1786      pragma Assert (False
1787        or else NT (N).Nkind = N_Pragma);
1788      return Flag5 (N);
1789   end Is_Analyzed_Pragma;
1790
1791   function Is_Asynchronous_Call_Block
1792      (N : Node_Id) return Boolean is
1793   begin
1794      pragma Assert (False
1795        or else NT (N).Nkind = N_Block_Statement);
1796      return Flag7 (N);
1797   end Is_Asynchronous_Call_Block;
1798
1799   function Is_Boolean_Aspect
1800      (N : Node_Id) return Boolean is
1801   begin
1802      pragma Assert (False
1803        or else NT (N).Nkind = N_Aspect_Specification);
1804      return Flag16 (N);
1805   end Is_Boolean_Aspect;
1806
1807   function Is_Checked
1808      (N : Node_Id) return Boolean is
1809   begin
1810      pragma Assert (False
1811        or else NT (N).Nkind = N_Aspect_Specification
1812        or else NT (N).Nkind = N_Pragma);
1813      return Flag11 (N);
1814   end Is_Checked;
1815
1816   function Is_Checked_Ghost_Pragma
1817      (N : Node_Id) return Boolean is
1818   begin
1819      pragma Assert (False
1820        or else NT (N).Nkind = N_Pragma);
1821      return Flag3 (N);
1822   end Is_Checked_Ghost_Pragma;
1823
1824   function Is_Component_Left_Opnd
1825      (N : Node_Id) return Boolean is
1826   begin
1827      pragma Assert (False
1828        or else NT (N).Nkind = N_Op_Concat);
1829      return Flag13 (N);
1830   end Is_Component_Left_Opnd;
1831
1832   function Is_Component_Right_Opnd
1833      (N : Node_Id) return Boolean is
1834   begin
1835      pragma Assert (False
1836        or else NT (N).Nkind = N_Op_Concat);
1837      return Flag14 (N);
1838   end Is_Component_Right_Opnd;
1839
1840   function Is_Controlling_Actual
1841      (N : Node_Id) return Boolean is
1842   begin
1843      pragma Assert (False
1844        or else NT (N).Nkind in N_Subexpr);
1845      return Flag16 (N);
1846   end Is_Controlling_Actual;
1847
1848   function Is_Declaration_Level_Node
1849      (N : Node_Id) return Boolean is
1850   begin
1851      pragma Assert (False
1852        or else NT (N).Nkind = N_Call_Marker
1853        or else NT (N).Nkind = N_Function_Instantiation
1854        or else NT (N).Nkind = N_Package_Instantiation
1855        or else NT (N).Nkind = N_Procedure_Instantiation);
1856      return Flag5 (N);
1857   end Is_Declaration_Level_Node;
1858
1859   function Is_Delayed_Aspect
1860      (N : Node_Id) return Boolean is
1861   begin
1862      pragma Assert (False
1863        or else NT (N).Nkind = N_Aspect_Specification
1864        or else NT (N).Nkind = N_Attribute_Definition_Clause
1865        or else NT (N).Nkind = N_Pragma);
1866      return Flag14 (N);
1867   end Is_Delayed_Aspect;
1868
1869   function Is_Disabled
1870      (N : Node_Id) return Boolean is
1871   begin
1872      pragma Assert (False
1873        or else NT (N).Nkind = N_Aspect_Specification
1874        or else NT (N).Nkind = N_Pragma);
1875      return Flag15 (N);
1876   end Is_Disabled;
1877
1878   function Is_Dispatching_Call
1879      (N : Node_Id) return Boolean is
1880   begin
1881      pragma Assert (False
1882        or else NT (N).Nkind = N_Call_Marker);
1883      return Flag6 (N);
1884   end Is_Dispatching_Call;
1885
1886   function Is_Dynamic_Coextension
1887      (N : Node_Id) return Boolean is
1888   begin
1889      pragma Assert (False
1890        or else NT (N).Nkind = N_Allocator);
1891      return Flag18 (N);
1892   end Is_Dynamic_Coextension;
1893
1894   function Is_Effective_Use_Clause
1895      (N : Node_Id) return Boolean is
1896   begin
1897      pragma Assert (False
1898        or else NT (N).Nkind = N_Use_Package_Clause
1899        or else NT (N).Nkind = N_Use_Type_Clause);
1900      return Flag1 (N);
1901   end Is_Effective_Use_Clause;
1902
1903   function Is_Elaboration_Checks_OK_Node
1904      (N : Node_Id) return Boolean is
1905   begin
1906      pragma Assert (False
1907        or else NT (N).Nkind = N_Assignment_Statement
1908        or else NT (N).Nkind = N_Attribute_Reference
1909        or else NT (N).Nkind = N_Call_Marker
1910        or else NT (N).Nkind = N_Entry_Call_Statement
1911        or else NT (N).Nkind = N_Expanded_Name
1912        or else NT (N).Nkind = N_Function_Call
1913        or else NT (N).Nkind = N_Function_Instantiation
1914        or else NT (N).Nkind = N_Identifier
1915        or else NT (N).Nkind = N_Package_Instantiation
1916        or else NT (N).Nkind = N_Procedure_Call_Statement
1917        or else NT (N).Nkind = N_Procedure_Instantiation
1918        or else NT (N).Nkind = N_Requeue_Statement);
1919      return Flag1 (N);
1920   end Is_Elaboration_Checks_OK_Node;
1921
1922   function Is_Elaboration_Code
1923      (N : Node_Id) return Boolean is
1924   begin
1925      pragma Assert (False
1926        or else NT (N).Nkind = N_Assignment_Statement);
1927      return Flag9 (N);
1928   end Is_Elaboration_Code;
1929
1930   function Is_Elaboration_Warnings_OK_Node
1931      (N : Node_Id) return Boolean is
1932   begin
1933      pragma Assert (False
1934        or else NT (N).Nkind = N_Call_Marker
1935        or else NT (N).Nkind = N_Entry_Call_Statement
1936        or else NT (N).Nkind = N_Function_Call
1937        or else NT (N).Nkind = N_Function_Instantiation
1938        or else NT (N).Nkind = N_Package_Instantiation
1939        or else NT (N).Nkind = N_Procedure_Call_Statement
1940        or else NT (N).Nkind = N_Procedure_Instantiation
1941        or else NT (N).Nkind = N_Requeue_Statement);
1942      return Flag3 (N);
1943   end Is_Elaboration_Warnings_OK_Node;
1944
1945   function Is_Elsif
1946      (N : Node_Id) return Boolean is
1947   begin
1948      pragma Assert (False
1949        or else NT (N).Nkind = N_If_Expression);
1950      return Flag13 (N);
1951   end Is_Elsif;
1952
1953   function Is_Entry_Barrier_Function
1954      (N : Node_Id) return Boolean is
1955   begin
1956      pragma Assert (False
1957        or else NT (N).Nkind = N_Subprogram_Body
1958        or else NT (N).Nkind = N_Subprogram_Declaration);
1959      return Flag8 (N);
1960   end Is_Entry_Barrier_Function;
1961
1962   function Is_Expanded_Build_In_Place_Call
1963      (N : Node_Id) return Boolean is
1964   begin
1965      pragma Assert (False
1966        or else NT (N).Nkind = N_Function_Call);
1967      return Flag11 (N);
1968   end Is_Expanded_Build_In_Place_Call;
1969
1970   function Is_Expanded_Contract
1971      (N : Node_Id) return Boolean is
1972   begin
1973      pragma Assert (False
1974        or else NT (N).Nkind = N_Contract);
1975      return Flag1 (N);
1976   end Is_Expanded_Contract;
1977
1978   function Is_Finalization_Wrapper
1979      (N : Node_Id) return Boolean is
1980   begin
1981      pragma Assert (False
1982        or else NT (N).Nkind = N_Block_Statement);
1983      return Flag9 (N);
1984   end Is_Finalization_Wrapper;
1985
1986   function Is_Folded_In_Parser
1987      (N : Node_Id) return Boolean is
1988   begin
1989      pragma Assert (False
1990        or else NT (N).Nkind = N_String_Literal);
1991      return Flag4 (N);
1992   end Is_Folded_In_Parser;
1993
1994   function Is_Generic_Contract_Pragma
1995      (N : Node_Id) return Boolean is
1996   begin
1997      pragma Assert (False
1998        or else NT (N).Nkind = N_Pragma);
1999      return Flag2 (N);
2000   end Is_Generic_Contract_Pragma;
2001
2002   function Is_Ignored
2003      (N : Node_Id) return Boolean is
2004   begin
2005      pragma Assert (False
2006        or else NT (N).Nkind = N_Aspect_Specification
2007        or else NT (N).Nkind = N_Pragma);
2008      return Flag9 (N);
2009   end Is_Ignored;
2010
2011   function Is_Ignored_Ghost_Pragma
2012      (N : Node_Id) return Boolean is
2013   begin
2014      pragma Assert (False
2015        or else NT (N).Nkind = N_Pragma);
2016      return Flag8 (N);
2017   end Is_Ignored_Ghost_Pragma;
2018
2019   function Is_In_Discriminant_Check
2020      (N : Node_Id) return Boolean is
2021   begin
2022      pragma Assert (False
2023        or else NT (N).Nkind = N_Selected_Component);
2024      return Flag11 (N);
2025   end Is_In_Discriminant_Check;
2026
2027   function Is_Inherited_Pragma
2028      (N : Node_Id) return Boolean is
2029   begin
2030      pragma Assert (False
2031        or else NT (N).Nkind = N_Pragma);
2032      return Flag4 (N);
2033   end Is_Inherited_Pragma;
2034
2035   function Is_Initialization_Block
2036      (N : Node_Id) return Boolean is
2037   begin
2038      pragma Assert (False
2039        or else NT (N).Nkind = N_Block_Statement);
2040      return Flag1 (N);
2041   end Is_Initialization_Block;
2042
2043   function Is_Known_Guaranteed_ABE
2044      (N : Node_Id) return Boolean is
2045   begin
2046      pragma Assert (False
2047        or else NT (N).Nkind = N_Call_Marker
2048        or else NT (N).Nkind = N_Formal_Package_Declaration
2049        or else NT (N).Nkind = N_Function_Call
2050        or else NT (N).Nkind = N_Function_Instantiation
2051        or else NT (N).Nkind = N_Package_Instantiation
2052        or else NT (N).Nkind = N_Procedure_Call_Statement
2053        or else NT (N).Nkind = N_Procedure_Instantiation);
2054      return Flag18 (N);
2055   end Is_Known_Guaranteed_ABE;
2056
2057   function Is_Machine_Number
2058      (N : Node_Id) return Boolean is
2059   begin
2060      pragma Assert (False
2061        or else NT (N).Nkind = N_Real_Literal);
2062      return Flag11 (N);
2063   end Is_Machine_Number;
2064
2065   function Is_Null_Loop
2066      (N : Node_Id) return Boolean is
2067   begin
2068      pragma Assert (False
2069        or else NT (N).Nkind = N_Loop_Statement);
2070      return Flag16 (N);
2071   end Is_Null_Loop;
2072
2073   function Is_Overloaded
2074      (N : Node_Id) return Boolean is
2075   begin
2076      pragma Assert (False
2077        or else NT (N).Nkind in N_Subexpr);
2078      return Flag5 (N);
2079   end Is_Overloaded;
2080
2081   function Is_Power_Of_2_For_Shift
2082      (N : Node_Id) return Boolean is
2083   begin
2084      pragma Assert (False
2085        or else NT (N).Nkind = N_Op_Expon);
2086      return Flag13 (N);
2087   end Is_Power_Of_2_For_Shift;
2088
2089   function Is_Prefixed_Call
2090      (N : Node_Id) return Boolean is
2091   begin
2092      pragma Assert (False
2093        or else NT (N).Nkind = N_Selected_Component);
2094      return Flag17 (N);
2095   end Is_Prefixed_Call;
2096
2097   function Is_Protected_Subprogram_Body
2098      (N : Node_Id) return Boolean is
2099   begin
2100      pragma Assert (False
2101        or else NT (N).Nkind = N_Subprogram_Body);
2102      return Flag7 (N);
2103   end Is_Protected_Subprogram_Body;
2104
2105   function Is_Qualified_Universal_Literal
2106      (N : Node_Id) return Boolean is
2107   begin
2108      pragma Assert (False
2109        or else NT (N).Nkind = N_Qualified_Expression);
2110      return Flag4 (N);
2111   end Is_Qualified_Universal_Literal;
2112
2113   function Is_Read
2114      (N : Node_Id) return Boolean is
2115   begin
2116      pragma Assert (False
2117        or else NT (N).Nkind = N_Variable_Reference_Marker);
2118      return Flag1 (N);
2119   end Is_Read;
2120
2121   function Is_Source_Call
2122      (N : Node_Id) return Boolean is
2123   begin
2124      pragma Assert (False
2125        or else NT (N).Nkind = N_Call_Marker);
2126      return Flag4 (N);
2127   end Is_Source_Call;
2128
2129   function Is_SPARK_Mode_On_Node
2130      (N : Node_Id) return Boolean is
2131   begin
2132      pragma Assert (False
2133        or else NT (N).Nkind = N_Assignment_Statement
2134        or else NT (N).Nkind = N_Attribute_Reference
2135        or else NT (N).Nkind = N_Call_Marker
2136        or else NT (N).Nkind = N_Entry_Call_Statement
2137        or else NT (N).Nkind = N_Expanded_Name
2138        or else NT (N).Nkind = N_Function_Call
2139        or else NT (N).Nkind = N_Function_Instantiation
2140        or else NT (N).Nkind = N_Identifier
2141        or else NT (N).Nkind = N_Package_Instantiation
2142        or else NT (N).Nkind = N_Procedure_Call_Statement
2143        or else NT (N).Nkind = N_Procedure_Instantiation
2144        or else NT (N).Nkind = N_Requeue_Statement);
2145      return Flag2 (N);
2146   end Is_SPARK_Mode_On_Node;
2147
2148   function Is_Static_Coextension
2149      (N : Node_Id) return Boolean is
2150   begin
2151      pragma Assert (False
2152        or else NT (N).Nkind = N_Allocator);
2153      return Flag14 (N);
2154   end Is_Static_Coextension;
2155
2156   function Is_Static_Expression
2157      (N : Node_Id) return Boolean is
2158   begin
2159      pragma Assert (False
2160        or else NT (N).Nkind in N_Subexpr);
2161      return Flag6 (N);
2162   end Is_Static_Expression;
2163
2164   function Is_Subprogram_Descriptor
2165      (N : Node_Id) return Boolean is
2166   begin
2167      pragma Assert (False
2168        or else NT (N).Nkind = N_Object_Declaration);
2169      return Flag16 (N);
2170   end Is_Subprogram_Descriptor;
2171
2172   function Is_Task_Allocation_Block
2173      (N : Node_Id) return Boolean is
2174   begin
2175      pragma Assert (False
2176        or else NT (N).Nkind = N_Block_Statement);
2177      return Flag6 (N);
2178   end Is_Task_Allocation_Block;
2179
2180   function Is_Task_Body_Procedure
2181      (N : Node_Id) return Boolean is
2182   begin
2183      pragma Assert (False
2184        or else NT (N).Nkind = N_Subprogram_Body
2185        or else NT (N).Nkind = N_Subprogram_Declaration);
2186      return Flag1 (N);
2187   end Is_Task_Body_Procedure;
2188
2189   function Is_Task_Master
2190      (N : Node_Id) return Boolean is
2191   begin
2192      pragma Assert (False
2193        or else NT (N).Nkind = N_Block_Statement
2194        or else NT (N).Nkind = N_Subprogram_Body
2195        or else NT (N).Nkind = N_Task_Body);
2196      return Flag5 (N);
2197   end Is_Task_Master;
2198
2199   function Is_Write
2200      (N : Node_Id) return Boolean is
2201   begin
2202      pragma Assert (False
2203        or else NT (N).Nkind = N_Variable_Reference_Marker);
2204      return Flag2 (N);
2205   end Is_Write;
2206
2207   function Iteration_Scheme
2208      (N : Node_Id) return Node_Id is
2209   begin
2210      pragma Assert (False
2211        or else NT (N).Nkind = N_Loop_Statement);
2212      return Node2 (N);
2213   end Iteration_Scheme;
2214
2215   function Iterator_Specification
2216     (N : Node_Id) return Node_Id is
2217   begin
2218      pragma Assert (False
2219        or else NT (N).Nkind = N_Iteration_Scheme
2220        or else NT (N).Nkind = N_Quantified_Expression
2221        or else NT (N).Nkind = N_Reduction_Expression);
2222      return Node2 (N);
2223   end Iterator_Specification;
2224
2225   function Itype
2226      (N : Node_Id) return Node_Id is
2227   begin
2228      pragma Assert (False
2229      or else NT (N).Nkind = N_Itype_Reference);
2230      return Node1 (N);
2231   end Itype;
2232
2233   function Kill_Range_Check
2234      (N : Node_Id) return Boolean is
2235   begin
2236      pragma Assert (False
2237        or else NT (N).Nkind = N_Unchecked_Type_Conversion);
2238      return Flag11 (N);
2239   end Kill_Range_Check;
2240
2241   function Label_Construct
2242      (N : Node_Id) return Node_Id is
2243   begin
2244      pragma Assert (False
2245        or else NT (N).Nkind = N_Implicit_Label_Declaration);
2246      return Node2 (N);
2247   end Label_Construct;
2248
2249   function Last_Bit
2250      (N : Node_Id) return Node_Id is
2251   begin
2252      pragma Assert (False
2253        or else NT (N).Nkind = N_Component_Clause);
2254      return Node4 (N);
2255   end Last_Bit;
2256
2257   function Last_Name
2258      (N : Node_Id) return Boolean is
2259   begin
2260      pragma Assert (False
2261        or else NT (N).Nkind = N_With_Clause);
2262      return Flag6 (N);
2263   end Last_Name;
2264
2265   function Left_Opnd
2266      (N : Node_Id) return Node_Id is
2267   begin
2268      pragma Assert (False
2269        or else NT (N).Nkind = N_And_Then
2270        or else NT (N).Nkind = N_In
2271        or else NT (N).Nkind = N_Not_In
2272        or else NT (N).Nkind = N_Or_Else
2273        or else NT (N).Nkind in N_Binary_Op);
2274      return Node2 (N);
2275   end Left_Opnd;
2276
2277   function Library_Unit
2278      (N : Node_Id) return Node_Id is
2279   begin
2280      pragma Assert (False
2281        or else NT (N).Nkind = N_Compilation_Unit
2282        or else NT (N).Nkind = N_Package_Body_Stub
2283        or else NT (N).Nkind = N_Protected_Body_Stub
2284        or else NT (N).Nkind = N_Subprogram_Body_Stub
2285        or else NT (N).Nkind = N_Task_Body_Stub
2286        or else NT (N).Nkind = N_With_Clause);
2287      return Node4 (N);
2288   end Library_Unit;
2289
2290   function Limited_View_Installed
2291      (N : Node_Id) return Boolean is
2292   begin
2293      pragma Assert (False
2294        or else NT (N).Nkind = N_Package_Specification
2295        or else NT (N).Nkind = N_With_Clause);
2296      return Flag18 (N);
2297   end Limited_View_Installed;
2298
2299   function Limited_Present
2300      (N : Node_Id) return Boolean is
2301   begin
2302      pragma Assert (False
2303        or else NT (N).Nkind = N_Derived_Type_Definition
2304        or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2305        or else NT (N).Nkind = N_Formal_Private_Type_Definition
2306        or else NT (N).Nkind = N_Private_Extension_Declaration
2307        or else NT (N).Nkind = N_Private_Type_Declaration
2308        or else NT (N).Nkind = N_Record_Definition
2309        or else NT (N).Nkind = N_With_Clause);
2310      return Flag17 (N);
2311   end Limited_Present;
2312
2313   function Literals
2314      (N : Node_Id) return List_Id is
2315   begin
2316      pragma Assert (False
2317        or else NT (N).Nkind = N_Enumeration_Type_Definition);
2318      return List1 (N);
2319   end Literals;
2320
2321   function Local_Raise_Not_OK
2322      (N : Node_Id) return Boolean is
2323   begin
2324      pragma Assert (False
2325        or else NT (N).Nkind = N_Exception_Handler);
2326      return Flag7 (N);
2327   end Local_Raise_Not_OK;
2328
2329   function Local_Raise_Statements
2330      (N : Node_Id) return Elist_Id is
2331   begin
2332      pragma Assert (False
2333        or else NT (N).Nkind = N_Exception_Handler);
2334      return Elist1 (N);
2335   end Local_Raise_Statements;
2336
2337   function Loop_Actions
2338      (N : Node_Id) return List_Id is
2339   begin
2340      pragma Assert (False
2341        or else NT (N).Nkind = N_Component_Association
2342        or else NT (N).Nkind = N_Iterated_Component_Association);
2343      return List2 (N);
2344   end Loop_Actions;
2345
2346   function Loop_Parameter_Specification
2347      (N : Node_Id) return Node_Id is
2348   begin
2349      pragma Assert (False
2350        or else NT (N).Nkind = N_Iteration_Scheme
2351        or else NT (N).Nkind = N_Quantified_Expression
2352        or else NT (N).Nkind = N_Reduction_Expression);
2353      return Node4 (N);
2354   end Loop_Parameter_Specification;
2355
2356   function Low_Bound
2357      (N : Node_Id) return Node_Id is
2358   begin
2359      pragma Assert (False
2360        or else NT (N).Nkind = N_Range
2361        or else NT (N).Nkind = N_Real_Range_Specification
2362        or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
2363      return Node1 (N);
2364   end Low_Bound;
2365
2366   function Mod_Clause
2367      (N : Node_Id) return Node_Id is
2368   begin
2369      pragma Assert (False
2370        or else NT (N).Nkind = N_Record_Representation_Clause);
2371      return Node2 (N);
2372   end Mod_Clause;
2373
2374   function More_Ids
2375      (N : Node_Id) return Boolean is
2376   begin
2377      pragma Assert (False
2378        or else NT (N).Nkind = N_Component_Declaration
2379        or else NT (N).Nkind = N_Discriminant_Specification
2380        or else NT (N).Nkind = N_Exception_Declaration
2381        or else NT (N).Nkind = N_Formal_Object_Declaration
2382        or else NT (N).Nkind = N_Number_Declaration
2383        or else NT (N).Nkind = N_Object_Declaration
2384        or else NT (N).Nkind = N_Parameter_Specification
2385        or else NT (N).Nkind = N_Use_Package_Clause
2386        or else NT (N).Nkind = N_Use_Type_Clause);
2387      return Flag5 (N);
2388   end More_Ids;
2389
2390   function Must_Be_Byte_Aligned
2391      (N : Node_Id) return Boolean is
2392   begin
2393      pragma Assert (False
2394        or else NT (N).Nkind = N_Attribute_Reference);
2395      return Flag14 (N);
2396   end Must_Be_Byte_Aligned;
2397
2398   function Must_Not_Freeze
2399      (N : Node_Id) return Boolean is
2400   begin
2401      pragma Assert (False
2402        or else NT (N).Nkind = N_Subtype_Indication
2403        or else NT (N).Nkind in N_Subexpr);
2404      return Flag8 (N);
2405   end Must_Not_Freeze;
2406
2407   function Must_Not_Override
2408      (N : Node_Id) return Boolean is
2409   begin
2410      pragma Assert (False
2411        or else NT (N).Nkind = N_Entry_Declaration
2412        or else NT (N).Nkind = N_Function_Instantiation
2413        or else NT (N).Nkind = N_Function_Specification
2414        or else NT (N).Nkind = N_Procedure_Instantiation
2415        or else NT (N).Nkind = N_Procedure_Specification);
2416      return Flag15 (N);
2417   end Must_Not_Override;
2418
2419   function Must_Override
2420      (N : Node_Id) return Boolean is
2421   begin
2422      pragma Assert (False
2423        or else NT (N).Nkind = N_Entry_Declaration
2424        or else NT (N).Nkind = N_Function_Instantiation
2425        or else NT (N).Nkind = N_Function_Specification
2426        or else NT (N).Nkind = N_Procedure_Instantiation
2427        or else NT (N).Nkind = N_Procedure_Specification);
2428      return Flag14 (N);
2429   end Must_Override;
2430
2431   function Name
2432      (N : Node_Id) return Node_Id is
2433   begin
2434      pragma Assert (False
2435        or else NT (N).Nkind = N_Assignment_Statement
2436        or else NT (N).Nkind = N_Attribute_Definition_Clause
2437        or else NT (N).Nkind = N_Defining_Program_Unit_Name
2438        or else NT (N).Nkind = N_Designator
2439        or else NT (N).Nkind = N_Entry_Call_Statement
2440        or else NT (N).Nkind = N_Exception_Renaming_Declaration
2441        or else NT (N).Nkind = N_Exit_Statement
2442        or else NT (N).Nkind = N_Formal_Package_Declaration
2443        or else NT (N).Nkind = N_Function_Call
2444        or else NT (N).Nkind = N_Function_Instantiation
2445        or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
2446        or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
2447        or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
2448        or else NT (N).Nkind = N_Goto_Statement
2449        or else NT (N).Nkind = N_Iterator_Specification
2450        or else NT (N).Nkind = N_Object_Renaming_Declaration
2451        or else NT (N).Nkind = N_Package_Instantiation
2452        or else NT (N).Nkind = N_Package_Renaming_Declaration
2453        or else NT (N).Nkind = N_Procedure_Call_Statement
2454        or else NT (N).Nkind = N_Procedure_Instantiation
2455        or else NT (N).Nkind = N_Raise_Expression
2456        or else NT (N).Nkind = N_Raise_Statement
2457        or else NT (N).Nkind = N_Requeue_Statement
2458        or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
2459        or else NT (N).Nkind = N_Subunit
2460        or else NT (N).Nkind = N_Use_Package_Clause
2461        or else NT (N).Nkind = N_Variant_Part
2462        or else NT (N).Nkind = N_With_Clause);
2463      return Node2 (N);
2464   end Name;
2465
2466   function Names
2467      (N : Node_Id) return List_Id is
2468   begin
2469      pragma Assert (False
2470        or else NT (N).Nkind = N_Abort_Statement);
2471      return List2 (N);
2472   end Names;
2473
2474   function Next_Entity
2475      (N : Node_Id) return Node_Id is
2476   begin
2477      pragma Assert (False
2478        or else NT (N).Nkind = N_Defining_Character_Literal
2479        or else NT (N).Nkind = N_Defining_Identifier
2480        or else NT (N).Nkind = N_Defining_Operator_Symbol);
2481      return Node2 (N);
2482   end Next_Entity;
2483
2484   function Next_Exit_Statement
2485     (N : Node_Id) return Node_Id is
2486   begin
2487      pragma Assert (False
2488        or else NT (N).Nkind = N_Exit_Statement);
2489      return Node3 (N);
2490   end Next_Exit_Statement;
2491
2492   function Next_Implicit_With
2493     (N : Node_Id) return Node_Id is
2494   begin
2495      pragma Assert (False
2496        or else NT (N).Nkind = N_With_Clause);
2497      return Node3 (N);
2498   end Next_Implicit_With;
2499
2500   function Next_Named_Actual
2501      (N : Node_Id) return Node_Id is
2502   begin
2503      pragma Assert (False
2504        or else NT (N).Nkind = N_Parameter_Association);
2505      return Node4 (N);
2506   end Next_Named_Actual;
2507
2508   function Next_Pragma
2509      (N : Node_Id) return Node_Id is
2510   begin
2511      pragma Assert (False
2512        or else NT (N).Nkind = N_Pragma);
2513      return Node1 (N);
2514   end Next_Pragma;
2515
2516   function Next_Rep_Item
2517      (N : Node_Id) return Node_Id is
2518   begin
2519      pragma Assert (False
2520        or else NT (N).Nkind = N_Aspect_Specification
2521        or else NT (N).Nkind = N_Attribute_Definition_Clause
2522        or else NT (N).Nkind = N_Enumeration_Representation_Clause
2523        or else NT (N).Nkind = N_Pragma
2524        or else NT (N).Nkind = N_Record_Representation_Clause);
2525      return Node5 (N);
2526   end Next_Rep_Item;
2527
2528   function Next_Use_Clause
2529      (N : Node_Id) return Node_Id is
2530   begin
2531      pragma Assert (False
2532        or else NT (N).Nkind = N_Use_Package_Clause
2533        or else NT (N).Nkind = N_Use_Type_Clause);
2534      return Node3 (N);
2535   end Next_Use_Clause;
2536
2537   function No_Ctrl_Actions
2538      (N : Node_Id) return Boolean is
2539   begin
2540      pragma Assert (False
2541        or else NT (N).Nkind = N_Assignment_Statement);
2542      return Flag7 (N);
2543   end No_Ctrl_Actions;
2544
2545   function No_Elaboration_Check
2546      (N : Node_Id) return Boolean is
2547   begin
2548      pragma Assert (False
2549        or else NT (N).Nkind = N_Function_Call
2550        or else NT (N).Nkind = N_Procedure_Call_Statement);
2551      return Flag4 (N);
2552   end No_Elaboration_Check;
2553
2554   function No_Entities_Ref_In_Spec
2555      (N : Node_Id) return Boolean is
2556   begin
2557      pragma Assert (False
2558        or else NT (N).Nkind = N_With_Clause);
2559      return Flag8 (N);
2560   end No_Entities_Ref_In_Spec;
2561
2562   function No_Initialization
2563      (N : Node_Id) return Boolean is
2564   begin
2565      pragma Assert (False
2566        or else NT (N).Nkind = N_Allocator
2567        or else NT (N).Nkind = N_Object_Declaration);
2568      return Flag13 (N);
2569   end No_Initialization;
2570
2571   function No_Minimize_Eliminate
2572      (N : Node_Id) return Boolean is
2573   begin
2574      pragma Assert (False
2575        or else NT (N).Nkind = N_In
2576        or else NT (N).Nkind = N_Not_In);
2577      return Flag17 (N);
2578   end No_Minimize_Eliminate;
2579
2580   function No_Side_Effect_Removal
2581      (N : Node_Id) return Boolean is
2582   begin
2583      pragma Assert (False
2584        or else NT (N).Nkind = N_Function_Call);
2585      return Flag17 (N);
2586   end No_Side_Effect_Removal;
2587
2588   function No_Truncation
2589      (N : Node_Id) return Boolean is
2590   begin
2591      pragma Assert (False
2592        or else NT (N).Nkind = N_Unchecked_Type_Conversion);
2593      return Flag17 (N);
2594   end No_Truncation;
2595
2596   function Null_Excluding_Subtype
2597      (N : Node_Id) return Boolean is
2598   begin
2599      pragma Assert (False
2600        or else NT (N).Nkind = N_Access_To_Object_Definition);
2601      return Flag16 (N);
2602   end Null_Excluding_Subtype;
2603
2604   function Null_Exclusion_Present
2605      (N : Node_Id) return Boolean is
2606   begin
2607      pragma Assert (False
2608        or else NT (N).Nkind = N_Access_Definition
2609        or else NT (N).Nkind = N_Access_Function_Definition
2610        or else NT (N).Nkind = N_Access_Procedure_Definition
2611        or else NT (N).Nkind = N_Access_To_Object_Definition
2612        or else NT (N).Nkind = N_Allocator
2613        or else NT (N).Nkind = N_Component_Definition
2614        or else NT (N).Nkind = N_Derived_Type_Definition
2615        or else NT (N).Nkind = N_Discriminant_Specification
2616        or else NT (N).Nkind = N_Formal_Object_Declaration
2617        or else NT (N).Nkind = N_Function_Specification
2618        or else NT (N).Nkind = N_Object_Declaration
2619        or else NT (N).Nkind = N_Object_Renaming_Declaration
2620        or else NT (N).Nkind = N_Parameter_Specification
2621        or else NT (N).Nkind = N_Subtype_Declaration);
2622      return Flag11 (N);
2623   end Null_Exclusion_Present;
2624
2625   function Null_Exclusion_In_Return_Present
2626      (N : Node_Id) return Boolean is
2627   begin
2628      pragma Assert (False
2629        or else NT (N).Nkind = N_Access_Function_Definition);
2630      return Flag14 (N);
2631   end Null_Exclusion_In_Return_Present;
2632
2633   function Null_Present
2634      (N : Node_Id) return Boolean is
2635   begin
2636      pragma Assert (False
2637        or else NT (N).Nkind = N_Component_List
2638        or else NT (N).Nkind = N_Procedure_Specification
2639        or else NT (N).Nkind = N_Record_Definition);
2640      return Flag13 (N);
2641   end Null_Present;
2642
2643   function Null_Record_Present
2644      (N : Node_Id) return Boolean is
2645   begin
2646      pragma Assert (False
2647        or else NT (N).Nkind = N_Aggregate
2648        or else NT (N).Nkind = N_Extension_Aggregate);
2649      return Flag17 (N);
2650   end Null_Record_Present;
2651
2652   function Null_Statement
2653      (N : Node_Id) return Node_Id is
2654   begin
2655      pragma Assert (False
2656        or else NT (N).Nkind = N_Procedure_Specification);
2657      return Node2 (N);
2658   end Null_Statement;
2659
2660   function Object_Definition
2661      (N : Node_Id) return Node_Id is
2662   begin
2663      pragma Assert (False
2664        or else NT (N).Nkind = N_Object_Declaration);
2665      return Node4 (N);
2666   end Object_Definition;
2667
2668   function Of_Present
2669      (N : Node_Id) return Boolean is
2670   begin
2671      pragma Assert (False
2672        or else NT (N).Nkind = N_Iterator_Specification);
2673      return Flag16 (N);
2674   end Of_Present;
2675
2676   function Original_Discriminant
2677      (N : Node_Id) return Node_Id is
2678   begin
2679      pragma Assert (False
2680        or else NT (N).Nkind = N_Identifier);
2681      return Node2 (N);
2682   end Original_Discriminant;
2683
2684   function Original_Entity
2685      (N : Node_Id) return Entity_Id is
2686   begin
2687      pragma Assert (False
2688        or else NT (N).Nkind = N_Integer_Literal
2689        or else NT (N).Nkind = N_Real_Literal);
2690      return Node2 (N);
2691   end Original_Entity;
2692
2693   function Others_Discrete_Choices
2694      (N : Node_Id) return List_Id is
2695   begin
2696      pragma Assert (False
2697        or else NT (N).Nkind = N_Others_Choice);
2698      return List1 (N);
2699   end Others_Discrete_Choices;
2700
2701   function Out_Present
2702      (N : Node_Id) return Boolean is
2703   begin
2704      pragma Assert (False
2705        or else NT (N).Nkind = N_Formal_Object_Declaration
2706        or else NT (N).Nkind = N_Parameter_Specification);
2707      return Flag17 (N);
2708   end Out_Present;
2709
2710   function Parameter_Associations
2711      (N : Node_Id) return List_Id is
2712   begin
2713      pragma Assert (False
2714        or else NT (N).Nkind = N_Entry_Call_Statement
2715        or else NT (N).Nkind = N_Function_Call
2716        or else NT (N).Nkind = N_Procedure_Call_Statement);
2717      return List3 (N);
2718   end Parameter_Associations;
2719
2720   function Parameter_Specifications
2721      (N : Node_Id) return List_Id is
2722   begin
2723      pragma Assert (False
2724        or else NT (N).Nkind = N_Accept_Statement
2725        or else NT (N).Nkind = N_Access_Function_Definition
2726        or else NT (N).Nkind = N_Access_Procedure_Definition
2727        or else NT (N).Nkind = N_Entry_Body_Formal_Part
2728        or else NT (N).Nkind = N_Entry_Declaration
2729        or else NT (N).Nkind = N_Function_Specification
2730        or else NT (N).Nkind = N_Procedure_Specification);
2731      return List3 (N);
2732   end Parameter_Specifications;
2733
2734   function Parameter_Type
2735      (N : Node_Id) return Node_Id is
2736   begin
2737      pragma Assert (False
2738        or else NT (N).Nkind = N_Parameter_Specification);
2739      return Node2 (N);
2740   end Parameter_Type;
2741
2742   function Parent_Spec
2743      (N : Node_Id) return Node_Id is
2744   begin
2745      pragma Assert (False
2746        or else NT (N).Nkind = N_Function_Instantiation
2747        or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
2748        or else NT (N).Nkind = N_Generic_Package_Declaration
2749        or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
2750        or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
2751        or else NT (N).Nkind = N_Generic_Subprogram_Declaration
2752        or else NT (N).Nkind = N_Package_Declaration
2753        or else NT (N).Nkind = N_Package_Instantiation
2754        or else NT (N).Nkind = N_Package_Renaming_Declaration
2755        or else NT (N).Nkind = N_Procedure_Instantiation
2756        or else NT (N).Nkind = N_Subprogram_Declaration
2757        or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
2758      return Node4 (N);
2759   end Parent_Spec;
2760
2761   function Parent_With
2762      (N : Node_Id) return Boolean is
2763   begin
2764      pragma Assert (False
2765        or else NT (N).Nkind = N_With_Clause);
2766      return Flag1 (N);
2767   end Parent_With;
2768
2769   function Position
2770      (N : Node_Id) return Node_Id is
2771   begin
2772      pragma Assert (False
2773        or else NT (N).Nkind = N_Component_Clause);
2774      return Node2 (N);
2775   end Position;
2776
2777   function Pragma_Argument_Associations
2778      (N : Node_Id) return List_Id is
2779   begin
2780      pragma Assert (False
2781        or else NT (N).Nkind = N_Pragma);
2782      return List2 (N);
2783   end Pragma_Argument_Associations;
2784
2785   function Pragma_Identifier
2786      (N : Node_Id) return Node_Id is
2787   begin
2788      pragma Assert (False
2789        or else NT (N).Nkind = N_Pragma);
2790      return Node4 (N);
2791   end Pragma_Identifier;
2792
2793   function Pragmas_After
2794      (N : Node_Id) return List_Id is
2795   begin
2796      pragma Assert (False
2797        or else NT (N).Nkind = N_Compilation_Unit_Aux
2798        or else NT (N).Nkind = N_Terminate_Alternative);
2799      return List5 (N);
2800   end Pragmas_After;
2801
2802   function Pragmas_Before
2803      (N : Node_Id) return List_Id is
2804   begin
2805      pragma Assert (False
2806        or else NT (N).Nkind = N_Accept_Alternative
2807        or else NT (N).Nkind = N_Delay_Alternative
2808        or else NT (N).Nkind = N_Entry_Call_Alternative
2809        or else NT (N).Nkind = N_Mod_Clause
2810        or else NT (N).Nkind = N_Terminate_Alternative
2811        or else NT (N).Nkind = N_Triggering_Alternative);
2812      return List4 (N);
2813   end Pragmas_Before;
2814
2815   function Pre_Post_Conditions
2816      (N : Node_Id) return Node_Id is
2817   begin
2818      pragma Assert (False
2819        or else NT (N).Nkind = N_Contract);
2820      return Node1 (N);
2821   end Pre_Post_Conditions;
2822
2823   function Prefix
2824      (N : Node_Id) return Node_Id is
2825   begin
2826      pragma Assert (False
2827        or else NT (N).Nkind = N_Attribute_Reference
2828        or else NT (N).Nkind = N_Expanded_Name
2829        or else NT (N).Nkind = N_Explicit_Dereference
2830        or else NT (N).Nkind = N_Indexed_Component
2831        or else NT (N).Nkind = N_Reference
2832        or else NT (N).Nkind = N_Selected_Component
2833        or else NT (N).Nkind = N_Slice);
2834      return Node3 (N);
2835   end Prefix;
2836
2837   function Premature_Use
2838      (N : Node_Id) return Node_Id is
2839   begin
2840      pragma Assert (False
2841        or else NT (N).Nkind = N_Incomplete_Type_Declaration);
2842      return Node5 (N);
2843   end Premature_Use;
2844
2845   function Present_Expr
2846      (N : Node_Id) return Uint is
2847   begin
2848      pragma Assert (False
2849        or else NT (N).Nkind = N_Variant);
2850      return Uint3 (N);
2851   end Present_Expr;
2852
2853   function Prev_Ids
2854      (N : Node_Id) return Boolean is
2855   begin
2856      pragma Assert (False
2857        or else NT (N).Nkind = N_Component_Declaration
2858        or else NT (N).Nkind = N_Discriminant_Specification
2859        or else NT (N).Nkind = N_Exception_Declaration
2860        or else NT (N).Nkind = N_Formal_Object_Declaration
2861        or else NT (N).Nkind = N_Number_Declaration
2862        or else NT (N).Nkind = N_Object_Declaration
2863        or else NT (N).Nkind = N_Parameter_Specification
2864        or else NT (N).Nkind = N_Use_Package_Clause
2865        or else NT (N).Nkind = N_Use_Type_Clause);
2866      return Flag6 (N);
2867   end Prev_Ids;
2868
2869   function Prev_Use_Clause
2870      (N : Node_Id) return Node_Id is
2871   begin
2872      pragma Assert (False
2873        or else NT (N).Nkind = N_Use_Package_Clause
2874        or else NT (N).Nkind = N_Use_Type_Clause);
2875      return Node1 (N);
2876   end Prev_Use_Clause;
2877
2878   function Print_In_Hex
2879      (N : Node_Id) return Boolean is
2880   begin
2881      pragma Assert (False
2882        or else NT (N).Nkind = N_Integer_Literal);
2883      return Flag13 (N);
2884   end Print_In_Hex;
2885
2886   function Private_Declarations
2887      (N : Node_Id) return List_Id is
2888   begin
2889      pragma Assert (False
2890        or else NT (N).Nkind = N_Package_Specification
2891        or else NT (N).Nkind = N_Protected_Definition
2892        or else NT (N).Nkind = N_Task_Definition);
2893      return List3 (N);
2894   end Private_Declarations;
2895
2896   function Private_Present
2897      (N : Node_Id) return Boolean is
2898   begin
2899      pragma Assert (False
2900        or else NT (N).Nkind = N_Compilation_Unit
2901        or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2902        or else NT (N).Nkind = N_With_Clause);
2903      return Flag15 (N);
2904   end Private_Present;
2905
2906   function Procedure_To_Call
2907      (N : Node_Id) return Node_Id is
2908   begin
2909      pragma Assert (False
2910        or else NT (N).Nkind = N_Allocator
2911        or else NT (N).Nkind = N_Extended_Return_Statement
2912        or else NT (N).Nkind = N_Free_Statement
2913        or else NT (N).Nkind = N_Simple_Return_Statement);
2914      return Node2 (N);
2915   end Procedure_To_Call;
2916
2917   function Proper_Body
2918      (N : Node_Id) return Node_Id is
2919   begin
2920      pragma Assert (False
2921        or else NT (N).Nkind = N_Subunit);
2922      return Node1 (N);
2923   end Proper_Body;
2924
2925   function Protected_Definition
2926      (N : Node_Id) return Node_Id is
2927   begin
2928      pragma Assert (False
2929        or else NT (N).Nkind = N_Protected_Type_Declaration
2930        or else NT (N).Nkind = N_Single_Protected_Declaration);
2931      return Node3 (N);
2932   end Protected_Definition;
2933
2934   function Protected_Present
2935      (N : Node_Id) return Boolean is
2936   begin
2937      pragma Assert (False
2938        or else NT (N).Nkind = N_Access_Function_Definition
2939        or else NT (N).Nkind = N_Access_Procedure_Definition
2940        or else NT (N).Nkind = N_Derived_Type_Definition
2941        or else NT (N).Nkind = N_Record_Definition);
2942      return Flag6 (N);
2943   end Protected_Present;
2944
2945   function Raises_Constraint_Error
2946      (N : Node_Id) return Boolean is
2947   begin
2948      pragma Assert (False
2949        or else NT (N).Nkind in N_Subexpr);
2950      return Flag7 (N);
2951   end Raises_Constraint_Error;
2952
2953   function Range_Constraint
2954      (N : Node_Id) return Node_Id is
2955   begin
2956      pragma Assert (False
2957        or else NT (N).Nkind = N_Delta_Constraint
2958        or else NT (N).Nkind = N_Digits_Constraint);
2959      return Node4 (N);
2960   end Range_Constraint;
2961
2962   function Range_Expression
2963      (N : Node_Id) return Node_Id is
2964   begin
2965      pragma Assert (False
2966        or else NT (N).Nkind = N_Range_Constraint);
2967      return Node4 (N);
2968   end Range_Expression;
2969
2970   function Real_Range_Specification
2971      (N : Node_Id) return Node_Id is
2972   begin
2973      pragma Assert (False
2974        or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
2975        or else NT (N).Nkind = N_Floating_Point_Definition
2976        or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
2977      return Node4 (N);
2978   end Real_Range_Specification;
2979
2980   function Realval
2981      (N : Node_Id) return Ureal is
2982   begin
2983      pragma Assert (False
2984        or else NT (N).Nkind = N_Real_Literal);
2985      return Ureal3 (N);
2986   end Realval;
2987
2988   function Reason
2989      (N : Node_Id) return Uint is
2990   begin
2991      pragma Assert (False
2992        or else NT (N).Nkind = N_Raise_Constraint_Error
2993        or else NT (N).Nkind = N_Raise_Program_Error
2994        or else NT (N).Nkind = N_Raise_Storage_Error);
2995      return Uint3 (N);
2996   end Reason;
2997
2998   function Record_Extension_Part
2999      (N : Node_Id) return Node_Id is
3000   begin
3001      pragma Assert (False
3002        or else NT (N).Nkind = N_Derived_Type_Definition);
3003      return Node3 (N);
3004   end Record_Extension_Part;
3005
3006   function Redundant_Use
3007      (N : Node_Id) return Boolean is
3008   begin
3009      pragma Assert (False
3010        or else NT (N).Nkind = N_Attribute_Reference
3011        or else NT (N).Nkind = N_Expanded_Name
3012        or else NT (N).Nkind = N_Identifier);
3013      return Flag13 (N);
3014   end Redundant_Use;
3015
3016   function Renaming_Exception
3017      (N : Node_Id) return Node_Id is
3018   begin
3019      pragma Assert (False
3020        or else NT (N).Nkind = N_Exception_Declaration);
3021      return Node2 (N);
3022   end Renaming_Exception;
3023
3024   function Result_Definition
3025     (N : Node_Id) return Node_Id is
3026   begin
3027      pragma Assert (False
3028        or else NT (N).Nkind = N_Access_Function_Definition
3029        or else NT (N).Nkind = N_Function_Specification);
3030      return Node4 (N);
3031   end Result_Definition;
3032
3033   function Return_Object_Declarations
3034     (N : Node_Id) return List_Id is
3035   begin
3036      pragma Assert (False
3037        or else NT (N).Nkind = N_Extended_Return_Statement);
3038      return List3 (N);
3039   end Return_Object_Declarations;
3040
3041   function Return_Statement_Entity
3042     (N : Node_Id) return Node_Id is
3043   begin
3044      pragma Assert (False
3045        or else NT (N).Nkind = N_Extended_Return_Statement
3046        or else NT (N).Nkind = N_Simple_Return_Statement);
3047      return Node5 (N);
3048   end Return_Statement_Entity;
3049
3050   function Reverse_Present
3051      (N : Node_Id) return Boolean is
3052   begin
3053      pragma Assert (False
3054        or else NT (N).Nkind = N_Iterator_Specification
3055        or else NT (N).Nkind = N_Loop_Parameter_Specification);
3056      return Flag15 (N);
3057   end Reverse_Present;
3058
3059   function Right_Opnd
3060      (N : Node_Id) return Node_Id is
3061   begin
3062      pragma Assert (False
3063        or else NT (N).Nkind in N_Op
3064        or else NT (N).Nkind = N_And_Then
3065        or else NT (N).Nkind = N_In
3066        or else NT (N).Nkind = N_Not_In
3067        or else NT (N).Nkind = N_Or_Else);
3068      return Node3 (N);
3069   end Right_Opnd;
3070
3071   function Rounded_Result
3072      (N : Node_Id) return Boolean is
3073   begin
3074      pragma Assert (False
3075        or else NT (N).Nkind = N_Op_Divide
3076        or else NT (N).Nkind = N_Op_Multiply
3077        or else NT (N).Nkind = N_Type_Conversion);
3078      return Flag18 (N);
3079   end Rounded_Result;
3080
3081   function SCIL_Controlling_Tag
3082      (N : Node_Id) return Node_Id is
3083   begin
3084      pragma Assert (False
3085        or else NT (N).Nkind = N_SCIL_Dispatching_Call);
3086      return Node5 (N);
3087   end SCIL_Controlling_Tag;
3088
3089   function SCIL_Entity
3090      (N : Node_Id) return Node_Id is
3091   begin
3092      pragma Assert (False
3093        or else NT (N).Nkind = N_SCIL_Dispatch_Table_Tag_Init
3094        or else NT (N).Nkind = N_SCIL_Dispatching_Call
3095        or else NT (N).Nkind = N_SCIL_Membership_Test);
3096      return Node4 (N);
3097   end SCIL_Entity;
3098
3099   function SCIL_Tag_Value
3100      (N : Node_Id) return Node_Id is
3101   begin
3102      pragma Assert (False
3103        or else NT (N).Nkind = N_SCIL_Membership_Test);
3104      return Node5 (N);
3105   end SCIL_Tag_Value;
3106
3107   function SCIL_Target_Prim
3108      (N : Node_Id) return Node_Id is
3109   begin
3110      pragma Assert (False
3111        or else NT (N).Nkind = N_SCIL_Dispatching_Call);
3112      return Node2 (N);
3113   end SCIL_Target_Prim;
3114
3115   function Scope
3116      (N : Node_Id) return Node_Id is
3117   begin
3118      pragma Assert (False
3119        or else NT (N).Nkind = N_Defining_Character_Literal
3120        or else NT (N).Nkind = N_Defining_Identifier
3121        or else NT (N).Nkind = N_Defining_Operator_Symbol);
3122      return Node3 (N);
3123   end Scope;
3124
3125   function Select_Alternatives
3126      (N : Node_Id) return List_Id is
3127   begin
3128      pragma Assert (False
3129        or else NT (N).Nkind = N_Selective_Accept);
3130      return List1 (N);
3131   end Select_Alternatives;
3132
3133   function Selector_Name
3134      (N : Node_Id) return Node_Id is
3135   begin
3136      pragma Assert (False
3137        or else NT (N).Nkind = N_Expanded_Name
3138        or else NT (N).Nkind = N_Generic_Association
3139        or else NT (N).Nkind = N_Parameter_Association
3140        or else NT (N).Nkind = N_Selected_Component);
3141      return Node2 (N);
3142   end Selector_Name;
3143
3144   function Selector_Names
3145      (N : Node_Id) return List_Id is
3146   begin
3147      pragma Assert (False
3148        or else NT (N).Nkind = N_Discriminant_Association);
3149      return List1 (N);
3150   end Selector_Names;
3151
3152   function Shift_Count_OK
3153      (N : Node_Id) return Boolean is
3154   begin
3155      pragma Assert (False
3156        or else NT (N).Nkind = N_Op_Rotate_Left
3157        or else NT (N).Nkind = N_Op_Rotate_Right
3158        or else NT (N).Nkind = N_Op_Shift_Left
3159        or else NT (N).Nkind = N_Op_Shift_Right
3160        or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
3161      return Flag4 (N);
3162   end Shift_Count_OK;
3163
3164   function Source_Type
3165      (N : Node_Id) return Entity_Id is
3166   begin
3167      pragma Assert (False
3168        or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
3169      return Node1 (N);
3170   end Source_Type;
3171
3172   function Specification
3173      (N : Node_Id) return Node_Id is
3174   begin
3175      pragma Assert (False
3176        or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
3177        or else NT (N).Nkind = N_Expression_Function
3178        or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
3179        or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
3180        or else NT (N).Nkind = N_Generic_Package_Declaration
3181        or else NT (N).Nkind = N_Generic_Subprogram_Declaration
3182        or else NT (N).Nkind = N_Package_Declaration
3183        or else NT (N).Nkind = N_Subprogram_Body
3184        or else NT (N).Nkind = N_Subprogram_Body_Stub
3185        or else NT (N).Nkind = N_Subprogram_Declaration
3186        or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
3187      return Node1 (N);
3188   end Specification;
3189
3190   function Split_PPC
3191      (N : Node_Id) return Boolean is
3192   begin
3193      pragma Assert (False
3194        or else NT (N).Nkind = N_Aspect_Specification
3195        or else NT (N).Nkind = N_Pragma);
3196      return Flag17 (N);
3197   end Split_PPC;
3198
3199   function Statements
3200      (N : Node_Id) return List_Id is
3201   begin
3202      pragma Assert (False
3203        or else NT (N).Nkind = N_Abortable_Part
3204        or else NT (N).Nkind = N_Accept_Alternative
3205        or else NT (N).Nkind = N_Case_Statement_Alternative
3206        or else NT (N).Nkind = N_Delay_Alternative
3207        or else NT (N).Nkind = N_Entry_Call_Alternative
3208        or else NT (N).Nkind = N_Exception_Handler
3209        or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
3210        or else NT (N).Nkind = N_Loop_Statement
3211        or else NT (N).Nkind = N_Triggering_Alternative);
3212      return List3 (N);
3213   end Statements;
3214
3215   function Storage_Pool
3216      (N : Node_Id) return Node_Id is
3217   begin
3218      pragma Assert (False
3219        or else NT (N).Nkind = N_Allocator
3220        or else NT (N).Nkind = N_Extended_Return_Statement
3221        or else NT (N).Nkind = N_Free_Statement
3222        or else NT (N).Nkind = N_Simple_Return_Statement);
3223      return Node1 (N);
3224   end Storage_Pool;
3225
3226   function Subpool_Handle_Name
3227      (N : Node_Id) return Node_Id is
3228   begin
3229      pragma Assert (False
3230        or else NT (N).Nkind = N_Allocator);
3231      return Node4 (N);
3232   end Subpool_Handle_Name;
3233
3234   function Strval
3235      (N : Node_Id) return String_Id is
3236   begin
3237      pragma Assert (False
3238        or else NT (N).Nkind = N_Operator_Symbol
3239        or else NT (N).Nkind = N_String_Literal);
3240      return Str3 (N);
3241   end Strval;
3242
3243   function Subtype_Indication
3244      (N : Node_Id) return Node_Id is
3245   begin
3246      pragma Assert (False
3247        or else NT (N).Nkind = N_Access_To_Object_Definition
3248        or else NT (N).Nkind = N_Component_Definition
3249        or else NT (N).Nkind = N_Derived_Type_Definition
3250        or else NT (N).Nkind = N_Iterator_Specification
3251        or else NT (N).Nkind = N_Private_Extension_Declaration
3252        or else NT (N).Nkind = N_Subtype_Declaration);
3253      return Node5 (N);
3254   end Subtype_Indication;
3255
3256   function Suppress_Assignment_Checks
3257      (N : Node_Id) return Boolean is
3258   begin
3259      pragma Assert (False
3260        or else NT (N).Nkind = N_Assignment_Statement
3261        or else NT (N).Nkind = N_Object_Declaration);
3262      return Flag18 (N);
3263   end Suppress_Assignment_Checks;
3264
3265   function Suppress_Loop_Warnings
3266      (N : Node_Id) return Boolean is
3267   begin
3268      pragma Assert (False
3269        or else NT (N).Nkind = N_Loop_Statement);
3270      return Flag17 (N);
3271   end Suppress_Loop_Warnings;
3272
3273   function Subtype_Mark
3274      (N : Node_Id) return Node_Id is
3275   begin
3276      pragma Assert (False
3277        or else NT (N).Nkind = N_Access_Definition
3278        or else NT (N).Nkind = N_Formal_Derived_Type_Definition
3279        or else NT (N).Nkind = N_Formal_Object_Declaration
3280        or else NT (N).Nkind = N_Object_Renaming_Declaration
3281        or else NT (N).Nkind = N_Qualified_Expression
3282        or else NT (N).Nkind = N_Subtype_Indication
3283        or else NT (N).Nkind = N_Type_Conversion
3284        or else NT (N).Nkind = N_Unchecked_Type_Conversion
3285        or else NT (N).Nkind = N_Use_Type_Clause);
3286      return Node4 (N);
3287   end Subtype_Mark;
3288
3289   function Subtype_Marks
3290      (N : Node_Id) return List_Id is
3291   begin
3292      pragma Assert (False
3293        or else NT (N).Nkind = N_Unconstrained_Array_Definition);
3294      return List2 (N);
3295   end Subtype_Marks;
3296
3297   function Synchronized_Present
3298     (N : Node_Id) return Boolean is
3299   begin
3300      pragma Assert (False
3301        or else NT (N).Nkind = N_Derived_Type_Definition
3302        or else NT (N).Nkind = N_Formal_Derived_Type_Definition
3303        or else NT (N).Nkind = N_Private_Extension_Declaration
3304        or else NT (N).Nkind = N_Record_Definition);
3305      return Flag7 (N);
3306   end Synchronized_Present;
3307
3308   function Tagged_Present
3309      (N : Node_Id) return Boolean is
3310   begin
3311      pragma Assert (False
3312        or else NT (N).Nkind = N_Formal_Incomplete_Type_Definition
3313        or else NT (N).Nkind = N_Formal_Private_Type_Definition
3314        or else NT (N).Nkind = N_Incomplete_Type_Declaration
3315        or else NT (N).Nkind = N_Private_Type_Declaration
3316        or else NT (N).Nkind = N_Record_Definition);
3317      return Flag15 (N);
3318   end Tagged_Present;
3319
3320   function Target
3321      (N : Node_Id) return Entity_Id is
3322   begin
3323      pragma Assert (False
3324        or else NT (N).Nkind = N_Call_Marker
3325        or else NT (N).Nkind = N_Variable_Reference_Marker);
3326      return Node1 (N);
3327   end Target;
3328
3329   function Target_Type
3330      (N : Node_Id) return Entity_Id is
3331   begin
3332      pragma Assert (False
3333        or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
3334      return Node2 (N);
3335   end Target_Type;
3336
3337   function Task_Definition
3338      (N : Node_Id) return Node_Id is
3339   begin
3340      pragma Assert (False
3341        or else NT (N).Nkind = N_Single_Task_Declaration
3342        or else NT (N).Nkind = N_Task_Type_Declaration);
3343      return Node3 (N);
3344   end Task_Definition;
3345
3346   function Task_Present
3347     (N : Node_Id) return Boolean is
3348   begin
3349      pragma Assert (False
3350        or else NT (N).Nkind = N_Derived_Type_Definition
3351        or else NT (N).Nkind = N_Record_Definition);
3352      return Flag5 (N);
3353   end Task_Present;
3354
3355   function Then_Actions
3356      (N : Node_Id) return List_Id is
3357   begin
3358      pragma Assert (False
3359        or else NT (N).Nkind = N_If_Expression);
3360      return List2 (N);
3361   end Then_Actions;
3362
3363   function Then_Statements
3364      (N : Node_Id) return List_Id is
3365   begin
3366      pragma Assert (False
3367        or else NT (N).Nkind = N_Elsif_Part
3368        or else NT (N).Nkind = N_If_Statement);
3369      return List2 (N);
3370   end Then_Statements;
3371
3372   function Treat_Fixed_As_Integer
3373      (N : Node_Id) return Boolean is
3374   begin
3375      pragma Assert (False
3376        or else NT (N).Nkind = N_Op_Divide
3377        or else NT (N).Nkind = N_Op_Mod
3378        or else NT (N).Nkind = N_Op_Multiply
3379        or else NT (N).Nkind = N_Op_Rem);
3380      return Flag14 (N);
3381   end Treat_Fixed_As_Integer;
3382
3383   function Triggering_Alternative
3384      (N : Node_Id) return Node_Id is
3385   begin
3386      pragma Assert (False
3387        or else NT (N).Nkind = N_Asynchronous_Select);
3388      return Node1 (N);
3389   end Triggering_Alternative;
3390
3391   function Triggering_Statement
3392      (N : Node_Id) return Node_Id is
3393   begin
3394      pragma Assert (False
3395        or else NT (N).Nkind = N_Triggering_Alternative);
3396      return Node1 (N);
3397   end Triggering_Statement;
3398
3399   function TSS_Elist
3400      (N : Node_Id) return Elist_Id is
3401   begin
3402      pragma Assert (False
3403        or else NT (N).Nkind = N_Freeze_Entity);
3404      return Elist3 (N);
3405   end TSS_Elist;
3406
3407   function Type_Definition
3408      (N : Node_Id) return Node_Id is
3409   begin
3410      pragma Assert (False
3411        or else NT (N).Nkind = N_Full_Type_Declaration);
3412      return Node3 (N);
3413   end Type_Definition;
3414
3415   function Uneval_Old_Accept
3416     (N : Node_Id) return Boolean is
3417   begin
3418      pragma Assert (False
3419        or else NT (N).Nkind = N_Pragma);
3420      return Flag7 (N);
3421   end Uneval_Old_Accept;
3422
3423   function Uneval_Old_Warn
3424     (N : Node_Id) return Boolean is
3425   begin
3426      pragma Assert (False
3427        or else NT (N).Nkind = N_Pragma);
3428      return Flag18 (N);
3429   end Uneval_Old_Warn;
3430
3431   function Unit
3432      (N : Node_Id) return Node_Id is
3433   begin
3434      pragma Assert (False
3435        or else NT (N).Nkind = N_Compilation_Unit);
3436      return Node2 (N);
3437   end Unit;
3438
3439   function Unknown_Discriminants_Present
3440      (N : Node_Id) return Boolean is
3441   begin
3442      pragma Assert (False
3443        or else NT (N).Nkind = N_Formal_Type_Declaration
3444        or else NT (N).Nkind = N_Incomplete_Type_Declaration
3445        or else NT (N).Nkind = N_Private_Extension_Declaration
3446        or else NT (N).Nkind = N_Private_Type_Declaration);
3447      return Flag13 (N);
3448   end Unknown_Discriminants_Present;
3449
3450   function Unreferenced_In_Spec
3451      (N : Node_Id) return Boolean is
3452   begin
3453      pragma Assert (False
3454        or else NT (N).Nkind = N_With_Clause);
3455      return Flag7 (N);
3456   end Unreferenced_In_Spec;
3457
3458   function Variant_Part
3459      (N : Node_Id) return Node_Id is
3460   begin
3461      pragma Assert (False
3462        or else NT (N).Nkind = N_Component_List);
3463      return Node4 (N);
3464   end Variant_Part;
3465
3466   function Variants
3467      (N : Node_Id) return List_Id is
3468   begin
3469      pragma Assert (False
3470        or else NT (N).Nkind = N_Variant_Part);
3471      return List1 (N);
3472   end Variants;
3473
3474   function Visible_Declarations
3475      (N : Node_Id) return List_Id is
3476   begin
3477      pragma Assert (False
3478        or else NT (N).Nkind = N_Package_Specification
3479        or else NT (N).Nkind = N_Protected_Definition
3480        or else NT (N).Nkind = N_Task_Definition);
3481      return List2 (N);
3482   end Visible_Declarations;
3483
3484   function Uninitialized_Variable
3485     (N : Node_Id) return Node_Id is
3486   begin
3487      pragma Assert (False
3488        or else NT (N).Nkind = N_Formal_Private_Type_Definition
3489        or else NT (N).Nkind = N_Private_Extension_Declaration);
3490      return Node3 (N);
3491   end Uninitialized_Variable;
3492
3493   function Used_Operations
3494     (N : Node_Id) return Elist_Id is
3495   begin
3496      pragma Assert (False
3497        or else NT (N).Nkind = N_Use_Type_Clause);
3498      return Elist2 (N);
3499   end Used_Operations;
3500
3501   function Was_Attribute_Reference
3502      (N : Node_Id) return Boolean is
3503   begin
3504      pragma Assert (False
3505        or else NT (N).Nkind = N_Subprogram_Body);
3506      return Flag2 (N);
3507   end Was_Attribute_Reference;
3508
3509   function Was_Expression_Function
3510      (N : Node_Id) return Boolean is
3511   begin
3512      pragma Assert (False
3513        or else NT (N).Nkind = N_Subprogram_Body);
3514      return Flag18 (N);
3515   end Was_Expression_Function;
3516
3517   function Was_Originally_Stub
3518      (N : Node_Id) return Boolean is
3519   begin
3520      pragma Assert (False
3521        or else NT (N).Nkind = N_Package_Body
3522        or else NT (N).Nkind = N_Protected_Body
3523        or else NT (N).Nkind = N_Subprogram_Body
3524        or else NT (N).Nkind = N_Task_Body);
3525      return Flag13 (N);
3526   end Was_Originally_Stub;
3527
3528   function Withed_Body
3529      (N : Node_Id) return Node_Id is
3530   begin
3531      pragma Assert (False
3532        or else NT (N).Nkind = N_With_Clause);
3533      return Node1 (N);
3534   end Withed_Body;
3535
3536   --------------------------
3537   -- Field Set Procedures --
3538   --------------------------
3539
3540   procedure Set_Abort_Present
3541      (N : Node_Id; Val : Boolean := True) is
3542   begin
3543      pragma Assert (False
3544        or else NT (N).Nkind = N_Requeue_Statement);
3545      Set_Flag15 (N, Val);
3546   end Set_Abort_Present;
3547
3548   procedure Set_Abortable_Part
3549      (N : Node_Id; Val : Node_Id) is
3550   begin
3551      pragma Assert (False
3552        or else NT (N).Nkind = N_Asynchronous_Select);
3553      Set_Node2_With_Parent (N, Val);
3554   end Set_Abortable_Part;
3555
3556   procedure Set_Abstract_Present
3557      (N : Node_Id; Val : Boolean := True) is
3558   begin
3559      pragma Assert (False
3560        or else NT (N).Nkind = N_Derived_Type_Definition
3561        or else NT (N).Nkind = N_Formal_Derived_Type_Definition
3562        or else NT (N).Nkind = N_Formal_Private_Type_Definition
3563        or else NT (N).Nkind = N_Private_Extension_Declaration
3564        or else NT (N).Nkind = N_Private_Type_Declaration
3565        or else NT (N).Nkind = N_Record_Definition);
3566      Set_Flag4 (N, Val);
3567   end Set_Abstract_Present;
3568
3569   procedure Set_Accept_Handler_Records
3570      (N : Node_Id; Val : List_Id) is
3571   begin
3572      pragma Assert (False
3573        or else NT (N).Nkind = N_Accept_Alternative);
3574      Set_List5 (N, Val); -- semantic field, no parent set
3575   end Set_Accept_Handler_Records;
3576
3577   procedure Set_Accept_Statement
3578      (N : Node_Id; Val : Node_Id) is
3579   begin
3580      pragma Assert (False
3581        or else NT (N).Nkind = N_Accept_Alternative);
3582      Set_Node2_With_Parent (N, Val);
3583   end Set_Accept_Statement;
3584
3585   procedure Set_Access_Definition
3586     (N : Node_Id; Val : Node_Id) is
3587   begin
3588      pragma Assert (False
3589        or else NT (N).Nkind = N_Component_Definition
3590        or else NT (N).Nkind = N_Formal_Object_Declaration
3591        or else NT (N).Nkind = N_Object_Renaming_Declaration);
3592      Set_Node3_With_Parent (N, Val);
3593   end Set_Access_Definition;
3594
3595   procedure Set_Access_To_Subprogram_Definition
3596     (N : Node_Id; Val : Node_Id) is
3597   begin
3598      pragma Assert (False
3599        or else NT (N).Nkind = N_Access_Definition);
3600      Set_Node3_With_Parent (N, Val);
3601   end Set_Access_To_Subprogram_Definition;
3602
3603   procedure Set_Access_Types_To_Process
3604      (N : Node_Id; Val : Elist_Id) is
3605   begin
3606      pragma Assert (False
3607        or else NT (N).Nkind = N_Freeze_Entity);
3608      Set_Elist2 (N, Val); -- semantic field, no parent set
3609   end Set_Access_Types_To_Process;
3610
3611   procedure Set_Actions
3612      (N : Node_Id; Val : List_Id) is
3613   begin
3614      pragma Assert (False
3615        or else NT (N).Nkind = N_And_Then
3616        or else NT (N).Nkind = N_Case_Expression_Alternative
3617        or else NT (N).Nkind = N_Compilation_Unit_Aux
3618        or else NT (N).Nkind = N_Compound_Statement
3619        or else NT (N).Nkind = N_Expression_With_Actions
3620        or else NT (N).Nkind = N_Freeze_Entity
3621        or else NT (N).Nkind = N_Or_Else);
3622      Set_List1_With_Parent (N, Val);
3623   end Set_Actions;
3624
3625   procedure Set_Activation_Chain_Entity
3626      (N : Node_Id; Val : Node_Id) is
3627   begin
3628      pragma Assert (False
3629        or else NT (N).Nkind = N_Block_Statement
3630        or else NT (N).Nkind = N_Entry_Body
3631        or else NT (N).Nkind = N_Generic_Package_Declaration
3632        or else NT (N).Nkind = N_Package_Declaration
3633        or else NT (N).Nkind = N_Subprogram_Body
3634        or else NT (N).Nkind = N_Task_Body);
3635      Set_Node3 (N, Val); -- semantic field, no parent set
3636   end Set_Activation_Chain_Entity;
3637
3638   procedure Set_Acts_As_Spec
3639      (N : Node_Id; Val : Boolean := True) is
3640   begin
3641      pragma Assert (False
3642        or else NT (N).Nkind = N_Compilation_Unit
3643        or else NT (N).Nkind = N_Subprogram_Body);
3644      Set_Flag4 (N, Val);
3645   end Set_Acts_As_Spec;
3646
3647   procedure Set_Actual_Designated_Subtype
3648     (N : Node_Id; Val : Node_Id) is
3649   begin
3650      pragma Assert (False
3651        or else NT (N).Nkind = N_Explicit_Dereference
3652        or else NT (N).Nkind = N_Free_Statement);
3653      Set_Node4 (N, Val);
3654   end Set_Actual_Designated_Subtype;
3655
3656   procedure Set_Address_Warning_Posted
3657      (N : Node_Id; Val : Boolean := True) is
3658   begin
3659      pragma Assert (False
3660        or else NT (N).Nkind = N_Attribute_Definition_Clause);
3661      Set_Flag18 (N, Val);
3662   end Set_Address_Warning_Posted;
3663
3664   procedure Set_Aggregate_Bounds
3665      (N : Node_Id; Val : Node_Id) is
3666   begin
3667      pragma Assert (False
3668        or else NT (N).Nkind = N_Aggregate);
3669      Set_Node3 (N, Val); -- semantic field, no parent set
3670   end Set_Aggregate_Bounds;
3671
3672   procedure Set_Aliased_Present
3673      (N : Node_Id; Val : Boolean := True) is
3674   begin
3675      pragma Assert (False
3676        or else NT (N).Nkind = N_Component_Definition
3677        or else NT (N).Nkind = N_Object_Declaration
3678        or else NT (N).Nkind = N_Parameter_Specification);
3679      Set_Flag4 (N, Val);
3680   end Set_Aliased_Present;
3681
3682   procedure Set_Alloc_For_BIP_Return
3683      (N : Node_Id; Val : Boolean := True) is
3684   begin
3685      pragma Assert (False
3686        or else NT (N).Nkind = N_Allocator);
3687      Set_Flag1 (N, Val);
3688   end Set_Alloc_For_BIP_Return;
3689
3690   procedure Set_All_Others
3691      (N : Node_Id; Val : Boolean := True) is
3692   begin
3693      pragma Assert (False
3694        or else NT (N).Nkind = N_Others_Choice);
3695      Set_Flag11 (N, Val);
3696   end Set_All_Others;
3697
3698   procedure Set_All_Present
3699      (N : Node_Id; Val : Boolean := True) is
3700   begin
3701      pragma Assert (False
3702        or else NT (N).Nkind = N_Access_Definition
3703        or else NT (N).Nkind = N_Access_To_Object_Definition
3704        or else NT (N).Nkind = N_Quantified_Expression
3705        or else NT (N).Nkind = N_Use_Type_Clause);
3706      Set_Flag15 (N, Val);
3707   end Set_All_Present;
3708
3709   procedure Set_Alternatives
3710      (N : Node_Id; Val : List_Id) is
3711   begin
3712      pragma Assert (False
3713        or else NT (N).Nkind = N_Case_Expression
3714        or else NT (N).Nkind = N_Case_Statement
3715        or else NT (N).Nkind = N_In
3716        or else NT (N).Nkind = N_Not_In);
3717      Set_List4_With_Parent (N, Val);
3718   end Set_Alternatives;
3719
3720   procedure Set_Ancestor_Part
3721      (N : Node_Id; Val : Node_Id) is
3722   begin
3723      pragma Assert (False
3724        or else NT (N).Nkind = N_Extension_Aggregate);
3725      Set_Node3_With_Parent (N, Val);
3726   end Set_Ancestor_Part;
3727
3728   procedure Set_Atomic_Sync_Required
3729      (N : Node_Id; Val : Boolean := True) is
3730   begin
3731      pragma Assert (False
3732        or else NT (N).Nkind = N_Expanded_Name
3733        or else NT (N).Nkind = N_Explicit_Dereference
3734        or else NT (N).Nkind = N_Identifier
3735        or else NT (N).Nkind = N_Indexed_Component
3736        or else NT (N).Nkind = N_Selected_Component);
3737      Set_Flag14 (N, Val);
3738   end Set_Atomic_Sync_Required;
3739
3740   procedure Set_Array_Aggregate
3741      (N : Node_Id; Val : Node_Id) is
3742   begin
3743      pragma Assert (False
3744        or else NT (N).Nkind = N_Enumeration_Representation_Clause);
3745      Set_Node3_With_Parent (N, Val);
3746   end Set_Array_Aggregate;
3747
3748   procedure Set_Aspect_Rep_Item
3749      (N : Node_Id; Val : Node_Id) is
3750   begin
3751      pragma Assert (False
3752        or else NT (N).Nkind = N_Aspect_Specification);
3753      Set_Node2 (N, Val);
3754   end Set_Aspect_Rep_Item;
3755
3756   procedure Set_Assignment_OK
3757      (N : Node_Id; Val : Boolean := True) is
3758   begin
3759      pragma Assert (False
3760        or else NT (N).Nkind = N_Object_Declaration
3761        or else NT (N).Nkind in N_Subexpr);
3762      Set_Flag15 (N, Val);
3763   end Set_Assignment_OK;
3764
3765   procedure Set_Associated_Node
3766      (N : Node_Id; Val : Node_Id) is
3767   begin
3768      pragma Assert (False
3769        or else NT (N).Nkind in N_Has_Entity
3770        or else NT (N).Nkind = N_Aggregate
3771        or else NT (N).Nkind = N_Extension_Aggregate
3772        or else NT (N).Nkind = N_Selected_Component
3773        or else NT (N).Nkind = N_Use_Package_Clause);
3774      Set_Node4 (N, Val); -- semantic field, no parent set
3775   end Set_Associated_Node;
3776
3777   procedure Set_At_End_Proc
3778      (N : Node_Id; Val : Node_Id) is
3779   begin
3780      pragma Assert (False
3781        or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3782      Set_Node1 (N, Val);
3783   end Set_At_End_Proc;
3784
3785   procedure Set_Attribute_Name
3786      (N : Node_Id; Val : Name_Id) is
3787   begin
3788      pragma Assert (False
3789        or else NT (N).Nkind = N_Attribute_Reference);
3790      Set_Name2 (N, Val);
3791   end Set_Attribute_Name;
3792
3793   procedure Set_Aux_Decls_Node
3794      (N : Node_Id; Val : Node_Id) is
3795   begin
3796      pragma Assert (False
3797        or else NT (N).Nkind = N_Compilation_Unit);
3798      Set_Node5_With_Parent (N, Val);
3799   end Set_Aux_Decls_Node;
3800
3801   procedure Set_Backwards_OK
3802      (N : Node_Id; Val : Boolean := True) is
3803   begin
3804      pragma Assert (False
3805        or else NT (N).Nkind = N_Assignment_Statement);
3806      Set_Flag6 (N, Val);
3807   end Set_Backwards_OK;
3808
3809   procedure Set_Bad_Is_Detected
3810      (N : Node_Id; Val : Boolean := True) is
3811   begin
3812      pragma Assert (False
3813        or else NT (N).Nkind = N_Subprogram_Body);
3814      Set_Flag15 (N, Val);
3815   end Set_Bad_Is_Detected;
3816
3817   procedure Set_Body_Required
3818      (N : Node_Id; Val : Boolean := True) is
3819   begin
3820      pragma Assert (False
3821        or else NT (N).Nkind = N_Compilation_Unit);
3822      Set_Flag13 (N, Val);
3823   end Set_Body_Required;
3824
3825   procedure Set_Body_To_Inline
3826      (N : Node_Id; Val : Node_Id) is
3827   begin
3828      pragma Assert (False
3829        or else NT (N).Nkind = N_Subprogram_Declaration);
3830      Set_Node3 (N, Val);
3831   end Set_Body_To_Inline;
3832
3833   procedure Set_Box_Present
3834      (N : Node_Id; Val : Boolean := True) is
3835   begin
3836      pragma Assert (False
3837        or else NT (N).Nkind = N_Component_Association
3838        or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
3839        or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
3840        or else NT (N).Nkind = N_Formal_Package_Declaration
3841        or else NT (N).Nkind = N_Generic_Association
3842        or else NT (N).Nkind = N_Iterated_Component_Association);
3843      Set_Flag15 (N, Val);
3844   end Set_Box_Present;
3845
3846   procedure Set_By_Ref
3847      (N : Node_Id; Val : Boolean := True) is
3848   begin
3849      pragma Assert (False
3850        or else NT (N).Nkind = N_Extended_Return_Statement
3851        or else NT (N).Nkind = N_Simple_Return_Statement);
3852      Set_Flag5 (N, Val);
3853   end Set_By_Ref;
3854
3855   procedure Set_Char_Literal_Value
3856      (N : Node_Id; Val : Uint) is
3857   begin
3858      pragma Assert (False
3859        or else NT (N).Nkind = N_Character_Literal);
3860      Set_Uint2 (N, Val);
3861   end Set_Char_Literal_Value;
3862
3863   procedure Set_Chars
3864      (N : Node_Id; Val : Name_Id) is
3865   begin
3866      pragma Assert (False
3867        or else NT (N).Nkind in N_Has_Chars);
3868      Set_Name1 (N, Val);
3869   end Set_Chars;
3870
3871   procedure Set_Check_Address_Alignment
3872      (N : Node_Id; Val : Boolean := True) is
3873   begin
3874      pragma Assert (False
3875          or else NT (N).Nkind = N_Attribute_Definition_Clause);
3876      Set_Flag11 (N, Val);
3877   end Set_Check_Address_Alignment;
3878
3879   procedure Set_Choice_Parameter
3880      (N : Node_Id; Val : Node_Id) is
3881   begin
3882      pragma Assert (False
3883        or else NT (N).Nkind = N_Exception_Handler);
3884      Set_Node2_With_Parent (N, Val);
3885   end Set_Choice_Parameter;
3886
3887   procedure Set_Choices
3888      (N : Node_Id; Val : List_Id) is
3889   begin
3890      pragma Assert (False
3891        or else NT (N).Nkind = N_Component_Association);
3892      Set_List1_With_Parent (N, Val);
3893   end Set_Choices;
3894
3895   procedure Set_Class_Present
3896      (N : Node_Id; Val : Boolean := True) is
3897   begin
3898      pragma Assert (False
3899        or else NT (N).Nkind = N_Aspect_Specification
3900        or else NT (N).Nkind = N_Pragma);
3901      Set_Flag6 (N, Val);
3902   end Set_Class_Present;
3903
3904   procedure Set_Classifications
3905      (N : Node_Id; Val : Node_Id) is
3906   begin
3907      pragma Assert (False
3908        or else NT (N).Nkind = N_Contract);
3909      Set_Node3 (N, Val); -- semantic field, no parent set
3910   end Set_Classifications;
3911
3912   procedure Set_Cleanup_Actions
3913      (N : Node_Id; Val : List_Id) is
3914   begin
3915      pragma Assert (False
3916        or else NT (N).Nkind = N_Block_Statement);
3917      Set_List5 (N, Val); -- semantic field, no parent set
3918   end Set_Cleanup_Actions;
3919
3920   procedure Set_Comes_From_Extended_Return_Statement
3921      (N : Node_Id; Val : Boolean := True) is
3922   begin
3923      pragma Assert (False
3924        or else NT (N).Nkind = N_Simple_Return_Statement);
3925      Set_Flag18 (N, Val);
3926   end Set_Comes_From_Extended_Return_Statement;
3927
3928   procedure Set_Compile_Time_Known_Aggregate
3929      (N : Node_Id; Val : Boolean := True) is
3930   begin
3931      pragma Assert (False
3932        or else NT (N).Nkind = N_Aggregate);
3933      Set_Flag18 (N, Val);
3934   end Set_Compile_Time_Known_Aggregate;
3935
3936   procedure Set_Component_Associations
3937      (N : Node_Id; Val : List_Id) is
3938   begin
3939      pragma Assert (False
3940        or else NT (N).Nkind = N_Aggregate
3941        or else NT (N).Nkind = N_Delta_Aggregate
3942        or else NT (N).Nkind = N_Extension_Aggregate);
3943      Set_List2_With_Parent (N, Val);
3944   end Set_Component_Associations;
3945
3946   procedure Set_Component_Clauses
3947      (N : Node_Id; Val : List_Id) is
3948   begin
3949      pragma Assert (False
3950        or else NT (N).Nkind = N_Record_Representation_Clause);
3951      Set_List3_With_Parent (N, Val);
3952   end Set_Component_Clauses;
3953
3954   procedure Set_Component_Definition
3955      (N : Node_Id; Val : Node_Id) is
3956   begin
3957      pragma Assert (False
3958        or else NT (N).Nkind = N_Component_Declaration
3959        or else NT (N).Nkind = N_Constrained_Array_Definition
3960        or else NT (N).Nkind = N_Unconstrained_Array_Definition);
3961      Set_Node4_With_Parent (N, Val);
3962   end Set_Component_Definition;
3963
3964   procedure Set_Component_Items
3965      (N : Node_Id; Val : List_Id) is
3966   begin
3967      pragma Assert (False
3968        or else NT (N).Nkind = N_Component_List);
3969      Set_List3_With_Parent (N, Val);
3970   end Set_Component_Items;
3971
3972   procedure Set_Component_List
3973      (N : Node_Id; Val : Node_Id) is
3974   begin
3975      pragma Assert (False
3976        or else NT (N).Nkind = N_Record_Definition
3977        or else NT (N).Nkind = N_Variant);
3978      Set_Node1_With_Parent (N, Val);
3979   end Set_Component_List;
3980
3981   procedure Set_Component_Name
3982      (N : Node_Id; Val : Node_Id) is
3983   begin
3984      pragma Assert (False
3985        or else NT (N).Nkind = N_Component_Clause);
3986      Set_Node1_With_Parent (N, Val);
3987   end Set_Component_Name;
3988
3989   procedure Set_Componentwise_Assignment
3990      (N : Node_Id; Val : Boolean := True) is
3991   begin
3992      pragma Assert (False
3993        or else NT (N).Nkind = N_Assignment_Statement);
3994      Set_Flag14 (N, Val);
3995   end Set_Componentwise_Assignment;
3996
3997   procedure Set_Condition
3998      (N : Node_Id; Val : Node_Id) is
3999   begin
4000      pragma Assert (False
4001        or else NT (N).Nkind = N_Accept_Alternative
4002        or else NT (N).Nkind = N_Delay_Alternative
4003        or else NT (N).Nkind = N_Elsif_Part
4004        or else NT (N).Nkind = N_Entry_Body_Formal_Part
4005        or else NT (N).Nkind = N_Exit_Statement
4006        or else NT (N).Nkind = N_If_Statement
4007        or else NT (N).Nkind = N_Iteration_Scheme
4008        or else NT (N).Nkind = N_Quantified_Expression
4009        or else NT (N).Nkind = N_Raise_Constraint_Error
4010        or else NT (N).Nkind = N_Raise_Program_Error
4011        or else NT (N).Nkind = N_Raise_Storage_Error
4012        or else NT (N).Nkind = N_Terminate_Alternative);
4013      Set_Node1_With_Parent (N, Val);
4014   end Set_Condition;
4015
4016   procedure Set_Condition_Actions
4017      (N : Node_Id; Val : List_Id) is
4018   begin
4019      pragma Assert (False
4020        or else NT (N).Nkind = N_Elsif_Part
4021        or else NT (N).Nkind = N_Iteration_Scheme);
4022      Set_List3 (N, Val); -- semantic field, no parent set
4023   end Set_Condition_Actions;
4024
4025   procedure Set_Config_Pragmas
4026      (N : Node_Id; Val : List_Id) is
4027   begin
4028      pragma Assert (False
4029        or else NT (N).Nkind = N_Compilation_Unit_Aux);
4030      Set_List4_With_Parent (N, Val);
4031   end Set_Config_Pragmas;
4032
4033   procedure Set_Constant_Present
4034      (N : Node_Id; Val : Boolean := True) is
4035   begin
4036      pragma Assert (False
4037        or else NT (N).Nkind = N_Access_Definition
4038        or else NT (N).Nkind = N_Access_To_Object_Definition
4039        or else NT (N).Nkind = N_Object_Declaration);
4040      Set_Flag17 (N, Val);
4041   end Set_Constant_Present;
4042
4043   procedure Set_Constraint
4044      (N : Node_Id; Val : Node_Id) is
4045   begin
4046      pragma Assert (False
4047        or else NT (N).Nkind = N_Subtype_Indication);
4048      Set_Node3_With_Parent (N, Val);
4049   end Set_Constraint;
4050
4051   procedure Set_Constraints
4052      (N : Node_Id; Val : List_Id) is
4053   begin
4054      pragma Assert (False
4055        or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint);
4056      Set_List1_With_Parent (N, Val);
4057   end Set_Constraints;
4058
4059   procedure Set_Context_Installed
4060      (N : Node_Id; Val : Boolean := True) is
4061   begin
4062      pragma Assert (False
4063        or else NT (N).Nkind = N_With_Clause);
4064      Set_Flag13 (N, Val);
4065   end Set_Context_Installed;
4066
4067   procedure Set_Context_Items
4068      (N : Node_Id; Val : List_Id) is
4069   begin
4070      pragma Assert (False
4071        or else NT (N).Nkind = N_Compilation_Unit);
4072      Set_List1_With_Parent (N, Val);
4073   end Set_Context_Items;
4074
4075   procedure Set_Context_Pending
4076      (N : Node_Id; Val : Boolean := True) is
4077   begin
4078      pragma Assert (False
4079        or else NT (N).Nkind = N_Compilation_Unit);
4080      Set_Flag16 (N, Val);
4081   end Set_Context_Pending;
4082
4083   procedure Set_Contract_Test_Cases
4084      (N : Node_Id; Val : Node_Id) is
4085   begin
4086      pragma Assert (False
4087        or else NT (N).Nkind = N_Contract);
4088      Set_Node2 (N, Val); -- semantic field, no parent set
4089   end Set_Contract_Test_Cases;
4090
4091   procedure Set_Controlling_Argument
4092      (N : Node_Id; Val : Node_Id) is
4093   begin
4094      pragma Assert (False
4095        or else NT (N).Nkind = N_Function_Call
4096        or else NT (N).Nkind = N_Procedure_Call_Statement);
4097      Set_Node1 (N, Val); -- semantic field, no parent set
4098   end Set_Controlling_Argument;
4099
4100   procedure Set_Conversion_OK
4101      (N : Node_Id; Val : Boolean := True) is
4102   begin
4103      pragma Assert (False
4104        or else NT (N).Nkind = N_Type_Conversion);
4105      Set_Flag14 (N, Val);
4106   end Set_Conversion_OK;
4107
4108   procedure Set_Convert_To_Return_False
4109      (N : Node_Id; Val : Boolean := True) is
4110   begin
4111      pragma Assert (False
4112        or else NT (N).Nkind = N_Raise_Expression);
4113      Set_Flag13 (N, Val);
4114   end Set_Convert_To_Return_False;
4115
4116   procedure Set_Corresponding_Aspect
4117      (N : Node_Id; Val : Node_Id) is
4118   begin
4119      pragma Assert (False
4120        or else NT (N).Nkind = N_Pragma);
4121      Set_Node3 (N, Val);
4122   end Set_Corresponding_Aspect;
4123
4124   procedure Set_Corresponding_Body
4125      (N : Node_Id; Val : Node_Id) is
4126   begin
4127      pragma Assert (False
4128        or else NT (N).Nkind = N_Entry_Declaration
4129        or else NT (N).Nkind = N_Generic_Package_Declaration
4130        or else NT (N).Nkind = N_Generic_Subprogram_Declaration
4131        or else NT (N).Nkind = N_Package_Body_Stub
4132        or else NT (N).Nkind = N_Package_Declaration
4133        or else NT (N).Nkind = N_Protected_Body_Stub
4134        or else NT (N).Nkind = N_Protected_Type_Declaration
4135        or else NT (N).Nkind = N_Subprogram_Body_Stub
4136        or else NT (N).Nkind = N_Subprogram_Declaration
4137        or else NT (N).Nkind = N_Task_Body_Stub
4138        or else NT (N).Nkind = N_Task_Type_Declaration);
4139      Set_Node5 (N, Val); -- semantic field, no parent set
4140   end Set_Corresponding_Body;
4141
4142   procedure Set_Corresponding_Formal_Spec
4143      (N : Node_Id; Val : Node_Id) is
4144   begin
4145      pragma Assert (False
4146        or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4147      Set_Node3 (N, Val); -- semantic field, no parent set
4148   end Set_Corresponding_Formal_Spec;
4149
4150   procedure Set_Corresponding_Generic_Association
4151      (N : Node_Id; Val : Node_Id) is
4152   begin
4153      pragma Assert (False
4154        or else NT (N).Nkind = N_Object_Declaration
4155        or else NT (N).Nkind = N_Object_Renaming_Declaration);
4156      Set_Node5 (N, Val); -- semantic field, no parent set
4157   end Set_Corresponding_Generic_Association;
4158
4159   procedure Set_Corresponding_Integer_Value
4160      (N : Node_Id; Val : Uint) is
4161   begin
4162      pragma Assert (False
4163        or else NT (N).Nkind = N_Real_Literal);
4164      Set_Uint4 (N, Val); -- semantic field, no parent set
4165   end Set_Corresponding_Integer_Value;
4166
4167   procedure Set_Corresponding_Spec
4168      (N : Node_Id; Val : Entity_Id) is
4169   begin
4170      pragma Assert (False
4171        or else NT (N).Nkind = N_Expression_Function
4172        or else NT (N).Nkind = N_Package_Body
4173        or else NT (N).Nkind = N_Protected_Body
4174        or else NT (N).Nkind = N_Subprogram_Body
4175        or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
4176        or else NT (N).Nkind = N_Task_Body
4177        or else NT (N).Nkind = N_With_Clause);
4178      Set_Node5 (N, Val); -- semantic field, no parent set
4179   end Set_Corresponding_Spec;
4180
4181   procedure Set_Corresponding_Spec_Of_Stub
4182      (N : Node_Id; Val : Entity_Id) is
4183   begin
4184      pragma Assert (False
4185        or else NT (N).Nkind = N_Package_Body_Stub
4186        or else NT (N).Nkind = N_Protected_Body_Stub
4187        or else NT (N).Nkind = N_Subprogram_Body_Stub
4188        or else NT (N).Nkind = N_Task_Body_Stub);
4189      Set_Node2 (N, Val); -- semantic field, no parent set
4190   end Set_Corresponding_Spec_Of_Stub;
4191
4192   procedure Set_Corresponding_Stub
4193      (N : Node_Id; Val : Node_Id) is
4194   begin
4195      pragma Assert (False
4196        or else NT (N).Nkind = N_Subunit);
4197      Set_Node3 (N, Val);
4198   end Set_Corresponding_Stub;
4199
4200   procedure Set_Dcheck_Function
4201      (N : Node_Id; Val : Entity_Id) is
4202   begin
4203      pragma Assert (False
4204        or else NT (N).Nkind = N_Variant);
4205      Set_Node5 (N, Val); -- semantic field, no parent set
4206   end Set_Dcheck_Function;
4207
4208   procedure Set_Declarations
4209      (N : Node_Id; Val : List_Id) is
4210   begin
4211      pragma Assert (False
4212        or else NT (N).Nkind = N_Accept_Statement
4213        or else NT (N).Nkind = N_Block_Statement
4214        or else NT (N).Nkind = N_Compilation_Unit_Aux
4215        or else NT (N).Nkind = N_Entry_Body
4216        or else NT (N).Nkind = N_Package_Body
4217        or else NT (N).Nkind = N_Protected_Body
4218        or else NT (N).Nkind = N_Subprogram_Body
4219        or else NT (N).Nkind = N_Task_Body);
4220      Set_List2_With_Parent (N, Val);
4221   end Set_Declarations;
4222
4223   procedure Set_Default_Expression
4224      (N : Node_Id; Val : Node_Id) is
4225   begin
4226      pragma Assert (False
4227        or else NT (N).Nkind = N_Formal_Object_Declaration
4228        or else NT (N).Nkind = N_Parameter_Specification);
4229      Set_Node5 (N, Val); -- semantic field, no parent set
4230   end Set_Default_Expression;
4231
4232   procedure Set_Default_Storage_Pool
4233      (N : Node_Id; Val : Node_Id) is
4234   begin
4235      pragma Assert (False
4236        or else NT (N).Nkind = N_Compilation_Unit_Aux);
4237      Set_Node3 (N, Val); -- semantic field, no parent set
4238   end Set_Default_Storage_Pool;
4239
4240   procedure Set_Default_Name
4241      (N : Node_Id; Val : Node_Id) is
4242   begin
4243      pragma Assert (False
4244        or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
4245        or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration);
4246      Set_Node2_With_Parent (N, Val);
4247   end Set_Default_Name;
4248
4249   procedure Set_Defining_Identifier
4250      (N : Node_Id; Val : Entity_Id) is
4251   begin
4252      pragma Assert (False
4253        or else NT (N).Nkind = N_Component_Declaration
4254        or else NT (N).Nkind = N_Defining_Program_Unit_Name
4255        or else NT (N).Nkind = N_Discriminant_Specification
4256        or else NT (N).Nkind = N_Entry_Body
4257        or else NT (N).Nkind = N_Entry_Declaration
4258        or else NT (N).Nkind = N_Entry_Index_Specification
4259        or else NT (N).Nkind = N_Exception_Declaration
4260        or else NT (N).Nkind = N_Exception_Renaming_Declaration
4261        or else NT (N).Nkind = N_Formal_Object_Declaration
4262        or else NT (N).Nkind = N_Formal_Package_Declaration
4263        or else NT (N).Nkind = N_Formal_Type_Declaration
4264        or else NT (N).Nkind = N_Full_Type_Declaration
4265        or else NT (N).Nkind = N_Implicit_Label_Declaration
4266        or else NT (N).Nkind = N_Incomplete_Type_Declaration
4267        or else NT (N).Nkind = N_Iterated_Component_Association
4268        or else NT (N).Nkind = N_Iterator_Specification
4269        or else NT (N).Nkind = N_Loop_Parameter_Specification
4270        or else NT (N).Nkind = N_Number_Declaration
4271        or else NT (N).Nkind = N_Object_Declaration
4272        or else NT (N).Nkind = N_Object_Renaming_Declaration
4273        or else NT (N).Nkind = N_Package_Body_Stub
4274        or else NT (N).Nkind = N_Parameter_Specification
4275        or else NT (N).Nkind = N_Private_Extension_Declaration
4276        or else NT (N).Nkind = N_Private_Type_Declaration
4277        or else NT (N).Nkind = N_Protected_Body
4278        or else NT (N).Nkind = N_Protected_Body_Stub
4279        or else NT (N).Nkind = N_Protected_Type_Declaration
4280        or else NT (N).Nkind = N_Single_Protected_Declaration
4281        or else NT (N).Nkind = N_Single_Task_Declaration
4282        or else NT (N).Nkind = N_Subtype_Declaration
4283        or else NT (N).Nkind = N_Task_Body
4284        or else NT (N).Nkind = N_Task_Body_Stub
4285        or else NT (N).Nkind = N_Task_Type_Declaration);
4286      Set_Node1_With_Parent (N, Val);
4287   end Set_Defining_Identifier;
4288
4289   procedure Set_Defining_Unit_Name
4290      (N : Node_Id; Val : Node_Id) is
4291   begin
4292      pragma Assert (False
4293        or else NT (N).Nkind = N_Function_Instantiation
4294        or else NT (N).Nkind = N_Function_Specification
4295        or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4296        or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4297        or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4298        or else NT (N).Nkind = N_Package_Body
4299        or else NT (N).Nkind = N_Package_Instantiation
4300        or else NT (N).Nkind = N_Package_Renaming_Declaration
4301        or else NT (N).Nkind = N_Package_Specification
4302        or else NT (N).Nkind = N_Procedure_Instantiation
4303        or else NT (N).Nkind = N_Procedure_Specification);
4304      Set_Node1_With_Parent (N, Val);
4305   end Set_Defining_Unit_Name;
4306
4307   procedure Set_Delay_Alternative
4308      (N : Node_Id; Val : Node_Id) is
4309   begin
4310      pragma Assert (False
4311        or else NT (N).Nkind = N_Timed_Entry_Call);
4312      Set_Node4_With_Parent (N, Val);
4313   end Set_Delay_Alternative;
4314
4315   procedure Set_Delay_Statement
4316      (N : Node_Id; Val : Node_Id) is
4317   begin
4318      pragma Assert (False
4319        or else NT (N).Nkind = N_Delay_Alternative);
4320      Set_Node2_With_Parent (N, Val);
4321   end Set_Delay_Statement;
4322
4323   procedure Set_Delta_Expression
4324      (N : Node_Id; Val : Node_Id) is
4325   begin
4326      pragma Assert (False
4327        or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
4328        or else NT (N).Nkind = N_Delta_Constraint
4329        or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
4330      Set_Node3_With_Parent (N, Val);
4331   end Set_Delta_Expression;
4332
4333   procedure Set_Digits_Expression
4334      (N : Node_Id; Val : Node_Id) is
4335   begin
4336      pragma Assert (False
4337        or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
4338        or else NT (N).Nkind = N_Digits_Constraint
4339        or else NT (N).Nkind = N_Floating_Point_Definition);
4340      Set_Node2_With_Parent (N, Val);
4341   end Set_Digits_Expression;
4342
4343   procedure Set_Discr_Check_Funcs_Built
4344      (N : Node_Id; Val : Boolean := True) is
4345   begin
4346      pragma Assert (False
4347        or else NT (N).Nkind = N_Full_Type_Declaration);
4348      Set_Flag11 (N, Val);
4349   end Set_Discr_Check_Funcs_Built;
4350
4351   procedure Set_Discrete_Choices
4352      (N : Node_Id; Val : List_Id) is
4353   begin
4354      pragma Assert (False
4355        or else NT (N).Nkind = N_Case_Expression_Alternative
4356        or else NT (N).Nkind = N_Case_Statement_Alternative
4357        or else NT (N).Nkind = N_Iterated_Component_Association
4358        or else NT (N).Nkind = N_Variant);
4359      Set_List4_With_Parent (N, Val);
4360   end Set_Discrete_Choices;
4361
4362   procedure Set_Discrete_Range
4363      (N : Node_Id; Val : Node_Id) is
4364   begin
4365      pragma Assert (False
4366        or else NT (N).Nkind = N_Slice);
4367      Set_Node4_With_Parent (N, Val);
4368   end Set_Discrete_Range;
4369
4370   procedure Set_Discrete_Subtype_Definition
4371      (N : Node_Id; Val : Node_Id) is
4372   begin
4373      pragma Assert (False
4374        or else NT (N).Nkind = N_Entry_Declaration
4375        or else NT (N).Nkind = N_Entry_Index_Specification
4376        or else NT (N).Nkind = N_Loop_Parameter_Specification);
4377      Set_Node4_With_Parent (N, Val);
4378   end Set_Discrete_Subtype_Definition;
4379
4380   procedure Set_Discrete_Subtype_Definitions
4381      (N : Node_Id; Val : List_Id) is
4382   begin
4383      pragma Assert (False
4384        or else NT (N).Nkind = N_Constrained_Array_Definition);
4385      Set_List2_With_Parent (N, Val);
4386   end Set_Discrete_Subtype_Definitions;
4387
4388   procedure Set_Discriminant_Specifications
4389      (N : Node_Id; Val : List_Id) is
4390   begin
4391      pragma Assert (False
4392        or else NT (N).Nkind = N_Formal_Type_Declaration
4393        or else NT (N).Nkind = N_Full_Type_Declaration
4394        or else NT (N).Nkind = N_Incomplete_Type_Declaration
4395        or else NT (N).Nkind = N_Private_Extension_Declaration
4396        or else NT (N).Nkind = N_Private_Type_Declaration
4397        or else NT (N).Nkind = N_Protected_Type_Declaration
4398        or else NT (N).Nkind = N_Task_Type_Declaration);
4399      Set_List4_With_Parent (N, Val);
4400   end Set_Discriminant_Specifications;
4401
4402   procedure Set_Discriminant_Type
4403      (N : Node_Id; Val : Node_Id) is
4404   begin
4405      pragma Assert (False
4406        or else NT (N).Nkind = N_Discriminant_Specification);
4407      Set_Node5_With_Parent (N, Val);
4408   end Set_Discriminant_Type;
4409
4410   procedure Set_Do_Accessibility_Check
4411      (N : Node_Id; Val : Boolean := True) is
4412   begin
4413      pragma Assert (False
4414        or else NT (N).Nkind = N_Parameter_Specification);
4415      Set_Flag13 (N, Val);
4416   end Set_Do_Accessibility_Check;
4417
4418   procedure Set_Do_Discriminant_Check
4419      (N : Node_Id; Val : Boolean := True) is
4420   begin
4421      pragma Assert (False
4422        or else NT (N).Nkind = N_Assignment_Statement
4423        or else NT (N).Nkind = N_Selected_Component
4424        or else NT (N).Nkind = N_Type_Conversion);
4425      Set_Flag3 (N, Val);
4426   end Set_Do_Discriminant_Check;
4427
4428   procedure Set_Do_Division_Check
4429      (N : Node_Id; Val : Boolean := True) is
4430   begin
4431      pragma Assert (False
4432        or else NT (N).Nkind = N_Op_Divide
4433        or else NT (N).Nkind = N_Op_Mod
4434        or else NT (N).Nkind = N_Op_Rem);
4435      Set_Flag13 (N, Val);
4436   end Set_Do_Division_Check;
4437
4438   procedure Set_Do_Length_Check
4439      (N : Node_Id; Val : Boolean := True) is
4440   begin
4441      pragma Assert (False
4442        or else NT (N).Nkind = N_Assignment_Statement
4443        or else NT (N).Nkind = N_Op_And
4444        or else NT (N).Nkind = N_Op_Or
4445        or else NT (N).Nkind = N_Op_Xor
4446        or else NT (N).Nkind = N_Type_Conversion);
4447      Set_Flag4 (N, Val);
4448   end Set_Do_Length_Check;
4449
4450   procedure Set_Do_Overflow_Check
4451      (N : Node_Id; Val : Boolean := True) is
4452   begin
4453      pragma Assert (False
4454        or else NT (N).Nkind in N_Op
4455        or else NT (N).Nkind = N_Attribute_Reference
4456        or else NT (N).Nkind = N_Case_Expression
4457        or else NT (N).Nkind = N_If_Expression
4458        or else NT (N).Nkind = N_Type_Conversion);
4459      Set_Flag17 (N, Val);
4460   end Set_Do_Overflow_Check;
4461
4462   procedure Set_Do_Range_Check
4463      (N : Node_Id; Val : Boolean := True) is
4464   begin
4465      pragma Assert (False
4466        or else NT (N).Nkind in N_Subexpr);
4467      Set_Flag9 (N, Val);
4468   end Set_Do_Range_Check;
4469
4470   procedure Set_Do_Storage_Check
4471      (N : Node_Id; Val : Boolean := True) is
4472   begin
4473      pragma Assert (False
4474        or else NT (N).Nkind = N_Allocator
4475        or else NT (N).Nkind = N_Subprogram_Body);
4476      Set_Flag17 (N, Val);
4477   end Set_Do_Storage_Check;
4478
4479   procedure Set_Do_Tag_Check
4480      (N : Node_Id; Val : Boolean := True) is
4481   begin
4482      pragma Assert (False
4483        or else NT (N).Nkind = N_Assignment_Statement
4484        or else NT (N).Nkind = N_Extended_Return_Statement
4485        or else NT (N).Nkind = N_Function_Call
4486        or else NT (N).Nkind = N_Procedure_Call_Statement
4487        or else NT (N).Nkind = N_Simple_Return_Statement
4488        or else NT (N).Nkind = N_Type_Conversion);
4489      Set_Flag13 (N, Val);
4490   end Set_Do_Tag_Check;
4491
4492   procedure Set_Elaborate_All_Desirable
4493      (N : Node_Id; Val : Boolean := True) is
4494   begin
4495      pragma Assert (False
4496        or else NT (N).Nkind = N_With_Clause);
4497      Set_Flag9 (N, Val);
4498   end Set_Elaborate_All_Desirable;
4499
4500   procedure Set_Elaborate_All_Present
4501      (N : Node_Id; Val : Boolean := True) is
4502   begin
4503      pragma Assert (False
4504        or else NT (N).Nkind = N_With_Clause);
4505      Set_Flag14 (N, Val);
4506   end Set_Elaborate_All_Present;
4507
4508   procedure Set_Elaborate_Desirable
4509      (N : Node_Id; Val : Boolean := True) is
4510   begin
4511      pragma Assert (False
4512        or else NT (N).Nkind = N_With_Clause);
4513      Set_Flag11 (N, Val);
4514   end Set_Elaborate_Desirable;
4515
4516   procedure Set_Elaborate_Present
4517      (N : Node_Id; Val : Boolean := True) is
4518   begin
4519      pragma Assert (False
4520        or else NT (N).Nkind = N_With_Clause);
4521      Set_Flag4 (N, Val);
4522   end Set_Elaborate_Present;
4523
4524   procedure Set_Else_Actions
4525      (N : Node_Id; Val : List_Id) is
4526   begin
4527      pragma Assert (False
4528        or else NT (N).Nkind = N_If_Expression);
4529      Set_List3_With_Parent (N, Val); -- semantic field, but needs parents
4530   end Set_Else_Actions;
4531
4532   procedure Set_Else_Statements
4533      (N : Node_Id; Val : List_Id) is
4534   begin
4535      pragma Assert (False
4536        or else NT (N).Nkind = N_Conditional_Entry_Call
4537        or else NT (N).Nkind = N_If_Statement
4538        or else NT (N).Nkind = N_Selective_Accept);
4539      Set_List4_With_Parent (N, Val);
4540   end Set_Else_Statements;
4541
4542   procedure Set_Elsif_Parts
4543      (N : Node_Id; Val : List_Id) is
4544   begin
4545      pragma Assert (False
4546        or else NT (N).Nkind = N_If_Statement);
4547      Set_List3_With_Parent (N, Val);
4548   end Set_Elsif_Parts;
4549
4550   procedure Set_Enclosing_Variant
4551      (N : Node_Id; Val : Node_Id) is
4552   begin
4553      pragma Assert (False
4554        or else NT (N).Nkind = N_Variant);
4555      Set_Node2 (N, Val); -- semantic field, no parent set
4556   end Set_Enclosing_Variant;
4557
4558   procedure Set_End_Label
4559      (N : Node_Id; Val : Node_Id) is
4560   begin
4561      pragma Assert (False
4562        or else NT (N).Nkind = N_Enumeration_Type_Definition
4563        or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
4564        or else NT (N).Nkind = N_Loop_Statement
4565        or else NT (N).Nkind = N_Package_Specification
4566        or else NT (N).Nkind = N_Protected_Body
4567        or else NT (N).Nkind = N_Protected_Definition
4568        or else NT (N).Nkind = N_Record_Definition
4569        or else NT (N).Nkind = N_Task_Definition);
4570      Set_Node4_With_Parent (N, Val);
4571   end Set_End_Label;
4572
4573   procedure Set_End_Span
4574      (N : Node_Id; Val : Uint) is
4575   begin
4576      pragma Assert (False
4577        or else NT (N).Nkind = N_Case_Statement
4578        or else NT (N).Nkind = N_If_Statement);
4579      Set_Uint5 (N, Val);
4580   end Set_End_Span;
4581
4582   procedure Set_Entity
4583      (N : Node_Id; Val : Node_Id) is
4584   begin
4585      pragma Assert (False
4586        or else NT (N).Nkind in N_Has_Entity
4587        or else NT (N).Nkind = N_Aspect_Specification
4588        or else NT (N).Nkind = N_Attribute_Definition_Clause
4589        or else NT (N).Nkind = N_Freeze_Entity
4590        or else NT (N).Nkind = N_Freeze_Generic_Entity);
4591      Set_Node4 (N, Val); -- semantic field, no parent set
4592   end Set_Entity;
4593
4594   procedure Set_Entry_Body_Formal_Part
4595      (N : Node_Id; Val : Node_Id) is
4596   begin
4597      pragma Assert (False
4598        or else NT (N).Nkind = N_Entry_Body);
4599      Set_Node5_With_Parent (N, Val);
4600   end Set_Entry_Body_Formal_Part;
4601
4602   procedure Set_Entry_Call_Alternative
4603      (N : Node_Id; Val : Node_Id) is
4604   begin
4605      pragma Assert (False
4606        or else NT (N).Nkind = N_Conditional_Entry_Call
4607        or else NT (N).Nkind = N_Timed_Entry_Call);
4608      Set_Node1_With_Parent (N, Val);
4609   end Set_Entry_Call_Alternative;
4610
4611   procedure Set_Entry_Call_Statement
4612      (N : Node_Id; Val : Node_Id) is
4613   begin
4614      pragma Assert (False
4615        or else NT (N).Nkind = N_Entry_Call_Alternative);
4616      Set_Node1_With_Parent (N, Val);
4617   end Set_Entry_Call_Statement;
4618
4619   procedure Set_Entry_Direct_Name
4620      (N : Node_Id; Val : Node_Id) is
4621   begin
4622      pragma Assert (False
4623        or else NT (N).Nkind = N_Accept_Statement);
4624      Set_Node1_With_Parent (N, Val);
4625   end Set_Entry_Direct_Name;
4626
4627   procedure Set_Entry_Index
4628      (N : Node_Id; Val : Node_Id) is
4629   begin
4630      pragma Assert (False
4631        or else NT (N).Nkind = N_Accept_Statement);
4632      Set_Node5_With_Parent (N, Val);
4633   end Set_Entry_Index;
4634
4635   procedure Set_Entry_Index_Specification
4636      (N : Node_Id; Val : Node_Id) is
4637   begin
4638      pragma Assert (False
4639        or else NT (N).Nkind = N_Entry_Body_Formal_Part);
4640      Set_Node4_With_Parent (N, Val);
4641   end Set_Entry_Index_Specification;
4642
4643   procedure Set_Etype
4644      (N : Node_Id; Val : Node_Id) is
4645   begin
4646      pragma Assert (False
4647        or else NT (N).Nkind in N_Has_Etype);
4648      Set_Node5 (N, Val); -- semantic field, no parent set
4649   end Set_Etype;
4650
4651   procedure Set_Exception_Choices
4652      (N : Node_Id; Val : List_Id) is
4653   begin
4654      pragma Assert (False
4655        or else NT (N).Nkind = N_Exception_Handler);
4656      Set_List4_With_Parent (N, Val);
4657   end Set_Exception_Choices;
4658
4659   procedure Set_Exception_Handlers
4660      (N : Node_Id; Val : List_Id) is
4661   begin
4662      pragma Assert (False
4663        or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
4664      Set_List5_With_Parent (N, Val);
4665   end Set_Exception_Handlers;
4666
4667   procedure Set_Exception_Junk
4668     (N : Node_Id; Val : Boolean := True) is
4669   begin
4670      pragma Assert (False
4671        or else NT (N).Nkind = N_Block_Statement
4672        or else NT (N).Nkind = N_Goto_Statement
4673        or else NT (N).Nkind = N_Label
4674        or else NT (N).Nkind = N_Object_Declaration
4675        or else NT (N).Nkind = N_Subtype_Declaration);
4676      Set_Flag8 (N, Val);
4677   end Set_Exception_Junk;
4678
4679   procedure Set_Exception_Label
4680     (N : Node_Id; Val : Node_Id) is
4681   begin
4682      pragma Assert (False
4683        or else NT (N).Nkind = N_Exception_Handler
4684        or else NT (N).Nkind = N_Push_Constraint_Error_Label
4685        or else NT (N).Nkind = N_Push_Program_Error_Label
4686        or else NT (N).Nkind = N_Push_Storage_Error_Label);
4687      Set_Node5 (N, Val); -- semantic field, no parent set
4688   end Set_Exception_Label;
4689
4690   procedure Set_Expansion_Delayed
4691     (N : Node_Id; Val : Boolean := True) is
4692   begin
4693      pragma Assert (False
4694        or else NT (N).Nkind = N_Aggregate
4695        or else NT (N).Nkind = N_Extension_Aggregate);
4696      Set_Flag11 (N, Val);
4697   end Set_Expansion_Delayed;
4698
4699   procedure Set_Explicit_Actual_Parameter
4700      (N : Node_Id; Val : Node_Id) is
4701   begin
4702      pragma Assert (False
4703        or else NT (N).Nkind = N_Parameter_Association);
4704      Set_Node3_With_Parent (N, Val);
4705   end Set_Explicit_Actual_Parameter;
4706
4707   procedure Set_Explicit_Generic_Actual_Parameter
4708      (N : Node_Id; Val : Node_Id) is
4709   begin
4710      pragma Assert (False
4711        or else NT (N).Nkind = N_Generic_Association);
4712      Set_Node1_With_Parent (N, Val);
4713   end Set_Explicit_Generic_Actual_Parameter;
4714
4715   procedure Set_Expression
4716      (N : Node_Id; Val : Node_Id) is
4717   begin
4718      pragma Assert (False
4719        or else NT (N).Nkind = N_Allocator
4720        or else NT (N).Nkind = N_Aspect_Specification
4721        or else NT (N).Nkind = N_Assignment_Statement
4722        or else NT (N).Nkind = N_At_Clause
4723        or else NT (N).Nkind = N_Attribute_Definition_Clause
4724        or else NT (N).Nkind = N_Case_Expression
4725        or else NT (N).Nkind = N_Case_Expression_Alternative
4726        or else NT (N).Nkind = N_Case_Statement
4727        or else NT (N).Nkind = N_Code_Statement
4728        or else NT (N).Nkind = N_Component_Association
4729        or else NT (N).Nkind = N_Component_Declaration
4730        or else NT (N).Nkind = N_Delay_Relative_Statement
4731        or else NT (N).Nkind = N_Delay_Until_Statement
4732        or else NT (N).Nkind = N_Delta_Aggregate
4733        or else NT (N).Nkind = N_Discriminant_Association
4734        or else NT (N).Nkind = N_Discriminant_Specification
4735        or else NT (N).Nkind = N_Exception_Declaration
4736        or else NT (N).Nkind = N_Expression_Function
4737        or else NT (N).Nkind = N_Expression_With_Actions
4738        or else NT (N).Nkind = N_Free_Statement
4739        or else NT (N).Nkind = N_Iterated_Component_Association
4740        or else NT (N).Nkind = N_Mod_Clause
4741        or else NT (N).Nkind = N_Modular_Type_Definition
4742        or else NT (N).Nkind = N_Number_Declaration
4743        or else NT (N).Nkind = N_Object_Declaration
4744        or else NT (N).Nkind = N_Parameter_Specification
4745        or else NT (N).Nkind = N_Pragma_Argument_Association
4746        or else NT (N).Nkind = N_Qualified_Expression
4747        or else NT (N).Nkind = N_Raise_Expression
4748        or else NT (N).Nkind = N_Raise_Statement
4749        or else NT (N).Nkind = N_Reduction_Expression
4750        or else NT (N).Nkind = N_Reduction_Expression_Parameter
4751        or else NT (N).Nkind = N_Simple_Return_Statement
4752        or else NT (N).Nkind = N_Type_Conversion
4753        or else NT (N).Nkind = N_Unchecked_Expression
4754        or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4755      Set_Node3_With_Parent (N, Val);
4756   end Set_Expression;
4757
4758   procedure Set_Expression_Copy
4759      (N : Node_Id; Val : Node_Id) is
4760   begin
4761      pragma Assert (False
4762        or else NT (N).Nkind = N_Pragma_Argument_Association);
4763      Set_Node2 (N, Val);  -- semantic field, no parent set
4764   end Set_Expression_Copy;
4765
4766   procedure Set_Expressions
4767      (N : Node_Id; Val : List_Id) is
4768   begin
4769      pragma Assert (False
4770        or else NT (N).Nkind = N_Aggregate
4771        or else NT (N).Nkind = N_Attribute_Reference
4772        or else NT (N).Nkind = N_Extension_Aggregate
4773        or else NT (N).Nkind = N_If_Expression
4774        or else NT (N).Nkind = N_Indexed_Component);
4775      Set_List1_With_Parent (N, Val);
4776   end Set_Expressions;
4777
4778   procedure Set_First_Bit
4779      (N : Node_Id; Val : Node_Id) is
4780   begin
4781      pragma Assert (False
4782        or else NT (N).Nkind = N_Component_Clause);
4783      Set_Node3_With_Parent (N, Val);
4784   end Set_First_Bit;
4785
4786   procedure Set_First_Inlined_Subprogram
4787      (N : Node_Id; Val : Entity_Id) is
4788   begin
4789      pragma Assert (False
4790        or else NT (N).Nkind = N_Compilation_Unit);
4791      Set_Node3 (N, Val);  -- semantic field, no parent set
4792   end Set_First_Inlined_Subprogram;
4793
4794   procedure Set_First_Name
4795      (N : Node_Id; Val : Boolean := True) is
4796   begin
4797      pragma Assert (False
4798        or else NT (N).Nkind = N_With_Clause);
4799      Set_Flag5 (N, Val);
4800   end Set_First_Name;
4801
4802   procedure Set_First_Named_Actual
4803      (N : Node_Id; Val : Node_Id) is
4804   begin
4805      pragma Assert (False
4806        or else NT (N).Nkind = N_Entry_Call_Statement
4807        or else NT (N).Nkind = N_Function_Call
4808        or else NT (N).Nkind = N_Procedure_Call_Statement);
4809      Set_Node4 (N, Val); -- semantic field, no parent set
4810   end Set_First_Named_Actual;
4811
4812   procedure Set_First_Real_Statement
4813      (N : Node_Id; Val : Node_Id) is
4814   begin
4815      pragma Assert (False
4816        or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
4817      Set_Node2 (N, Val); -- semantic field, no parent set
4818   end Set_First_Real_Statement;
4819
4820   procedure Set_First_Subtype_Link
4821      (N : Node_Id; Val : Entity_Id) is
4822   begin
4823      pragma Assert (False
4824        or else NT (N).Nkind = N_Freeze_Entity);
4825      Set_Node5 (N, Val); -- semantic field, no parent set
4826   end Set_First_Subtype_Link;
4827
4828   procedure Set_Float_Truncate
4829      (N : Node_Id; Val : Boolean := True) is
4830   begin
4831      pragma Assert (False
4832        or else NT (N).Nkind = N_Type_Conversion);
4833      Set_Flag11 (N, Val);
4834   end Set_Float_Truncate;
4835
4836   procedure Set_Formal_Type_Definition
4837      (N : Node_Id; Val : Node_Id) is
4838   begin
4839      pragma Assert (False
4840        or else NT (N).Nkind = N_Formal_Type_Declaration);
4841      Set_Node3_With_Parent (N, Val);
4842   end Set_Formal_Type_Definition;
4843
4844   procedure Set_Forwards_OK
4845      (N : Node_Id; Val : Boolean := True) is
4846   begin
4847      pragma Assert (False
4848        or else NT (N).Nkind = N_Assignment_Statement);
4849      Set_Flag5 (N, Val);
4850   end Set_Forwards_OK;
4851
4852   procedure Set_From_Aspect_Specification
4853      (N : Node_Id; Val : Boolean := True) is
4854   begin
4855      pragma Assert (False
4856        or else NT (N).Nkind = N_Attribute_Definition_Clause
4857        or else NT (N).Nkind = N_Pragma);
4858      Set_Flag13 (N, Val);
4859   end Set_From_Aspect_Specification;
4860
4861   procedure Set_From_At_End
4862      (N : Node_Id; Val : Boolean := True) is
4863   begin
4864      pragma Assert (False
4865        or else NT (N).Nkind = N_Raise_Statement);
4866      Set_Flag4 (N, Val);
4867   end Set_From_At_End;
4868
4869   procedure Set_From_At_Mod
4870      (N : Node_Id; Val : Boolean := True) is
4871   begin
4872      pragma Assert (False
4873        or else NT (N).Nkind = N_Attribute_Definition_Clause);
4874      Set_Flag4 (N, Val);
4875   end Set_From_At_Mod;
4876
4877   procedure Set_From_Conditional_Expression
4878      (N : Node_Id; Val : Boolean := True) is
4879   begin
4880      pragma Assert (False
4881        or else NT (N).Nkind = N_Case_Statement
4882        or else NT (N).Nkind = N_If_Statement);
4883      Set_Flag1 (N, Val);
4884   end Set_From_Conditional_Expression;
4885
4886   procedure Set_From_Default
4887      (N : Node_Id; Val : Boolean := True) is
4888   begin
4889      pragma Assert (False
4890        or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4891      Set_Flag6 (N, Val);
4892   end Set_From_Default;
4893
4894   procedure Set_Generalized_Indexing
4895      (N : Node_Id; Val : Node_Id) is
4896   begin
4897      pragma Assert (False
4898        or else NT (N).Nkind = N_Indexed_Component);
4899      Set_Node4 (N, Val);
4900   end Set_Generalized_Indexing;
4901
4902   procedure Set_Generic_Associations
4903      (N : Node_Id; Val : List_Id) is
4904   begin
4905      pragma Assert (False
4906        or else NT (N).Nkind = N_Formal_Package_Declaration
4907        or else NT (N).Nkind = N_Function_Instantiation
4908        or else NT (N).Nkind = N_Package_Instantiation
4909        or else NT (N).Nkind = N_Procedure_Instantiation);
4910      Set_List3_With_Parent (N, Val);
4911   end Set_Generic_Associations;
4912
4913   procedure Set_Generic_Formal_Declarations
4914      (N : Node_Id; Val : List_Id) is
4915   begin
4916      pragma Assert (False
4917        or else NT (N).Nkind = N_Generic_Package_Declaration
4918        or else NT (N).Nkind = N_Generic_Subprogram_Declaration);
4919      Set_List2_With_Parent (N, Val);
4920   end Set_Generic_Formal_Declarations;
4921
4922   procedure Set_Generic_Parent
4923      (N : Node_Id; Val : Node_Id) is
4924   begin
4925      pragma Assert (False
4926        or else NT (N).Nkind = N_Function_Specification
4927        or else NT (N).Nkind = N_Package_Specification
4928        or else NT (N).Nkind = N_Procedure_Specification);
4929      Set_Node5 (N, Val);
4930   end Set_Generic_Parent;
4931
4932   procedure Set_Generic_Parent_Type
4933      (N : Node_Id; Val : Node_Id) is
4934   begin
4935      pragma Assert (False
4936        or else NT (N).Nkind = N_Subtype_Declaration);
4937      Set_Node4 (N, Val);
4938   end Set_Generic_Parent_Type;
4939
4940   procedure Set_Handled_Statement_Sequence
4941      (N : Node_Id; Val : Node_Id) is
4942   begin
4943      pragma Assert (False
4944        or else NT (N).Nkind = N_Accept_Statement
4945        or else NT (N).Nkind = N_Block_Statement
4946        or else NT (N).Nkind = N_Entry_Body
4947        or else NT (N).Nkind = N_Extended_Return_Statement
4948        or else NT (N).Nkind = N_Package_Body
4949        or else NT (N).Nkind = N_Subprogram_Body
4950        or else NT (N).Nkind = N_Task_Body);
4951      Set_Node4_With_Parent (N, Val);
4952   end Set_Handled_Statement_Sequence;
4953
4954   procedure Set_Handler_List_Entry
4955      (N : Node_Id; Val : Node_Id) is
4956   begin
4957      pragma Assert (False
4958        or else NT (N).Nkind = N_Object_Declaration);
4959      Set_Node2 (N, Val);
4960   end Set_Handler_List_Entry;
4961
4962   procedure Set_Has_Created_Identifier
4963      (N : Node_Id; Val : Boolean := True) is
4964   begin
4965      pragma Assert (False
4966        or else NT (N).Nkind = N_Block_Statement
4967        or else NT (N).Nkind = N_Loop_Statement);
4968      Set_Flag15 (N, Val);
4969   end Set_Has_Created_Identifier;
4970
4971   procedure Set_Has_Dereference_Action
4972      (N : Node_Id; Val : Boolean := True) is
4973   begin
4974      pragma Assert (False
4975        or else NT (N).Nkind = N_Explicit_Dereference);
4976      Set_Flag13 (N, Val);
4977   end Set_Has_Dereference_Action;
4978
4979   procedure Set_Has_Dynamic_Length_Check
4980      (N : Node_Id; Val : Boolean := True) is
4981   begin
4982      pragma Assert (False
4983        or else NT (N).Nkind in N_Subexpr);
4984      Set_Flag10 (N, Val);
4985   end Set_Has_Dynamic_Length_Check;
4986
4987   procedure Set_Has_Dynamic_Range_Check
4988      (N : Node_Id; Val : Boolean := True) is
4989   begin
4990      pragma Assert (False
4991        or else NT (N).Nkind =  N_Subtype_Declaration
4992        or else NT (N).Nkind in N_Subexpr);
4993      Set_Flag12 (N, Val);
4994   end Set_Has_Dynamic_Range_Check;
4995
4996   procedure Set_Has_Init_Expression
4997      (N : Node_Id; Val : Boolean := True) is
4998   begin
4999      pragma Assert (False
5000        or else NT (N).Nkind = N_Object_Declaration);
5001      Set_Flag14 (N, Val);
5002   end Set_Has_Init_Expression;
5003
5004   procedure Set_Has_Local_Raise
5005      (N : Node_Id; Val : Boolean := True) is
5006   begin
5007      pragma Assert (False
5008        or else NT (N).Nkind = N_Exception_Handler);
5009      Set_Flag8 (N, Val);
5010   end Set_Has_Local_Raise;
5011
5012   procedure Set_Has_No_Elaboration_Code
5013      (N : Node_Id; Val : Boolean := True) is
5014   begin
5015      pragma Assert (False
5016        or else NT (N).Nkind = N_Compilation_Unit);
5017      Set_Flag17 (N, Val);
5018   end Set_Has_No_Elaboration_Code;
5019
5020   procedure Set_Has_Pragma_Suppress_All
5021      (N : Node_Id; Val : Boolean := True) is
5022   begin
5023      pragma Assert (False
5024        or else NT (N).Nkind = N_Compilation_Unit);
5025      Set_Flag14 (N, Val);
5026   end Set_Has_Pragma_Suppress_All;
5027
5028   procedure Set_Has_Private_View
5029      (N : Node_Id; Val : Boolean := True) is
5030   begin
5031      pragma Assert (False
5032       or else NT (N).Nkind in N_Op
5033       or else NT (N).Nkind = N_Character_Literal
5034       or else NT (N).Nkind = N_Expanded_Name
5035       or else NT (N).Nkind = N_Identifier
5036       or else NT (N).Nkind = N_Operator_Symbol);
5037      Set_Flag11 (N, Val);
5038   end Set_Has_Private_View;
5039
5040   procedure Set_Has_Relative_Deadline_Pragma
5041      (N : Node_Id; Val : Boolean := True) is
5042   begin
5043      pragma Assert (False
5044        or else NT (N).Nkind = N_Subprogram_Body
5045        or else NT (N).Nkind = N_Task_Definition);
5046      Set_Flag9 (N, Val);
5047   end Set_Has_Relative_Deadline_Pragma;
5048
5049   procedure Set_Has_Self_Reference
5050      (N : Node_Id; Val : Boolean := True) is
5051   begin
5052      pragma Assert (False
5053        or else NT (N).Nkind = N_Aggregate
5054        or else NT (N).Nkind = N_Extension_Aggregate);
5055      Set_Flag13 (N, Val);
5056   end Set_Has_Self_Reference;
5057
5058   procedure Set_Has_SP_Choice
5059      (N : Node_Id; Val : Boolean := True) is
5060   begin
5061      pragma Assert (False
5062        or else NT (N).Nkind = N_Case_Expression_Alternative
5063        or else NT (N).Nkind = N_Case_Statement_Alternative
5064        or else NT (N).Nkind = N_Variant);
5065      Set_Flag15 (N, Val);
5066   end Set_Has_SP_Choice;
5067
5068   procedure Set_Has_Storage_Size_Pragma
5069      (N : Node_Id; Val : Boolean := True) is
5070   begin
5071      pragma Assert (False
5072        or else NT (N).Nkind = N_Task_Definition);
5073      Set_Flag5 (N, Val);
5074   end Set_Has_Storage_Size_Pragma;
5075
5076   procedure Set_Has_Target_Names
5077      (N : Node_Id; Val : Boolean := True) is
5078   begin
5079      pragma Assert (False
5080        or else NT (N).Nkind = N_Assignment_Statement);
5081      Set_Flag8 (N, Val);
5082   end Set_Has_Target_Names;
5083
5084   procedure Set_Has_Wide_Character
5085      (N : Node_Id; Val : Boolean := True) is
5086   begin
5087      pragma Assert (False
5088        or else NT (N).Nkind = N_String_Literal);
5089      Set_Flag11 (N, Val);
5090   end Set_Has_Wide_Character;
5091
5092   procedure Set_Has_Wide_Wide_Character
5093      (N : Node_Id; Val : Boolean := True) is
5094   begin
5095      pragma Assert (False
5096        or else NT (N).Nkind = N_String_Literal);
5097      Set_Flag13 (N, Val);
5098   end Set_Has_Wide_Wide_Character;
5099
5100   procedure Set_Header_Size_Added
5101      (N : Node_Id; Val : Boolean := True) is
5102   begin
5103      pragma Assert (False
5104        or else NT (N).Nkind = N_Attribute_Reference);
5105      Set_Flag11 (N, Val);
5106   end Set_Header_Size_Added;
5107
5108   procedure Set_Hidden_By_Use_Clause
5109     (N : Node_Id; Val : Elist_Id) is
5110   begin
5111      pragma Assert (False
5112        or else NT (N).Nkind = N_Use_Package_Clause
5113        or else NT (N).Nkind = N_Use_Type_Clause);
5114      Set_Elist5 (N, Val);
5115   end Set_Hidden_By_Use_Clause;
5116
5117   procedure Set_High_Bound
5118      (N : Node_Id; Val : Node_Id) is
5119   begin
5120      pragma Assert (False
5121        or else NT (N).Nkind = N_Range
5122        or else NT (N).Nkind = N_Real_Range_Specification
5123        or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
5124      Set_Node2_With_Parent (N, Val);
5125   end Set_High_Bound;
5126
5127   procedure Set_Identifier
5128      (N : Node_Id; Val : Node_Id) is
5129   begin
5130      pragma Assert (False
5131        or else NT (N).Nkind = N_Aspect_Specification
5132        or else NT (N).Nkind = N_At_Clause
5133        or else NT (N).Nkind = N_Block_Statement
5134        or else NT (N).Nkind = N_Designator
5135        or else NT (N).Nkind = N_Enumeration_Representation_Clause
5136        or else NT (N).Nkind = N_Label
5137        or else NT (N).Nkind = N_Loop_Statement
5138        or else NT (N).Nkind = N_Record_Representation_Clause);
5139      Set_Node1_With_Parent (N, Val);
5140   end Set_Identifier;
5141
5142   procedure Set_Implicit_With
5143      (N : Node_Id; Val : Boolean := True) is
5144   begin
5145      pragma Assert (False
5146        or else NT (N).Nkind = N_With_Clause);
5147      Set_Flag16 (N, Val);
5148   end Set_Implicit_With;
5149
5150   procedure Set_Interface_List
5151      (N : Node_Id; Val : List_Id) is
5152   begin
5153      pragma Assert (False
5154        or else NT (N).Nkind = N_Derived_Type_Definition
5155        or else NT (N).Nkind = N_Formal_Derived_Type_Definition
5156        or else NT (N).Nkind = N_Private_Extension_Declaration
5157        or else NT (N).Nkind = N_Protected_Type_Declaration
5158        or else NT (N).Nkind = N_Record_Definition
5159        or else NT (N).Nkind = N_Single_Protected_Declaration
5160        or else NT (N).Nkind = N_Single_Task_Declaration
5161        or else NT (N).Nkind = N_Task_Type_Declaration);
5162      Set_List2_With_Parent (N, Val);
5163   end Set_Interface_List;
5164
5165   procedure Set_Interface_Present
5166      (N : Node_Id; Val : Boolean := True) is
5167   begin
5168      pragma Assert (False
5169        or else NT (N).Nkind = N_Derived_Type_Definition
5170        or else NT (N).Nkind = N_Record_Definition);
5171      Set_Flag16 (N, Val);
5172   end Set_Interface_Present;
5173
5174   procedure Set_Import_Interface_Present
5175      (N : Node_Id; Val : Boolean := True) is
5176   begin
5177      pragma Assert (False
5178        or else NT (N).Nkind = N_Pragma);
5179      Set_Flag16 (N, Val);
5180   end Set_Import_Interface_Present;
5181
5182   procedure Set_In_Present
5183      (N : Node_Id; Val : Boolean := True) is
5184   begin
5185      pragma Assert (False
5186        or else NT (N).Nkind = N_Formal_Object_Declaration
5187        or else NT (N).Nkind = N_Parameter_Specification);
5188      Set_Flag15 (N, Val);
5189   end Set_In_Present;
5190
5191   procedure Set_Includes_Infinities
5192      (N : Node_Id; Val : Boolean := True) is
5193   begin
5194      pragma Assert (False
5195        or else NT (N).Nkind = N_Range);
5196      Set_Flag11 (N, Val);
5197   end Set_Includes_Infinities;
5198
5199   procedure Set_Incomplete_View
5200     (N : Node_Id; Val : Node_Id) is
5201   begin
5202      pragma Assert (False
5203        or else NT (N).Nkind = N_Full_Type_Declaration);
5204      Set_Node2 (N, Val); --  semantic field, no Parent set
5205   end Set_Incomplete_View;
5206
5207   procedure Set_Inherited_Discriminant
5208      (N : Node_Id; Val : Boolean := True) is
5209   begin
5210      pragma Assert (False
5211        or else NT (N).Nkind = N_Component_Association);
5212      Set_Flag13 (N, Val);
5213   end Set_Inherited_Discriminant;
5214
5215   procedure Set_Instance_Spec
5216      (N : Node_Id; Val : Node_Id) is
5217   begin
5218      pragma Assert (False
5219        or else NT (N).Nkind = N_Formal_Package_Declaration
5220        or else NT (N).Nkind = N_Function_Instantiation
5221        or else NT (N).Nkind = N_Package_Instantiation
5222        or else NT (N).Nkind = N_Procedure_Instantiation);
5223      Set_Node5 (N, Val); -- semantic field, no Parent set
5224   end Set_Instance_Spec;
5225
5226   procedure Set_Intval
5227      (N : Node_Id; Val : Uint) is
5228   begin
5229      pragma Assert (False
5230        or else NT (N).Nkind = N_Integer_Literal);
5231      Set_Uint3 (N, Val);
5232   end Set_Intval;
5233
5234   procedure Set_Is_Abort_Block
5235      (N : Node_Id; Val : Boolean := True) is
5236   begin
5237      pragma Assert (False
5238        or else NT (N).Nkind = N_Block_Statement);
5239      Set_Flag4 (N, Val);
5240   end Set_Is_Abort_Block;
5241
5242   procedure Set_Is_Accessibility_Actual
5243      (N : Node_Id; Val : Boolean := True) is
5244   begin
5245      pragma Assert (False
5246        or else NT (N).Nkind = N_Parameter_Association);
5247      Set_Flag13 (N, Val);
5248   end Set_Is_Accessibility_Actual;
5249
5250   procedure Set_Is_Analyzed_Pragma
5251      (N : Node_Id; Val : Boolean := True) is
5252   begin
5253      pragma Assert (False
5254        or else NT (N).Nkind = N_Pragma);
5255      Set_Flag5 (N, Val);
5256   end Set_Is_Analyzed_Pragma;
5257
5258   procedure Set_Is_Asynchronous_Call_Block
5259      (N : Node_Id; Val : Boolean := True) is
5260   begin
5261      pragma Assert (False
5262        or else NT (N).Nkind = N_Block_Statement);
5263      Set_Flag7 (N, Val);
5264   end Set_Is_Asynchronous_Call_Block;
5265
5266   procedure Set_Is_Boolean_Aspect
5267      (N : Node_Id; Val : Boolean := True) is
5268   begin
5269      pragma Assert (False
5270        or else NT (N).Nkind = N_Aspect_Specification);
5271      Set_Flag16 (N, Val);
5272   end Set_Is_Boolean_Aspect;
5273
5274   procedure Set_Is_Checked
5275      (N : Node_Id; Val : Boolean := True) is
5276   begin
5277      pragma Assert (False
5278        or else NT (N).Nkind = N_Aspect_Specification
5279        or else NT (N).Nkind = N_Pragma);
5280      Set_Flag11 (N, Val);
5281   end Set_Is_Checked;
5282
5283   procedure Set_Is_Checked_Ghost_Pragma
5284      (N : Node_Id; Val : Boolean := True) is
5285   begin
5286      pragma Assert (False
5287        or else NT (N).Nkind = N_Pragma);
5288      Set_Flag3 (N, Val);
5289   end Set_Is_Checked_Ghost_Pragma;
5290
5291   procedure Set_Is_Component_Left_Opnd
5292      (N : Node_Id; Val : Boolean := True) is
5293   begin
5294      pragma Assert (False
5295        or else NT (N).Nkind = N_Op_Concat);
5296      Set_Flag13 (N, Val);
5297   end Set_Is_Component_Left_Opnd;
5298
5299   procedure Set_Is_Component_Right_Opnd
5300      (N : Node_Id; Val : Boolean := True) is
5301   begin
5302      pragma Assert (False
5303        or else NT (N).Nkind = N_Op_Concat);
5304      Set_Flag14 (N, Val);
5305   end Set_Is_Component_Right_Opnd;
5306
5307   procedure Set_Is_Controlling_Actual
5308      (N : Node_Id; Val : Boolean := True) is
5309   begin
5310      pragma Assert (False
5311        or else NT (N).Nkind in N_Subexpr);
5312      Set_Flag16 (N, Val);
5313   end Set_Is_Controlling_Actual;
5314
5315   procedure Set_Is_Declaration_Level_Node
5316      (N : Node_Id; Val : Boolean := True) is
5317   begin
5318      pragma Assert (False
5319        or else NT (N).Nkind = N_Call_Marker
5320        or else NT (N).Nkind = N_Function_Instantiation
5321        or else NT (N).Nkind = N_Package_Instantiation
5322        or else NT (N).Nkind = N_Procedure_Instantiation);
5323      Set_Flag5 (N, Val);
5324   end Set_Is_Declaration_Level_Node;
5325
5326   procedure Set_Is_Delayed_Aspect
5327      (N : Node_Id; Val : Boolean := True) is
5328   begin
5329      pragma Assert (False
5330        or else NT (N).Nkind = N_Aspect_Specification
5331        or else NT (N).Nkind = N_Attribute_Definition_Clause
5332        or else NT (N).Nkind = N_Pragma);
5333      Set_Flag14 (N, Val);
5334   end Set_Is_Delayed_Aspect;
5335
5336   procedure Set_Is_Disabled
5337      (N : Node_Id; Val : Boolean := True) is
5338   begin
5339      pragma Assert (False
5340        or else NT (N).Nkind = N_Aspect_Specification
5341        or else NT (N).Nkind = N_Pragma);
5342      Set_Flag15 (N, Val);
5343   end Set_Is_Disabled;
5344
5345   procedure Set_Is_Dispatching_Call
5346      (N : Node_Id; Val : Boolean := True) is
5347   begin
5348      pragma Assert (False
5349        or else NT (N).Nkind = N_Call_Marker);
5350      Set_Flag6 (N, Val);
5351   end Set_Is_Dispatching_Call;
5352
5353   procedure Set_Is_Dynamic_Coextension
5354      (N : Node_Id; Val : Boolean := True) is
5355   begin
5356      pragma Assert (False
5357        or else NT (N).Nkind = N_Allocator);
5358      Set_Flag18 (N, Val);
5359   end Set_Is_Dynamic_Coextension;
5360
5361   procedure Set_Is_Effective_Use_Clause
5362      (N : Node_Id; Val : Boolean := True) is
5363   begin
5364      pragma Assert (False
5365        or else NT (N).Nkind = N_Use_Package_Clause
5366        or else NT (N).Nkind = N_Use_Type_Clause);
5367      Set_Flag1 (N, Val);
5368   end Set_Is_Effective_Use_Clause;
5369
5370   procedure Set_Is_Elaboration_Checks_OK_Node
5371      (N : Node_Id; Val : Boolean := True) is
5372   begin
5373      pragma Assert (False
5374        or else NT (N).Nkind = N_Assignment_Statement
5375        or else NT (N).Nkind = N_Attribute_Reference
5376        or else NT (N).Nkind = N_Call_Marker
5377        or else NT (N).Nkind = N_Entry_Call_Statement
5378        or else NT (N).Nkind = N_Expanded_Name
5379        or else NT (N).Nkind = N_Function_Call
5380        or else NT (N).Nkind = N_Function_Instantiation
5381        or else NT (N).Nkind = N_Identifier
5382        or else NT (N).Nkind = N_Package_Instantiation
5383        or else NT (N).Nkind = N_Procedure_Call_Statement
5384        or else NT (N).Nkind = N_Procedure_Instantiation
5385        or else NT (N).Nkind = N_Requeue_Statement);
5386      Set_Flag1 (N, Val);
5387   end Set_Is_Elaboration_Checks_OK_Node;
5388
5389   procedure Set_Is_Elaboration_Code
5390      (N : Node_Id; Val : Boolean := True) is
5391   begin
5392      pragma Assert (False
5393        or else NT (N).Nkind = N_Assignment_Statement);
5394      Set_Flag9 (N, Val);
5395   end Set_Is_Elaboration_Code;
5396
5397   procedure Set_Is_Elaboration_Warnings_OK_Node
5398      (N : Node_Id; Val : Boolean := True) is
5399   begin
5400      pragma Assert (False
5401        or else NT (N).Nkind = N_Call_Marker
5402        or else NT (N).Nkind = N_Entry_Call_Statement
5403        or else NT (N).Nkind = N_Function_Call
5404        or else NT (N).Nkind = N_Function_Instantiation
5405        or else NT (N).Nkind = N_Package_Instantiation
5406        or else NT (N).Nkind = N_Procedure_Call_Statement
5407        or else NT (N).Nkind = N_Procedure_Instantiation
5408        or else NT (N).Nkind = N_Requeue_Statement);
5409      Set_Flag3 (N, Val);
5410   end Set_Is_Elaboration_Warnings_OK_Node;
5411
5412   procedure Set_Is_Elsif
5413      (N : Node_Id; Val : Boolean := True) is
5414   begin
5415      pragma Assert (False
5416        or else NT (N).Nkind = N_If_Expression);
5417      Set_Flag13 (N, Val);
5418   end Set_Is_Elsif;
5419
5420   procedure Set_Is_Entry_Barrier_Function
5421      (N : Node_Id; Val : Boolean := True) is
5422   begin
5423      pragma Assert (False
5424        or else NT (N).Nkind = N_Subprogram_Body
5425        or else NT (N).Nkind = N_Subprogram_Declaration);
5426      Set_Flag8 (N, Val);
5427   end Set_Is_Entry_Barrier_Function;
5428
5429   procedure Set_Is_Expanded_Build_In_Place_Call
5430      (N : Node_Id; Val : Boolean := True) is
5431   begin
5432      pragma Assert (False
5433        or else NT (N).Nkind = N_Function_Call);
5434      Set_Flag11 (N, Val);
5435   end Set_Is_Expanded_Build_In_Place_Call;
5436
5437   procedure Set_Is_Expanded_Contract
5438      (N : Node_Id; Val : Boolean := True) is
5439   begin
5440      pragma Assert (False
5441        or else NT (N).Nkind = N_Contract);
5442      Set_Flag1 (N, Val);
5443   end Set_Is_Expanded_Contract;
5444
5445   procedure Set_Is_Finalization_Wrapper
5446      (N : Node_Id; Val : Boolean := True) is
5447   begin
5448      pragma Assert (False
5449        or else NT (N).Nkind = N_Block_Statement);
5450      Set_Flag9 (N, Val);
5451   end Set_Is_Finalization_Wrapper;
5452
5453   procedure Set_Is_Folded_In_Parser
5454      (N : Node_Id; Val : Boolean := True) is
5455   begin
5456      pragma Assert (False
5457        or else NT (N).Nkind = N_String_Literal);
5458      Set_Flag4 (N, Val);
5459   end Set_Is_Folded_In_Parser;
5460
5461   procedure Set_Is_Generic_Contract_Pragma
5462      (N : Node_Id; Val : Boolean := True) is
5463   begin
5464      pragma Assert (False
5465        or else NT (N).Nkind = N_Pragma);
5466      Set_Flag2 (N, Val);
5467   end Set_Is_Generic_Contract_Pragma;
5468
5469   procedure Set_Is_Ignored
5470      (N : Node_Id; Val : Boolean := True) is
5471   begin
5472      pragma Assert (False
5473        or else NT (N).Nkind = N_Aspect_Specification
5474        or else NT (N).Nkind = N_Pragma);
5475      Set_Flag9 (N, Val);
5476   end Set_Is_Ignored;
5477
5478   procedure Set_Is_Ignored_Ghost_Pragma
5479      (N : Node_Id; Val : Boolean := True) is
5480   begin
5481      pragma Assert (False
5482        or else NT (N).Nkind = N_Pragma);
5483      Set_Flag8 (N, Val);
5484   end Set_Is_Ignored_Ghost_Pragma;
5485
5486   procedure Set_Is_In_Discriminant_Check
5487      (N : Node_Id; Val : Boolean := True) is
5488   begin
5489      pragma Assert (False
5490        or else NT (N).Nkind = N_Selected_Component);
5491      Set_Flag11 (N, Val);
5492   end Set_Is_In_Discriminant_Check;
5493
5494   procedure Set_Is_Inherited_Pragma
5495      (N : Node_Id; Val : Boolean := True) is
5496   begin
5497      pragma Assert (False
5498        or else NT (N).Nkind = N_Pragma);
5499      Set_Flag4 (N, Val);
5500   end Set_Is_Inherited_Pragma;
5501
5502   procedure Set_Is_Initialization_Block
5503      (N : Node_Id; Val : Boolean := True) is
5504   begin
5505      pragma Assert (False
5506        or else NT (N).Nkind = N_Block_Statement);
5507      Set_Flag1 (N, Val);
5508   end Set_Is_Initialization_Block;
5509
5510   procedure Set_Is_Known_Guaranteed_ABE
5511      (N : Node_Id; Val : Boolean := True) is
5512   begin
5513      pragma Assert (False
5514        or else NT (N).Nkind = N_Call_Marker
5515        or else NT (N).Nkind = N_Formal_Package_Declaration
5516        or else NT (N).Nkind = N_Function_Call
5517        or else NT (N).Nkind = N_Function_Instantiation
5518        or else NT (N).Nkind = N_Package_Instantiation
5519        or else NT (N).Nkind = N_Procedure_Call_Statement
5520        or else NT (N).Nkind = N_Procedure_Instantiation);
5521      Set_Flag18 (N, Val);
5522   end Set_Is_Known_Guaranteed_ABE;
5523
5524   procedure Set_Is_Machine_Number
5525      (N : Node_Id; Val : Boolean := True) is
5526   begin
5527      pragma Assert (False
5528        or else NT (N).Nkind = N_Real_Literal);
5529      Set_Flag11 (N, Val);
5530   end Set_Is_Machine_Number;
5531
5532   procedure Set_Is_Null_Loop
5533      (N : Node_Id; Val : Boolean := True) is
5534   begin
5535      pragma Assert (False
5536        or else NT (N).Nkind = N_Loop_Statement);
5537      Set_Flag16 (N, Val);
5538   end Set_Is_Null_Loop;
5539
5540   procedure Set_Is_Overloaded
5541      (N : Node_Id; Val : Boolean := True) is
5542   begin
5543      pragma Assert (False
5544        or else NT (N).Nkind in N_Subexpr);
5545      Set_Flag5 (N, Val);
5546   end Set_Is_Overloaded;
5547
5548   procedure Set_Is_Power_Of_2_For_Shift
5549      (N : Node_Id; Val : Boolean := True) is
5550   begin
5551      pragma Assert (False
5552        or else NT (N).Nkind = N_Op_Expon);
5553      Set_Flag13 (N, Val);
5554   end Set_Is_Power_Of_2_For_Shift;
5555
5556   procedure Set_Is_Prefixed_Call
5557      (N : Node_Id; Val : Boolean := True) is
5558   begin
5559      pragma Assert (False
5560        or else NT (N).Nkind = N_Selected_Component);
5561      Set_Flag17 (N, Val);
5562   end Set_Is_Prefixed_Call;
5563
5564   procedure Set_Is_Protected_Subprogram_Body
5565      (N : Node_Id; Val : Boolean := True) is
5566   begin
5567      pragma Assert (False
5568        or else NT (N).Nkind = N_Subprogram_Body);
5569      Set_Flag7 (N, Val);
5570   end Set_Is_Protected_Subprogram_Body;
5571
5572   procedure Set_Is_Qualified_Universal_Literal
5573      (N : Node_Id; Val : Boolean := True) is
5574   begin
5575      pragma Assert (False
5576        or else NT (N).Nkind = N_Qualified_Expression);
5577      Set_Flag4 (N, Val);
5578   end Set_Is_Qualified_Universal_Literal;
5579
5580   procedure Set_Is_Read
5581      (N : Node_Id; Val : Boolean := True) is
5582   begin
5583      pragma Assert (False
5584        or else NT (N).Nkind = N_Variable_Reference_Marker);
5585      Set_Flag1 (N, Val);
5586   end Set_Is_Read;
5587
5588   procedure Set_Is_Source_Call
5589      (N : Node_Id; Val : Boolean := True) is
5590   begin
5591      pragma Assert (False
5592        or else NT (N).Nkind = N_Call_Marker);
5593      Set_Flag4 (N, Val);
5594   end Set_Is_Source_Call;
5595
5596   procedure Set_Is_SPARK_Mode_On_Node
5597      (N : Node_Id; Val : Boolean := True) is
5598   begin
5599      pragma Assert (False
5600        or else NT (N).Nkind = N_Assignment_Statement
5601        or else NT (N).Nkind = N_Attribute_Reference
5602        or else NT (N).Nkind = N_Call_Marker
5603        or else NT (N).Nkind = N_Entry_Call_Statement
5604        or else NT (N).Nkind = N_Expanded_Name
5605        or else NT (N).Nkind = N_Function_Call
5606        or else NT (N).Nkind = N_Function_Instantiation
5607        or else NT (N).Nkind = N_Identifier
5608        or else NT (N).Nkind = N_Package_Instantiation
5609        or else NT (N).Nkind = N_Procedure_Call_Statement
5610        or else NT (N).Nkind = N_Procedure_Instantiation
5611        or else NT (N).Nkind = N_Requeue_Statement);
5612      Set_Flag2 (N, Val);
5613   end Set_Is_SPARK_Mode_On_Node;
5614
5615   procedure Set_Is_Static_Coextension
5616      (N : Node_Id; Val : Boolean := True) is
5617   begin
5618      pragma Assert (False
5619        or else NT (N).Nkind = N_Allocator);
5620      Set_Flag14 (N, Val);
5621   end Set_Is_Static_Coextension;
5622
5623   procedure Set_Is_Static_Expression
5624      (N : Node_Id; Val : Boolean := True) is
5625   begin
5626      pragma Assert (False
5627        or else NT (N).Nkind in N_Subexpr);
5628      Set_Flag6 (N, Val);
5629   end Set_Is_Static_Expression;
5630
5631   procedure Set_Is_Subprogram_Descriptor
5632      (N : Node_Id; Val : Boolean := True) is
5633   begin
5634      pragma Assert (False
5635        or else NT (N).Nkind = N_Object_Declaration);
5636      Set_Flag16 (N, Val);
5637   end Set_Is_Subprogram_Descriptor;
5638
5639   procedure Set_Is_Task_Allocation_Block
5640      (N : Node_Id; Val : Boolean := True) is
5641   begin
5642      pragma Assert (False
5643        or else NT (N).Nkind = N_Block_Statement);
5644      Set_Flag6 (N, Val);
5645   end Set_Is_Task_Allocation_Block;
5646
5647   procedure Set_Is_Task_Body_Procedure
5648      (N : Node_Id; Val : Boolean := True) is
5649   begin
5650      pragma Assert (False
5651        or else NT (N).Nkind = N_Subprogram_Body
5652        or else NT (N).Nkind = N_Subprogram_Declaration);
5653      Set_Flag1 (N, Val);
5654   end Set_Is_Task_Body_Procedure;
5655
5656   procedure Set_Is_Task_Master
5657      (N : Node_Id; Val : Boolean := True) is
5658   begin
5659      pragma Assert (False
5660        or else NT (N).Nkind = N_Block_Statement
5661        or else NT (N).Nkind = N_Subprogram_Body
5662        or else NT (N).Nkind = N_Task_Body);
5663      Set_Flag5 (N, Val);
5664   end Set_Is_Task_Master;
5665
5666   procedure Set_Is_Write
5667      (N : Node_Id; Val : Boolean := True) is
5668   begin
5669      pragma Assert (False
5670        or else NT (N).Nkind = N_Variable_Reference_Marker);
5671      Set_Flag2 (N, Val);
5672   end Set_Is_Write;
5673
5674   procedure Set_Iteration_Scheme
5675      (N : Node_Id; Val : Node_Id) is
5676   begin
5677      pragma Assert (False
5678        or else NT (N).Nkind = N_Loop_Statement);
5679      Set_Node2_With_Parent (N, Val);
5680   end Set_Iteration_Scheme;
5681
5682   procedure Set_Iterator_Specification
5683     (N : Node_Id; Val : Node_Id) is
5684   begin
5685      pragma Assert (False
5686        or else NT (N).Nkind = N_Iteration_Scheme
5687        or else NT (N).Nkind = N_Quantified_Expression
5688        or else NT (N).Nkind = N_Reduction_Expression);
5689      Set_Node2_With_Parent (N, Val);
5690   end Set_Iterator_Specification;
5691
5692   procedure Set_Itype
5693      (N : Node_Id; Val : Entity_Id) is
5694   begin
5695      pragma Assert (False
5696      or else NT (N).Nkind = N_Itype_Reference);
5697      Set_Node1 (N, Val); -- no parent, semantic field
5698   end Set_Itype;
5699
5700   procedure Set_Kill_Range_Check
5701      (N : Node_Id; Val : Boolean := True) is
5702   begin
5703      pragma Assert (False
5704        or else NT (N).Nkind = N_Unchecked_Type_Conversion);
5705      Set_Flag11 (N, Val);
5706   end Set_Kill_Range_Check;
5707
5708   procedure Set_Label_Construct
5709      (N : Node_Id; Val : Node_Id) is
5710   begin
5711      pragma Assert (False
5712        or else NT (N).Nkind = N_Implicit_Label_Declaration);
5713      Set_Node2 (N, Val); -- semantic field, no parent set
5714   end Set_Label_Construct;
5715
5716   procedure Set_Last_Bit
5717      (N : Node_Id; Val : Node_Id) is
5718   begin
5719      pragma Assert (False
5720        or else NT (N).Nkind = N_Component_Clause);
5721      Set_Node4_With_Parent (N, Val);
5722   end Set_Last_Bit;
5723
5724   procedure Set_Last_Name
5725      (N : Node_Id; Val : Boolean := True) is
5726   begin
5727      pragma Assert (False
5728        or else NT (N).Nkind = N_With_Clause);
5729      Set_Flag6 (N, Val);
5730   end Set_Last_Name;
5731
5732   procedure Set_Left_Opnd
5733      (N : Node_Id; Val : Node_Id) is
5734   begin
5735      pragma Assert (False
5736        or else NT (N).Nkind = N_And_Then
5737        or else NT (N).Nkind = N_In
5738        or else NT (N).Nkind = N_Not_In
5739        or else NT (N).Nkind = N_Or_Else
5740        or else NT (N).Nkind in N_Binary_Op);
5741      Set_Node2_With_Parent (N, Val);
5742   end Set_Left_Opnd;
5743
5744   procedure Set_Library_Unit
5745      (N : Node_Id; Val : Node_Id) is
5746   begin
5747      pragma Assert (False
5748        or else NT (N).Nkind = N_Compilation_Unit
5749        or else NT (N).Nkind = N_Package_Body_Stub
5750        or else NT (N).Nkind = N_Protected_Body_Stub
5751        or else NT (N).Nkind = N_Subprogram_Body_Stub
5752        or else NT (N).Nkind = N_Task_Body_Stub
5753        or else NT (N).Nkind = N_With_Clause);
5754      Set_Node4 (N, Val); -- semantic field, no parent set
5755   end Set_Library_Unit;
5756
5757   procedure Set_Limited_View_Installed
5758      (N : Node_Id; Val : Boolean := True) is
5759   begin
5760      pragma Assert (False
5761        or else NT (N).Nkind = N_Package_Specification
5762        or else NT (N).Nkind = N_With_Clause);
5763      Set_Flag18 (N, Val);
5764   end Set_Limited_View_Installed;
5765
5766   procedure Set_Limited_Present
5767      (N : Node_Id; Val : Boolean := True) is
5768   begin
5769      pragma Assert (False
5770        or else NT (N).Nkind = N_Derived_Type_Definition
5771        or else NT (N).Nkind = N_Formal_Derived_Type_Definition
5772        or else NT (N).Nkind = N_Formal_Private_Type_Definition
5773        or else NT (N).Nkind = N_Private_Extension_Declaration
5774        or else NT (N).Nkind = N_Private_Type_Declaration
5775        or else NT (N).Nkind = N_Record_Definition
5776        or else NT (N).Nkind = N_With_Clause);
5777      Set_Flag17 (N, Val);
5778   end Set_Limited_Present;
5779
5780   procedure Set_Literals
5781      (N : Node_Id; Val : List_Id) is
5782   begin
5783      pragma Assert (False
5784        or else NT (N).Nkind = N_Enumeration_Type_Definition);
5785      Set_List1_With_Parent (N, Val);
5786   end Set_Literals;
5787
5788   procedure Set_Local_Raise_Not_OK
5789      (N : Node_Id; Val : Boolean := True) is
5790   begin
5791      pragma Assert (False
5792        or else NT (N).Nkind = N_Exception_Handler);
5793      Set_Flag7 (N, Val);
5794   end Set_Local_Raise_Not_OK;
5795
5796   procedure Set_Local_Raise_Statements
5797      (N : Node_Id; Val : Elist_Id) is
5798   begin
5799      pragma Assert (False
5800        or else NT (N).Nkind = N_Exception_Handler);
5801      Set_Elist1 (N, Val);
5802   end Set_Local_Raise_Statements;
5803
5804   procedure Set_Loop_Actions
5805      (N : Node_Id; Val : List_Id) is
5806   begin
5807      pragma Assert (False
5808        or else NT (N).Nkind = N_Component_Association
5809        or else NT (N).Nkind = N_Iterated_Component_Association);
5810      Set_List2 (N, Val); -- semantic field, no parent set
5811   end Set_Loop_Actions;
5812
5813   procedure Set_Loop_Parameter_Specification
5814      (N : Node_Id; Val : Node_Id) is
5815   begin
5816      pragma Assert (False
5817        or else NT (N).Nkind = N_Iteration_Scheme
5818        or else NT (N).Nkind = N_Quantified_Expression
5819        or else NT (N).Nkind = N_Reduction_Expression);
5820      Set_Node4_With_Parent (N, Val);
5821   end Set_Loop_Parameter_Specification;
5822
5823   procedure Set_Low_Bound
5824      (N : Node_Id; Val : Node_Id) is
5825   begin
5826      pragma Assert (False
5827        or else NT (N).Nkind = N_Range
5828        or else NT (N).Nkind = N_Real_Range_Specification
5829        or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
5830      Set_Node1_With_Parent (N, Val);
5831   end Set_Low_Bound;
5832
5833   procedure Set_Mod_Clause
5834      (N : Node_Id; Val : Node_Id) is
5835   begin
5836      pragma Assert (False
5837        or else NT (N).Nkind = N_Record_Representation_Clause);
5838      Set_Node2_With_Parent (N, Val);
5839   end Set_Mod_Clause;
5840
5841   procedure Set_More_Ids
5842      (N : Node_Id; Val : Boolean := True) is
5843   begin
5844      pragma Assert (False
5845        or else NT (N).Nkind = N_Component_Declaration
5846        or else NT (N).Nkind = N_Discriminant_Specification
5847        or else NT (N).Nkind = N_Exception_Declaration
5848        or else NT (N).Nkind = N_Formal_Object_Declaration
5849        or else NT (N).Nkind = N_Number_Declaration
5850        or else NT (N).Nkind = N_Object_Declaration
5851        or else NT (N).Nkind = N_Parameter_Specification
5852        or else NT (N).Nkind = N_Use_Package_Clause
5853        or else NT (N).Nkind = N_Use_Type_Clause);
5854      Set_Flag5 (N, Val);
5855   end Set_More_Ids;
5856
5857   procedure Set_Must_Be_Byte_Aligned
5858      (N : Node_Id; Val : Boolean := True) is
5859   begin
5860      pragma Assert (False
5861        or else NT (N).Nkind = N_Attribute_Reference);
5862      Set_Flag14 (N, Val);
5863   end Set_Must_Be_Byte_Aligned;
5864
5865   procedure Set_Must_Not_Freeze
5866      (N : Node_Id; Val : Boolean := True) is
5867   begin
5868      pragma Assert (False
5869        or else NT (N).Nkind = N_Subtype_Indication
5870        or else NT (N).Nkind in N_Subexpr);
5871      Set_Flag8 (N, Val);
5872   end Set_Must_Not_Freeze;
5873
5874   procedure Set_Must_Not_Override
5875      (N : Node_Id; Val : Boolean := True) is
5876   begin
5877      pragma Assert (False
5878        or else NT (N).Nkind = N_Entry_Declaration
5879        or else NT (N).Nkind = N_Function_Instantiation
5880        or else NT (N).Nkind = N_Function_Specification
5881        or else NT (N).Nkind = N_Procedure_Instantiation
5882        or else NT (N).Nkind = N_Procedure_Specification);
5883      Set_Flag15 (N, Val);
5884   end Set_Must_Not_Override;
5885
5886   procedure Set_Must_Override
5887      (N : Node_Id; Val : Boolean := True) is
5888   begin
5889      pragma Assert (False
5890        or else NT (N).Nkind = N_Entry_Declaration
5891        or else NT (N).Nkind = N_Function_Instantiation
5892        or else NT (N).Nkind = N_Function_Specification
5893        or else NT (N).Nkind = N_Procedure_Instantiation
5894        or else NT (N).Nkind = N_Procedure_Specification);
5895      Set_Flag14 (N, Val);
5896   end Set_Must_Override;
5897
5898   procedure Set_Name
5899      (N : Node_Id; Val : Node_Id) is
5900   begin
5901      pragma Assert (False
5902        or else NT (N).Nkind = N_Assignment_Statement
5903        or else NT (N).Nkind = N_Attribute_Definition_Clause
5904        or else NT (N).Nkind = N_Defining_Program_Unit_Name
5905        or else NT (N).Nkind = N_Designator
5906        or else NT (N).Nkind = N_Entry_Call_Statement
5907        or else NT (N).Nkind = N_Exception_Renaming_Declaration
5908        or else NT (N).Nkind = N_Exit_Statement
5909        or else NT (N).Nkind = N_Formal_Package_Declaration
5910        or else NT (N).Nkind = N_Function_Call
5911        or else NT (N).Nkind = N_Function_Instantiation
5912        or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
5913        or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
5914        or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
5915        or else NT (N).Nkind = N_Goto_Statement
5916        or else NT (N).Nkind = N_Iterator_Specification
5917        or else NT (N).Nkind = N_Object_Renaming_Declaration
5918        or else NT (N).Nkind = N_Package_Instantiation
5919        or else NT (N).Nkind = N_Package_Renaming_Declaration
5920        or else NT (N).Nkind = N_Procedure_Call_Statement
5921        or else NT (N).Nkind = N_Procedure_Instantiation
5922        or else NT (N).Nkind = N_Raise_Expression
5923        or else NT (N).Nkind = N_Raise_Statement
5924        or else NT (N).Nkind = N_Requeue_Statement
5925        or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
5926        or else NT (N).Nkind = N_Subunit
5927        or else NT (N).Nkind = N_Use_Package_Clause
5928        or else NT (N).Nkind = N_Variant_Part
5929        or else NT (N).Nkind = N_With_Clause);
5930      Set_Node2_With_Parent (N, Val);
5931   end Set_Name;
5932
5933   procedure Set_Names
5934      (N : Node_Id; Val : List_Id) is
5935   begin
5936      pragma Assert (False
5937        or else NT (N).Nkind = N_Abort_Statement);
5938      Set_List2_With_Parent (N, Val);
5939   end Set_Names;
5940
5941   procedure Set_Next_Entity
5942      (N : Node_Id; Val : Node_Id) is
5943   begin
5944      pragma Assert (False
5945        or else NT (N).Nkind = N_Defining_Character_Literal
5946        or else NT (N).Nkind = N_Defining_Identifier
5947        or else NT (N).Nkind = N_Defining_Operator_Symbol);
5948      Set_Node2 (N, Val); -- semantic field, no parent set
5949   end Set_Next_Entity;
5950
5951   procedure Set_Next_Exit_Statement
5952      (N : Node_Id; Val : Node_Id) is
5953   begin
5954      pragma Assert (False
5955        or else NT (N).Nkind = N_Exit_Statement);
5956      Set_Node3 (N, Val); -- semantic field, no parent set
5957   end Set_Next_Exit_Statement;
5958
5959   procedure Set_Next_Implicit_With
5960      (N : Node_Id; Val : Node_Id) is
5961   begin
5962      pragma Assert (False
5963        or else NT (N).Nkind = N_With_Clause);
5964      Set_Node3 (N, Val); -- semantic field, no parent set
5965   end Set_Next_Implicit_With;
5966
5967   procedure Set_Next_Named_Actual
5968      (N : Node_Id; Val : Node_Id) is
5969   begin
5970      pragma Assert (False
5971        or else NT (N).Nkind = N_Parameter_Association);
5972      Set_Node4 (N, Val); -- semantic field, no parent set
5973   end Set_Next_Named_Actual;
5974
5975   procedure Set_Next_Pragma
5976      (N : Node_Id; Val : Node_Id) is
5977   begin
5978      pragma Assert (False
5979        or else NT (N).Nkind = N_Pragma);
5980      Set_Node1 (N, Val); -- semantic field, no parent set
5981   end Set_Next_Pragma;
5982
5983   procedure Set_Next_Rep_Item
5984      (N : Node_Id; Val : Node_Id) is
5985   begin
5986      pragma Assert (False
5987        or else NT (N).Nkind = N_Aspect_Specification
5988        or else NT (N).Nkind = N_Attribute_Definition_Clause
5989        or else NT (N).Nkind = N_Enumeration_Representation_Clause
5990        or else NT (N).Nkind = N_Pragma
5991        or else NT (N).Nkind = N_Record_Representation_Clause);
5992      Set_Node5 (N, Val); -- semantic field, no parent set
5993   end Set_Next_Rep_Item;
5994
5995   procedure Set_Next_Use_Clause
5996      (N : Node_Id; Val : Node_Id) is
5997   begin
5998      pragma Assert (False
5999        or else NT (N).Nkind = N_Use_Package_Clause
6000        or else NT (N).Nkind = N_Use_Type_Clause);
6001      Set_Node3 (N, Val); -- semantic field, no parent set
6002   end Set_Next_Use_Clause;
6003
6004   procedure Set_No_Ctrl_Actions
6005      (N : Node_Id; Val : Boolean := True) is
6006   begin
6007      pragma Assert (False
6008        or else NT (N).Nkind = N_Assignment_Statement);
6009      Set_Flag7 (N, Val);
6010   end Set_No_Ctrl_Actions;
6011
6012   procedure Set_No_Elaboration_Check
6013      (N : Node_Id; Val : Boolean := True) is
6014   begin
6015      pragma Assert (False
6016        or else NT (N).Nkind = N_Function_Call
6017        or else NT (N).Nkind = N_Procedure_Call_Statement);
6018      Set_Flag4 (N, Val);
6019   end Set_No_Elaboration_Check;
6020
6021   procedure Set_No_Entities_Ref_In_Spec
6022      (N : Node_Id; Val : Boolean := True) is
6023   begin
6024      pragma Assert (False
6025        or else NT (N).Nkind = N_With_Clause);
6026      Set_Flag8 (N, Val);
6027   end Set_No_Entities_Ref_In_Spec;
6028
6029   procedure Set_No_Initialization
6030      (N : Node_Id; Val : Boolean := True) is
6031   begin
6032      pragma Assert (False
6033        or else NT (N).Nkind = N_Allocator
6034        or else NT (N).Nkind = N_Object_Declaration);
6035      Set_Flag13 (N, Val);
6036   end Set_No_Initialization;
6037
6038   procedure Set_No_Minimize_Eliminate
6039      (N : Node_Id; Val : Boolean := True) is
6040   begin
6041      pragma Assert (False
6042        or else NT (N).Nkind = N_In
6043        or else NT (N).Nkind = N_Not_In);
6044      Set_Flag17 (N, Val);
6045   end Set_No_Minimize_Eliminate;
6046
6047   procedure Set_No_Side_Effect_Removal
6048      (N : Node_Id; Val : Boolean := True) is
6049   begin
6050      pragma Assert (False
6051        or else NT (N).Nkind = N_Function_Call);
6052      Set_Flag17 (N, Val);
6053   end Set_No_Side_Effect_Removal;
6054
6055   procedure Set_No_Truncation
6056      (N : Node_Id; Val : Boolean := True) is
6057   begin
6058      pragma Assert (False
6059        or else NT (N).Nkind = N_Unchecked_Type_Conversion);
6060      Set_Flag17 (N, Val);
6061   end Set_No_Truncation;
6062
6063   procedure Set_Null_Excluding_Subtype
6064      (N : Node_Id; Val : Boolean := True) is
6065   begin
6066      pragma Assert (False
6067        or else NT (N).Nkind = N_Access_To_Object_Definition);
6068      Set_Flag16 (N, Val);
6069   end Set_Null_Excluding_Subtype;
6070
6071   procedure Set_Null_Exclusion_Present
6072      (N : Node_Id; Val : Boolean := True) is
6073   begin
6074      pragma Assert (False
6075        or else NT (N).Nkind = N_Access_Definition
6076        or else NT (N).Nkind = N_Access_Function_Definition
6077        or else NT (N).Nkind = N_Access_Procedure_Definition
6078        or else NT (N).Nkind = N_Access_To_Object_Definition
6079        or else NT (N).Nkind = N_Allocator
6080        or else NT (N).Nkind = N_Component_Definition
6081        or else NT (N).Nkind = N_Derived_Type_Definition
6082        or else NT (N).Nkind = N_Discriminant_Specification
6083        or else NT (N).Nkind = N_Formal_Object_Declaration
6084        or else NT (N).Nkind = N_Function_Specification
6085        or else NT (N).Nkind = N_Object_Declaration
6086        or else NT (N).Nkind = N_Object_Renaming_Declaration
6087        or else NT (N).Nkind = N_Parameter_Specification
6088        or else NT (N).Nkind = N_Subtype_Declaration);
6089      Set_Flag11 (N, Val);
6090   end Set_Null_Exclusion_Present;
6091
6092   procedure Set_Null_Exclusion_In_Return_Present
6093      (N : Node_Id; Val : Boolean := True) is
6094   begin
6095      pragma Assert (False
6096        or else NT (N).Nkind = N_Access_Function_Definition);
6097      Set_Flag14 (N, Val);
6098   end Set_Null_Exclusion_In_Return_Present;
6099
6100   procedure Set_Null_Present
6101      (N : Node_Id; Val : Boolean := True) is
6102   begin
6103      pragma Assert (False
6104        or else NT (N).Nkind = N_Component_List
6105        or else NT (N).Nkind = N_Procedure_Specification
6106        or else NT (N).Nkind = N_Record_Definition);
6107      Set_Flag13 (N, Val);
6108   end Set_Null_Present;
6109
6110   procedure Set_Null_Record_Present
6111      (N : Node_Id; Val : Boolean := True) is
6112   begin
6113      pragma Assert (False
6114        or else NT (N).Nkind = N_Aggregate
6115        or else NT (N).Nkind = N_Extension_Aggregate);
6116      Set_Flag17 (N, Val);
6117   end Set_Null_Record_Present;
6118
6119   procedure Set_Null_Statement
6120      (N : Node_Id; Val : Node_Id) is
6121   begin
6122      pragma Assert (False
6123        or else NT (N).Nkind = N_Procedure_Specification);
6124      Set_Node2 (N, Val);
6125   end Set_Null_Statement;
6126
6127   procedure Set_Object_Definition
6128      (N : Node_Id; Val : Node_Id) is
6129   begin
6130      pragma Assert (False
6131        or else NT (N).Nkind = N_Object_Declaration);
6132      Set_Node4_With_Parent (N, Val);
6133   end Set_Object_Definition;
6134
6135   procedure Set_Of_Present
6136      (N : Node_Id; Val : Boolean := True) is
6137   begin
6138      pragma Assert (False
6139        or else NT (N).Nkind = N_Iterator_Specification);
6140      Set_Flag16 (N, Val);
6141   end Set_Of_Present;
6142
6143   procedure Set_Original_Discriminant
6144      (N : Node_Id; Val : Node_Id) is
6145   begin
6146      pragma Assert (False
6147        or else NT (N).Nkind = N_Identifier);
6148      Set_Node2 (N, Val); -- semantic field, no parent set
6149   end Set_Original_Discriminant;
6150
6151   procedure Set_Original_Entity
6152      (N : Node_Id; Val : Entity_Id) is
6153   begin
6154      pragma Assert (False
6155        or else NT (N).Nkind = N_Integer_Literal
6156        or else NT (N).Nkind = N_Real_Literal);
6157      Set_Node2 (N, Val); --  semantic field, no parent set
6158   end Set_Original_Entity;
6159
6160   procedure Set_Others_Discrete_Choices
6161      (N : Node_Id; Val : List_Id) is
6162   begin
6163      pragma Assert (False
6164        or else NT (N).Nkind = N_Others_Choice);
6165      Set_List1_With_Parent (N, Val);
6166   end Set_Others_Discrete_Choices;
6167
6168   procedure Set_Out_Present
6169      (N : Node_Id; Val : Boolean := True) is
6170   begin
6171      pragma Assert (False
6172        or else NT (N).Nkind = N_Formal_Object_Declaration
6173        or else NT (N).Nkind = N_Parameter_Specification);
6174      Set_Flag17 (N, Val);
6175   end Set_Out_Present;
6176
6177   procedure Set_Parameter_Associations
6178      (N : Node_Id; Val : List_Id) is
6179   begin
6180      pragma Assert (False
6181        or else NT (N).Nkind = N_Entry_Call_Statement
6182        or else NT (N).Nkind = N_Function_Call
6183        or else NT (N).Nkind = N_Procedure_Call_Statement);
6184      Set_List3_With_Parent (N, Val);
6185   end Set_Parameter_Associations;
6186
6187   procedure Set_Parameter_Specifications
6188      (N : Node_Id; Val : List_Id) is
6189   begin
6190      pragma Assert (False
6191        or else NT (N).Nkind = N_Accept_Statement
6192        or else NT (N).Nkind = N_Access_Function_Definition
6193        or else NT (N).Nkind = N_Access_Procedure_Definition
6194        or else NT (N).Nkind = N_Entry_Body_Formal_Part
6195        or else NT (N).Nkind = N_Entry_Declaration
6196        or else NT (N).Nkind = N_Function_Specification
6197        or else NT (N).Nkind = N_Procedure_Specification);
6198      Set_List3_With_Parent (N, Val);
6199   end Set_Parameter_Specifications;
6200
6201   procedure Set_Parameter_Type
6202      (N : Node_Id; Val : Node_Id) is
6203   begin
6204      pragma Assert (False
6205        or else NT (N).Nkind = N_Parameter_Specification);
6206      Set_Node2_With_Parent (N, Val);
6207   end Set_Parameter_Type;
6208
6209   procedure Set_Parent_Spec
6210      (N : Node_Id; Val : Node_Id) is
6211   begin
6212      pragma Assert (False
6213        or else NT (N).Nkind = N_Function_Instantiation
6214        or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
6215        or else NT (N).Nkind = N_Generic_Package_Declaration
6216        or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
6217        or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
6218        or else NT (N).Nkind = N_Generic_Subprogram_Declaration
6219        or else NT (N).Nkind = N_Package_Declaration
6220        or else NT (N).Nkind = N_Package_Instantiation
6221        or else NT (N).Nkind = N_Package_Renaming_Declaration
6222        or else NT (N).Nkind = N_Procedure_Instantiation
6223        or else NT (N).Nkind = N_Subprogram_Declaration
6224        or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
6225      Set_Node4 (N, Val); -- semantic field, no parent set
6226   end Set_Parent_Spec;
6227
6228   procedure Set_Parent_With
6229      (N : Node_Id; Val : Boolean := True) is
6230   begin
6231      pragma Assert (False
6232        or else NT (N).Nkind = N_With_Clause);
6233      Set_Flag1 (N, Val);
6234   end Set_Parent_With;
6235
6236   procedure Set_Position
6237      (N : Node_Id; Val : Node_Id) is
6238   begin
6239      pragma Assert (False
6240        or else NT (N).Nkind = N_Component_Clause);
6241      Set_Node2_With_Parent (N, Val);
6242   end Set_Position;
6243
6244   procedure Set_Pragma_Argument_Associations
6245      (N : Node_Id; Val : List_Id) is
6246   begin
6247      pragma Assert (False
6248        or else NT (N).Nkind = N_Pragma);
6249      Set_List2_With_Parent (N, Val);
6250   end Set_Pragma_Argument_Associations;
6251
6252   procedure Set_Pragma_Identifier
6253      (N : Node_Id; Val : Node_Id) is
6254   begin
6255      pragma Assert (False
6256        or else NT (N).Nkind = N_Pragma);
6257      Set_Node4_With_Parent (N, Val);
6258   end Set_Pragma_Identifier;
6259
6260   procedure Set_Pragmas_After
6261      (N : Node_Id; Val : List_Id) is
6262   begin
6263      pragma Assert (False
6264        or else NT (N).Nkind = N_Compilation_Unit_Aux
6265        or else NT (N).Nkind = N_Terminate_Alternative);
6266      Set_List5_With_Parent (N, Val);
6267   end Set_Pragmas_After;
6268
6269   procedure Set_Pragmas_Before
6270      (N : Node_Id; Val : List_Id) is
6271   begin
6272      pragma Assert (False
6273        or else NT (N).Nkind = N_Accept_Alternative
6274        or else NT (N).Nkind = N_Delay_Alternative
6275        or else NT (N).Nkind = N_Entry_Call_Alternative
6276        or else NT (N).Nkind = N_Mod_Clause
6277        or else NT (N).Nkind = N_Terminate_Alternative
6278        or else NT (N).Nkind = N_Triggering_Alternative);
6279      Set_List4_With_Parent (N, Val);
6280   end Set_Pragmas_Before;
6281
6282   procedure Set_Pre_Post_Conditions
6283      (N : Node_Id; Val : Node_Id) is
6284   begin
6285      pragma Assert (False
6286        or else NT (N).Nkind = N_Contract);
6287      Set_Node1 (N, Val); -- semantic field, no parent set
6288   end Set_Pre_Post_Conditions;
6289
6290   procedure Set_Prefix
6291      (N : Node_Id; Val : Node_Id) is
6292   begin
6293      pragma Assert (False
6294        or else NT (N).Nkind = N_Attribute_Reference
6295        or else NT (N).Nkind = N_Expanded_Name
6296        or else NT (N).Nkind = N_Explicit_Dereference
6297        or else NT (N).Nkind = N_Indexed_Component
6298        or else NT (N).Nkind = N_Reference
6299        or else NT (N).Nkind = N_Selected_Component
6300        or else NT (N).Nkind = N_Slice);
6301      Set_Node3_With_Parent (N, Val);
6302   end Set_Prefix;
6303
6304   procedure Set_Premature_Use
6305      (N : Node_Id; Val : Node_Id) is
6306   begin
6307      pragma Assert (False
6308        or else NT (N).Nkind = N_Incomplete_Type_Declaration);
6309      Set_Node5 (N, Val);
6310   end Set_Premature_Use;
6311
6312   procedure Set_Present_Expr
6313      (N : Node_Id; Val : Uint) is
6314   begin
6315      pragma Assert (False
6316        or else NT (N).Nkind = N_Variant);
6317      Set_Uint3 (N, Val);
6318   end Set_Present_Expr;
6319
6320   procedure Set_Prev_Ids
6321      (N : Node_Id; Val : Boolean := True) is
6322   begin
6323      pragma Assert (False
6324        or else NT (N).Nkind = N_Component_Declaration
6325        or else NT (N).Nkind = N_Discriminant_Specification
6326        or else NT (N).Nkind = N_Exception_Declaration
6327        or else NT (N).Nkind = N_Formal_Object_Declaration
6328        or else NT (N).Nkind = N_Number_Declaration
6329        or else NT (N).Nkind = N_Object_Declaration
6330        or else NT (N).Nkind = N_Parameter_Specification
6331        or else NT (N).Nkind = N_Use_Package_Clause
6332        or else NT (N).Nkind = N_Use_Type_Clause);
6333      Set_Flag6 (N, Val);
6334   end Set_Prev_Ids;
6335
6336   procedure Set_Prev_Use_Clause
6337      (N : Node_Id; Val : Node_Id) is
6338   begin
6339      pragma Assert (False
6340        or else NT (N).Nkind = N_Use_Package_Clause
6341        or else NT (N).Nkind = N_Use_Type_Clause);
6342      Set_Node1 (N, Val); -- semantic field, no parent set
6343   end Set_Prev_Use_Clause;
6344
6345   procedure Set_Print_In_Hex
6346      (N : Node_Id; Val : Boolean := True) is
6347   begin
6348      pragma Assert (False
6349        or else NT (N).Nkind = N_Integer_Literal);
6350      Set_Flag13 (N, Val);
6351   end Set_Print_In_Hex;
6352
6353   procedure Set_Private_Declarations
6354      (N : Node_Id; Val : List_Id) is
6355   begin
6356      pragma Assert (False
6357        or else NT (N).Nkind = N_Package_Specification
6358        or else NT (N).Nkind = N_Protected_Definition
6359        or else NT (N).Nkind = N_Task_Definition);
6360      Set_List3_With_Parent (N, Val);
6361   end Set_Private_Declarations;
6362
6363   procedure Set_Private_Present
6364      (N : Node_Id; Val : Boolean := True) is
6365   begin
6366      pragma Assert (False
6367        or else NT (N).Nkind = N_Compilation_Unit
6368        or else NT (N).Nkind = N_Formal_Derived_Type_Definition
6369        or else NT (N).Nkind = N_With_Clause);
6370      Set_Flag15 (N, Val);
6371   end Set_Private_Present;
6372
6373   procedure Set_Procedure_To_Call
6374      (N : Node_Id; Val : Node_Id) is
6375   begin
6376      pragma Assert (False
6377        or else NT (N).Nkind = N_Allocator
6378        or else NT (N).Nkind = N_Extended_Return_Statement
6379        or else NT (N).Nkind = N_Free_Statement
6380        or else NT (N).Nkind = N_Simple_Return_Statement);
6381      Set_Node2 (N, Val); -- semantic field, no parent set
6382   end Set_Procedure_To_Call;
6383
6384   procedure Set_Proper_Body
6385      (N : Node_Id; Val : Node_Id) is
6386   begin
6387      pragma Assert (False
6388        or else NT (N).Nkind = N_Subunit);
6389      Set_Node1_With_Parent (N, Val);
6390   end Set_Proper_Body;
6391
6392   procedure Set_Protected_Definition
6393      (N : Node_Id; Val : Node_Id) is
6394   begin
6395      pragma Assert (False
6396        or else NT (N).Nkind = N_Protected_Type_Declaration
6397        or else NT (N).Nkind = N_Single_Protected_Declaration);
6398      Set_Node3_With_Parent (N, Val);
6399   end Set_Protected_Definition;
6400
6401   procedure Set_Protected_Present
6402      (N : Node_Id; Val : Boolean := True) is
6403   begin
6404      pragma Assert (False
6405        or else NT (N).Nkind = N_Access_Function_Definition
6406        or else NT (N).Nkind = N_Access_Procedure_Definition
6407        or else NT (N).Nkind = N_Derived_Type_Definition
6408        or else NT (N).Nkind = N_Record_Definition);
6409      Set_Flag6 (N, Val);
6410   end Set_Protected_Present;
6411
6412   procedure Set_Raises_Constraint_Error
6413      (N : Node_Id; Val : Boolean := True) is
6414   begin
6415      pragma Assert (False
6416        or else NT (N).Nkind in N_Subexpr);
6417      Set_Flag7 (N, Val);
6418   end Set_Raises_Constraint_Error;
6419
6420   procedure Set_Range_Constraint
6421      (N : Node_Id; Val : Node_Id) is
6422   begin
6423      pragma Assert (False
6424        or else NT (N).Nkind = N_Delta_Constraint
6425        or else NT (N).Nkind = N_Digits_Constraint);
6426      Set_Node4_With_Parent (N, Val);
6427   end Set_Range_Constraint;
6428
6429   procedure Set_Range_Expression
6430      (N : Node_Id; Val : Node_Id) is
6431   begin
6432      pragma Assert (False
6433        or else NT (N).Nkind = N_Range_Constraint);
6434      Set_Node4_With_Parent (N, Val);
6435   end Set_Range_Expression;
6436
6437   procedure Set_Real_Range_Specification
6438      (N : Node_Id; Val : Node_Id) is
6439   begin
6440      pragma Assert (False
6441        or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
6442        or else NT (N).Nkind = N_Floating_Point_Definition
6443        or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
6444      Set_Node4_With_Parent (N, Val);
6445   end Set_Real_Range_Specification;
6446
6447   procedure Set_Realval
6448     (N : Node_Id; Val : Ureal) is
6449   begin
6450      pragma Assert (False
6451        or else NT (N).Nkind = N_Real_Literal);
6452      Set_Ureal3 (N, Val);
6453   end Set_Realval;
6454
6455   procedure Set_Reason
6456      (N : Node_Id; Val : Uint) is
6457   begin
6458      pragma Assert (False
6459        or else NT (N).Nkind = N_Raise_Constraint_Error
6460        or else NT (N).Nkind = N_Raise_Program_Error
6461        or else NT (N).Nkind = N_Raise_Storage_Error);
6462      Set_Uint3 (N, Val);
6463   end Set_Reason;
6464
6465   procedure Set_Record_Extension_Part
6466      (N : Node_Id; Val : Node_Id) is
6467   begin
6468      pragma Assert (False
6469        or else NT (N).Nkind = N_Derived_Type_Definition);
6470      Set_Node3_With_Parent (N, Val);
6471   end Set_Record_Extension_Part;
6472
6473   procedure Set_Redundant_Use
6474      (N : Node_Id; Val : Boolean := True) is
6475   begin
6476      pragma Assert (False
6477        or else NT (N).Nkind = N_Attribute_Reference
6478        or else NT (N).Nkind = N_Expanded_Name
6479        or else NT (N).Nkind = N_Identifier);
6480      Set_Flag13 (N, Val);
6481   end Set_Redundant_Use;
6482
6483   procedure Set_Renaming_Exception
6484      (N : Node_Id; Val : Node_Id) is
6485   begin
6486      pragma Assert (False
6487        or else NT (N).Nkind = N_Exception_Declaration);
6488      Set_Node2 (N, Val);
6489   end Set_Renaming_Exception;
6490
6491   procedure Set_Result_Definition
6492     (N : Node_Id; Val : Node_Id) is
6493   begin
6494      pragma Assert (False
6495        or else NT (N).Nkind = N_Access_Function_Definition
6496        or else NT (N).Nkind = N_Function_Specification);
6497      Set_Node4_With_Parent (N, Val);
6498   end Set_Result_Definition;
6499
6500   procedure Set_Return_Object_Declarations
6501     (N : Node_Id; Val : List_Id) is
6502   begin
6503      pragma Assert (False
6504        or else NT (N).Nkind = N_Extended_Return_Statement);
6505      Set_List3_With_Parent (N, Val);
6506   end Set_Return_Object_Declarations;
6507
6508   procedure Set_Return_Statement_Entity
6509     (N : Node_Id; Val : Node_Id) is
6510   begin
6511      pragma Assert (False
6512        or else NT (N).Nkind = N_Extended_Return_Statement
6513        or else NT (N).Nkind = N_Simple_Return_Statement);
6514      Set_Node5 (N, Val); -- semantic field, no parent set
6515   end Set_Return_Statement_Entity;
6516
6517   procedure Set_Reverse_Present
6518      (N : Node_Id; Val : Boolean := True) is
6519   begin
6520      pragma Assert (False
6521        or else NT (N).Nkind = N_Iterator_Specification
6522        or else NT (N).Nkind = N_Loop_Parameter_Specification);
6523      Set_Flag15 (N, Val);
6524   end Set_Reverse_Present;
6525
6526   procedure Set_Right_Opnd
6527      (N : Node_Id; Val : Node_Id) is
6528   begin
6529      pragma Assert (False
6530        or else NT (N).Nkind in N_Op
6531        or else NT (N).Nkind = N_And_Then
6532        or else NT (N).Nkind = N_In
6533        or else NT (N).Nkind = N_Not_In
6534        or else NT (N).Nkind = N_Or_Else);
6535      Set_Node3_With_Parent (N, Val);
6536   end Set_Right_Opnd;
6537
6538   procedure Set_Rounded_Result
6539      (N : Node_Id; Val : Boolean := True) is
6540   begin
6541      pragma Assert (False
6542        or else NT (N).Nkind = N_Op_Divide
6543        or else NT (N).Nkind = N_Op_Multiply
6544        or else NT (N).Nkind = N_Type_Conversion);
6545      Set_Flag18 (N, Val);
6546   end Set_Rounded_Result;
6547
6548   procedure Set_SCIL_Controlling_Tag
6549      (N : Node_Id; Val : Node_Id) is
6550   begin
6551      pragma Assert (False
6552        or else NT (N).Nkind = N_SCIL_Dispatching_Call);
6553      Set_Node5 (N, Val); -- semantic field, no parent set
6554   end Set_SCIL_Controlling_Tag;
6555
6556   procedure Set_SCIL_Entity
6557      (N : Node_Id; Val : Node_Id) is
6558   begin
6559      pragma Assert (False
6560        or else NT (N).Nkind = N_SCIL_Dispatch_Table_Tag_Init
6561        or else NT (N).Nkind = N_SCIL_Dispatching_Call
6562        or else NT (N).Nkind = N_SCIL_Membership_Test);
6563      Set_Node4 (N, Val); -- semantic field, no parent set
6564   end Set_SCIL_Entity;
6565
6566   procedure Set_SCIL_Tag_Value
6567      (N : Node_Id; Val : Node_Id) is
6568   begin
6569      pragma Assert (False
6570        or else NT (N).Nkind = N_SCIL_Membership_Test);
6571      Set_Node5 (N, Val); -- semantic field, no parent set
6572   end Set_SCIL_Tag_Value;
6573
6574   procedure Set_SCIL_Target_Prim
6575      (N : Node_Id; Val : Node_Id) is
6576   begin
6577      pragma Assert (False
6578        or else NT (N).Nkind = N_SCIL_Dispatching_Call);
6579      Set_Node2 (N, Val); -- semantic field, no parent set
6580   end Set_SCIL_Target_Prim;
6581
6582   procedure Set_Scope
6583      (N : Node_Id; Val : Node_Id) is
6584   begin
6585      pragma Assert (False
6586        or else NT (N).Nkind = N_Defining_Character_Literal
6587        or else NT (N).Nkind = N_Defining_Identifier
6588        or else NT (N).Nkind = N_Defining_Operator_Symbol);
6589      Set_Node3 (N, Val); -- semantic field, no parent set
6590   end Set_Scope;
6591
6592   procedure Set_Select_Alternatives
6593      (N : Node_Id; Val : List_Id) is
6594   begin
6595      pragma Assert (False
6596        or else NT (N).Nkind = N_Selective_Accept);
6597      Set_List1_With_Parent (N, Val);
6598   end Set_Select_Alternatives;
6599
6600   procedure Set_Selector_Name
6601      (N : Node_Id; Val : Node_Id) is
6602   begin
6603      pragma Assert (False
6604        or else NT (N).Nkind = N_Expanded_Name
6605        or else NT (N).Nkind = N_Generic_Association
6606        or else NT (N).Nkind = N_Parameter_Association
6607        or else NT (N).Nkind = N_Selected_Component);
6608      Set_Node2_With_Parent (N, Val);
6609   end Set_Selector_Name;
6610
6611   procedure Set_Selector_Names
6612      (N : Node_Id; Val : List_Id) is
6613   begin
6614      pragma Assert (False
6615        or else NT (N).Nkind = N_Discriminant_Association);
6616      Set_List1_With_Parent (N, Val);
6617   end Set_Selector_Names;
6618
6619   procedure Set_Shift_Count_OK
6620      (N : Node_Id; Val : Boolean := True) is
6621   begin
6622      pragma Assert (False
6623        or else NT (N).Nkind = N_Op_Rotate_Left
6624        or else NT (N).Nkind = N_Op_Rotate_Right
6625        or else NT (N).Nkind = N_Op_Shift_Left
6626        or else NT (N).Nkind = N_Op_Shift_Right
6627        or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
6628      Set_Flag4 (N, Val);
6629   end Set_Shift_Count_OK;
6630
6631   procedure Set_Source_Type
6632      (N : Node_Id; Val : Entity_Id) is
6633   begin
6634      pragma Assert (False
6635        or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
6636      Set_Node1 (N, Val); -- semantic field, no parent set
6637   end Set_Source_Type;
6638
6639   procedure Set_Specification
6640      (N : Node_Id; Val : Node_Id) is
6641   begin
6642      pragma Assert (False
6643        or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
6644        or else NT (N).Nkind = N_Expression_Function
6645        or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
6646        or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
6647        or else NT (N).Nkind = N_Generic_Package_Declaration
6648        or else NT (N).Nkind = N_Generic_Subprogram_Declaration
6649        or else NT (N).Nkind = N_Package_Declaration
6650        or else NT (N).Nkind = N_Subprogram_Body
6651        or else NT (N).Nkind = N_Subprogram_Body_Stub
6652        or else NT (N).Nkind = N_Subprogram_Declaration
6653        or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
6654      Set_Node1_With_Parent (N, Val);
6655   end Set_Specification;
6656
6657   procedure Set_Split_PPC
6658      (N : Node_Id; Val : Boolean) is
6659   begin
6660      pragma Assert (False
6661        or else NT (N).Nkind = N_Aspect_Specification
6662        or else NT (N).Nkind = N_Pragma);
6663      Set_Flag17 (N, Val);
6664   end Set_Split_PPC;
6665
6666   procedure Set_Statements
6667      (N : Node_Id; Val : List_Id) is
6668   begin
6669      pragma Assert (False
6670        or else NT (N).Nkind = N_Abortable_Part
6671        or else NT (N).Nkind = N_Accept_Alternative
6672        or else NT (N).Nkind = N_Case_Statement_Alternative
6673        or else NT (N).Nkind = N_Delay_Alternative
6674        or else NT (N).Nkind = N_Entry_Call_Alternative
6675        or else NT (N).Nkind = N_Exception_Handler
6676        or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
6677        or else NT (N).Nkind = N_Loop_Statement
6678        or else NT (N).Nkind = N_Triggering_Alternative);
6679      Set_List3_With_Parent (N, Val);
6680   end Set_Statements;
6681
6682   procedure Set_Storage_Pool
6683      (N : Node_Id; Val : Node_Id) is
6684   begin
6685      pragma Assert (False
6686        or else NT (N).Nkind = N_Allocator
6687        or else NT (N).Nkind = N_Extended_Return_Statement
6688        or else NT (N).Nkind = N_Free_Statement
6689        or else NT (N).Nkind = N_Simple_Return_Statement);
6690      Set_Node1 (N, Val); -- semantic field, no parent set
6691   end Set_Storage_Pool;
6692
6693   procedure Set_Subpool_Handle_Name
6694      (N : Node_Id; Val : Node_Id) is
6695   begin
6696      pragma Assert (False
6697        or else NT (N).Nkind = N_Allocator);
6698      Set_Node4_With_Parent (N, Val);
6699   end Set_Subpool_Handle_Name;
6700
6701   procedure Set_Strval
6702      (N : Node_Id; Val : String_Id) is
6703   begin
6704      pragma Assert (False
6705        or else NT (N).Nkind = N_Operator_Symbol
6706        or else NT (N).Nkind = N_String_Literal);
6707      Set_Str3 (N, Val);
6708   end Set_Strval;
6709
6710   procedure Set_Subtype_Indication
6711      (N : Node_Id; Val : Node_Id) is
6712   begin
6713      pragma Assert (False
6714        or else NT (N).Nkind = N_Access_To_Object_Definition
6715        or else NT (N).Nkind = N_Component_Definition
6716        or else NT (N).Nkind = N_Derived_Type_Definition
6717        or else NT (N).Nkind = N_Iterator_Specification
6718        or else NT (N).Nkind = N_Private_Extension_Declaration
6719        or else NT (N).Nkind = N_Subtype_Declaration);
6720      Set_Node5_With_Parent (N, Val);
6721   end Set_Subtype_Indication;
6722
6723   procedure Set_Subtype_Mark
6724      (N : Node_Id; Val : Node_Id) is
6725   begin
6726      pragma Assert (False
6727        or else NT (N).Nkind = N_Access_Definition
6728        or else NT (N).Nkind = N_Formal_Derived_Type_Definition
6729        or else NT (N).Nkind = N_Formal_Object_Declaration
6730        or else NT (N).Nkind = N_Object_Renaming_Declaration
6731        or else NT (N).Nkind = N_Qualified_Expression
6732        or else NT (N).Nkind = N_Subtype_Indication
6733        or else NT (N).Nkind = N_Type_Conversion
6734        or else NT (N).Nkind = N_Unchecked_Type_Conversion
6735        or else NT (N).Nkind = N_Use_Type_Clause);
6736      Set_Node4_With_Parent (N, Val);
6737   end Set_Subtype_Mark;
6738
6739   procedure Set_Subtype_Marks
6740      (N : Node_Id; Val : List_Id) is
6741   begin
6742      pragma Assert (False
6743        or else NT (N).Nkind = N_Unconstrained_Array_Definition);
6744      Set_List2_With_Parent (N, Val);
6745   end Set_Subtype_Marks;
6746
6747   procedure Set_Suppress_Assignment_Checks
6748      (N : Node_Id; Val : Boolean := True) is
6749   begin
6750      pragma Assert (False
6751        or else NT (N).Nkind = N_Assignment_Statement
6752        or else NT (N).Nkind = N_Object_Declaration);
6753      Set_Flag18 (N, Val);
6754   end Set_Suppress_Assignment_Checks;
6755
6756   procedure Set_Suppress_Loop_Warnings
6757      (N : Node_Id; Val : Boolean := True) is
6758   begin
6759      pragma Assert (False
6760        or else NT (N).Nkind = N_Loop_Statement);
6761      Set_Flag17 (N, Val);
6762   end Set_Suppress_Loop_Warnings;
6763
6764   procedure Set_Synchronized_Present
6765     (N : Node_Id; Val : Boolean := True) is
6766   begin
6767      pragma Assert (False
6768        or else NT (N).Nkind = N_Derived_Type_Definition
6769        or else NT (N).Nkind = N_Formal_Derived_Type_Definition
6770        or else NT (N).Nkind = N_Private_Extension_Declaration
6771        or else NT (N).Nkind = N_Record_Definition);
6772      Set_Flag7 (N, Val);
6773   end Set_Synchronized_Present;
6774
6775   procedure Set_Tagged_Present
6776      (N : Node_Id; Val : Boolean := True) is
6777   begin
6778      pragma Assert (False
6779        or else NT (N).Nkind = N_Formal_Incomplete_Type_Definition
6780        or else NT (N).Nkind = N_Formal_Private_Type_Definition
6781        or else NT (N).Nkind = N_Incomplete_Type_Declaration
6782        or else NT (N).Nkind = N_Private_Type_Declaration
6783        or else NT (N).Nkind = N_Record_Definition);
6784      Set_Flag15 (N, Val);
6785   end Set_Tagged_Present;
6786
6787   procedure Set_Target
6788      (N : Node_Id; Val : Entity_Id) is
6789   begin
6790      pragma Assert (False
6791        or else NT (N).Nkind = N_Call_Marker
6792        or else NT (N).Nkind = N_Variable_Reference_Marker);
6793      Set_Node1 (N, Val); -- semantic field, no parent set
6794   end Set_Target;
6795
6796   procedure Set_Target_Type
6797      (N : Node_Id; Val : Entity_Id) is
6798   begin
6799      pragma Assert (False
6800        or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
6801      Set_Node2 (N, Val); -- semantic field, no parent set
6802   end Set_Target_Type;
6803
6804   procedure Set_Task_Definition
6805      (N : Node_Id; Val : Node_Id) is
6806   begin
6807      pragma Assert (False
6808        or else NT (N).Nkind = N_Single_Task_Declaration
6809        or else NT (N).Nkind = N_Task_Type_Declaration);
6810      Set_Node3_With_Parent (N, Val);
6811   end Set_Task_Definition;
6812
6813   procedure Set_Task_Present
6814     (N : Node_Id; Val : Boolean := True) is
6815   begin
6816      pragma Assert (False
6817        or else NT (N).Nkind = N_Derived_Type_Definition
6818        or else NT (N).Nkind = N_Record_Definition);
6819      Set_Flag5 (N, Val);
6820   end Set_Task_Present;
6821
6822   procedure Set_Then_Actions
6823      (N : Node_Id; Val : List_Id) is
6824   begin
6825      pragma Assert (False
6826        or else NT (N).Nkind = N_If_Expression);
6827      Set_List2_With_Parent (N, Val); -- semantic field, but needs parents
6828   end Set_Then_Actions;
6829
6830   procedure Set_Then_Statements
6831      (N : Node_Id; Val : List_Id) is
6832   begin
6833      pragma Assert (False
6834        or else NT (N).Nkind = N_Elsif_Part
6835        or else NT (N).Nkind = N_If_Statement);
6836      Set_List2_With_Parent (N, Val);
6837   end Set_Then_Statements;
6838
6839   procedure Set_Treat_Fixed_As_Integer
6840      (N : Node_Id; Val : Boolean := True) is
6841   begin
6842      pragma Assert (False
6843        or else NT (N).Nkind = N_Op_Divide
6844        or else NT (N).Nkind = N_Op_Mod
6845        or else NT (N).Nkind = N_Op_Multiply
6846        or else NT (N).Nkind = N_Op_Rem);
6847      Set_Flag14 (N, Val);
6848   end Set_Treat_Fixed_As_Integer;
6849
6850   procedure Set_Triggering_Alternative
6851      (N : Node_Id; Val : Node_Id) is
6852   begin
6853      pragma Assert (False
6854        or else NT (N).Nkind = N_Asynchronous_Select);
6855      Set_Node1_With_Parent (N, Val);
6856   end Set_Triggering_Alternative;
6857
6858   procedure Set_Triggering_Statement
6859      (N : Node_Id; Val : Node_Id) is
6860   begin
6861      pragma Assert (False
6862        or else NT (N).Nkind = N_Triggering_Alternative);
6863      Set_Node1_With_Parent (N, Val);
6864   end Set_Triggering_Statement;
6865
6866   procedure Set_TSS_Elist
6867      (N : Node_Id; Val : Elist_Id) is
6868   begin
6869      pragma Assert (False
6870        or else NT (N).Nkind = N_Freeze_Entity);
6871      Set_Elist3 (N, Val); -- semantic field, no parent set
6872   end Set_TSS_Elist;
6873
6874   procedure Set_Uneval_Old_Accept
6875     (N : Node_Id; Val : Boolean := True) is
6876   begin
6877      pragma Assert (False
6878        or else NT (N).Nkind = N_Pragma);
6879      Set_Flag7 (N, Val);
6880   end Set_Uneval_Old_Accept;
6881
6882   procedure Set_Uneval_Old_Warn
6883     (N : Node_Id; Val : Boolean := True) is
6884   begin
6885      pragma Assert (False
6886        or else NT (N).Nkind = N_Pragma);
6887      Set_Flag18 (N, Val);
6888   end Set_Uneval_Old_Warn;
6889
6890   procedure Set_Type_Definition
6891      (N : Node_Id; Val : Node_Id) is
6892   begin
6893      pragma Assert (False
6894        or else NT (N).Nkind = N_Full_Type_Declaration);
6895      Set_Node3_With_Parent (N, Val);
6896   end Set_Type_Definition;
6897
6898   procedure Set_Unit
6899      (N : Node_Id; Val : Node_Id) is
6900   begin
6901      pragma Assert (False
6902        or else NT (N).Nkind = N_Compilation_Unit);
6903      Set_Node2_With_Parent (N, Val);
6904   end Set_Unit;
6905
6906   procedure Set_Unknown_Discriminants_Present
6907      (N : Node_Id; Val : Boolean := True) is
6908   begin
6909      pragma Assert (False
6910        or else NT (N).Nkind = N_Formal_Type_Declaration
6911        or else NT (N).Nkind = N_Incomplete_Type_Declaration
6912        or else NT (N).Nkind = N_Private_Extension_Declaration
6913        or else NT (N).Nkind = N_Private_Type_Declaration);
6914      Set_Flag13 (N, Val);
6915   end Set_Unknown_Discriminants_Present;
6916
6917   procedure Set_Unreferenced_In_Spec
6918      (N : Node_Id; Val : Boolean := True) is
6919   begin
6920      pragma Assert (False
6921        or else NT (N).Nkind = N_With_Clause);
6922      Set_Flag7 (N, Val);
6923   end Set_Unreferenced_In_Spec;
6924
6925   procedure Set_Variant_Part
6926      (N : Node_Id; Val : Node_Id) is
6927   begin
6928      pragma Assert (False
6929        or else NT (N).Nkind = N_Component_List);
6930      Set_Node4_With_Parent (N, Val);
6931   end Set_Variant_Part;
6932
6933   procedure Set_Variants
6934      (N : Node_Id; Val : List_Id) is
6935   begin
6936      pragma Assert (False
6937        or else NT (N).Nkind = N_Variant_Part);
6938      Set_List1_With_Parent (N, Val);
6939   end Set_Variants;
6940
6941   procedure Set_Visible_Declarations
6942      (N : Node_Id; Val : List_Id) is
6943   begin
6944      pragma Assert (False
6945        or else NT (N).Nkind = N_Package_Specification
6946        or else NT (N).Nkind = N_Protected_Definition
6947        or else NT (N).Nkind = N_Task_Definition);
6948      Set_List2_With_Parent (N, Val);
6949   end Set_Visible_Declarations;
6950
6951   procedure Set_Uninitialized_Variable
6952     (N : Node_Id; Val : Node_Id) is
6953   begin
6954      pragma Assert (False
6955        or else NT (N).Nkind = N_Formal_Private_Type_Definition
6956        or else NT (N).Nkind = N_Private_Extension_Declaration);
6957      Set_Node3 (N, Val);
6958   end Set_Uninitialized_Variable;
6959
6960   procedure Set_Used_Operations
6961     (N : Node_Id; Val :  Elist_Id) is
6962   begin
6963      pragma Assert (False
6964        or else NT (N).Nkind = N_Use_Type_Clause);
6965      Set_Elist2 (N, Val);
6966   end Set_Used_Operations;
6967
6968   procedure Set_Was_Attribute_Reference
6969      (N : Node_Id; Val : Boolean := True) is
6970   begin
6971      pragma Assert (False
6972        or else NT (N).Nkind = N_Subprogram_Body);
6973      Set_Flag2 (N, Val);
6974   end Set_Was_Attribute_Reference;
6975
6976   procedure Set_Was_Expression_Function
6977      (N : Node_Id; Val : Boolean := True) is
6978   begin
6979      pragma Assert (False
6980        or else NT (N).Nkind = N_Subprogram_Body);
6981      Set_Flag18 (N, Val);
6982   end Set_Was_Expression_Function;
6983
6984   procedure Set_Was_Originally_Stub
6985      (N : Node_Id; Val : Boolean := True) is
6986   begin
6987      pragma Assert (False
6988        or else NT (N).Nkind = N_Package_Body
6989        or else NT (N).Nkind = N_Protected_Body
6990        or else NT (N).Nkind = N_Subprogram_Body
6991        or else NT (N).Nkind = N_Task_Body);
6992      Set_Flag13 (N, Val);
6993   end Set_Was_Originally_Stub;
6994
6995   procedure Set_Withed_Body
6996     (N : Node_Id; Val : Node_Id) is
6997   begin
6998      pragma Assert (False
6999        or else NT (N).Nkind = N_With_Clause);
7000      Set_Node1 (N, Val);
7001   end Set_Withed_Body;
7002
7003   -------------------------
7004   -- Iterator Procedures --
7005   -------------------------
7006
7007   procedure Next_Entity       (N : in out Node_Id) is
7008   begin
7009      N := Next_Entity (N);
7010   end Next_Entity;
7011
7012   procedure Next_Named_Actual (N : in out Node_Id) is
7013   begin
7014      N := Next_Named_Actual (N);
7015   end Next_Named_Actual;
7016
7017   procedure Next_Rep_Item     (N : in out Node_Id) is
7018   begin
7019      N := Next_Rep_Item (N);
7020   end Next_Rep_Item;
7021
7022   procedure Next_Use_Clause   (N : in out Node_Id) is
7023   begin
7024      N := Next_Use_Clause (N);
7025   end Next_Use_Clause;
7026
7027   ------------------
7028   -- End_Location --
7029   ------------------
7030
7031   function End_Location (N : Node_Id) return Source_Ptr is
7032      L : constant Uint := End_Span (N);
7033   begin
7034      if L = No_Uint then
7035         return No_Location;
7036      else
7037         return Source_Ptr (Int (Sloc (N)) + UI_To_Int (L));
7038      end if;
7039   end End_Location;
7040
7041   --------------------
7042   -- Get_Pragma_Arg --
7043   --------------------
7044
7045   function Get_Pragma_Arg (Arg : Node_Id) return Node_Id is
7046   begin
7047      if Nkind (Arg) = N_Pragma_Argument_Association then
7048         return Expression (Arg);
7049      else
7050         return Arg;
7051      end if;
7052   end Get_Pragma_Arg;
7053
7054   ----------------------
7055   -- Set_End_Location --
7056   ----------------------
7057
7058   procedure Set_End_Location (N : Node_Id; S : Source_Ptr) is
7059   begin
7060      Set_End_Span (N,
7061        UI_From_Int (Int (S) - Int (Sloc (N))));
7062   end Set_End_Location;
7063
7064   --------------
7065   -- Nkind_In --
7066   --------------
7067
7068   function Nkind_In
7069     (T  : Node_Kind;
7070      V1 : Node_Kind;
7071      V2 : Node_Kind) return Boolean
7072   is
7073   begin
7074      return T = V1 or else
7075             T = V2;
7076   end Nkind_In;
7077
7078   function Nkind_In
7079     (T  : Node_Kind;
7080      V1 : Node_Kind;
7081      V2 : Node_Kind;
7082      V3 : Node_Kind) return Boolean
7083   is
7084   begin
7085      return T = V1 or else
7086             T = V2 or else
7087             T = V3;
7088   end Nkind_In;
7089
7090   function Nkind_In
7091     (T  : Node_Kind;
7092      V1 : Node_Kind;
7093      V2 : Node_Kind;
7094      V3 : Node_Kind;
7095      V4 : Node_Kind) return Boolean
7096   is
7097   begin
7098      return T = V1 or else
7099             T = V2 or else
7100             T = V3 or else
7101             T = V4;
7102   end Nkind_In;
7103
7104   function Nkind_In
7105     (T  : Node_Kind;
7106      V1 : Node_Kind;
7107      V2 : Node_Kind;
7108      V3 : Node_Kind;
7109      V4 : Node_Kind;
7110      V5 : Node_Kind) return Boolean
7111   is
7112   begin
7113      return T = V1 or else
7114             T = V2 or else
7115             T = V3 or else
7116             T = V4 or else
7117             T = V5;
7118   end Nkind_In;
7119
7120   function Nkind_In
7121     (T  : Node_Kind;
7122      V1 : Node_Kind;
7123      V2 : Node_Kind;
7124      V3 : Node_Kind;
7125      V4 : Node_Kind;
7126      V5 : Node_Kind;
7127      V6 : Node_Kind) return Boolean
7128   is
7129   begin
7130      return T = V1 or else
7131             T = V2 or else
7132             T = V3 or else
7133             T = V4 or else
7134             T = V5 or else
7135             T = V6;
7136   end Nkind_In;
7137
7138   function Nkind_In
7139     (T  : Node_Kind;
7140      V1 : Node_Kind;
7141      V2 : Node_Kind;
7142      V3 : Node_Kind;
7143      V4 : Node_Kind;
7144      V5 : Node_Kind;
7145      V6 : Node_Kind;
7146      V7 : Node_Kind) return Boolean
7147   is
7148   begin
7149      return T = V1 or else
7150             T = V2 or else
7151             T = V3 or else
7152             T = V4 or else
7153             T = V5 or else
7154             T = V6 or else
7155             T = V7;
7156   end Nkind_In;
7157
7158   function Nkind_In
7159     (T  : Node_Kind;
7160      V1 : Node_Kind;
7161      V2 : Node_Kind;
7162      V3 : Node_Kind;
7163      V4 : Node_Kind;
7164      V5 : Node_Kind;
7165      V6 : Node_Kind;
7166      V7 : Node_Kind;
7167      V8 : Node_Kind) return Boolean
7168   is
7169   begin
7170      return T = V1 or else
7171             T = V2 or else
7172             T = V3 or else
7173             T = V4 or else
7174             T = V5 or else
7175             T = V6 or else
7176             T = V7 or else
7177             T = V8;
7178   end Nkind_In;
7179
7180   function Nkind_In
7181     (T  : Node_Kind;
7182      V1 : Node_Kind;
7183      V2 : Node_Kind;
7184      V3 : Node_Kind;
7185      V4 : Node_Kind;
7186      V5 : Node_Kind;
7187      V6 : Node_Kind;
7188      V7 : Node_Kind;
7189      V8 : Node_Kind;
7190      V9 : Node_Kind) return Boolean
7191   is
7192   begin
7193      return T = V1 or else
7194             T = V2 or else
7195             T = V3 or else
7196             T = V4 or else
7197             T = V5 or else
7198             T = V6 or else
7199             T = V7 or else
7200             T = V8 or else
7201             T = V9;
7202   end Nkind_In;
7203
7204   function Nkind_In
7205     (T   : Node_Kind;
7206      V1  : Node_Kind;
7207      V2  : Node_Kind;
7208      V3  : Node_Kind;
7209      V4  : Node_Kind;
7210      V5  : Node_Kind;
7211      V6  : Node_Kind;
7212      V7  : Node_Kind;
7213      V8  : Node_Kind;
7214      V9  : Node_Kind;
7215      V10 : Node_Kind) return Boolean
7216   is
7217   begin
7218      return T = V1 or else
7219             T = V2 or else
7220             T = V3 or else
7221             T = V4 or else
7222             T = V5 or else
7223             T = V6 or else
7224             T = V7 or else
7225             T = V8 or else
7226             T = V9 or else
7227             T = V10;
7228   end Nkind_In;
7229
7230   function Nkind_In
7231     (T   : Node_Kind;
7232      V1  : Node_Kind;
7233      V2  : Node_Kind;
7234      V3  : Node_Kind;
7235      V4  : Node_Kind;
7236      V5  : Node_Kind;
7237      V6  : Node_Kind;
7238      V7  : Node_Kind;
7239      V8  : Node_Kind;
7240      V9  : Node_Kind;
7241      V10 : Node_Kind;
7242      V11 : Node_Kind) return Boolean
7243   is
7244   begin
7245      return T = V1  or else
7246             T = V2  or else
7247             T = V3  or else
7248             T = V4  or else
7249             T = V5  or else
7250             T = V6  or else
7251             T = V7  or else
7252             T = V8  or else
7253             T = V9  or else
7254             T = V10 or else
7255             T = V11;
7256   end Nkind_In;
7257
7258   -----------------
7259   -- Pragma_Name --
7260   -----------------
7261
7262   function Pragma_Name_Unmapped (N : Node_Id) return Name_Id is
7263   begin
7264      return Chars (Pragma_Identifier (N));
7265   end Pragma_Name_Unmapped;
7266
7267   ---------------------
7268   -- Map_Pragma_Name --
7269   ---------------------
7270
7271   --  We don't want to introduce a dependence on some hash table package or
7272   --  similar, so we use a simple array of Key => Value pairs, and do a linear
7273   --  search. Linear search is plenty efficient, given that we don't expect
7274   --  more than a couple of entries in the mapping.
7275
7276   type Name_Pair is record
7277      Key   : Name_Id;
7278      Value : Name_Id;
7279   end record;
7280
7281   type Pragma_Map_Index is range 1 .. 100;
7282   Pragma_Map : array (Pragma_Map_Index) of Name_Pair;
7283   Last_Pair : Pragma_Map_Index'Base range 0 .. Pragma_Map_Index'Last := 0;
7284
7285   procedure Map_Pragma_Name (From, To : Name_Id) is
7286   begin
7287      if Last_Pair = Pragma_Map'Last then
7288         raise Too_Many_Pragma_Mappings;
7289      end if;
7290
7291      Last_Pair := Last_Pair + 1;
7292      Pragma_Map (Last_Pair) := (Key => From, Value => To);
7293   end Map_Pragma_Name;
7294
7295   -----------------
7296   -- Pragma_Name --
7297   -----------------
7298
7299   function Pragma_Name (N : Node_Id) return Name_Id is
7300      Result : constant Name_Id := Pragma_Name_Unmapped (N);
7301   begin
7302      for J in Pragma_Map'First .. Last_Pair loop
7303         if Result = Pragma_Map (J).Key then
7304            return Pragma_Map (J).Value;
7305         end if;
7306      end loop;
7307
7308      return Result;
7309   end Pragma_Name;
7310
7311end Sinfo;
7312