OSDN Git Service

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