OSDN Git Service

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