OSDN Git Service

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