OSDN Git Service

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