OSDN Git Service

2008-04-08 Ed Schonberg <schonberg@adacore.com>
[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-2008, 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_End
1268       (N : Node_Id) return Boolean is
1269    begin
1270       pragma Assert (False
1271         or else NT (N).Nkind = N_Raise_Statement);
1272       return Flag4 (N);
1273    end From_At_End;
1274
1275    function From_At_Mod
1276       (N : Node_Id) return Boolean is
1277    begin
1278       pragma Assert (False
1279         or else NT (N).Nkind = N_Attribute_Definition_Clause);
1280       return Flag4 (N);
1281    end From_At_Mod;
1282
1283    function From_Default
1284       (N : Node_Id) return Boolean is
1285    begin
1286       pragma Assert (False
1287         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
1288       return Flag6 (N);
1289    end From_Default;
1290
1291    function Generic_Associations
1292       (N : Node_Id) return List_Id is
1293    begin
1294       pragma Assert (False
1295         or else NT (N).Nkind = N_Formal_Package_Declaration
1296         or else NT (N).Nkind = N_Function_Instantiation
1297         or else NT (N).Nkind = N_Package_Instantiation
1298         or else NT (N).Nkind = N_Procedure_Instantiation);
1299       return List3 (N);
1300    end Generic_Associations;
1301
1302    function Generic_Formal_Declarations
1303       (N : Node_Id) return List_Id is
1304    begin
1305       pragma Assert (False
1306         or else NT (N).Nkind = N_Generic_Package_Declaration
1307         or else NT (N).Nkind = N_Generic_Subprogram_Declaration);
1308       return List2 (N);
1309    end Generic_Formal_Declarations;
1310
1311    function Generic_Parent
1312       (N : Node_Id) return Node_Id is
1313    begin
1314       pragma Assert (False
1315         or else NT (N).Nkind = N_Function_Specification
1316         or else NT (N).Nkind = N_Package_Specification
1317         or else NT (N).Nkind = N_Procedure_Specification);
1318       return Node5 (N);
1319    end Generic_Parent;
1320
1321    function Generic_Parent_Type
1322       (N : Node_Id) return Node_Id is
1323    begin
1324       pragma Assert (False
1325         or else NT (N).Nkind = N_Subtype_Declaration);
1326       return Node4 (N);
1327    end Generic_Parent_Type;
1328
1329    function Handled_Statement_Sequence
1330       (N : Node_Id) return Node_Id is
1331    begin
1332       pragma Assert (False
1333         or else NT (N).Nkind = N_Accept_Statement
1334         or else NT (N).Nkind = N_Block_Statement
1335         or else NT (N).Nkind = N_Entry_Body
1336         or else NT (N).Nkind = N_Extended_Return_Statement
1337         or else NT (N).Nkind = N_Package_Body
1338         or else NT (N).Nkind = N_Subprogram_Body
1339         or else NT (N).Nkind = N_Task_Body);
1340       return Node4 (N);
1341    end Handled_Statement_Sequence;
1342
1343    function Handler_List_Entry
1344       (N : Node_Id) return Node_Id is
1345    begin
1346       pragma Assert (False
1347         or else NT (N).Nkind = N_Object_Declaration);
1348       return Node2 (N);
1349    end Handler_List_Entry;
1350
1351    function Has_Created_Identifier
1352       (N : Node_Id) return Boolean is
1353    begin
1354       pragma Assert (False
1355         or else NT (N).Nkind = N_Block_Statement
1356         or else NT (N).Nkind = N_Loop_Statement);
1357       return Flag15 (N);
1358    end Has_Created_Identifier;
1359
1360    function Has_Dynamic_Length_Check
1361       (N : Node_Id) return Boolean is
1362    begin
1363       return Flag10 (N);
1364    end Has_Dynamic_Length_Check;
1365
1366    function Has_Dynamic_Range_Check
1367       (N : Node_Id) return Boolean is
1368    begin
1369       return Flag12 (N);
1370    end Has_Dynamic_Range_Check;
1371
1372    function Has_Init_Expression
1373       (N : Node_Id) return Boolean is
1374    begin
1375       pragma Assert (False
1376         or else NT (N).Nkind = N_Object_Declaration);
1377       return Flag14 (N);
1378    end Has_Init_Expression;
1379
1380    function Has_Local_Raise
1381       (N : Node_Id) return Boolean is
1382    begin
1383       pragma Assert (False
1384         or else NT (N).Nkind = N_Exception_Handler);
1385       return Flag8 (N);
1386    end Has_Local_Raise;
1387
1388    function Has_No_Elaboration_Code
1389       (N : Node_Id) return Boolean is
1390    begin
1391       pragma Assert (False
1392         or else NT (N).Nkind = N_Compilation_Unit);
1393       return Flag17 (N);
1394    end Has_No_Elaboration_Code;
1395
1396    function Has_Priority_Pragma
1397       (N : Node_Id) return Boolean is
1398    begin
1399       pragma Assert (False
1400         or else NT (N).Nkind = N_Protected_Definition
1401         or else NT (N).Nkind = N_Subprogram_Body
1402         or else NT (N).Nkind = N_Task_Definition);
1403       return Flag6 (N);
1404    end Has_Priority_Pragma;
1405
1406    function Has_Private_View
1407       (N : Node_Id) return Boolean is
1408    begin
1409       pragma Assert (False
1410        or else NT (N).Nkind in N_Op
1411        or else NT (N).Nkind = N_Character_Literal
1412        or else NT (N).Nkind = N_Expanded_Name
1413        or else NT (N).Nkind = N_Identifier
1414        or else NT (N).Nkind = N_Operator_Symbol);
1415       return Flag11 (N);
1416    end Has_Private_View;
1417
1418    function Has_Relative_Deadline_Pragma
1419       (N : Node_Id) return Boolean is
1420    begin
1421       pragma Assert (False
1422         or else NT (N).Nkind = N_Subprogram_Body
1423         or else NT (N).Nkind = N_Task_Definition);
1424       return Flag9 (N);
1425    end Has_Relative_Deadline_Pragma;
1426
1427    function Has_Self_Reference
1428       (N : Node_Id) return Boolean is
1429    begin
1430       pragma Assert (False
1431         or else NT (N).Nkind = N_Aggregate
1432         or else NT (N).Nkind = N_Extension_Aggregate);
1433       return Flag13 (N);
1434    end Has_Self_Reference;
1435
1436    function Has_Storage_Size_Pragma
1437       (N : Node_Id) return Boolean is
1438    begin
1439       pragma Assert (False
1440         or else NT (N).Nkind = N_Task_Definition);
1441       return Flag5 (N);
1442    end Has_Storage_Size_Pragma;
1443
1444    function Has_Task_Info_Pragma
1445       (N : Node_Id) return Boolean is
1446    begin
1447       pragma Assert (False
1448         or else NT (N).Nkind = N_Task_Definition);
1449       return Flag7 (N);
1450    end Has_Task_Info_Pragma;
1451
1452    function Has_Task_Name_Pragma
1453       (N : Node_Id) return Boolean is
1454    begin
1455       pragma Assert (False
1456         or else NT (N).Nkind = N_Task_Definition);
1457       return Flag8 (N);
1458    end Has_Task_Name_Pragma;
1459
1460    function Has_Wide_Character
1461       (N : Node_Id) return Boolean is
1462    begin
1463       pragma Assert (False
1464         or else NT (N).Nkind = N_String_Literal);
1465       return Flag11 (N);
1466    end Has_Wide_Character;
1467
1468    function Hidden_By_Use_Clause
1469      (N : Node_Id) return Elist_Id is
1470    begin
1471       pragma Assert (False
1472         or else NT (N).Nkind = N_Use_Package_Clause
1473         or else NT (N).Nkind = N_Use_Type_Clause);
1474       return Elist4 (N);
1475    end Hidden_By_Use_Clause;
1476
1477    function High_Bound
1478       (N : Node_Id) return Node_Id is
1479    begin
1480       pragma Assert (False
1481         or else NT (N).Nkind = N_Range
1482         or else NT (N).Nkind = N_Real_Range_Specification
1483         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
1484       return Node2 (N);
1485    end High_Bound;
1486
1487    function Identifier
1488       (N : Node_Id) return Node_Id is
1489    begin
1490       pragma Assert (False
1491         or else NT (N).Nkind = N_At_Clause
1492         or else NT (N).Nkind = N_Block_Statement
1493         or else NT (N).Nkind = N_Designator
1494         or else NT (N).Nkind = N_Enumeration_Representation_Clause
1495         or else NT (N).Nkind = N_Label
1496         or else NT (N).Nkind = N_Loop_Statement
1497         or else NT (N).Nkind = N_Record_Representation_Clause
1498         or else NT (N).Nkind = N_Subprogram_Info);
1499       return Node1 (N);
1500    end Identifier;
1501
1502    function Implicit_With
1503       (N : Node_Id) return Boolean is
1504    begin
1505       pragma Assert (False
1506         or else NT (N).Nkind = N_With_Clause);
1507       return Flag16 (N);
1508    end Implicit_With;
1509
1510    function Interface_List
1511       (N : Node_Id) return List_Id is
1512    begin
1513       pragma Assert (False
1514         or else NT (N).Nkind = N_Derived_Type_Definition
1515         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
1516         or else NT (N).Nkind = N_Private_Extension_Declaration
1517         or else NT (N).Nkind = N_Protected_Type_Declaration
1518         or else NT (N).Nkind = N_Record_Definition
1519         or else NT (N).Nkind = N_Single_Protected_Declaration
1520         or else NT (N).Nkind = N_Single_Task_Declaration
1521         or else NT (N).Nkind = N_Task_Type_Declaration);
1522       return List2 (N);
1523    end Interface_List;
1524
1525    function Interface_Present
1526       (N : Node_Id) return Boolean is
1527    begin
1528       pragma Assert (False
1529         or else NT (N).Nkind = N_Derived_Type_Definition
1530         or else NT (N).Nkind = N_Record_Definition);
1531       return Flag16 (N);
1532    end Interface_Present;
1533
1534    function In_Present
1535       (N : Node_Id) return Boolean is
1536    begin
1537       pragma Assert (False
1538         or else NT (N).Nkind = N_Formal_Object_Declaration
1539         or else NT (N).Nkind = N_Parameter_Specification);
1540       return Flag15 (N);
1541    end In_Present;
1542
1543    function Includes_Infinities
1544       (N : Node_Id) return Boolean is
1545    begin
1546       pragma Assert (False
1547         or else NT (N).Nkind = N_Range);
1548       return Flag11 (N);
1549    end Includes_Infinities;
1550
1551    function Instance_Spec
1552       (N : Node_Id) return Node_Id is
1553    begin
1554       pragma Assert (False
1555         or else NT (N).Nkind = N_Formal_Package_Declaration
1556         or else NT (N).Nkind = N_Function_Instantiation
1557         or else NT (N).Nkind = N_Package_Instantiation
1558         or else NT (N).Nkind = N_Procedure_Instantiation);
1559       return Node5 (N);
1560    end Instance_Spec;
1561
1562    function Intval
1563       (N : Node_Id) return Uint is
1564    begin
1565       pragma Assert (False
1566         or else NT (N).Nkind = N_Integer_Literal);
1567       return Uint3 (N);
1568    end Intval;
1569
1570    function Is_Asynchronous_Call_Block
1571       (N : Node_Id) return Boolean is
1572    begin
1573       pragma Assert (False
1574         or else NT (N).Nkind = N_Block_Statement);
1575       return Flag7 (N);
1576    end Is_Asynchronous_Call_Block;
1577
1578    function Is_Component_Left_Opnd
1579       (N : Node_Id) return Boolean is
1580    begin
1581       pragma Assert (False
1582         or else NT (N).Nkind = N_Op_Concat);
1583       return Flag13 (N);
1584    end Is_Component_Left_Opnd;
1585
1586    function Is_Component_Right_Opnd
1587       (N : Node_Id) return Boolean is
1588    begin
1589       pragma Assert (False
1590         or else NT (N).Nkind = N_Op_Concat);
1591       return Flag14 (N);
1592    end Is_Component_Right_Opnd;
1593
1594    function Is_Controlling_Actual
1595       (N : Node_Id) return Boolean is
1596    begin
1597       pragma Assert (False
1598         or else NT (N).Nkind in N_Subexpr);
1599       return Flag16 (N);
1600    end Is_Controlling_Actual;
1601
1602    function Is_Dynamic_Coextension
1603       (N : Node_Id) return Boolean is
1604    begin
1605       pragma Assert (False
1606         or else NT (N).Nkind = N_Allocator);
1607       return Flag18 (N);
1608    end Is_Dynamic_Coextension;
1609
1610    function Is_Entry_Barrier_Function
1611       (N : Node_Id) return Boolean is
1612    begin
1613       pragma Assert (False
1614         or else NT (N).Nkind = N_Subprogram_Body);
1615       return Flag8 (N);
1616    end Is_Entry_Barrier_Function;
1617
1618    function Is_Expanded_Build_In_Place_Call
1619       (N : Node_Id) return Boolean is
1620    begin
1621       pragma Assert (False
1622         or else NT (N).Nkind = N_Function_Call);
1623       return Flag11 (N);
1624    end Is_Expanded_Build_In_Place_Call;
1625
1626    function Is_Folded_In_Parser
1627       (N : Node_Id) return Boolean is
1628    begin
1629       pragma Assert (False
1630         or else NT (N).Nkind = N_String_Literal);
1631       return Flag4 (N);
1632    end Is_Folded_In_Parser;
1633
1634    function Is_In_Discriminant_Check
1635       (N : Node_Id) return Boolean is
1636    begin
1637       pragma Assert (False
1638         or else NT (N).Nkind = N_Selected_Component);
1639       return Flag11 (N);
1640    end Is_In_Discriminant_Check;
1641
1642    function Is_Machine_Number
1643       (N : Node_Id) return Boolean is
1644    begin
1645       pragma Assert (False
1646         or else NT (N).Nkind = N_Real_Literal);
1647       return Flag11 (N);
1648    end Is_Machine_Number;
1649
1650    function Is_Null_Loop
1651       (N : Node_Id) return Boolean is
1652    begin
1653       pragma Assert (False
1654         or else NT (N).Nkind = N_Loop_Statement);
1655       return Flag16 (N);
1656    end Is_Null_Loop;
1657
1658    function Is_Overloaded
1659       (N : Node_Id) return Boolean is
1660    begin
1661       pragma Assert (False
1662         or else NT (N).Nkind in N_Subexpr);
1663       return Flag5 (N);
1664    end Is_Overloaded;
1665
1666    function Is_Power_Of_2_For_Shift
1667       (N : Node_Id) return Boolean is
1668    begin
1669       pragma Assert (False
1670         or else NT (N).Nkind = N_Op_Expon);
1671       return Flag13 (N);
1672    end Is_Power_Of_2_For_Shift;
1673
1674    function Is_Protected_Subprogram_Body
1675       (N : Node_Id) return Boolean is
1676    begin
1677       pragma Assert (False
1678         or else NT (N).Nkind = N_Subprogram_Body);
1679       return Flag7 (N);
1680    end Is_Protected_Subprogram_Body;
1681
1682    function Is_Static_Coextension
1683       (N : Node_Id) return Boolean is
1684    begin
1685       pragma Assert (False
1686         or else NT (N).Nkind = N_Allocator);
1687       return Flag14 (N);
1688    end Is_Static_Coextension;
1689
1690    function Is_Static_Expression
1691       (N : Node_Id) return Boolean is
1692    begin
1693       pragma Assert (False
1694         or else NT (N).Nkind in N_Subexpr);
1695       return Flag6 (N);
1696    end Is_Static_Expression;
1697
1698    function Is_Subprogram_Descriptor
1699       (N : Node_Id) return Boolean is
1700    begin
1701       pragma Assert (False
1702         or else NT (N).Nkind = N_Object_Declaration);
1703       return Flag16 (N);
1704    end Is_Subprogram_Descriptor;
1705
1706    function Is_Task_Allocation_Block
1707       (N : Node_Id) return Boolean is
1708    begin
1709       pragma Assert (False
1710         or else NT (N).Nkind = N_Block_Statement);
1711       return Flag6 (N);
1712    end Is_Task_Allocation_Block;
1713
1714    function Is_Task_Master
1715       (N : Node_Id) return Boolean is
1716    begin
1717       pragma Assert (False
1718         or else NT (N).Nkind = N_Block_Statement
1719         or else NT (N).Nkind = N_Subprogram_Body
1720         or else NT (N).Nkind = N_Task_Body);
1721       return Flag5 (N);
1722    end Is_Task_Master;
1723
1724    function Iteration_Scheme
1725       (N : Node_Id) return Node_Id is
1726    begin
1727       pragma Assert (False
1728         or else NT (N).Nkind = N_Loop_Statement);
1729       return Node2 (N);
1730    end Iteration_Scheme;
1731
1732    function Itype
1733       (N : Node_Id) return Node_Id is
1734    begin
1735       pragma Assert (False
1736       or else NT (N).Nkind = N_Itype_Reference);
1737       return Node1 (N);
1738    end Itype;
1739
1740    function Kill_Range_Check
1741       (N : Node_Id) return Boolean is
1742    begin
1743       pragma Assert (False
1744         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
1745       return Flag11 (N);
1746    end Kill_Range_Check;
1747
1748    function Label_Construct
1749       (N : Node_Id) return Node_Id is
1750    begin
1751       pragma Assert (False
1752         or else NT (N).Nkind = N_Implicit_Label_Declaration);
1753       return Node2 (N);
1754    end Label_Construct;
1755
1756    function Last_Bit
1757       (N : Node_Id) return Node_Id is
1758    begin
1759       pragma Assert (False
1760         or else NT (N).Nkind = N_Component_Clause);
1761       return Node4 (N);
1762    end Last_Bit;
1763
1764    function Last_Name
1765       (N : Node_Id) return Boolean is
1766    begin
1767       pragma Assert (False
1768         or else NT (N).Nkind = N_With_Clause);
1769       return Flag6 (N);
1770    end Last_Name;
1771
1772    function Left_Opnd
1773       (N : Node_Id) return Node_Id is
1774    begin
1775       pragma Assert (False
1776         or else NT (N).Nkind = N_And_Then
1777         or else NT (N).Nkind = N_In
1778         or else NT (N).Nkind = N_Not_In
1779         or else NT (N).Nkind = N_Or_Else
1780         or else NT (N).Nkind in N_Binary_Op);
1781       return Node2 (N);
1782    end Left_Opnd;
1783
1784    function Library_Unit
1785       (N : Node_Id) return Node_Id is
1786    begin
1787       pragma Assert (False
1788         or else NT (N).Nkind = N_Compilation_Unit
1789         or else NT (N).Nkind = N_Package_Body_Stub
1790         or else NT (N).Nkind = N_Protected_Body_Stub
1791         or else NT (N).Nkind = N_Subprogram_Body_Stub
1792         or else NT (N).Nkind = N_Task_Body_Stub
1793         or else NT (N).Nkind = N_With_Clause);
1794       return Node4 (N);
1795    end Library_Unit;
1796
1797    function Limited_View_Installed
1798       (N : Node_Id) return Boolean is
1799    begin
1800       pragma Assert (False
1801         or else NT (N).Nkind = N_Package_Specification
1802         or else NT (N).Nkind = N_With_Clause);
1803       return Flag18 (N);
1804    end Limited_View_Installed;
1805
1806    function Limited_Present
1807       (N : Node_Id) return Boolean is
1808    begin
1809       pragma Assert (False
1810         or else NT (N).Nkind = N_Derived_Type_Definition
1811         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
1812         or else NT (N).Nkind = N_Formal_Private_Type_Definition
1813         or else NT (N).Nkind = N_Private_Extension_Declaration
1814         or else NT (N).Nkind = N_Private_Type_Declaration
1815         or else NT (N).Nkind = N_Record_Definition
1816         or else NT (N).Nkind = N_With_Clause);
1817       return Flag17 (N);
1818    end Limited_Present;
1819
1820    function Literals
1821       (N : Node_Id) return List_Id is
1822    begin
1823       pragma Assert (False
1824         or else NT (N).Nkind = N_Enumeration_Type_Definition);
1825       return List1 (N);
1826    end Literals;
1827
1828    function Local_Raise_Not_OK
1829       (N : Node_Id) return Boolean is
1830    begin
1831       pragma Assert (False
1832         or else NT (N).Nkind = N_Exception_Handler);
1833       return Flag7 (N);
1834    end Local_Raise_Not_OK;
1835
1836    function Local_Raise_Statements
1837       (N : Node_Id) return Elist_Id is
1838    begin
1839       pragma Assert (False
1840         or else NT (N).Nkind = N_Exception_Handler);
1841       return Elist1 (N);
1842    end Local_Raise_Statements;
1843
1844    function Loop_Actions
1845       (N : Node_Id) return List_Id is
1846    begin
1847       pragma Assert (False
1848         or else NT (N).Nkind = N_Component_Association);
1849       return List2 (N);
1850    end Loop_Actions;
1851
1852    function Loop_Parameter_Specification
1853       (N : Node_Id) return Node_Id is
1854    begin
1855       pragma Assert (False
1856         or else NT (N).Nkind = N_Iteration_Scheme);
1857       return Node4 (N);
1858    end Loop_Parameter_Specification;
1859
1860    function Low_Bound
1861       (N : Node_Id) return Node_Id is
1862    begin
1863       pragma Assert (False
1864         or else NT (N).Nkind = N_Range
1865         or else NT (N).Nkind = N_Real_Range_Specification
1866         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
1867       return Node1 (N);
1868    end Low_Bound;
1869
1870    function Mod_Clause
1871       (N : Node_Id) return Node_Id is
1872    begin
1873       pragma Assert (False
1874         or else NT (N).Nkind = N_Record_Representation_Clause);
1875       return Node2 (N);
1876    end Mod_Clause;
1877
1878    function More_Ids
1879       (N : Node_Id) return Boolean is
1880    begin
1881       pragma Assert (False
1882         or else NT (N).Nkind = N_Component_Declaration
1883         or else NT (N).Nkind = N_Discriminant_Specification
1884         or else NT (N).Nkind = N_Exception_Declaration
1885         or else NT (N).Nkind = N_Formal_Object_Declaration
1886         or else NT (N).Nkind = N_Number_Declaration
1887         or else NT (N).Nkind = N_Object_Declaration
1888         or else NT (N).Nkind = N_Parameter_Specification);
1889       return Flag5 (N);
1890    end More_Ids;
1891
1892    function Must_Be_Byte_Aligned
1893       (N : Node_Id) return Boolean is
1894    begin
1895       pragma Assert (False
1896         or else NT (N).Nkind = N_Attribute_Reference);
1897       return Flag14 (N);
1898    end Must_Be_Byte_Aligned;
1899
1900    function Must_Not_Freeze
1901       (N : Node_Id) return Boolean is
1902    begin
1903       pragma Assert (False
1904         or else NT (N).Nkind = N_Subtype_Indication
1905         or else NT (N).Nkind in N_Subexpr);
1906       return Flag8 (N);
1907    end Must_Not_Freeze;
1908
1909    function Must_Not_Override
1910       (N : Node_Id) return Boolean is
1911    begin
1912       pragma Assert (False
1913         or else NT (N).Nkind = N_Entry_Declaration
1914         or else NT (N).Nkind = N_Function_Instantiation
1915         or else NT (N).Nkind = N_Function_Specification
1916         or else NT (N).Nkind = N_Procedure_Instantiation
1917         or else NT (N).Nkind = N_Procedure_Specification);
1918       return Flag15 (N);
1919    end Must_Not_Override;
1920
1921    function Must_Override
1922       (N : Node_Id) return Boolean is
1923    begin
1924       pragma Assert (False
1925         or else NT (N).Nkind = N_Entry_Declaration
1926         or else NT (N).Nkind = N_Function_Instantiation
1927         or else NT (N).Nkind = N_Function_Specification
1928         or else NT (N).Nkind = N_Procedure_Instantiation
1929         or else NT (N).Nkind = N_Procedure_Specification);
1930       return Flag14 (N);
1931    end Must_Override;
1932
1933    function Name
1934       (N : Node_Id) return Node_Id is
1935    begin
1936       pragma Assert (False
1937         or else NT (N).Nkind = N_Assignment_Statement
1938         or else NT (N).Nkind = N_Attribute_Definition_Clause
1939         or else NT (N).Nkind = N_Defining_Program_Unit_Name
1940         or else NT (N).Nkind = N_Designator
1941         or else NT (N).Nkind = N_Entry_Call_Statement
1942         or else NT (N).Nkind = N_Exception_Renaming_Declaration
1943         or else NT (N).Nkind = N_Exit_Statement
1944         or else NT (N).Nkind = N_Formal_Package_Declaration
1945         or else NT (N).Nkind = N_Function_Call
1946         or else NT (N).Nkind = N_Function_Instantiation
1947         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
1948         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
1949         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
1950         or else NT (N).Nkind = N_Goto_Statement
1951         or else NT (N).Nkind = N_Object_Renaming_Declaration
1952         or else NT (N).Nkind = N_Package_Instantiation
1953         or else NT (N).Nkind = N_Package_Renaming_Declaration
1954         or else NT (N).Nkind = N_Procedure_Call_Statement
1955         or else NT (N).Nkind = N_Procedure_Instantiation
1956         or else NT (N).Nkind = N_Raise_Statement
1957         or else NT (N).Nkind = N_Requeue_Statement
1958         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
1959         or else NT (N).Nkind = N_Subunit
1960         or else NT (N).Nkind = N_Variant_Part
1961         or else NT (N).Nkind = N_With_Clause);
1962       return Node2 (N);
1963    end Name;
1964
1965    function Names
1966       (N : Node_Id) return List_Id is
1967    begin
1968       pragma Assert (False
1969         or else NT (N).Nkind = N_Abort_Statement
1970         or else NT (N).Nkind = N_Use_Package_Clause);
1971       return List2 (N);
1972    end Names;
1973
1974    function Next_Entity
1975       (N : Node_Id) return Node_Id is
1976    begin
1977       pragma Assert (False
1978         or else NT (N).Nkind = N_Defining_Character_Literal
1979         or else NT (N).Nkind = N_Defining_Identifier
1980         or else NT (N).Nkind = N_Defining_Operator_Symbol);
1981       return Node2 (N);
1982    end Next_Entity;
1983
1984    function Next_Named_Actual
1985       (N : Node_Id) return Node_Id is
1986    begin
1987       pragma Assert (False
1988         or else NT (N).Nkind = N_Parameter_Association);
1989       return Node4 (N);
1990    end Next_Named_Actual;
1991
1992    function Next_Pragma
1993       (N : Node_Id) return Node_Id is
1994    begin
1995       pragma Assert (False
1996         or else NT (N).Nkind = N_Pragma);
1997       return Node1 (N);
1998    end Next_Pragma;
1999
2000    function Next_Rep_Item
2001       (N : Node_Id) return Node_Id is
2002    begin
2003       pragma Assert (False
2004         or else NT (N).Nkind = N_Attribute_Definition_Clause
2005         or else NT (N).Nkind = N_Enumeration_Representation_Clause
2006         or else NT (N).Nkind = N_Pragma
2007         or else NT (N).Nkind = N_Record_Representation_Clause);
2008       return Node5 (N);
2009    end Next_Rep_Item;
2010
2011    function Next_Use_Clause
2012       (N : Node_Id) return Node_Id is
2013    begin
2014       pragma Assert (False
2015         or else NT (N).Nkind = N_Use_Package_Clause
2016         or else NT (N).Nkind = N_Use_Type_Clause);
2017       return Node3 (N);
2018    end Next_Use_Clause;
2019
2020    function No_Ctrl_Actions
2021       (N : Node_Id) return Boolean is
2022    begin
2023       pragma Assert (False
2024         or else NT (N).Nkind = N_Assignment_Statement);
2025       return Flag7 (N);
2026    end No_Ctrl_Actions;
2027
2028    function No_Elaboration_Check
2029       (N : Node_Id) return Boolean is
2030    begin
2031       pragma Assert (False
2032         or else NT (N).Nkind = N_Function_Call
2033         or else NT (N).Nkind = N_Procedure_Call_Statement);
2034       return Flag14 (N);
2035    end No_Elaboration_Check;
2036
2037    function No_Entities_Ref_In_Spec
2038       (N : Node_Id) return Boolean is
2039    begin
2040       pragma Assert (False
2041         or else NT (N).Nkind = N_With_Clause);
2042       return Flag8 (N);
2043    end No_Entities_Ref_In_Spec;
2044
2045    function No_Initialization
2046       (N : Node_Id) return Boolean is
2047    begin
2048       pragma Assert (False
2049         or else NT (N).Nkind = N_Allocator
2050         or else NT (N).Nkind = N_Object_Declaration);
2051       return Flag13 (N);
2052    end No_Initialization;
2053
2054    function No_Truncation
2055       (N : Node_Id) return Boolean is
2056    begin
2057       pragma Assert (False
2058         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
2059       return Flag17 (N);
2060    end No_Truncation;
2061
2062    function Null_Present
2063       (N : Node_Id) return Boolean is
2064    begin
2065       pragma Assert (False
2066         or else NT (N).Nkind = N_Component_List
2067         or else NT (N).Nkind = N_Procedure_Specification
2068         or else NT (N).Nkind = N_Record_Definition);
2069       return Flag13 (N);
2070    end Null_Present;
2071
2072    function Null_Exclusion_Present
2073       (N : Node_Id) return Boolean is
2074    begin
2075       pragma Assert (False
2076         or else NT (N).Nkind = N_Access_Definition
2077         or else NT (N).Nkind = N_Access_Function_Definition
2078         or else NT (N).Nkind = N_Access_Procedure_Definition
2079         or else NT (N).Nkind = N_Access_To_Object_Definition
2080         or else NT (N).Nkind = N_Allocator
2081         or else NT (N).Nkind = N_Component_Definition
2082         or else NT (N).Nkind = N_Derived_Type_Definition
2083         or else NT (N).Nkind = N_Discriminant_Specification
2084         or else NT (N).Nkind = N_Formal_Object_Declaration
2085         or else NT (N).Nkind = N_Function_Specification
2086         or else NT (N).Nkind = N_Object_Declaration
2087         or else NT (N).Nkind = N_Object_Renaming_Declaration
2088         or else NT (N).Nkind = N_Parameter_Specification
2089         or else NT (N).Nkind = N_Subtype_Declaration);
2090       return Flag11 (N);
2091    end Null_Exclusion_Present;
2092
2093    function Null_Record_Present
2094       (N : Node_Id) return Boolean is
2095    begin
2096       pragma Assert (False
2097         or else NT (N).Nkind = N_Aggregate
2098         or else NT (N).Nkind = N_Extension_Aggregate);
2099       return Flag17 (N);
2100    end Null_Record_Present;
2101
2102    function Object_Definition
2103       (N : Node_Id) return Node_Id is
2104    begin
2105       pragma Assert (False
2106         or else NT (N).Nkind = N_Object_Declaration);
2107       return Node4 (N);
2108    end Object_Definition;
2109
2110    function Original_Discriminant
2111       (N : Node_Id) return Node_Id is
2112    begin
2113       pragma Assert (False
2114         or else NT (N).Nkind = N_Identifier);
2115       return Node2 (N);
2116    end Original_Discriminant;
2117
2118    function Original_Entity
2119       (N : Node_Id) return Entity_Id is
2120    begin
2121       pragma Assert (False
2122         or else NT (N).Nkind = N_Integer_Literal
2123         or else NT (N).Nkind = N_Real_Literal);
2124       return Node2 (N);
2125    end Original_Entity;
2126
2127    function Others_Discrete_Choices
2128       (N : Node_Id) return List_Id is
2129    begin
2130       pragma Assert (False
2131         or else NT (N).Nkind = N_Others_Choice);
2132       return List1 (N);
2133    end Others_Discrete_Choices;
2134
2135    function Out_Present
2136       (N : Node_Id) return Boolean is
2137    begin
2138       pragma Assert (False
2139         or else NT (N).Nkind = N_Formal_Object_Declaration
2140         or else NT (N).Nkind = N_Parameter_Specification);
2141       return Flag17 (N);
2142    end Out_Present;
2143
2144    function Parameter_Associations
2145       (N : Node_Id) return List_Id is
2146    begin
2147       pragma Assert (False
2148         or else NT (N).Nkind = N_Entry_Call_Statement
2149         or else NT (N).Nkind = N_Function_Call
2150         or else NT (N).Nkind = N_Procedure_Call_Statement);
2151       return List3 (N);
2152    end Parameter_Associations;
2153
2154    function Parameter_List_Truncated
2155       (N : Node_Id) return Boolean is
2156    begin
2157       pragma Assert (False
2158         or else NT (N).Nkind = N_Function_Call
2159         or else NT (N).Nkind = N_Procedure_Call_Statement);
2160       return Flag17 (N);
2161    end Parameter_List_Truncated;
2162
2163    function Parameter_Specifications
2164       (N : Node_Id) return List_Id is
2165    begin
2166       pragma Assert (False
2167         or else NT (N).Nkind = N_Accept_Statement
2168         or else NT (N).Nkind = N_Access_Function_Definition
2169         or else NT (N).Nkind = N_Access_Procedure_Definition
2170         or else NT (N).Nkind = N_Entry_Body_Formal_Part
2171         or else NT (N).Nkind = N_Entry_Declaration
2172         or else NT (N).Nkind = N_Function_Specification
2173         or else NT (N).Nkind = N_Procedure_Specification);
2174       return List3 (N);
2175    end Parameter_Specifications;
2176
2177    function Parameter_Type
2178       (N : Node_Id) return Node_Id is
2179    begin
2180       pragma Assert (False
2181         or else NT (N).Nkind = N_Parameter_Specification);
2182       return Node2 (N);
2183    end Parameter_Type;
2184
2185    function Parent_Spec
2186       (N : Node_Id) return Node_Id is
2187    begin
2188       pragma Assert (False
2189         or else NT (N).Nkind = N_Function_Instantiation
2190         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
2191         or else NT (N).Nkind = N_Generic_Package_Declaration
2192         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
2193         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
2194         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
2195         or else NT (N).Nkind = N_Package_Declaration
2196         or else NT (N).Nkind = N_Package_Instantiation
2197         or else NT (N).Nkind = N_Package_Renaming_Declaration
2198         or else NT (N).Nkind = N_Procedure_Instantiation
2199         or else NT (N).Nkind = N_Subprogram_Declaration
2200         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
2201       return Node4 (N);
2202    end Parent_Spec;
2203
2204    function PPC_Enabled
2205      (N : Node_Id) return Boolean is
2206    begin
2207       pragma Assert (False
2208         or else NT (N).Nkind = N_Pragma);
2209       return Flag5 (N);
2210    end PPC_Enabled;
2211
2212    function Position
2213       (N : Node_Id) return Node_Id is
2214    begin
2215       pragma Assert (False
2216         or else NT (N).Nkind = N_Component_Clause);
2217       return Node2 (N);
2218    end Position;
2219
2220    function Pragma_Argument_Associations
2221       (N : Node_Id) return List_Id is
2222    begin
2223       pragma Assert (False
2224         or else NT (N).Nkind = N_Pragma);
2225       return List2 (N);
2226    end Pragma_Argument_Associations;
2227
2228    function Pragma_Identifier
2229       (N : Node_Id) return Node_Id is
2230    begin
2231       pragma Assert (False
2232         or else NT (N).Nkind = N_Pragma);
2233       return Node4 (N);
2234    end Pragma_Identifier;
2235
2236    function Pragmas_After
2237       (N : Node_Id) return List_Id is
2238    begin
2239       pragma Assert (False
2240         or else NT (N).Nkind = N_Compilation_Unit_Aux
2241         or else NT (N).Nkind = N_Terminate_Alternative);
2242       return List5 (N);
2243    end Pragmas_After;
2244
2245    function Pragmas_Before
2246       (N : Node_Id) return List_Id is
2247    begin
2248       pragma Assert (False
2249         or else NT (N).Nkind = N_Accept_Alternative
2250         or else NT (N).Nkind = N_Delay_Alternative
2251         or else NT (N).Nkind = N_Entry_Call_Alternative
2252         or else NT (N).Nkind = N_Mod_Clause
2253         or else NT (N).Nkind = N_Terminate_Alternative
2254         or else NT (N).Nkind = N_Triggering_Alternative);
2255       return List4 (N);
2256    end Pragmas_Before;
2257
2258    function Prefix
2259       (N : Node_Id) return Node_Id is
2260    begin
2261       pragma Assert (False
2262         or else NT (N).Nkind = N_Attribute_Reference
2263         or else NT (N).Nkind = N_Expanded_Name
2264         or else NT (N).Nkind = N_Explicit_Dereference
2265         or else NT (N).Nkind = N_Indexed_Component
2266         or else NT (N).Nkind = N_Reference
2267         or else NT (N).Nkind = N_Selected_Component
2268         or else NT (N).Nkind = N_Slice);
2269       return Node3 (N);
2270    end Prefix;
2271
2272    function Present_Expr
2273       (N : Node_Id) return Uint is
2274    begin
2275       pragma Assert (False
2276         or else NT (N).Nkind = N_Variant);
2277       return Uint3 (N);
2278    end Present_Expr;
2279
2280    function Prev_Ids
2281       (N : Node_Id) return Boolean is
2282    begin
2283       pragma Assert (False
2284         or else NT (N).Nkind = N_Component_Declaration
2285         or else NT (N).Nkind = N_Discriminant_Specification
2286         or else NT (N).Nkind = N_Exception_Declaration
2287         or else NT (N).Nkind = N_Formal_Object_Declaration
2288         or else NT (N).Nkind = N_Number_Declaration
2289         or else NT (N).Nkind = N_Object_Declaration
2290         or else NT (N).Nkind = N_Parameter_Specification);
2291       return Flag6 (N);
2292    end Prev_Ids;
2293
2294    function Print_In_Hex
2295       (N : Node_Id) return Boolean is
2296    begin
2297       pragma Assert (False
2298         or else NT (N).Nkind = N_Integer_Literal);
2299       return Flag13 (N);
2300    end Print_In_Hex;
2301
2302    function Private_Declarations
2303       (N : Node_Id) return List_Id is
2304    begin
2305       pragma Assert (False
2306         or else NT (N).Nkind = N_Package_Specification
2307         or else NT (N).Nkind = N_Protected_Definition
2308         or else NT (N).Nkind = N_Task_Definition);
2309       return List3 (N);
2310    end Private_Declarations;
2311
2312    function Private_Present
2313       (N : Node_Id) return Boolean is
2314    begin
2315       pragma Assert (False
2316         or else NT (N).Nkind = N_Compilation_Unit
2317         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2318         or else NT (N).Nkind = N_With_Clause);
2319       return Flag15 (N);
2320    end Private_Present;
2321
2322    function Procedure_To_Call
2323       (N : Node_Id) return Node_Id is
2324    begin
2325       pragma Assert (False
2326         or else NT (N).Nkind = N_Allocator
2327         or else NT (N).Nkind = N_Extended_Return_Statement
2328         or else NT (N).Nkind = N_Free_Statement
2329         or else NT (N).Nkind = N_Return_Statement);
2330       return Node2 (N);
2331    end Procedure_To_Call;
2332
2333    function Proper_Body
2334       (N : Node_Id) return Node_Id is
2335    begin
2336       pragma Assert (False
2337         or else NT (N).Nkind = N_Subunit);
2338       return Node1 (N);
2339    end Proper_Body;
2340
2341    function Protected_Definition
2342       (N : Node_Id) return Node_Id is
2343    begin
2344       pragma Assert (False
2345         or else NT (N).Nkind = N_Protected_Type_Declaration
2346         or else NT (N).Nkind = N_Single_Protected_Declaration);
2347       return Node3 (N);
2348    end Protected_Definition;
2349
2350    function Protected_Present
2351       (N : Node_Id) return Boolean is
2352    begin
2353       pragma Assert (False
2354         or else NT (N).Nkind = N_Access_Function_Definition
2355         or else NT (N).Nkind = N_Access_Procedure_Definition
2356         or else NT (N).Nkind = N_Derived_Type_Definition
2357         or else NT (N).Nkind = N_Record_Definition);
2358       return Flag6 (N);
2359    end Protected_Present;
2360
2361    function Raises_Constraint_Error
2362       (N : Node_Id) return Boolean is
2363    begin
2364       pragma Assert (False
2365         or else NT (N).Nkind in N_Subexpr);
2366       return Flag7 (N);
2367    end Raises_Constraint_Error;
2368
2369    function Range_Constraint
2370       (N : Node_Id) return Node_Id is
2371    begin
2372       pragma Assert (False
2373         or else NT (N).Nkind = N_Delta_Constraint
2374         or else NT (N).Nkind = N_Digits_Constraint);
2375       return Node4 (N);
2376    end Range_Constraint;
2377
2378    function Range_Expression
2379       (N : Node_Id) return Node_Id is
2380    begin
2381       pragma Assert (False
2382         or else NT (N).Nkind = N_Range_Constraint);
2383       return Node4 (N);
2384    end Range_Expression;
2385
2386    function Real_Range_Specification
2387       (N : Node_Id) return Node_Id is
2388    begin
2389       pragma Assert (False
2390         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
2391         or else NT (N).Nkind = N_Floating_Point_Definition
2392         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
2393       return Node4 (N);
2394    end Real_Range_Specification;
2395
2396    function Realval
2397       (N : Node_Id) return Ureal is
2398    begin
2399       pragma Assert (False
2400         or else NT (N).Nkind = N_Real_Literal);
2401       return Ureal3 (N);
2402    end Realval;
2403
2404    function Reason
2405       (N : Node_Id) return Uint is
2406    begin
2407       pragma Assert (False
2408         or else NT (N).Nkind = N_Raise_Constraint_Error
2409         or else NT (N).Nkind = N_Raise_Program_Error
2410         or else NT (N).Nkind = N_Raise_Storage_Error);
2411       return Uint3 (N);
2412    end Reason;
2413
2414    function Record_Extension_Part
2415       (N : Node_Id) return Node_Id is
2416    begin
2417       pragma Assert (False
2418         or else NT (N).Nkind = N_Derived_Type_Definition);
2419       return Node3 (N);
2420    end Record_Extension_Part;
2421
2422    function Redundant_Use
2423       (N : Node_Id) return Boolean is
2424    begin
2425       pragma Assert (False
2426         or else NT (N).Nkind = N_Attribute_Reference
2427         or else NT (N).Nkind = N_Expanded_Name
2428         or else NT (N).Nkind = N_Identifier);
2429       return Flag13 (N);
2430    end Redundant_Use;
2431
2432    function Renaming_Exception
2433       (N : Node_Id) return Node_Id is
2434    begin
2435       pragma Assert (False
2436         or else NT (N).Nkind = N_Exception_Declaration);
2437       return Node2 (N);
2438    end Renaming_Exception;
2439
2440    function Result_Definition
2441      (N : Node_Id) return Node_Id is
2442    begin
2443       pragma Assert (False
2444         or else NT (N).Nkind = N_Access_Function_Definition
2445         or else NT (N).Nkind = N_Function_Specification);
2446       return Node4 (N);
2447    end Result_Definition;
2448
2449    function Return_Object_Declarations
2450      (N : Node_Id) return List_Id is
2451    begin
2452       pragma Assert (False
2453         or else NT (N).Nkind = N_Extended_Return_Statement);
2454       return List3 (N);
2455    end Return_Object_Declarations;
2456
2457    function Return_Statement_Entity
2458      (N : Node_Id) return Node_Id is
2459    begin
2460       pragma Assert (False
2461         or else NT (N).Nkind = N_Extended_Return_Statement
2462         or else NT (N).Nkind = N_Return_Statement);
2463       return Node5 (N);
2464    end Return_Statement_Entity;
2465
2466    function Reverse_Present
2467       (N : Node_Id) return Boolean is
2468    begin
2469       pragma Assert (False
2470         or else NT (N).Nkind = N_Loop_Parameter_Specification);
2471       return Flag15 (N);
2472    end Reverse_Present;
2473
2474    function Right_Opnd
2475       (N : Node_Id) return Node_Id is
2476    begin
2477       pragma Assert (False
2478         or else NT (N).Nkind in N_Op
2479         or else NT (N).Nkind = N_And_Then
2480         or else NT (N).Nkind = N_In
2481         or else NT (N).Nkind = N_Not_In
2482         or else NT (N).Nkind = N_Or_Else);
2483       return Node3 (N);
2484    end Right_Opnd;
2485
2486    function Rounded_Result
2487       (N : Node_Id) return Boolean is
2488    begin
2489       pragma Assert (False
2490         or else NT (N).Nkind = N_Op_Divide
2491         or else NT (N).Nkind = N_Op_Multiply
2492         or else NT (N).Nkind = N_Type_Conversion);
2493       return Flag18 (N);
2494    end Rounded_Result;
2495
2496    function Scope
2497       (N : Node_Id) return Node_Id is
2498    begin
2499       pragma Assert (False
2500         or else NT (N).Nkind = N_Defining_Character_Literal
2501         or else NT (N).Nkind = N_Defining_Identifier
2502         or else NT (N).Nkind = N_Defining_Operator_Symbol);
2503       return Node3 (N);
2504    end Scope;
2505
2506    function Select_Alternatives
2507       (N : Node_Id) return List_Id is
2508    begin
2509       pragma Assert (False
2510         or else NT (N).Nkind = N_Selective_Accept);
2511       return List1 (N);
2512    end Select_Alternatives;
2513
2514    function Selector_Name
2515       (N : Node_Id) return Node_Id is
2516    begin
2517       pragma Assert (False
2518         or else NT (N).Nkind = N_Expanded_Name
2519         or else NT (N).Nkind = N_Generic_Association
2520         or else NT (N).Nkind = N_Parameter_Association
2521         or else NT (N).Nkind = N_Selected_Component);
2522       return Node2 (N);
2523    end Selector_Name;
2524
2525    function Selector_Names
2526       (N : Node_Id) return List_Id is
2527    begin
2528       pragma Assert (False
2529         or else NT (N).Nkind = N_Discriminant_Association);
2530       return List1 (N);
2531    end Selector_Names;
2532
2533    function Shift_Count_OK
2534       (N : Node_Id) return Boolean is
2535    begin
2536       pragma Assert (False
2537         or else NT (N).Nkind = N_Op_Rotate_Left
2538         or else NT (N).Nkind = N_Op_Rotate_Right
2539         or else NT (N).Nkind = N_Op_Shift_Left
2540         or else NT (N).Nkind = N_Op_Shift_Right
2541         or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
2542       return Flag4 (N);
2543    end Shift_Count_OK;
2544
2545    function Source_Type
2546       (N : Node_Id) return Entity_Id is
2547    begin
2548       pragma Assert (False
2549         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
2550       return Node1 (N);
2551    end Source_Type;
2552
2553    function Specification
2554       (N : Node_Id) return Node_Id is
2555    begin
2556       pragma Assert (False
2557         or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
2558         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
2559         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
2560         or else NT (N).Nkind = N_Generic_Package_Declaration
2561         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
2562         or else NT (N).Nkind = N_Package_Declaration
2563         or else NT (N).Nkind = N_Subprogram_Body
2564         or else NT (N).Nkind = N_Subprogram_Body_Stub
2565         or else NT (N).Nkind = N_Subprogram_Declaration
2566         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
2567       return Node1 (N);
2568    end Specification;
2569
2570    function Statements
2571       (N : Node_Id) return List_Id is
2572    begin
2573       pragma Assert (False
2574         or else NT (N).Nkind = N_Abortable_Part
2575         or else NT (N).Nkind = N_Accept_Alternative
2576         or else NT (N).Nkind = N_Case_Statement_Alternative
2577         or else NT (N).Nkind = N_Delay_Alternative
2578         or else NT (N).Nkind = N_Entry_Call_Alternative
2579         or else NT (N).Nkind = N_Exception_Handler
2580         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
2581         or else NT (N).Nkind = N_Loop_Statement
2582         or else NT (N).Nkind = N_Triggering_Alternative);
2583       return List3 (N);
2584    end Statements;
2585
2586    function Static_Processing_OK
2587       (N : Node_Id) return Boolean is
2588    begin
2589       pragma Assert (False
2590         or else NT (N).Nkind = N_Aggregate);
2591       return Flag4 (N);
2592    end Static_Processing_OK;
2593
2594    function Storage_Pool
2595       (N : Node_Id) return Node_Id is
2596    begin
2597       pragma Assert (False
2598         or else NT (N).Nkind = N_Allocator
2599         or else NT (N).Nkind = N_Extended_Return_Statement
2600         or else NT (N).Nkind = N_Free_Statement
2601         or else NT (N).Nkind = N_Return_Statement);
2602       return Node1 (N);
2603    end Storage_Pool;
2604
2605    function Strval
2606       (N : Node_Id) return String_Id is
2607    begin
2608       pragma Assert (False
2609         or else NT (N).Nkind = N_Operator_Symbol
2610         or else NT (N).Nkind = N_String_Literal);
2611       return Str3 (N);
2612    end Strval;
2613
2614    function Subtype_Indication
2615       (N : Node_Id) return Node_Id is
2616    begin
2617       pragma Assert (False
2618         or else NT (N).Nkind = N_Access_To_Object_Definition
2619         or else NT (N).Nkind = N_Component_Definition
2620         or else NT (N).Nkind = N_Derived_Type_Definition
2621         or else NT (N).Nkind = N_Private_Extension_Declaration
2622         or else NT (N).Nkind = N_Subtype_Declaration);
2623       return Node5 (N);
2624    end Subtype_Indication;
2625
2626    function Subtype_Mark
2627       (N : Node_Id) return Node_Id is
2628    begin
2629       pragma Assert (False
2630         or else NT (N).Nkind = N_Access_Definition
2631         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2632         or else NT (N).Nkind = N_Formal_Object_Declaration
2633         or else NT (N).Nkind = N_Object_Renaming_Declaration
2634         or else NT (N).Nkind = N_Qualified_Expression
2635         or else NT (N).Nkind = N_Subtype_Indication
2636         or else NT (N).Nkind = N_Type_Conversion
2637         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
2638       return Node4 (N);
2639    end Subtype_Mark;
2640
2641    function Subtype_Marks
2642       (N : Node_Id) return List_Id is
2643    begin
2644       pragma Assert (False
2645         or else NT (N).Nkind = N_Unconstrained_Array_Definition
2646         or else NT (N).Nkind = N_Use_Type_Clause);
2647       return List2 (N);
2648    end Subtype_Marks;
2649
2650    function Synchronized_Present
2651      (N : Node_Id) return Boolean is
2652    begin
2653       pragma Assert (False
2654         or else NT (N).Nkind = N_Derived_Type_Definition
2655         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2656         or else NT (N).Nkind = N_Private_Extension_Declaration
2657         or else NT (N).Nkind = N_Record_Definition);
2658       return Flag7 (N);
2659    end Synchronized_Present;
2660
2661    function Tagged_Present
2662       (N : Node_Id) return Boolean is
2663    begin
2664       pragma Assert (False
2665         or else NT (N).Nkind = N_Formal_Private_Type_Definition
2666         or else NT (N).Nkind = N_Incomplete_Type_Declaration
2667         or else NT (N).Nkind = N_Private_Type_Declaration
2668         or else NT (N).Nkind = N_Record_Definition);
2669       return Flag15 (N);
2670    end Tagged_Present;
2671
2672    function Target_Type
2673       (N : Node_Id) return Entity_Id is
2674    begin
2675       pragma Assert (False
2676         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
2677       return Node2 (N);
2678    end Target_Type;
2679
2680    function Task_Definition
2681       (N : Node_Id) return Node_Id is
2682    begin
2683       pragma Assert (False
2684         or else NT (N).Nkind = N_Single_Task_Declaration
2685         or else NT (N).Nkind = N_Task_Type_Declaration);
2686       return Node3 (N);
2687    end Task_Definition;
2688
2689    function Task_Present
2690      (N : Node_Id) return Boolean is
2691    begin
2692       pragma Assert (False
2693         or else NT (N).Nkind = N_Derived_Type_Definition
2694         or else NT (N).Nkind = N_Record_Definition);
2695       return Flag5 (N);
2696    end Task_Present;
2697
2698    function Then_Actions
2699       (N : Node_Id) return List_Id is
2700    begin
2701       pragma Assert (False
2702         or else NT (N).Nkind = N_Conditional_Expression);
2703       return List2 (N);
2704    end Then_Actions;
2705
2706    function Then_Statements
2707       (N : Node_Id) return List_Id is
2708    begin
2709       pragma Assert (False
2710         or else NT (N).Nkind = N_Elsif_Part
2711         or else NT (N).Nkind = N_If_Statement);
2712       return List2 (N);
2713    end Then_Statements;
2714
2715    function Treat_Fixed_As_Integer
2716       (N : Node_Id) return Boolean is
2717    begin
2718       pragma Assert (False
2719         or else NT (N).Nkind = N_Op_Divide
2720         or else NT (N).Nkind = N_Op_Mod
2721         or else NT (N).Nkind = N_Op_Multiply
2722         or else NT (N).Nkind = N_Op_Rem);
2723       return Flag14 (N);
2724    end Treat_Fixed_As_Integer;
2725
2726    function Triggering_Alternative
2727       (N : Node_Id) return Node_Id is
2728    begin
2729       pragma Assert (False
2730         or else NT (N).Nkind = N_Asynchronous_Select);
2731       return Node1 (N);
2732    end Triggering_Alternative;
2733
2734    function Triggering_Statement
2735       (N : Node_Id) return Node_Id is
2736    begin
2737       pragma Assert (False
2738         or else NT (N).Nkind = N_Triggering_Alternative);
2739       return Node1 (N);
2740    end Triggering_Statement;
2741
2742    function TSS_Elist
2743       (N : Node_Id) return Elist_Id is
2744    begin
2745       pragma Assert (False
2746         or else NT (N).Nkind = N_Freeze_Entity);
2747       return Elist3 (N);
2748    end TSS_Elist;
2749
2750    function Type_Definition
2751       (N : Node_Id) return Node_Id is
2752    begin
2753       pragma Assert (False
2754         or else NT (N).Nkind = N_Full_Type_Declaration);
2755       return Node3 (N);
2756    end Type_Definition;
2757
2758    function Unit
2759       (N : Node_Id) return Node_Id is
2760    begin
2761       pragma Assert (False
2762         or else NT (N).Nkind = N_Compilation_Unit);
2763       return Node2 (N);
2764    end Unit;
2765
2766    function Unknown_Discriminants_Present
2767       (N : Node_Id) return Boolean is
2768    begin
2769       pragma Assert (False
2770         or else NT (N).Nkind = N_Formal_Type_Declaration
2771         or else NT (N).Nkind = N_Incomplete_Type_Declaration
2772         or else NT (N).Nkind = N_Private_Extension_Declaration
2773         or else NT (N).Nkind = N_Private_Type_Declaration);
2774       return Flag13 (N);
2775    end Unknown_Discriminants_Present;
2776
2777    function Unreferenced_In_Spec
2778       (N : Node_Id) return Boolean is
2779    begin
2780       pragma Assert (False
2781         or else NT (N).Nkind = N_With_Clause);
2782       return Flag7 (N);
2783    end Unreferenced_In_Spec;
2784
2785    function Variant_Part
2786       (N : Node_Id) return Node_Id is
2787    begin
2788       pragma Assert (False
2789         or else NT (N).Nkind = N_Component_List);
2790       return Node4 (N);
2791    end Variant_Part;
2792
2793    function Variants
2794       (N : Node_Id) return List_Id is
2795    begin
2796       pragma Assert (False
2797         or else NT (N).Nkind = N_Variant_Part);
2798       return List1 (N);
2799    end Variants;
2800
2801    function Visible_Declarations
2802       (N : Node_Id) return List_Id is
2803    begin
2804       pragma Assert (False
2805         or else NT (N).Nkind = N_Package_Specification
2806         or else NT (N).Nkind = N_Protected_Definition
2807         or else NT (N).Nkind = N_Task_Definition);
2808       return List2 (N);
2809    end Visible_Declarations;
2810
2811    function Was_Originally_Stub
2812       (N : Node_Id) return Boolean is
2813    begin
2814       pragma Assert (False
2815         or else NT (N).Nkind = N_Package_Body
2816         or else NT (N).Nkind = N_Protected_Body
2817         or else NT (N).Nkind = N_Subprogram_Body
2818         or else NT (N).Nkind = N_Task_Body);
2819       return Flag13 (N);
2820    end Was_Originally_Stub;
2821
2822    function Zero_Cost_Handling
2823       (N : Node_Id) return Boolean is
2824    begin
2825       pragma Assert (False
2826         or else NT (N).Nkind = N_Exception_Handler
2827         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
2828       return Flag5 (N);
2829    end Zero_Cost_Handling;
2830
2831    --------------------------
2832    -- Field Set Procedures --
2833    --------------------------
2834
2835    procedure Set_ABE_Is_Certain
2836       (N : Node_Id; Val : Boolean := True) is
2837    begin
2838       pragma Assert (False
2839         or else NT (N).Nkind = N_Formal_Package_Declaration
2840         or else NT (N).Nkind = N_Function_Call
2841         or else NT (N).Nkind = N_Function_Instantiation
2842         or else NT (N).Nkind = N_Package_Instantiation
2843         or else NT (N).Nkind = N_Procedure_Call_Statement
2844         or else NT (N).Nkind = N_Procedure_Instantiation);
2845       Set_Flag18 (N, Val);
2846    end Set_ABE_Is_Certain;
2847
2848    procedure Set_Abort_Present
2849       (N : Node_Id; Val : Boolean := True) is
2850    begin
2851       pragma Assert (False
2852         or else NT (N).Nkind = N_Requeue_Statement);
2853       Set_Flag15 (N, Val);
2854    end Set_Abort_Present;
2855
2856    procedure Set_Abortable_Part
2857       (N : Node_Id; Val : Node_Id) is
2858    begin
2859       pragma Assert (False
2860         or else NT (N).Nkind = N_Asynchronous_Select);
2861       Set_Node2_With_Parent (N, Val);
2862    end Set_Abortable_Part;
2863
2864    procedure Set_Abstract_Present
2865       (N : Node_Id; Val : Boolean := True) is
2866    begin
2867       pragma Assert (False
2868         or else NT (N).Nkind = N_Derived_Type_Definition
2869         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2870         or else NT (N).Nkind = N_Formal_Private_Type_Definition
2871         or else NT (N).Nkind = N_Private_Extension_Declaration
2872         or else NT (N).Nkind = N_Private_Type_Declaration
2873         or else NT (N).Nkind = N_Record_Definition);
2874       Set_Flag4 (N, Val);
2875    end Set_Abstract_Present;
2876
2877    procedure Set_Accept_Handler_Records
2878       (N : Node_Id; Val : List_Id) is
2879    begin
2880       pragma Assert (False
2881         or else NT (N).Nkind = N_Accept_Alternative);
2882       Set_List5 (N, Val); -- semantic field, no parent set
2883    end Set_Accept_Handler_Records;
2884
2885    procedure Set_Accept_Statement
2886       (N : Node_Id; Val : Node_Id) is
2887    begin
2888       pragma Assert (False
2889         or else NT (N).Nkind = N_Accept_Alternative);
2890       Set_Node2_With_Parent (N, Val);
2891    end Set_Accept_Statement;
2892
2893    procedure Set_Access_Definition
2894      (N : Node_Id; Val : Node_Id) is
2895    begin
2896       pragma Assert (False
2897         or else NT (N).Nkind = N_Component_Definition
2898         or else NT (N).Nkind = N_Formal_Object_Declaration
2899         or else NT (N).Nkind = N_Object_Renaming_Declaration);
2900       Set_Node3_With_Parent (N, Val);
2901    end Set_Access_Definition;
2902
2903    procedure Set_Access_To_Subprogram_Definition
2904      (N : Node_Id; Val : Node_Id) is
2905    begin
2906       pragma Assert (False
2907         or else NT (N).Nkind = N_Access_Definition);
2908       Set_Node3_With_Parent (N, Val);
2909    end Set_Access_To_Subprogram_Definition;
2910
2911    procedure Set_Access_Types_To_Process
2912       (N : Node_Id; Val : Elist_Id) is
2913    begin
2914       pragma Assert (False
2915         or else NT (N).Nkind = N_Freeze_Entity);
2916       Set_Elist2 (N, Val); -- semantic field, no parent set
2917    end Set_Access_Types_To_Process;
2918
2919    procedure Set_Actions
2920       (N : Node_Id; Val : List_Id) is
2921    begin
2922       pragma Assert (False
2923         or else NT (N).Nkind = N_And_Then
2924         or else NT (N).Nkind = N_Compilation_Unit_Aux
2925         or else NT (N).Nkind = N_Freeze_Entity
2926         or else NT (N).Nkind = N_Or_Else);
2927       Set_List1_With_Parent (N, Val);
2928    end Set_Actions;
2929
2930    procedure Set_Activation_Chain_Entity
2931       (N : Node_Id; Val : Node_Id) is
2932    begin
2933       pragma Assert (False
2934         or else NT (N).Nkind = N_Block_Statement
2935         or else NT (N).Nkind = N_Entry_Body
2936         or else NT (N).Nkind = N_Generic_Package_Declaration
2937         or else NT (N).Nkind = N_Package_Declaration
2938         or else NT (N).Nkind = N_Subprogram_Body
2939         or else NT (N).Nkind = N_Task_Body);
2940       Set_Node3 (N, Val); -- semantic field, no parent set
2941    end Set_Activation_Chain_Entity;
2942
2943    procedure Set_Acts_As_Spec
2944       (N : Node_Id; Val : Boolean := True) is
2945    begin
2946       pragma Assert (False
2947         or else NT (N).Nkind = N_Compilation_Unit
2948         or else NT (N).Nkind = N_Subprogram_Body);
2949       Set_Flag4 (N, Val);
2950    end Set_Acts_As_Spec;
2951
2952    procedure Set_Actual_Designated_Subtype
2953      (N : Node_Id; Val : Node_Id) is
2954    begin
2955       pragma Assert (False
2956         or else NT (N).Nkind = N_Explicit_Dereference
2957         or else NT (N).Nkind = N_Free_Statement);
2958       Set_Node4 (N, Val);
2959    end Set_Actual_Designated_Subtype;
2960
2961    procedure Set_Address_Warning_Posted
2962       (N : Node_Id; Val : Boolean := True) is
2963    begin
2964       pragma Assert (False
2965         or else NT (N).Nkind = N_Attribute_Definition_Clause);
2966       Set_Flag18 (N, Val);
2967    end Set_Address_Warning_Posted;
2968
2969    procedure Set_Aggregate_Bounds
2970       (N : Node_Id; Val : Node_Id) is
2971    begin
2972       pragma Assert (False
2973         or else NT (N).Nkind = N_Aggregate);
2974       Set_Node3 (N, Val); -- semantic field, no parent set
2975    end Set_Aggregate_Bounds;
2976
2977    procedure Set_Aliased_Present
2978       (N : Node_Id; Val : Boolean := True) is
2979    begin
2980       pragma Assert (False
2981         or else NT (N).Nkind = N_Component_Definition
2982         or else NT (N).Nkind = N_Object_Declaration);
2983       Set_Flag4 (N, Val);
2984    end Set_Aliased_Present;
2985
2986    procedure Set_All_Others
2987       (N : Node_Id; Val : Boolean := True) is
2988    begin
2989       pragma Assert (False
2990         or else NT (N).Nkind = N_Others_Choice);
2991       Set_Flag11 (N, Val);
2992    end Set_All_Others;
2993
2994    procedure Set_All_Present
2995       (N : Node_Id; Val : Boolean := True) is
2996    begin
2997       pragma Assert (False
2998         or else NT (N).Nkind = N_Access_Definition
2999         or else NT (N).Nkind = N_Access_To_Object_Definition);
3000       Set_Flag15 (N, Val);
3001    end Set_All_Present;
3002
3003    procedure Set_Alternatives
3004       (N : Node_Id; Val : List_Id) is
3005    begin
3006       pragma Assert (False
3007         or else NT (N).Nkind = N_Case_Statement);
3008       Set_List4_With_Parent (N, Val);
3009    end Set_Alternatives;
3010
3011    procedure Set_Ancestor_Part
3012       (N : Node_Id; Val : Node_Id) is
3013    begin
3014       pragma Assert (False
3015         or else NT (N).Nkind = N_Extension_Aggregate);
3016       Set_Node3_With_Parent (N, Val);
3017    end Set_Ancestor_Part;
3018
3019    procedure Set_Array_Aggregate
3020       (N : Node_Id; Val : Node_Id) is
3021    begin
3022       pragma Assert (False
3023         or else NT (N).Nkind = N_Enumeration_Representation_Clause);
3024       Set_Node3_With_Parent (N, Val);
3025    end Set_Array_Aggregate;
3026
3027    procedure Set_Assignment_OK
3028       (N : Node_Id; Val : Boolean := True) is
3029    begin
3030       pragma Assert (False
3031         or else NT (N).Nkind = N_Object_Declaration
3032         or else NT (N).Nkind in N_Subexpr);
3033       Set_Flag15 (N, Val);
3034    end Set_Assignment_OK;
3035
3036    procedure Set_Associated_Node
3037       (N : Node_Id; Val : Node_Id) is
3038    begin
3039       pragma Assert (False
3040         or else NT (N).Nkind in N_Has_Entity
3041         or else NT (N).Nkind = N_Aggregate
3042         or else NT (N).Nkind = N_Extension_Aggregate
3043         or else NT (N).Nkind = N_Selected_Component);
3044       Set_Node4 (N, Val); -- semantic field, no parent set
3045    end Set_Associated_Node;
3046
3047    procedure Set_At_End_Proc
3048       (N : Node_Id; Val : Node_Id) is
3049    begin
3050       pragma Assert (False
3051         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3052       Set_Node1 (N, Val);
3053    end Set_At_End_Proc;
3054
3055    procedure Set_Attribute_Name
3056       (N : Node_Id; Val : Name_Id) is
3057    begin
3058       pragma Assert (False
3059         or else NT (N).Nkind = N_Attribute_Reference);
3060       Set_Name2 (N, Val);
3061    end Set_Attribute_Name;
3062
3063    procedure Set_Aux_Decls_Node
3064       (N : Node_Id; Val : Node_Id) is
3065    begin
3066       pragma Assert (False
3067         or else NT (N).Nkind = N_Compilation_Unit);
3068       Set_Node5_With_Parent (N, Val);
3069    end Set_Aux_Decls_Node;
3070
3071    procedure Set_Backwards_OK
3072       (N : Node_Id; Val : Boolean := True) is
3073    begin
3074       pragma Assert (False
3075         or else NT (N).Nkind = N_Assignment_Statement);
3076       Set_Flag6 (N, Val);
3077    end Set_Backwards_OK;
3078
3079    procedure Set_Bad_Is_Detected
3080       (N : Node_Id; Val : Boolean := True) is
3081    begin
3082       pragma Assert (False
3083         or else NT (N).Nkind = N_Subprogram_Body);
3084       Set_Flag15 (N, Val);
3085    end Set_Bad_Is_Detected;
3086
3087    procedure Set_Body_Required
3088       (N : Node_Id; Val : Boolean := True) is
3089    begin
3090       pragma Assert (False
3091         or else NT (N).Nkind = N_Compilation_Unit);
3092       Set_Flag13 (N, Val);
3093    end Set_Body_Required;
3094
3095    procedure Set_Body_To_Inline
3096       (N : Node_Id; Val : Node_Id) is
3097    begin
3098       pragma Assert (False
3099         or else NT (N).Nkind = N_Subprogram_Declaration);
3100       Set_Node3 (N, Val);
3101    end Set_Body_To_Inline;
3102
3103    procedure Set_Box_Present
3104       (N : Node_Id; Val : Boolean := True) is
3105    begin
3106       pragma Assert (False
3107         or else NT (N).Nkind = N_Component_Association
3108         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
3109         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
3110         or else NT (N).Nkind = N_Formal_Package_Declaration
3111         or else NT (N).Nkind = N_Generic_Association);
3112       Set_Flag15 (N, Val);
3113    end Set_Box_Present;
3114
3115    procedure Set_By_Ref
3116       (N : Node_Id; Val : Boolean := True) is
3117    begin
3118       pragma Assert (False
3119         or else NT (N).Nkind = N_Extended_Return_Statement
3120         or else NT (N).Nkind = N_Return_Statement);
3121       Set_Flag5 (N, Val);
3122    end Set_By_Ref;
3123
3124    procedure Set_Char_Literal_Value
3125       (N : Node_Id; Val : Uint) is
3126    begin
3127       pragma Assert (False
3128         or else NT (N).Nkind = N_Character_Literal);
3129       Set_Uint2 (N, Val);
3130    end Set_Char_Literal_Value;
3131
3132    procedure Set_Chars
3133       (N : Node_Id; Val : Name_Id) is
3134    begin
3135       pragma Assert (False
3136         or else NT (N).Nkind in N_Has_Chars);
3137       Set_Name1 (N, Val);
3138    end Set_Chars;
3139
3140    procedure Set_Check_Address_Alignment
3141       (N : Node_Id; Val : Boolean := True) is
3142    begin
3143       pragma Assert (False
3144           or else NT (N).Nkind = N_Attribute_Definition_Clause);
3145       Set_Flag11 (N, Val);
3146    end Set_Check_Address_Alignment;
3147
3148    procedure Set_Choice_Parameter
3149       (N : Node_Id; Val : Node_Id) is
3150    begin
3151       pragma Assert (False
3152         or else NT (N).Nkind = N_Exception_Handler);
3153       Set_Node2_With_Parent (N, Val);
3154    end Set_Choice_Parameter;
3155
3156    procedure Set_Choices
3157       (N : Node_Id; Val : List_Id) is
3158    begin
3159       pragma Assert (False
3160         or else NT (N).Nkind = N_Component_Association);
3161       Set_List1_With_Parent (N, Val);
3162    end Set_Choices;
3163
3164    procedure Set_Coextensions
3165       (N : Node_Id; Val : Elist_Id) is
3166    begin
3167       pragma Assert (False
3168         or else NT (N).Nkind = N_Allocator);
3169       Set_Elist4 (N, Val);
3170    end Set_Coextensions;
3171
3172    procedure Set_Comes_From_Extended_Return_Statement
3173      (N : Node_Id; Val : Boolean := True) is
3174    begin
3175       pragma Assert (False
3176         or else NT (N).Nkind = N_Return_Statement);
3177       Set_Flag18 (N, Val);
3178    end Set_Comes_From_Extended_Return_Statement;
3179
3180    procedure Set_Compile_Time_Known_Aggregate
3181       (N : Node_Id; Val : Boolean := True) is
3182    begin
3183       pragma Assert (False
3184         or else NT (N).Nkind = N_Aggregate);
3185       Set_Flag18 (N, Val);
3186    end Set_Compile_Time_Known_Aggregate;
3187
3188    procedure Set_Component_Associations
3189       (N : Node_Id; Val : List_Id) is
3190    begin
3191       pragma Assert (False
3192         or else NT (N).Nkind = N_Aggregate
3193         or else NT (N).Nkind = N_Extension_Aggregate);
3194       Set_List2_With_Parent (N, Val);
3195    end Set_Component_Associations;
3196
3197    procedure Set_Component_Clauses
3198       (N : Node_Id; Val : List_Id) is
3199    begin
3200       pragma Assert (False
3201         or else NT (N).Nkind = N_Record_Representation_Clause);
3202       Set_List3_With_Parent (N, Val);
3203    end Set_Component_Clauses;
3204
3205    procedure Set_Component_Definition
3206       (N : Node_Id; Val : Node_Id) is
3207    begin
3208       pragma Assert (False
3209         or else NT (N).Nkind = N_Component_Declaration
3210         or else NT (N).Nkind = N_Constrained_Array_Definition
3211         or else NT (N).Nkind = N_Unconstrained_Array_Definition);
3212       Set_Node4_With_Parent (N, Val);
3213    end Set_Component_Definition;
3214
3215    procedure Set_Component_Items
3216       (N : Node_Id; Val : List_Id) is
3217    begin
3218       pragma Assert (False
3219         or else NT (N).Nkind = N_Component_List);
3220       Set_List3_With_Parent (N, Val);
3221    end Set_Component_Items;
3222
3223    procedure Set_Component_List
3224       (N : Node_Id; Val : Node_Id) is
3225    begin
3226       pragma Assert (False
3227         or else NT (N).Nkind = N_Record_Definition
3228         or else NT (N).Nkind = N_Variant);
3229       Set_Node1_With_Parent (N, Val);
3230    end Set_Component_List;
3231
3232    procedure Set_Component_Name
3233       (N : Node_Id; Val : Node_Id) is
3234    begin
3235       pragma Assert (False
3236         or else NT (N).Nkind = N_Component_Clause);
3237       Set_Node1_With_Parent (N, Val);
3238    end Set_Component_Name;
3239
3240    procedure Set_Condition
3241       (N : Node_Id; Val : Node_Id) is
3242    begin
3243       pragma Assert (False
3244         or else NT (N).Nkind = N_Accept_Alternative
3245         or else NT (N).Nkind = N_Delay_Alternative
3246         or else NT (N).Nkind = N_Elsif_Part
3247         or else NT (N).Nkind = N_Entry_Body_Formal_Part
3248         or else NT (N).Nkind = N_Exit_Statement
3249         or else NT (N).Nkind = N_If_Statement
3250         or else NT (N).Nkind = N_Iteration_Scheme
3251         or else NT (N).Nkind = N_Raise_Constraint_Error
3252         or else NT (N).Nkind = N_Raise_Program_Error
3253         or else NT (N).Nkind = N_Raise_Storage_Error
3254         or else NT (N).Nkind = N_Terminate_Alternative);
3255       Set_Node1_With_Parent (N, Val);
3256    end Set_Condition;
3257
3258    procedure Set_Condition_Actions
3259       (N : Node_Id; Val : List_Id) is
3260    begin
3261       pragma Assert (False
3262         or else NT (N).Nkind = N_Elsif_Part
3263         or else NT (N).Nkind = N_Iteration_Scheme);
3264       Set_List3 (N, Val); -- semantic field, no parent set
3265    end Set_Condition_Actions;
3266
3267    procedure Set_Config_Pragmas
3268       (N : Node_Id; Val : List_Id) is
3269    begin
3270       pragma Assert (False
3271         or else NT (N).Nkind = N_Compilation_Unit_Aux);
3272       Set_List4_With_Parent (N, Val);
3273    end Set_Config_Pragmas;
3274
3275    procedure Set_Constant_Present
3276       (N : Node_Id; Val : Boolean := True) is
3277    begin
3278       pragma Assert (False
3279         or else NT (N).Nkind = N_Access_Definition
3280         or else NT (N).Nkind = N_Access_To_Object_Definition
3281         or else NT (N).Nkind = N_Object_Declaration);
3282       Set_Flag17 (N, Val);
3283    end Set_Constant_Present;
3284
3285    procedure Set_Constraint
3286       (N : Node_Id; Val : Node_Id) is
3287    begin
3288       pragma Assert (False
3289         or else NT (N).Nkind = N_Subtype_Indication);
3290       Set_Node3_With_Parent (N, Val);
3291    end Set_Constraint;
3292
3293    procedure Set_Constraints
3294       (N : Node_Id; Val : List_Id) is
3295    begin
3296       pragma Assert (False
3297         or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint);
3298       Set_List1_With_Parent (N, Val);
3299    end Set_Constraints;
3300
3301    procedure Set_Context_Installed
3302       (N : Node_Id; Val : Boolean := True) is
3303    begin
3304       pragma Assert (False
3305         or else NT (N).Nkind = N_With_Clause);
3306       Set_Flag13 (N, Val);
3307    end Set_Context_Installed;
3308
3309    procedure Set_Context_Items
3310       (N : Node_Id; Val : List_Id) is
3311    begin
3312       pragma Assert (False
3313         or else NT (N).Nkind = N_Compilation_Unit);
3314       Set_List1_With_Parent (N, Val);
3315    end Set_Context_Items;
3316
3317    procedure Set_Controlling_Argument
3318       (N : Node_Id; Val : Node_Id) is
3319    begin
3320       pragma Assert (False
3321         or else NT (N).Nkind = N_Function_Call
3322         or else NT (N).Nkind = N_Procedure_Call_Statement);
3323       Set_Node1 (N, Val); -- semantic field, no parent set
3324    end Set_Controlling_Argument;
3325
3326    procedure Set_Conversion_OK
3327       (N : Node_Id; Val : Boolean := True) is
3328    begin
3329       pragma Assert (False
3330         or else NT (N).Nkind = N_Type_Conversion);
3331       Set_Flag14 (N, Val);
3332    end Set_Conversion_OK;
3333
3334    procedure Set_Corresponding_Body
3335       (N : Node_Id; Val : Node_Id) is
3336    begin
3337       pragma Assert (False
3338         or else NT (N).Nkind = N_Entry_Declaration
3339         or else NT (N).Nkind = N_Generic_Package_Declaration
3340         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
3341         or else NT (N).Nkind = N_Package_Body_Stub
3342         or else NT (N).Nkind = N_Package_Declaration
3343         or else NT (N).Nkind = N_Protected_Body_Stub
3344         or else NT (N).Nkind = N_Protected_Type_Declaration
3345         or else NT (N).Nkind = N_Subprogram_Body_Stub
3346         or else NT (N).Nkind = N_Subprogram_Declaration
3347         or else NT (N).Nkind = N_Task_Body_Stub
3348         or else NT (N).Nkind = N_Task_Type_Declaration);
3349       Set_Node5 (N, Val); -- semantic field, no parent set
3350    end Set_Corresponding_Body;
3351
3352    procedure Set_Corresponding_Formal_Spec
3353       (N : Node_Id; Val : Node_Id) is
3354    begin
3355       pragma Assert (False
3356         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
3357       Set_Node3 (N, Val); -- semantic field, no parent set
3358    end Set_Corresponding_Formal_Spec;
3359
3360    procedure Set_Corresponding_Generic_Association
3361       (N : Node_Id; Val : Node_Id) is
3362    begin
3363       pragma Assert (False
3364         or else NT (N).Nkind = N_Object_Declaration
3365         or else NT (N).Nkind = N_Object_Renaming_Declaration);
3366       Set_Node5 (N, Val); -- semantic field, no parent set
3367    end Set_Corresponding_Generic_Association;
3368
3369    procedure Set_Corresponding_Integer_Value
3370       (N : Node_Id; Val : Uint) is
3371    begin
3372       pragma Assert (False
3373         or else NT (N).Nkind = N_Real_Literal);
3374       Set_Uint4 (N, Val); -- semantic field, no parent set
3375    end Set_Corresponding_Integer_Value;
3376
3377    procedure Set_Corresponding_Spec
3378       (N : Node_Id; Val : Node_Id) is
3379    begin
3380       pragma Assert (False
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_Subprogram_Renaming_Declaration
3385         or else NT (N).Nkind = N_Task_Body
3386         or else NT (N).Nkind = N_With_Clause);
3387       Set_Node5 (N, Val); -- semantic field, no parent set
3388    end Set_Corresponding_Spec;
3389
3390    procedure Set_Corresponding_Stub
3391       (N : Node_Id; Val : Node_Id) is
3392    begin
3393       pragma Assert (False
3394         or else NT (N).Nkind = N_Subunit);
3395       Set_Node3 (N, Val);
3396    end Set_Corresponding_Stub;
3397
3398    procedure Set_Dcheck_Function
3399       (N : Node_Id; Val : Entity_Id) is
3400    begin
3401       pragma Assert (False
3402         or else NT (N).Nkind = N_Variant);
3403       Set_Node5 (N, Val); -- semantic field, no parent set
3404    end Set_Dcheck_Function;
3405
3406    procedure Set_Debug_Statement
3407       (N : Node_Id; Val : Node_Id) is
3408    begin
3409       pragma Assert (False
3410         or else NT (N).Nkind = N_Pragma);
3411       Set_Node3_With_Parent (N, Val);
3412    end Set_Debug_Statement;
3413
3414    procedure Set_Declarations
3415       (N : Node_Id; Val : List_Id) is
3416    begin
3417       pragma Assert (False
3418         or else NT (N).Nkind = N_Accept_Statement
3419         or else NT (N).Nkind = N_Block_Statement
3420         or else NT (N).Nkind = N_Compilation_Unit_Aux
3421         or else NT (N).Nkind = N_Entry_Body
3422         or else NT (N).Nkind = N_Package_Body
3423         or else NT (N).Nkind = N_Protected_Body
3424         or else NT (N).Nkind = N_Subprogram_Body
3425         or else NT (N).Nkind = N_Task_Body);
3426       Set_List2_With_Parent (N, Val);
3427    end Set_Declarations;
3428
3429    procedure Set_Default_Expression
3430       (N : Node_Id; Val : Node_Id) is
3431    begin
3432       pragma Assert (False
3433         or else NT (N).Nkind = N_Formal_Object_Declaration
3434         or else NT (N).Nkind = N_Parameter_Specification);
3435       Set_Node5 (N, Val); -- semantic field, no parent set
3436    end Set_Default_Expression;
3437
3438    procedure Set_Default_Name
3439       (N : Node_Id; Val : Node_Id) is
3440    begin
3441       pragma Assert (False
3442         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
3443         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration);
3444       Set_Node2_With_Parent (N, Val);
3445    end Set_Default_Name;
3446
3447    procedure Set_Defining_Identifier
3448       (N : Node_Id; Val : Entity_Id) is
3449    begin
3450       pragma Assert (False
3451         or else NT (N).Nkind = N_Component_Declaration
3452         or else NT (N).Nkind = N_Defining_Program_Unit_Name
3453         or else NT (N).Nkind = N_Discriminant_Specification
3454         or else NT (N).Nkind = N_Entry_Body
3455         or else NT (N).Nkind = N_Entry_Declaration
3456         or else NT (N).Nkind = N_Entry_Index_Specification
3457         or else NT (N).Nkind = N_Exception_Declaration
3458         or else NT (N).Nkind = N_Exception_Renaming_Declaration
3459         or else NT (N).Nkind = N_Formal_Object_Declaration
3460         or else NT (N).Nkind = N_Formal_Package_Declaration
3461         or else NT (N).Nkind = N_Formal_Type_Declaration
3462         or else NT (N).Nkind = N_Full_Type_Declaration
3463         or else NT (N).Nkind = N_Implicit_Label_Declaration
3464         or else NT (N).Nkind = N_Incomplete_Type_Declaration
3465         or else NT (N).Nkind = N_Loop_Parameter_Specification
3466         or else NT (N).Nkind = N_Number_Declaration
3467         or else NT (N).Nkind = N_Object_Declaration
3468         or else NT (N).Nkind = N_Object_Renaming_Declaration
3469         or else NT (N).Nkind = N_Package_Body_Stub
3470         or else NT (N).Nkind = N_Parameter_Specification
3471         or else NT (N).Nkind = N_Private_Extension_Declaration
3472         or else NT (N).Nkind = N_Private_Type_Declaration
3473         or else NT (N).Nkind = N_Protected_Body
3474         or else NT (N).Nkind = N_Protected_Body_Stub
3475         or else NT (N).Nkind = N_Protected_Type_Declaration
3476         or else NT (N).Nkind = N_Single_Protected_Declaration
3477         or else NT (N).Nkind = N_Single_Task_Declaration
3478         or else NT (N).Nkind = N_Subtype_Declaration
3479         or else NT (N).Nkind = N_Task_Body
3480         or else NT (N).Nkind = N_Task_Body_Stub
3481         or else NT (N).Nkind = N_Task_Type_Declaration);
3482       Set_Node1_With_Parent (N, Val);
3483    end Set_Defining_Identifier;
3484
3485    procedure Set_Defining_Unit_Name
3486       (N : Node_Id; Val : Node_Id) is
3487    begin
3488       pragma Assert (False
3489         or else NT (N).Nkind = N_Function_Instantiation
3490         or else NT (N).Nkind = N_Function_Specification
3491         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
3492         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
3493         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
3494         or else NT (N).Nkind = N_Package_Body
3495         or else NT (N).Nkind = N_Package_Instantiation
3496         or else NT (N).Nkind = N_Package_Renaming_Declaration
3497         or else NT (N).Nkind = N_Package_Specification
3498         or else NT (N).Nkind = N_Procedure_Instantiation
3499         or else NT (N).Nkind = N_Procedure_Specification);
3500       Set_Node1_With_Parent (N, Val);
3501    end Set_Defining_Unit_Name;
3502
3503    procedure Set_Delay_Alternative
3504       (N : Node_Id; Val : Node_Id) is
3505    begin
3506       pragma Assert (False
3507         or else NT (N).Nkind = N_Timed_Entry_Call);
3508       Set_Node4_With_Parent (N, Val);
3509    end Set_Delay_Alternative;
3510
3511    procedure Set_Delay_Statement
3512       (N : Node_Id; Val : Node_Id) is
3513    begin
3514       pragma Assert (False
3515         or else NT (N).Nkind = N_Delay_Alternative);
3516       Set_Node2_With_Parent (N, Val);
3517    end Set_Delay_Statement;
3518
3519    procedure Set_Delta_Expression
3520       (N : Node_Id; Val : Node_Id) is
3521    begin
3522       pragma Assert (False
3523         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
3524         or else NT (N).Nkind = N_Delta_Constraint
3525         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
3526       Set_Node3_With_Parent (N, Val);
3527    end Set_Delta_Expression;
3528
3529    procedure Set_Digits_Expression
3530       (N : Node_Id; Val : Node_Id) is
3531    begin
3532       pragma Assert (False
3533         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
3534         or else NT (N).Nkind = N_Digits_Constraint
3535         or else NT (N).Nkind = N_Floating_Point_Definition);
3536       Set_Node2_With_Parent (N, Val);
3537    end Set_Digits_Expression;
3538
3539    procedure Set_Discr_Check_Funcs_Built
3540       (N : Node_Id; Val : Boolean := True) is
3541    begin
3542       pragma Assert (False
3543         or else NT (N).Nkind = N_Full_Type_Declaration);
3544       Set_Flag11 (N, Val);
3545    end Set_Discr_Check_Funcs_Built;
3546
3547    procedure Set_Discrete_Choices
3548       (N : Node_Id; Val : List_Id) is
3549    begin
3550       pragma Assert (False
3551         or else NT (N).Nkind = N_Case_Statement_Alternative
3552         or else NT (N).Nkind = N_Variant);
3553       Set_List4_With_Parent (N, Val);
3554    end Set_Discrete_Choices;
3555
3556    procedure Set_Discrete_Range
3557       (N : Node_Id; Val : Node_Id) is
3558    begin
3559       pragma Assert (False
3560         or else NT (N).Nkind = N_Slice);
3561       Set_Node4_With_Parent (N, Val);
3562    end Set_Discrete_Range;
3563
3564    procedure Set_Discrete_Subtype_Definition
3565       (N : Node_Id; Val : Node_Id) is
3566    begin
3567       pragma Assert (False
3568         or else NT (N).Nkind = N_Entry_Declaration
3569         or else NT (N).Nkind = N_Entry_Index_Specification
3570         or else NT (N).Nkind = N_Loop_Parameter_Specification);
3571       Set_Node4_With_Parent (N, Val);
3572    end Set_Discrete_Subtype_Definition;
3573
3574    procedure Set_Discrete_Subtype_Definitions
3575       (N : Node_Id; Val : List_Id) is
3576    begin
3577       pragma Assert (False
3578         or else NT (N).Nkind = N_Constrained_Array_Definition);
3579       Set_List2_With_Parent (N, Val);
3580    end Set_Discrete_Subtype_Definitions;
3581
3582    procedure Set_Discriminant_Specifications
3583       (N : Node_Id; Val : List_Id) is
3584    begin
3585       pragma Assert (False
3586         or else NT (N).Nkind = N_Formal_Type_Declaration
3587         or else NT (N).Nkind = N_Full_Type_Declaration
3588         or else NT (N).Nkind = N_Incomplete_Type_Declaration
3589         or else NT (N).Nkind = N_Private_Extension_Declaration
3590         or else NT (N).Nkind = N_Private_Type_Declaration
3591         or else NT (N).Nkind = N_Protected_Type_Declaration
3592         or else NT (N).Nkind = N_Task_Type_Declaration);
3593       Set_List4_With_Parent (N, Val);
3594    end Set_Discriminant_Specifications;
3595
3596    procedure Set_Discriminant_Type
3597       (N : Node_Id; Val : Node_Id) is
3598    begin
3599       pragma Assert (False
3600         or else NT (N).Nkind = N_Discriminant_Specification);
3601       Set_Node5_With_Parent (N, Val);
3602    end Set_Discriminant_Type;
3603
3604    procedure Set_Do_Accessibility_Check
3605       (N : Node_Id; Val : Boolean := True) is
3606    begin
3607       pragma Assert (False
3608         or else NT (N).Nkind = N_Parameter_Specification);
3609       Set_Flag13 (N, Val);
3610    end Set_Do_Accessibility_Check;
3611
3612    procedure Set_Do_Discriminant_Check
3613       (N : Node_Id; Val : Boolean := True) is
3614    begin
3615       pragma Assert (False
3616         or else NT (N).Nkind = N_Selected_Component);
3617       Set_Flag13 (N, Val);
3618    end Set_Do_Discriminant_Check;
3619
3620    procedure Set_Do_Division_Check
3621       (N : Node_Id; Val : Boolean := True) is
3622    begin
3623       pragma Assert (False
3624         or else NT (N).Nkind = N_Op_Divide
3625         or else NT (N).Nkind = N_Op_Mod
3626         or else NT (N).Nkind = N_Op_Rem);
3627       Set_Flag13 (N, Val);
3628    end Set_Do_Division_Check;
3629
3630    procedure Set_Do_Length_Check
3631       (N : Node_Id; Val : Boolean := True) is
3632    begin
3633       pragma Assert (False
3634         or else NT (N).Nkind = N_Assignment_Statement
3635         or else NT (N).Nkind = N_Op_And
3636         or else NT (N).Nkind = N_Op_Or
3637         or else NT (N).Nkind = N_Op_Xor
3638         or else NT (N).Nkind = N_Type_Conversion);
3639       Set_Flag4 (N, Val);
3640    end Set_Do_Length_Check;
3641
3642    procedure Set_Do_Overflow_Check
3643       (N : Node_Id; Val : Boolean := True) is
3644    begin
3645       pragma Assert (False
3646         or else NT (N).Nkind in N_Op
3647         or else NT (N).Nkind = N_Attribute_Reference
3648         or else NT (N).Nkind = N_Type_Conversion);
3649       Set_Flag17 (N, Val);
3650    end Set_Do_Overflow_Check;
3651
3652    procedure Set_Do_Range_Check
3653       (N : Node_Id; Val : Boolean := True) is
3654    begin
3655       pragma Assert (False
3656         or else NT (N).Nkind in N_Subexpr);
3657       Set_Flag9 (N, Val);
3658    end Set_Do_Range_Check;
3659
3660    procedure Set_Do_Storage_Check
3661       (N : Node_Id; Val : Boolean := True) is
3662    begin
3663       pragma Assert (False
3664         or else NT (N).Nkind = N_Allocator
3665         or else NT (N).Nkind = N_Subprogram_Body);
3666       Set_Flag17 (N, Val);
3667    end Set_Do_Storage_Check;
3668
3669    procedure Set_Do_Tag_Check
3670       (N : Node_Id; Val : Boolean := True) is
3671    begin
3672       pragma Assert (False
3673         or else NT (N).Nkind = N_Assignment_Statement
3674         or else NT (N).Nkind = N_Extended_Return_Statement
3675         or else NT (N).Nkind = N_Function_Call
3676         or else NT (N).Nkind = N_Procedure_Call_Statement
3677         or else NT (N).Nkind = N_Return_Statement
3678         or else NT (N).Nkind = N_Type_Conversion);
3679       Set_Flag13 (N, Val);
3680    end Set_Do_Tag_Check;
3681
3682    procedure Set_Elaborate_All_Desirable
3683       (N : Node_Id; Val : Boolean := True) is
3684    begin
3685       pragma Assert (False
3686         or else NT (N).Nkind = N_With_Clause);
3687       Set_Flag9 (N, Val);
3688    end Set_Elaborate_All_Desirable;
3689
3690    procedure Set_Elaborate_All_Present
3691       (N : Node_Id; Val : Boolean := True) is
3692    begin
3693       pragma Assert (False
3694         or else NT (N).Nkind = N_With_Clause);
3695       Set_Flag14 (N, Val);
3696    end Set_Elaborate_All_Present;
3697
3698    procedure Set_Elaborate_Desirable
3699       (N : Node_Id; Val : Boolean := True) is
3700    begin
3701       pragma Assert (False
3702         or else NT (N).Nkind = N_With_Clause);
3703       Set_Flag11 (N, Val);
3704    end Set_Elaborate_Desirable;
3705
3706    procedure Set_Elaborate_Present
3707       (N : Node_Id; Val : Boolean := True) is
3708    begin
3709       pragma Assert (False
3710         or else NT (N).Nkind = N_With_Clause);
3711       Set_Flag4 (N, Val);
3712    end Set_Elaborate_Present;
3713
3714    procedure Set_Elaboration_Boolean
3715       (N : Node_Id; Val : Node_Id) is
3716    begin
3717       pragma Assert (False
3718         or else NT (N).Nkind = N_Function_Specification
3719         or else NT (N).Nkind = N_Procedure_Specification);
3720       Set_Node2 (N, Val);
3721    end Set_Elaboration_Boolean;
3722
3723    procedure Set_Else_Actions
3724       (N : Node_Id; Val : List_Id) is
3725    begin
3726       pragma Assert (False
3727         or else NT (N).Nkind = N_Conditional_Expression);
3728       Set_List3 (N, Val); -- semantic field, no parent set
3729    end Set_Else_Actions;
3730
3731    procedure Set_Else_Statements
3732       (N : Node_Id; Val : List_Id) is
3733    begin
3734       pragma Assert (False
3735         or else NT (N).Nkind = N_Conditional_Entry_Call
3736         or else NT (N).Nkind = N_If_Statement
3737         or else NT (N).Nkind = N_Selective_Accept);
3738       Set_List4_With_Parent (N, Val);
3739    end Set_Else_Statements;
3740
3741    procedure Set_Elsif_Parts
3742       (N : Node_Id; Val : List_Id) is
3743    begin
3744       pragma Assert (False
3745         or else NT (N).Nkind = N_If_Statement);
3746       Set_List3_With_Parent (N, Val);
3747    end Set_Elsif_Parts;
3748
3749    procedure Set_Enclosing_Variant
3750       (N : Node_Id; Val : Node_Id) is
3751    begin
3752       pragma Assert (False
3753         or else NT (N).Nkind = N_Variant);
3754       Set_Node2 (N, Val); -- semantic field, no parent set
3755    end Set_Enclosing_Variant;
3756
3757    procedure Set_End_Label
3758       (N : Node_Id; Val : Node_Id) is
3759    begin
3760       pragma Assert (False
3761         or else NT (N).Nkind = N_Enumeration_Type_Definition
3762         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
3763         or else NT (N).Nkind = N_Loop_Statement
3764         or else NT (N).Nkind = N_Package_Specification
3765         or else NT (N).Nkind = N_Protected_Body
3766         or else NT (N).Nkind = N_Protected_Definition
3767         or else NT (N).Nkind = N_Record_Definition
3768         or else NT (N).Nkind = N_Task_Definition);
3769       Set_Node4_With_Parent (N, Val);
3770    end Set_End_Label;
3771
3772    procedure Set_End_Span
3773       (N : Node_Id; Val : Uint) is
3774    begin
3775       pragma Assert (False
3776         or else NT (N).Nkind = N_Case_Statement
3777         or else NT (N).Nkind = N_If_Statement);
3778       Set_Uint5 (N, Val);
3779    end Set_End_Span;
3780
3781    procedure Set_Entity
3782       (N : Node_Id; Val : Node_Id) is
3783    begin
3784       pragma Assert (False
3785         or else NT (N).Nkind in N_Has_Entity
3786         or else NT (N).Nkind = N_Freeze_Entity
3787         or else NT (N).Nkind = N_Attribute_Definition_Clause);
3788       Set_Node4 (N, Val); -- semantic field, no parent set
3789    end Set_Entity;
3790
3791    procedure Set_Entry_Body_Formal_Part
3792       (N : Node_Id; Val : Node_Id) is
3793    begin
3794       pragma Assert (False
3795         or else NT (N).Nkind = N_Entry_Body);
3796       Set_Node5_With_Parent (N, Val);
3797    end Set_Entry_Body_Formal_Part;
3798
3799    procedure Set_Entry_Call_Alternative
3800       (N : Node_Id; Val : Node_Id) is
3801    begin
3802       pragma Assert (False
3803         or else NT (N).Nkind = N_Conditional_Entry_Call
3804         or else NT (N).Nkind = N_Timed_Entry_Call);
3805       Set_Node1_With_Parent (N, Val);
3806    end Set_Entry_Call_Alternative;
3807
3808    procedure Set_Entry_Call_Statement
3809       (N : Node_Id; Val : Node_Id) is
3810    begin
3811       pragma Assert (False
3812         or else NT (N).Nkind = N_Entry_Call_Alternative);
3813       Set_Node1_With_Parent (N, Val);
3814    end Set_Entry_Call_Statement;
3815
3816    procedure Set_Entry_Direct_Name
3817       (N : Node_Id; Val : Node_Id) is
3818    begin
3819       pragma Assert (False
3820         or else NT (N).Nkind = N_Accept_Statement);
3821       Set_Node1_With_Parent (N, Val);
3822    end Set_Entry_Direct_Name;
3823
3824    procedure Set_Entry_Index
3825       (N : Node_Id; Val : Node_Id) is
3826    begin
3827       pragma Assert (False
3828         or else NT (N).Nkind = N_Accept_Statement);
3829       Set_Node5_With_Parent (N, Val);
3830    end Set_Entry_Index;
3831
3832    procedure Set_Entry_Index_Specification
3833       (N : Node_Id; Val : Node_Id) is
3834    begin
3835       pragma Assert (False
3836         or else NT (N).Nkind = N_Entry_Body_Formal_Part);
3837       Set_Node4_With_Parent (N, Val);
3838    end Set_Entry_Index_Specification;
3839
3840    procedure Set_Etype
3841       (N : Node_Id; Val : Node_Id) is
3842    begin
3843       pragma Assert (False
3844         or else NT (N).Nkind in N_Has_Etype);
3845       Set_Node5 (N, Val); -- semantic field, no parent set
3846    end Set_Etype;
3847
3848    procedure Set_Exception_Choices
3849       (N : Node_Id; Val : List_Id) is
3850    begin
3851       pragma Assert (False
3852         or else NT (N).Nkind = N_Exception_Handler);
3853       Set_List4_With_Parent (N, Val);
3854    end Set_Exception_Choices;
3855
3856    procedure Set_Exception_Handlers
3857       (N : Node_Id; Val : List_Id) is
3858    begin
3859       pragma Assert (False
3860         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3861       Set_List5_With_Parent (N, Val);
3862    end Set_Exception_Handlers;
3863
3864    procedure Set_Exception_Junk
3865      (N : Node_Id; Val : Boolean := True) is
3866    begin
3867       pragma Assert (False
3868         or else NT (N).Nkind = N_Block_Statement
3869         or else NT (N).Nkind = N_Goto_Statement
3870         or else NT (N).Nkind = N_Label
3871         or else NT (N).Nkind = N_Object_Declaration
3872         or else NT (N).Nkind = N_Subtype_Declaration);
3873       Set_Flag8 (N, Val);
3874    end Set_Exception_Junk;
3875
3876    procedure Set_Exception_Label
3877      (N : Node_Id; Val : Node_Id) is
3878    begin
3879       pragma Assert (False
3880         or else NT (N).Nkind = N_Exception_Handler
3881         or else NT (N).Nkind = N_Push_Constraint_Error_Label
3882         or else NT (N).Nkind = N_Push_Program_Error_Label
3883         or else NT (N).Nkind = N_Push_Storage_Error_Label);
3884       Set_Node5 (N, Val); -- semantic field, no parent set
3885    end Set_Exception_Label;
3886
3887    procedure Set_Expansion_Delayed
3888      (N : Node_Id; Val : Boolean := True) is
3889    begin
3890       pragma Assert (False
3891         or else NT (N).Nkind = N_Aggregate
3892         or else NT (N).Nkind = N_Extension_Aggregate);
3893       Set_Flag11 (N, Val);
3894    end Set_Expansion_Delayed;
3895
3896    procedure Set_Explicit_Actual_Parameter
3897       (N : Node_Id; Val : Node_Id) is
3898    begin
3899       pragma Assert (False
3900         or else NT (N).Nkind = N_Parameter_Association);
3901       Set_Node3_With_Parent (N, Val);
3902    end Set_Explicit_Actual_Parameter;
3903
3904    procedure Set_Explicit_Generic_Actual_Parameter
3905       (N : Node_Id; Val : Node_Id) is
3906    begin
3907       pragma Assert (False
3908         or else NT (N).Nkind = N_Generic_Association);
3909       Set_Node1_With_Parent (N, Val);
3910    end Set_Explicit_Generic_Actual_Parameter;
3911
3912    procedure Set_Expression
3913       (N : Node_Id; Val : Node_Id) is
3914    begin
3915       pragma Assert (False
3916         or else NT (N).Nkind = N_Allocator
3917         or else NT (N).Nkind = N_Assignment_Statement
3918         or else NT (N).Nkind = N_At_Clause
3919         or else NT (N).Nkind = N_Attribute_Definition_Clause
3920         or else NT (N).Nkind = N_Case_Statement
3921         or else NT (N).Nkind = N_Code_Statement
3922         or else NT (N).Nkind = N_Component_Association
3923         or else NT (N).Nkind = N_Component_Declaration
3924         or else NT (N).Nkind = N_Delay_Relative_Statement
3925         or else NT (N).Nkind = N_Delay_Until_Statement
3926         or else NT (N).Nkind = N_Discriminant_Association
3927         or else NT (N).Nkind = N_Discriminant_Specification
3928         or else NT (N).Nkind = N_Exception_Declaration
3929         or else NT (N).Nkind = N_Free_Statement
3930         or else NT (N).Nkind = N_Mod_Clause
3931         or else NT (N).Nkind = N_Modular_Type_Definition
3932         or else NT (N).Nkind = N_Number_Declaration
3933         or else NT (N).Nkind = N_Object_Declaration
3934         or else NT (N).Nkind = N_Parameter_Specification
3935         or else NT (N).Nkind = N_Pragma_Argument_Association
3936         or else NT (N).Nkind = N_Qualified_Expression
3937         or else NT (N).Nkind = N_Raise_Statement
3938         or else NT (N).Nkind = N_Return_Statement
3939         or else NT (N).Nkind = N_Type_Conversion
3940         or else NT (N).Nkind = N_Unchecked_Expression
3941         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
3942       Set_Node3_With_Parent (N, Val);
3943    end Set_Expression;
3944
3945    procedure Set_Expressions
3946       (N : Node_Id; Val : List_Id) is
3947    begin
3948       pragma Assert (False
3949         or else NT (N).Nkind = N_Aggregate
3950         or else NT (N).Nkind = N_Attribute_Reference
3951         or else NT (N).Nkind = N_Conditional_Expression
3952         or else NT (N).Nkind = N_Extension_Aggregate
3953         or else NT (N).Nkind = N_Indexed_Component);
3954       Set_List1_With_Parent (N, Val);
3955    end Set_Expressions;
3956
3957    procedure Set_First_Bit
3958       (N : Node_Id; Val : Node_Id) is
3959    begin
3960       pragma Assert (False
3961         or else NT (N).Nkind = N_Component_Clause);
3962       Set_Node3_With_Parent (N, Val);
3963    end Set_First_Bit;
3964
3965    procedure Set_First_Inlined_Subprogram
3966       (N : Node_Id; Val : Entity_Id) is
3967    begin
3968       pragma Assert (False
3969         or else NT (N).Nkind = N_Compilation_Unit);
3970       Set_Node3 (N, Val);  -- semantic field, no parent set
3971    end Set_First_Inlined_Subprogram;
3972
3973    procedure Set_First_Name
3974       (N : Node_Id; Val : Boolean := True) is
3975    begin
3976       pragma Assert (False
3977         or else NT (N).Nkind = N_With_Clause);
3978       Set_Flag5 (N, Val);
3979    end Set_First_Name;
3980
3981    procedure Set_First_Named_Actual
3982       (N : Node_Id; Val : Node_Id) is
3983    begin
3984       pragma Assert (False
3985         or else NT (N).Nkind = N_Entry_Call_Statement
3986         or else NT (N).Nkind = N_Function_Call
3987         or else NT (N).Nkind = N_Procedure_Call_Statement);
3988       Set_Node4 (N, Val); -- semantic field, no parent set
3989    end Set_First_Named_Actual;
3990
3991    procedure Set_First_Real_Statement
3992       (N : Node_Id; Val : Node_Id) is
3993    begin
3994       pragma Assert (False
3995         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3996       Set_Node2 (N, Val); -- semantic field, no parent set
3997    end Set_First_Real_Statement;
3998
3999    procedure Set_First_Subtype_Link
4000       (N : Node_Id; Val : Entity_Id) is
4001    begin
4002       pragma Assert (False
4003         or else NT (N).Nkind = N_Freeze_Entity);
4004       Set_Node5 (N, Val); -- semantic field, no parent set
4005    end Set_First_Subtype_Link;
4006
4007    procedure Set_Float_Truncate
4008       (N : Node_Id; Val : Boolean := True) is
4009    begin
4010       pragma Assert (False
4011         or else NT (N).Nkind = N_Type_Conversion);
4012       Set_Flag11 (N, Val);
4013    end Set_Float_Truncate;
4014
4015    procedure Set_Formal_Type_Definition
4016       (N : Node_Id; Val : Node_Id) is
4017    begin
4018       pragma Assert (False
4019         or else NT (N).Nkind = N_Formal_Type_Declaration);
4020       Set_Node3_With_Parent (N, Val);
4021    end Set_Formal_Type_Definition;
4022
4023    procedure Set_Forwards_OK
4024       (N : Node_Id; Val : Boolean := True) is
4025    begin
4026       pragma Assert (False
4027         or else NT (N).Nkind = N_Assignment_Statement);
4028       Set_Flag5 (N, Val);
4029    end Set_Forwards_OK;
4030
4031    procedure Set_From_At_End
4032       (N : Node_Id; Val : Boolean := True) is
4033    begin
4034       pragma Assert (False
4035         or else NT (N).Nkind = N_Raise_Statement);
4036       Set_Flag4 (N, Val);
4037    end Set_From_At_End;
4038
4039    procedure Set_From_At_Mod
4040       (N : Node_Id; Val : Boolean := True) is
4041    begin
4042       pragma Assert (False
4043         or else NT (N).Nkind = N_Attribute_Definition_Clause);
4044       Set_Flag4 (N, Val);
4045    end Set_From_At_Mod;
4046
4047    procedure Set_From_Default
4048       (N : Node_Id; Val : Boolean := True) is
4049    begin
4050       pragma Assert (False
4051         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4052       Set_Flag6 (N, Val);
4053    end Set_From_Default;
4054
4055    procedure Set_Generic_Associations
4056       (N : Node_Id; Val : List_Id) is
4057    begin
4058       pragma Assert (False
4059         or else NT (N).Nkind = N_Formal_Package_Declaration
4060         or else NT (N).Nkind = N_Function_Instantiation
4061         or else NT (N).Nkind = N_Package_Instantiation
4062         or else NT (N).Nkind = N_Procedure_Instantiation);
4063       Set_List3_With_Parent (N, Val);
4064    end Set_Generic_Associations;
4065
4066    procedure Set_Generic_Formal_Declarations
4067       (N : Node_Id; Val : List_Id) is
4068    begin
4069       pragma Assert (False
4070         or else NT (N).Nkind = N_Generic_Package_Declaration
4071         or else NT (N).Nkind = N_Generic_Subprogram_Declaration);
4072       Set_List2_With_Parent (N, Val);
4073    end Set_Generic_Formal_Declarations;
4074
4075    procedure Set_Generic_Parent
4076       (N : Node_Id; Val : Node_Id) is
4077    begin
4078       pragma Assert (False
4079         or else NT (N).Nkind = N_Function_Specification
4080         or else NT (N).Nkind = N_Package_Specification
4081         or else NT (N).Nkind = N_Procedure_Specification);
4082       Set_Node5 (N, Val);
4083    end Set_Generic_Parent;
4084
4085    procedure Set_Generic_Parent_Type
4086       (N : Node_Id; Val : Node_Id) is
4087    begin
4088       pragma Assert (False
4089         or else NT (N).Nkind = N_Subtype_Declaration);
4090       Set_Node4 (N, Val);
4091    end Set_Generic_Parent_Type;
4092
4093    procedure Set_Handled_Statement_Sequence
4094       (N : Node_Id; Val : Node_Id) is
4095    begin
4096       pragma Assert (False
4097         or else NT (N).Nkind = N_Accept_Statement
4098         or else NT (N).Nkind = N_Block_Statement
4099         or else NT (N).Nkind = N_Entry_Body
4100         or else NT (N).Nkind = N_Extended_Return_Statement
4101         or else NT (N).Nkind = N_Package_Body
4102         or else NT (N).Nkind = N_Subprogram_Body
4103         or else NT (N).Nkind = N_Task_Body);
4104       Set_Node4_With_Parent (N, Val);
4105    end Set_Handled_Statement_Sequence;
4106
4107    procedure Set_Handler_List_Entry
4108       (N : Node_Id; Val : Node_Id) is
4109    begin
4110       pragma Assert (False
4111         or else NT (N).Nkind = N_Object_Declaration);
4112       Set_Node2 (N, Val);
4113    end Set_Handler_List_Entry;
4114
4115    procedure Set_Has_Created_Identifier
4116       (N : Node_Id; Val : Boolean := True) is
4117    begin
4118       pragma Assert (False
4119         or else NT (N).Nkind = N_Block_Statement
4120         or else NT (N).Nkind = N_Loop_Statement);
4121       Set_Flag15 (N, Val);
4122    end Set_Has_Created_Identifier;
4123
4124    procedure Set_Has_Dynamic_Length_Check
4125       (N : Node_Id; Val : Boolean := True) is
4126    begin
4127       Set_Flag10 (N, Val);
4128    end Set_Has_Dynamic_Length_Check;
4129
4130    procedure Set_Has_Dynamic_Range_Check
4131       (N : Node_Id; Val : Boolean := True) is
4132    begin
4133       Set_Flag12 (N, Val);
4134    end Set_Has_Dynamic_Range_Check;
4135
4136    procedure Set_Has_Init_Expression
4137       (N : Node_Id; Val : Boolean := True) is
4138    begin
4139       pragma Assert (False
4140         or else NT (N).Nkind = N_Object_Declaration);
4141       Set_Flag14 (N, Val);
4142    end Set_Has_Init_Expression;
4143
4144    procedure Set_Has_Local_Raise
4145       (N : Node_Id; Val : Boolean := True) is
4146    begin
4147       pragma Assert (False
4148         or else NT (N).Nkind = N_Exception_Handler);
4149       Set_Flag8 (N, Val);
4150    end Set_Has_Local_Raise;
4151
4152    procedure Set_Has_No_Elaboration_Code
4153       (N : Node_Id; Val : Boolean := True) is
4154    begin
4155       pragma Assert (False
4156         or else NT (N).Nkind = N_Compilation_Unit);
4157       Set_Flag17 (N, Val);
4158    end Set_Has_No_Elaboration_Code;
4159
4160    procedure Set_Has_Priority_Pragma
4161       (N : Node_Id; Val : Boolean := True) is
4162    begin
4163       pragma Assert (False
4164         or else NT (N).Nkind = N_Protected_Definition
4165         or else NT (N).Nkind = N_Subprogram_Body
4166         or else NT (N).Nkind = N_Task_Definition);
4167       Set_Flag6 (N, Val);
4168    end Set_Has_Priority_Pragma;
4169
4170    procedure Set_Has_Private_View
4171       (N : Node_Id; Val : Boolean := True) is
4172    begin
4173       pragma Assert (False
4174        or else NT (N).Nkind in N_Op
4175        or else NT (N).Nkind = N_Character_Literal
4176        or else NT (N).Nkind = N_Expanded_Name
4177        or else NT (N).Nkind = N_Identifier
4178        or else NT (N).Nkind = N_Operator_Symbol);
4179       Set_Flag11 (N, Val);
4180    end Set_Has_Private_View;
4181
4182    procedure Set_Has_Relative_Deadline_Pragma
4183       (N : Node_Id; Val : Boolean := True) is
4184    begin
4185       pragma Assert (False
4186         or else NT (N).Nkind = N_Subprogram_Body
4187         or else NT (N).Nkind = N_Task_Definition);
4188       Set_Flag9 (N, Val);
4189    end Set_Has_Relative_Deadline_Pragma;
4190
4191    procedure Set_Has_Self_Reference
4192       (N : Node_Id; Val : Boolean := True) is
4193    begin
4194       pragma Assert (False
4195         or else NT (N).Nkind = N_Aggregate
4196         or else NT (N).Nkind = N_Extension_Aggregate);
4197       Set_Flag13 (N, Val);
4198    end Set_Has_Self_Reference;
4199
4200    procedure Set_Has_Storage_Size_Pragma
4201       (N : Node_Id; Val : Boolean := True) is
4202    begin
4203       pragma Assert (False
4204         or else NT (N).Nkind = N_Task_Definition);
4205       Set_Flag5 (N, Val);
4206    end Set_Has_Storage_Size_Pragma;
4207
4208    procedure Set_Has_Task_Info_Pragma
4209       (N : Node_Id; Val : Boolean := True) is
4210    begin
4211       pragma Assert (False
4212         or else NT (N).Nkind = N_Task_Definition);
4213       Set_Flag7 (N, Val);
4214    end Set_Has_Task_Info_Pragma;
4215
4216    procedure Set_Has_Task_Name_Pragma
4217       (N : Node_Id; Val : Boolean := True) is
4218    begin
4219       pragma Assert (False
4220         or else NT (N).Nkind = N_Task_Definition);
4221       Set_Flag8 (N, Val);
4222    end Set_Has_Task_Name_Pragma;
4223
4224    procedure Set_Has_Wide_Character
4225       (N : Node_Id; Val : Boolean := True) is
4226    begin
4227       pragma Assert (False
4228         or else NT (N).Nkind = N_String_Literal);
4229       Set_Flag11 (N, Val);
4230    end Set_Has_Wide_Character;
4231
4232    procedure Set_Hidden_By_Use_Clause
4233      (N : Node_Id; Val : Elist_Id) is
4234    begin
4235       pragma Assert (False
4236         or else NT (N).Nkind = N_Use_Package_Clause
4237         or else NT (N).Nkind = N_Use_Type_Clause);
4238       Set_Elist4 (N, Val);
4239    end Set_Hidden_By_Use_Clause;
4240
4241    procedure Set_High_Bound
4242       (N : Node_Id; Val : Node_Id) is
4243    begin
4244       pragma Assert (False
4245         or else NT (N).Nkind = N_Range
4246         or else NT (N).Nkind = N_Real_Range_Specification
4247         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
4248       Set_Node2_With_Parent (N, Val);
4249    end Set_High_Bound;
4250
4251    procedure Set_Identifier
4252       (N : Node_Id; Val : Node_Id) is
4253    begin
4254       pragma Assert (False
4255         or else NT (N).Nkind = N_At_Clause
4256         or else NT (N).Nkind = N_Block_Statement
4257         or else NT (N).Nkind = N_Designator
4258         or else NT (N).Nkind = N_Enumeration_Representation_Clause
4259         or else NT (N).Nkind = N_Label
4260         or else NT (N).Nkind = N_Loop_Statement
4261         or else NT (N).Nkind = N_Record_Representation_Clause
4262         or else NT (N).Nkind = N_Subprogram_Info);
4263       Set_Node1_With_Parent (N, Val);
4264    end Set_Identifier;
4265
4266    procedure Set_Implicit_With
4267       (N : Node_Id; Val : Boolean := True) is
4268    begin
4269       pragma Assert (False
4270         or else NT (N).Nkind = N_With_Clause);
4271       Set_Flag16 (N, Val);
4272    end Set_Implicit_With;
4273
4274    procedure Set_Interface_List
4275       (N : Node_Id; Val : List_Id) is
4276    begin
4277       pragma Assert (False
4278         or else NT (N).Nkind = N_Derived_Type_Definition
4279         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
4280         or else NT (N).Nkind = N_Private_Extension_Declaration
4281         or else NT (N).Nkind = N_Protected_Type_Declaration
4282         or else NT (N).Nkind = N_Record_Definition
4283         or else NT (N).Nkind = N_Single_Protected_Declaration
4284         or else NT (N).Nkind = N_Single_Task_Declaration
4285         or else NT (N).Nkind = N_Task_Type_Declaration);
4286       Set_List2_With_Parent (N, Val);
4287    end Set_Interface_List;
4288
4289    procedure Set_Interface_Present
4290       (N : Node_Id; Val : Boolean := True) is
4291    begin
4292       pragma Assert (False
4293         or else NT (N).Nkind = N_Derived_Type_Definition
4294         or else NT (N).Nkind = N_Record_Definition);
4295       Set_Flag16 (N, Val);
4296    end Set_Interface_Present;
4297
4298    procedure Set_In_Present
4299       (N : Node_Id; Val : Boolean := True) is
4300    begin
4301       pragma Assert (False
4302         or else NT (N).Nkind = N_Formal_Object_Declaration
4303         or else NT (N).Nkind = N_Parameter_Specification);
4304       Set_Flag15 (N, Val);
4305    end Set_In_Present;
4306
4307    procedure Set_Includes_Infinities
4308       (N : Node_Id; Val : Boolean := True) is
4309    begin
4310       pragma Assert (False
4311         or else NT (N).Nkind = N_Range);
4312       Set_Flag11 (N, Val);
4313    end Set_Includes_Infinities;
4314
4315    procedure Set_Instance_Spec
4316       (N : Node_Id; Val : Node_Id) is
4317    begin
4318       pragma Assert (False
4319         or else NT (N).Nkind = N_Formal_Package_Declaration
4320         or else NT (N).Nkind = N_Function_Instantiation
4321         or else NT (N).Nkind = N_Package_Instantiation
4322         or else NT (N).Nkind = N_Procedure_Instantiation);
4323       Set_Node5 (N, Val); -- semantic field, no Parent set
4324    end Set_Instance_Spec;
4325
4326    procedure Set_Intval
4327       (N : Node_Id; Val : Uint) is
4328    begin
4329       pragma Assert (False
4330         or else NT (N).Nkind = N_Integer_Literal);
4331       Set_Uint3 (N, Val);
4332    end Set_Intval;
4333
4334    procedure Set_Is_Asynchronous_Call_Block
4335       (N : Node_Id; Val : Boolean := True) is
4336    begin
4337       pragma Assert (False
4338         or else NT (N).Nkind = N_Block_Statement);
4339       Set_Flag7 (N, Val);
4340    end Set_Is_Asynchronous_Call_Block;
4341
4342    procedure Set_Is_Component_Left_Opnd
4343       (N : Node_Id; Val : Boolean := True) is
4344    begin
4345       pragma Assert (False
4346         or else NT (N).Nkind = N_Op_Concat);
4347       Set_Flag13 (N, Val);
4348    end Set_Is_Component_Left_Opnd;
4349
4350    procedure Set_Is_Component_Right_Opnd
4351       (N : Node_Id; Val : Boolean := True) is
4352    begin
4353       pragma Assert (False
4354         or else NT (N).Nkind = N_Op_Concat);
4355       Set_Flag14 (N, Val);
4356    end Set_Is_Component_Right_Opnd;
4357
4358    procedure Set_Is_Controlling_Actual
4359       (N : Node_Id; Val : Boolean := True) is
4360    begin
4361       pragma Assert (False
4362         or else NT (N).Nkind in N_Subexpr);
4363       Set_Flag16 (N, Val);
4364    end Set_Is_Controlling_Actual;
4365
4366    procedure Set_Is_Dynamic_Coextension
4367       (N : Node_Id; Val : Boolean := True) is
4368    begin
4369       pragma Assert (False
4370         or else NT (N).Nkind = N_Allocator);
4371       Set_Flag18 (N, Val);
4372    end Set_Is_Dynamic_Coextension;
4373
4374    procedure Set_Is_Entry_Barrier_Function
4375       (N : Node_Id; Val : Boolean := True) is
4376    begin
4377       pragma Assert (False
4378         or else NT (N).Nkind = N_Subprogram_Body);
4379       Set_Flag8 (N, Val);
4380    end Set_Is_Entry_Barrier_Function;
4381
4382    procedure Set_Is_Expanded_Build_In_Place_Call
4383       (N : Node_Id; Val : Boolean := True) is
4384    begin
4385       pragma Assert (False
4386         or else NT (N).Nkind = N_Function_Call);
4387       Set_Flag11 (N, Val);
4388    end Set_Is_Expanded_Build_In_Place_Call;
4389
4390    procedure Set_Is_Folded_In_Parser
4391       (N : Node_Id; Val : Boolean := True) is
4392    begin
4393       pragma Assert (False
4394         or else NT (N).Nkind = N_String_Literal);
4395       Set_Flag4 (N, Val);
4396    end Set_Is_Folded_In_Parser;
4397
4398    procedure Set_Is_In_Discriminant_Check
4399       (N : Node_Id; Val : Boolean := True) is
4400    begin
4401       pragma Assert (False
4402         or else NT (N).Nkind = N_Selected_Component);
4403       Set_Flag11 (N, Val);
4404    end Set_Is_In_Discriminant_Check;
4405
4406    procedure Set_Is_Machine_Number
4407       (N : Node_Id; Val : Boolean := True) is
4408    begin
4409       pragma Assert (False
4410         or else NT (N).Nkind = N_Real_Literal);
4411       Set_Flag11 (N, Val);
4412    end Set_Is_Machine_Number;
4413
4414    procedure Set_Is_Null_Loop
4415       (N : Node_Id; Val : Boolean := True) is
4416    begin
4417       pragma Assert (False
4418         or else NT (N).Nkind = N_Loop_Statement);
4419       Set_Flag16 (N, Val);
4420    end Set_Is_Null_Loop;
4421
4422    procedure Set_Is_Overloaded
4423       (N : Node_Id; Val : Boolean := True) is
4424    begin
4425       pragma Assert (False
4426         or else NT (N).Nkind in N_Subexpr);
4427       Set_Flag5 (N, Val);
4428    end Set_Is_Overloaded;
4429
4430    procedure Set_Is_Power_Of_2_For_Shift
4431       (N : Node_Id; Val : Boolean := True) is
4432    begin
4433       pragma Assert (False
4434         or else NT (N).Nkind = N_Op_Expon);
4435       Set_Flag13 (N, Val);
4436    end Set_Is_Power_Of_2_For_Shift;
4437
4438    procedure Set_Is_Protected_Subprogram_Body
4439       (N : Node_Id; Val : Boolean := True) is
4440    begin
4441       pragma Assert (False
4442         or else NT (N).Nkind = N_Subprogram_Body);
4443       Set_Flag7 (N, Val);
4444    end Set_Is_Protected_Subprogram_Body;
4445
4446    procedure Set_Is_Static_Coextension
4447       (N : Node_Id; Val : Boolean := True) is
4448    begin
4449       pragma Assert (False
4450         or else NT (N).Nkind = N_Allocator);
4451       Set_Flag14 (N, Val);
4452    end Set_Is_Static_Coextension;
4453
4454    procedure Set_Is_Static_Expression
4455       (N : Node_Id; Val : Boolean := True) is
4456    begin
4457       pragma Assert (False
4458         or else NT (N).Nkind in N_Subexpr);
4459       Set_Flag6 (N, Val);
4460    end Set_Is_Static_Expression;
4461
4462    procedure Set_Is_Subprogram_Descriptor
4463       (N : Node_Id; Val : Boolean := True) is
4464    begin
4465       pragma Assert (False
4466         or else NT (N).Nkind = N_Object_Declaration);
4467       Set_Flag16 (N, Val);
4468    end Set_Is_Subprogram_Descriptor;
4469
4470    procedure Set_Is_Task_Allocation_Block
4471       (N : Node_Id; Val : Boolean := True) is
4472    begin
4473       pragma Assert (False
4474         or else NT (N).Nkind = N_Block_Statement);
4475       Set_Flag6 (N, Val);
4476    end Set_Is_Task_Allocation_Block;
4477
4478    procedure Set_Is_Task_Master
4479       (N : Node_Id; Val : Boolean := True) is
4480    begin
4481       pragma Assert (False
4482         or else NT (N).Nkind = N_Block_Statement
4483         or else NT (N).Nkind = N_Subprogram_Body
4484         or else NT (N).Nkind = N_Task_Body);
4485       Set_Flag5 (N, Val);
4486    end Set_Is_Task_Master;
4487
4488    procedure Set_Iteration_Scheme
4489       (N : Node_Id; Val : Node_Id) is
4490    begin
4491       pragma Assert (False
4492         or else NT (N).Nkind = N_Loop_Statement);
4493       Set_Node2_With_Parent (N, Val);
4494    end Set_Iteration_Scheme;
4495
4496    procedure Set_Itype
4497       (N : Node_Id; Val : Entity_Id) is
4498    begin
4499       pragma Assert (False
4500       or else NT (N).Nkind = N_Itype_Reference);
4501       Set_Node1 (N, Val); -- no parent, semantic field
4502    end Set_Itype;
4503
4504    procedure Set_Kill_Range_Check
4505       (N : Node_Id; Val : Boolean := True) is
4506    begin
4507       pragma Assert (False
4508         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4509       Set_Flag11 (N, Val);
4510    end Set_Kill_Range_Check;
4511
4512    procedure Set_Label_Construct
4513       (N : Node_Id; Val : Node_Id) is
4514    begin
4515       pragma Assert (False
4516         or else NT (N).Nkind = N_Implicit_Label_Declaration);
4517       Set_Node2 (N, Val); -- semantic field, no parent set
4518    end Set_Label_Construct;
4519
4520    procedure Set_Last_Bit
4521       (N : Node_Id; Val : Node_Id) is
4522    begin
4523       pragma Assert (False
4524         or else NT (N).Nkind = N_Component_Clause);
4525       Set_Node4_With_Parent (N, Val);
4526    end Set_Last_Bit;
4527
4528    procedure Set_Last_Name
4529       (N : Node_Id; Val : Boolean := True) is
4530    begin
4531       pragma Assert (False
4532         or else NT (N).Nkind = N_With_Clause);
4533       Set_Flag6 (N, Val);
4534    end Set_Last_Name;
4535
4536    procedure Set_Left_Opnd
4537       (N : Node_Id; Val : Node_Id) is
4538    begin
4539       pragma Assert (False
4540         or else NT (N).Nkind = N_And_Then
4541         or else NT (N).Nkind = N_In
4542         or else NT (N).Nkind = N_Not_In
4543         or else NT (N).Nkind = N_Or_Else
4544         or else NT (N).Nkind in N_Binary_Op);
4545       Set_Node2_With_Parent (N, Val);
4546    end Set_Left_Opnd;
4547
4548    procedure Set_Library_Unit
4549       (N : Node_Id; Val : Node_Id) is
4550    begin
4551       pragma Assert (False
4552         or else NT (N).Nkind = N_Compilation_Unit
4553         or else NT (N).Nkind = N_Package_Body_Stub
4554         or else NT (N).Nkind = N_Protected_Body_Stub
4555         or else NT (N).Nkind = N_Subprogram_Body_Stub
4556         or else NT (N).Nkind = N_Task_Body_Stub
4557         or else NT (N).Nkind = N_With_Clause);
4558       Set_Node4 (N, Val); -- semantic field, no parent set
4559    end Set_Library_Unit;
4560
4561    procedure Set_Limited_View_Installed
4562       (N : Node_Id; Val : Boolean := True) is
4563    begin
4564       pragma Assert (False
4565         or else NT (N).Nkind = N_Package_Specification
4566         or else NT (N).Nkind = N_With_Clause);
4567       Set_Flag18 (N, Val);
4568    end Set_Limited_View_Installed;
4569
4570    procedure Set_Limited_Present
4571       (N : Node_Id; Val : Boolean := True) is
4572    begin
4573       pragma Assert (False
4574         or else NT (N).Nkind = N_Derived_Type_Definition
4575         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
4576         or else NT (N).Nkind = N_Formal_Private_Type_Definition
4577         or else NT (N).Nkind = N_Private_Extension_Declaration
4578         or else NT (N).Nkind = N_Private_Type_Declaration
4579         or else NT (N).Nkind = N_Record_Definition
4580         or else NT (N).Nkind = N_With_Clause);
4581       Set_Flag17 (N, Val);
4582    end Set_Limited_Present;
4583
4584    procedure Set_Literals
4585       (N : Node_Id; Val : List_Id) is
4586    begin
4587       pragma Assert (False
4588         or else NT (N).Nkind = N_Enumeration_Type_Definition);
4589       Set_List1_With_Parent (N, Val);
4590    end Set_Literals;
4591
4592    procedure Set_Local_Raise_Not_OK
4593       (N : Node_Id; Val : Boolean := True) is
4594    begin
4595       pragma Assert (False
4596         or else NT (N).Nkind = N_Exception_Handler);
4597       Set_Flag7 (N, Val);
4598    end Set_Local_Raise_Not_OK;
4599
4600    procedure Set_Local_Raise_Statements
4601       (N : Node_Id; Val : Elist_Id) is
4602    begin
4603       pragma Assert (False
4604         or else NT (N).Nkind = N_Exception_Handler);
4605       Set_Elist1 (N, Val);
4606    end Set_Local_Raise_Statements;
4607
4608    procedure Set_Loop_Actions
4609       (N : Node_Id; Val : List_Id) is
4610    begin
4611       pragma Assert (False
4612         or else NT (N).Nkind = N_Component_Association);
4613       Set_List2 (N, Val); -- semantic field, no parent set
4614    end Set_Loop_Actions;
4615
4616    procedure Set_Loop_Parameter_Specification
4617       (N : Node_Id; Val : Node_Id) is
4618    begin
4619       pragma Assert (False
4620         or else NT (N).Nkind = N_Iteration_Scheme);
4621       Set_Node4_With_Parent (N, Val);
4622    end Set_Loop_Parameter_Specification;
4623
4624    procedure Set_Low_Bound
4625       (N : Node_Id; Val : Node_Id) is
4626    begin
4627       pragma Assert (False
4628         or else NT (N).Nkind = N_Range
4629         or else NT (N).Nkind = N_Real_Range_Specification
4630         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
4631       Set_Node1_With_Parent (N, Val);
4632    end Set_Low_Bound;
4633
4634    procedure Set_Mod_Clause
4635       (N : Node_Id; Val : Node_Id) is
4636    begin
4637       pragma Assert (False
4638         or else NT (N).Nkind = N_Record_Representation_Clause);
4639       Set_Node2_With_Parent (N, Val);
4640    end Set_Mod_Clause;
4641
4642    procedure Set_More_Ids
4643       (N : Node_Id; Val : Boolean := True) is
4644    begin
4645       pragma Assert (False
4646         or else NT (N).Nkind = N_Component_Declaration
4647         or else NT (N).Nkind = N_Discriminant_Specification
4648         or else NT (N).Nkind = N_Exception_Declaration
4649         or else NT (N).Nkind = N_Formal_Object_Declaration
4650         or else NT (N).Nkind = N_Number_Declaration
4651         or else NT (N).Nkind = N_Object_Declaration
4652         or else NT (N).Nkind = N_Parameter_Specification);
4653       Set_Flag5 (N, Val);
4654    end Set_More_Ids;
4655
4656    procedure Set_Must_Be_Byte_Aligned
4657       (N : Node_Id; Val : Boolean := True) is
4658    begin
4659       pragma Assert (False
4660         or else NT (N).Nkind = N_Attribute_Reference);
4661       Set_Flag14 (N, Val);
4662    end Set_Must_Be_Byte_Aligned;
4663
4664    procedure Set_Must_Not_Freeze
4665       (N : Node_Id; Val : Boolean := True) is
4666    begin
4667       pragma Assert (False
4668         or else NT (N).Nkind = N_Subtype_Indication
4669         or else NT (N).Nkind in N_Subexpr);
4670       Set_Flag8 (N, Val);
4671    end Set_Must_Not_Freeze;
4672
4673    procedure Set_Must_Not_Override
4674       (N : Node_Id; Val : Boolean := True) is
4675    begin
4676       pragma Assert (False
4677         or else NT (N).Nkind = N_Entry_Declaration
4678         or else NT (N).Nkind = N_Function_Instantiation
4679         or else NT (N).Nkind = N_Function_Specification
4680         or else NT (N).Nkind = N_Procedure_Instantiation
4681         or else NT (N).Nkind = N_Procedure_Specification);
4682       Set_Flag15 (N, Val);
4683    end Set_Must_Not_Override;
4684
4685    procedure Set_Must_Override
4686       (N : Node_Id; Val : Boolean := True) is
4687    begin
4688       pragma Assert (False
4689         or else NT (N).Nkind = N_Entry_Declaration
4690         or else NT (N).Nkind = N_Function_Instantiation
4691         or else NT (N).Nkind = N_Function_Specification
4692         or else NT (N).Nkind = N_Procedure_Instantiation
4693         or else NT (N).Nkind = N_Procedure_Specification);
4694       Set_Flag14 (N, Val);
4695    end Set_Must_Override;
4696
4697    procedure Set_Name
4698       (N : Node_Id; Val : Node_Id) is
4699    begin
4700       pragma Assert (False
4701         or else NT (N).Nkind = N_Assignment_Statement
4702         or else NT (N).Nkind = N_Attribute_Definition_Clause
4703         or else NT (N).Nkind = N_Defining_Program_Unit_Name
4704         or else NT (N).Nkind = N_Designator
4705         or else NT (N).Nkind = N_Entry_Call_Statement
4706         or else NT (N).Nkind = N_Exception_Renaming_Declaration
4707         or else NT (N).Nkind = N_Exit_Statement
4708         or else NT (N).Nkind = N_Formal_Package_Declaration
4709         or else NT (N).Nkind = N_Function_Call
4710         or else NT (N).Nkind = N_Function_Instantiation
4711         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4712         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4713         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4714         or else NT (N).Nkind = N_Goto_Statement
4715         or else NT (N).Nkind = N_Object_Renaming_Declaration
4716         or else NT (N).Nkind = N_Package_Instantiation
4717         or else NT (N).Nkind = N_Package_Renaming_Declaration
4718         or else NT (N).Nkind = N_Procedure_Call_Statement
4719         or else NT (N).Nkind = N_Procedure_Instantiation
4720         or else NT (N).Nkind = N_Raise_Statement
4721         or else NT (N).Nkind = N_Requeue_Statement
4722         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
4723         or else NT (N).Nkind = N_Subunit
4724         or else NT (N).Nkind = N_Variant_Part
4725         or else NT (N).Nkind = N_With_Clause);
4726       Set_Node2_With_Parent (N, Val);
4727    end Set_Name;
4728
4729    procedure Set_Names
4730       (N : Node_Id; Val : List_Id) is
4731    begin
4732       pragma Assert (False
4733         or else NT (N).Nkind = N_Abort_Statement
4734         or else NT (N).Nkind = N_Use_Package_Clause);
4735       Set_List2_With_Parent (N, Val);
4736    end Set_Names;
4737
4738    procedure Set_Next_Entity
4739       (N : Node_Id; Val : Node_Id) is
4740    begin
4741       pragma Assert (False
4742         or else NT (N).Nkind = N_Defining_Character_Literal
4743         or else NT (N).Nkind = N_Defining_Identifier
4744         or else NT (N).Nkind = N_Defining_Operator_Symbol);
4745       Set_Node2 (N, Val); -- semantic field, no parent set
4746    end Set_Next_Entity;
4747
4748    procedure Set_Next_Named_Actual
4749       (N : Node_Id; Val : Node_Id) is
4750    begin
4751       pragma Assert (False
4752         or else NT (N).Nkind = N_Parameter_Association);
4753       Set_Node4 (N, Val); -- semantic field, no parent set
4754    end Set_Next_Named_Actual;
4755
4756    procedure Set_Next_Pragma
4757       (N : Node_Id; Val : Node_Id) is
4758    begin
4759       pragma Assert (False
4760         or else NT (N).Nkind = N_Pragma);
4761       Set_Node1 (N, Val); -- semantic field, no parent set
4762    end Set_Next_Pragma;
4763
4764    procedure Set_Next_Rep_Item
4765       (N : Node_Id; Val : Node_Id) is
4766    begin
4767       pragma Assert (False
4768         or else NT (N).Nkind = N_Attribute_Definition_Clause
4769         or else NT (N).Nkind = N_Enumeration_Representation_Clause
4770         or else NT (N).Nkind = N_Pragma
4771         or else NT (N).Nkind = N_Record_Representation_Clause);
4772       Set_Node5 (N, Val); -- semantic field, no parent set
4773    end Set_Next_Rep_Item;
4774
4775    procedure Set_Next_Use_Clause
4776       (N : Node_Id; Val : Node_Id) is
4777    begin
4778       pragma Assert (False
4779         or else NT (N).Nkind = N_Use_Package_Clause
4780         or else NT (N).Nkind = N_Use_Type_Clause);
4781       Set_Node3 (N, Val); -- semantic field, no parent set
4782    end Set_Next_Use_Clause;
4783
4784    procedure Set_No_Ctrl_Actions
4785       (N : Node_Id; Val : Boolean := True) is
4786    begin
4787       pragma Assert (False
4788         or else NT (N).Nkind = N_Assignment_Statement);
4789       Set_Flag7 (N, Val);
4790    end Set_No_Ctrl_Actions;
4791
4792    procedure Set_No_Elaboration_Check
4793       (N : Node_Id; Val : Boolean := True) is
4794    begin
4795       pragma Assert (False
4796         or else NT (N).Nkind = N_Function_Call
4797         or else NT (N).Nkind = N_Procedure_Call_Statement);
4798       Set_Flag14 (N, Val);
4799    end Set_No_Elaboration_Check;
4800
4801    procedure Set_No_Entities_Ref_In_Spec
4802       (N : Node_Id; Val : Boolean := True) is
4803    begin
4804       pragma Assert (False
4805         or else NT (N).Nkind = N_With_Clause);
4806       Set_Flag8 (N, Val);
4807    end Set_No_Entities_Ref_In_Spec;
4808
4809    procedure Set_No_Initialization
4810       (N : Node_Id; Val : Boolean := True) is
4811    begin
4812       pragma Assert (False
4813         or else NT (N).Nkind = N_Allocator
4814         or else NT (N).Nkind = N_Object_Declaration);
4815       Set_Flag13 (N, Val);
4816    end Set_No_Initialization;
4817
4818    procedure Set_No_Truncation
4819       (N : Node_Id; Val : Boolean := True) is
4820    begin
4821       pragma Assert (False
4822         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4823       Set_Flag17 (N, Val);
4824    end Set_No_Truncation;
4825
4826    procedure Set_Null_Present
4827       (N : Node_Id; Val : Boolean := True) is
4828    begin
4829       pragma Assert (False
4830         or else NT (N).Nkind = N_Component_List
4831         or else NT (N).Nkind = N_Procedure_Specification
4832         or else NT (N).Nkind = N_Record_Definition);
4833       Set_Flag13 (N, Val);
4834    end Set_Null_Present;
4835
4836    procedure Set_Null_Exclusion_Present
4837       (N : Node_Id; Val : Boolean := True) is
4838    begin
4839       pragma Assert (False
4840         or else NT (N).Nkind = N_Access_Definition
4841         or else NT (N).Nkind = N_Access_Function_Definition
4842         or else NT (N).Nkind = N_Access_Procedure_Definition
4843         or else NT (N).Nkind = N_Access_To_Object_Definition
4844         or else NT (N).Nkind = N_Allocator
4845         or else NT (N).Nkind = N_Component_Definition
4846         or else NT (N).Nkind = N_Derived_Type_Definition
4847         or else NT (N).Nkind = N_Discriminant_Specification
4848         or else NT (N).Nkind = N_Formal_Object_Declaration
4849         or else NT (N).Nkind = N_Function_Specification
4850         or else NT (N).Nkind = N_Object_Declaration
4851         or else NT (N).Nkind = N_Object_Renaming_Declaration
4852         or else NT (N).Nkind = N_Parameter_Specification
4853         or else NT (N).Nkind = N_Subtype_Declaration);
4854       Set_Flag11 (N, Val);
4855    end Set_Null_Exclusion_Present;
4856
4857    procedure Set_Null_Record_Present
4858       (N : Node_Id; Val : Boolean := True) is
4859    begin
4860       pragma Assert (False
4861         or else NT (N).Nkind = N_Aggregate
4862         or else NT (N).Nkind = N_Extension_Aggregate);
4863       Set_Flag17 (N, Val);
4864    end Set_Null_Record_Present;
4865
4866    procedure Set_Object_Definition
4867       (N : Node_Id; Val : Node_Id) is
4868    begin
4869       pragma Assert (False
4870         or else NT (N).Nkind = N_Object_Declaration);
4871       Set_Node4_With_Parent (N, Val);
4872    end Set_Object_Definition;
4873
4874    procedure Set_Original_Discriminant
4875       (N : Node_Id; Val : Node_Id) is
4876    begin
4877       pragma Assert (False
4878         or else NT (N).Nkind = N_Identifier);
4879       Set_Node2 (N, Val); -- semantic field, no parent set
4880    end Set_Original_Discriminant;
4881
4882    procedure Set_Original_Entity
4883       (N : Node_Id; Val : Entity_Id) is
4884    begin
4885       pragma Assert (False
4886         or else NT (N).Nkind = N_Integer_Literal
4887         or else NT (N).Nkind = N_Real_Literal);
4888       Set_Node2 (N, Val); --  semantic field, no parent set
4889    end Set_Original_Entity;
4890
4891    procedure Set_Others_Discrete_Choices
4892       (N : Node_Id; Val : List_Id) is
4893    begin
4894       pragma Assert (False
4895         or else NT (N).Nkind = N_Others_Choice);
4896       Set_List1_With_Parent (N, Val);
4897    end Set_Others_Discrete_Choices;
4898
4899    procedure Set_Out_Present
4900       (N : Node_Id; Val : Boolean := True) is
4901    begin
4902       pragma Assert (False
4903         or else NT (N).Nkind = N_Formal_Object_Declaration
4904         or else NT (N).Nkind = N_Parameter_Specification);
4905       Set_Flag17 (N, Val);
4906    end Set_Out_Present;
4907
4908    procedure Set_Parameter_Associations
4909       (N : Node_Id; Val : List_Id) is
4910    begin
4911       pragma Assert (False
4912         or else NT (N).Nkind = N_Entry_Call_Statement
4913         or else NT (N).Nkind = N_Function_Call
4914         or else NT (N).Nkind = N_Procedure_Call_Statement);
4915       Set_List3_With_Parent (N, Val);
4916    end Set_Parameter_Associations;
4917
4918    procedure Set_Parameter_List_Truncated
4919       (N : Node_Id; Val : Boolean := True) is
4920    begin
4921       pragma Assert (False
4922         or else NT (N).Nkind = N_Function_Call
4923         or else NT (N).Nkind = N_Procedure_Call_Statement);
4924       Set_Flag17 (N, Val);
4925    end Set_Parameter_List_Truncated;
4926
4927    procedure Set_Parameter_Specifications
4928       (N : Node_Id; Val : List_Id) is
4929    begin
4930       pragma Assert (False
4931         or else NT (N).Nkind = N_Accept_Statement
4932         or else NT (N).Nkind = N_Access_Function_Definition
4933         or else NT (N).Nkind = N_Access_Procedure_Definition
4934         or else NT (N).Nkind = N_Entry_Body_Formal_Part
4935         or else NT (N).Nkind = N_Entry_Declaration
4936         or else NT (N).Nkind = N_Function_Specification
4937         or else NT (N).Nkind = N_Procedure_Specification);
4938       Set_List3_With_Parent (N, Val);
4939    end Set_Parameter_Specifications;
4940
4941    procedure Set_Parameter_Type
4942       (N : Node_Id; Val : Node_Id) is
4943    begin
4944       pragma Assert (False
4945         or else NT (N).Nkind = N_Parameter_Specification);
4946       Set_Node2_With_Parent (N, Val);
4947    end Set_Parameter_Type;
4948
4949    procedure Set_Parent_Spec
4950       (N : Node_Id; Val : Node_Id) is
4951    begin
4952       pragma Assert (False
4953         or else NT (N).Nkind = N_Function_Instantiation
4954         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4955         or else NT (N).Nkind = N_Generic_Package_Declaration
4956         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4957         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4958         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
4959         or else NT (N).Nkind = N_Package_Declaration
4960         or else NT (N).Nkind = N_Package_Instantiation
4961         or else NT (N).Nkind = N_Package_Renaming_Declaration
4962         or else NT (N).Nkind = N_Procedure_Instantiation
4963         or else NT (N).Nkind = N_Subprogram_Declaration
4964         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4965       Set_Node4 (N, Val); -- semantic field, no parent set
4966    end Set_Parent_Spec;
4967
4968    procedure Set_PPC_Enabled
4969      (N : Node_Id; Val : Boolean := True) is
4970    begin
4971       pragma Assert (False
4972         or else NT (N).Nkind = N_Pragma);
4973       Set_Flag5 (N, Val);
4974    end Set_PPC_Enabled;
4975
4976    procedure Set_Position
4977       (N : Node_Id; Val : Node_Id) is
4978    begin
4979       pragma Assert (False
4980         or else NT (N).Nkind = N_Component_Clause);
4981       Set_Node2_With_Parent (N, Val);
4982    end Set_Position;
4983
4984    procedure Set_Pragma_Argument_Associations
4985       (N : Node_Id; Val : List_Id) is
4986    begin
4987       pragma Assert (False
4988         or else NT (N).Nkind = N_Pragma);
4989       Set_List2_With_Parent (N, Val);
4990    end Set_Pragma_Argument_Associations;
4991
4992    procedure Set_Pragma_Identifier
4993       (N : Node_Id; Val : Node_Id) is
4994    begin
4995       pragma Assert (False
4996         or else NT (N).Nkind = N_Pragma);
4997       Set_Node4_With_Parent (N, Val);
4998    end Set_Pragma_Identifier;
4999
5000    procedure Set_Pragmas_After
5001       (N : Node_Id; Val : List_Id) is
5002    begin
5003       pragma Assert (False
5004         or else NT (N).Nkind = N_Compilation_Unit_Aux
5005         or else NT (N).Nkind = N_Terminate_Alternative);
5006       Set_List5_With_Parent (N, Val);
5007    end Set_Pragmas_After;
5008
5009    procedure Set_Pragmas_Before
5010       (N : Node_Id; Val : List_Id) is
5011    begin
5012       pragma Assert (False
5013         or else NT (N).Nkind = N_Accept_Alternative
5014         or else NT (N).Nkind = N_Delay_Alternative
5015         or else NT (N).Nkind = N_Entry_Call_Alternative
5016         or else NT (N).Nkind = N_Mod_Clause
5017         or else NT (N).Nkind = N_Terminate_Alternative
5018         or else NT (N).Nkind = N_Triggering_Alternative);
5019       Set_List4_With_Parent (N, Val);
5020    end Set_Pragmas_Before;
5021
5022    procedure Set_Prefix
5023       (N : Node_Id; Val : Node_Id) is
5024    begin
5025       pragma Assert (False
5026         or else NT (N).Nkind = N_Attribute_Reference
5027         or else NT (N).Nkind = N_Expanded_Name
5028         or else NT (N).Nkind = N_Explicit_Dereference
5029         or else NT (N).Nkind = N_Indexed_Component
5030         or else NT (N).Nkind = N_Reference
5031         or else NT (N).Nkind = N_Selected_Component
5032         or else NT (N).Nkind = N_Slice);
5033       Set_Node3_With_Parent (N, Val);
5034    end Set_Prefix;
5035
5036    procedure Set_Present_Expr
5037       (N : Node_Id; Val : Uint) is
5038    begin
5039       pragma Assert (False
5040         or else NT (N).Nkind = N_Variant);
5041       Set_Uint3 (N, Val);
5042    end Set_Present_Expr;
5043
5044    procedure Set_Prev_Ids
5045       (N : Node_Id; Val : Boolean := True) is
5046    begin
5047       pragma Assert (False
5048         or else NT (N).Nkind = N_Component_Declaration
5049         or else NT (N).Nkind = N_Discriminant_Specification
5050         or else NT (N).Nkind = N_Exception_Declaration
5051         or else NT (N).Nkind = N_Formal_Object_Declaration
5052         or else NT (N).Nkind = N_Number_Declaration
5053         or else NT (N).Nkind = N_Object_Declaration
5054         or else NT (N).Nkind = N_Parameter_Specification);
5055       Set_Flag6 (N, Val);
5056    end Set_Prev_Ids;
5057
5058    procedure Set_Print_In_Hex
5059       (N : Node_Id; Val : Boolean := True) is
5060    begin
5061       pragma Assert (False
5062         or else NT (N).Nkind = N_Integer_Literal);
5063       Set_Flag13 (N, Val);
5064    end Set_Print_In_Hex;
5065
5066    procedure Set_Private_Declarations
5067       (N : Node_Id; Val : List_Id) is
5068    begin
5069       pragma Assert (False
5070         or else NT (N).Nkind = N_Package_Specification
5071         or else NT (N).Nkind = N_Protected_Definition
5072         or else NT (N).Nkind = N_Task_Definition);
5073       Set_List3_With_Parent (N, Val);
5074    end Set_Private_Declarations;
5075
5076    procedure Set_Private_Present
5077       (N : Node_Id; Val : Boolean := True) is
5078    begin
5079       pragma Assert (False
5080         or else NT (N).Nkind = N_Compilation_Unit
5081         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
5082         or else NT (N).Nkind = N_With_Clause);
5083       Set_Flag15 (N, Val);
5084    end Set_Private_Present;
5085
5086    procedure Set_Procedure_To_Call
5087       (N : Node_Id; Val : Node_Id) is
5088    begin
5089       pragma Assert (False
5090         or else NT (N).Nkind = N_Allocator
5091         or else NT (N).Nkind = N_Extended_Return_Statement
5092         or else NT (N).Nkind = N_Free_Statement
5093         or else NT (N).Nkind = N_Return_Statement);
5094       Set_Node2 (N, Val); -- semantic field, no parent set
5095    end Set_Procedure_To_Call;
5096
5097    procedure Set_Proper_Body
5098       (N : Node_Id; Val : Node_Id) is
5099    begin
5100       pragma Assert (False
5101         or else NT (N).Nkind = N_Subunit);
5102       Set_Node1_With_Parent (N, Val);
5103    end Set_Proper_Body;
5104
5105    procedure Set_Protected_Definition
5106       (N : Node_Id; Val : Node_Id) is
5107    begin
5108       pragma Assert (False
5109         or else NT (N).Nkind = N_Protected_Type_Declaration
5110         or else NT (N).Nkind = N_Single_Protected_Declaration);
5111       Set_Node3_With_Parent (N, Val);
5112    end Set_Protected_Definition;
5113
5114    procedure Set_Protected_Present
5115       (N : Node_Id; Val : Boolean := True) is
5116    begin
5117       pragma Assert (False
5118         or else NT (N).Nkind = N_Access_Function_Definition
5119         or else NT (N).Nkind = N_Access_Procedure_Definition
5120         or else NT (N).Nkind = N_Derived_Type_Definition
5121         or else NT (N).Nkind = N_Record_Definition);
5122       Set_Flag6 (N, Val);
5123    end Set_Protected_Present;
5124
5125    procedure Set_Raises_Constraint_Error
5126       (N : Node_Id; Val : Boolean := True) is
5127    begin
5128       pragma Assert (False
5129         or else NT (N).Nkind in N_Subexpr);
5130       Set_Flag7 (N, Val);
5131    end Set_Raises_Constraint_Error;
5132
5133    procedure Set_Range_Constraint
5134       (N : Node_Id; Val : Node_Id) is
5135    begin
5136       pragma Assert (False
5137         or else NT (N).Nkind = N_Delta_Constraint
5138         or else NT (N).Nkind = N_Digits_Constraint);
5139       Set_Node4_With_Parent (N, Val);
5140    end Set_Range_Constraint;
5141
5142    procedure Set_Range_Expression
5143       (N : Node_Id; Val : Node_Id) is
5144    begin
5145       pragma Assert (False
5146         or else NT (N).Nkind = N_Range_Constraint);
5147       Set_Node4_With_Parent (N, Val);
5148    end Set_Range_Expression;
5149
5150    procedure Set_Real_Range_Specification
5151       (N : Node_Id; Val : Node_Id) is
5152    begin
5153       pragma Assert (False
5154         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
5155         or else NT (N).Nkind = N_Floating_Point_Definition
5156         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
5157       Set_Node4_With_Parent (N, Val);
5158    end Set_Real_Range_Specification;
5159
5160    procedure Set_Realval
5161      (N : Node_Id; Val : Ureal) is
5162    begin
5163       pragma Assert (False
5164         or else NT (N).Nkind = N_Real_Literal);
5165       Set_Ureal3 (N, Val);
5166    end Set_Realval;
5167
5168    procedure Set_Reason
5169       (N : Node_Id; Val : Uint) is
5170    begin
5171       pragma Assert (False
5172         or else NT (N).Nkind = N_Raise_Constraint_Error
5173         or else NT (N).Nkind = N_Raise_Program_Error
5174         or else NT (N).Nkind = N_Raise_Storage_Error);
5175       Set_Uint3 (N, Val);
5176    end Set_Reason;
5177
5178    procedure Set_Record_Extension_Part
5179       (N : Node_Id; Val : Node_Id) is
5180    begin
5181       pragma Assert (False
5182         or else NT (N).Nkind = N_Derived_Type_Definition);
5183       Set_Node3_With_Parent (N, Val);
5184    end Set_Record_Extension_Part;
5185
5186    procedure Set_Redundant_Use
5187       (N : Node_Id; Val : Boolean := True) is
5188    begin
5189       pragma Assert (False
5190         or else NT (N).Nkind = N_Attribute_Reference
5191         or else NT (N).Nkind = N_Expanded_Name
5192         or else NT (N).Nkind = N_Identifier);
5193       Set_Flag13 (N, Val);
5194    end Set_Redundant_Use;
5195
5196    procedure Set_Renaming_Exception
5197       (N : Node_Id; Val : Node_Id) is
5198    begin
5199       pragma Assert (False
5200         or else NT (N).Nkind = N_Exception_Declaration);
5201       Set_Node2 (N, Val);
5202    end Set_Renaming_Exception;
5203
5204    procedure Set_Result_Definition
5205      (N : Node_Id; Val : Node_Id) is
5206    begin
5207       pragma Assert (False
5208         or else NT (N).Nkind = N_Access_Function_Definition
5209         or else NT (N).Nkind = N_Function_Specification);
5210       Set_Node4_With_Parent (N, Val);
5211    end Set_Result_Definition;
5212
5213    procedure Set_Return_Object_Declarations
5214      (N : Node_Id; Val : List_Id) is
5215    begin
5216       pragma Assert (False
5217         or else NT (N).Nkind = N_Extended_Return_Statement);
5218       Set_List3_With_Parent (N, Val);
5219    end Set_Return_Object_Declarations;
5220
5221    procedure Set_Return_Statement_Entity
5222      (N : Node_Id; Val : Node_Id) is
5223    begin
5224       pragma Assert (False
5225         or else NT (N).Nkind = N_Extended_Return_Statement
5226         or else NT (N).Nkind = N_Return_Statement);
5227       Set_Node5 (N, Val); -- semantic field, no parent set
5228    end Set_Return_Statement_Entity;
5229
5230    procedure Set_Reverse_Present
5231       (N : Node_Id; Val : Boolean := True) is
5232    begin
5233       pragma Assert (False
5234         or else NT (N).Nkind = N_Loop_Parameter_Specification);
5235       Set_Flag15 (N, Val);
5236    end Set_Reverse_Present;
5237
5238    procedure Set_Right_Opnd
5239       (N : Node_Id; Val : Node_Id) is
5240    begin
5241       pragma Assert (False
5242         or else NT (N).Nkind in N_Op
5243         or else NT (N).Nkind = N_And_Then
5244         or else NT (N).Nkind = N_In
5245         or else NT (N).Nkind = N_Not_In
5246         or else NT (N).Nkind = N_Or_Else);
5247       Set_Node3_With_Parent (N, Val);
5248    end Set_Right_Opnd;
5249
5250    procedure Set_Rounded_Result
5251       (N : Node_Id; Val : Boolean := True) is
5252    begin
5253       pragma Assert (False
5254         or else NT (N).Nkind = N_Op_Divide
5255         or else NT (N).Nkind = N_Op_Multiply
5256         or else NT (N).Nkind = N_Type_Conversion);
5257       Set_Flag18 (N, Val);
5258    end Set_Rounded_Result;
5259
5260    procedure Set_Scope
5261       (N : Node_Id; Val : Node_Id) is
5262    begin
5263       pragma Assert (False
5264         or else NT (N).Nkind = N_Defining_Character_Literal
5265         or else NT (N).Nkind = N_Defining_Identifier
5266         or else NT (N).Nkind = N_Defining_Operator_Symbol);
5267       Set_Node3 (N, Val); -- semantic field, no parent set
5268    end Set_Scope;
5269
5270    procedure Set_Select_Alternatives
5271       (N : Node_Id; Val : List_Id) is
5272    begin
5273       pragma Assert (False
5274         or else NT (N).Nkind = N_Selective_Accept);
5275       Set_List1_With_Parent (N, Val);
5276    end Set_Select_Alternatives;
5277
5278    procedure Set_Selector_Name
5279       (N : Node_Id; Val : Node_Id) is
5280    begin
5281       pragma Assert (False
5282         or else NT (N).Nkind = N_Expanded_Name
5283         or else NT (N).Nkind = N_Generic_Association
5284         or else NT (N).Nkind = N_Parameter_Association
5285         or else NT (N).Nkind = N_Selected_Component);
5286       Set_Node2_With_Parent (N, Val);
5287    end Set_Selector_Name;
5288
5289    procedure Set_Selector_Names
5290       (N : Node_Id; Val : List_Id) is
5291    begin
5292       pragma Assert (False
5293         or else NT (N).Nkind = N_Discriminant_Association);
5294       Set_List1_With_Parent (N, Val);
5295    end Set_Selector_Names;
5296
5297    procedure Set_Shift_Count_OK
5298       (N : Node_Id; Val : Boolean := True) is
5299    begin
5300       pragma Assert (False
5301         or else NT (N).Nkind = N_Op_Rotate_Left
5302         or else NT (N).Nkind = N_Op_Rotate_Right
5303         or else NT (N).Nkind = N_Op_Shift_Left
5304         or else NT (N).Nkind = N_Op_Shift_Right
5305         or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
5306       Set_Flag4 (N, Val);
5307    end Set_Shift_Count_OK;
5308
5309    procedure Set_Source_Type
5310       (N : Node_Id; Val : Entity_Id) is
5311    begin
5312       pragma Assert (False
5313         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
5314       Set_Node1 (N, Val); -- semantic field, no parent set
5315    end Set_Source_Type;
5316
5317    procedure Set_Specification
5318       (N : Node_Id; Val : Node_Id) is
5319    begin
5320       pragma Assert (False
5321         or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
5322         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
5323         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
5324         or else NT (N).Nkind = N_Generic_Package_Declaration
5325         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
5326         or else NT (N).Nkind = N_Package_Declaration
5327         or else NT (N).Nkind = N_Subprogram_Body
5328         or else NT (N).Nkind = N_Subprogram_Body_Stub
5329         or else NT (N).Nkind = N_Subprogram_Declaration
5330         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
5331       Set_Node1_With_Parent (N, Val);
5332    end Set_Specification;
5333
5334    procedure Set_Statements
5335       (N : Node_Id; Val : List_Id) is
5336    begin
5337       pragma Assert (False
5338         or else NT (N).Nkind = N_Abortable_Part
5339         or else NT (N).Nkind = N_Accept_Alternative
5340         or else NT (N).Nkind = N_Case_Statement_Alternative
5341         or else NT (N).Nkind = N_Delay_Alternative
5342         or else NT (N).Nkind = N_Entry_Call_Alternative
5343         or else NT (N).Nkind = N_Exception_Handler
5344         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
5345         or else NT (N).Nkind = N_Loop_Statement
5346         or else NT (N).Nkind = N_Triggering_Alternative);
5347       Set_List3_With_Parent (N, Val);
5348    end Set_Statements;
5349
5350    procedure Set_Static_Processing_OK
5351       (N : Node_Id; Val : Boolean) is
5352    begin
5353       pragma Assert (False
5354         or else NT (N).Nkind = N_Aggregate);
5355       Set_Flag4 (N, Val);
5356    end Set_Static_Processing_OK;
5357
5358    procedure Set_Storage_Pool
5359       (N : Node_Id; Val : Node_Id) is
5360    begin
5361       pragma Assert (False
5362         or else NT (N).Nkind = N_Allocator
5363         or else NT (N).Nkind = N_Extended_Return_Statement
5364         or else NT (N).Nkind = N_Free_Statement
5365         or else NT (N).Nkind = N_Return_Statement);
5366       Set_Node1 (N, Val); -- semantic field, no parent set
5367    end Set_Storage_Pool;
5368
5369    procedure Set_Strval
5370       (N : Node_Id; Val : String_Id) is
5371    begin
5372       pragma Assert (False
5373         or else NT (N).Nkind = N_Operator_Symbol
5374         or else NT (N).Nkind = N_String_Literal);
5375       Set_Str3 (N, Val);
5376    end Set_Strval;
5377
5378    procedure Set_Subtype_Indication
5379       (N : Node_Id; Val : Node_Id) is
5380    begin
5381       pragma Assert (False
5382         or else NT (N).Nkind = N_Access_To_Object_Definition
5383         or else NT (N).Nkind = N_Component_Definition
5384         or else NT (N).Nkind = N_Derived_Type_Definition
5385         or else NT (N).Nkind = N_Private_Extension_Declaration
5386         or else NT (N).Nkind = N_Subtype_Declaration);
5387       Set_Node5_With_Parent (N, Val);
5388    end Set_Subtype_Indication;
5389
5390    procedure Set_Subtype_Mark
5391       (N : Node_Id; Val : Node_Id) is
5392    begin
5393       pragma Assert (False
5394         or else NT (N).Nkind = N_Access_Definition
5395         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
5396         or else NT (N).Nkind = N_Formal_Object_Declaration
5397         or else NT (N).Nkind = N_Object_Renaming_Declaration
5398         or else NT (N).Nkind = N_Qualified_Expression
5399         or else NT (N).Nkind = N_Subtype_Indication
5400         or else NT (N).Nkind = N_Type_Conversion
5401         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
5402       Set_Node4_With_Parent (N, Val);
5403    end Set_Subtype_Mark;
5404
5405    procedure Set_Subtype_Marks
5406       (N : Node_Id; Val : List_Id) is
5407    begin
5408       pragma Assert (False
5409         or else NT (N).Nkind = N_Unconstrained_Array_Definition
5410         or else NT (N).Nkind = N_Use_Type_Clause);
5411       Set_List2_With_Parent (N, Val);
5412    end Set_Subtype_Marks;
5413
5414    procedure Set_Synchronized_Present
5415      (N : Node_Id; Val : Boolean := True) is
5416    begin
5417       pragma Assert (False
5418         or else NT (N).Nkind = N_Derived_Type_Definition
5419         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
5420         or else NT (N).Nkind = N_Private_Extension_Declaration
5421         or else NT (N).Nkind = N_Record_Definition);
5422       Set_Flag7 (N, Val);
5423    end Set_Synchronized_Present;
5424
5425    procedure Set_Tagged_Present
5426       (N : Node_Id; Val : Boolean := True) is
5427    begin
5428       pragma Assert (False
5429         or else NT (N).Nkind = N_Formal_Private_Type_Definition
5430         or else NT (N).Nkind = N_Incomplete_Type_Declaration
5431         or else NT (N).Nkind = N_Private_Type_Declaration
5432         or else NT (N).Nkind = N_Record_Definition);
5433       Set_Flag15 (N, Val);
5434    end Set_Tagged_Present;
5435
5436    procedure Set_Target_Type
5437       (N : Node_Id; Val : Entity_Id) is
5438    begin
5439       pragma Assert (False
5440         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
5441       Set_Node2 (N, Val); -- semantic field, no parent set
5442    end Set_Target_Type;
5443
5444    procedure Set_Task_Definition
5445       (N : Node_Id; Val : Node_Id) is
5446    begin
5447       pragma Assert (False
5448         or else NT (N).Nkind = N_Single_Task_Declaration
5449         or else NT (N).Nkind = N_Task_Type_Declaration);
5450       Set_Node3_With_Parent (N, Val);
5451    end Set_Task_Definition;
5452
5453    procedure Set_Task_Present
5454      (N : Node_Id; Val : Boolean := True) is
5455    begin
5456       pragma Assert (False
5457         or else NT (N).Nkind = N_Derived_Type_Definition
5458         or else NT (N).Nkind = N_Record_Definition);
5459       Set_Flag5 (N, Val);
5460    end Set_Task_Present;
5461
5462    procedure Set_Then_Actions
5463       (N : Node_Id; Val : List_Id) is
5464    begin
5465       pragma Assert (False
5466         or else NT (N).Nkind = N_Conditional_Expression);
5467       Set_List2 (N, Val); -- semantic field, no parent set
5468    end Set_Then_Actions;
5469
5470    procedure Set_Then_Statements
5471       (N : Node_Id; Val : List_Id) is
5472    begin
5473       pragma Assert (False
5474         or else NT (N).Nkind = N_Elsif_Part
5475         or else NT (N).Nkind = N_If_Statement);
5476       Set_List2_With_Parent (N, Val);
5477    end Set_Then_Statements;
5478
5479    procedure Set_Treat_Fixed_As_Integer
5480       (N : Node_Id; Val : Boolean := True) is
5481    begin
5482       pragma Assert (False
5483         or else NT (N).Nkind = N_Op_Divide
5484         or else NT (N).Nkind = N_Op_Mod
5485         or else NT (N).Nkind = N_Op_Multiply
5486         or else NT (N).Nkind = N_Op_Rem);
5487       Set_Flag14 (N, Val);
5488    end Set_Treat_Fixed_As_Integer;
5489
5490    procedure Set_Triggering_Alternative
5491       (N : Node_Id; Val : Node_Id) is
5492    begin
5493       pragma Assert (False
5494         or else NT (N).Nkind = N_Asynchronous_Select);
5495       Set_Node1_With_Parent (N, Val);
5496    end Set_Triggering_Alternative;
5497
5498    procedure Set_Triggering_Statement
5499       (N : Node_Id; Val : Node_Id) is
5500    begin
5501       pragma Assert (False
5502         or else NT (N).Nkind = N_Triggering_Alternative);
5503       Set_Node1_With_Parent (N, Val);
5504    end Set_Triggering_Statement;
5505
5506    procedure Set_TSS_Elist
5507       (N : Node_Id; Val : Elist_Id) is
5508    begin
5509       pragma Assert (False
5510         or else NT (N).Nkind = N_Freeze_Entity);
5511       Set_Elist3 (N, Val); -- semantic field, no parent set
5512    end Set_TSS_Elist;
5513
5514    procedure Set_Type_Definition
5515       (N : Node_Id; Val : Node_Id) is
5516    begin
5517       pragma Assert (False
5518         or else NT (N).Nkind = N_Full_Type_Declaration);
5519       Set_Node3_With_Parent (N, Val);
5520    end Set_Type_Definition;
5521
5522    procedure Set_Unit
5523       (N : Node_Id; Val : Node_Id) is
5524    begin
5525       pragma Assert (False
5526         or else NT (N).Nkind = N_Compilation_Unit);
5527       Set_Node2_With_Parent (N, Val);
5528    end Set_Unit;
5529
5530    procedure Set_Unknown_Discriminants_Present
5531       (N : Node_Id; Val : Boolean := True) is
5532    begin
5533       pragma Assert (False
5534         or else NT (N).Nkind = N_Formal_Type_Declaration
5535         or else NT (N).Nkind = N_Incomplete_Type_Declaration
5536         or else NT (N).Nkind = N_Private_Extension_Declaration
5537         or else NT (N).Nkind = N_Private_Type_Declaration);
5538       Set_Flag13 (N, Val);
5539    end Set_Unknown_Discriminants_Present;
5540
5541    procedure Set_Unreferenced_In_Spec
5542       (N : Node_Id; Val : Boolean := True) is
5543    begin
5544       pragma Assert (False
5545         or else NT (N).Nkind = N_With_Clause);
5546       Set_Flag7 (N, Val);
5547    end Set_Unreferenced_In_Spec;
5548
5549    procedure Set_Variant_Part
5550       (N : Node_Id; Val : Node_Id) is
5551    begin
5552       pragma Assert (False
5553         or else NT (N).Nkind = N_Component_List);
5554       Set_Node4_With_Parent (N, Val);
5555    end Set_Variant_Part;
5556
5557    procedure Set_Variants
5558       (N : Node_Id; Val : List_Id) is
5559    begin
5560       pragma Assert (False
5561         or else NT (N).Nkind = N_Variant_Part);
5562       Set_List1_With_Parent (N, Val);
5563    end Set_Variants;
5564
5565    procedure Set_Visible_Declarations
5566       (N : Node_Id; Val : List_Id) is
5567    begin
5568       pragma Assert (False
5569         or else NT (N).Nkind = N_Package_Specification
5570         or else NT (N).Nkind = N_Protected_Definition
5571         or else NT (N).Nkind = N_Task_Definition);
5572       Set_List2_With_Parent (N, Val);
5573    end Set_Visible_Declarations;
5574
5575    procedure Set_Was_Originally_Stub
5576       (N : Node_Id; Val : Boolean := True) is
5577    begin
5578       pragma Assert (False
5579         or else NT (N).Nkind = N_Package_Body
5580         or else NT (N).Nkind = N_Protected_Body
5581         or else NT (N).Nkind = N_Subprogram_Body
5582         or else NT (N).Nkind = N_Task_Body);
5583       Set_Flag13 (N, Val);
5584    end Set_Was_Originally_Stub;
5585
5586    procedure Set_Zero_Cost_Handling
5587       (N : Node_Id; Val : Boolean := True) is
5588    begin
5589       pragma Assert (False
5590         or else NT (N).Nkind = N_Exception_Handler
5591         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
5592       Set_Flag5 (N, Val);
5593    end Set_Zero_Cost_Handling;
5594
5595    -------------------------
5596    -- Iterator Procedures --
5597    -------------------------
5598
5599    procedure Next_Entity       (N : in out Node_Id) is
5600    begin
5601       N := Next_Entity (N);
5602    end Next_Entity;
5603
5604    procedure Next_Named_Actual (N : in out Node_Id) is
5605    begin
5606       N := Next_Named_Actual (N);
5607    end Next_Named_Actual;
5608
5609    procedure Next_Rep_Item     (N : in out Node_Id) is
5610    begin
5611       N := Next_Rep_Item (N);
5612    end Next_Rep_Item;
5613
5614    procedure Next_Use_Clause   (N : in out Node_Id) is
5615    begin
5616       N := Next_Use_Clause (N);
5617    end Next_Use_Clause;
5618
5619    ------------------
5620    -- End_Location --
5621    ------------------
5622
5623    function End_Location (N : Node_Id) return Source_Ptr is
5624       L : constant Uint := End_Span (N);
5625    begin
5626       if L = No_Uint then
5627          return No_Location;
5628       else
5629          return Source_Ptr (Int (Sloc (N)) + UI_To_Int (L));
5630       end if;
5631    end End_Location;
5632
5633    ----------------------
5634    -- Set_End_Location --
5635    ----------------------
5636
5637    procedure Set_End_Location (N : Node_Id; S : Source_Ptr) is
5638    begin
5639       Set_End_Span (N,
5640         UI_From_Int (Int (S) - Int (Sloc (N))));
5641    end Set_End_Location;
5642
5643    --------------
5644    -- Nkind_In --
5645    --------------
5646
5647    function Nkind_In
5648      (T  : Node_Kind;
5649       V1 : Node_Kind;
5650       V2 : Node_Kind) return Boolean
5651    is
5652    begin
5653       return T = V1 or else
5654              T = V2;
5655    end Nkind_In;
5656
5657    function Nkind_In
5658      (T  : Node_Kind;
5659       V1 : Node_Kind;
5660       V2 : Node_Kind;
5661       V3 : Node_Kind) return Boolean
5662    is
5663    begin
5664       return T = V1 or else
5665              T = V2 or else
5666              T = V3;
5667    end Nkind_In;
5668
5669    function Nkind_In
5670      (T  : Node_Kind;
5671       V1 : Node_Kind;
5672       V2 : Node_Kind;
5673       V3 : Node_Kind;
5674       V4 : Node_Kind) return Boolean
5675    is
5676    begin
5677       return T = V1 or else
5678              T = V2 or else
5679              T = V3 or else
5680              T = V4;
5681    end Nkind_In;
5682
5683    function Nkind_In
5684      (T  : Node_Kind;
5685       V1 : Node_Kind;
5686       V2 : Node_Kind;
5687       V3 : Node_Kind;
5688       V4 : Node_Kind;
5689       V5 : Node_Kind) return Boolean
5690    is
5691    begin
5692       return T = V1 or else
5693              T = V2 or else
5694              T = V3 or else
5695              T = V4 or else
5696              T = V5;
5697    end Nkind_In;
5698
5699    function Nkind_In
5700      (T  : Node_Kind;
5701       V1 : Node_Kind;
5702       V2 : Node_Kind;
5703       V3 : Node_Kind;
5704       V4 : Node_Kind;
5705       V5 : Node_Kind;
5706       V6 : Node_Kind) return Boolean
5707    is
5708    begin
5709       return T = V1 or else
5710              T = V2 or else
5711              T = V3 or else
5712              T = V4 or else
5713              T = V5 or else
5714              T = V6;
5715    end Nkind_In;
5716
5717    function Nkind_In
5718      (T  : Node_Kind;
5719       V1 : Node_Kind;
5720       V2 : Node_Kind;
5721       V3 : Node_Kind;
5722       V4 : Node_Kind;
5723       V5 : Node_Kind;
5724       V6 : Node_Kind;
5725       V7 : Node_Kind) return Boolean
5726    is
5727    begin
5728       return T = V1 or else
5729              T = V2 or else
5730              T = V3 or else
5731              T = V4 or else
5732              T = V5 or else
5733              T = V6 or else
5734              T = V7;
5735    end Nkind_In;
5736
5737    function Nkind_In
5738      (T  : Node_Kind;
5739       V1 : Node_Kind;
5740       V2 : Node_Kind;
5741       V3 : Node_Kind;
5742       V4 : Node_Kind;
5743       V5 : Node_Kind;
5744       V6 : Node_Kind;
5745       V7 : Node_Kind;
5746       V8 : Node_Kind) return Boolean
5747    is
5748    begin
5749       return T = V1 or else
5750              T = V2 or else
5751              T = V3 or else
5752              T = V4 or else
5753              T = V5 or else
5754              T = V6 or else
5755              T = V7 or else
5756              T = V8;
5757    end Nkind_In;
5758
5759    -----------------
5760    -- Pragma_Name --
5761    -----------------
5762
5763    function Pragma_Name (N : Node_Id) return Name_Id is
5764    begin
5765       return Chars (Pragma_Identifier (N));
5766    end Pragma_Name;
5767
5768 end Sinfo;