OSDN Git Service

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