OSDN Git Service

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