OSDN Git Service

PR 33870
[pf3gnuchains/gcc-fork.git] / gcc / ada / sinfo.adb
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                         GNAT COMPILER COMPONENTS                         --
4 --                                                                          --
5 --                                S I N F O                                 --
6 --                                                                          --
7 --                                 B o d y                                  --
8 --                                                                          --
9 --          Copyright (C) 1992-2007, 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 2,  or (at your option) any later ver- --
14 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
17 -- for  more details.  You should have  received  a copy of the GNU General --
18 -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
19 -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
20 -- Boston, MA 02110-1301, USA.                                              --
21 --                                                                          --
22 -- As a special exception,  if other files  instantiate  generics from this --
23 -- unit, or you link  this unit with other files  to produce an executable, --
24 -- this  unit  does not  by itself cause  the resulting  executable  to  be --
25 -- covered  by the  GNU  General  Public  License.  This exception does not --
26 -- however invalidate  any other reasons why  the executable file  might be --
27 -- covered by the  GNU Public License.                                      --
28 --                                                                          --
29 -- GNAT was originally developed  by the GNAT team at  New York University. --
30 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
31 --                                                                          --
32 ------------------------------------------------------------------------------
33
34 pragma Style_Checks (All_Checks);
35 --  No subprogram ordering check, due to logical grouping
36
37 with Atree; use Atree;
38
39 package body Sinfo is
40
41    use Atree.Unchecked_Access;
42    --  This package is one of the few packages which is allowed to make direct
43    --  references to tree nodes (since it is in the business of providing a
44    --  higher level of tree access which other clients are expected to use and
45    --  which implements checks).
46
47    use Atree_Private_Part;
48    --  The only reason that we ask for direct access to the private part of
49    --  the tree package is so that we can directly reference the Nkind field
50    --  of nodes table entries. We do this since it helps the efficiency of
51    --  the Sinfo debugging checks considerably (note that when we are checking
52    --  Nkind values, we don't need to check for a valid node reference, because
53    --  we will check that anyway when we reference the field).
54
55    NT : Nodes.Table_Ptr renames Nodes.Table;
56    --  A short hand abbreviation, useful for the debugging checks
57
58    ----------------------------
59    -- Field Access Functions --
60    ----------------------------
61
62    function ABE_Is_Certain
63       (N : Node_Id) return Boolean is
64    begin
65       pragma Assert (False
66         or else NT (N).Nkind = N_Formal_Package_Declaration
67         or else NT (N).Nkind = N_Function_Call
68         or else NT (N).Nkind = N_Function_Instantiation
69         or else NT (N).Nkind = N_Package_Instantiation
70         or else NT (N).Nkind = N_Procedure_Call_Statement
71         or else NT (N).Nkind = N_Procedure_Instantiation);
72       return Flag18 (N);
73    end ABE_Is_Certain;
74
75    function Abort_Present
76       (N : Node_Id) return Boolean is
77    begin
78       pragma Assert (False
79         or else NT (N).Nkind = N_Requeue_Statement);
80       return Flag15 (N);
81    end Abort_Present;
82
83    function Abortable_Part
84       (N : Node_Id) return Node_Id is
85    begin
86       pragma Assert (False
87         or else NT (N).Nkind = N_Asynchronous_Select);
88       return Node2 (N);
89    end Abortable_Part;
90
91    function Abstract_Present
92       (N : Node_Id) return Boolean is
93    begin
94       pragma Assert (False
95         or else NT (N).Nkind = N_Derived_Type_Definition
96         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
97         or else NT (N).Nkind = N_Formal_Private_Type_Definition
98         or else NT (N).Nkind = N_Private_Extension_Declaration
99         or else NT (N).Nkind = N_Private_Type_Declaration
100         or else NT (N).Nkind = N_Record_Definition);
101       return Flag4 (N);
102    end Abstract_Present;
103
104    function Accept_Handler_Records
105       (N : Node_Id) return List_Id is
106    begin
107       pragma Assert (False
108         or else NT (N).Nkind = N_Accept_Alternative);
109       return List5 (N);
110    end Accept_Handler_Records;
111
112    function Accept_Statement
113       (N : Node_Id) return Node_Id is
114    begin
115       pragma Assert (False
116         or else NT (N).Nkind = N_Accept_Alternative);
117       return Node2 (N);
118    end Accept_Statement;
119
120    function Access_Definition
121      (N : Node_Id) return Node_Id is
122    begin
123       pragma Assert (False
124         or else NT (N).Nkind = N_Component_Definition
125         or else NT (N).Nkind = N_Formal_Object_Declaration
126         or else NT (N).Nkind = N_Object_Renaming_Declaration);
127       return Node3 (N);
128    end Access_Definition;
129
130    function Access_To_Subprogram_Definition
131      (N : Node_Id) return Node_Id is
132    begin
133       pragma Assert (False
134         or else NT (N).Nkind = N_Access_Definition);
135       return Node3 (N);
136    end Access_To_Subprogram_Definition;
137
138    function Access_Types_To_Process
139       (N : Node_Id) return Elist_Id is
140    begin
141       pragma Assert (False
142         or else NT (N).Nkind = N_Freeze_Entity);
143       return Elist2 (N);
144    end Access_Types_To_Process;
145
146    function Actions
147       (N : Node_Id) return List_Id is
148    begin
149       pragma Assert (False
150         or else NT (N).Nkind = N_And_Then
151         or else NT (N).Nkind = N_Compilation_Unit_Aux
152         or else NT (N).Nkind = N_Freeze_Entity
153         or else NT (N).Nkind = N_Or_Else);
154       return List1 (N);
155    end Actions;
156
157    function Activation_Chain_Entity
158       (N : Node_Id) return Node_Id is
159    begin
160       pragma Assert (False
161         or else NT (N).Nkind = N_Block_Statement
162         or else NT (N).Nkind = N_Entry_Body
163         or else NT (N).Nkind = N_Generic_Package_Declaration
164         or else NT (N).Nkind = N_Package_Declaration
165         or else NT (N).Nkind = N_Subprogram_Body
166         or else NT (N).Nkind = N_Task_Body);
167       return Node3 (N);
168    end Activation_Chain_Entity;
169
170    function Acts_As_Spec
171       (N : Node_Id) return Boolean is
172    begin
173       pragma Assert (False
174         or else NT (N).Nkind = N_Compilation_Unit
175         or else NT (N).Nkind = N_Subprogram_Body);
176       return Flag4 (N);
177    end Acts_As_Spec;
178
179    function Actual_Designated_Subtype
180      (N : Node_Id) return Node_Id is
181    begin
182       pragma Assert (False
183         or else NT (N).Nkind = N_Explicit_Dereference
184         or else NT (N).Nkind = N_Free_Statement);
185       return Node4 (N);
186    end Actual_Designated_Subtype;
187
188    function Address_Warning_Posted
189       (N : Node_Id) return Boolean is
190    begin
191       pragma Assert (False
192         or else NT (N).Nkind = N_Attribute_Definition_Clause);
193       return Flag18 (N);
194    end Address_Warning_Posted;
195
196    function Aggregate_Bounds
197       (N : Node_Id) return Node_Id is
198    begin
199       pragma Assert (False
200         or else NT (N).Nkind = N_Aggregate);
201       return Node3 (N);
202    end Aggregate_Bounds;
203
204    function Aliased_Present
205       (N : Node_Id) return Boolean is
206    begin
207       pragma Assert (False
208         or else NT (N).Nkind = N_Component_Definition
209         or else NT (N).Nkind = N_Object_Declaration);
210       return Flag4 (N);
211    end Aliased_Present;
212
213    function All_Others
214       (N : Node_Id) return Boolean is
215    begin
216       pragma Assert (False
217         or else NT (N).Nkind = N_Others_Choice);
218       return Flag11 (N);
219    end All_Others;
220
221    function All_Present
222       (N : Node_Id) return Boolean is
223    begin
224       pragma Assert (False
225         or else NT (N).Nkind = N_Access_Definition
226         or else NT (N).Nkind = N_Access_To_Object_Definition);
227       return Flag15 (N);
228    end All_Present;
229
230    function Alternatives
231       (N : Node_Id) return List_Id is
232    begin
233       pragma Assert (False
234         or else NT (N).Nkind = N_Case_Statement);
235       return List4 (N);
236    end Alternatives;
237
238    function Ancestor_Part
239       (N : Node_Id) return Node_Id is
240    begin
241       pragma Assert (False
242         or else NT (N).Nkind = N_Extension_Aggregate);
243       return Node3 (N);
244    end Ancestor_Part;
245
246    function Array_Aggregate
247       (N : Node_Id) return Node_Id is
248    begin
249       pragma Assert (False
250         or else NT (N).Nkind = N_Enumeration_Representation_Clause);
251       return Node3 (N);
252    end Array_Aggregate;
253
254    function Assignment_OK
255       (N : Node_Id) return Boolean is
256    begin
257       pragma Assert (False
258         or else NT (N).Nkind = N_Object_Declaration
259         or else NT (N).Nkind in N_Subexpr);
260       return Flag15 (N);
261    end Assignment_OK;
262
263    function Associated_Node
264       (N : Node_Id) return Node_Id is
265    begin
266       pragma Assert (False
267         or else NT (N).Nkind in N_Has_Entity
268         or else NT (N).Nkind = N_Aggregate
269         or else NT (N).Nkind = N_Extension_Aggregate
270         or else NT (N).Nkind = N_Selected_Component);
271       return Node4 (N);
272    end Associated_Node;
273
274    function At_End_Proc
275       (N : Node_Id) return Node_Id is
276    begin
277       pragma Assert (False
278         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
279       return Node1 (N);
280    end At_End_Proc;
281
282    function Attribute_Name
283       (N : Node_Id) return Name_Id is
284    begin
285       pragma Assert (False
286         or else NT (N).Nkind = N_Attribute_Reference);
287       return Name2 (N);
288    end Attribute_Name;
289
290    function Aux_Decls_Node
291       (N : Node_Id) return Node_Id is
292    begin
293       pragma Assert (False
294         or else NT (N).Nkind = N_Compilation_Unit);
295       return Node5 (N);
296    end Aux_Decls_Node;
297
298    function Backwards_OK
299       (N : Node_Id) return Boolean is
300    begin
301       pragma Assert (False
302         or else NT (N).Nkind = N_Assignment_Statement);
303       return Flag6 (N);
304    end Backwards_OK;
305
306    function Bad_Is_Detected
307       (N : Node_Id) return Boolean is
308    begin
309       pragma Assert (False
310         or else NT (N).Nkind = N_Subprogram_Body);
311       return Flag15 (N);
312    end Bad_Is_Detected;
313
314    function Body_Required
315       (N : Node_Id) return Boolean is
316    begin
317       pragma Assert (False
318         or else NT (N).Nkind = N_Compilation_Unit);
319       return Flag13 (N);
320    end Body_Required;
321
322    function Body_To_Inline
323       (N : Node_Id) return Node_Id is
324    begin
325       pragma Assert (False
326         or else NT (N).Nkind = N_Subprogram_Declaration);
327       return Node3 (N);
328    end Body_To_Inline;
329
330    function Box_Present
331       (N : Node_Id) return Boolean is
332    begin
333       pragma Assert (False
334         or else NT (N).Nkind = N_Component_Association
335         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
336         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
337         or else NT (N).Nkind = N_Formal_Package_Declaration
338         or else NT (N).Nkind = N_Generic_Association);
339       return Flag15 (N);
340    end Box_Present;
341
342    function By_Ref
343       (N : Node_Id) return Boolean is
344    begin
345       pragma Assert (False
346         or else NT (N).Nkind = N_Extended_Return_Statement
347         or else NT (N).Nkind = N_Return_Statement);
348       return Flag5 (N);
349    end By_Ref;
350
351    function Char_Literal_Value
352       (N : Node_Id) return Uint is
353    begin
354       pragma Assert (False
355         or else NT (N).Nkind = N_Character_Literal);
356       return Uint2 (N);
357    end Char_Literal_Value;
358
359    function Chars
360       (N : Node_Id) return Name_Id is
361    begin
362       pragma Assert (False
363         or else NT (N).Nkind in N_Has_Chars);
364       return Name1 (N);
365    end Chars;
366
367    function Check_Address_Alignment
368       (N : Node_Id) return Boolean is
369    begin
370       pragma Assert (False
371           or else NT (N).Nkind = N_Attribute_Definition_Clause);
372       return Flag11 (N);
373    end Check_Address_Alignment;
374
375    function Choice_Parameter
376       (N : Node_Id) return Node_Id is
377    begin
378       pragma Assert (False
379         or else NT (N).Nkind = N_Exception_Handler);
380       return Node2 (N);
381    end Choice_Parameter;
382
383    function Choices
384       (N : Node_Id) return List_Id is
385    begin
386       pragma Assert (False
387         or else NT (N).Nkind = N_Component_Association);
388       return List1 (N);
389    end Choices;
390
391    function Coextensions
392       (N : Node_Id) return Elist_Id is
393    begin
394       pragma Assert (False
395         or else NT (N).Nkind = N_Allocator);
396       return Elist4 (N);
397    end Coextensions;
398
399    function Comes_From_Extended_Return_Statement
400      (N : Node_Id) return Boolean is
401    begin
402       pragma Assert (False
403         or else NT (N).Nkind = N_Return_Statement);
404       return Flag18 (N);
405    end Comes_From_Extended_Return_Statement;
406
407    function Compile_Time_Known_Aggregate
408       (N : Node_Id) return Boolean is
409    begin
410       pragma Assert (False
411         or else NT (N).Nkind = N_Aggregate);
412       return Flag18 (N);
413    end Compile_Time_Known_Aggregate;
414
415    function Component_Associations
416       (N : Node_Id) return List_Id is
417    begin
418       pragma Assert (False
419         or else NT (N).Nkind = N_Aggregate
420         or else NT (N).Nkind = N_Extension_Aggregate);
421       return List2 (N);
422    end Component_Associations;
423
424    function Component_Clauses
425       (N : Node_Id) return List_Id is
426    begin
427       pragma Assert (False
428         or else NT (N).Nkind = N_Record_Representation_Clause);
429       return List3 (N);
430    end Component_Clauses;
431
432    function Component_Definition
433       (N : Node_Id) return Node_Id is
434    begin
435       pragma Assert (False
436         or else NT (N).Nkind = N_Component_Declaration
437         or else NT (N).Nkind = N_Constrained_Array_Definition
438         or else NT (N).Nkind = N_Unconstrained_Array_Definition);
439       return Node4 (N);
440    end Component_Definition;
441
442    function Component_Items
443       (N : Node_Id) return List_Id is
444    begin
445       pragma Assert (False
446         or else NT (N).Nkind = N_Component_List);
447       return List3 (N);
448    end Component_Items;
449
450    function Component_List
451       (N : Node_Id) return Node_Id is
452    begin
453       pragma Assert (False
454         or else NT (N).Nkind = N_Record_Definition
455         or else NT (N).Nkind = N_Variant);
456       return Node1 (N);
457    end Component_List;
458
459    function Component_Name
460       (N : Node_Id) return Node_Id is
461    begin
462       pragma Assert (False
463         or else NT (N).Nkind = N_Component_Clause);
464       return Node1 (N);
465    end Component_Name;
466
467    function Condition
468       (N : Node_Id) return Node_Id is
469    begin
470       pragma Assert (False
471         or else NT (N).Nkind = N_Accept_Alternative
472         or else NT (N).Nkind = N_Delay_Alternative
473         or else NT (N).Nkind = N_Elsif_Part
474         or else NT (N).Nkind = N_Entry_Body_Formal_Part
475         or else NT (N).Nkind = N_Exit_Statement
476         or else NT (N).Nkind = N_If_Statement
477         or else NT (N).Nkind = N_Iteration_Scheme
478         or else NT (N).Nkind = N_Raise_Constraint_Error
479         or else NT (N).Nkind = N_Raise_Program_Error
480         or else NT (N).Nkind = N_Raise_Storage_Error
481         or else NT (N).Nkind = N_Terminate_Alternative);
482       return Node1 (N);
483    end Condition;
484
485    function Condition_Actions
486       (N : Node_Id) return List_Id is
487    begin
488       pragma Assert (False
489         or else NT (N).Nkind = N_Elsif_Part
490         or else NT (N).Nkind = N_Iteration_Scheme);
491       return List3 (N);
492    end Condition_Actions;
493
494    function Config_Pragmas
495       (N : Node_Id) return List_Id is
496    begin
497       pragma Assert (False
498         or else NT (N).Nkind = N_Compilation_Unit_Aux);
499       return List4 (N);
500    end Config_Pragmas;
501
502    function Constant_Present
503       (N : Node_Id) return Boolean is
504    begin
505       pragma Assert (False
506         or else NT (N).Nkind = N_Access_Definition
507         or else NT (N).Nkind = N_Access_To_Object_Definition
508         or else NT (N).Nkind = N_Object_Declaration);
509       return Flag17 (N);
510    end Constant_Present;
511
512    function Constraint
513       (N : Node_Id) return Node_Id is
514    begin
515       pragma Assert (False
516         or else NT (N).Nkind = N_Subtype_Indication);
517       return Node3 (N);
518    end Constraint;
519
520    function Constraints
521       (N : Node_Id) return List_Id is
522    begin
523       pragma Assert (False
524         or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint);
525       return List1 (N);
526    end Constraints;
527
528    function Context_Installed
529       (N : Node_Id) return Boolean is
530    begin
531       pragma Assert (False
532         or else NT (N).Nkind = N_With_Clause);
533       return Flag13 (N);
534    end Context_Installed;
535
536    function Context_Items
537       (N : Node_Id) return List_Id is
538    begin
539       pragma Assert (False
540         or else NT (N).Nkind = N_Compilation_Unit);
541       return List1 (N);
542    end Context_Items;
543
544    function Controlling_Argument
545       (N : Node_Id) return Node_Id is
546    begin
547       pragma Assert (False
548         or else NT (N).Nkind = N_Function_Call
549         or else NT (N).Nkind = N_Procedure_Call_Statement);
550       return Node1 (N);
551    end Controlling_Argument;
552
553    function Conversion_OK
554       (N : Node_Id) return Boolean is
555    begin
556       pragma Assert (False
557         or else NT (N).Nkind = N_Type_Conversion);
558       return Flag14 (N);
559    end Conversion_OK;
560
561    function Corresponding_Body
562       (N : Node_Id) return Node_Id is
563    begin
564       pragma Assert (False
565         or else NT (N).Nkind = N_Entry_Declaration
566         or else NT (N).Nkind = N_Generic_Package_Declaration
567         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
568         or else NT (N).Nkind = N_Package_Body_Stub
569         or else NT (N).Nkind = N_Package_Declaration
570         or else NT (N).Nkind = N_Protected_Body_Stub
571         or else NT (N).Nkind = N_Protected_Type_Declaration
572         or else NT (N).Nkind = N_Subprogram_Body_Stub
573         or else NT (N).Nkind = N_Subprogram_Declaration
574         or else NT (N).Nkind = N_Task_Body_Stub
575         or else NT (N).Nkind = N_Task_Type_Declaration);
576       return Node5 (N);
577    end Corresponding_Body;
578
579    function Corresponding_Formal_Spec
580       (N : Node_Id) return Node_Id is
581    begin
582       pragma Assert (False
583         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
584       return Node3 (N);
585    end Corresponding_Formal_Spec;
586
587    function Corresponding_Generic_Association
588       (N : Node_Id) return Node_Id is
589    begin
590       pragma Assert (False
591         or else NT (N).Nkind = N_Object_Declaration
592         or else NT (N).Nkind = N_Object_Renaming_Declaration);
593       return Node5 (N);
594    end Corresponding_Generic_Association;
595
596    function Corresponding_Integer_Value
597       (N : Node_Id) return Uint is
598    begin
599       pragma Assert (False
600         or else NT (N).Nkind = N_Real_Literal);
601       return Uint4 (N);
602    end Corresponding_Integer_Value;
603
604    function Corresponding_Spec
605       (N : Node_Id) return Node_Id is
606    begin
607       pragma Assert (False
608         or else NT (N).Nkind = N_Package_Body
609         or else NT (N).Nkind = N_Protected_Body
610         or else NT (N).Nkind = N_Subprogram_Body
611         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
612         or else NT (N).Nkind = N_Task_Body
613         or else NT (N).Nkind = N_With_Clause);
614       return Node5 (N);
615    end Corresponding_Spec;
616
617    function Corresponding_Stub
618       (N : Node_Id) return Node_Id is
619    begin
620       pragma Assert (False
621         or else NT (N).Nkind = N_Subunit);
622       return Node3 (N);
623    end Corresponding_Stub;
624
625    function Dcheck_Function
626       (N : Node_Id) return Entity_Id is
627    begin
628       pragma Assert (False
629         or else NT (N).Nkind = N_Variant);
630       return Node5 (N);
631    end Dcheck_Function;
632
633    function Debug_Statement
634       (N : Node_Id) return Node_Id is
635    begin
636       pragma Assert (False
637         or else NT (N).Nkind = N_Pragma);
638       return Node3 (N);
639    end Debug_Statement;
640
641    function Declarations
642       (N : Node_Id) return List_Id is
643    begin
644       pragma Assert (False
645         or else NT (N).Nkind = N_Accept_Statement
646         or else NT (N).Nkind = N_Block_Statement
647         or else NT (N).Nkind = N_Compilation_Unit_Aux
648         or else NT (N).Nkind = N_Entry_Body
649         or else NT (N).Nkind = N_Package_Body
650         or else NT (N).Nkind = N_Protected_Body
651         or else NT (N).Nkind = N_Subprogram_Body
652         or else NT (N).Nkind = N_Task_Body);
653       return List2 (N);
654    end Declarations;
655
656    function Default_Expression
657       (N : Node_Id) return Node_Id is
658    begin
659       pragma Assert (False
660         or else NT (N).Nkind = N_Formal_Object_Declaration
661         or else NT (N).Nkind = N_Parameter_Specification);
662       return Node5 (N);
663    end Default_Expression;
664
665    function Default_Name
666       (N : Node_Id) return Node_Id is
667    begin
668       pragma Assert (False
669         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
670         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration);
671       return Node2 (N);
672    end Default_Name;
673
674    function Defining_Identifier
675       (N : Node_Id) return Entity_Id is
676    begin
677       pragma Assert (False
678         or else NT (N).Nkind = N_Component_Declaration
679         or else NT (N).Nkind = N_Defining_Program_Unit_Name
680         or else NT (N).Nkind = N_Discriminant_Specification
681         or else NT (N).Nkind = N_Entry_Body
682         or else NT (N).Nkind = N_Entry_Declaration
683         or else NT (N).Nkind = N_Entry_Index_Specification
684         or else NT (N).Nkind = N_Exception_Declaration
685         or else NT (N).Nkind = N_Exception_Renaming_Declaration
686         or else NT (N).Nkind = N_Formal_Object_Declaration
687         or else NT (N).Nkind = N_Formal_Package_Declaration
688         or else NT (N).Nkind = N_Formal_Type_Declaration
689         or else NT (N).Nkind = N_Full_Type_Declaration
690         or else NT (N).Nkind = N_Implicit_Label_Declaration
691         or else NT (N).Nkind = N_Incomplete_Type_Declaration
692         or else NT (N).Nkind = N_Loop_Parameter_Specification
693         or else NT (N).Nkind = N_Number_Declaration
694         or else NT (N).Nkind = N_Object_Declaration
695         or else NT (N).Nkind = N_Object_Renaming_Declaration
696         or else NT (N).Nkind = N_Package_Body_Stub
697         or else NT (N).Nkind = N_Parameter_Specification
698         or else NT (N).Nkind = N_Private_Extension_Declaration
699         or else NT (N).Nkind = N_Private_Type_Declaration
700         or else NT (N).Nkind = N_Protected_Body
701         or else NT (N).Nkind = N_Protected_Body_Stub
702         or else NT (N).Nkind = N_Protected_Type_Declaration
703         or else NT (N).Nkind = N_Single_Protected_Declaration
704         or else NT (N).Nkind = N_Single_Task_Declaration
705         or else NT (N).Nkind = N_Subtype_Declaration
706         or else NT (N).Nkind = N_Task_Body
707         or else NT (N).Nkind = N_Task_Body_Stub
708         or else NT (N).Nkind = N_Task_Type_Declaration);
709       return Node1 (N);
710    end Defining_Identifier;
711
712    function Defining_Unit_Name
713       (N : Node_Id) return Node_Id is
714    begin
715       pragma Assert (False
716         or else NT (N).Nkind = N_Function_Instantiation
717         or else NT (N).Nkind = N_Function_Specification
718         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
719         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
720         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
721         or else NT (N).Nkind = N_Package_Body
722         or else NT (N).Nkind = N_Package_Instantiation
723         or else NT (N).Nkind = N_Package_Renaming_Declaration
724         or else NT (N).Nkind = N_Package_Specification
725         or else NT (N).Nkind = N_Procedure_Instantiation
726         or else NT (N).Nkind = N_Procedure_Specification);
727       return Node1 (N);
728    end Defining_Unit_Name;
729
730    function Delay_Alternative
731       (N : Node_Id) return Node_Id is
732    begin
733       pragma Assert (False
734         or else NT (N).Nkind = N_Timed_Entry_Call);
735       return Node4 (N);
736    end Delay_Alternative;
737
738    function Delay_Statement
739       (N : Node_Id) return Node_Id is
740    begin
741       pragma Assert (False
742         or else NT (N).Nkind = N_Delay_Alternative);
743       return Node2 (N);
744    end Delay_Statement;
745
746    function Delta_Expression
747       (N : Node_Id) return Node_Id is
748    begin
749       pragma Assert (False
750         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
751         or else NT (N).Nkind = N_Delta_Constraint
752         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
753       return Node3 (N);
754    end Delta_Expression;
755
756    function Digits_Expression
757       (N : Node_Id) return Node_Id is
758    begin
759       pragma Assert (False
760         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
761         or else NT (N).Nkind = N_Digits_Constraint
762         or else NT (N).Nkind = N_Floating_Point_Definition);
763       return Node2 (N);
764    end Digits_Expression;
765
766    function Discr_Check_Funcs_Built
767       (N : Node_Id) return Boolean is
768    begin
769       pragma Assert (False
770         or else NT (N).Nkind = N_Full_Type_Declaration);
771       return Flag11 (N);
772    end Discr_Check_Funcs_Built;
773
774    function Discrete_Choices
775       (N : Node_Id) return List_Id is
776    begin
777       pragma Assert (False
778         or else NT (N).Nkind = N_Case_Statement_Alternative
779         or else NT (N).Nkind = N_Variant);
780       return List4 (N);
781    end Discrete_Choices;
782
783    function Discrete_Range
784       (N : Node_Id) return Node_Id is
785    begin
786       pragma Assert (False
787         or else NT (N).Nkind = N_Slice);
788       return Node4 (N);
789    end Discrete_Range;
790
791    function Discrete_Subtype_Definition
792       (N : Node_Id) return Node_Id is
793    begin
794       pragma Assert (False
795         or else NT (N).Nkind = N_Entry_Declaration
796         or else NT (N).Nkind = N_Entry_Index_Specification
797         or else NT (N).Nkind = N_Loop_Parameter_Specification);
798       return Node4 (N);
799    end Discrete_Subtype_Definition;
800
801    function Discrete_Subtype_Definitions
802       (N : Node_Id) return List_Id is
803    begin
804       pragma Assert (False
805         or else NT (N).Nkind = N_Constrained_Array_Definition);
806       return List2 (N);
807    end Discrete_Subtype_Definitions;
808
809    function Discriminant_Specifications
810       (N : Node_Id) return List_Id is
811    begin
812       pragma Assert (False
813         or else NT (N).Nkind = N_Formal_Type_Declaration
814         or else NT (N).Nkind = N_Full_Type_Declaration
815         or else NT (N).Nkind = N_Incomplete_Type_Declaration
816         or else NT (N).Nkind = N_Private_Extension_Declaration
817         or else NT (N).Nkind = N_Private_Type_Declaration
818         or else NT (N).Nkind = N_Protected_Type_Declaration
819         or else NT (N).Nkind = N_Task_Type_Declaration);
820       return List4 (N);
821    end Discriminant_Specifications;
822
823    function Discriminant_Type
824       (N : Node_Id) return Node_Id is
825    begin
826       pragma Assert (False
827         or else NT (N).Nkind = N_Discriminant_Specification);
828       return Node5 (N);
829    end Discriminant_Type;
830
831    function Do_Accessibility_Check
832       (N : Node_Id) return Boolean is
833    begin
834       pragma Assert (False
835         or else NT (N).Nkind = N_Parameter_Specification);
836       return Flag13 (N);
837    end Do_Accessibility_Check;
838
839    function Do_Discriminant_Check
840       (N : Node_Id) return Boolean is
841    begin
842       pragma Assert (False
843         or else NT (N).Nkind = N_Selected_Component);
844       return Flag13 (N);
845    end Do_Discriminant_Check;
846
847    function Do_Division_Check
848       (N : Node_Id) return Boolean is
849    begin
850       pragma Assert (False
851         or else NT (N).Nkind = N_Op_Divide
852         or else NT (N).Nkind = N_Op_Mod
853         or else NT (N).Nkind = N_Op_Rem);
854       return Flag13 (N);
855    end Do_Division_Check;
856
857    function Do_Length_Check
858       (N : Node_Id) return Boolean is
859    begin
860       pragma Assert (False
861         or else NT (N).Nkind = N_Assignment_Statement
862         or else NT (N).Nkind = N_Op_And
863         or else NT (N).Nkind = N_Op_Or
864         or else NT (N).Nkind = N_Op_Xor
865         or else NT (N).Nkind = N_Type_Conversion);
866       return Flag4 (N);
867    end Do_Length_Check;
868
869    function Do_Overflow_Check
870       (N : Node_Id) return Boolean is
871    begin
872       pragma Assert (False
873         or else NT (N).Nkind in N_Op
874         or else NT (N).Nkind = N_Attribute_Reference
875         or else NT (N).Nkind = N_Type_Conversion);
876       return Flag17 (N);
877    end Do_Overflow_Check;
878
879    function Do_Range_Check
880       (N : Node_Id) return Boolean is
881    begin
882       pragma Assert (False
883         or else NT (N).Nkind in N_Subexpr);
884       return Flag9 (N);
885    end Do_Range_Check;
886
887    function Do_Storage_Check
888       (N : Node_Id) return Boolean is
889    begin
890       pragma Assert (False
891         or else NT (N).Nkind = N_Allocator
892         or else NT (N).Nkind = N_Subprogram_Body);
893       return Flag17 (N);
894    end Do_Storage_Check;
895
896    function Do_Tag_Check
897       (N : Node_Id) return Boolean is
898    begin
899       pragma Assert (False
900         or else NT (N).Nkind = N_Assignment_Statement
901         or else NT (N).Nkind = N_Extended_Return_Statement
902         or else NT (N).Nkind = N_Function_Call
903         or else NT (N).Nkind = N_Procedure_Call_Statement
904         or else NT (N).Nkind = N_Return_Statement
905         or else NT (N).Nkind = N_Type_Conversion);
906       return Flag13 (N);
907    end Do_Tag_Check;
908
909    function Elaborate_All_Desirable
910       (N : Node_Id) return Boolean is
911    begin
912       pragma Assert (False
913         or else NT (N).Nkind = N_With_Clause);
914       return Flag9 (N);
915    end Elaborate_All_Desirable;
916
917    function Elaborate_All_Present
918       (N : Node_Id) return Boolean is
919    begin
920       pragma Assert (False
921         or else NT (N).Nkind = N_With_Clause);
922       return Flag14 (N);
923    end Elaborate_All_Present;
924
925    function Elaborate_Desirable
926       (N : Node_Id) return Boolean is
927    begin
928       pragma Assert (False
929         or else NT (N).Nkind = N_With_Clause);
930       return Flag11 (N);
931    end Elaborate_Desirable;
932
933    function Elaborate_Present
934       (N : Node_Id) return Boolean is
935    begin
936       pragma Assert (False
937         or else NT (N).Nkind = N_With_Clause);
938       return Flag4 (N);
939    end Elaborate_Present;
940
941    function Elaboration_Boolean
942       (N : Node_Id) return Node_Id is
943    begin
944       pragma Assert (False
945         or else NT (N).Nkind = N_Function_Specification
946         or else NT (N).Nkind = N_Procedure_Specification);
947       return Node2 (N);
948    end Elaboration_Boolean;
949
950    function Else_Actions
951       (N : Node_Id) return List_Id is
952    begin
953       pragma Assert (False
954         or else NT (N).Nkind = N_Conditional_Expression);
955       return List3 (N);
956    end Else_Actions;
957
958    function Else_Statements
959       (N : Node_Id) return List_Id is
960    begin
961       pragma Assert (False
962         or else NT (N).Nkind = N_Conditional_Entry_Call
963         or else NT (N).Nkind = N_If_Statement
964         or else NT (N).Nkind = N_Selective_Accept);
965       return List4 (N);
966    end Else_Statements;
967
968    function Elsif_Parts
969       (N : Node_Id) return List_Id is
970    begin
971       pragma Assert (False
972         or else NT (N).Nkind = N_If_Statement);
973       return List3 (N);
974    end Elsif_Parts;
975
976    function Enclosing_Variant
977       (N : Node_Id) return Node_Id is
978    begin
979       pragma Assert (False
980         or else NT (N).Nkind = N_Variant);
981       return Node2 (N);
982    end Enclosing_Variant;
983
984    function End_Label
985       (N : Node_Id) return Node_Id is
986    begin
987       pragma Assert (False
988         or else NT (N).Nkind = N_Enumeration_Type_Definition
989         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
990         or else NT (N).Nkind = N_Loop_Statement
991         or else NT (N).Nkind = N_Package_Specification
992         or else NT (N).Nkind = N_Protected_Body
993         or else NT (N).Nkind = N_Protected_Definition
994         or else NT (N).Nkind = N_Record_Definition
995         or else NT (N).Nkind = N_Task_Definition);
996       return Node4 (N);
997    end End_Label;
998
999    function End_Span
1000       (N : Node_Id) return Uint is
1001    begin
1002       pragma Assert (False
1003         or else NT (N).Nkind = N_Case_Statement
1004         or else NT (N).Nkind = N_If_Statement);
1005       return Uint5 (N);
1006    end End_Span;
1007
1008    function Entity
1009       (N : Node_Id) return Node_Id is
1010    begin
1011       pragma Assert (False
1012         or else NT (N).Nkind in N_Has_Entity
1013         or else NT (N).Nkind = N_Freeze_Entity
1014         or else NT (N).Nkind = N_Attribute_Definition_Clause);
1015       return Node4 (N);
1016    end Entity;
1017
1018    function Entity_Or_Associated_Node
1019       (N : Node_Id) return Node_Id is
1020    begin
1021       pragma Assert (False
1022         or else NT (N).Nkind in N_Has_Entity
1023         or else NT (N).Nkind = N_Freeze_Entity);
1024       return Node4 (N);
1025    end Entity_Or_Associated_Node;
1026
1027    function Entry_Body_Formal_Part
1028       (N : Node_Id) return Node_Id is
1029    begin
1030       pragma Assert (False
1031         or else NT (N).Nkind = N_Entry_Body);
1032       return Node5 (N);
1033    end Entry_Body_Formal_Part;
1034
1035    function Entry_Call_Alternative
1036       (N : Node_Id) return Node_Id is
1037    begin
1038       pragma Assert (False
1039         or else NT (N).Nkind = N_Conditional_Entry_Call
1040         or else NT (N).Nkind = N_Timed_Entry_Call);
1041       return Node1 (N);
1042    end Entry_Call_Alternative;
1043
1044    function Entry_Call_Statement
1045       (N : Node_Id) return Node_Id is
1046    begin
1047       pragma Assert (False
1048         or else NT (N).Nkind = N_Entry_Call_Alternative);
1049       return Node1 (N);
1050    end Entry_Call_Statement;
1051
1052    function Entry_Direct_Name
1053       (N : Node_Id) return Node_Id is
1054    begin
1055       pragma Assert (False
1056         or else NT (N).Nkind = N_Accept_Statement);
1057       return Node1 (N);
1058    end Entry_Direct_Name;
1059
1060    function Entry_Index
1061       (N : Node_Id) return Node_Id is
1062    begin
1063       pragma Assert (False
1064         or else NT (N).Nkind = N_Accept_Statement);
1065       return Node5 (N);
1066    end Entry_Index;
1067
1068    function Entry_Index_Specification
1069       (N : Node_Id) return Node_Id is
1070    begin
1071       pragma Assert (False
1072         or else NT (N).Nkind = N_Entry_Body_Formal_Part);
1073       return Node4 (N);
1074    end Entry_Index_Specification;
1075
1076    function Etype
1077       (N : Node_Id) return Node_Id is
1078    begin
1079       pragma Assert (False
1080         or else NT (N).Nkind in N_Has_Etype);
1081       return Node5 (N);
1082    end Etype;
1083
1084    function Exception_Choices
1085       (N : Node_Id) return List_Id is
1086    begin
1087       pragma Assert (False
1088         or else NT (N).Nkind = N_Exception_Handler);
1089       return List4 (N);
1090    end Exception_Choices;
1091
1092    function Exception_Handlers
1093       (N : Node_Id) return List_Id is
1094    begin
1095       pragma Assert (False
1096         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
1097       return List5 (N);
1098    end Exception_Handlers;
1099
1100    function Exception_Junk
1101      (N : Node_Id) return Boolean is
1102    begin
1103       pragma Assert (False
1104         or else NT (N).Nkind = N_Block_Statement
1105         or else NT (N).Nkind = N_Goto_Statement
1106         or else NT (N).Nkind = N_Label
1107         or else NT (N).Nkind = N_Object_Declaration
1108         or else NT (N).Nkind = N_Subtype_Declaration);
1109       return Flag8 (N);
1110    end Exception_Junk;
1111
1112    function Exception_Label
1113      (N : Node_Id) return Node_Id is
1114    begin
1115       pragma Assert (False
1116         or else NT (N).Nkind = N_Exception_Handler
1117         or else NT (N).Nkind = N_Push_Constraint_Error_Label
1118         or else NT (N).Nkind = N_Push_Program_Error_Label
1119         or else NT (N).Nkind = N_Push_Storage_Error_Label);
1120       return Node5 (N);
1121    end Exception_Label;
1122
1123    function Expansion_Delayed
1124      (N : Node_Id) return Boolean is
1125    begin
1126       pragma Assert (False
1127         or else NT (N).Nkind = N_Aggregate
1128         or else NT (N).Nkind = N_Extension_Aggregate);
1129       return Flag11 (N);
1130    end Expansion_Delayed;
1131
1132    function Explicit_Actual_Parameter
1133       (N : Node_Id) return Node_Id is
1134    begin
1135       pragma Assert (False
1136         or else NT (N).Nkind = N_Parameter_Association);
1137       return Node3 (N);
1138    end Explicit_Actual_Parameter;
1139
1140    function Explicit_Generic_Actual_Parameter
1141       (N : Node_Id) return Node_Id is
1142    begin
1143       pragma Assert (False
1144         or else NT (N).Nkind = N_Generic_Association);
1145       return Node1 (N);
1146    end Explicit_Generic_Actual_Parameter;
1147
1148    function Expression
1149       (N : Node_Id) return Node_Id is
1150    begin
1151       pragma Assert (False
1152         or else NT (N).Nkind = N_Allocator
1153         or else NT (N).Nkind = N_Assignment_Statement
1154         or else NT (N).Nkind = N_At_Clause
1155         or else NT (N).Nkind = N_Attribute_Definition_Clause
1156         or else NT (N).Nkind = N_Case_Statement
1157         or else NT (N).Nkind = N_Code_Statement
1158         or else NT (N).Nkind = N_Component_Association
1159         or else NT (N).Nkind = N_Component_Declaration
1160         or else NT (N).Nkind = N_Delay_Relative_Statement
1161         or else NT (N).Nkind = N_Delay_Until_Statement
1162         or else NT (N).Nkind = N_Discriminant_Association
1163         or else NT (N).Nkind = N_Discriminant_Specification
1164         or else NT (N).Nkind = N_Exception_Declaration
1165         or else NT (N).Nkind = N_Free_Statement
1166         or else NT (N).Nkind = N_Mod_Clause
1167         or else NT (N).Nkind = N_Modular_Type_Definition
1168         or else NT (N).Nkind = N_Number_Declaration
1169         or else NT (N).Nkind = N_Object_Declaration
1170         or else NT (N).Nkind = N_Parameter_Specification
1171         or else NT (N).Nkind = N_Pragma_Argument_Association
1172         or else NT (N).Nkind = N_Qualified_Expression
1173         or else NT (N).Nkind = N_Raise_Statement
1174         or else NT (N).Nkind = N_Return_Statement
1175         or else NT (N).Nkind = N_Type_Conversion
1176         or else NT (N).Nkind = N_Unchecked_Expression
1177         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
1178       return Node3 (N);
1179    end Expression;
1180
1181    function Expressions
1182       (N : Node_Id) return List_Id is
1183    begin
1184       pragma Assert (False
1185         or else NT (N).Nkind = N_Aggregate
1186         or else NT (N).Nkind = N_Attribute_Reference
1187         or else NT (N).Nkind = N_Conditional_Expression
1188         or else NT (N).Nkind = N_Extension_Aggregate
1189         or else NT (N).Nkind = N_Indexed_Component);
1190       return List1 (N);
1191    end Expressions;
1192
1193    function First_Bit
1194       (N : Node_Id) return Node_Id is
1195    begin
1196       pragma Assert (False
1197         or else NT (N).Nkind = N_Component_Clause);
1198       return Node3 (N);
1199    end First_Bit;
1200
1201    function First_Inlined_Subprogram
1202       (N : Node_Id) return Entity_Id is
1203    begin
1204       pragma Assert (False
1205         or else NT (N).Nkind = N_Compilation_Unit);
1206       return Node3 (N);
1207    end First_Inlined_Subprogram;
1208
1209    function First_Name
1210       (N : Node_Id) return Boolean is
1211    begin
1212       pragma Assert (False
1213         or else NT (N).Nkind = N_With_Clause);
1214       return Flag5 (N);
1215    end First_Name;
1216
1217    function First_Named_Actual
1218       (N : Node_Id) return Node_Id is
1219    begin
1220       pragma Assert (False
1221         or else NT (N).Nkind = N_Entry_Call_Statement
1222         or else NT (N).Nkind = N_Function_Call
1223         or else NT (N).Nkind = N_Procedure_Call_Statement);
1224       return Node4 (N);
1225    end First_Named_Actual;
1226
1227    function First_Real_Statement
1228       (N : Node_Id) return Node_Id is
1229    begin
1230       pragma Assert (False
1231         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
1232       return Node2 (N);
1233    end First_Real_Statement;
1234
1235    function First_Subtype_Link
1236       (N : Node_Id) return Entity_Id is
1237    begin
1238       pragma Assert (False
1239         or else NT (N).Nkind = N_Freeze_Entity);
1240       return Node5 (N);
1241    end First_Subtype_Link;
1242
1243    function Float_Truncate
1244       (N : Node_Id) return Boolean is
1245    begin
1246       pragma Assert (False
1247         or else NT (N).Nkind = N_Type_Conversion);
1248       return Flag11 (N);
1249    end Float_Truncate;
1250
1251    function Formal_Type_Definition
1252       (N : Node_Id) return Node_Id is
1253    begin
1254       pragma Assert (False
1255         or else NT (N).Nkind = N_Formal_Type_Declaration);
1256       return Node3 (N);
1257    end Formal_Type_Definition;
1258
1259    function Forwards_OK
1260       (N : Node_Id) return Boolean is
1261    begin
1262       pragma Assert (False
1263         or else NT (N).Nkind = N_Assignment_Statement);
1264       return Flag5 (N);
1265    end Forwards_OK;
1266
1267    function From_At_Mod
1268       (N : Node_Id) return Boolean is
1269    begin
1270       pragma Assert (False
1271         or else NT (N).Nkind = N_Attribute_Definition_Clause);
1272       return Flag4 (N);
1273    end From_At_Mod;
1274
1275    function From_Default
1276       (N : Node_Id) return Boolean is
1277    begin
1278       pragma Assert (False
1279         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
1280       return Flag6 (N);
1281    end From_Default;
1282
1283    function Generic_Associations
1284       (N : Node_Id) return List_Id is
1285    begin
1286       pragma Assert (False
1287         or else NT (N).Nkind = N_Formal_Package_Declaration
1288         or else NT (N).Nkind = N_Function_Instantiation
1289         or else NT (N).Nkind = N_Package_Instantiation
1290         or else NT (N).Nkind = N_Procedure_Instantiation);
1291       return List3 (N);
1292    end Generic_Associations;
1293
1294    function Generic_Formal_Declarations
1295       (N : Node_Id) return List_Id is
1296    begin
1297       pragma Assert (False
1298         or else NT (N).Nkind = N_Generic_Package_Declaration
1299         or else NT (N).Nkind = N_Generic_Subprogram_Declaration);
1300       return List2 (N);
1301    end Generic_Formal_Declarations;
1302
1303    function Generic_Parent
1304       (N : Node_Id) return Node_Id is
1305    begin
1306       pragma Assert (False
1307         or else NT (N).Nkind = N_Function_Specification
1308         or else NT (N).Nkind = N_Package_Specification
1309         or else NT (N).Nkind = N_Procedure_Specification);
1310       return Node5 (N);
1311    end Generic_Parent;
1312
1313    function Generic_Parent_Type
1314       (N : Node_Id) return Node_Id is
1315    begin
1316       pragma Assert (False
1317         or else NT (N).Nkind = N_Subtype_Declaration);
1318       return Node4 (N);
1319    end Generic_Parent_Type;
1320
1321    function Handled_Statement_Sequence
1322       (N : Node_Id) return Node_Id is
1323    begin
1324       pragma Assert (False
1325         or else NT (N).Nkind = N_Accept_Statement
1326         or else NT (N).Nkind = N_Block_Statement
1327         or else NT (N).Nkind = N_Entry_Body
1328         or else NT (N).Nkind = N_Extended_Return_Statement
1329         or else NT (N).Nkind = N_Package_Body
1330         or else NT (N).Nkind = N_Subprogram_Body
1331         or else NT (N).Nkind = N_Task_Body);
1332       return Node4 (N);
1333    end Handled_Statement_Sequence;
1334
1335    function Handler_List_Entry
1336       (N : Node_Id) return Node_Id is
1337    begin
1338       pragma Assert (False
1339         or else NT (N).Nkind = N_Object_Declaration);
1340       return Node2 (N);
1341    end Handler_List_Entry;
1342
1343    function Has_Created_Identifier
1344       (N : Node_Id) return Boolean is
1345    begin
1346       pragma Assert (False
1347         or else NT (N).Nkind = N_Block_Statement
1348         or else NT (N).Nkind = N_Loop_Statement);
1349       return Flag15 (N);
1350    end Has_Created_Identifier;
1351
1352    function Has_Dynamic_Length_Check
1353       (N : Node_Id) return Boolean is
1354    begin
1355       return Flag10 (N);
1356    end Has_Dynamic_Length_Check;
1357
1358    function Has_Dynamic_Range_Check
1359       (N : Node_Id) return Boolean is
1360    begin
1361       return Flag12 (N);
1362    end Has_Dynamic_Range_Check;
1363
1364    function Has_Init_Expression
1365       (N : Node_Id) return Boolean is
1366    begin
1367       pragma Assert (False
1368         or else NT (N).Nkind = N_Object_Declaration);
1369       return Flag14 (N);
1370    end Has_Init_Expression;
1371
1372    function Has_Local_Raise
1373       (N : Node_Id) return Boolean is
1374    begin
1375       pragma Assert (False
1376         or else NT (N).Nkind = N_Exception_Handler);
1377       return Flag8 (N);
1378    end Has_Local_Raise;
1379
1380    function Has_No_Elaboration_Code
1381       (N : Node_Id) return Boolean is
1382    begin
1383       pragma Assert (False
1384         or else NT (N).Nkind = N_Compilation_Unit);
1385       return Flag17 (N);
1386    end Has_No_Elaboration_Code;
1387
1388    function Has_Priority_Pragma
1389       (N : Node_Id) return Boolean is
1390    begin
1391       pragma Assert (False
1392         or else NT (N).Nkind = N_Protected_Definition
1393         or else NT (N).Nkind = N_Subprogram_Body
1394         or else NT (N).Nkind = N_Task_Definition);
1395       return Flag6 (N);
1396    end Has_Priority_Pragma;
1397
1398    function Has_Private_View
1399       (N : Node_Id) return Boolean is
1400    begin
1401       pragma Assert (False
1402        or else NT (N).Nkind in N_Op
1403        or else NT (N).Nkind = N_Character_Literal
1404        or else NT (N).Nkind = N_Expanded_Name
1405        or else NT (N).Nkind = N_Identifier
1406        or else NT (N).Nkind = N_Operator_Symbol);
1407       return Flag11 (N);
1408    end Has_Private_View;
1409
1410    function Has_Self_Reference
1411       (N : Node_Id) return Boolean is
1412    begin
1413       pragma Assert (False
1414         or else NT (N).Nkind = N_Aggregate
1415         or else NT (N).Nkind = N_Extension_Aggregate);
1416       return Flag13 (N);
1417    end Has_Self_Reference;
1418
1419    function Has_Storage_Size_Pragma
1420       (N : Node_Id) return Boolean is
1421    begin
1422       pragma Assert (False
1423         or else NT (N).Nkind = N_Task_Definition);
1424       return Flag5 (N);
1425    end Has_Storage_Size_Pragma;
1426
1427    function Has_Task_Info_Pragma
1428       (N : Node_Id) return Boolean is
1429    begin
1430       pragma Assert (False
1431         or else NT (N).Nkind = N_Task_Definition);
1432       return Flag7 (N);
1433    end Has_Task_Info_Pragma;
1434
1435    function Has_Task_Name_Pragma
1436       (N : Node_Id) return Boolean is
1437    begin
1438       pragma Assert (False
1439         or else NT (N).Nkind = N_Task_Definition);
1440       return Flag8 (N);
1441    end Has_Task_Name_Pragma;
1442
1443    function Has_Wide_Character
1444       (N : Node_Id) return Boolean is
1445    begin
1446       pragma Assert (False
1447         or else NT (N).Nkind = N_String_Literal);
1448       return Flag11 (N);
1449    end Has_Wide_Character;
1450
1451    function Hidden_By_Use_Clause
1452      (N : Node_Id) return Elist_Id is
1453    begin
1454       pragma Assert (False
1455         or else NT (N).Nkind = N_Use_Package_Clause
1456         or else NT (N).Nkind = N_Use_Type_Clause);
1457       return Elist4 (N);
1458    end Hidden_By_Use_Clause;
1459
1460    function High_Bound
1461       (N : Node_Id) return Node_Id is
1462    begin
1463       pragma Assert (False
1464         or else NT (N).Nkind = N_Range
1465         or else NT (N).Nkind = N_Real_Range_Specification
1466         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
1467       return Node2 (N);
1468    end High_Bound;
1469
1470    function Identifier
1471       (N : Node_Id) return Node_Id is
1472    begin
1473       pragma Assert (False
1474         or else NT (N).Nkind = N_At_Clause
1475         or else NT (N).Nkind = N_Block_Statement
1476         or else NT (N).Nkind = N_Designator
1477         or else NT (N).Nkind = N_Enumeration_Representation_Clause
1478         or else NT (N).Nkind = N_Label
1479         or else NT (N).Nkind = N_Loop_Statement
1480         or else NT (N).Nkind = N_Record_Representation_Clause
1481         or else NT (N).Nkind = N_Subprogram_Info);
1482       return Node1 (N);
1483    end Identifier;
1484
1485    function Implicit_With
1486       (N : Node_Id) return Boolean is
1487    begin
1488       pragma Assert (False
1489         or else NT (N).Nkind = N_With_Clause);
1490       return Flag16 (N);
1491    end Implicit_With;
1492
1493    function Interface_List
1494       (N : Node_Id) return List_Id is
1495    begin
1496       pragma Assert (False
1497         or else NT (N).Nkind = N_Derived_Type_Definition
1498         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
1499         or else NT (N).Nkind = N_Private_Extension_Declaration
1500         or else NT (N).Nkind = N_Protected_Type_Declaration
1501         or else NT (N).Nkind = N_Record_Definition
1502         or else NT (N).Nkind = N_Single_Protected_Declaration
1503         or else NT (N).Nkind = N_Single_Task_Declaration
1504         or else NT (N).Nkind = N_Task_Type_Declaration);
1505       return List2 (N);
1506    end Interface_List;
1507
1508    function Interface_Present
1509       (N : Node_Id) return Boolean is
1510    begin
1511       pragma Assert (False
1512         or else NT (N).Nkind = N_Derived_Type_Definition
1513         or else NT (N).Nkind = N_Record_Definition);
1514       return Flag16 (N);
1515    end Interface_Present;
1516
1517    function In_Present
1518       (N : Node_Id) return Boolean is
1519    begin
1520       pragma Assert (False
1521         or else NT (N).Nkind = N_Formal_Object_Declaration
1522         or else NT (N).Nkind = N_Parameter_Specification);
1523       return Flag15 (N);
1524    end In_Present;
1525
1526    function Includes_Infinities
1527       (N : Node_Id) return Boolean is
1528    begin
1529       pragma Assert (False
1530         or else NT (N).Nkind = N_Range);
1531       return Flag11 (N);
1532    end Includes_Infinities;
1533
1534    function Instance_Spec
1535       (N : Node_Id) return Node_Id is
1536    begin
1537       pragma Assert (False
1538         or else NT (N).Nkind = N_Formal_Package_Declaration
1539         or else NT (N).Nkind = N_Function_Instantiation
1540         or else NT (N).Nkind = N_Package_Instantiation
1541         or else NT (N).Nkind = N_Procedure_Instantiation);
1542       return Node5 (N);
1543    end Instance_Spec;
1544
1545    function Intval
1546       (N : Node_Id) return Uint is
1547    begin
1548       pragma Assert (False
1549         or else NT (N).Nkind = N_Integer_Literal);
1550       return Uint3 (N);
1551    end Intval;
1552
1553    function Is_Asynchronous_Call_Block
1554       (N : Node_Id) return Boolean is
1555    begin
1556       pragma Assert (False
1557         or else NT (N).Nkind = N_Block_Statement);
1558       return Flag7 (N);
1559    end Is_Asynchronous_Call_Block;
1560
1561    function Is_Component_Left_Opnd
1562       (N : Node_Id) return Boolean is
1563    begin
1564       pragma Assert (False
1565         or else NT (N).Nkind = N_Op_Concat);
1566       return Flag13 (N);
1567    end Is_Component_Left_Opnd;
1568
1569    function Is_Component_Right_Opnd
1570       (N : Node_Id) return Boolean is
1571    begin
1572       pragma Assert (False
1573         or else NT (N).Nkind = N_Op_Concat);
1574       return Flag14 (N);
1575    end Is_Component_Right_Opnd;
1576
1577    function Is_Controlling_Actual
1578       (N : Node_Id) return Boolean is
1579    begin
1580       pragma Assert (False
1581         or else NT (N).Nkind in N_Subexpr);
1582       return Flag16 (N);
1583    end Is_Controlling_Actual;
1584
1585    function Is_Dynamic_Coextension
1586       (N : Node_Id) return Boolean is
1587    begin
1588       pragma Assert (False
1589         or else NT (N).Nkind = N_Allocator);
1590       return Flag18 (N);
1591    end Is_Dynamic_Coextension;
1592
1593    function Is_Entry_Barrier_Function
1594       (N : Node_Id) return Boolean is
1595    begin
1596       pragma Assert (False
1597         or else NT (N).Nkind = N_Subprogram_Body);
1598       return Flag8 (N);
1599    end Is_Entry_Barrier_Function;
1600
1601    function Is_Expanded_Build_In_Place_Call
1602       (N : Node_Id) return Boolean is
1603    begin
1604       pragma Assert (False
1605         or else NT (N).Nkind = N_Function_Call);
1606       return Flag11 (N);
1607    end Is_Expanded_Build_In_Place_Call;
1608
1609    function Is_Folded_In_Parser
1610       (N : Node_Id) return Boolean is
1611    begin
1612       pragma Assert (False
1613         or else NT (N).Nkind = N_String_Literal);
1614       return Flag4 (N);
1615    end Is_Folded_In_Parser;
1616
1617    function Is_In_Discriminant_Check
1618       (N : Node_Id) return Boolean is
1619    begin
1620       pragma Assert (False
1621         or else NT (N).Nkind = N_Selected_Component);
1622       return Flag11 (N);
1623    end Is_In_Discriminant_Check;
1624
1625    function Is_Machine_Number
1626       (N : Node_Id) return Boolean is
1627    begin
1628       pragma Assert (False
1629         or else NT (N).Nkind = N_Real_Literal);
1630       return Flag11 (N);
1631    end Is_Machine_Number;
1632
1633    function Is_Null_Loop
1634       (N : Node_Id) return Boolean is
1635    begin
1636       pragma Assert (False
1637         or else NT (N).Nkind = N_Loop_Statement);
1638       return Flag16 (N);
1639    end Is_Null_Loop;
1640
1641    function Is_Overloaded
1642       (N : Node_Id) return Boolean is
1643    begin
1644       pragma Assert (False
1645         or else NT (N).Nkind in N_Subexpr);
1646       return Flag5 (N);
1647    end Is_Overloaded;
1648
1649    function Is_Power_Of_2_For_Shift
1650       (N : Node_Id) return Boolean is
1651    begin
1652       pragma Assert (False
1653         or else NT (N).Nkind = N_Op_Expon);
1654       return Flag13 (N);
1655    end Is_Power_Of_2_For_Shift;
1656
1657    function Is_Protected_Subprogram_Body
1658       (N : Node_Id) return Boolean is
1659    begin
1660       pragma Assert (False
1661         or else NT (N).Nkind = N_Subprogram_Body);
1662       return Flag7 (N);
1663    end Is_Protected_Subprogram_Body;
1664
1665    function Is_Static_Coextension
1666       (N : Node_Id) return Boolean is
1667    begin
1668       pragma Assert (False
1669         or else NT (N).Nkind = N_Allocator);
1670       return Flag14 (N);
1671    end Is_Static_Coextension;
1672
1673    function Is_Static_Expression
1674       (N : Node_Id) return Boolean is
1675    begin
1676       pragma Assert (False
1677         or else NT (N).Nkind in N_Subexpr);
1678       return Flag6 (N);
1679    end Is_Static_Expression;
1680
1681    function Is_Subprogram_Descriptor
1682       (N : Node_Id) return Boolean is
1683    begin
1684       pragma Assert (False
1685         or else NT (N).Nkind = N_Object_Declaration);
1686       return Flag16 (N);
1687    end Is_Subprogram_Descriptor;
1688
1689    function Is_Task_Allocation_Block
1690       (N : Node_Id) return Boolean is
1691    begin
1692       pragma Assert (False
1693         or else NT (N).Nkind = N_Block_Statement);
1694       return Flag6 (N);
1695    end Is_Task_Allocation_Block;
1696
1697    function Is_Task_Master
1698       (N : Node_Id) return Boolean is
1699    begin
1700       pragma Assert (False
1701         or else NT (N).Nkind = N_Block_Statement
1702         or else NT (N).Nkind = N_Subprogram_Body
1703         or else NT (N).Nkind = N_Task_Body);
1704       return Flag5 (N);
1705    end Is_Task_Master;
1706
1707    function Iteration_Scheme
1708       (N : Node_Id) return Node_Id is
1709    begin
1710       pragma Assert (False
1711         or else NT (N).Nkind = N_Loop_Statement);
1712       return Node2 (N);
1713    end Iteration_Scheme;
1714
1715    function Itype
1716       (N : Node_Id) return Node_Id is
1717    begin
1718       pragma Assert (False
1719       or else NT (N).Nkind = N_Itype_Reference);
1720       return Node1 (N);
1721    end Itype;
1722
1723    function Kill_Range_Check
1724       (N : Node_Id) return Boolean is
1725    begin
1726       pragma Assert (False
1727         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
1728       return Flag11 (N);
1729    end Kill_Range_Check;
1730
1731    function Label_Construct
1732       (N : Node_Id) return Node_Id is
1733    begin
1734       pragma Assert (False
1735         or else NT (N).Nkind = N_Implicit_Label_Declaration);
1736       return Node2 (N);
1737    end Label_Construct;
1738
1739    function Last_Bit
1740       (N : Node_Id) return Node_Id is
1741    begin
1742       pragma Assert (False
1743         or else NT (N).Nkind = N_Component_Clause);
1744       return Node4 (N);
1745    end Last_Bit;
1746
1747    function Last_Name
1748       (N : Node_Id) return Boolean is
1749    begin
1750       pragma Assert (False
1751         or else NT (N).Nkind = N_With_Clause);
1752       return Flag6 (N);
1753    end Last_Name;
1754
1755    function Left_Opnd
1756       (N : Node_Id) return Node_Id is
1757    begin
1758       pragma Assert (False
1759         or else NT (N).Nkind = N_And_Then
1760         or else NT (N).Nkind = N_In
1761         or else NT (N).Nkind = N_Not_In
1762         or else NT (N).Nkind = N_Or_Else
1763         or else NT (N).Nkind in N_Binary_Op);
1764       return Node2 (N);
1765    end Left_Opnd;
1766
1767    function Library_Unit
1768       (N : Node_Id) return Node_Id is
1769    begin
1770       pragma Assert (False
1771         or else NT (N).Nkind = N_Compilation_Unit
1772         or else NT (N).Nkind = N_Package_Body_Stub
1773         or else NT (N).Nkind = N_Protected_Body_Stub
1774         or else NT (N).Nkind = N_Subprogram_Body_Stub
1775         or else NT (N).Nkind = N_Task_Body_Stub
1776         or else NT (N).Nkind = N_With_Clause);
1777       return Node4 (N);
1778    end Library_Unit;
1779
1780    function Limited_View_Installed
1781       (N : Node_Id) return Boolean is
1782    begin
1783       pragma Assert (False
1784         or else NT (N).Nkind = N_Package_Specification
1785         or else NT (N).Nkind = N_With_Clause);
1786       return Flag18 (N);
1787    end Limited_View_Installed;
1788
1789    function Limited_Present
1790       (N : Node_Id) return Boolean is
1791    begin
1792       pragma Assert (False
1793         or else NT (N).Nkind = N_Derived_Type_Definition
1794         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
1795         or else NT (N).Nkind = N_Formal_Private_Type_Definition
1796         or else NT (N).Nkind = N_Private_Extension_Declaration
1797         or else NT (N).Nkind = N_Private_Type_Declaration
1798         or else NT (N).Nkind = N_Record_Definition
1799         or else NT (N).Nkind = N_With_Clause);
1800       return Flag17 (N);
1801    end Limited_Present;
1802
1803    function Literals
1804       (N : Node_Id) return List_Id is
1805    begin
1806       pragma Assert (False
1807         or else NT (N).Nkind = N_Enumeration_Type_Definition);
1808       return List1 (N);
1809    end Literals;
1810
1811    function Local_Raise_Not_OK
1812       (N : Node_Id) return Boolean is
1813    begin
1814       pragma Assert (False
1815         or else NT (N).Nkind = N_Exception_Handler);
1816       return Flag7 (N);
1817    end Local_Raise_Not_OK;
1818
1819    function Local_Raise_Statements
1820       (N : Node_Id) return Elist_Id is
1821    begin
1822       pragma Assert (False
1823         or else NT (N).Nkind = N_Exception_Handler);
1824       return Elist1 (N);
1825    end Local_Raise_Statements;
1826
1827    function Loop_Actions
1828       (N : Node_Id) return List_Id is
1829    begin
1830       pragma Assert (False
1831         or else NT (N).Nkind = N_Component_Association);
1832       return List2 (N);
1833    end Loop_Actions;
1834
1835    function Loop_Parameter_Specification
1836       (N : Node_Id) return Node_Id is
1837    begin
1838       pragma Assert (False
1839         or else NT (N).Nkind = N_Iteration_Scheme);
1840       return Node4 (N);
1841    end Loop_Parameter_Specification;
1842
1843    function Low_Bound
1844       (N : Node_Id) return Node_Id is
1845    begin
1846       pragma Assert (False
1847         or else NT (N).Nkind = N_Range
1848         or else NT (N).Nkind = N_Real_Range_Specification
1849         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
1850       return Node1 (N);
1851    end Low_Bound;
1852
1853    function Mod_Clause
1854       (N : Node_Id) return Node_Id is
1855    begin
1856       pragma Assert (False
1857         or else NT (N).Nkind = N_Record_Representation_Clause);
1858       return Node2 (N);
1859    end Mod_Clause;
1860
1861    function More_Ids
1862       (N : Node_Id) return Boolean is
1863    begin
1864       pragma Assert (False
1865         or else NT (N).Nkind = N_Component_Declaration
1866         or else NT (N).Nkind = N_Discriminant_Specification
1867         or else NT (N).Nkind = N_Exception_Declaration
1868         or else NT (N).Nkind = N_Formal_Object_Declaration
1869         or else NT (N).Nkind = N_Number_Declaration
1870         or else NT (N).Nkind = N_Object_Declaration
1871         or else NT (N).Nkind = N_Parameter_Specification);
1872       return Flag5 (N);
1873    end More_Ids;
1874
1875    function Must_Be_Byte_Aligned
1876       (N : Node_Id) return Boolean is
1877    begin
1878       pragma Assert (False
1879         or else NT (N).Nkind = N_Attribute_Reference);
1880       return Flag14 (N);
1881    end Must_Be_Byte_Aligned;
1882
1883    function Must_Not_Freeze
1884       (N : Node_Id) return Boolean is
1885    begin
1886       pragma Assert (False
1887         or else NT (N).Nkind = N_Subtype_Indication
1888         or else NT (N).Nkind in N_Subexpr);
1889       return Flag8 (N);
1890    end Must_Not_Freeze;
1891
1892    function Must_Not_Override
1893       (N : Node_Id) return Boolean is
1894    begin
1895       pragma Assert (False
1896         or else NT (N).Nkind = N_Entry_Declaration
1897         or else NT (N).Nkind = N_Function_Instantiation
1898         or else NT (N).Nkind = N_Function_Specification
1899         or else NT (N).Nkind = N_Procedure_Instantiation
1900         or else NT (N).Nkind = N_Procedure_Specification);
1901       return Flag15 (N);
1902    end Must_Not_Override;
1903
1904    function Must_Override
1905       (N : Node_Id) return Boolean is
1906    begin
1907       pragma Assert (False
1908         or else NT (N).Nkind = N_Entry_Declaration
1909         or else NT (N).Nkind = N_Function_Instantiation
1910         or else NT (N).Nkind = N_Function_Specification
1911         or else NT (N).Nkind = N_Procedure_Instantiation
1912         or else NT (N).Nkind = N_Procedure_Specification);
1913       return Flag14 (N);
1914    end Must_Override;
1915
1916    function Name
1917       (N : Node_Id) return Node_Id is
1918    begin
1919       pragma Assert (False
1920         or else NT (N).Nkind = N_Assignment_Statement
1921         or else NT (N).Nkind = N_Attribute_Definition_Clause
1922         or else NT (N).Nkind = N_Defining_Program_Unit_Name
1923         or else NT (N).Nkind = N_Designator
1924         or else NT (N).Nkind = N_Entry_Call_Statement
1925         or else NT (N).Nkind = N_Exception_Renaming_Declaration
1926         or else NT (N).Nkind = N_Exit_Statement
1927         or else NT (N).Nkind = N_Formal_Package_Declaration
1928         or else NT (N).Nkind = N_Function_Call
1929         or else NT (N).Nkind = N_Function_Instantiation
1930         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
1931         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
1932         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
1933         or else NT (N).Nkind = N_Goto_Statement
1934         or else NT (N).Nkind = N_Object_Renaming_Declaration
1935         or else NT (N).Nkind = N_Package_Instantiation
1936         or else NT (N).Nkind = N_Package_Renaming_Declaration
1937         or else NT (N).Nkind = N_Procedure_Call_Statement
1938         or else NT (N).Nkind = N_Procedure_Instantiation
1939         or else NT (N).Nkind = N_Raise_Statement
1940         or else NT (N).Nkind = N_Requeue_Statement
1941         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
1942         or else NT (N).Nkind = N_Subunit
1943         or else NT (N).Nkind = N_Variant_Part
1944         or else NT (N).Nkind = N_With_Clause);
1945       return Node2 (N);
1946    end Name;
1947
1948    function Names
1949       (N : Node_Id) return List_Id is
1950    begin
1951       pragma Assert (False
1952         or else NT (N).Nkind = N_Abort_Statement
1953         or else NT (N).Nkind = N_Use_Package_Clause);
1954       return List2 (N);
1955    end Names;
1956
1957    function Next_Entity
1958       (N : Node_Id) return Node_Id is
1959    begin
1960       pragma Assert (False
1961         or else NT (N).Nkind = N_Defining_Character_Literal
1962         or else NT (N).Nkind = N_Defining_Identifier
1963         or else NT (N).Nkind = N_Defining_Operator_Symbol);
1964       return Node2 (N);
1965    end Next_Entity;
1966
1967    function Next_Named_Actual
1968       (N : Node_Id) return Node_Id is
1969    begin
1970       pragma Assert (False
1971         or else NT (N).Nkind = N_Parameter_Association);
1972       return Node4 (N);
1973    end Next_Named_Actual;
1974
1975    function Next_Rep_Item
1976       (N : Node_Id) return Node_Id is
1977    begin
1978       pragma Assert (False
1979         or else NT (N).Nkind = N_Attribute_Definition_Clause
1980         or else NT (N).Nkind = N_Enumeration_Representation_Clause
1981         or else NT (N).Nkind = N_Pragma
1982         or else NT (N).Nkind = N_Record_Representation_Clause);
1983       return Node5 (N);
1984    end Next_Rep_Item;
1985
1986    function Next_Use_Clause
1987       (N : Node_Id) return Node_Id is
1988    begin
1989       pragma Assert (False
1990         or else NT (N).Nkind = N_Use_Package_Clause
1991         or else NT (N).Nkind = N_Use_Type_Clause);
1992       return Node3 (N);
1993    end Next_Use_Clause;
1994
1995    function No_Ctrl_Actions
1996       (N : Node_Id) return Boolean is
1997    begin
1998       pragma Assert (False
1999         or else NT (N).Nkind = N_Assignment_Statement);
2000       return Flag7 (N);
2001    end No_Ctrl_Actions;
2002
2003    function No_Elaboration_Check
2004       (N : Node_Id) return Boolean is
2005    begin
2006       pragma Assert (False
2007         or else NT (N).Nkind = N_Function_Call
2008         or else NT (N).Nkind = N_Procedure_Call_Statement);
2009       return Flag14 (N);
2010    end No_Elaboration_Check;
2011
2012    function No_Entities_Ref_In_Spec
2013       (N : Node_Id) return Boolean is
2014    begin
2015       pragma Assert (False
2016         or else NT (N).Nkind = N_With_Clause);
2017       return Flag8 (N);
2018    end No_Entities_Ref_In_Spec;
2019
2020    function No_Initialization
2021       (N : Node_Id) return Boolean is
2022    begin
2023       pragma Assert (False
2024         or else NT (N).Nkind = N_Allocator
2025         or else NT (N).Nkind = N_Object_Declaration);
2026       return Flag13 (N);
2027    end No_Initialization;
2028
2029    function No_Truncation
2030       (N : Node_Id) return Boolean is
2031    begin
2032       pragma Assert (False
2033         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
2034       return Flag17 (N);
2035    end No_Truncation;
2036
2037    function Null_Present
2038       (N : Node_Id) return Boolean is
2039    begin
2040       pragma Assert (False
2041         or else NT (N).Nkind = N_Component_List
2042         or else NT (N).Nkind = N_Procedure_Specification
2043         or else NT (N).Nkind = N_Record_Definition);
2044       return Flag13 (N);
2045    end Null_Present;
2046
2047    function Null_Exclusion_Present
2048       (N : Node_Id) return Boolean is
2049    begin
2050       pragma Assert (False
2051         or else NT (N).Nkind = N_Access_Definition
2052         or else NT (N).Nkind = N_Access_Function_Definition
2053         or else NT (N).Nkind = N_Access_Procedure_Definition
2054         or else NT (N).Nkind = N_Access_To_Object_Definition
2055         or else NT (N).Nkind = N_Allocator
2056         or else NT (N).Nkind = N_Component_Definition
2057         or else NT (N).Nkind = N_Derived_Type_Definition
2058         or else NT (N).Nkind = N_Discriminant_Specification
2059         or else NT (N).Nkind = N_Formal_Object_Declaration
2060         or else NT (N).Nkind = N_Function_Specification
2061         or else NT (N).Nkind = N_Object_Declaration
2062         or else NT (N).Nkind = N_Object_Renaming_Declaration
2063         or else NT (N).Nkind = N_Parameter_Specification
2064         or else NT (N).Nkind = N_Subtype_Declaration);
2065       return Flag11 (N);
2066    end Null_Exclusion_Present;
2067
2068    function Null_Record_Present
2069       (N : Node_Id) return Boolean is
2070    begin
2071       pragma Assert (False
2072         or else NT (N).Nkind = N_Aggregate
2073         or else NT (N).Nkind = N_Extension_Aggregate);
2074       return Flag17 (N);
2075    end Null_Record_Present;
2076
2077    function Object_Definition
2078       (N : Node_Id) return Node_Id is
2079    begin
2080       pragma Assert (False
2081         or else NT (N).Nkind = N_Object_Declaration);
2082       return Node4 (N);
2083    end Object_Definition;
2084
2085    function Original_Discriminant
2086       (N : Node_Id) return Node_Id is
2087    begin
2088       pragma Assert (False
2089         or else NT (N).Nkind = N_Identifier);
2090       return Node2 (N);
2091    end Original_Discriminant;
2092
2093    function Original_Entity
2094       (N : Node_Id) return Entity_Id is
2095    begin
2096       pragma Assert (False
2097         or else NT (N).Nkind = N_Integer_Literal
2098         or else NT (N).Nkind = N_Real_Literal);
2099       return Node2 (N);
2100    end Original_Entity;
2101
2102    function Others_Discrete_Choices
2103       (N : Node_Id) return List_Id is
2104    begin
2105       pragma Assert (False
2106         or else NT (N).Nkind = N_Others_Choice);
2107       return List1 (N);
2108    end Others_Discrete_Choices;
2109
2110    function Out_Present
2111       (N : Node_Id) return Boolean is
2112    begin
2113       pragma Assert (False
2114         or else NT (N).Nkind = N_Formal_Object_Declaration
2115         or else NT (N).Nkind = N_Parameter_Specification);
2116       return Flag17 (N);
2117    end Out_Present;
2118
2119    function Parameter_Associations
2120       (N : Node_Id) return List_Id is
2121    begin
2122       pragma Assert (False
2123         or else NT (N).Nkind = N_Entry_Call_Statement
2124         or else NT (N).Nkind = N_Function_Call
2125         or else NT (N).Nkind = N_Procedure_Call_Statement);
2126       return List3 (N);
2127    end Parameter_Associations;
2128
2129    function Parameter_List_Truncated
2130       (N : Node_Id) return Boolean is
2131    begin
2132       pragma Assert (False
2133         or else NT (N).Nkind = N_Function_Call
2134         or else NT (N).Nkind = N_Procedure_Call_Statement);
2135       return Flag17 (N);
2136    end Parameter_List_Truncated;
2137
2138    function Parameter_Specifications
2139       (N : Node_Id) return List_Id is
2140    begin
2141       pragma Assert (False
2142         or else NT (N).Nkind = N_Accept_Statement
2143         or else NT (N).Nkind = N_Access_Function_Definition
2144         or else NT (N).Nkind = N_Access_Procedure_Definition
2145         or else NT (N).Nkind = N_Entry_Body_Formal_Part
2146         or else NT (N).Nkind = N_Entry_Declaration
2147         or else NT (N).Nkind = N_Function_Specification
2148         or else NT (N).Nkind = N_Procedure_Specification);
2149       return List3 (N);
2150    end Parameter_Specifications;
2151
2152    function Parameter_Type
2153       (N : Node_Id) return Node_Id is
2154    begin
2155       pragma Assert (False
2156         or else NT (N).Nkind = N_Parameter_Specification);
2157       return Node2 (N);
2158    end Parameter_Type;
2159
2160    function Parent_Spec
2161       (N : Node_Id) return Node_Id is
2162    begin
2163       pragma Assert (False
2164         or else NT (N).Nkind = N_Function_Instantiation
2165         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
2166         or else NT (N).Nkind = N_Generic_Package_Declaration
2167         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
2168         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
2169         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
2170         or else NT (N).Nkind = N_Package_Declaration
2171         or else NT (N).Nkind = N_Package_Instantiation
2172         or else NT (N).Nkind = N_Package_Renaming_Declaration
2173         or else NT (N).Nkind = N_Procedure_Instantiation
2174         or else NT (N).Nkind = N_Subprogram_Declaration
2175         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
2176       return Node4 (N);
2177    end Parent_Spec;
2178
2179    function Position
2180       (N : Node_Id) return Node_Id is
2181    begin
2182       pragma Assert (False
2183         or else NT (N).Nkind = N_Component_Clause);
2184       return Node2 (N);
2185    end Position;
2186
2187    function Pragma_Argument_Associations
2188       (N : Node_Id) return List_Id is
2189    begin
2190       pragma Assert (False
2191         or else NT (N).Nkind = N_Pragma);
2192       return List2 (N);
2193    end Pragma_Argument_Associations;
2194
2195    function Pragmas_After
2196       (N : Node_Id) return List_Id is
2197    begin
2198       pragma Assert (False
2199         or else NT (N).Nkind = N_Compilation_Unit_Aux
2200         or else NT (N).Nkind = N_Terminate_Alternative);
2201       return List5 (N);
2202    end Pragmas_After;
2203
2204    function Pragmas_Before
2205       (N : Node_Id) return List_Id is
2206    begin
2207       pragma Assert (False
2208         or else NT (N).Nkind = N_Accept_Alternative
2209         or else NT (N).Nkind = N_Delay_Alternative
2210         or else NT (N).Nkind = N_Entry_Call_Alternative
2211         or else NT (N).Nkind = N_Mod_Clause
2212         or else NT (N).Nkind = N_Terminate_Alternative
2213         or else NT (N).Nkind = N_Triggering_Alternative);
2214       return List4 (N);
2215    end Pragmas_Before;
2216
2217    function Prefix
2218       (N : Node_Id) return Node_Id is
2219    begin
2220       pragma Assert (False
2221         or else NT (N).Nkind = N_Attribute_Reference
2222         or else NT (N).Nkind = N_Expanded_Name
2223         or else NT (N).Nkind = N_Explicit_Dereference
2224         or else NT (N).Nkind = N_Indexed_Component
2225         or else NT (N).Nkind = N_Reference
2226         or else NT (N).Nkind = N_Selected_Component
2227         or else NT (N).Nkind = N_Slice);
2228       return Node3 (N);
2229    end Prefix;
2230
2231    function Present_Expr
2232       (N : Node_Id) return Uint is
2233    begin
2234       pragma Assert (False
2235         or else NT (N).Nkind = N_Variant);
2236       return Uint3 (N);
2237    end Present_Expr;
2238
2239    function Prev_Ids
2240       (N : Node_Id) return Boolean is
2241    begin
2242       pragma Assert (False
2243         or else NT (N).Nkind = N_Component_Declaration
2244         or else NT (N).Nkind = N_Discriminant_Specification
2245         or else NT (N).Nkind = N_Exception_Declaration
2246         or else NT (N).Nkind = N_Formal_Object_Declaration
2247         or else NT (N).Nkind = N_Number_Declaration
2248         or else NT (N).Nkind = N_Object_Declaration
2249         or else NT (N).Nkind = N_Parameter_Specification);
2250       return Flag6 (N);
2251    end Prev_Ids;
2252
2253    function Print_In_Hex
2254       (N : Node_Id) return Boolean is
2255    begin
2256       pragma Assert (False
2257         or else NT (N).Nkind = N_Integer_Literal);
2258       return Flag13 (N);
2259    end Print_In_Hex;
2260
2261    function Private_Declarations
2262       (N : Node_Id) return List_Id is
2263    begin
2264       pragma Assert (False
2265         or else NT (N).Nkind = N_Package_Specification
2266         or else NT (N).Nkind = N_Protected_Definition
2267         or else NT (N).Nkind = N_Task_Definition);
2268       return List3 (N);
2269    end Private_Declarations;
2270
2271    function Private_Present
2272       (N : Node_Id) return Boolean is
2273    begin
2274       pragma Assert (False
2275         or else NT (N).Nkind = N_Compilation_Unit
2276         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2277         or else NT (N).Nkind = N_With_Clause);
2278       return Flag15 (N);
2279    end Private_Present;
2280
2281    function Procedure_To_Call
2282       (N : Node_Id) return Node_Id is
2283    begin
2284       pragma Assert (False
2285         or else NT (N).Nkind = N_Allocator
2286         or else NT (N).Nkind = N_Extended_Return_Statement
2287         or else NT (N).Nkind = N_Free_Statement
2288         or else NT (N).Nkind = N_Return_Statement);
2289       return Node2 (N);
2290    end Procedure_To_Call;
2291
2292    function Proper_Body
2293       (N : Node_Id) return Node_Id is
2294    begin
2295       pragma Assert (False
2296         or else NT (N).Nkind = N_Subunit);
2297       return Node1 (N);
2298    end Proper_Body;
2299
2300    function Protected_Definition
2301       (N : Node_Id) return Node_Id is
2302    begin
2303       pragma Assert (False
2304         or else NT (N).Nkind = N_Protected_Type_Declaration
2305         or else NT (N).Nkind = N_Single_Protected_Declaration);
2306       return Node3 (N);
2307    end Protected_Definition;
2308
2309    function Protected_Present
2310       (N : Node_Id) return Boolean is
2311    begin
2312       pragma Assert (False
2313         or else NT (N).Nkind = N_Access_Function_Definition
2314         or else NT (N).Nkind = N_Access_Procedure_Definition
2315         or else NT (N).Nkind = N_Derived_Type_Definition
2316         or else NT (N).Nkind = N_Record_Definition);
2317       return Flag6 (N);
2318    end Protected_Present;
2319
2320    function Raises_Constraint_Error
2321       (N : Node_Id) return Boolean is
2322    begin
2323       pragma Assert (False
2324         or else NT (N).Nkind in N_Subexpr);
2325       return Flag7 (N);
2326    end Raises_Constraint_Error;
2327
2328    function Range_Constraint
2329       (N : Node_Id) return Node_Id is
2330    begin
2331       pragma Assert (False
2332         or else NT (N).Nkind = N_Delta_Constraint
2333         or else NT (N).Nkind = N_Digits_Constraint);
2334       return Node4 (N);
2335    end Range_Constraint;
2336
2337    function Range_Expression
2338       (N : Node_Id) return Node_Id is
2339    begin
2340       pragma Assert (False
2341         or else NT (N).Nkind = N_Range_Constraint);
2342       return Node4 (N);
2343    end Range_Expression;
2344
2345    function Real_Range_Specification
2346       (N : Node_Id) return Node_Id is
2347    begin
2348       pragma Assert (False
2349         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
2350         or else NT (N).Nkind = N_Floating_Point_Definition
2351         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
2352       return Node4 (N);
2353    end Real_Range_Specification;
2354
2355    function Realval
2356       (N : Node_Id) return Ureal is
2357    begin
2358       pragma Assert (False
2359         or else NT (N).Nkind = N_Real_Literal);
2360       return Ureal3 (N);
2361    end Realval;
2362
2363    function Reason
2364       (N : Node_Id) return Uint is
2365    begin
2366       pragma Assert (False
2367         or else NT (N).Nkind = N_Raise_Constraint_Error
2368         or else NT (N).Nkind = N_Raise_Program_Error
2369         or else NT (N).Nkind = N_Raise_Storage_Error);
2370       return Uint3 (N);
2371    end Reason;
2372
2373    function Record_Extension_Part
2374       (N : Node_Id) return Node_Id is
2375    begin
2376       pragma Assert (False
2377         or else NT (N).Nkind = N_Derived_Type_Definition);
2378       return Node3 (N);
2379    end Record_Extension_Part;
2380
2381    function Redundant_Use
2382       (N : Node_Id) return Boolean is
2383    begin
2384       pragma Assert (False
2385         or else NT (N).Nkind = N_Attribute_Reference
2386         or else NT (N).Nkind = N_Expanded_Name
2387         or else NT (N).Nkind = N_Identifier);
2388       return Flag13 (N);
2389    end Redundant_Use;
2390
2391    function Renaming_Exception
2392       (N : Node_Id) return Node_Id is
2393    begin
2394       pragma Assert (False
2395         or else NT (N).Nkind = N_Exception_Declaration);
2396       return Node2 (N);
2397    end Renaming_Exception;
2398
2399    function Result_Definition
2400      (N : Node_Id) return Node_Id is
2401    begin
2402       pragma Assert (False
2403         or else NT (N).Nkind = N_Access_Function_Definition
2404         or else NT (N).Nkind = N_Function_Specification);
2405       return Node4 (N);
2406    end Result_Definition;
2407
2408    function Return_Object_Declarations
2409      (N : Node_Id) return List_Id is
2410    begin
2411       pragma Assert (False
2412         or else NT (N).Nkind = N_Extended_Return_Statement);
2413       return List3 (N);
2414    end Return_Object_Declarations;
2415
2416    function Return_Statement_Entity
2417      (N : Node_Id) return Node_Id is
2418    begin
2419       pragma Assert (False
2420         or else NT (N).Nkind = N_Extended_Return_Statement
2421         or else NT (N).Nkind = N_Return_Statement);
2422       return Node5 (N);
2423    end Return_Statement_Entity;
2424
2425    function Reverse_Present
2426       (N : Node_Id) return Boolean is
2427    begin
2428       pragma Assert (False
2429         or else NT (N).Nkind = N_Loop_Parameter_Specification);
2430       return Flag15 (N);
2431    end Reverse_Present;
2432
2433    function Right_Opnd
2434       (N : Node_Id) return Node_Id is
2435    begin
2436       pragma Assert (False
2437         or else NT (N).Nkind in N_Op
2438         or else NT (N).Nkind = N_And_Then
2439         or else NT (N).Nkind = N_In
2440         or else NT (N).Nkind = N_Not_In
2441         or else NT (N).Nkind = N_Or_Else);
2442       return Node3 (N);
2443    end Right_Opnd;
2444
2445    function Rounded_Result
2446       (N : Node_Id) return Boolean is
2447    begin
2448       pragma Assert (False
2449         or else NT (N).Nkind = N_Op_Divide
2450         or else NT (N).Nkind = N_Op_Multiply
2451         or else NT (N).Nkind = N_Type_Conversion);
2452       return Flag18 (N);
2453    end Rounded_Result;
2454
2455    function Scope
2456       (N : Node_Id) return Node_Id is
2457    begin
2458       pragma Assert (False
2459         or else NT (N).Nkind = N_Defining_Character_Literal
2460         or else NT (N).Nkind = N_Defining_Identifier
2461         or else NT (N).Nkind = N_Defining_Operator_Symbol);
2462       return Node3 (N);
2463    end Scope;
2464
2465    function Select_Alternatives
2466       (N : Node_Id) return List_Id is
2467    begin
2468       pragma Assert (False
2469         or else NT (N).Nkind = N_Selective_Accept);
2470       return List1 (N);
2471    end Select_Alternatives;
2472
2473    function Selector_Name
2474       (N : Node_Id) return Node_Id is
2475    begin
2476       pragma Assert (False
2477         or else NT (N).Nkind = N_Expanded_Name
2478         or else NT (N).Nkind = N_Generic_Association
2479         or else NT (N).Nkind = N_Parameter_Association
2480         or else NT (N).Nkind = N_Selected_Component);
2481       return Node2 (N);
2482    end Selector_Name;
2483
2484    function Selector_Names
2485       (N : Node_Id) return List_Id is
2486    begin
2487       pragma Assert (False
2488         or else NT (N).Nkind = N_Discriminant_Association);
2489       return List1 (N);
2490    end Selector_Names;
2491
2492    function Shift_Count_OK
2493       (N : Node_Id) return Boolean is
2494    begin
2495       pragma Assert (False
2496         or else NT (N).Nkind = N_Op_Rotate_Left
2497         or else NT (N).Nkind = N_Op_Rotate_Right
2498         or else NT (N).Nkind = N_Op_Shift_Left
2499         or else NT (N).Nkind = N_Op_Shift_Right
2500         or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
2501       return Flag4 (N);
2502    end Shift_Count_OK;
2503
2504    function Source_Type
2505       (N : Node_Id) return Entity_Id is
2506    begin
2507       pragma Assert (False
2508         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
2509       return Node1 (N);
2510    end Source_Type;
2511
2512    function Specification
2513       (N : Node_Id) return Node_Id is
2514    begin
2515       pragma Assert (False
2516         or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
2517         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
2518         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
2519         or else NT (N).Nkind = N_Generic_Package_Declaration
2520         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
2521         or else NT (N).Nkind = N_Package_Declaration
2522         or else NT (N).Nkind = N_Subprogram_Body
2523         or else NT (N).Nkind = N_Subprogram_Body_Stub
2524         or else NT (N).Nkind = N_Subprogram_Declaration
2525         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
2526       return Node1 (N);
2527    end Specification;
2528
2529    function Statements
2530       (N : Node_Id) return List_Id is
2531    begin
2532       pragma Assert (False
2533         or else NT (N).Nkind = N_Abortable_Part
2534         or else NT (N).Nkind = N_Accept_Alternative
2535         or else NT (N).Nkind = N_Case_Statement_Alternative
2536         or else NT (N).Nkind = N_Delay_Alternative
2537         or else NT (N).Nkind = N_Entry_Call_Alternative
2538         or else NT (N).Nkind = N_Exception_Handler
2539         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
2540         or else NT (N).Nkind = N_Loop_Statement
2541         or else NT (N).Nkind = N_Triggering_Alternative);
2542       return List3 (N);
2543    end Statements;
2544
2545    function Static_Processing_OK
2546       (N : Node_Id) return Boolean is
2547    begin
2548       pragma Assert (False
2549         or else NT (N).Nkind = N_Aggregate);
2550       return Flag4 (N);
2551    end Static_Processing_OK;
2552
2553    function Storage_Pool
2554       (N : Node_Id) return Node_Id is
2555    begin
2556       pragma Assert (False
2557         or else NT (N).Nkind = N_Allocator
2558         or else NT (N).Nkind = N_Extended_Return_Statement
2559         or else NT (N).Nkind = N_Free_Statement
2560         or else NT (N).Nkind = N_Return_Statement);
2561       return Node1 (N);
2562    end Storage_Pool;
2563
2564    function Strval
2565       (N : Node_Id) return String_Id is
2566    begin
2567       pragma Assert (False
2568         or else NT (N).Nkind = N_Operator_Symbol
2569         or else NT (N).Nkind = N_String_Literal);
2570       return Str3 (N);
2571    end Strval;
2572
2573    function Subtype_Indication
2574       (N : Node_Id) return Node_Id is
2575    begin
2576       pragma Assert (False
2577         or else NT (N).Nkind = N_Access_To_Object_Definition
2578         or else NT (N).Nkind = N_Component_Definition
2579         or else NT (N).Nkind = N_Derived_Type_Definition
2580         or else NT (N).Nkind = N_Private_Extension_Declaration
2581         or else NT (N).Nkind = N_Subtype_Declaration);
2582       return Node5 (N);
2583    end Subtype_Indication;
2584
2585    function Subtype_Mark
2586       (N : Node_Id) return Node_Id is
2587    begin
2588       pragma Assert (False
2589         or else NT (N).Nkind = N_Access_Definition
2590         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2591         or else NT (N).Nkind = N_Formal_Object_Declaration
2592         or else NT (N).Nkind = N_Object_Renaming_Declaration
2593         or else NT (N).Nkind = N_Qualified_Expression
2594         or else NT (N).Nkind = N_Subtype_Indication
2595         or else NT (N).Nkind = N_Type_Conversion
2596         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
2597       return Node4 (N);
2598    end Subtype_Mark;
2599
2600    function Subtype_Marks
2601       (N : Node_Id) return List_Id is
2602    begin
2603       pragma Assert (False
2604         or else NT (N).Nkind = N_Unconstrained_Array_Definition
2605         or else NT (N).Nkind = N_Use_Type_Clause);
2606       return List2 (N);
2607    end Subtype_Marks;
2608
2609    function Synchronized_Present
2610      (N : Node_Id) return Boolean is
2611    begin
2612       pragma Assert (False
2613         or else NT (N).Nkind = N_Derived_Type_Definition
2614         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2615         or else NT (N).Nkind = N_Private_Extension_Declaration
2616         or else NT (N).Nkind = N_Record_Definition);
2617       return Flag7 (N);
2618    end Synchronized_Present;
2619
2620    function Tagged_Present
2621       (N : Node_Id) return Boolean is
2622    begin
2623       pragma Assert (False
2624         or else NT (N).Nkind = N_Formal_Private_Type_Definition
2625         or else NT (N).Nkind = N_Incomplete_Type_Declaration
2626         or else NT (N).Nkind = N_Private_Type_Declaration
2627         or else NT (N).Nkind = N_Record_Definition);
2628       return Flag15 (N);
2629    end Tagged_Present;
2630
2631    function Target_Type
2632       (N : Node_Id) return Entity_Id is
2633    begin
2634       pragma Assert (False
2635         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
2636       return Node2 (N);
2637    end Target_Type;
2638
2639    function Task_Definition
2640       (N : Node_Id) return Node_Id is
2641    begin
2642       pragma Assert (False
2643         or else NT (N).Nkind = N_Single_Task_Declaration
2644         or else NT (N).Nkind = N_Task_Type_Declaration);
2645       return Node3 (N);
2646    end Task_Definition;
2647
2648    function Task_Present
2649      (N : Node_Id) return Boolean is
2650    begin
2651       pragma Assert (False
2652         or else NT (N).Nkind = N_Derived_Type_Definition
2653         or else NT (N).Nkind = N_Record_Definition);
2654       return Flag5 (N);
2655    end Task_Present;
2656
2657    function Then_Actions
2658       (N : Node_Id) return List_Id is
2659    begin
2660       pragma Assert (False
2661         or else NT (N).Nkind = N_Conditional_Expression);
2662       return List2 (N);
2663    end Then_Actions;
2664
2665    function Then_Statements
2666       (N : Node_Id) return List_Id is
2667    begin
2668       pragma Assert (False
2669         or else NT (N).Nkind = N_Elsif_Part
2670         or else NT (N).Nkind = N_If_Statement);
2671       return List2 (N);
2672    end Then_Statements;
2673
2674    function Treat_Fixed_As_Integer
2675       (N : Node_Id) return Boolean is
2676    begin
2677       pragma Assert (False
2678         or else NT (N).Nkind = N_Op_Divide
2679         or else NT (N).Nkind = N_Op_Mod
2680         or else NT (N).Nkind = N_Op_Multiply
2681         or else NT (N).Nkind = N_Op_Rem);
2682       return Flag14 (N);
2683    end Treat_Fixed_As_Integer;
2684
2685    function Triggering_Alternative
2686       (N : Node_Id) return Node_Id is
2687    begin
2688       pragma Assert (False
2689         or else NT (N).Nkind = N_Asynchronous_Select);
2690       return Node1 (N);
2691    end Triggering_Alternative;
2692
2693    function Triggering_Statement
2694       (N : Node_Id) return Node_Id is
2695    begin
2696       pragma Assert (False
2697         or else NT (N).Nkind = N_Triggering_Alternative);
2698       return Node1 (N);
2699    end Triggering_Statement;
2700
2701    function TSS_Elist
2702       (N : Node_Id) return Elist_Id is
2703    begin
2704       pragma Assert (False
2705         or else NT (N).Nkind = N_Freeze_Entity);
2706       return Elist3 (N);
2707    end TSS_Elist;
2708
2709    function Type_Definition
2710       (N : Node_Id) return Node_Id is
2711    begin
2712       pragma Assert (False
2713         or else NT (N).Nkind = N_Full_Type_Declaration);
2714       return Node3 (N);
2715    end Type_Definition;
2716
2717    function Unit
2718       (N : Node_Id) return Node_Id is
2719    begin
2720       pragma Assert (False
2721         or else NT (N).Nkind = N_Compilation_Unit);
2722       return Node2 (N);
2723    end Unit;
2724
2725    function Unknown_Discriminants_Present
2726       (N : Node_Id) return Boolean is
2727    begin
2728       pragma Assert (False
2729         or else NT (N).Nkind = N_Formal_Type_Declaration
2730         or else NT (N).Nkind = N_Incomplete_Type_Declaration
2731         or else NT (N).Nkind = N_Private_Extension_Declaration
2732         or else NT (N).Nkind = N_Private_Type_Declaration);
2733       return Flag13 (N);
2734    end Unknown_Discriminants_Present;
2735
2736    function Unreferenced_In_Spec
2737       (N : Node_Id) return Boolean is
2738    begin
2739       pragma Assert (False
2740         or else NT (N).Nkind = N_With_Clause);
2741       return Flag7 (N);
2742    end Unreferenced_In_Spec;
2743
2744    function Variant_Part
2745       (N : Node_Id) return Node_Id is
2746    begin
2747       pragma Assert (False
2748         or else NT (N).Nkind = N_Component_List);
2749       return Node4 (N);
2750    end Variant_Part;
2751
2752    function Variants
2753       (N : Node_Id) return List_Id is
2754    begin
2755       pragma Assert (False
2756         or else NT (N).Nkind = N_Variant_Part);
2757       return List1 (N);
2758    end Variants;
2759
2760    function Visible_Declarations
2761       (N : Node_Id) return List_Id is
2762    begin
2763       pragma Assert (False
2764         or else NT (N).Nkind = N_Package_Specification
2765         or else NT (N).Nkind = N_Protected_Definition
2766         or else NT (N).Nkind = N_Task_Definition);
2767       return List2 (N);
2768    end Visible_Declarations;
2769
2770    function Was_Originally_Stub
2771       (N : Node_Id) return Boolean is
2772    begin
2773       pragma Assert (False
2774         or else NT (N).Nkind = N_Package_Body
2775         or else NT (N).Nkind = N_Protected_Body
2776         or else NT (N).Nkind = N_Subprogram_Body
2777         or else NT (N).Nkind = N_Task_Body);
2778       return Flag13 (N);
2779    end Was_Originally_Stub;
2780
2781    function Zero_Cost_Handling
2782       (N : Node_Id) return Boolean is
2783    begin
2784       pragma Assert (False
2785         or else NT (N).Nkind = N_Exception_Handler
2786         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
2787       return Flag5 (N);
2788    end Zero_Cost_Handling;
2789
2790    --------------------------
2791    -- Field Set Procedures --
2792    --------------------------
2793
2794    procedure Set_ABE_Is_Certain
2795       (N : Node_Id; Val : Boolean := True) is
2796    begin
2797       pragma Assert (False
2798         or else NT (N).Nkind = N_Formal_Package_Declaration
2799         or else NT (N).Nkind = N_Function_Call
2800         or else NT (N).Nkind = N_Function_Instantiation
2801         or else NT (N).Nkind = N_Package_Instantiation
2802         or else NT (N).Nkind = N_Procedure_Call_Statement
2803         or else NT (N).Nkind = N_Procedure_Instantiation);
2804       Set_Flag18 (N, Val);
2805    end Set_ABE_Is_Certain;
2806
2807    procedure Set_Abort_Present
2808       (N : Node_Id; Val : Boolean := True) is
2809    begin
2810       pragma Assert (False
2811         or else NT (N).Nkind = N_Requeue_Statement);
2812       Set_Flag15 (N, Val);
2813    end Set_Abort_Present;
2814
2815    procedure Set_Abortable_Part
2816       (N : Node_Id; Val : Node_Id) is
2817    begin
2818       pragma Assert (False
2819         or else NT (N).Nkind = N_Asynchronous_Select);
2820       Set_Node2_With_Parent (N, Val);
2821    end Set_Abortable_Part;
2822
2823    procedure Set_Abstract_Present
2824       (N : Node_Id; Val : Boolean := True) is
2825    begin
2826       pragma Assert (False
2827         or else NT (N).Nkind = N_Derived_Type_Definition
2828         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2829         or else NT (N).Nkind = N_Formal_Private_Type_Definition
2830         or else NT (N).Nkind = N_Private_Extension_Declaration
2831         or else NT (N).Nkind = N_Private_Type_Declaration
2832         or else NT (N).Nkind = N_Record_Definition);
2833       Set_Flag4 (N, Val);
2834    end Set_Abstract_Present;
2835
2836    procedure Set_Accept_Handler_Records
2837       (N : Node_Id; Val : List_Id) is
2838    begin
2839       pragma Assert (False
2840         or else NT (N).Nkind = N_Accept_Alternative);
2841       Set_List5 (N, Val); -- semantic field, no parent set
2842    end Set_Accept_Handler_Records;
2843
2844    procedure Set_Accept_Statement
2845       (N : Node_Id; Val : Node_Id) is
2846    begin
2847       pragma Assert (False
2848         or else NT (N).Nkind = N_Accept_Alternative);
2849       Set_Node2_With_Parent (N, Val);
2850    end Set_Accept_Statement;
2851
2852    procedure Set_Access_Definition
2853      (N : Node_Id; Val : Node_Id) is
2854    begin
2855       pragma Assert (False
2856         or else NT (N).Nkind = N_Component_Definition
2857         or else NT (N).Nkind = N_Formal_Object_Declaration
2858         or else NT (N).Nkind = N_Object_Renaming_Declaration);
2859       Set_Node3_With_Parent (N, Val);
2860    end Set_Access_Definition;
2861
2862    procedure Set_Access_To_Subprogram_Definition
2863      (N : Node_Id; Val : Node_Id) is
2864    begin
2865       pragma Assert (False
2866         or else NT (N).Nkind = N_Access_Definition);
2867       Set_Node3_With_Parent (N, Val);
2868    end Set_Access_To_Subprogram_Definition;
2869
2870    procedure Set_Access_Types_To_Process
2871       (N : Node_Id; Val : Elist_Id) is
2872    begin
2873       pragma Assert (False
2874         or else NT (N).Nkind = N_Freeze_Entity);
2875       Set_Elist2 (N, Val); -- semantic field, no parent set
2876    end Set_Access_Types_To_Process;
2877
2878    procedure Set_Actions
2879       (N : Node_Id; Val : List_Id) is
2880    begin
2881       pragma Assert (False
2882         or else NT (N).Nkind = N_And_Then
2883         or else NT (N).Nkind = N_Compilation_Unit_Aux
2884         or else NT (N).Nkind = N_Freeze_Entity
2885         or else NT (N).Nkind = N_Or_Else);
2886       Set_List1_With_Parent (N, Val);
2887    end Set_Actions;
2888
2889    procedure Set_Activation_Chain_Entity
2890       (N : Node_Id; Val : Node_Id) is
2891    begin
2892       pragma Assert (False
2893         or else NT (N).Nkind = N_Block_Statement
2894         or else NT (N).Nkind = N_Entry_Body
2895         or else NT (N).Nkind = N_Generic_Package_Declaration
2896         or else NT (N).Nkind = N_Package_Declaration
2897         or else NT (N).Nkind = N_Subprogram_Body
2898         or else NT (N).Nkind = N_Task_Body);
2899       Set_Node3 (N, Val); -- semantic field, no parent set
2900    end Set_Activation_Chain_Entity;
2901
2902    procedure Set_Acts_As_Spec
2903       (N : Node_Id; Val : Boolean := True) is
2904    begin
2905       pragma Assert (False
2906         or else NT (N).Nkind = N_Compilation_Unit
2907         or else NT (N).Nkind = N_Subprogram_Body);
2908       Set_Flag4 (N, Val);
2909    end Set_Acts_As_Spec;
2910
2911    procedure Set_Actual_Designated_Subtype
2912      (N : Node_Id; Val : Node_Id) is
2913    begin
2914       pragma Assert (False
2915         or else NT (N).Nkind = N_Explicit_Dereference
2916         or else NT (N).Nkind = N_Free_Statement);
2917       Set_Node4 (N, Val);
2918    end Set_Actual_Designated_Subtype;
2919
2920    procedure Set_Address_Warning_Posted
2921       (N : Node_Id; Val : Boolean := True) is
2922    begin
2923       pragma Assert (False
2924         or else NT (N).Nkind = N_Attribute_Definition_Clause);
2925       Set_Flag18 (N, Val);
2926    end Set_Address_Warning_Posted;
2927
2928    procedure Set_Aggregate_Bounds
2929       (N : Node_Id; Val : Node_Id) is
2930    begin
2931       pragma Assert (False
2932         or else NT (N).Nkind = N_Aggregate);
2933       Set_Node3 (N, Val); -- semantic field, no parent set
2934    end Set_Aggregate_Bounds;
2935
2936    procedure Set_Aliased_Present
2937       (N : Node_Id; Val : Boolean := True) is
2938    begin
2939       pragma Assert (False
2940         or else NT (N).Nkind = N_Component_Definition
2941         or else NT (N).Nkind = N_Object_Declaration);
2942       Set_Flag4 (N, Val);
2943    end Set_Aliased_Present;
2944
2945    procedure Set_All_Others
2946       (N : Node_Id; Val : Boolean := True) is
2947    begin
2948       pragma Assert (False
2949         or else NT (N).Nkind = N_Others_Choice);
2950       Set_Flag11 (N, Val);
2951    end Set_All_Others;
2952
2953    procedure Set_All_Present
2954       (N : Node_Id; Val : Boolean := True) is
2955    begin
2956       pragma Assert (False
2957         or else NT (N).Nkind = N_Access_Definition
2958         or else NT (N).Nkind = N_Access_To_Object_Definition);
2959       Set_Flag15 (N, Val);
2960    end Set_All_Present;
2961
2962    procedure Set_Alternatives
2963       (N : Node_Id; Val : List_Id) is
2964    begin
2965       pragma Assert (False
2966         or else NT (N).Nkind = N_Case_Statement);
2967       Set_List4_With_Parent (N, Val);
2968    end Set_Alternatives;
2969
2970    procedure Set_Ancestor_Part
2971       (N : Node_Id; Val : Node_Id) is
2972    begin
2973       pragma Assert (False
2974         or else NT (N).Nkind = N_Extension_Aggregate);
2975       Set_Node3_With_Parent (N, Val);
2976    end Set_Ancestor_Part;
2977
2978    procedure Set_Array_Aggregate
2979       (N : Node_Id; Val : Node_Id) is
2980    begin
2981       pragma Assert (False
2982         or else NT (N).Nkind = N_Enumeration_Representation_Clause);
2983       Set_Node3_With_Parent (N, Val);
2984    end Set_Array_Aggregate;
2985
2986    procedure Set_Assignment_OK
2987       (N : Node_Id; Val : Boolean := True) is
2988    begin
2989       pragma Assert (False
2990         or else NT (N).Nkind = N_Object_Declaration
2991         or else NT (N).Nkind in N_Subexpr);
2992       Set_Flag15 (N, Val);
2993    end Set_Assignment_OK;
2994
2995    procedure Set_Associated_Node
2996       (N : Node_Id; Val : Node_Id) is
2997    begin
2998       pragma Assert (False
2999         or else NT (N).Nkind in N_Has_Entity
3000         or else NT (N).Nkind = N_Aggregate
3001         or else NT (N).Nkind = N_Extension_Aggregate
3002         or else NT (N).Nkind = N_Selected_Component);
3003       Set_Node4 (N, Val); -- semantic field, no parent set
3004    end Set_Associated_Node;
3005
3006    procedure Set_At_End_Proc
3007       (N : Node_Id; Val : Node_Id) is
3008    begin
3009       pragma Assert (False
3010         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3011       Set_Node1 (N, Val);
3012    end Set_At_End_Proc;
3013
3014    procedure Set_Attribute_Name
3015       (N : Node_Id; Val : Name_Id) is
3016    begin
3017       pragma Assert (False
3018         or else NT (N).Nkind = N_Attribute_Reference);
3019       Set_Name2 (N, Val);
3020    end Set_Attribute_Name;
3021
3022    procedure Set_Aux_Decls_Node
3023       (N : Node_Id; Val : Node_Id) is
3024    begin
3025       pragma Assert (False
3026         or else NT (N).Nkind = N_Compilation_Unit);
3027       Set_Node5_With_Parent (N, Val);
3028    end Set_Aux_Decls_Node;
3029
3030    procedure Set_Backwards_OK
3031       (N : Node_Id; Val : Boolean := True) is
3032    begin
3033       pragma Assert (False
3034         or else NT (N).Nkind = N_Assignment_Statement);
3035       Set_Flag6 (N, Val);
3036    end Set_Backwards_OK;
3037
3038    procedure Set_Bad_Is_Detected
3039       (N : Node_Id; Val : Boolean := True) is
3040    begin
3041       pragma Assert (False
3042         or else NT (N).Nkind = N_Subprogram_Body);
3043       Set_Flag15 (N, Val);
3044    end Set_Bad_Is_Detected;
3045
3046    procedure Set_Body_Required
3047       (N : Node_Id; Val : Boolean := True) is
3048    begin
3049       pragma Assert (False
3050         or else NT (N).Nkind = N_Compilation_Unit);
3051       Set_Flag13 (N, Val);
3052    end Set_Body_Required;
3053
3054    procedure Set_Body_To_Inline
3055       (N : Node_Id; Val : Node_Id) is
3056    begin
3057       pragma Assert (False
3058         or else NT (N).Nkind = N_Subprogram_Declaration);
3059       Set_Node3 (N, Val);
3060    end Set_Body_To_Inline;
3061
3062    procedure Set_Box_Present
3063       (N : Node_Id; Val : Boolean := True) is
3064    begin
3065       pragma Assert (False
3066         or else NT (N).Nkind = N_Component_Association
3067         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
3068         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
3069         or else NT (N).Nkind = N_Formal_Package_Declaration
3070         or else NT (N).Nkind = N_Generic_Association);
3071       Set_Flag15 (N, Val);
3072    end Set_Box_Present;
3073
3074    procedure Set_By_Ref
3075       (N : Node_Id; Val : Boolean := True) is
3076    begin
3077       pragma Assert (False
3078         or else NT (N).Nkind = N_Extended_Return_Statement
3079         or else NT (N).Nkind = N_Return_Statement);
3080       Set_Flag5 (N, Val);
3081    end Set_By_Ref;
3082
3083    procedure Set_Char_Literal_Value
3084       (N : Node_Id; Val : Uint) is
3085    begin
3086       pragma Assert (False
3087         or else NT (N).Nkind = N_Character_Literal);
3088       Set_Uint2 (N, Val);
3089    end Set_Char_Literal_Value;
3090
3091    procedure Set_Chars
3092       (N : Node_Id; Val : Name_Id) is
3093    begin
3094       pragma Assert (False
3095         or else NT (N).Nkind in N_Has_Chars);
3096       Set_Name1 (N, Val);
3097    end Set_Chars;
3098
3099    procedure Set_Check_Address_Alignment
3100       (N : Node_Id; Val : Boolean := True) is
3101    begin
3102       pragma Assert (False
3103           or else NT (N).Nkind = N_Attribute_Definition_Clause);
3104       Set_Flag11 (N, Val);
3105    end Set_Check_Address_Alignment;
3106
3107    procedure Set_Choice_Parameter
3108       (N : Node_Id; Val : Node_Id) is
3109    begin
3110       pragma Assert (False
3111         or else NT (N).Nkind = N_Exception_Handler);
3112       Set_Node2_With_Parent (N, Val);
3113    end Set_Choice_Parameter;
3114
3115    procedure Set_Choices
3116       (N : Node_Id; Val : List_Id) is
3117    begin
3118       pragma Assert (False
3119         or else NT (N).Nkind = N_Component_Association);
3120       Set_List1_With_Parent (N, Val);
3121    end Set_Choices;
3122
3123    procedure Set_Coextensions
3124       (N : Node_Id; Val : Elist_Id) is
3125    begin
3126       pragma Assert (False
3127         or else NT (N).Nkind = N_Allocator);
3128       Set_Elist4 (N, Val);
3129    end Set_Coextensions;
3130
3131    procedure Set_Comes_From_Extended_Return_Statement
3132      (N : Node_Id; Val : Boolean := True) is
3133    begin
3134       pragma Assert (False
3135         or else NT (N).Nkind = N_Return_Statement);
3136       Set_Flag18 (N, Val);
3137    end Set_Comes_From_Extended_Return_Statement;
3138
3139    procedure Set_Compile_Time_Known_Aggregate
3140       (N : Node_Id; Val : Boolean := True) is
3141    begin
3142       pragma Assert (False
3143         or else NT (N).Nkind = N_Aggregate);
3144       Set_Flag18 (N, Val);
3145    end Set_Compile_Time_Known_Aggregate;
3146
3147    procedure Set_Component_Associations
3148       (N : Node_Id; Val : List_Id) is
3149    begin
3150       pragma Assert (False
3151         or else NT (N).Nkind = N_Aggregate
3152         or else NT (N).Nkind = N_Extension_Aggregate);
3153       Set_List2_With_Parent (N, Val);
3154    end Set_Component_Associations;
3155
3156    procedure Set_Component_Clauses
3157       (N : Node_Id; Val : List_Id) is
3158    begin
3159       pragma Assert (False
3160         or else NT (N).Nkind = N_Record_Representation_Clause);
3161       Set_List3_With_Parent (N, Val);
3162    end Set_Component_Clauses;
3163
3164    procedure Set_Component_Definition
3165       (N : Node_Id; Val : Node_Id) is
3166    begin
3167       pragma Assert (False
3168         or else NT (N).Nkind = N_Component_Declaration
3169         or else NT (N).Nkind = N_Constrained_Array_Definition
3170         or else NT (N).Nkind = N_Unconstrained_Array_Definition);
3171       Set_Node4_With_Parent (N, Val);
3172    end Set_Component_Definition;
3173
3174    procedure Set_Component_Items
3175       (N : Node_Id; Val : List_Id) is
3176    begin
3177       pragma Assert (False
3178         or else NT (N).Nkind = N_Component_List);
3179       Set_List3_With_Parent (N, Val);
3180    end Set_Component_Items;
3181
3182    procedure Set_Component_List
3183       (N : Node_Id; Val : Node_Id) is
3184    begin
3185       pragma Assert (False
3186         or else NT (N).Nkind = N_Record_Definition
3187         or else NT (N).Nkind = N_Variant);
3188       Set_Node1_With_Parent (N, Val);
3189    end Set_Component_List;
3190
3191    procedure Set_Component_Name
3192       (N : Node_Id; Val : Node_Id) is
3193    begin
3194       pragma Assert (False
3195         or else NT (N).Nkind = N_Component_Clause);
3196       Set_Node1_With_Parent (N, Val);
3197    end Set_Component_Name;
3198
3199    procedure Set_Condition
3200       (N : Node_Id; Val : Node_Id) is
3201    begin
3202       pragma Assert (False
3203         or else NT (N).Nkind = N_Accept_Alternative
3204         or else NT (N).Nkind = N_Delay_Alternative
3205         or else NT (N).Nkind = N_Elsif_Part
3206         or else NT (N).Nkind = N_Entry_Body_Formal_Part
3207         or else NT (N).Nkind = N_Exit_Statement
3208         or else NT (N).Nkind = N_If_Statement
3209         or else NT (N).Nkind = N_Iteration_Scheme
3210         or else NT (N).Nkind = N_Raise_Constraint_Error
3211         or else NT (N).Nkind = N_Raise_Program_Error
3212         or else NT (N).Nkind = N_Raise_Storage_Error
3213         or else NT (N).Nkind = N_Terminate_Alternative);
3214       Set_Node1_With_Parent (N, Val);
3215    end Set_Condition;
3216
3217    procedure Set_Condition_Actions
3218       (N : Node_Id; Val : List_Id) is
3219    begin
3220       pragma Assert (False
3221         or else NT (N).Nkind = N_Elsif_Part
3222         or else NT (N).Nkind = N_Iteration_Scheme);
3223       Set_List3 (N, Val); -- semantic field, no parent set
3224    end Set_Condition_Actions;
3225
3226    procedure Set_Config_Pragmas
3227       (N : Node_Id; Val : List_Id) is
3228    begin
3229       pragma Assert (False
3230         or else NT (N).Nkind = N_Compilation_Unit_Aux);
3231       Set_List4_With_Parent (N, Val);
3232    end Set_Config_Pragmas;
3233
3234    procedure Set_Constant_Present
3235       (N : Node_Id; Val : Boolean := True) is
3236    begin
3237       pragma Assert (False
3238         or else NT (N).Nkind = N_Access_Definition
3239         or else NT (N).Nkind = N_Access_To_Object_Definition
3240         or else NT (N).Nkind = N_Object_Declaration);
3241       Set_Flag17 (N, Val);
3242    end Set_Constant_Present;
3243
3244    procedure Set_Constraint
3245       (N : Node_Id; Val : Node_Id) is
3246    begin
3247       pragma Assert (False
3248         or else NT (N).Nkind = N_Subtype_Indication);
3249       Set_Node3_With_Parent (N, Val);
3250    end Set_Constraint;
3251
3252    procedure Set_Constraints
3253       (N : Node_Id; Val : List_Id) is
3254    begin
3255       pragma Assert (False
3256         or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint);
3257       Set_List1_With_Parent (N, Val);
3258    end Set_Constraints;
3259
3260    procedure Set_Context_Installed
3261       (N : Node_Id; Val : Boolean := True) is
3262    begin
3263       pragma Assert (False
3264         or else NT (N).Nkind = N_With_Clause);
3265       Set_Flag13 (N, Val);
3266    end Set_Context_Installed;
3267
3268    procedure Set_Context_Items
3269       (N : Node_Id; Val : List_Id) is
3270    begin
3271       pragma Assert (False
3272         or else NT (N).Nkind = N_Compilation_Unit);
3273       Set_List1_With_Parent (N, Val);
3274    end Set_Context_Items;
3275
3276    procedure Set_Controlling_Argument
3277       (N : Node_Id; Val : Node_Id) is
3278    begin
3279       pragma Assert (False
3280         or else NT (N).Nkind = N_Function_Call
3281         or else NT (N).Nkind = N_Procedure_Call_Statement);
3282       Set_Node1 (N, Val); -- semantic field, no parent set
3283    end Set_Controlling_Argument;
3284
3285    procedure Set_Conversion_OK
3286       (N : Node_Id; Val : Boolean := True) is
3287    begin
3288       pragma Assert (False
3289         or else NT (N).Nkind = N_Type_Conversion);
3290       Set_Flag14 (N, Val);
3291    end Set_Conversion_OK;
3292
3293    procedure Set_Corresponding_Body
3294       (N : Node_Id; Val : Node_Id) is
3295    begin
3296       pragma Assert (False
3297         or else NT (N).Nkind = N_Entry_Declaration
3298         or else NT (N).Nkind = N_Generic_Package_Declaration
3299         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
3300         or else NT (N).Nkind = N_Package_Body_Stub
3301         or else NT (N).Nkind = N_Package_Declaration
3302         or else NT (N).Nkind = N_Protected_Body_Stub
3303         or else NT (N).Nkind = N_Protected_Type_Declaration
3304         or else NT (N).Nkind = N_Subprogram_Body_Stub
3305         or else NT (N).Nkind = N_Subprogram_Declaration
3306         or else NT (N).Nkind = N_Task_Body_Stub
3307         or else NT (N).Nkind = N_Task_Type_Declaration);
3308       Set_Node5 (N, Val); -- semantic field, no parent set
3309    end Set_Corresponding_Body;
3310
3311    procedure Set_Corresponding_Formal_Spec
3312       (N : Node_Id; Val : Node_Id) is
3313    begin
3314       pragma Assert (False
3315         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
3316       Set_Node3 (N, Val); -- semantic field, no parent set
3317    end Set_Corresponding_Formal_Spec;
3318
3319    procedure Set_Corresponding_Generic_Association
3320       (N : Node_Id; Val : Node_Id) is
3321    begin
3322       pragma Assert (False
3323         or else NT (N).Nkind = N_Object_Declaration
3324         or else NT (N).Nkind = N_Object_Renaming_Declaration);
3325       Set_Node5 (N, Val); -- semantic field, no parent set
3326    end Set_Corresponding_Generic_Association;
3327
3328    procedure Set_Corresponding_Integer_Value
3329       (N : Node_Id; Val : Uint) is
3330    begin
3331       pragma Assert (False
3332         or else NT (N).Nkind = N_Real_Literal);
3333       Set_Uint4 (N, Val); -- semantic field, no parent set
3334    end Set_Corresponding_Integer_Value;
3335
3336    procedure Set_Corresponding_Spec
3337       (N : Node_Id; Val : Node_Id) is
3338    begin
3339       pragma Assert (False
3340         or else NT (N).Nkind = N_Package_Body
3341         or else NT (N).Nkind = N_Protected_Body
3342         or else NT (N).Nkind = N_Subprogram_Body
3343         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
3344         or else NT (N).Nkind = N_Task_Body
3345         or else NT (N).Nkind = N_With_Clause);
3346       Set_Node5 (N, Val); -- semantic field, no parent set
3347    end Set_Corresponding_Spec;
3348
3349    procedure Set_Corresponding_Stub
3350       (N : Node_Id; Val : Node_Id) is
3351    begin
3352       pragma Assert (False
3353         or else NT (N).Nkind = N_Subunit);
3354       Set_Node3 (N, Val);
3355    end Set_Corresponding_Stub;
3356
3357    procedure Set_Dcheck_Function
3358       (N : Node_Id; Val : Entity_Id) is
3359    begin
3360       pragma Assert (False
3361         or else NT (N).Nkind = N_Variant);
3362       Set_Node5 (N, Val); -- semantic field, no parent set
3363    end Set_Dcheck_Function;
3364
3365    procedure Set_Debug_Statement
3366       (N : Node_Id; Val : Node_Id) is
3367    begin
3368       pragma Assert (False
3369         or else NT (N).Nkind = N_Pragma);
3370       Set_Node3_With_Parent (N, Val);
3371    end Set_Debug_Statement;
3372
3373    procedure Set_Declarations
3374       (N : Node_Id; Val : List_Id) is
3375    begin
3376       pragma Assert (False
3377         or else NT (N).Nkind = N_Accept_Statement
3378         or else NT (N).Nkind = N_Block_Statement
3379         or else NT (N).Nkind = N_Compilation_Unit_Aux
3380         or else NT (N).Nkind = N_Entry_Body
3381         or else NT (N).Nkind = N_Package_Body
3382         or else NT (N).Nkind = N_Protected_Body
3383         or else NT (N).Nkind = N_Subprogram_Body
3384         or else NT (N).Nkind = N_Task_Body);
3385       Set_List2_With_Parent (N, Val);
3386    end Set_Declarations;
3387
3388    procedure Set_Default_Expression
3389       (N : Node_Id; Val : Node_Id) is
3390    begin
3391       pragma Assert (False
3392         or else NT (N).Nkind = N_Formal_Object_Declaration
3393         or else NT (N).Nkind = N_Parameter_Specification);
3394       Set_Node5 (N, Val); -- semantic field, no parent set
3395    end Set_Default_Expression;
3396
3397    procedure Set_Default_Name
3398       (N : Node_Id; Val : Node_Id) is
3399    begin
3400       pragma Assert (False
3401         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
3402         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration);
3403       Set_Node2_With_Parent (N, Val);
3404    end Set_Default_Name;
3405
3406    procedure Set_Defining_Identifier
3407       (N : Node_Id; Val : Entity_Id) is
3408    begin
3409       pragma Assert (False
3410         or else NT (N).Nkind = N_Component_Declaration
3411         or else NT (N).Nkind = N_Defining_Program_Unit_Name
3412         or else NT (N).Nkind = N_Discriminant_Specification
3413         or else NT (N).Nkind = N_Entry_Body
3414         or else NT (N).Nkind = N_Entry_Declaration
3415         or else NT (N).Nkind = N_Entry_Index_Specification
3416         or else NT (N).Nkind = N_Exception_Declaration
3417         or else NT (N).Nkind = N_Exception_Renaming_Declaration
3418         or else NT (N).Nkind = N_Formal_Object_Declaration
3419         or else NT (N).Nkind = N_Formal_Package_Declaration
3420         or else NT (N).Nkind = N_Formal_Type_Declaration
3421         or else NT (N).Nkind = N_Full_Type_Declaration
3422         or else NT (N).Nkind = N_Implicit_Label_Declaration
3423         or else NT (N).Nkind = N_Incomplete_Type_Declaration
3424         or else NT (N).Nkind = N_Loop_Parameter_Specification
3425         or else NT (N).Nkind = N_Number_Declaration
3426         or else NT (N).Nkind = N_Object_Declaration
3427         or else NT (N).Nkind = N_Object_Renaming_Declaration
3428         or else NT (N).Nkind = N_Package_Body_Stub
3429         or else NT (N).Nkind = N_Parameter_Specification
3430         or else NT (N).Nkind = N_Private_Extension_Declaration
3431         or else NT (N).Nkind = N_Private_Type_Declaration
3432         or else NT (N).Nkind = N_Protected_Body
3433         or else NT (N).Nkind = N_Protected_Body_Stub
3434         or else NT (N).Nkind = N_Protected_Type_Declaration
3435         or else NT (N).Nkind = N_Single_Protected_Declaration
3436         or else NT (N).Nkind = N_Single_Task_Declaration
3437         or else NT (N).Nkind = N_Subtype_Declaration
3438         or else NT (N).Nkind = N_Task_Body
3439         or else NT (N).Nkind = N_Task_Body_Stub
3440         or else NT (N).Nkind = N_Task_Type_Declaration);
3441       Set_Node1_With_Parent (N, Val);
3442    end Set_Defining_Identifier;
3443
3444    procedure Set_Defining_Unit_Name
3445       (N : Node_Id; Val : Node_Id) is
3446    begin
3447       pragma Assert (False
3448         or else NT (N).Nkind = N_Function_Instantiation
3449         or else NT (N).Nkind = N_Function_Specification
3450         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
3451         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
3452         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
3453         or else NT (N).Nkind = N_Package_Body
3454         or else NT (N).Nkind = N_Package_Instantiation
3455         or else NT (N).Nkind = N_Package_Renaming_Declaration
3456         or else NT (N).Nkind = N_Package_Specification
3457         or else NT (N).Nkind = N_Procedure_Instantiation
3458         or else NT (N).Nkind = N_Procedure_Specification);
3459       Set_Node1_With_Parent (N, Val);
3460    end Set_Defining_Unit_Name;
3461
3462    procedure Set_Delay_Alternative
3463       (N : Node_Id; Val : Node_Id) is
3464    begin
3465       pragma Assert (False
3466         or else NT (N).Nkind = N_Timed_Entry_Call);
3467       Set_Node4_With_Parent (N, Val);
3468    end Set_Delay_Alternative;
3469
3470    procedure Set_Delay_Statement
3471       (N : Node_Id; Val : Node_Id) is
3472    begin
3473       pragma Assert (False
3474         or else NT (N).Nkind = N_Delay_Alternative);
3475       Set_Node2_With_Parent (N, Val);
3476    end Set_Delay_Statement;
3477
3478    procedure Set_Delta_Expression
3479       (N : Node_Id; Val : Node_Id) is
3480    begin
3481       pragma Assert (False
3482         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
3483         or else NT (N).Nkind = N_Delta_Constraint
3484         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
3485       Set_Node3_With_Parent (N, Val);
3486    end Set_Delta_Expression;
3487
3488    procedure Set_Digits_Expression
3489       (N : Node_Id; Val : Node_Id) is
3490    begin
3491       pragma Assert (False
3492         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
3493         or else NT (N).Nkind = N_Digits_Constraint
3494         or else NT (N).Nkind = N_Floating_Point_Definition);
3495       Set_Node2_With_Parent (N, Val);
3496    end Set_Digits_Expression;
3497
3498    procedure Set_Discr_Check_Funcs_Built
3499       (N : Node_Id; Val : Boolean := True) is
3500    begin
3501       pragma Assert (False
3502         or else NT (N).Nkind = N_Full_Type_Declaration);
3503       Set_Flag11 (N, Val);
3504    end Set_Discr_Check_Funcs_Built;
3505
3506    procedure Set_Discrete_Choices
3507       (N : Node_Id; Val : List_Id) is
3508    begin
3509       pragma Assert (False
3510         or else NT (N).Nkind = N_Case_Statement_Alternative
3511         or else NT (N).Nkind = N_Variant);
3512       Set_List4_With_Parent (N, Val);
3513    end Set_Discrete_Choices;
3514
3515    procedure Set_Discrete_Range
3516       (N : Node_Id; Val : Node_Id) is
3517    begin
3518       pragma Assert (False
3519         or else NT (N).Nkind = N_Slice);
3520       Set_Node4_With_Parent (N, Val);
3521    end Set_Discrete_Range;
3522
3523    procedure Set_Discrete_Subtype_Definition
3524       (N : Node_Id; Val : Node_Id) is
3525    begin
3526       pragma Assert (False
3527         or else NT (N).Nkind = N_Entry_Declaration
3528         or else NT (N).Nkind = N_Entry_Index_Specification
3529         or else NT (N).Nkind = N_Loop_Parameter_Specification);
3530       Set_Node4_With_Parent (N, Val);
3531    end Set_Discrete_Subtype_Definition;
3532
3533    procedure Set_Discrete_Subtype_Definitions
3534       (N : Node_Id; Val : List_Id) is
3535    begin
3536       pragma Assert (False
3537         or else NT (N).Nkind = N_Constrained_Array_Definition);
3538       Set_List2_With_Parent (N, Val);
3539    end Set_Discrete_Subtype_Definitions;
3540
3541    procedure Set_Discriminant_Specifications
3542       (N : Node_Id; Val : List_Id) is
3543    begin
3544       pragma Assert (False
3545         or else NT (N).Nkind = N_Formal_Type_Declaration
3546         or else NT (N).Nkind = N_Full_Type_Declaration
3547         or else NT (N).Nkind = N_Incomplete_Type_Declaration
3548         or else NT (N).Nkind = N_Private_Extension_Declaration
3549         or else NT (N).Nkind = N_Private_Type_Declaration
3550         or else NT (N).Nkind = N_Protected_Type_Declaration
3551         or else NT (N).Nkind = N_Task_Type_Declaration);
3552       Set_List4_With_Parent (N, Val);
3553    end Set_Discriminant_Specifications;
3554
3555    procedure Set_Discriminant_Type
3556       (N : Node_Id; Val : Node_Id) is
3557    begin
3558       pragma Assert (False
3559         or else NT (N).Nkind = N_Discriminant_Specification);
3560       Set_Node5_With_Parent (N, Val);
3561    end Set_Discriminant_Type;
3562
3563    procedure Set_Do_Accessibility_Check
3564       (N : Node_Id; Val : Boolean := True) is
3565    begin
3566       pragma Assert (False
3567         or else NT (N).Nkind = N_Parameter_Specification);
3568       Set_Flag13 (N, Val);
3569    end Set_Do_Accessibility_Check;
3570
3571    procedure Set_Do_Discriminant_Check
3572       (N : Node_Id; Val : Boolean := True) is
3573    begin
3574       pragma Assert (False
3575         or else NT (N).Nkind = N_Selected_Component);
3576       Set_Flag13 (N, Val);
3577    end Set_Do_Discriminant_Check;
3578
3579    procedure Set_Do_Division_Check
3580       (N : Node_Id; Val : Boolean := True) is
3581    begin
3582       pragma Assert (False
3583         or else NT (N).Nkind = N_Op_Divide
3584         or else NT (N).Nkind = N_Op_Mod
3585         or else NT (N).Nkind = N_Op_Rem);
3586       Set_Flag13 (N, Val);
3587    end Set_Do_Division_Check;
3588
3589    procedure Set_Do_Length_Check
3590       (N : Node_Id; Val : Boolean := True) is
3591    begin
3592       pragma Assert (False
3593         or else NT (N).Nkind = N_Assignment_Statement
3594         or else NT (N).Nkind = N_Op_And
3595         or else NT (N).Nkind = N_Op_Or
3596         or else NT (N).Nkind = N_Op_Xor
3597         or else NT (N).Nkind = N_Type_Conversion);
3598       Set_Flag4 (N, Val);
3599    end Set_Do_Length_Check;
3600
3601    procedure Set_Do_Overflow_Check
3602       (N : Node_Id; Val : Boolean := True) is
3603    begin
3604       pragma Assert (False
3605         or else NT (N).Nkind in N_Op
3606         or else NT (N).Nkind = N_Attribute_Reference
3607         or else NT (N).Nkind = N_Type_Conversion);
3608       Set_Flag17 (N, Val);
3609    end Set_Do_Overflow_Check;
3610
3611    procedure Set_Do_Range_Check
3612       (N : Node_Id; Val : Boolean := True) is
3613    begin
3614       pragma Assert (False
3615         or else NT (N).Nkind in N_Subexpr);
3616       Set_Flag9 (N, Val);
3617    end Set_Do_Range_Check;
3618
3619    procedure Set_Do_Storage_Check
3620       (N : Node_Id; Val : Boolean := True) is
3621    begin
3622       pragma Assert (False
3623         or else NT (N).Nkind = N_Allocator
3624         or else NT (N).Nkind = N_Subprogram_Body);
3625       Set_Flag17 (N, Val);
3626    end Set_Do_Storage_Check;
3627
3628    procedure Set_Do_Tag_Check
3629       (N : Node_Id; Val : Boolean := True) is
3630    begin
3631       pragma Assert (False
3632         or else NT (N).Nkind = N_Assignment_Statement
3633         or else NT (N).Nkind = N_Extended_Return_Statement
3634         or else NT (N).Nkind = N_Function_Call
3635         or else NT (N).Nkind = N_Procedure_Call_Statement
3636         or else NT (N).Nkind = N_Return_Statement
3637         or else NT (N).Nkind = N_Type_Conversion);
3638       Set_Flag13 (N, Val);
3639    end Set_Do_Tag_Check;
3640
3641    procedure Set_Elaborate_All_Desirable
3642       (N : Node_Id; Val : Boolean := True) is
3643    begin
3644       pragma Assert (False
3645         or else NT (N).Nkind = N_With_Clause);
3646       Set_Flag9 (N, Val);
3647    end Set_Elaborate_All_Desirable;
3648
3649    procedure Set_Elaborate_All_Present
3650       (N : Node_Id; Val : Boolean := True) is
3651    begin
3652       pragma Assert (False
3653         or else NT (N).Nkind = N_With_Clause);
3654       Set_Flag14 (N, Val);
3655    end Set_Elaborate_All_Present;
3656
3657    procedure Set_Elaborate_Desirable
3658       (N : Node_Id; Val : Boolean := True) is
3659    begin
3660       pragma Assert (False
3661         or else NT (N).Nkind = N_With_Clause);
3662       Set_Flag11 (N, Val);
3663    end Set_Elaborate_Desirable;
3664
3665    procedure Set_Elaborate_Present
3666       (N : Node_Id; Val : Boolean := True) is
3667    begin
3668       pragma Assert (False
3669         or else NT (N).Nkind = N_With_Clause);
3670       Set_Flag4 (N, Val);
3671    end Set_Elaborate_Present;
3672
3673    procedure Set_Elaboration_Boolean
3674       (N : Node_Id; Val : Node_Id) is
3675    begin
3676       pragma Assert (False
3677         or else NT (N).Nkind = N_Function_Specification
3678         or else NT (N).Nkind = N_Procedure_Specification);
3679       Set_Node2 (N, Val);
3680    end Set_Elaboration_Boolean;
3681
3682    procedure Set_Else_Actions
3683       (N : Node_Id; Val : List_Id) is
3684    begin
3685       pragma Assert (False
3686         or else NT (N).Nkind = N_Conditional_Expression);
3687       Set_List3 (N, Val); -- semantic field, no parent set
3688    end Set_Else_Actions;
3689
3690    procedure Set_Else_Statements
3691       (N : Node_Id; Val : List_Id) is
3692    begin
3693       pragma Assert (False
3694         or else NT (N).Nkind = N_Conditional_Entry_Call
3695         or else NT (N).Nkind = N_If_Statement
3696         or else NT (N).Nkind = N_Selective_Accept);
3697       Set_List4_With_Parent (N, Val);
3698    end Set_Else_Statements;
3699
3700    procedure Set_Elsif_Parts
3701       (N : Node_Id; Val : List_Id) is
3702    begin
3703       pragma Assert (False
3704         or else NT (N).Nkind = N_If_Statement);
3705       Set_List3_With_Parent (N, Val);
3706    end Set_Elsif_Parts;
3707
3708    procedure Set_Enclosing_Variant
3709       (N : Node_Id; Val : Node_Id) is
3710    begin
3711       pragma Assert (False
3712         or else NT (N).Nkind = N_Variant);
3713       Set_Node2 (N, Val); -- semantic field, no parent set
3714    end Set_Enclosing_Variant;
3715
3716    procedure Set_End_Label
3717       (N : Node_Id; Val : Node_Id) is
3718    begin
3719       pragma Assert (False
3720         or else NT (N).Nkind = N_Enumeration_Type_Definition
3721         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
3722         or else NT (N).Nkind = N_Loop_Statement
3723         or else NT (N).Nkind = N_Package_Specification
3724         or else NT (N).Nkind = N_Protected_Body
3725         or else NT (N).Nkind = N_Protected_Definition
3726         or else NT (N).Nkind = N_Record_Definition
3727         or else NT (N).Nkind = N_Task_Definition);
3728       Set_Node4_With_Parent (N, Val);
3729    end Set_End_Label;
3730
3731    procedure Set_End_Span
3732       (N : Node_Id; Val : Uint) is
3733    begin
3734       pragma Assert (False
3735         or else NT (N).Nkind = N_Case_Statement
3736         or else NT (N).Nkind = N_If_Statement);
3737       Set_Uint5 (N, Val);
3738    end Set_End_Span;
3739
3740    procedure Set_Entity
3741       (N : Node_Id; Val : Node_Id) is
3742    begin
3743       pragma Assert (False
3744         or else NT (N).Nkind in N_Has_Entity
3745         or else NT (N).Nkind = N_Freeze_Entity
3746         or else NT (N).Nkind = N_Attribute_Definition_Clause);
3747       Set_Node4 (N, Val); -- semantic field, no parent set
3748    end Set_Entity;
3749
3750    procedure Set_Entry_Body_Formal_Part
3751       (N : Node_Id; Val : Node_Id) is
3752    begin
3753       pragma Assert (False
3754         or else NT (N).Nkind = N_Entry_Body);
3755       Set_Node5_With_Parent (N, Val);
3756    end Set_Entry_Body_Formal_Part;
3757
3758    procedure Set_Entry_Call_Alternative
3759       (N : Node_Id; Val : Node_Id) is
3760    begin
3761       pragma Assert (False
3762         or else NT (N).Nkind = N_Conditional_Entry_Call
3763         or else NT (N).Nkind = N_Timed_Entry_Call);
3764       Set_Node1_With_Parent (N, Val);
3765    end Set_Entry_Call_Alternative;
3766
3767    procedure Set_Entry_Call_Statement
3768       (N : Node_Id; Val : Node_Id) is
3769    begin
3770       pragma Assert (False
3771         or else NT (N).Nkind = N_Entry_Call_Alternative);
3772       Set_Node1_With_Parent (N, Val);
3773    end Set_Entry_Call_Statement;
3774
3775    procedure Set_Entry_Direct_Name
3776       (N : Node_Id; Val : Node_Id) is
3777    begin
3778       pragma Assert (False
3779         or else NT (N).Nkind = N_Accept_Statement);
3780       Set_Node1_With_Parent (N, Val);
3781    end Set_Entry_Direct_Name;
3782
3783    procedure Set_Entry_Index
3784       (N : Node_Id; Val : Node_Id) is
3785    begin
3786       pragma Assert (False
3787         or else NT (N).Nkind = N_Accept_Statement);
3788       Set_Node5_With_Parent (N, Val);
3789    end Set_Entry_Index;
3790
3791    procedure Set_Entry_Index_Specification
3792       (N : Node_Id; Val : Node_Id) is
3793    begin
3794       pragma Assert (False
3795         or else NT (N).Nkind = N_Entry_Body_Formal_Part);
3796       Set_Node4_With_Parent (N, Val);
3797    end Set_Entry_Index_Specification;
3798
3799    procedure Set_Etype
3800       (N : Node_Id; Val : Node_Id) is
3801    begin
3802       pragma Assert (False
3803         or else NT (N).Nkind in N_Has_Etype);
3804       Set_Node5 (N, Val); -- semantic field, no parent set
3805    end Set_Etype;
3806
3807    procedure Set_Exception_Choices
3808       (N : Node_Id; Val : List_Id) is
3809    begin
3810       pragma Assert (False
3811         or else NT (N).Nkind = N_Exception_Handler);
3812       Set_List4_With_Parent (N, Val);
3813    end Set_Exception_Choices;
3814
3815    procedure Set_Exception_Handlers
3816       (N : Node_Id; Val : List_Id) is
3817    begin
3818       pragma Assert (False
3819         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3820       Set_List5_With_Parent (N, Val);
3821    end Set_Exception_Handlers;
3822
3823    procedure Set_Exception_Junk
3824      (N : Node_Id; Val : Boolean := True) is
3825    begin
3826       pragma Assert (False
3827         or else NT (N).Nkind = N_Block_Statement
3828         or else NT (N).Nkind = N_Goto_Statement
3829         or else NT (N).Nkind = N_Label
3830         or else NT (N).Nkind = N_Object_Declaration
3831         or else NT (N).Nkind = N_Subtype_Declaration);
3832       Set_Flag8 (N, Val);
3833    end Set_Exception_Junk;
3834
3835    procedure Set_Exception_Label
3836      (N : Node_Id; Val : Node_Id) is
3837    begin
3838       pragma Assert (False
3839         or else NT (N).Nkind = N_Exception_Handler
3840         or else NT (N).Nkind = N_Push_Constraint_Error_Label
3841         or else NT (N).Nkind = N_Push_Program_Error_Label
3842         or else NT (N).Nkind = N_Push_Storage_Error_Label);
3843       Set_Node5 (N, Val); -- semantic field, no parent set
3844    end Set_Exception_Label;
3845
3846    procedure Set_Expansion_Delayed
3847      (N : Node_Id; Val : Boolean := True) is
3848    begin
3849       pragma Assert (False
3850         or else NT (N).Nkind = N_Aggregate
3851         or else NT (N).Nkind = N_Extension_Aggregate);
3852       Set_Flag11 (N, Val);
3853    end Set_Expansion_Delayed;
3854
3855    procedure Set_Explicit_Actual_Parameter
3856       (N : Node_Id; Val : Node_Id) is
3857    begin
3858       pragma Assert (False
3859         or else NT (N).Nkind = N_Parameter_Association);
3860       Set_Node3_With_Parent (N, Val);
3861    end Set_Explicit_Actual_Parameter;
3862
3863    procedure Set_Explicit_Generic_Actual_Parameter
3864       (N : Node_Id; Val : Node_Id) is
3865    begin
3866       pragma Assert (False
3867         or else NT (N).Nkind = N_Generic_Association);
3868       Set_Node1_With_Parent (N, Val);
3869    end Set_Explicit_Generic_Actual_Parameter;
3870
3871    procedure Set_Expression
3872       (N : Node_Id; Val : Node_Id) is
3873    begin
3874       pragma Assert (False
3875         or else NT (N).Nkind = N_Allocator
3876         or else NT (N).Nkind = N_Assignment_Statement
3877         or else NT (N).Nkind = N_At_Clause
3878         or else NT (N).Nkind = N_Attribute_Definition_Clause
3879         or else NT (N).Nkind = N_Case_Statement
3880         or else NT (N).Nkind = N_Code_Statement
3881         or else NT (N).Nkind = N_Component_Association
3882         or else NT (N).Nkind = N_Component_Declaration
3883         or else NT (N).Nkind = N_Delay_Relative_Statement
3884         or else NT (N).Nkind = N_Delay_Until_Statement
3885         or else NT (N).Nkind = N_Discriminant_Association
3886         or else NT (N).Nkind = N_Discriminant_Specification
3887         or else NT (N).Nkind = N_Exception_Declaration
3888         or else NT (N).Nkind = N_Free_Statement
3889         or else NT (N).Nkind = N_Mod_Clause
3890         or else NT (N).Nkind = N_Modular_Type_Definition
3891         or else NT (N).Nkind = N_Number_Declaration
3892         or else NT (N).Nkind = N_Object_Declaration
3893         or else NT (N).Nkind = N_Parameter_Specification
3894         or else NT (N).Nkind = N_Pragma_Argument_Association
3895         or else NT (N).Nkind = N_Qualified_Expression
3896         or else NT (N).Nkind = N_Raise_Statement
3897         or else NT (N).Nkind = N_Return_Statement
3898         or else NT (N).Nkind = N_Type_Conversion
3899         or else NT (N).Nkind = N_Unchecked_Expression
3900         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
3901       Set_Node3_With_Parent (N, Val);
3902    end Set_Expression;
3903
3904    procedure Set_Expressions
3905       (N : Node_Id; Val : List_Id) is
3906    begin
3907       pragma Assert (False
3908         or else NT (N).Nkind = N_Aggregate
3909         or else NT (N).Nkind = N_Attribute_Reference
3910         or else NT (N).Nkind = N_Conditional_Expression
3911         or else NT (N).Nkind = N_Extension_Aggregate
3912         or else NT (N).Nkind = N_Indexed_Component);
3913       Set_List1_With_Parent (N, Val);
3914    end Set_Expressions;
3915
3916    procedure Set_First_Bit
3917       (N : Node_Id; Val : Node_Id) is
3918    begin
3919       pragma Assert (False
3920         or else NT (N).Nkind = N_Component_Clause);
3921       Set_Node3_With_Parent (N, Val);
3922    end Set_First_Bit;
3923
3924    procedure Set_First_Inlined_Subprogram
3925       (N : Node_Id; Val : Entity_Id) is
3926    begin
3927       pragma Assert (False
3928         or else NT (N).Nkind = N_Compilation_Unit);
3929       Set_Node3 (N, Val);  -- semantic field, no parent set
3930    end Set_First_Inlined_Subprogram;
3931
3932    procedure Set_First_Name
3933       (N : Node_Id; Val : Boolean := True) is
3934    begin
3935       pragma Assert (False
3936         or else NT (N).Nkind = N_With_Clause);
3937       Set_Flag5 (N, Val);
3938    end Set_First_Name;
3939
3940    procedure Set_First_Named_Actual
3941       (N : Node_Id; Val : Node_Id) is
3942    begin
3943       pragma Assert (False
3944         or else NT (N).Nkind = N_Entry_Call_Statement
3945         or else NT (N).Nkind = N_Function_Call
3946         or else NT (N).Nkind = N_Procedure_Call_Statement);
3947       Set_Node4 (N, Val); -- semantic field, no parent set
3948    end Set_First_Named_Actual;
3949
3950    procedure Set_First_Real_Statement
3951       (N : Node_Id; Val : Node_Id) is
3952    begin
3953       pragma Assert (False
3954         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3955       Set_Node2 (N, Val); -- semantic field, no parent set
3956    end Set_First_Real_Statement;
3957
3958    procedure Set_First_Subtype_Link
3959       (N : Node_Id; Val : Entity_Id) is
3960    begin
3961       pragma Assert (False
3962         or else NT (N).Nkind = N_Freeze_Entity);
3963       Set_Node5 (N, Val); -- semantic field, no parent set
3964    end Set_First_Subtype_Link;
3965
3966    procedure Set_Float_Truncate
3967       (N : Node_Id; Val : Boolean := True) is
3968    begin
3969       pragma Assert (False
3970         or else NT (N).Nkind = N_Type_Conversion);
3971       Set_Flag11 (N, Val);
3972    end Set_Float_Truncate;
3973
3974    procedure Set_Formal_Type_Definition
3975       (N : Node_Id; Val : Node_Id) is
3976    begin
3977       pragma Assert (False
3978         or else NT (N).Nkind = N_Formal_Type_Declaration);
3979       Set_Node3_With_Parent (N, Val);
3980    end Set_Formal_Type_Definition;
3981
3982    procedure Set_Forwards_OK
3983       (N : Node_Id; Val : Boolean := True) is
3984    begin
3985       pragma Assert (False
3986         or else NT (N).Nkind = N_Assignment_Statement);
3987       Set_Flag5 (N, Val);
3988    end Set_Forwards_OK;
3989
3990    procedure Set_From_At_Mod
3991       (N : Node_Id; Val : Boolean := True) is
3992    begin
3993       pragma Assert (False
3994         or else NT (N).Nkind = N_Attribute_Definition_Clause);
3995       Set_Flag4 (N, Val);
3996    end Set_From_At_Mod;
3997
3998    procedure Set_From_Default
3999       (N : Node_Id; Val : Boolean := True) is
4000    begin
4001       pragma Assert (False
4002         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4003       Set_Flag6 (N, Val);
4004    end Set_From_Default;
4005
4006    procedure Set_Generic_Associations
4007       (N : Node_Id; Val : List_Id) is
4008    begin
4009       pragma Assert (False
4010         or else NT (N).Nkind = N_Formal_Package_Declaration
4011         or else NT (N).Nkind = N_Function_Instantiation
4012         or else NT (N).Nkind = N_Package_Instantiation
4013         or else NT (N).Nkind = N_Procedure_Instantiation);
4014       Set_List3_With_Parent (N, Val);
4015    end Set_Generic_Associations;
4016
4017    procedure Set_Generic_Formal_Declarations
4018       (N : Node_Id; Val : List_Id) is
4019    begin
4020       pragma Assert (False
4021         or else NT (N).Nkind = N_Generic_Package_Declaration
4022         or else NT (N).Nkind = N_Generic_Subprogram_Declaration);
4023       Set_List2_With_Parent (N, Val);
4024    end Set_Generic_Formal_Declarations;
4025
4026    procedure Set_Generic_Parent
4027       (N : Node_Id; Val : Node_Id) is
4028    begin
4029       pragma Assert (False
4030         or else NT (N).Nkind = N_Function_Specification
4031         or else NT (N).Nkind = N_Package_Specification
4032         or else NT (N).Nkind = N_Procedure_Specification);
4033       Set_Node5 (N, Val);
4034    end Set_Generic_Parent;
4035
4036    procedure Set_Generic_Parent_Type
4037       (N : Node_Id; Val : Node_Id) is
4038    begin
4039       pragma Assert (False
4040         or else NT (N).Nkind = N_Subtype_Declaration);
4041       Set_Node4 (N, Val);
4042    end Set_Generic_Parent_Type;
4043
4044    procedure Set_Handled_Statement_Sequence
4045       (N : Node_Id; Val : Node_Id) is
4046    begin
4047       pragma Assert (False
4048         or else NT (N).Nkind = N_Accept_Statement
4049         or else NT (N).Nkind = N_Block_Statement
4050         or else NT (N).Nkind = N_Entry_Body
4051         or else NT (N).Nkind = N_Extended_Return_Statement
4052         or else NT (N).Nkind = N_Package_Body
4053         or else NT (N).Nkind = N_Subprogram_Body
4054         or else NT (N).Nkind = N_Task_Body);
4055       Set_Node4_With_Parent (N, Val);
4056    end Set_Handled_Statement_Sequence;
4057
4058    procedure Set_Handler_List_Entry
4059       (N : Node_Id; Val : Node_Id) is
4060    begin
4061       pragma Assert (False
4062         or else NT (N).Nkind = N_Object_Declaration);
4063       Set_Node2 (N, Val);
4064    end Set_Handler_List_Entry;
4065
4066    procedure Set_Has_Created_Identifier
4067       (N : Node_Id; Val : Boolean := True) is
4068    begin
4069       pragma Assert (False
4070         or else NT (N).Nkind = N_Block_Statement
4071         or else NT (N).Nkind = N_Loop_Statement);
4072       Set_Flag15 (N, Val);
4073    end Set_Has_Created_Identifier;
4074
4075    procedure Set_Has_Dynamic_Length_Check
4076       (N : Node_Id; Val : Boolean := True) is
4077    begin
4078       Set_Flag10 (N, Val);
4079    end Set_Has_Dynamic_Length_Check;
4080
4081    procedure Set_Has_Dynamic_Range_Check
4082       (N : Node_Id; Val : Boolean := True) is
4083    begin
4084       Set_Flag12 (N, Val);
4085    end Set_Has_Dynamic_Range_Check;
4086
4087    procedure Set_Has_Init_Expression
4088       (N : Node_Id; Val : Boolean := True) is
4089    begin
4090       pragma Assert (False
4091         or else NT (N).Nkind = N_Object_Declaration);
4092       Set_Flag14 (N, Val);
4093    end Set_Has_Init_Expression;
4094
4095    procedure Set_Has_Local_Raise
4096       (N : Node_Id; Val : Boolean := True) is
4097    begin
4098       pragma Assert (False
4099         or else NT (N).Nkind = N_Exception_Handler);
4100       Set_Flag8 (N, Val);
4101    end Set_Has_Local_Raise;
4102
4103    procedure Set_Has_No_Elaboration_Code
4104       (N : Node_Id; Val : Boolean := True) is
4105    begin
4106       pragma Assert (False
4107         or else NT (N).Nkind = N_Compilation_Unit);
4108       Set_Flag17 (N, Val);
4109    end Set_Has_No_Elaboration_Code;
4110
4111    procedure Set_Has_Priority_Pragma
4112       (N : Node_Id; Val : Boolean := True) is
4113    begin
4114       pragma Assert (False
4115         or else NT (N).Nkind = N_Protected_Definition
4116         or else NT (N).Nkind = N_Subprogram_Body
4117         or else NT (N).Nkind = N_Task_Definition);
4118       Set_Flag6 (N, Val);
4119    end Set_Has_Priority_Pragma;
4120
4121    procedure Set_Has_Private_View
4122       (N : Node_Id; Val : Boolean := True) is
4123    begin
4124       pragma Assert (False
4125        or else NT (N).Nkind in N_Op
4126        or else NT (N).Nkind = N_Character_Literal
4127        or else NT (N).Nkind = N_Expanded_Name
4128        or else NT (N).Nkind = N_Identifier
4129        or else NT (N).Nkind = N_Operator_Symbol);
4130       Set_Flag11 (N, Val);
4131    end Set_Has_Private_View;
4132
4133    procedure Set_Has_Self_Reference
4134       (N : Node_Id; Val : Boolean := True) is
4135    begin
4136       pragma Assert (False
4137         or else NT (N).Nkind = N_Aggregate
4138         or else NT (N).Nkind = N_Extension_Aggregate);
4139       Set_Flag13 (N, Val);
4140    end Set_Has_Self_Reference;
4141
4142    procedure Set_Has_Storage_Size_Pragma
4143       (N : Node_Id; Val : Boolean := True) is
4144    begin
4145       pragma Assert (False
4146         or else NT (N).Nkind = N_Task_Definition);
4147       Set_Flag5 (N, Val);
4148    end Set_Has_Storage_Size_Pragma;
4149
4150    procedure Set_Has_Task_Info_Pragma
4151       (N : Node_Id; Val : Boolean := True) is
4152    begin
4153       pragma Assert (False
4154         or else NT (N).Nkind = N_Task_Definition);
4155       Set_Flag7 (N, Val);
4156    end Set_Has_Task_Info_Pragma;
4157
4158    procedure Set_Has_Task_Name_Pragma
4159       (N : Node_Id; Val : Boolean := True) is
4160    begin
4161       pragma Assert (False
4162         or else NT (N).Nkind = N_Task_Definition);
4163       Set_Flag8 (N, Val);
4164    end Set_Has_Task_Name_Pragma;
4165
4166    procedure Set_Has_Wide_Character
4167       (N : Node_Id; Val : Boolean := True) is
4168    begin
4169       pragma Assert (False
4170         or else NT (N).Nkind = N_String_Literal);
4171       Set_Flag11 (N, Val);
4172    end Set_Has_Wide_Character;
4173
4174    procedure Set_Hidden_By_Use_Clause
4175      (N : Node_Id; Val : Elist_Id) is
4176    begin
4177       pragma Assert (False
4178         or else NT (N).Nkind = N_Use_Package_Clause
4179         or else NT (N).Nkind = N_Use_Type_Clause);
4180       Set_Elist4 (N, Val);
4181    end Set_Hidden_By_Use_Clause;
4182
4183    procedure Set_High_Bound
4184       (N : Node_Id; Val : Node_Id) is
4185    begin
4186       pragma Assert (False
4187         or else NT (N).Nkind = N_Range
4188         or else NT (N).Nkind = N_Real_Range_Specification
4189         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
4190       Set_Node2_With_Parent (N, Val);
4191    end Set_High_Bound;
4192
4193    procedure Set_Identifier
4194       (N : Node_Id; Val : Node_Id) is
4195    begin
4196       pragma Assert (False
4197         or else NT (N).Nkind = N_At_Clause
4198         or else NT (N).Nkind = N_Block_Statement
4199         or else NT (N).Nkind = N_Designator
4200         or else NT (N).Nkind = N_Enumeration_Representation_Clause
4201         or else NT (N).Nkind = N_Label
4202         or else NT (N).Nkind = N_Loop_Statement
4203         or else NT (N).Nkind = N_Record_Representation_Clause
4204         or else NT (N).Nkind = N_Subprogram_Info);
4205       Set_Node1_With_Parent (N, Val);
4206    end Set_Identifier;
4207
4208    procedure Set_Implicit_With
4209       (N : Node_Id; Val : Boolean := True) is
4210    begin
4211       pragma Assert (False
4212         or else NT (N).Nkind = N_With_Clause);
4213       Set_Flag16 (N, Val);
4214    end Set_Implicit_With;
4215
4216    procedure Set_Interface_List
4217       (N : Node_Id; Val : List_Id) is
4218    begin
4219       pragma Assert (False
4220         or else NT (N).Nkind = N_Derived_Type_Definition
4221         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
4222         or else NT (N).Nkind = N_Private_Extension_Declaration
4223         or else NT (N).Nkind = N_Protected_Type_Declaration
4224         or else NT (N).Nkind = N_Record_Definition
4225         or else NT (N).Nkind = N_Single_Protected_Declaration
4226         or else NT (N).Nkind = N_Single_Task_Declaration
4227         or else NT (N).Nkind = N_Task_Type_Declaration);
4228       Set_List2_With_Parent (N, Val);
4229    end Set_Interface_List;
4230
4231    procedure Set_Interface_Present
4232       (N : Node_Id; Val : Boolean := True) is
4233    begin
4234       pragma Assert (False
4235         or else NT (N).Nkind = N_Derived_Type_Definition
4236         or else NT (N).Nkind = N_Record_Definition);
4237       Set_Flag16 (N, Val);
4238    end Set_Interface_Present;
4239
4240    procedure Set_In_Present
4241       (N : Node_Id; Val : Boolean := True) is
4242    begin
4243       pragma Assert (False
4244         or else NT (N).Nkind = N_Formal_Object_Declaration
4245         or else NT (N).Nkind = N_Parameter_Specification);
4246       Set_Flag15 (N, Val);
4247    end Set_In_Present;
4248
4249    procedure Set_Includes_Infinities
4250       (N : Node_Id; Val : Boolean := True) is
4251    begin
4252       pragma Assert (False
4253         or else NT (N).Nkind = N_Range);
4254       Set_Flag11 (N, Val);
4255    end Set_Includes_Infinities;
4256
4257    procedure Set_Instance_Spec
4258       (N : Node_Id; Val : Node_Id) is
4259    begin
4260       pragma Assert (False
4261         or else NT (N).Nkind = N_Formal_Package_Declaration
4262         or else NT (N).Nkind = N_Function_Instantiation
4263         or else NT (N).Nkind = N_Package_Instantiation
4264         or else NT (N).Nkind = N_Procedure_Instantiation);
4265       Set_Node5 (N, Val); -- semantic field, no Parent set
4266    end Set_Instance_Spec;
4267
4268    procedure Set_Intval
4269       (N : Node_Id; Val : Uint) is
4270    begin
4271       pragma Assert (False
4272         or else NT (N).Nkind = N_Integer_Literal);
4273       Set_Uint3 (N, Val);
4274    end Set_Intval;
4275
4276    procedure Set_Is_Asynchronous_Call_Block
4277       (N : Node_Id; Val : Boolean := True) is
4278    begin
4279       pragma Assert (False
4280         or else NT (N).Nkind = N_Block_Statement);
4281       Set_Flag7 (N, Val);
4282    end Set_Is_Asynchronous_Call_Block;
4283
4284    procedure Set_Is_Component_Left_Opnd
4285       (N : Node_Id; Val : Boolean := True) is
4286    begin
4287       pragma Assert (False
4288         or else NT (N).Nkind = N_Op_Concat);
4289       Set_Flag13 (N, Val);
4290    end Set_Is_Component_Left_Opnd;
4291
4292    procedure Set_Is_Component_Right_Opnd
4293       (N : Node_Id; Val : Boolean := True) is
4294    begin
4295       pragma Assert (False
4296         or else NT (N).Nkind = N_Op_Concat);
4297       Set_Flag14 (N, Val);
4298    end Set_Is_Component_Right_Opnd;
4299
4300    procedure Set_Is_Controlling_Actual
4301       (N : Node_Id; Val : Boolean := True) is
4302    begin
4303       pragma Assert (False
4304         or else NT (N).Nkind in N_Subexpr);
4305       Set_Flag16 (N, Val);
4306    end Set_Is_Controlling_Actual;
4307
4308    procedure Set_Is_Dynamic_Coextension
4309       (N : Node_Id; Val : Boolean := True) is
4310    begin
4311       pragma Assert (False
4312         or else NT (N).Nkind = N_Allocator);
4313       Set_Flag18 (N, Val);
4314    end Set_Is_Dynamic_Coextension;
4315
4316    procedure Set_Is_Entry_Barrier_Function
4317       (N : Node_Id; Val : Boolean := True) is
4318    begin
4319       pragma Assert (False
4320         or else NT (N).Nkind = N_Subprogram_Body);
4321       Set_Flag8 (N, Val);
4322    end Set_Is_Entry_Barrier_Function;
4323
4324    procedure Set_Is_Expanded_Build_In_Place_Call
4325       (N : Node_Id; Val : Boolean := True) is
4326    begin
4327       pragma Assert (False
4328         or else NT (N).Nkind = N_Function_Call);
4329       Set_Flag11 (N, Val);
4330    end Set_Is_Expanded_Build_In_Place_Call;
4331
4332    procedure Set_Is_Folded_In_Parser
4333       (N : Node_Id; Val : Boolean := True) is
4334    begin
4335       pragma Assert (False
4336         or else NT (N).Nkind = N_String_Literal);
4337       Set_Flag4 (N, Val);
4338    end Set_Is_Folded_In_Parser;
4339
4340    procedure Set_Is_In_Discriminant_Check
4341       (N : Node_Id; Val : Boolean := True) is
4342    begin
4343       pragma Assert (False
4344         or else NT (N).Nkind = N_Selected_Component);
4345       Set_Flag11 (N, Val);
4346    end Set_Is_In_Discriminant_Check;
4347
4348    procedure Set_Is_Machine_Number
4349       (N : Node_Id; Val : Boolean := True) is
4350    begin
4351       pragma Assert (False
4352         or else NT (N).Nkind = N_Real_Literal);
4353       Set_Flag11 (N, Val);
4354    end Set_Is_Machine_Number;
4355
4356    procedure Set_Is_Null_Loop
4357       (N : Node_Id; Val : Boolean := True) is
4358    begin
4359       pragma Assert (False
4360         or else NT (N).Nkind = N_Loop_Statement);
4361       Set_Flag16 (N, Val);
4362    end Set_Is_Null_Loop;
4363
4364    procedure Set_Is_Overloaded
4365       (N : Node_Id; Val : Boolean := True) is
4366    begin
4367       pragma Assert (False
4368         or else NT (N).Nkind in N_Subexpr);
4369       Set_Flag5 (N, Val);
4370    end Set_Is_Overloaded;
4371
4372    procedure Set_Is_Power_Of_2_For_Shift
4373       (N : Node_Id; Val : Boolean := True) is
4374    begin
4375       pragma Assert (False
4376         or else NT (N).Nkind = N_Op_Expon);
4377       Set_Flag13 (N, Val);
4378    end Set_Is_Power_Of_2_For_Shift;
4379
4380    procedure Set_Is_Protected_Subprogram_Body
4381       (N : Node_Id; Val : Boolean := True) is
4382    begin
4383       pragma Assert (False
4384         or else NT (N).Nkind = N_Subprogram_Body);
4385       Set_Flag7 (N, Val);
4386    end Set_Is_Protected_Subprogram_Body;
4387
4388    procedure Set_Is_Static_Coextension
4389       (N : Node_Id; Val : Boolean := True) is
4390    begin
4391       pragma Assert (False
4392         or else NT (N).Nkind = N_Allocator);
4393       Set_Flag14 (N, Val);
4394    end Set_Is_Static_Coextension;
4395
4396    procedure Set_Is_Static_Expression
4397       (N : Node_Id; Val : Boolean := True) is
4398    begin
4399       pragma Assert (False
4400         or else NT (N).Nkind in N_Subexpr);
4401       Set_Flag6 (N, Val);
4402    end Set_Is_Static_Expression;
4403
4404    procedure Set_Is_Subprogram_Descriptor
4405       (N : Node_Id; Val : Boolean := True) is
4406    begin
4407       pragma Assert (False
4408         or else NT (N).Nkind = N_Object_Declaration);
4409       Set_Flag16 (N, Val);
4410    end Set_Is_Subprogram_Descriptor;
4411
4412    procedure Set_Is_Task_Allocation_Block
4413       (N : Node_Id; Val : Boolean := True) is
4414    begin
4415       pragma Assert (False
4416         or else NT (N).Nkind = N_Block_Statement);
4417       Set_Flag6 (N, Val);
4418    end Set_Is_Task_Allocation_Block;
4419
4420    procedure Set_Is_Task_Master
4421       (N : Node_Id; Val : Boolean := True) is
4422    begin
4423       pragma Assert (False
4424         or else NT (N).Nkind = N_Block_Statement
4425         or else NT (N).Nkind = N_Subprogram_Body
4426         or else NT (N).Nkind = N_Task_Body);
4427       Set_Flag5 (N, Val);
4428    end Set_Is_Task_Master;
4429
4430    procedure Set_Iteration_Scheme
4431       (N : Node_Id; Val : Node_Id) is
4432    begin
4433       pragma Assert (False
4434         or else NT (N).Nkind = N_Loop_Statement);
4435       Set_Node2_With_Parent (N, Val);
4436    end Set_Iteration_Scheme;
4437
4438    procedure Set_Itype
4439       (N : Node_Id; Val : Entity_Id) is
4440    begin
4441       pragma Assert (False
4442       or else NT (N).Nkind = N_Itype_Reference);
4443       Set_Node1 (N, Val); -- no parent, semantic field
4444    end Set_Itype;
4445
4446    procedure Set_Kill_Range_Check
4447       (N : Node_Id; Val : Boolean := True) is
4448    begin
4449       pragma Assert (False
4450         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4451       Set_Flag11 (N, Val);
4452    end Set_Kill_Range_Check;
4453
4454    procedure Set_Label_Construct
4455       (N : Node_Id; Val : Node_Id) is
4456    begin
4457       pragma Assert (False
4458         or else NT (N).Nkind = N_Implicit_Label_Declaration);
4459       Set_Node2 (N, Val); -- semantic field, no parent set
4460    end Set_Label_Construct;
4461
4462    procedure Set_Last_Bit
4463       (N : Node_Id; Val : Node_Id) is
4464    begin
4465       pragma Assert (False
4466         or else NT (N).Nkind = N_Component_Clause);
4467       Set_Node4_With_Parent (N, Val);
4468    end Set_Last_Bit;
4469
4470    procedure Set_Last_Name
4471       (N : Node_Id; Val : Boolean := True) is
4472    begin
4473       pragma Assert (False
4474         or else NT (N).Nkind = N_With_Clause);
4475       Set_Flag6 (N, Val);
4476    end Set_Last_Name;
4477
4478    procedure Set_Left_Opnd
4479       (N : Node_Id; Val : Node_Id) is
4480    begin
4481       pragma Assert (False
4482         or else NT (N).Nkind = N_And_Then
4483         or else NT (N).Nkind = N_In
4484         or else NT (N).Nkind = N_Not_In
4485         or else NT (N).Nkind = N_Or_Else
4486         or else NT (N).Nkind in N_Binary_Op);
4487       Set_Node2_With_Parent (N, Val);
4488    end Set_Left_Opnd;
4489
4490    procedure Set_Library_Unit
4491       (N : Node_Id; Val : Node_Id) is
4492    begin
4493       pragma Assert (False
4494         or else NT (N).Nkind = N_Compilation_Unit
4495         or else NT (N).Nkind = N_Package_Body_Stub
4496         or else NT (N).Nkind = N_Protected_Body_Stub
4497         or else NT (N).Nkind = N_Subprogram_Body_Stub
4498         or else NT (N).Nkind = N_Task_Body_Stub
4499         or else NT (N).Nkind = N_With_Clause);
4500       Set_Node4 (N, Val); -- semantic field, no parent set
4501    end Set_Library_Unit;
4502
4503    procedure Set_Limited_View_Installed
4504       (N : Node_Id; Val : Boolean := True) is
4505    begin
4506       pragma Assert (False
4507         or else NT (N).Nkind = N_Package_Specification
4508         or else NT (N).Nkind = N_With_Clause);
4509       Set_Flag18 (N, Val);
4510    end Set_Limited_View_Installed;
4511
4512    procedure Set_Limited_Present
4513       (N : Node_Id; Val : Boolean := True) is
4514    begin
4515       pragma Assert (False
4516         or else NT (N).Nkind = N_Derived_Type_Definition
4517         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
4518         or else NT (N).Nkind = N_Formal_Private_Type_Definition
4519         or else NT (N).Nkind = N_Private_Extension_Declaration
4520         or else NT (N).Nkind = N_Private_Type_Declaration
4521         or else NT (N).Nkind = N_Record_Definition
4522         or else NT (N).Nkind = N_With_Clause);
4523       Set_Flag17 (N, Val);
4524    end Set_Limited_Present;
4525
4526    procedure Set_Literals
4527       (N : Node_Id; Val : List_Id) is
4528    begin
4529       pragma Assert (False
4530         or else NT (N).Nkind = N_Enumeration_Type_Definition);
4531       Set_List1_With_Parent (N, Val);
4532    end Set_Literals;
4533
4534    procedure Set_Local_Raise_Not_OK
4535       (N : Node_Id; Val : Boolean := True) is
4536    begin
4537       pragma Assert (False
4538         or else NT (N).Nkind = N_Exception_Handler);
4539       Set_Flag7 (N, Val);
4540    end Set_Local_Raise_Not_OK;
4541
4542    procedure Set_Local_Raise_Statements
4543       (N : Node_Id; Val : Elist_Id) is
4544    begin
4545       pragma Assert (False
4546         or else NT (N).Nkind = N_Exception_Handler);
4547       Set_Elist1 (N, Val);
4548    end Set_Local_Raise_Statements;
4549
4550    procedure Set_Loop_Actions
4551       (N : Node_Id; Val : List_Id) is
4552    begin
4553       pragma Assert (False
4554         or else NT (N).Nkind = N_Component_Association);
4555       Set_List2 (N, Val); -- semantic field, no parent set
4556    end Set_Loop_Actions;
4557
4558    procedure Set_Loop_Parameter_Specification
4559       (N : Node_Id; Val : Node_Id) is
4560    begin
4561       pragma Assert (False
4562         or else NT (N).Nkind = N_Iteration_Scheme);
4563       Set_Node4_With_Parent (N, Val);
4564    end Set_Loop_Parameter_Specification;
4565
4566    procedure Set_Low_Bound
4567       (N : Node_Id; Val : Node_Id) is
4568    begin
4569       pragma Assert (False
4570         or else NT (N).Nkind = N_Range
4571         or else NT (N).Nkind = N_Real_Range_Specification
4572         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
4573       Set_Node1_With_Parent (N, Val);
4574    end Set_Low_Bound;
4575
4576    procedure Set_Mod_Clause
4577       (N : Node_Id; Val : Node_Id) is
4578    begin
4579       pragma Assert (False
4580         or else NT (N).Nkind = N_Record_Representation_Clause);
4581       Set_Node2_With_Parent (N, Val);
4582    end Set_Mod_Clause;
4583
4584    procedure Set_More_Ids
4585       (N : Node_Id; Val : Boolean := True) is
4586    begin
4587       pragma Assert (False
4588         or else NT (N).Nkind = N_Component_Declaration
4589         or else NT (N).Nkind = N_Discriminant_Specification
4590         or else NT (N).Nkind = N_Exception_Declaration
4591         or else NT (N).Nkind = N_Formal_Object_Declaration
4592         or else NT (N).Nkind = N_Number_Declaration
4593         or else NT (N).Nkind = N_Object_Declaration
4594         or else NT (N).Nkind = N_Parameter_Specification);
4595       Set_Flag5 (N, Val);
4596    end Set_More_Ids;
4597
4598    procedure Set_Must_Be_Byte_Aligned
4599       (N : Node_Id; Val : Boolean := True) is
4600    begin
4601       pragma Assert (False
4602         or else NT (N).Nkind = N_Attribute_Reference);
4603       Set_Flag14 (N, Val);
4604    end Set_Must_Be_Byte_Aligned;
4605
4606    procedure Set_Must_Not_Freeze
4607       (N : Node_Id; Val : Boolean := True) is
4608    begin
4609       pragma Assert (False
4610         or else NT (N).Nkind = N_Subtype_Indication
4611         or else NT (N).Nkind in N_Subexpr);
4612       Set_Flag8 (N, Val);
4613    end Set_Must_Not_Freeze;
4614
4615    procedure Set_Must_Not_Override
4616       (N : Node_Id; Val : Boolean := True) is
4617    begin
4618       pragma Assert (False
4619         or else NT (N).Nkind = N_Entry_Declaration
4620         or else NT (N).Nkind = N_Function_Instantiation
4621         or else NT (N).Nkind = N_Function_Specification
4622         or else NT (N).Nkind = N_Procedure_Instantiation
4623         or else NT (N).Nkind = N_Procedure_Specification);
4624       Set_Flag15 (N, Val);
4625    end Set_Must_Not_Override;
4626
4627    procedure Set_Must_Override
4628       (N : Node_Id; Val : Boolean := True) is
4629    begin
4630       pragma Assert (False
4631         or else NT (N).Nkind = N_Entry_Declaration
4632         or else NT (N).Nkind = N_Function_Instantiation
4633         or else NT (N).Nkind = N_Function_Specification
4634         or else NT (N).Nkind = N_Procedure_Instantiation
4635         or else NT (N).Nkind = N_Procedure_Specification);
4636       Set_Flag14 (N, Val);
4637    end Set_Must_Override;
4638
4639    procedure Set_Name
4640       (N : Node_Id; Val : Node_Id) is
4641    begin
4642       pragma Assert (False
4643         or else NT (N).Nkind = N_Assignment_Statement
4644         or else NT (N).Nkind = N_Attribute_Definition_Clause
4645         or else NT (N).Nkind = N_Defining_Program_Unit_Name
4646         or else NT (N).Nkind = N_Designator
4647         or else NT (N).Nkind = N_Entry_Call_Statement
4648         or else NT (N).Nkind = N_Exception_Renaming_Declaration
4649         or else NT (N).Nkind = N_Exit_Statement
4650         or else NT (N).Nkind = N_Formal_Package_Declaration
4651         or else NT (N).Nkind = N_Function_Call
4652         or else NT (N).Nkind = N_Function_Instantiation
4653         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4654         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4655         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4656         or else NT (N).Nkind = N_Goto_Statement
4657         or else NT (N).Nkind = N_Object_Renaming_Declaration
4658         or else NT (N).Nkind = N_Package_Instantiation
4659         or else NT (N).Nkind = N_Package_Renaming_Declaration
4660         or else NT (N).Nkind = N_Procedure_Call_Statement
4661         or else NT (N).Nkind = N_Procedure_Instantiation
4662         or else NT (N).Nkind = N_Raise_Statement
4663         or else NT (N).Nkind = N_Requeue_Statement
4664         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
4665         or else NT (N).Nkind = N_Subunit
4666         or else NT (N).Nkind = N_Variant_Part
4667         or else NT (N).Nkind = N_With_Clause);
4668       Set_Node2_With_Parent (N, Val);
4669    end Set_Name;
4670
4671    procedure Set_Names
4672       (N : Node_Id; Val : List_Id) is
4673    begin
4674       pragma Assert (False
4675         or else NT (N).Nkind = N_Abort_Statement
4676         or else NT (N).Nkind = N_Use_Package_Clause);
4677       Set_List2_With_Parent (N, Val);
4678    end Set_Names;
4679
4680    procedure Set_Next_Entity
4681       (N : Node_Id; Val : Node_Id) is
4682    begin
4683       pragma Assert (False
4684         or else NT (N).Nkind = N_Defining_Character_Literal
4685         or else NT (N).Nkind = N_Defining_Identifier
4686         or else NT (N).Nkind = N_Defining_Operator_Symbol);
4687       Set_Node2 (N, Val); -- semantic field, no parent set
4688    end Set_Next_Entity;
4689
4690    procedure Set_Next_Named_Actual
4691       (N : Node_Id; Val : Node_Id) is
4692    begin
4693       pragma Assert (False
4694         or else NT (N).Nkind = N_Parameter_Association);
4695       Set_Node4 (N, Val); -- semantic field, no parent set
4696    end Set_Next_Named_Actual;
4697
4698    procedure Set_Next_Rep_Item
4699       (N : Node_Id; Val : Node_Id) is
4700    begin
4701       pragma Assert (False
4702         or else NT (N).Nkind = N_Attribute_Definition_Clause
4703         or else NT (N).Nkind = N_Enumeration_Representation_Clause
4704         or else NT (N).Nkind = N_Pragma
4705         or else NT (N).Nkind = N_Record_Representation_Clause);
4706       Set_Node5 (N, Val); -- semantic field, no parent set
4707    end Set_Next_Rep_Item;
4708
4709    procedure Set_Next_Use_Clause
4710       (N : Node_Id; Val : Node_Id) is
4711    begin
4712       pragma Assert (False
4713         or else NT (N).Nkind = N_Use_Package_Clause
4714         or else NT (N).Nkind = N_Use_Type_Clause);
4715       Set_Node3 (N, Val); -- semantic field, no parent set
4716    end Set_Next_Use_Clause;
4717
4718    procedure Set_No_Ctrl_Actions
4719       (N : Node_Id; Val : Boolean := True) is
4720    begin
4721       pragma Assert (False
4722         or else NT (N).Nkind = N_Assignment_Statement);
4723       Set_Flag7 (N, Val);
4724    end Set_No_Ctrl_Actions;
4725
4726    procedure Set_No_Elaboration_Check
4727       (N : Node_Id; Val : Boolean := True) is
4728    begin
4729       pragma Assert (False
4730         or else NT (N).Nkind = N_Function_Call
4731         or else NT (N).Nkind = N_Procedure_Call_Statement);
4732       Set_Flag14 (N, Val);
4733    end Set_No_Elaboration_Check;
4734
4735    procedure Set_No_Entities_Ref_In_Spec
4736       (N : Node_Id; Val : Boolean := True) is
4737    begin
4738       pragma Assert (False
4739         or else NT (N).Nkind = N_With_Clause);
4740       Set_Flag8 (N, Val);
4741    end Set_No_Entities_Ref_In_Spec;
4742
4743    procedure Set_No_Initialization
4744       (N : Node_Id; Val : Boolean := True) is
4745    begin
4746       pragma Assert (False
4747         or else NT (N).Nkind = N_Allocator
4748         or else NT (N).Nkind = N_Object_Declaration);
4749       Set_Flag13 (N, Val);
4750    end Set_No_Initialization;
4751
4752    procedure Set_No_Truncation
4753       (N : Node_Id; Val : Boolean := True) is
4754    begin
4755       pragma Assert (False
4756         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4757       Set_Flag17 (N, Val);
4758    end Set_No_Truncation;
4759
4760    procedure Set_Null_Present
4761       (N : Node_Id; Val : Boolean := True) is
4762    begin
4763       pragma Assert (False
4764         or else NT (N).Nkind = N_Component_List
4765         or else NT (N).Nkind = N_Procedure_Specification
4766         or else NT (N).Nkind = N_Record_Definition);
4767       Set_Flag13 (N, Val);
4768    end Set_Null_Present;
4769
4770    procedure Set_Null_Exclusion_Present
4771       (N : Node_Id; Val : Boolean := True) is
4772    begin
4773       pragma Assert (False
4774         or else NT (N).Nkind = N_Access_Definition
4775         or else NT (N).Nkind = N_Access_Function_Definition
4776         or else NT (N).Nkind = N_Access_Procedure_Definition
4777         or else NT (N).Nkind = N_Access_To_Object_Definition
4778         or else NT (N).Nkind = N_Allocator
4779         or else NT (N).Nkind = N_Component_Definition
4780         or else NT (N).Nkind = N_Derived_Type_Definition
4781         or else NT (N).Nkind = N_Discriminant_Specification
4782         or else NT (N).Nkind = N_Formal_Object_Declaration
4783         or else NT (N).Nkind = N_Function_Specification
4784         or else NT (N).Nkind = N_Object_Declaration
4785         or else NT (N).Nkind = N_Object_Renaming_Declaration
4786         or else NT (N).Nkind = N_Parameter_Specification
4787         or else NT (N).Nkind = N_Subtype_Declaration);
4788       Set_Flag11 (N, Val);
4789    end Set_Null_Exclusion_Present;
4790
4791    procedure Set_Null_Record_Present
4792       (N : Node_Id; Val : Boolean := True) is
4793    begin
4794       pragma Assert (False
4795         or else NT (N).Nkind = N_Aggregate
4796         or else NT (N).Nkind = N_Extension_Aggregate);
4797       Set_Flag17 (N, Val);
4798    end Set_Null_Record_Present;
4799
4800    procedure Set_Object_Definition
4801       (N : Node_Id; Val : Node_Id) is
4802    begin
4803       pragma Assert (False
4804         or else NT (N).Nkind = N_Object_Declaration);
4805       Set_Node4_With_Parent (N, Val);
4806    end Set_Object_Definition;
4807
4808    procedure Set_Original_Discriminant
4809       (N : Node_Id; Val : Node_Id) is
4810    begin
4811       pragma Assert (False
4812         or else NT (N).Nkind = N_Identifier);
4813       Set_Node2 (N, Val); -- semantic field, no parent set
4814    end Set_Original_Discriminant;
4815
4816    procedure Set_Original_Entity
4817       (N : Node_Id; Val : Entity_Id) is
4818    begin
4819       pragma Assert (False
4820         or else NT (N).Nkind = N_Integer_Literal
4821         or else NT (N).Nkind = N_Real_Literal);
4822       Set_Node2 (N, Val); --  semantic field, no parent set
4823    end Set_Original_Entity;
4824
4825    procedure Set_Others_Discrete_Choices
4826       (N : Node_Id; Val : List_Id) is
4827    begin
4828       pragma Assert (False
4829         or else NT (N).Nkind = N_Others_Choice);
4830       Set_List1_With_Parent (N, Val);
4831    end Set_Others_Discrete_Choices;
4832
4833    procedure Set_Out_Present
4834       (N : Node_Id; Val : Boolean := True) is
4835    begin
4836       pragma Assert (False
4837         or else NT (N).Nkind = N_Formal_Object_Declaration
4838         or else NT (N).Nkind = N_Parameter_Specification);
4839       Set_Flag17 (N, Val);
4840    end Set_Out_Present;
4841
4842    procedure Set_Parameter_Associations
4843       (N : Node_Id; Val : List_Id) is
4844    begin
4845       pragma Assert (False
4846         or else NT (N).Nkind = N_Entry_Call_Statement
4847         or else NT (N).Nkind = N_Function_Call
4848         or else NT (N).Nkind = N_Procedure_Call_Statement);
4849       Set_List3_With_Parent (N, Val);
4850    end Set_Parameter_Associations;
4851
4852    procedure Set_Parameter_List_Truncated
4853       (N : Node_Id; Val : Boolean := True) is
4854    begin
4855       pragma Assert (False
4856         or else NT (N).Nkind = N_Function_Call
4857         or else NT (N).Nkind = N_Procedure_Call_Statement);
4858       Set_Flag17 (N, Val);
4859    end Set_Parameter_List_Truncated;
4860
4861    procedure Set_Parameter_Specifications
4862       (N : Node_Id; Val : List_Id) is
4863    begin
4864       pragma Assert (False
4865         or else NT (N).Nkind = N_Accept_Statement
4866         or else NT (N).Nkind = N_Access_Function_Definition
4867         or else NT (N).Nkind = N_Access_Procedure_Definition
4868         or else NT (N).Nkind = N_Entry_Body_Formal_Part
4869         or else NT (N).Nkind = N_Entry_Declaration
4870         or else NT (N).Nkind = N_Function_Specification
4871         or else NT (N).Nkind = N_Procedure_Specification);
4872       Set_List3_With_Parent (N, Val);
4873    end Set_Parameter_Specifications;
4874
4875    procedure Set_Parameter_Type
4876       (N : Node_Id; Val : Node_Id) is
4877    begin
4878       pragma Assert (False
4879         or else NT (N).Nkind = N_Parameter_Specification);
4880       Set_Node2_With_Parent (N, Val);
4881    end Set_Parameter_Type;
4882
4883    procedure Set_Parent_Spec
4884       (N : Node_Id; Val : Node_Id) is
4885    begin
4886       pragma Assert (False
4887         or else NT (N).Nkind = N_Function_Instantiation
4888         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4889         or else NT (N).Nkind = N_Generic_Package_Declaration
4890         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4891         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4892         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
4893         or else NT (N).Nkind = N_Package_Declaration
4894         or else NT (N).Nkind = N_Package_Instantiation
4895         or else NT (N).Nkind = N_Package_Renaming_Declaration
4896         or else NT (N).Nkind = N_Procedure_Instantiation
4897         or else NT (N).Nkind = N_Subprogram_Declaration
4898         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4899       Set_Node4 (N, Val); -- semantic field, no parent set
4900    end Set_Parent_Spec;
4901
4902    procedure Set_Position
4903       (N : Node_Id; Val : Node_Id) is
4904    begin
4905       pragma Assert (False
4906         or else NT (N).Nkind = N_Component_Clause);
4907       Set_Node2_With_Parent (N, Val);
4908    end Set_Position;
4909
4910    procedure Set_Pragma_Argument_Associations
4911       (N : Node_Id; Val : List_Id) is
4912    begin
4913       pragma Assert (False
4914         or else NT (N).Nkind = N_Pragma);
4915       Set_List2_With_Parent (N, Val);
4916    end Set_Pragma_Argument_Associations;
4917
4918    procedure Set_Pragmas_After
4919       (N : Node_Id; Val : List_Id) is
4920    begin
4921       pragma Assert (False
4922         or else NT (N).Nkind = N_Compilation_Unit_Aux
4923         or else NT (N).Nkind = N_Terminate_Alternative);
4924       Set_List5_With_Parent (N, Val);
4925    end Set_Pragmas_After;
4926
4927    procedure Set_Pragmas_Before
4928       (N : Node_Id; Val : List_Id) is
4929    begin
4930       pragma Assert (False
4931         or else NT (N).Nkind = N_Accept_Alternative
4932         or else NT (N).Nkind = N_Delay_Alternative
4933         or else NT (N).Nkind = N_Entry_Call_Alternative
4934         or else NT (N).Nkind = N_Mod_Clause
4935         or else NT (N).Nkind = N_Terminate_Alternative
4936         or else NT (N).Nkind = N_Triggering_Alternative);
4937       Set_List4_With_Parent (N, Val);
4938    end Set_Pragmas_Before;
4939
4940    procedure Set_Prefix
4941       (N : Node_Id; Val : Node_Id) is
4942    begin
4943       pragma Assert (False
4944         or else NT (N).Nkind = N_Attribute_Reference
4945         or else NT (N).Nkind = N_Expanded_Name
4946         or else NT (N).Nkind = N_Explicit_Dereference
4947         or else NT (N).Nkind = N_Indexed_Component
4948         or else NT (N).Nkind = N_Reference
4949         or else NT (N).Nkind = N_Selected_Component
4950         or else NT (N).Nkind = N_Slice);
4951       Set_Node3_With_Parent (N, Val);
4952    end Set_Prefix;
4953
4954    procedure Set_Present_Expr
4955       (N : Node_Id; Val : Uint) is
4956    begin
4957       pragma Assert (False
4958         or else NT (N).Nkind = N_Variant);
4959       Set_Uint3 (N, Val);
4960    end Set_Present_Expr;
4961
4962    procedure Set_Prev_Ids
4963       (N : Node_Id; Val : Boolean := True) is
4964    begin
4965       pragma Assert (False
4966         or else NT (N).Nkind = N_Component_Declaration
4967         or else NT (N).Nkind = N_Discriminant_Specification
4968         or else NT (N).Nkind = N_Exception_Declaration
4969         or else NT (N).Nkind = N_Formal_Object_Declaration
4970         or else NT (N).Nkind = N_Number_Declaration
4971         or else NT (N).Nkind = N_Object_Declaration
4972         or else NT (N).Nkind = N_Parameter_Specification);
4973       Set_Flag6 (N, Val);
4974    end Set_Prev_Ids;
4975
4976    procedure Set_Print_In_Hex
4977       (N : Node_Id; Val : Boolean := True) is
4978    begin
4979       pragma Assert (False
4980         or else NT (N).Nkind = N_Integer_Literal);
4981       Set_Flag13 (N, Val);
4982    end Set_Print_In_Hex;
4983
4984    procedure Set_Private_Declarations
4985       (N : Node_Id; Val : List_Id) is
4986    begin
4987       pragma Assert (False
4988         or else NT (N).Nkind = N_Package_Specification
4989         or else NT (N).Nkind = N_Protected_Definition
4990         or else NT (N).Nkind = N_Task_Definition);
4991       Set_List3_With_Parent (N, Val);
4992    end Set_Private_Declarations;
4993
4994    procedure Set_Private_Present
4995       (N : Node_Id; Val : Boolean := True) is
4996    begin
4997       pragma Assert (False
4998         or else NT (N).Nkind = N_Compilation_Unit
4999         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
5000         or else NT (N).Nkind = N_With_Clause);
5001       Set_Flag15 (N, Val);
5002    end Set_Private_Present;
5003
5004    procedure Set_Procedure_To_Call
5005       (N : Node_Id; Val : Node_Id) is
5006    begin
5007       pragma Assert (False
5008         or else NT (N).Nkind = N_Allocator
5009         or else NT (N).Nkind = N_Extended_Return_Statement
5010         or else NT (N).Nkind = N_Free_Statement
5011         or else NT (N).Nkind = N_Return_Statement);
5012       Set_Node2 (N, Val); -- semantic field, no parent set
5013    end Set_Procedure_To_Call;
5014
5015    procedure Set_Proper_Body
5016       (N : Node_Id; Val : Node_Id) is
5017    begin
5018       pragma Assert (False
5019         or else NT (N).Nkind = N_Subunit);
5020       Set_Node1_With_Parent (N, Val);
5021    end Set_Proper_Body;
5022
5023    procedure Set_Protected_Definition
5024       (N : Node_Id; Val : Node_Id) is
5025    begin
5026       pragma Assert (False
5027         or else NT (N).Nkind = N_Protected_Type_Declaration
5028         or else NT (N).Nkind = N_Single_Protected_Declaration);
5029       Set_Node3_With_Parent (N, Val);
5030    end Set_Protected_Definition;
5031
5032    procedure Set_Protected_Present
5033       (N : Node_Id; Val : Boolean := True) is
5034    begin
5035       pragma Assert (False
5036         or else NT (N).Nkind = N_Access_Function_Definition
5037         or else NT (N).Nkind = N_Access_Procedure_Definition
5038         or else NT (N).Nkind = N_Derived_Type_Definition
5039         or else NT (N).Nkind = N_Record_Definition);
5040       Set_Flag6 (N, Val);
5041    end Set_Protected_Present;
5042
5043    procedure Set_Raises_Constraint_Error
5044       (N : Node_Id; Val : Boolean := True) is
5045    begin
5046       pragma Assert (False
5047         or else NT (N).Nkind in N_Subexpr);
5048       Set_Flag7 (N, Val);
5049    end Set_Raises_Constraint_Error;
5050
5051    procedure Set_Range_Constraint
5052       (N : Node_Id; Val : Node_Id) is
5053    begin
5054       pragma Assert (False
5055         or else NT (N).Nkind = N_Delta_Constraint
5056         or else NT (N).Nkind = N_Digits_Constraint);
5057       Set_Node4_With_Parent (N, Val);
5058    end Set_Range_Constraint;
5059
5060    procedure Set_Range_Expression
5061       (N : Node_Id; Val : Node_Id) is
5062    begin
5063       pragma Assert (False
5064         or else NT (N).Nkind = N_Range_Constraint);
5065       Set_Node4_With_Parent (N, Val);
5066    end Set_Range_Expression;
5067
5068    procedure Set_Real_Range_Specification
5069       (N : Node_Id; Val : Node_Id) is
5070    begin
5071       pragma Assert (False
5072         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
5073         or else NT (N).Nkind = N_Floating_Point_Definition
5074         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
5075       Set_Node4_With_Parent (N, Val);
5076    end Set_Real_Range_Specification;
5077
5078    procedure Set_Realval
5079      (N : Node_Id; Val : Ureal) is
5080    begin
5081       pragma Assert (False
5082         or else NT (N).Nkind = N_Real_Literal);
5083       Set_Ureal3 (N, Val);
5084    end Set_Realval;
5085
5086    procedure Set_Reason
5087       (N : Node_Id; Val : Uint) is
5088    begin
5089       pragma Assert (False
5090         or else NT (N).Nkind = N_Raise_Constraint_Error
5091         or else NT (N).Nkind = N_Raise_Program_Error
5092         or else NT (N).Nkind = N_Raise_Storage_Error);
5093       Set_Uint3 (N, Val);
5094    end Set_Reason;
5095
5096    procedure Set_Record_Extension_Part
5097       (N : Node_Id; Val : Node_Id) is
5098    begin
5099       pragma Assert (False
5100         or else NT (N).Nkind = N_Derived_Type_Definition);
5101       Set_Node3_With_Parent (N, Val);
5102    end Set_Record_Extension_Part;
5103
5104    procedure Set_Redundant_Use
5105       (N : Node_Id; Val : Boolean := True) is
5106    begin
5107       pragma Assert (False
5108         or else NT (N).Nkind = N_Attribute_Reference
5109         or else NT (N).Nkind = N_Expanded_Name
5110         or else NT (N).Nkind = N_Identifier);
5111       Set_Flag13 (N, Val);
5112    end Set_Redundant_Use;
5113
5114    procedure Set_Renaming_Exception
5115       (N : Node_Id; Val : Node_Id) is
5116    begin
5117       pragma Assert (False
5118         or else NT (N).Nkind = N_Exception_Declaration);
5119       Set_Node2 (N, Val);
5120    end Set_Renaming_Exception;
5121
5122    procedure Set_Result_Definition
5123      (N : Node_Id; Val : Node_Id) is
5124    begin
5125       pragma Assert (False
5126         or else NT (N).Nkind = N_Access_Function_Definition
5127         or else NT (N).Nkind = N_Function_Specification);
5128       Set_Node4_With_Parent (N, Val);
5129    end Set_Result_Definition;
5130
5131    procedure Set_Return_Object_Declarations
5132      (N : Node_Id; Val : List_Id) is
5133    begin
5134       pragma Assert (False
5135         or else NT (N).Nkind = N_Extended_Return_Statement);
5136       Set_List3_With_Parent (N, Val);
5137    end Set_Return_Object_Declarations;
5138
5139    procedure Set_Return_Statement_Entity
5140      (N : Node_Id; Val : Node_Id) is
5141    begin
5142       pragma Assert (False
5143         or else NT (N).Nkind = N_Extended_Return_Statement
5144         or else NT (N).Nkind = N_Return_Statement);
5145       Set_Node5 (N, Val); -- semantic field, no parent set
5146    end Set_Return_Statement_Entity;
5147
5148    procedure Set_Reverse_Present
5149       (N : Node_Id; Val : Boolean := True) is
5150    begin
5151       pragma Assert (False
5152         or else NT (N).Nkind = N_Loop_Parameter_Specification);
5153       Set_Flag15 (N, Val);
5154    end Set_Reverse_Present;
5155
5156    procedure Set_Right_Opnd
5157       (N : Node_Id; Val : Node_Id) is
5158    begin
5159       pragma Assert (False
5160         or else NT (N).Nkind in N_Op
5161         or else NT (N).Nkind = N_And_Then
5162         or else NT (N).Nkind = N_In
5163         or else NT (N).Nkind = N_Not_In
5164         or else NT (N).Nkind = N_Or_Else);
5165       Set_Node3_With_Parent (N, Val);
5166    end Set_Right_Opnd;
5167
5168    procedure Set_Rounded_Result
5169       (N : Node_Id; Val : Boolean := True) is
5170    begin
5171       pragma Assert (False
5172         or else NT (N).Nkind = N_Op_Divide
5173         or else NT (N).Nkind = N_Op_Multiply
5174         or else NT (N).Nkind = N_Type_Conversion);
5175       Set_Flag18 (N, Val);
5176    end Set_Rounded_Result;
5177
5178    procedure Set_Scope
5179       (N : Node_Id; Val : Node_Id) is
5180    begin
5181       pragma Assert (False
5182         or else NT (N).Nkind = N_Defining_Character_Literal
5183         or else NT (N).Nkind = N_Defining_Identifier
5184         or else NT (N).Nkind = N_Defining_Operator_Symbol);
5185       Set_Node3 (N, Val); -- semantic field, no parent set
5186    end Set_Scope;
5187
5188    procedure Set_Select_Alternatives
5189       (N : Node_Id; Val : List_Id) is
5190    begin
5191       pragma Assert (False
5192         or else NT (N).Nkind = N_Selective_Accept);
5193       Set_List1_With_Parent (N, Val);
5194    end Set_Select_Alternatives;
5195
5196    procedure Set_Selector_Name
5197       (N : Node_Id; Val : Node_Id) is
5198    begin
5199       pragma Assert (False
5200         or else NT (N).Nkind = N_Expanded_Name
5201         or else NT (N).Nkind = N_Generic_Association
5202         or else NT (N).Nkind = N_Parameter_Association
5203         or else NT (N).Nkind = N_Selected_Component);
5204       Set_Node2_With_Parent (N, Val);
5205    end Set_Selector_Name;
5206
5207    procedure Set_Selector_Names
5208       (N : Node_Id; Val : List_Id) is
5209    begin
5210       pragma Assert (False
5211         or else NT (N).Nkind = N_Discriminant_Association);
5212       Set_List1_With_Parent (N, Val);
5213    end Set_Selector_Names;
5214
5215    procedure Set_Shift_Count_OK
5216       (N : Node_Id; Val : Boolean := True) is
5217    begin
5218       pragma Assert (False
5219         or else NT (N).Nkind = N_Op_Rotate_Left
5220         or else NT (N).Nkind = N_Op_Rotate_Right
5221         or else NT (N).Nkind = N_Op_Shift_Left
5222         or else NT (N).Nkind = N_Op_Shift_Right
5223         or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
5224       Set_Flag4 (N, Val);
5225    end Set_Shift_Count_OK;
5226
5227    procedure Set_Source_Type
5228       (N : Node_Id; Val : Entity_Id) is
5229    begin
5230       pragma Assert (False
5231         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
5232       Set_Node1 (N, Val); -- semantic field, no parent set
5233    end Set_Source_Type;
5234
5235    procedure Set_Specification
5236       (N : Node_Id; Val : Node_Id) is
5237    begin
5238       pragma Assert (False
5239         or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
5240         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
5241         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
5242         or else NT (N).Nkind = N_Generic_Package_Declaration
5243         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
5244         or else NT (N).Nkind = N_Package_Declaration
5245         or else NT (N).Nkind = N_Subprogram_Body
5246         or else NT (N).Nkind = N_Subprogram_Body_Stub
5247         or else NT (N).Nkind = N_Subprogram_Declaration
5248         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
5249       Set_Node1_With_Parent (N, Val);
5250    end Set_Specification;
5251
5252    procedure Set_Statements
5253       (N : Node_Id; Val : List_Id) is
5254    begin
5255       pragma Assert (False
5256         or else NT (N).Nkind = N_Abortable_Part
5257         or else NT (N).Nkind = N_Accept_Alternative
5258         or else NT (N).Nkind = N_Case_Statement_Alternative
5259         or else NT (N).Nkind = N_Delay_Alternative
5260         or else NT (N).Nkind = N_Entry_Call_Alternative
5261         or else NT (N).Nkind = N_Exception_Handler
5262         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
5263         or else NT (N).Nkind = N_Loop_Statement
5264         or else NT (N).Nkind = N_Triggering_Alternative);
5265       Set_List3_With_Parent (N, Val);
5266    end Set_Statements;
5267
5268    procedure Set_Static_Processing_OK
5269       (N : Node_Id; Val : Boolean) is
5270    begin
5271       pragma Assert (False
5272         or else NT (N).Nkind = N_Aggregate);
5273       Set_Flag4 (N, Val);
5274    end Set_Static_Processing_OK;
5275
5276    procedure Set_Storage_Pool
5277       (N : Node_Id; Val : Node_Id) is
5278    begin
5279       pragma Assert (False
5280         or else NT (N).Nkind = N_Allocator
5281         or else NT (N).Nkind = N_Extended_Return_Statement
5282         or else NT (N).Nkind = N_Free_Statement
5283         or else NT (N).Nkind = N_Return_Statement);
5284       Set_Node1 (N, Val); -- semantic field, no parent set
5285    end Set_Storage_Pool;
5286
5287    procedure Set_Strval
5288       (N : Node_Id; Val : String_Id) is
5289    begin
5290       pragma Assert (False
5291         or else NT (N).Nkind = N_Operator_Symbol
5292         or else NT (N).Nkind = N_String_Literal);
5293       Set_Str3 (N, Val);
5294    end Set_Strval;
5295
5296    procedure Set_Subtype_Indication
5297       (N : Node_Id; Val : Node_Id) is
5298    begin
5299       pragma Assert (False
5300         or else NT (N).Nkind = N_Access_To_Object_Definition
5301         or else NT (N).Nkind = N_Component_Definition
5302         or else NT (N).Nkind = N_Derived_Type_Definition
5303         or else NT (N).Nkind = N_Private_Extension_Declaration
5304         or else NT (N).Nkind = N_Subtype_Declaration);
5305       Set_Node5_With_Parent (N, Val);
5306    end Set_Subtype_Indication;
5307
5308    procedure Set_Subtype_Mark
5309       (N : Node_Id; Val : Node_Id) is
5310    begin
5311       pragma Assert (False
5312         or else NT (N).Nkind = N_Access_Definition
5313         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
5314         or else NT (N).Nkind = N_Formal_Object_Declaration
5315         or else NT (N).Nkind = N_Object_Renaming_Declaration
5316         or else NT (N).Nkind = N_Qualified_Expression
5317         or else NT (N).Nkind = N_Subtype_Indication
5318         or else NT (N).Nkind = N_Type_Conversion
5319         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
5320       Set_Node4_With_Parent (N, Val);
5321    end Set_Subtype_Mark;
5322
5323    procedure Set_Subtype_Marks
5324       (N : Node_Id; Val : List_Id) is
5325    begin
5326       pragma Assert (False
5327         or else NT (N).Nkind = N_Unconstrained_Array_Definition
5328         or else NT (N).Nkind = N_Use_Type_Clause);
5329       Set_List2_With_Parent (N, Val);
5330    end Set_Subtype_Marks;
5331
5332    procedure Set_Synchronized_Present
5333      (N : Node_Id; Val : Boolean := True) is
5334    begin
5335       pragma Assert (False
5336         or else NT (N).Nkind = N_Derived_Type_Definition
5337         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
5338         or else NT (N).Nkind = N_Private_Extension_Declaration
5339         or else NT (N).Nkind = N_Record_Definition);
5340       Set_Flag7 (N, Val);
5341    end Set_Synchronized_Present;
5342
5343    procedure Set_Tagged_Present
5344       (N : Node_Id; Val : Boolean := True) is
5345    begin
5346       pragma Assert (False
5347         or else NT (N).Nkind = N_Formal_Private_Type_Definition
5348         or else NT (N).Nkind = N_Incomplete_Type_Declaration
5349         or else NT (N).Nkind = N_Private_Type_Declaration
5350         or else NT (N).Nkind = N_Record_Definition);
5351       Set_Flag15 (N, Val);
5352    end Set_Tagged_Present;
5353
5354    procedure Set_Target_Type
5355       (N : Node_Id; Val : Entity_Id) is
5356    begin
5357       pragma Assert (False
5358         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
5359       Set_Node2 (N, Val); -- semantic field, no parent set
5360    end Set_Target_Type;
5361
5362    procedure Set_Task_Definition
5363       (N : Node_Id; Val : Node_Id) is
5364    begin
5365       pragma Assert (False
5366         or else NT (N).Nkind = N_Single_Task_Declaration
5367         or else NT (N).Nkind = N_Task_Type_Declaration);
5368       Set_Node3_With_Parent (N, Val);
5369    end Set_Task_Definition;
5370
5371    procedure Set_Task_Present
5372      (N : Node_Id; Val : Boolean := True) is
5373    begin
5374       pragma Assert (False
5375         or else NT (N).Nkind = N_Derived_Type_Definition
5376         or else NT (N).Nkind = N_Record_Definition);
5377       Set_Flag5 (N, Val);
5378    end Set_Task_Present;
5379
5380    procedure Set_Then_Actions
5381       (N : Node_Id; Val : List_Id) is
5382    begin
5383       pragma Assert (False
5384         or else NT (N).Nkind = N_Conditional_Expression);
5385       Set_List2 (N, Val); -- semantic field, no parent set
5386    end Set_Then_Actions;
5387
5388    procedure Set_Then_Statements
5389       (N : Node_Id; Val : List_Id) is
5390    begin
5391       pragma Assert (False
5392         or else NT (N).Nkind = N_Elsif_Part
5393         or else NT (N).Nkind = N_If_Statement);
5394       Set_List2_With_Parent (N, Val);
5395    end Set_Then_Statements;
5396
5397    procedure Set_Treat_Fixed_As_Integer
5398       (N : Node_Id; Val : Boolean := True) is
5399    begin
5400       pragma Assert (False
5401         or else NT (N).Nkind = N_Op_Divide
5402         or else NT (N).Nkind = N_Op_Mod
5403         or else NT (N).Nkind = N_Op_Multiply
5404         or else NT (N).Nkind = N_Op_Rem);
5405       Set_Flag14 (N, Val);
5406    end Set_Treat_Fixed_As_Integer;
5407
5408    procedure Set_Triggering_Alternative
5409       (N : Node_Id; Val : Node_Id) is
5410    begin
5411       pragma Assert (False
5412         or else NT (N).Nkind = N_Asynchronous_Select);
5413       Set_Node1_With_Parent (N, Val);
5414    end Set_Triggering_Alternative;
5415
5416    procedure Set_Triggering_Statement
5417       (N : Node_Id; Val : Node_Id) is
5418    begin
5419       pragma Assert (False
5420         or else NT (N).Nkind = N_Triggering_Alternative);
5421       Set_Node1_With_Parent (N, Val);
5422    end Set_Triggering_Statement;
5423
5424    procedure Set_TSS_Elist
5425       (N : Node_Id; Val : Elist_Id) is
5426    begin
5427       pragma Assert (False
5428         or else NT (N).Nkind = N_Freeze_Entity);
5429       Set_Elist3 (N, Val); -- semantic field, no parent set
5430    end Set_TSS_Elist;
5431
5432    procedure Set_Type_Definition
5433       (N : Node_Id; Val : Node_Id) is
5434    begin
5435       pragma Assert (False
5436         or else NT (N).Nkind = N_Full_Type_Declaration);
5437       Set_Node3_With_Parent (N, Val);
5438    end Set_Type_Definition;
5439
5440    procedure Set_Unit
5441       (N : Node_Id; Val : Node_Id) is
5442    begin
5443       pragma Assert (False
5444         or else NT (N).Nkind = N_Compilation_Unit);
5445       Set_Node2_With_Parent (N, Val);
5446    end Set_Unit;
5447
5448    procedure Set_Unknown_Discriminants_Present
5449       (N : Node_Id; Val : Boolean := True) is
5450    begin
5451       pragma Assert (False
5452         or else NT (N).Nkind = N_Formal_Type_Declaration
5453         or else NT (N).Nkind = N_Incomplete_Type_Declaration
5454         or else NT (N).Nkind = N_Private_Extension_Declaration
5455         or else NT (N).Nkind = N_Private_Type_Declaration);
5456       Set_Flag13 (N, Val);
5457    end Set_Unknown_Discriminants_Present;
5458
5459    procedure Set_Unreferenced_In_Spec
5460       (N : Node_Id; Val : Boolean := True) is
5461    begin
5462       pragma Assert (False
5463         or else NT (N).Nkind = N_With_Clause);
5464       Set_Flag7 (N, Val);
5465    end Set_Unreferenced_In_Spec;
5466
5467    procedure Set_Variant_Part
5468       (N : Node_Id; Val : Node_Id) is
5469    begin
5470       pragma Assert (False
5471         or else NT (N).Nkind = N_Component_List);
5472       Set_Node4_With_Parent (N, Val);
5473    end Set_Variant_Part;
5474
5475    procedure Set_Variants
5476       (N : Node_Id; Val : List_Id) is
5477    begin
5478       pragma Assert (False
5479         or else NT (N).Nkind = N_Variant_Part);
5480       Set_List1_With_Parent (N, Val);
5481    end Set_Variants;
5482
5483    procedure Set_Visible_Declarations
5484       (N : Node_Id; Val : List_Id) is
5485    begin
5486       pragma Assert (False
5487         or else NT (N).Nkind = N_Package_Specification
5488         or else NT (N).Nkind = N_Protected_Definition
5489         or else NT (N).Nkind = N_Task_Definition);
5490       Set_List2_With_Parent (N, Val);
5491    end Set_Visible_Declarations;
5492
5493    procedure Set_Was_Originally_Stub
5494       (N : Node_Id; Val : Boolean := True) is
5495    begin
5496       pragma Assert (False
5497         or else NT (N).Nkind = N_Package_Body
5498         or else NT (N).Nkind = N_Protected_Body
5499         or else NT (N).Nkind = N_Subprogram_Body
5500         or else NT (N).Nkind = N_Task_Body);
5501       Set_Flag13 (N, Val);
5502    end Set_Was_Originally_Stub;
5503
5504    procedure Set_Zero_Cost_Handling
5505       (N : Node_Id; Val : Boolean := True) is
5506    begin
5507       pragma Assert (False
5508         or else NT (N).Nkind = N_Exception_Handler
5509         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
5510       Set_Flag5 (N, Val);
5511    end Set_Zero_Cost_Handling;
5512
5513    -------------------------
5514    -- Iterator Procedures --
5515    -------------------------
5516
5517    procedure Next_Entity       (N : in out Node_Id) is
5518    begin
5519       N := Next_Entity (N);
5520    end Next_Entity;
5521
5522    procedure Next_Named_Actual (N : in out Node_Id) is
5523    begin
5524       N := Next_Named_Actual (N);
5525    end Next_Named_Actual;
5526
5527    procedure Next_Rep_Item     (N : in out Node_Id) is
5528    begin
5529       N := Next_Rep_Item (N);
5530    end Next_Rep_Item;
5531
5532    procedure Next_Use_Clause   (N : in out Node_Id) is
5533    begin
5534       N := Next_Use_Clause (N);
5535    end Next_Use_Clause;
5536
5537    ------------------
5538    -- End_Location --
5539    ------------------
5540
5541    function End_Location (N : Node_Id) return Source_Ptr is
5542       L : constant Uint := End_Span (N);
5543    begin
5544       if L = No_Uint then
5545          return No_Location;
5546       else
5547          return Source_Ptr (Int (Sloc (N)) + UI_To_Int (L));
5548       end if;
5549    end End_Location;
5550
5551    ----------------------
5552    -- Set_End_Location --
5553    ----------------------
5554
5555    procedure Set_End_Location (N : Node_Id; S : Source_Ptr) is
5556    begin
5557       Set_End_Span (N,
5558         UI_From_Int (Int (S) - Int (Sloc (N))));
5559    end Set_End_Location;
5560
5561 end Sinfo;