OSDN Git Service

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