OSDN Git Service

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