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