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