OSDN Git Service

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