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