OSDN Git Service

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