OSDN Git Service

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