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