OSDN Git Service

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