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