OSDN Git Service

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