OSDN Git Service

2003-11-13 Vincent Celier <celier@gnat.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / sinfo.adb
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                         GNAT COMPILER COMPONENTS                         --
4 --                                                                          --
5 --                                S I N F O                                 --
6 --                                                                          --
7 --                                 B o d y                                  --
8 --                                                                          --
9 --          Copyright (C) 1992-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_Entities_Ref_In_Spec
1768       (N : Node_Id) return Boolean is
1769    begin
1770       pragma Assert (False
1771         or else NT (N).Nkind = N_With_Clause);
1772       return Flag8 (N);
1773    end No_Entities_Ref_In_Spec;
1774
1775    function No_Initialization
1776       (N : Node_Id) return Boolean is
1777    begin
1778       pragma Assert (False
1779         or else NT (N).Nkind = N_Allocator
1780         or else NT (N).Nkind = N_Object_Declaration);
1781       return Flag13 (N);
1782    end No_Initialization;
1783
1784    function No_Truncation
1785       (N : Node_Id) return Boolean is
1786    begin
1787       pragma Assert (False
1788         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
1789       return Flag17 (N);
1790    end No_Truncation;
1791
1792    function Null_Present
1793       (N : Node_Id) return Boolean is
1794    begin
1795       pragma Assert (False
1796         or else NT (N).Nkind = N_Component_List
1797         or else NT (N).Nkind = N_Record_Definition);
1798       return Flag13 (N);
1799    end Null_Present;
1800
1801    function Null_Record_Present
1802       (N : Node_Id) return Boolean is
1803    begin
1804       pragma Assert (False
1805         or else NT (N).Nkind = N_Aggregate
1806         or else NT (N).Nkind = N_Extension_Aggregate);
1807       return Flag17 (N);
1808    end Null_Record_Present;
1809
1810    function Object_Definition
1811       (N : Node_Id) return Node_Id is
1812    begin
1813       pragma Assert (False
1814         or else NT (N).Nkind = N_Object_Declaration);
1815       return Node4 (N);
1816    end Object_Definition;
1817
1818    function OK_For_Stream
1819       (N : Node_Id) return Boolean is
1820    begin
1821       pragma Assert (False
1822         or else NT (N).Nkind = N_Attribute_Reference);
1823       return Flag4 (N);
1824    end OK_For_Stream;
1825
1826    function Original_Discriminant
1827       (N : Node_Id) return Node_Id is
1828    begin
1829       pragma Assert (False
1830         or else NT (N).Nkind = N_Identifier);
1831       return Node2 (N);
1832    end Original_Discriminant;
1833
1834    function Original_Entity
1835       (N : Node_Id) return Entity_Id is
1836    begin
1837       pragma Assert (False
1838         or else NT (N).Nkind = N_Integer_Literal
1839         or else NT (N).Nkind = N_Real_Literal);
1840       return Node2 (N);
1841    end Original_Entity;
1842
1843    function Others_Discrete_Choices
1844       (N : Node_Id) return List_Id is
1845    begin
1846       pragma Assert (False
1847         or else NT (N).Nkind = N_Others_Choice);
1848       return List1 (N);
1849    end Others_Discrete_Choices;
1850
1851    function Out_Present
1852       (N : Node_Id) return Boolean is
1853    begin
1854       pragma Assert (False
1855         or else NT (N).Nkind = N_Formal_Object_Declaration
1856         or else NT (N).Nkind = N_Parameter_Specification);
1857       return Flag17 (N);
1858    end Out_Present;
1859
1860    function Parameter_Associations
1861       (N : Node_Id) return List_Id is
1862    begin
1863       pragma Assert (False
1864         or else NT (N).Nkind = N_Entry_Call_Statement
1865         or else NT (N).Nkind = N_Function_Call
1866         or else NT (N).Nkind = N_Procedure_Call_Statement);
1867       return List3 (N);
1868    end Parameter_Associations;
1869
1870    function Parameter_List_Truncated
1871       (N : Node_Id) return Boolean is
1872    begin
1873       pragma Assert (False
1874         or else NT (N).Nkind = N_Function_Call
1875         or else NT (N).Nkind = N_Procedure_Call_Statement);
1876       return Flag17 (N);
1877    end Parameter_List_Truncated;
1878
1879    function Parameter_Specifications
1880       (N : Node_Id) return List_Id is
1881    begin
1882       pragma Assert (False
1883         or else NT (N).Nkind = N_Accept_Statement
1884         or else NT (N).Nkind = N_Access_Function_Definition
1885         or else NT (N).Nkind = N_Access_Procedure_Definition
1886         or else NT (N).Nkind = N_Entry_Body_Formal_Part
1887         or else NT (N).Nkind = N_Entry_Declaration
1888         or else NT (N).Nkind = N_Function_Specification
1889         or else NT (N).Nkind = N_Procedure_Specification);
1890       return List3 (N);
1891    end Parameter_Specifications;
1892
1893    function Parameter_Type
1894       (N : Node_Id) return Node_Id is
1895    begin
1896       pragma Assert (False
1897         or else NT (N).Nkind = N_Parameter_Specification);
1898       return Node2 (N);
1899    end Parameter_Type;
1900
1901    function Parent_Spec
1902       (N : Node_Id) return Node_Id is
1903    begin
1904       pragma Assert (False
1905         or else NT (N).Nkind = N_Function_Instantiation
1906         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
1907         or else NT (N).Nkind = N_Generic_Package_Declaration
1908         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
1909         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
1910         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
1911         or else NT (N).Nkind = N_Package_Declaration
1912         or else NT (N).Nkind = N_Package_Instantiation
1913         or else NT (N).Nkind = N_Package_Renaming_Declaration
1914         or else NT (N).Nkind = N_Procedure_Instantiation
1915         or else NT (N).Nkind = N_Subprogram_Declaration
1916         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
1917       return Node4 (N);
1918    end Parent_Spec;
1919
1920    function Position
1921       (N : Node_Id) return Node_Id is
1922    begin
1923       pragma Assert (False
1924         or else NT (N).Nkind = N_Component_Clause);
1925       return Node2 (N);
1926    end Position;
1927
1928    function Pragma_Argument_Associations
1929       (N : Node_Id) return List_Id is
1930    begin
1931       pragma Assert (False
1932         or else NT (N).Nkind = N_Pragma);
1933       return List2 (N);
1934    end Pragma_Argument_Associations;
1935
1936    function Pragmas_After
1937       (N : Node_Id) return List_Id is
1938    begin
1939       pragma Assert (False
1940         or else NT (N).Nkind = N_Compilation_Unit_Aux
1941         or else NT (N).Nkind = N_Terminate_Alternative);
1942       return List5 (N);
1943    end Pragmas_After;
1944
1945    function Pragmas_Before
1946       (N : Node_Id) return List_Id is
1947    begin
1948       pragma Assert (False
1949         or else NT (N).Nkind = N_Accept_Alternative
1950         or else NT (N).Nkind = N_Delay_Alternative
1951         or else NT (N).Nkind = N_Entry_Call_Alternative
1952         or else NT (N).Nkind = N_Mod_Clause
1953         or else NT (N).Nkind = N_Terminate_Alternative
1954         or else NT (N).Nkind = N_Triggering_Alternative);
1955       return List4 (N);
1956    end Pragmas_Before;
1957
1958    function Prefix
1959       (N : Node_Id) return Node_Id is
1960    begin
1961       pragma Assert (False
1962         or else NT (N).Nkind = N_Attribute_Reference
1963         or else NT (N).Nkind = N_Expanded_Name
1964         or else NT (N).Nkind = N_Explicit_Dereference
1965         or else NT (N).Nkind = N_Indexed_Component
1966         or else NT (N).Nkind = N_Reference
1967         or else NT (N).Nkind = N_Selected_Component
1968         or else NT (N).Nkind = N_Slice);
1969       return Node3 (N);
1970    end Prefix;
1971
1972    function Present_Expr
1973       (N : Node_Id) return Uint is
1974    begin
1975       pragma Assert (False
1976         or else NT (N).Nkind = N_Variant);
1977       return Uint3 (N);
1978    end Present_Expr;
1979
1980    function Prev_Ids
1981       (N : Node_Id) return Boolean is
1982    begin
1983       pragma Assert (False
1984         or else NT (N).Nkind = N_Component_Declaration
1985         or else NT (N).Nkind = N_Discriminant_Specification
1986         or else NT (N).Nkind = N_Exception_Declaration
1987         or else NT (N).Nkind = N_Formal_Object_Declaration
1988         or else NT (N).Nkind = N_Number_Declaration
1989         or else NT (N).Nkind = N_Object_Declaration
1990         or else NT (N).Nkind = N_Parameter_Specification);
1991       return Flag6 (N);
1992    end Prev_Ids;
1993
1994    function Print_In_Hex
1995       (N : Node_Id) return Boolean is
1996    begin
1997       pragma Assert (False
1998         or else NT (N).Nkind = N_Integer_Literal);
1999       return Flag13 (N);
2000    end Print_In_Hex;
2001
2002    function Private_Declarations
2003       (N : Node_Id) return List_Id is
2004    begin
2005       pragma Assert (False
2006         or else NT (N).Nkind = N_Package_Specification
2007         or else NT (N).Nkind = N_Protected_Definition
2008         or else NT (N).Nkind = N_Task_Definition);
2009       return List3 (N);
2010    end Private_Declarations;
2011
2012    function Private_Present
2013       (N : Node_Id) return Boolean is
2014    begin
2015       pragma Assert (False
2016         or else NT (N).Nkind = N_Compilation_Unit
2017         or else NT (N).Nkind = N_Formal_Derived_Type_Definition);
2018       return Flag15 (N);
2019    end Private_Present;
2020
2021    function Procedure_To_Call
2022       (N : Node_Id) return Node_Id is
2023    begin
2024       pragma Assert (False
2025         or else NT (N).Nkind = N_Allocator
2026         or else NT (N).Nkind = N_Free_Statement
2027         or else NT (N).Nkind = N_Return_Statement);
2028       return Node4 (N);
2029    end Procedure_To_Call;
2030
2031    function Proper_Body
2032       (N : Node_Id) return Node_Id is
2033    begin
2034       pragma Assert (False
2035         or else NT (N).Nkind = N_Subunit);
2036       return Node1 (N);
2037    end Proper_Body;
2038
2039    function Protected_Definition
2040       (N : Node_Id) return Node_Id is
2041    begin
2042       pragma Assert (False
2043         or else NT (N).Nkind = N_Protected_Type_Declaration
2044         or else NT (N).Nkind = N_Single_Protected_Declaration);
2045       return Node3 (N);
2046    end Protected_Definition;
2047
2048    function Protected_Present
2049       (N : Node_Id) return Boolean is
2050    begin
2051       pragma Assert (False
2052         or else NT (N).Nkind = N_Access_Function_Definition
2053         or else NT (N).Nkind = N_Access_Procedure_Definition);
2054       return Flag15 (N);
2055    end Protected_Present;
2056
2057    function Raises_Constraint_Error
2058       (N : Node_Id) return Boolean is
2059    begin
2060       pragma Assert (False
2061         or else NT (N).Nkind in N_Subexpr);
2062       return Flag7 (N);
2063    end Raises_Constraint_Error;
2064
2065    function Range_Constraint
2066       (N : Node_Id) return Node_Id is
2067    begin
2068       pragma Assert (False
2069         or else NT (N).Nkind = N_Delta_Constraint
2070         or else NT (N).Nkind = N_Digits_Constraint);
2071       return Node4 (N);
2072    end Range_Constraint;
2073
2074    function Range_Expression
2075       (N : Node_Id) return Node_Id is
2076    begin
2077       pragma Assert (False
2078         or else NT (N).Nkind = N_Range_Constraint);
2079       return Node4 (N);
2080    end Range_Expression;
2081
2082    function Real_Range_Specification
2083       (N : Node_Id) return Node_Id is
2084    begin
2085       pragma Assert (False
2086         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
2087         or else NT (N).Nkind = N_Floating_Point_Definition
2088         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
2089       return Node4 (N);
2090    end Real_Range_Specification;
2091
2092    function Realval
2093       (N : Node_Id) return Ureal is
2094    begin
2095       pragma Assert (False
2096         or else NT (N).Nkind = N_Real_Literal);
2097       return Ureal3 (N);
2098    end Realval;
2099
2100    function Reason
2101       (N : Node_Id) return Uint is
2102    begin
2103       pragma Assert (False
2104         or else NT (N).Nkind = N_Raise_Constraint_Error
2105         or else NT (N).Nkind = N_Raise_Program_Error
2106         or else NT (N).Nkind = N_Raise_Storage_Error);
2107       return Uint3 (N);
2108    end Reason;
2109
2110    function Record_Extension_Part
2111       (N : Node_Id) return Node_Id is
2112    begin
2113       pragma Assert (False
2114         or else NT (N).Nkind = N_Derived_Type_Definition);
2115       return Node3 (N);
2116    end Record_Extension_Part;
2117
2118    function Redundant_Use
2119       (N : Node_Id) return Boolean is
2120    begin
2121       pragma Assert (False
2122         or else NT (N).Nkind = N_Attribute_Reference
2123         or else NT (N).Nkind = N_Expanded_Name
2124         or else NT (N).Nkind = N_Identifier);
2125       return Flag13 (N);
2126    end Redundant_Use;
2127
2128    function Return_Type
2129       (N : Node_Id) return Node_Id is
2130    begin
2131       pragma Assert (False
2132         or else NT (N).Nkind = N_Return_Statement);
2133       return Node2 (N);
2134    end Return_Type;
2135
2136    function Reverse_Present
2137       (N : Node_Id) return Boolean is
2138    begin
2139       pragma Assert (False
2140         or else NT (N).Nkind = N_Loop_Parameter_Specification);
2141       return Flag15 (N);
2142    end Reverse_Present;
2143
2144    function Right_Opnd
2145       (N : Node_Id) return Node_Id is
2146    begin
2147       pragma Assert (False
2148         or else NT (N).Nkind in N_Op
2149         or else NT (N).Nkind = N_And_Then
2150         or else NT (N).Nkind = N_In
2151         or else NT (N).Nkind = N_Not_In
2152         or else NT (N).Nkind = N_Or_Else);
2153       return Node3 (N);
2154    end Right_Opnd;
2155
2156    function Rounded_Result
2157       (N : Node_Id) return Boolean is
2158    begin
2159       pragma Assert (False
2160         or else NT (N).Nkind = N_Op_Divide
2161         or else NT (N).Nkind = N_Op_Multiply
2162         or else NT (N).Nkind = N_Type_Conversion);
2163       return Flag18 (N);
2164    end Rounded_Result;
2165
2166    function Scope
2167       (N : Node_Id) return Node_Id is
2168    begin
2169       pragma Assert (False
2170         or else NT (N).Nkind = N_Defining_Character_Literal
2171         or else NT (N).Nkind = N_Defining_Identifier
2172         or else NT (N).Nkind = N_Defining_Operator_Symbol);
2173       return Node3 (N);
2174    end Scope;
2175
2176    function Select_Alternatives
2177       (N : Node_Id) return List_Id is
2178    begin
2179       pragma Assert (False
2180         or else NT (N).Nkind = N_Selective_Accept);
2181       return List1 (N);
2182    end Select_Alternatives;
2183
2184    function Selector_Name
2185       (N : Node_Id) return Node_Id is
2186    begin
2187       pragma Assert (False
2188         or else NT (N).Nkind = N_Expanded_Name
2189         or else NT (N).Nkind = N_Generic_Association
2190         or else NT (N).Nkind = N_Parameter_Association
2191         or else NT (N).Nkind = N_Selected_Component);
2192       return Node2 (N);
2193    end Selector_Name;
2194
2195    function Selector_Names
2196       (N : Node_Id) return List_Id is
2197    begin
2198       pragma Assert (False
2199         or else NT (N).Nkind = N_Discriminant_Association);
2200       return List1 (N);
2201    end Selector_Names;
2202
2203    function Shift_Count_OK
2204       (N : Node_Id) return Boolean is
2205    begin
2206       pragma Assert (False
2207         or else NT (N).Nkind = N_Op_Rotate_Left
2208         or else NT (N).Nkind = N_Op_Rotate_Right
2209         or else NT (N).Nkind = N_Op_Shift_Left
2210         or else NT (N).Nkind = N_Op_Shift_Right
2211         or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
2212       return Flag4 (N);
2213    end Shift_Count_OK;
2214
2215    function Source_Type
2216       (N : Node_Id) return Entity_Id is
2217    begin
2218       pragma Assert (False
2219         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
2220       return Node1 (N);
2221    end Source_Type;
2222
2223    function Specification
2224       (N : Node_Id) return Node_Id is
2225    begin
2226       pragma Assert (False
2227         or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
2228         or else NT (N).Nkind = N_Formal_Subprogram_Declaration
2229         or else NT (N).Nkind = N_Generic_Package_Declaration
2230         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
2231         or else NT (N).Nkind = N_Package_Declaration
2232         or else NT (N).Nkind = N_Subprogram_Body
2233         or else NT (N).Nkind = N_Subprogram_Body_Stub
2234         or else NT (N).Nkind = N_Subprogram_Declaration
2235         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
2236       return Node1 (N);
2237    end Specification;
2238
2239    function Statements
2240       (N : Node_Id) return List_Id is
2241    begin
2242       pragma Assert (False
2243         or else NT (N).Nkind = N_Abortable_Part
2244         or else NT (N).Nkind = N_Accept_Alternative
2245         or else NT (N).Nkind = N_Case_Statement_Alternative
2246         or else NT (N).Nkind = N_Delay_Alternative
2247         or else NT (N).Nkind = N_Entry_Call_Alternative
2248         or else NT (N).Nkind = N_Exception_Handler
2249         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
2250         or else NT (N).Nkind = N_Loop_Statement
2251         or else NT (N).Nkind = N_Triggering_Alternative);
2252       return List3 (N);
2253    end Statements;
2254
2255    function Static_Processing_OK
2256       (N : Node_Id) return Boolean is
2257    begin
2258       pragma Assert (False
2259         or else NT (N).Nkind = N_Aggregate);
2260       return Flag4 (N);
2261    end Static_Processing_OK;
2262
2263    function Storage_Pool
2264       (N : Node_Id) return Node_Id is
2265    begin
2266       pragma Assert (False
2267         or else NT (N).Nkind = N_Allocator
2268         or else NT (N).Nkind = N_Free_Statement
2269         or else NT (N).Nkind = N_Return_Statement);
2270       return Node1 (N);
2271    end Storage_Pool;
2272
2273    function Strval
2274       (N : Node_Id) return String_Id is
2275    begin
2276       pragma Assert (False
2277         or else NT (N).Nkind = N_Operator_Symbol
2278         or else NT (N).Nkind = N_String_Literal);
2279       return Str3 (N);
2280    end Strval;
2281
2282    function Subtype_Indication
2283       (N : Node_Id) return Node_Id is
2284    begin
2285       pragma Assert (False
2286         or else NT (N).Nkind = N_Access_To_Object_Definition
2287         or else NT (N).Nkind = N_Component_Declaration
2288         or else NT (N).Nkind = N_Constrained_Array_Definition
2289         or else NT (N).Nkind = N_Derived_Type_Definition
2290         or else NT (N).Nkind = N_Private_Extension_Declaration
2291         or else NT (N).Nkind = N_Subtype_Declaration
2292         or else NT (N).Nkind = N_Unconstrained_Array_Definition);
2293       return Node5 (N);
2294    end Subtype_Indication;
2295
2296    function Subtype_Mark
2297       (N : Node_Id) return Node_Id is
2298    begin
2299       pragma Assert (False
2300         or else NT (N).Nkind = N_Access_Definition
2301         or else NT (N).Nkind = N_Access_Function_Definition
2302         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2303         or else NT (N).Nkind = N_Formal_Object_Declaration
2304         or else NT (N).Nkind = N_Function_Specification
2305         or else NT (N).Nkind = N_Object_Renaming_Declaration
2306         or else NT (N).Nkind = N_Qualified_Expression
2307         or else NT (N).Nkind = N_Subtype_Indication
2308         or else NT (N).Nkind = N_Type_Conversion
2309         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
2310       return Node4 (N);
2311    end Subtype_Mark;
2312
2313    function Subtype_Marks
2314       (N : Node_Id) return List_Id is
2315    begin
2316       pragma Assert (False
2317         or else NT (N).Nkind = N_Unconstrained_Array_Definition
2318         or else NT (N).Nkind = N_Use_Type_Clause);
2319       return List2 (N);
2320    end Subtype_Marks;
2321
2322    function Tagged_Present
2323       (N : Node_Id) return Boolean is
2324    begin
2325       pragma Assert (False
2326         or else NT (N).Nkind = N_Formal_Private_Type_Definition
2327         or else NT (N).Nkind = N_Private_Type_Declaration
2328         or else NT (N).Nkind = N_Record_Definition
2329         or else NT (N).Nkind = N_With_Type_Clause);
2330       return Flag15 (N);
2331    end Tagged_Present;
2332
2333    function Target_Type
2334       (N : Node_Id) return Entity_Id is
2335    begin
2336       pragma Assert (False
2337         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
2338       return Node2 (N);
2339    end Target_Type;
2340
2341    function Task_Body_Procedure
2342       (N : Node_Id) return Entity_Id is
2343    begin
2344       pragma Assert (False
2345         or else NT (N).Nkind = N_Task_Type_Declaration);
2346       return Node2 (N);
2347    end Task_Body_Procedure;
2348
2349    function Task_Definition
2350       (N : Node_Id) return Node_Id is
2351    begin
2352       pragma Assert (False
2353         or else NT (N).Nkind = N_Single_Task_Declaration
2354         or else NT (N).Nkind = N_Task_Type_Declaration);
2355       return Node3 (N);
2356    end Task_Definition;
2357
2358    function Then_Actions
2359       (N : Node_Id) return List_Id is
2360    begin
2361       pragma Assert (False
2362         or else NT (N).Nkind = N_Conditional_Expression);
2363       return List2 (N);
2364    end Then_Actions;
2365
2366    function Then_Statements
2367       (N : Node_Id) return List_Id is
2368    begin
2369       pragma Assert (False
2370         or else NT (N).Nkind = N_Elsif_Part
2371         or else NT (N).Nkind = N_If_Statement);
2372       return List2 (N);
2373    end Then_Statements;
2374
2375    function Treat_Fixed_As_Integer
2376       (N : Node_Id) return Boolean is
2377    begin
2378       pragma Assert (False
2379         or else NT (N).Nkind = N_Op_Divide
2380         or else NT (N).Nkind = N_Op_Mod
2381         or else NT (N).Nkind = N_Op_Multiply
2382         or else NT (N).Nkind = N_Op_Rem);
2383       return Flag14 (N);
2384    end Treat_Fixed_As_Integer;
2385
2386    function Triggering_Alternative
2387       (N : Node_Id) return Node_Id is
2388    begin
2389       pragma Assert (False
2390         or else NT (N).Nkind = N_Asynchronous_Select);
2391       return Node1 (N);
2392    end Triggering_Alternative;
2393
2394    function Triggering_Statement
2395       (N : Node_Id) return Node_Id is
2396    begin
2397       pragma Assert (False
2398         or else NT (N).Nkind = N_Triggering_Alternative);
2399       return Node1 (N);
2400    end Triggering_Statement;
2401
2402    function TSS_Elist
2403       (N : Node_Id) return Elist_Id is
2404    begin
2405       pragma Assert (False
2406         or else NT (N).Nkind = N_Freeze_Entity);
2407       return Elist3 (N);
2408    end TSS_Elist;
2409
2410    function Type_Definition
2411       (N : Node_Id) return Node_Id is
2412    begin
2413       pragma Assert (False
2414         or else NT (N).Nkind = N_Full_Type_Declaration);
2415       return Node3 (N);
2416    end Type_Definition;
2417
2418    function Unit
2419       (N : Node_Id) return Node_Id is
2420    begin
2421       pragma Assert (False
2422         or else NT (N).Nkind = N_Compilation_Unit);
2423       return Node2 (N);
2424    end Unit;
2425
2426    function Unknown_Discriminants_Present
2427       (N : Node_Id) return Boolean is
2428    begin
2429       pragma Assert (False
2430         or else NT (N).Nkind = N_Formal_Type_Declaration
2431         or else NT (N).Nkind = N_Incomplete_Type_Declaration
2432         or else NT (N).Nkind = N_Private_Extension_Declaration
2433         or else NT (N).Nkind = N_Private_Type_Declaration);
2434       return Flag13 (N);
2435    end Unknown_Discriminants_Present;
2436
2437    function Unreferenced_In_Spec
2438       (N : Node_Id) return Boolean is
2439    begin
2440       pragma Assert (False
2441         or else NT (N).Nkind = N_With_Clause);
2442       return Flag7 (N);
2443    end Unreferenced_In_Spec;
2444
2445    function Variant_Part
2446       (N : Node_Id) return Node_Id is
2447    begin
2448       pragma Assert (False
2449         or else NT (N).Nkind = N_Component_List);
2450       return Node4 (N);
2451    end Variant_Part;
2452
2453    function Variants
2454       (N : Node_Id) return List_Id is
2455    begin
2456       pragma Assert (False
2457         or else NT (N).Nkind = N_Variant_Part);
2458       return List1 (N);
2459    end Variants;
2460
2461    function Visible_Declarations
2462       (N : Node_Id) return List_Id is
2463    begin
2464       pragma Assert (False
2465         or else NT (N).Nkind = N_Package_Specification
2466         or else NT (N).Nkind = N_Protected_Definition
2467         or else NT (N).Nkind = N_Task_Definition);
2468       return List2 (N);
2469    end Visible_Declarations;
2470
2471    function Was_Originally_Stub
2472       (N : Node_Id) return Boolean is
2473    begin
2474       pragma Assert (False
2475         or else NT (N).Nkind = N_Package_Body
2476         or else NT (N).Nkind = N_Protected_Body
2477         or else NT (N).Nkind = N_Subprogram_Body
2478         or else NT (N).Nkind = N_Task_Body);
2479       return Flag13 (N);
2480    end Was_Originally_Stub;
2481
2482    function Zero_Cost_Handling
2483       (N : Node_Id) return Boolean is
2484    begin
2485       pragma Assert (False
2486         or else NT (N).Nkind = N_Exception_Handler
2487         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
2488       return Flag5 (N);
2489    end Zero_Cost_Handling;
2490
2491    --------------------------
2492    -- Field Set Procedures --
2493    --------------------------
2494
2495    procedure Set_ABE_Is_Certain
2496       (N : Node_Id; Val : Boolean := True) is
2497    begin
2498       pragma Assert (False
2499         or else NT (N).Nkind = N_Formal_Package_Declaration
2500         or else NT (N).Nkind = N_Function_Call
2501         or else NT (N).Nkind = N_Function_Instantiation
2502         or else NT (N).Nkind = N_Package_Instantiation
2503         or else NT (N).Nkind = N_Procedure_Call_Statement
2504         or else NT (N).Nkind = N_Procedure_Instantiation);
2505       Set_Flag18 (N, Val);
2506    end Set_ABE_Is_Certain;
2507
2508    procedure Set_Abort_Present
2509       (N : Node_Id; Val : Boolean := True) is
2510    begin
2511       pragma Assert (False
2512         or else NT (N).Nkind = N_Requeue_Statement);
2513       Set_Flag15 (N, Val);
2514    end Set_Abort_Present;
2515
2516    procedure Set_Abortable_Part
2517       (N : Node_Id; Val : Node_Id) is
2518    begin
2519       pragma Assert (False
2520         or else NT (N).Nkind = N_Asynchronous_Select);
2521       Set_Node2_With_Parent (N, Val);
2522    end Set_Abortable_Part;
2523
2524    procedure Set_Abstract_Present
2525       (N : Node_Id; Val : Boolean := True) is
2526    begin
2527       pragma Assert (False
2528         or else NT (N).Nkind = N_Derived_Type_Definition
2529         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2530         or else NT (N).Nkind = N_Formal_Private_Type_Definition
2531         or else NT (N).Nkind = N_Private_Extension_Declaration
2532         or else NT (N).Nkind = N_Private_Type_Declaration
2533         or else NT (N).Nkind = N_Record_Definition);
2534       Set_Flag4 (N, Val);
2535    end Set_Abstract_Present;
2536
2537    procedure Set_Accept_Handler_Records
2538       (N : Node_Id; Val : List_Id) is
2539    begin
2540       pragma Assert (False
2541         or else NT (N).Nkind = N_Accept_Alternative);
2542       Set_List5 (N, Val); -- semantic field, no parent set
2543    end Set_Accept_Handler_Records;
2544
2545    procedure Set_Accept_Statement
2546       (N : Node_Id; Val : Node_Id) is
2547    begin
2548       pragma Assert (False
2549         or else NT (N).Nkind = N_Accept_Alternative);
2550       Set_Node2_With_Parent (N, Val);
2551    end Set_Accept_Statement;
2552
2553    procedure Set_Access_Types_To_Process
2554       (N : Node_Id; Val : Elist_Id) is
2555    begin
2556       pragma Assert (False
2557         or else NT (N).Nkind = N_Freeze_Entity);
2558       Set_Elist2 (N, Val); -- semantic field, no parent set
2559    end Set_Access_Types_To_Process;
2560
2561    procedure Set_Actions
2562       (N : Node_Id; Val : List_Id) is
2563    begin
2564       pragma Assert (False
2565         or else NT (N).Nkind = N_And_Then
2566         or else NT (N).Nkind = N_Compilation_Unit_Aux
2567         or else NT (N).Nkind = N_Freeze_Entity
2568         or else NT (N).Nkind = N_Or_Else);
2569       Set_List1_With_Parent (N, Val);
2570    end Set_Actions;
2571
2572    procedure Set_Activation_Chain_Entity
2573       (N : Node_Id; Val : Node_Id) is
2574    begin
2575       pragma Assert (False
2576         or else NT (N).Nkind = N_Block_Statement
2577         or else NT (N).Nkind = N_Entry_Body
2578         or else NT (N).Nkind = N_Generic_Package_Declaration
2579         or else NT (N).Nkind = N_Package_Declaration
2580         or else NT (N).Nkind = N_Subprogram_Body
2581         or else NT (N).Nkind = N_Task_Body);
2582       Set_Node3 (N, Val); -- semantic field, no parent set
2583    end Set_Activation_Chain_Entity;
2584
2585    procedure Set_Acts_As_Spec
2586       (N : Node_Id; Val : Boolean := True) is
2587    begin
2588       pragma Assert (False
2589         or else NT (N).Nkind = N_Compilation_Unit
2590         or else NT (N).Nkind = N_Subprogram_Body);
2591       Set_Flag4 (N, Val);
2592    end Set_Acts_As_Spec;
2593
2594    procedure Set_Aggregate_Bounds
2595       (N : Node_Id; Val : Node_Id) is
2596    begin
2597       pragma Assert (False
2598         or else NT (N).Nkind = N_Aggregate);
2599       Set_Node3 (N, Val); -- semantic field, no parent set
2600    end Set_Aggregate_Bounds;
2601
2602    procedure Set_Aliased_Present
2603       (N : Node_Id; Val : Boolean := True) is
2604    begin
2605       pragma Assert (False
2606         or else NT (N).Nkind = N_Component_Declaration
2607         or else NT (N).Nkind = N_Constrained_Array_Definition
2608         or else NT (N).Nkind = N_Object_Declaration
2609         or else NT (N).Nkind = N_Unconstrained_Array_Definition);
2610       Set_Flag4 (N, Val);
2611    end Set_Aliased_Present;
2612
2613    procedure Set_All_Others
2614       (N : Node_Id; Val : Boolean := True) is
2615    begin
2616       pragma Assert (False
2617         or else NT (N).Nkind = N_Others_Choice);
2618       Set_Flag11 (N, Val);
2619    end Set_All_Others;
2620
2621    procedure Set_All_Present
2622       (N : Node_Id; Val : Boolean := True) is
2623    begin
2624       pragma Assert (False
2625         or else NT (N).Nkind = N_Access_To_Object_Definition);
2626       Set_Flag15 (N, Val);
2627    end Set_All_Present;
2628
2629    procedure Set_Alternatives
2630       (N : Node_Id; Val : List_Id) is
2631    begin
2632       pragma Assert (False
2633         or else NT (N).Nkind = N_Case_Statement);
2634       Set_List4_With_Parent (N, Val);
2635    end Set_Alternatives;
2636
2637    procedure Set_Ancestor_Part
2638       (N : Node_Id; Val : Node_Id) is
2639    begin
2640       pragma Assert (False
2641         or else NT (N).Nkind = N_Extension_Aggregate);
2642       Set_Node3_With_Parent (N, Val);
2643    end Set_Ancestor_Part;
2644
2645    procedure Set_Array_Aggregate
2646       (N : Node_Id; Val : Node_Id) is
2647    begin
2648       pragma Assert (False
2649         or else NT (N).Nkind = N_Enumeration_Representation_Clause);
2650       Set_Node3_With_Parent (N, Val);
2651    end Set_Array_Aggregate;
2652
2653    procedure Set_Assignment_OK
2654       (N : Node_Id; Val : Boolean := True) is
2655    begin
2656       pragma Assert (False
2657         or else NT (N).Nkind = N_Object_Declaration
2658         or else NT (N).Nkind in N_Subexpr);
2659       Set_Flag15 (N, Val);
2660    end Set_Assignment_OK;
2661
2662    procedure Set_Associated_Node
2663       (N : Node_Id; Val : Node_Id) is
2664    begin
2665       pragma Assert (False
2666         or else NT (N).Nkind in N_Has_Entity
2667         or else NT (N).Nkind = N_Aggregate
2668         or else NT (N).Nkind = N_Extension_Aggregate
2669         or else NT (N).Nkind = N_Selected_Component);
2670       Set_Node4 (N, Val); -- semantic field, no parent set
2671    end Set_Associated_Node;
2672
2673    procedure Set_At_End_Proc
2674       (N : Node_Id; Val : Node_Id) is
2675    begin
2676       pragma Assert (False
2677         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
2678       Set_Node1 (N, Val);
2679    end Set_At_End_Proc;
2680
2681    procedure Set_Attribute_Name
2682       (N : Node_Id; Val : Name_Id) is
2683    begin
2684       pragma Assert (False
2685         or else NT (N).Nkind = N_Attribute_Reference);
2686       Set_Name2 (N, Val);
2687    end Set_Attribute_Name;
2688
2689    procedure Set_Aux_Decls_Node
2690       (N : Node_Id; Val : Node_Id) is
2691    begin
2692       pragma Assert (False
2693         or else NT (N).Nkind = N_Compilation_Unit);
2694       Set_Node5_With_Parent (N, Val);
2695    end Set_Aux_Decls_Node;
2696
2697    procedure Set_Backwards_OK
2698       (N : Node_Id; Val : Boolean := True) is
2699    begin
2700       pragma Assert (False
2701         or else NT (N).Nkind = N_Assignment_Statement);
2702       Set_Flag6 (N, Val);
2703    end Set_Backwards_OK;
2704
2705    procedure Set_Bad_Is_Detected
2706       (N : Node_Id; Val : Boolean := True) is
2707    begin
2708       pragma Assert (False
2709         or else NT (N).Nkind = N_Subprogram_Body);
2710       Set_Flag15 (N, Val);
2711    end Set_Bad_Is_Detected;
2712
2713    procedure Set_Body_Required
2714       (N : Node_Id; Val : Boolean := True) is
2715    begin
2716       pragma Assert (False
2717         or else NT (N).Nkind = N_Compilation_Unit);
2718       Set_Flag13 (N, Val);
2719    end Set_Body_Required;
2720
2721    procedure Set_Body_To_Inline
2722       (N : Node_Id; Val : Node_Id) is
2723    begin
2724       pragma Assert (False
2725         or else NT (N).Nkind = N_Subprogram_Declaration);
2726       Set_Node3 (N, Val);
2727    end Set_Body_To_Inline;
2728
2729    procedure Set_Box_Present
2730       (N : Node_Id; Val : Boolean := True) is
2731    begin
2732       pragma Assert (False
2733         or else NT (N).Nkind = N_Component_Association
2734         or else NT (N).Nkind = N_Formal_Package_Declaration
2735         or else NT (N).Nkind = N_Formal_Subprogram_Declaration);
2736       Set_Flag15 (N, Val);
2737    end Set_Box_Present;
2738
2739    procedure Set_By_Ref
2740       (N : Node_Id; Val : Boolean := True) is
2741    begin
2742       pragma Assert (False
2743         or else NT (N).Nkind = N_Return_Statement);
2744       Set_Flag5 (N, Val);
2745    end Set_By_Ref;
2746
2747    procedure Set_Char_Literal_Value
2748       (N : Node_Id; Val : Char_Code) is
2749    begin
2750       pragma Assert (False
2751         or else NT (N).Nkind = N_Character_Literal);
2752       Set_Char_Code2 (N, Val);
2753    end Set_Char_Literal_Value;
2754
2755    procedure Set_Chars
2756       (N : Node_Id; Val : Name_Id) is
2757    begin
2758       pragma Assert (False
2759         or else NT (N).Nkind in N_Has_Chars);
2760       Set_Name1 (N, Val);
2761    end Set_Chars;
2762
2763    procedure Set_Check_Address_Alignment
2764       (N : Node_Id; Val : Boolean := True) is
2765    begin
2766       pragma Assert (False
2767           or else NT (N).Nkind = N_Attribute_Definition_Clause);
2768       Set_Flag11 (N, Val);
2769    end Set_Check_Address_Alignment;
2770
2771    procedure Set_Choice_Parameter
2772       (N : Node_Id; Val : Node_Id) is
2773    begin
2774       pragma Assert (False
2775         or else NT (N).Nkind = N_Exception_Handler);
2776       Set_Node2_With_Parent (N, Val);
2777    end Set_Choice_Parameter;
2778
2779    procedure Set_Choices
2780       (N : Node_Id; Val : List_Id) is
2781    begin
2782       pragma Assert (False
2783         or else NT (N).Nkind = N_Component_Association);
2784       Set_List1_With_Parent (N, Val);
2785    end Set_Choices;
2786
2787    procedure Set_Compile_Time_Known_Aggregate
2788       (N : Node_Id; Val : Boolean := True) is
2789    begin
2790       pragma Assert (False
2791         or else NT (N).Nkind = N_Aggregate);
2792       Set_Flag18 (N, Val);
2793    end Set_Compile_Time_Known_Aggregate;
2794
2795    procedure Set_Component_Associations
2796       (N : Node_Id; Val : List_Id) is
2797    begin
2798       pragma Assert (False
2799         or else NT (N).Nkind = N_Aggregate
2800         or else NT (N).Nkind = N_Extension_Aggregate);
2801       Set_List2_With_Parent (N, Val);
2802    end Set_Component_Associations;
2803
2804    procedure Set_Component_Clauses
2805       (N : Node_Id; Val : List_Id) is
2806    begin
2807       pragma Assert (False
2808         or else NT (N).Nkind = N_Record_Representation_Clause);
2809       Set_List3_With_Parent (N, Val);
2810    end Set_Component_Clauses;
2811
2812    procedure Set_Component_Items
2813       (N : Node_Id; Val : List_Id) is
2814    begin
2815       pragma Assert (False
2816         or else NT (N).Nkind = N_Component_List);
2817       Set_List3_With_Parent (N, Val);
2818    end Set_Component_Items;
2819
2820    procedure Set_Component_List
2821       (N : Node_Id; Val : Node_Id) is
2822    begin
2823       pragma Assert (False
2824         or else NT (N).Nkind = N_Record_Definition
2825         or else NT (N).Nkind = N_Variant);
2826       Set_Node1_With_Parent (N, Val);
2827    end Set_Component_List;
2828
2829    procedure Set_Component_Name
2830       (N : Node_Id; Val : Node_Id) is
2831    begin
2832       pragma Assert (False
2833         or else NT (N).Nkind = N_Component_Clause);
2834       Set_Node1_With_Parent (N, Val);
2835    end Set_Component_Name;
2836
2837    procedure Set_Condition
2838       (N : Node_Id; Val : Node_Id) is
2839    begin
2840       pragma Assert (False
2841         or else NT (N).Nkind = N_Accept_Alternative
2842         or else NT (N).Nkind = N_Delay_Alternative
2843         or else NT (N).Nkind = N_Elsif_Part
2844         or else NT (N).Nkind = N_Entry_Body_Formal_Part
2845         or else NT (N).Nkind = N_Exit_Statement
2846         or else NT (N).Nkind = N_If_Statement
2847         or else NT (N).Nkind = N_Iteration_Scheme
2848         or else NT (N).Nkind = N_Raise_Constraint_Error
2849         or else NT (N).Nkind = N_Raise_Program_Error
2850         or else NT (N).Nkind = N_Raise_Storage_Error
2851         or else NT (N).Nkind = N_Terminate_Alternative);
2852       Set_Node1_With_Parent (N, Val);
2853    end Set_Condition;
2854
2855    procedure Set_Condition_Actions
2856       (N : Node_Id; Val : List_Id) is
2857    begin
2858       pragma Assert (False
2859         or else NT (N).Nkind = N_Elsif_Part
2860         or else NT (N).Nkind = N_Iteration_Scheme);
2861       Set_List3 (N, Val); -- semantic field, no parent set
2862    end Set_Condition_Actions;
2863
2864    procedure Set_Config_Pragmas
2865       (N : Node_Id; Val : List_Id) is
2866    begin
2867       pragma Assert (False
2868         or else NT (N).Nkind = N_Compilation_Unit_Aux);
2869       Set_List4_With_Parent (N, Val);
2870    end Set_Config_Pragmas;
2871
2872    procedure Set_Constant_Present
2873       (N : Node_Id; Val : Boolean := True) is
2874    begin
2875       pragma Assert (False
2876         or else NT (N).Nkind = N_Access_To_Object_Definition
2877         or else NT (N).Nkind = N_Object_Declaration);
2878       Set_Flag17 (N, Val);
2879    end Set_Constant_Present;
2880
2881    procedure Set_Constraint
2882       (N : Node_Id; Val : Node_Id) is
2883    begin
2884       pragma Assert (False
2885         or else NT (N).Nkind = N_Subtype_Indication);
2886       Set_Node3_With_Parent (N, Val);
2887    end Set_Constraint;
2888
2889    procedure Set_Constraints
2890       (N : Node_Id; Val : List_Id) is
2891    begin
2892       pragma Assert (False
2893         or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint);
2894       Set_List1_With_Parent (N, Val);
2895    end Set_Constraints;
2896
2897    procedure Set_Context_Installed
2898       (N : Node_Id; Val : Boolean := True) is
2899    begin
2900       pragma Assert (False
2901         or else NT (N).Nkind = N_With_Clause);
2902       Set_Flag13 (N, Val);
2903    end Set_Context_Installed;
2904
2905    procedure Set_Context_Items
2906       (N : Node_Id; Val : List_Id) is
2907    begin
2908       pragma Assert (False
2909         or else NT (N).Nkind = N_Compilation_Unit);
2910       Set_List1_With_Parent (N, Val);
2911    end Set_Context_Items;
2912
2913    procedure Set_Controlling_Argument
2914       (N : Node_Id; Val : Node_Id) is
2915    begin
2916       pragma Assert (False
2917         or else NT (N).Nkind = N_Function_Call
2918         or else NT (N).Nkind = N_Procedure_Call_Statement);
2919       Set_Node1 (N, Val); -- semantic field, no parent set
2920    end Set_Controlling_Argument;
2921
2922    procedure Set_Conversion_OK
2923       (N : Node_Id; Val : Boolean := True) is
2924    begin
2925       pragma Assert (False
2926         or else NT (N).Nkind = N_Type_Conversion);
2927       Set_Flag14 (N, Val);
2928    end Set_Conversion_OK;
2929
2930    procedure Set_Corresponding_Body
2931       (N : Node_Id; Val : Node_Id) is
2932    begin
2933       pragma Assert (False
2934         or else NT (N).Nkind = N_Entry_Declaration
2935         or else NT (N).Nkind = N_Generic_Package_Declaration
2936         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
2937         or else NT (N).Nkind = N_Package_Body_Stub
2938         or else NT (N).Nkind = N_Package_Declaration
2939         or else NT (N).Nkind = N_Protected_Body_Stub
2940         or else NT (N).Nkind = N_Protected_Type_Declaration
2941         or else NT (N).Nkind = N_Subprogram_Body_Stub
2942         or else NT (N).Nkind = N_Subprogram_Declaration
2943         or else NT (N).Nkind = N_Task_Body_Stub
2944         or else NT (N).Nkind = N_Task_Type_Declaration);
2945       Set_Node5 (N, Val); -- semantic field, no parent set
2946    end Set_Corresponding_Body;
2947
2948    procedure Set_Corresponding_Generic_Association
2949       (N : Node_Id; Val : Node_Id) is
2950    begin
2951       pragma Assert (False
2952         or else NT (N).Nkind = N_Object_Declaration
2953         or else NT (N).Nkind = N_Object_Renaming_Declaration);
2954       Set_Node5 (N, Val); -- semantic field, no parent set
2955    end Set_Corresponding_Generic_Association;
2956    procedure Set_Corresponding_Integer_Value
2957       (N : Node_Id; Val : Uint) is
2958    begin
2959       pragma Assert (False
2960         or else NT (N).Nkind = N_Real_Literal);
2961       Set_Uint4 (N, Val); -- semantic field, no parent set
2962    end Set_Corresponding_Integer_Value;
2963
2964    procedure Set_Corresponding_Spec
2965       (N : Node_Id; Val : Node_Id) is
2966    begin
2967       pragma Assert (False
2968         or else NT (N).Nkind = N_Package_Body
2969         or else NT (N).Nkind = N_Protected_Body
2970         or else NT (N).Nkind = N_Subprogram_Body
2971         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
2972         or else NT (N).Nkind = N_Task_Body
2973         or else NT (N).Nkind = N_With_Clause);
2974       Set_Node5 (N, Val); -- semantic field, no parent set
2975    end Set_Corresponding_Spec;
2976
2977    procedure Set_Corresponding_Stub
2978       (N : Node_Id; Val : Node_Id) is
2979    begin
2980       pragma Assert (False
2981         or else NT (N).Nkind = N_Subunit);
2982       Set_Node3 (N, Val);
2983    end Set_Corresponding_Stub;
2984
2985    procedure Set_Dcheck_Function
2986       (N : Node_Id; Val : Entity_Id) is
2987    begin
2988       pragma Assert (False
2989         or else NT (N).Nkind = N_Variant);
2990       Set_Node5 (N, Val); -- semantic field, no parent set
2991    end Set_Dcheck_Function;
2992
2993    procedure Set_Debug_Statement
2994       (N : Node_Id; Val : Node_Id) is
2995    begin
2996       pragma Assert (False
2997         or else NT (N).Nkind = N_Pragma);
2998       Set_Node3_With_Parent (N, Val);
2999    end Set_Debug_Statement;
3000
3001    procedure Set_Declarations
3002       (N : Node_Id; Val : List_Id) is
3003    begin
3004       pragma Assert (False
3005         or else NT (N).Nkind = N_Accept_Statement
3006         or else NT (N).Nkind = N_Block_Statement
3007         or else NT (N).Nkind = N_Compilation_Unit_Aux
3008         or else NT (N).Nkind = N_Entry_Body
3009         or else NT (N).Nkind = N_Package_Body
3010         or else NT (N).Nkind = N_Protected_Body
3011         or else NT (N).Nkind = N_Subprogram_Body
3012         or else NT (N).Nkind = N_Task_Body);
3013       Set_List2_With_Parent (N, Val);
3014    end Set_Declarations;
3015
3016    procedure Set_Default_Expression
3017       (N : Node_Id; Val : Node_Id) is
3018    begin
3019       pragma Assert (False
3020         or else NT (N).Nkind = N_Parameter_Specification);
3021       Set_Node5 (N, Val); -- semantic field, no parent set
3022    end Set_Default_Expression;
3023
3024    procedure Set_Default_Name
3025       (N : Node_Id; Val : Node_Id) is
3026    begin
3027       pragma Assert (False
3028         or else NT (N).Nkind = N_Formal_Subprogram_Declaration);
3029       Set_Node2_With_Parent (N, Val);
3030    end Set_Default_Name;
3031
3032    procedure Set_Defining_Identifier
3033       (N : Node_Id; Val : Entity_Id) is
3034    begin
3035       pragma Assert (False
3036         or else NT (N).Nkind = N_Component_Declaration
3037         or else NT (N).Nkind = N_Defining_Program_Unit_Name
3038         or else NT (N).Nkind = N_Discriminant_Specification
3039         or else NT (N).Nkind = N_Entry_Body
3040         or else NT (N).Nkind = N_Entry_Declaration
3041         or else NT (N).Nkind = N_Entry_Index_Specification
3042         or else NT (N).Nkind = N_Exception_Declaration
3043         or else NT (N).Nkind = N_Exception_Renaming_Declaration
3044         or else NT (N).Nkind = N_Formal_Object_Declaration
3045         or else NT (N).Nkind = N_Formal_Package_Declaration
3046         or else NT (N).Nkind = N_Formal_Type_Declaration
3047         or else NT (N).Nkind = N_Full_Type_Declaration
3048         or else NT (N).Nkind = N_Implicit_Label_Declaration
3049         or else NT (N).Nkind = N_Incomplete_Type_Declaration
3050         or else NT (N).Nkind = N_Loop_Parameter_Specification
3051         or else NT (N).Nkind = N_Number_Declaration
3052         or else NT (N).Nkind = N_Object_Declaration
3053         or else NT (N).Nkind = N_Object_Renaming_Declaration
3054         or else NT (N).Nkind = N_Package_Body_Stub
3055         or else NT (N).Nkind = N_Parameter_Specification
3056         or else NT (N).Nkind = N_Private_Extension_Declaration
3057         or else NT (N).Nkind = N_Private_Type_Declaration
3058         or else NT (N).Nkind = N_Protected_Body
3059         or else NT (N).Nkind = N_Protected_Body_Stub
3060         or else NT (N).Nkind = N_Protected_Type_Declaration
3061         or else NT (N).Nkind = N_Single_Protected_Declaration
3062         or else NT (N).Nkind = N_Single_Task_Declaration
3063         or else NT (N).Nkind = N_Subtype_Declaration
3064         or else NT (N).Nkind = N_Task_Body
3065         or else NT (N).Nkind = N_Task_Body_Stub
3066         or else NT (N).Nkind = N_Task_Type_Declaration);
3067       Set_Node1_With_Parent (N, Val);
3068    end Set_Defining_Identifier;
3069
3070    procedure Set_Defining_Unit_Name
3071       (N : Node_Id; Val : Node_Id) is
3072    begin
3073       pragma Assert (False
3074         or else NT (N).Nkind = N_Function_Instantiation
3075         or else NT (N).Nkind = N_Function_Specification
3076         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
3077         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
3078         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
3079         or else NT (N).Nkind = N_Package_Body
3080         or else NT (N).Nkind = N_Package_Instantiation
3081         or else NT (N).Nkind = N_Package_Renaming_Declaration
3082         or else NT (N).Nkind = N_Package_Specification
3083         or else NT (N).Nkind = N_Procedure_Instantiation
3084         or else NT (N).Nkind = N_Procedure_Specification);
3085       Set_Node1_With_Parent (N, Val);
3086    end Set_Defining_Unit_Name;
3087
3088    procedure Set_Delay_Alternative
3089       (N : Node_Id; Val : Node_Id) is
3090    begin
3091       pragma Assert (False
3092         or else NT (N).Nkind = N_Timed_Entry_Call);
3093       Set_Node4_With_Parent (N, Val);
3094    end Set_Delay_Alternative;
3095
3096    procedure Set_Delay_Finalize_Attach
3097       (N : Node_Id; Val : Boolean := True) is
3098    begin
3099       pragma Assert (False
3100         or else NT (N).Nkind = N_Object_Declaration);
3101       Set_Flag14 (N, Val);
3102    end Set_Delay_Finalize_Attach;
3103
3104    procedure Set_Delay_Statement
3105       (N : Node_Id; Val : Node_Id) is
3106    begin
3107       pragma Assert (False
3108         or else NT (N).Nkind = N_Delay_Alternative);
3109       Set_Node2_With_Parent (N, Val);
3110    end Set_Delay_Statement;
3111
3112    procedure Set_Delta_Expression
3113       (N : Node_Id; Val : Node_Id) is
3114    begin
3115       pragma Assert (False
3116         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
3117         or else NT (N).Nkind = N_Delta_Constraint
3118         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
3119       Set_Node3_With_Parent (N, Val);
3120    end Set_Delta_Expression;
3121
3122    procedure Set_Digits_Expression
3123       (N : Node_Id; Val : Node_Id) is
3124    begin
3125       pragma Assert (False
3126         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
3127         or else NT (N).Nkind = N_Digits_Constraint
3128         or else NT (N).Nkind = N_Floating_Point_Definition);
3129       Set_Node2_With_Parent (N, Val);
3130    end Set_Digits_Expression;
3131
3132    procedure Set_Discr_Check_Funcs_Built
3133       (N : Node_Id; Val : Boolean := True) is
3134    begin
3135       pragma Assert (False
3136         or else NT (N).Nkind = N_Full_Type_Declaration);
3137       Set_Flag11 (N, Val);
3138    end Set_Discr_Check_Funcs_Built;
3139
3140    procedure Set_Discrete_Choices
3141       (N : Node_Id; Val : List_Id) is
3142    begin
3143       pragma Assert (False
3144         or else NT (N).Nkind = N_Case_Statement_Alternative
3145         or else NT (N).Nkind = N_Variant);
3146       Set_List4_With_Parent (N, Val);
3147    end Set_Discrete_Choices;
3148
3149    procedure Set_Discrete_Range
3150       (N : Node_Id; Val : Node_Id) is
3151    begin
3152       pragma Assert (False
3153         or else NT (N).Nkind = N_Slice);
3154       Set_Node4_With_Parent (N, Val);
3155    end Set_Discrete_Range;
3156
3157    procedure Set_Discrete_Subtype_Definition
3158       (N : Node_Id; Val : Node_Id) is
3159    begin
3160       pragma Assert (False
3161         or else NT (N).Nkind = N_Entry_Declaration
3162         or else NT (N).Nkind = N_Entry_Index_Specification
3163         or else NT (N).Nkind = N_Loop_Parameter_Specification);
3164       Set_Node4_With_Parent (N, Val);
3165    end Set_Discrete_Subtype_Definition;
3166
3167    procedure Set_Discrete_Subtype_Definitions
3168       (N : Node_Id; Val : List_Id) is
3169    begin
3170       pragma Assert (False
3171         or else NT (N).Nkind = N_Constrained_Array_Definition);
3172       Set_List2_With_Parent (N, Val);
3173    end Set_Discrete_Subtype_Definitions;
3174
3175    procedure Set_Discriminant_Specifications
3176       (N : Node_Id; Val : List_Id) is
3177    begin
3178       pragma Assert (False
3179         or else NT (N).Nkind = N_Formal_Type_Declaration
3180         or else NT (N).Nkind = N_Full_Type_Declaration
3181         or else NT (N).Nkind = N_Incomplete_Type_Declaration
3182         or else NT (N).Nkind = N_Private_Extension_Declaration
3183         or else NT (N).Nkind = N_Private_Type_Declaration
3184         or else NT (N).Nkind = N_Protected_Type_Declaration
3185         or else NT (N).Nkind = N_Task_Type_Declaration);
3186       Set_List4_With_Parent (N, Val);
3187    end Set_Discriminant_Specifications;
3188
3189    procedure Set_Discriminant_Type
3190       (N : Node_Id; Val : Node_Id) is
3191    begin
3192       pragma Assert (False
3193         or else NT (N).Nkind = N_Discriminant_Specification);
3194       Set_Node5_With_Parent (N, Val);
3195    end Set_Discriminant_Type;
3196
3197    procedure Set_Do_Accessibility_Check
3198       (N : Node_Id; Val : Boolean := True) is
3199    begin
3200       pragma Assert (False
3201         or else NT (N).Nkind = N_Parameter_Specification);
3202       Set_Flag13 (N, Val);
3203    end Set_Do_Accessibility_Check;
3204
3205    procedure Set_Do_Discriminant_Check
3206       (N : Node_Id; Val : Boolean := True) is
3207    begin
3208       pragma Assert (False
3209         or else NT (N).Nkind = N_Selected_Component);
3210       Set_Flag13 (N, Val);
3211    end Set_Do_Discriminant_Check;
3212
3213    procedure Set_Do_Division_Check
3214       (N : Node_Id; Val : Boolean := True) is
3215    begin
3216       pragma Assert (False
3217         or else NT (N).Nkind = N_Op_Divide
3218         or else NT (N).Nkind = N_Op_Mod
3219         or else NT (N).Nkind = N_Op_Rem);
3220       Set_Flag13 (N, Val);
3221    end Set_Do_Division_Check;
3222
3223    procedure Set_Do_Length_Check
3224       (N : Node_Id; Val : Boolean := True) is
3225    begin
3226       pragma Assert (False
3227         or else NT (N).Nkind = N_Assignment_Statement
3228         or else NT (N).Nkind = N_Op_And
3229         or else NT (N).Nkind = N_Op_Or
3230         or else NT (N).Nkind = N_Op_Xor
3231         or else NT (N).Nkind = N_Type_Conversion);
3232       Set_Flag4 (N, Val);
3233    end Set_Do_Length_Check;
3234
3235    procedure Set_Do_Overflow_Check
3236       (N : Node_Id; Val : Boolean := True) is
3237    begin
3238       pragma Assert (False
3239         or else NT (N).Nkind in N_Op
3240         or else NT (N).Nkind = N_Attribute_Reference
3241         or else NT (N).Nkind = N_Type_Conversion);
3242       Set_Flag17 (N, Val);
3243    end Set_Do_Overflow_Check;
3244
3245    procedure Set_Do_Range_Check
3246       (N : Node_Id; Val : Boolean := True) is
3247    begin
3248       pragma Assert (False
3249         or else NT (N).Nkind in N_Subexpr);
3250       Set_Flag9 (N, Val);
3251    end Set_Do_Range_Check;
3252
3253    procedure Set_Do_Storage_Check
3254       (N : Node_Id; Val : Boolean := True) is
3255    begin
3256       pragma Assert (False
3257         or else NT (N).Nkind = N_Allocator
3258         or else NT (N).Nkind = N_Subprogram_Body);
3259       Set_Flag17 (N, Val);
3260    end Set_Do_Storage_Check;
3261
3262    procedure Set_Do_Tag_Check
3263       (N : Node_Id; Val : Boolean := True) is
3264    begin
3265       pragma Assert (False
3266         or else NT (N).Nkind = N_Assignment_Statement
3267         or else NT (N).Nkind = N_Function_Call
3268         or else NT (N).Nkind = N_Procedure_Call_Statement
3269         or else NT (N).Nkind = N_Return_Statement
3270         or else NT (N).Nkind = N_Type_Conversion);
3271       Set_Flag13 (N, Val);
3272    end Set_Do_Tag_Check;
3273
3274    procedure Set_Elaborate_All_Present
3275       (N : Node_Id; Val : Boolean := True) is
3276    begin
3277       pragma Assert (False
3278         or else NT (N).Nkind = N_With_Clause);
3279       Set_Flag15 (N, Val);
3280    end Set_Elaborate_All_Present;
3281
3282    procedure Set_Elaborate_Present
3283       (N : Node_Id; Val : Boolean := True) is
3284    begin
3285       pragma Assert (False
3286         or else NT (N).Nkind = N_With_Clause);
3287       Set_Flag4 (N, Val);
3288    end Set_Elaborate_Present;
3289
3290    procedure Set_Elaboration_Boolean
3291       (N : Node_Id; Val : Node_Id) is
3292    begin
3293       pragma Assert (False
3294         or else NT (N).Nkind = N_Function_Specification
3295         or else NT (N).Nkind = N_Procedure_Specification);
3296       Set_Node2 (N, Val);
3297    end Set_Elaboration_Boolean;
3298
3299    procedure Set_Else_Actions
3300       (N : Node_Id; Val : List_Id) is
3301    begin
3302       pragma Assert (False
3303         or else NT (N).Nkind = N_Conditional_Expression);
3304       Set_List3 (N, Val); -- semantic field, no parent set
3305    end Set_Else_Actions;
3306
3307    procedure Set_Else_Statements
3308       (N : Node_Id; Val : List_Id) is
3309    begin
3310       pragma Assert (False
3311         or else NT (N).Nkind = N_Conditional_Entry_Call
3312         or else NT (N).Nkind = N_If_Statement
3313         or else NT (N).Nkind = N_Selective_Accept);
3314       Set_List4_With_Parent (N, Val);
3315    end Set_Else_Statements;
3316
3317    procedure Set_Elsif_Parts
3318       (N : Node_Id; Val : List_Id) is
3319    begin
3320       pragma Assert (False
3321         or else NT (N).Nkind = N_If_Statement);
3322       Set_List3_With_Parent (N, Val);
3323    end Set_Elsif_Parts;
3324
3325    procedure Set_Enclosing_Variant
3326       (N : Node_Id; Val : Node_Id) is
3327    begin
3328       pragma Assert (False
3329         or else NT (N).Nkind = N_Variant);
3330       Set_Node2 (N, Val); -- semantic field, no parent set
3331    end Set_Enclosing_Variant;
3332
3333    procedure Set_End_Label
3334       (N : Node_Id; Val : Node_Id) is
3335    begin
3336       pragma Assert (False
3337         or else NT (N).Nkind = N_Enumeration_Type_Definition
3338         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
3339         or else NT (N).Nkind = N_Loop_Statement
3340         or else NT (N).Nkind = N_Package_Specification
3341         or else NT (N).Nkind = N_Protected_Body
3342         or else NT (N).Nkind = N_Protected_Definition
3343         or else NT (N).Nkind = N_Record_Definition
3344         or else NT (N).Nkind = N_Task_Definition);
3345       Set_Node4_With_Parent (N, Val);
3346    end Set_End_Label;
3347
3348    procedure Set_End_Span
3349       (N : Node_Id; Val : Uint) is
3350    begin
3351       pragma Assert (False
3352         or else NT (N).Nkind = N_Case_Statement
3353         or else NT (N).Nkind = N_If_Statement);
3354       Set_Uint5 (N, Val);
3355    end Set_End_Span;
3356
3357    procedure Set_Entity
3358       (N : Node_Id; Val : Node_Id) is
3359    begin
3360       pragma Assert (False
3361         or else NT (N).Nkind in N_Has_Entity
3362         or else NT (N).Nkind = N_Freeze_Entity);
3363       Set_Node4 (N, Val); -- semantic field, no parent set
3364    end Set_Entity;
3365
3366    procedure Set_Entry_Body_Formal_Part
3367       (N : Node_Id; Val : Node_Id) is
3368    begin
3369       pragma Assert (False
3370         or else NT (N).Nkind = N_Entry_Body);
3371       Set_Node5_With_Parent (N, Val);
3372    end Set_Entry_Body_Formal_Part;
3373
3374    procedure Set_Entry_Call_Alternative
3375       (N : Node_Id; Val : Node_Id) is
3376    begin
3377       pragma Assert (False
3378         or else NT (N).Nkind = N_Conditional_Entry_Call
3379         or else NT (N).Nkind = N_Timed_Entry_Call);
3380       Set_Node1_With_Parent (N, Val);
3381    end Set_Entry_Call_Alternative;
3382
3383    procedure Set_Entry_Call_Statement
3384       (N : Node_Id; Val : Node_Id) is
3385    begin
3386       pragma Assert (False
3387         or else NT (N).Nkind = N_Entry_Call_Alternative);
3388       Set_Node1_With_Parent (N, Val);
3389    end Set_Entry_Call_Statement;
3390
3391    procedure Set_Entry_Direct_Name
3392       (N : Node_Id; Val : Node_Id) is
3393    begin
3394       pragma Assert (False
3395         or else NT (N).Nkind = N_Accept_Statement);
3396       Set_Node1_With_Parent (N, Val);
3397    end Set_Entry_Direct_Name;
3398
3399    procedure Set_Entry_Index
3400       (N : Node_Id; Val : Node_Id) is
3401    begin
3402       pragma Assert (False
3403         or else NT (N).Nkind = N_Accept_Statement);
3404       Set_Node5_With_Parent (N, Val);
3405    end Set_Entry_Index;
3406
3407    procedure Set_Entry_Index_Specification
3408       (N : Node_Id; Val : Node_Id) is
3409    begin
3410       pragma Assert (False
3411         or else NT (N).Nkind = N_Entry_Body_Formal_Part);
3412       Set_Node4_With_Parent (N, Val);
3413    end Set_Entry_Index_Specification;
3414
3415    procedure Set_Etype
3416       (N : Node_Id; Val : Node_Id) is
3417    begin
3418       pragma Assert (False
3419         or else NT (N).Nkind in N_Has_Etype);
3420       Set_Node5 (N, Val); -- semantic field, no parent set
3421    end Set_Etype;
3422
3423    procedure Set_Exception_Choices
3424       (N : Node_Id; Val : List_Id) is
3425    begin
3426       pragma Assert (False
3427         or else NT (N).Nkind = N_Exception_Handler);
3428       Set_List4_With_Parent (N, Val);
3429    end Set_Exception_Choices;
3430
3431    procedure Set_Exception_Handlers
3432       (N : Node_Id; Val : List_Id) is
3433    begin
3434       pragma Assert (False
3435         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3436       Set_List5_With_Parent (N, Val);
3437    end Set_Exception_Handlers;
3438
3439    procedure Set_Exception_Junk
3440      (N : Node_Id; Val : Boolean := True) is
3441    begin
3442       pragma Assert (False
3443         or else NT (N).Nkind = N_Goto_Statement
3444         or else NT (N).Nkind = N_Label
3445         or else NT (N).Nkind = N_Object_Declaration
3446         or else NT (N).Nkind = N_Subtype_Declaration);
3447       Set_Flag11 (N, Val);
3448    end Set_Exception_Junk;
3449
3450    procedure Set_Expansion_Delayed
3451      (N : Node_Id; Val : Boolean := True) is
3452    begin
3453       pragma Assert (False
3454         or else NT (N).Nkind = N_Aggregate
3455         or else NT (N).Nkind = N_Extension_Aggregate);
3456       Set_Flag11 (N, Val);
3457    end Set_Expansion_Delayed;
3458
3459    procedure Set_Explicit_Actual_Parameter
3460       (N : Node_Id; Val : Node_Id) is
3461    begin
3462       pragma Assert (False
3463         or else NT (N).Nkind = N_Parameter_Association);
3464       Set_Node3_With_Parent (N, Val);
3465    end Set_Explicit_Actual_Parameter;
3466
3467    procedure Set_Explicit_Generic_Actual_Parameter
3468       (N : Node_Id; Val : Node_Id) is
3469    begin
3470       pragma Assert (False
3471         or else NT (N).Nkind = N_Generic_Association);
3472       Set_Node1_With_Parent (N, Val);
3473    end Set_Explicit_Generic_Actual_Parameter;
3474
3475    procedure Set_Expression
3476       (N : Node_Id; Val : Node_Id) is
3477    begin
3478       pragma Assert (False
3479         or else NT (N).Nkind = N_Allocator
3480         or else NT (N).Nkind = N_Assignment_Statement
3481         or else NT (N).Nkind = N_At_Clause
3482         or else NT (N).Nkind = N_Attribute_Definition_Clause
3483         or else NT (N).Nkind = N_Case_Statement
3484         or else NT (N).Nkind = N_Code_Statement
3485         or else NT (N).Nkind = N_Component_Association
3486         or else NT (N).Nkind = N_Component_Declaration
3487         or else NT (N).Nkind = N_Delay_Relative_Statement
3488         or else NT (N).Nkind = N_Delay_Until_Statement
3489         or else NT (N).Nkind = N_Discriminant_Association
3490         or else NT (N).Nkind = N_Discriminant_Specification
3491         or else NT (N).Nkind = N_Exception_Declaration
3492         or else NT (N).Nkind = N_Formal_Object_Declaration
3493         or else NT (N).Nkind = N_Free_Statement
3494         or else NT (N).Nkind = N_Mod_Clause
3495         or else NT (N).Nkind = N_Modular_Type_Definition
3496         or else NT (N).Nkind = N_Number_Declaration
3497         or else NT (N).Nkind = N_Object_Declaration
3498         or else NT (N).Nkind = N_Parameter_Specification
3499         or else NT (N).Nkind = N_Pragma_Argument_Association
3500         or else NT (N).Nkind = N_Qualified_Expression
3501         or else NT (N).Nkind = N_Return_Statement
3502         or else NT (N).Nkind = N_Type_Conversion
3503         or else NT (N).Nkind = N_Unchecked_Expression
3504         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
3505       Set_Node3_With_Parent (N, Val);
3506    end Set_Expression;
3507
3508    procedure Set_Expressions
3509       (N : Node_Id; Val : List_Id) is
3510    begin
3511       pragma Assert (False
3512         or else NT (N).Nkind = N_Aggregate
3513         or else NT (N).Nkind = N_Attribute_Reference
3514         or else NT (N).Nkind = N_Conditional_Expression
3515         or else NT (N).Nkind = N_Extension_Aggregate
3516         or else NT (N).Nkind = N_Indexed_Component);
3517       Set_List1_With_Parent (N, Val);
3518    end Set_Expressions;
3519
3520    procedure Set_First_Bit
3521       (N : Node_Id; Val : Node_Id) is
3522    begin
3523       pragma Assert (False
3524         or else NT (N).Nkind = N_Component_Clause);
3525       Set_Node3_With_Parent (N, Val);
3526    end Set_First_Bit;
3527
3528    procedure Set_First_Inlined_Subprogram
3529       (N : Node_Id; Val : Entity_Id) is
3530    begin
3531       pragma Assert (False
3532         or else NT (N).Nkind = N_Compilation_Unit);
3533       Set_Node3 (N, Val);  -- semantic field, no parent set
3534    end Set_First_Inlined_Subprogram;
3535
3536    procedure Set_First_Name
3537       (N : Node_Id; Val : Boolean := True) is
3538    begin
3539       pragma Assert (False
3540         or else NT (N).Nkind = N_With_Clause);
3541       Set_Flag5 (N, Val);
3542    end Set_First_Name;
3543
3544    procedure Set_First_Named_Actual
3545       (N : Node_Id; Val : Node_Id) is
3546    begin
3547       pragma Assert (False
3548         or else NT (N).Nkind = N_Entry_Call_Statement
3549         or else NT (N).Nkind = N_Function_Call
3550         or else NT (N).Nkind = N_Procedure_Call_Statement);
3551       Set_Node4 (N, Val); -- semantic field, no parent set
3552    end Set_First_Named_Actual;
3553
3554    procedure Set_First_Real_Statement
3555       (N : Node_Id; Val : Node_Id) is
3556    begin
3557       pragma Assert (False
3558         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3559       Set_Node2 (N, Val); -- semantic field, no parent set
3560    end Set_First_Real_Statement;
3561
3562    procedure Set_First_Subtype_Link
3563       (N : Node_Id; Val : Entity_Id) is
3564    begin
3565       pragma Assert (False
3566         or else NT (N).Nkind = N_Freeze_Entity);
3567       Set_Node5 (N, Val); -- semantic field, no parent set
3568    end Set_First_Subtype_Link;
3569
3570    procedure Set_Float_Truncate
3571       (N : Node_Id; Val : Boolean := True) is
3572    begin
3573       pragma Assert (False
3574         or else NT (N).Nkind = N_Type_Conversion);
3575       Set_Flag11 (N, Val);
3576    end Set_Float_Truncate;
3577
3578    procedure Set_Formal_Type_Definition
3579       (N : Node_Id; Val : Node_Id) is
3580    begin
3581       pragma Assert (False
3582         or else NT (N).Nkind = N_Formal_Type_Declaration);
3583       Set_Node3_With_Parent (N, Val);
3584    end Set_Formal_Type_Definition;
3585
3586    procedure Set_Forwards_OK
3587       (N : Node_Id; Val : Boolean := True) is
3588    begin
3589       pragma Assert (False
3590         or else NT (N).Nkind = N_Assignment_Statement);
3591       Set_Flag5 (N, Val);
3592    end Set_Forwards_OK;
3593
3594    procedure Set_From_At_Mod
3595       (N : Node_Id; Val : Boolean := True) is
3596    begin
3597       pragma Assert (False
3598         or else NT (N).Nkind = N_Attribute_Definition_Clause);
3599       Set_Flag4 (N, Val);
3600    end Set_From_At_Mod;
3601
3602    procedure Set_Generic_Associations
3603       (N : Node_Id; Val : List_Id) is
3604    begin
3605       pragma Assert (False
3606         or else NT (N).Nkind = N_Formal_Package_Declaration
3607         or else NT (N).Nkind = N_Function_Instantiation
3608         or else NT (N).Nkind = N_Package_Instantiation
3609         or else NT (N).Nkind = N_Procedure_Instantiation);
3610       Set_List3_With_Parent (N, Val);
3611    end Set_Generic_Associations;
3612
3613    procedure Set_Generic_Formal_Declarations
3614       (N : Node_Id; Val : List_Id) is
3615    begin
3616       pragma Assert (False
3617         or else NT (N).Nkind = N_Generic_Package_Declaration
3618         or else NT (N).Nkind = N_Generic_Subprogram_Declaration);
3619       Set_List2_With_Parent (N, Val);
3620    end Set_Generic_Formal_Declarations;
3621
3622    procedure Set_Generic_Parent
3623       (N : Node_Id; Val : Node_Id) is
3624    begin
3625       pragma Assert (False
3626         or else NT (N).Nkind = N_Function_Specification
3627         or else NT (N).Nkind = N_Package_Specification
3628         or else NT (N).Nkind = N_Procedure_Specification);
3629       Set_Node5 (N, Val);
3630    end Set_Generic_Parent;
3631
3632    procedure Set_Generic_Parent_Type
3633       (N : Node_Id; Val : Node_Id) is
3634    begin
3635       pragma Assert (False
3636         or else NT (N).Nkind = N_Subtype_Declaration);
3637       Set_Node4 (N, Val);
3638    end Set_Generic_Parent_Type;
3639
3640    procedure Set_Handled_Statement_Sequence
3641       (N : Node_Id; Val : Node_Id) is
3642    begin
3643       pragma Assert (False
3644         or else NT (N).Nkind = N_Accept_Statement
3645         or else NT (N).Nkind = N_Block_Statement
3646         or else NT (N).Nkind = N_Entry_Body
3647         or else NT (N).Nkind = N_Package_Body
3648         or else NT (N).Nkind = N_Subprogram_Body
3649         or else NT (N).Nkind = N_Task_Body);
3650       Set_Node4_With_Parent (N, Val);
3651    end Set_Handled_Statement_Sequence;
3652
3653    procedure Set_Handler_List_Entry
3654       (N : Node_Id; Val : Node_Id) is
3655    begin
3656       pragma Assert (False
3657         or else NT (N).Nkind = N_Object_Declaration);
3658       Set_Node2 (N, Val);
3659    end Set_Handler_List_Entry;
3660
3661    procedure Set_Has_Created_Identifier
3662       (N : Node_Id; Val : Boolean := True) is
3663    begin
3664       pragma Assert (False
3665         or else NT (N).Nkind = N_Block_Statement
3666         or else NT (N).Nkind = N_Loop_Statement);
3667       Set_Flag15 (N, Val);
3668    end Set_Has_Created_Identifier;
3669
3670    procedure Set_Has_Dynamic_Length_Check
3671       (N : Node_Id; Val : Boolean := True) is
3672    begin
3673       Set_Flag10 (N, Val);
3674    end Set_Has_Dynamic_Length_Check;
3675
3676    procedure Set_Has_Dynamic_Range_Check
3677       (N : Node_Id; Val : Boolean := True) is
3678    begin
3679       Set_Flag12 (N, Val);
3680    end Set_Has_Dynamic_Range_Check;
3681
3682    procedure Set_Has_No_Elaboration_Code
3683       (N : Node_Id; Val : Boolean := True) is
3684    begin
3685       pragma Assert (False
3686         or else NT (N).Nkind = N_Compilation_Unit);
3687       Set_Flag17 (N, Val);
3688    end Set_Has_No_Elaboration_Code;
3689
3690    procedure Set_Has_Priority_Pragma
3691       (N : Node_Id; Val : Boolean := True) is
3692    begin
3693       pragma Assert (False
3694         or else NT (N).Nkind = N_Protected_Definition
3695         or else NT (N).Nkind = N_Subprogram_Body
3696         or else NT (N).Nkind = N_Task_Definition);
3697       Set_Flag6 (N, Val);
3698    end Set_Has_Priority_Pragma;
3699
3700    procedure Set_Has_Private_View
3701       (N : Node_Id; Val : Boolean := True) is
3702    begin
3703       pragma Assert (False
3704        or else NT (N).Nkind in N_Op
3705        or else NT (N).Nkind = N_Character_Literal
3706        or else NT (N).Nkind = N_Expanded_Name
3707        or else NT (N).Nkind = N_Identifier
3708        or else NT (N).Nkind = N_Operator_Symbol);
3709       Set_Flag11 (N, Val);
3710    end Set_Has_Private_View;
3711
3712    procedure Set_Has_Storage_Size_Pragma
3713       (N : Node_Id; Val : Boolean := True) is
3714    begin
3715       pragma Assert (False
3716         or else NT (N).Nkind = N_Task_Definition);
3717       Set_Flag5 (N, Val);
3718    end Set_Has_Storage_Size_Pragma;
3719
3720    procedure Set_Has_Task_Info_Pragma
3721       (N : Node_Id; Val : Boolean := True) is
3722    begin
3723       pragma Assert (False
3724         or else NT (N).Nkind = N_Task_Definition);
3725       Set_Flag7 (N, Val);
3726    end Set_Has_Task_Info_Pragma;
3727
3728    procedure Set_Has_Task_Name_Pragma
3729       (N : Node_Id; Val : Boolean := True) is
3730    begin
3731       pragma Assert (False
3732         or else NT (N).Nkind = N_Task_Definition);
3733       Set_Flag8 (N, Val);
3734    end Set_Has_Task_Name_Pragma;
3735
3736    procedure Set_Has_Wide_Character
3737       (N : Node_Id; Val : Boolean := True) is
3738    begin
3739       pragma Assert (False
3740         or else NT (N).Nkind = N_String_Literal);
3741       Set_Flag11 (N, Val);
3742    end Set_Has_Wide_Character;
3743
3744    procedure Set_Hidden_By_Use_Clause
3745      (N : Node_Id; Val : Elist_Id) is
3746    begin
3747       pragma Assert (False
3748         or else NT (N).Nkind = N_Use_Package_Clause
3749         or else NT (N).Nkind = N_Use_Type_Clause);
3750       Set_Elist4 (N, Val);
3751    end Set_Hidden_By_Use_Clause;
3752
3753    procedure Set_High_Bound
3754       (N : Node_Id; Val : Node_Id) is
3755    begin
3756       pragma Assert (False
3757         or else NT (N).Nkind = N_Range
3758         or else NT (N).Nkind = N_Real_Range_Specification
3759         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
3760       Set_Node2_With_Parent (N, Val);
3761    end Set_High_Bound;
3762
3763    procedure Set_Identifier
3764       (N : Node_Id; Val : Node_Id) is
3765    begin
3766       pragma Assert (False
3767         or else NT (N).Nkind = N_At_Clause
3768         or else NT (N).Nkind = N_Block_Statement
3769         or else NT (N).Nkind = N_Designator
3770         or else NT (N).Nkind = N_Enumeration_Representation_Clause
3771         or else NT (N).Nkind = N_Label
3772         or else NT (N).Nkind = N_Loop_Statement
3773         or else NT (N).Nkind = N_Record_Representation_Clause
3774         or else NT (N).Nkind = N_Subprogram_Info);
3775       Set_Node1_With_Parent (N, Val);
3776    end Set_Identifier;
3777
3778    procedure Set_Implicit_With
3779       (N : Node_Id; Val : Boolean := True) is
3780    begin
3781       pragma Assert (False
3782         or else NT (N).Nkind = N_With_Clause);
3783       Set_Flag16 (N, Val);
3784    end Set_Implicit_With;
3785
3786    procedure Set_In_Present
3787       (N : Node_Id; Val : Boolean := True) is
3788    begin
3789       pragma Assert (False
3790         or else NT (N).Nkind = N_Formal_Object_Declaration
3791         or else NT (N).Nkind = N_Parameter_Specification);
3792       Set_Flag15 (N, Val);
3793    end Set_In_Present;
3794
3795    procedure Set_Includes_Infinities
3796       (N : Node_Id; Val : Boolean := True) is
3797    begin
3798       pragma Assert (False
3799         or else NT (N).Nkind = N_Range);
3800       Set_Flag11 (N, Val);
3801    end Set_Includes_Infinities;
3802
3803    procedure Set_Instance_Spec
3804       (N : Node_Id; Val : Node_Id) is
3805    begin
3806       pragma Assert (False
3807         or else NT (N).Nkind = N_Formal_Package_Declaration
3808         or else NT (N).Nkind = N_Function_Instantiation
3809         or else NT (N).Nkind = N_Package_Instantiation
3810         or else NT (N).Nkind = N_Procedure_Instantiation);
3811       Set_Node5 (N, Val); -- semantic field, no Parent set
3812    end Set_Instance_Spec;
3813
3814    procedure Set_Intval
3815       (N : Node_Id; Val : Uint) is
3816    begin
3817       pragma Assert (False
3818         or else NT (N).Nkind = N_Integer_Literal);
3819       Set_Uint3 (N, Val);
3820    end Set_Intval;
3821
3822    procedure Set_Is_Asynchronous_Call_Block
3823       (N : Node_Id; Val : Boolean := True) is
3824    begin
3825       pragma Assert (False
3826         or else NT (N).Nkind = N_Block_Statement);
3827       Set_Flag7 (N, Val);
3828    end Set_Is_Asynchronous_Call_Block;
3829
3830    procedure Set_Is_Component_Left_Opnd
3831       (N : Node_Id; Val : Boolean := True) is
3832    begin
3833       pragma Assert (False
3834         or else NT (N).Nkind = N_Op_Concat);
3835       Set_Flag13 (N, Val);
3836    end Set_Is_Component_Left_Opnd;
3837
3838    procedure Set_Is_Component_Right_Opnd
3839       (N : Node_Id; Val : Boolean := True) is
3840    begin
3841       pragma Assert (False
3842         or else NT (N).Nkind = N_Op_Concat);
3843       Set_Flag14 (N, Val);
3844    end Set_Is_Component_Right_Opnd;
3845
3846    procedure Set_Is_Controlling_Actual
3847       (N : Node_Id; Val : Boolean := True) is
3848    begin
3849       pragma Assert (False
3850         or else NT (N).Nkind in N_Subexpr);
3851       Set_Flag16 (N, Val);
3852    end Set_Is_Controlling_Actual;
3853
3854    procedure Set_Is_In_Discriminant_Check
3855       (N : Node_Id; Val : Boolean := True) is
3856    begin
3857       pragma Assert (False
3858         or else NT (N).Nkind = N_Selected_Component);
3859       Set_Flag11 (N, Val);
3860    end Set_Is_In_Discriminant_Check;
3861
3862    procedure Set_Is_Machine_Number
3863       (N : Node_Id; Val : Boolean := True) is
3864    begin
3865       pragma Assert (False
3866         or else NT (N).Nkind = N_Real_Literal);
3867       Set_Flag11 (N, Val);
3868    end Set_Is_Machine_Number;
3869
3870    procedure Set_Is_Null_Loop
3871       (N : Node_Id; Val : Boolean := True) is
3872    begin
3873       pragma Assert (False
3874         or else NT (N).Nkind = N_Loop_Statement);
3875       Set_Flag16 (N, Val);
3876    end Set_Is_Null_Loop;
3877
3878    procedure Set_Is_Overloaded
3879       (N : Node_Id; Val : Boolean := True) is
3880    begin
3881       pragma Assert (False
3882         or else NT (N).Nkind in N_Subexpr);
3883       Set_Flag5 (N, Val);
3884    end Set_Is_Overloaded;
3885
3886    procedure Set_Is_Power_Of_2_For_Shift
3887       (N : Node_Id; Val : Boolean := True) is
3888    begin
3889       pragma Assert (False
3890         or else NT (N).Nkind = N_Op_Expon);
3891       Set_Flag13 (N, Val);
3892    end Set_Is_Power_Of_2_For_Shift;
3893
3894    procedure Set_Is_Protected_Subprogram_Body
3895       (N : Node_Id; Val : Boolean := True) is
3896    begin
3897       pragma Assert (False
3898         or else NT (N).Nkind = N_Subprogram_Body);
3899       Set_Flag7 (N, Val);
3900    end Set_Is_Protected_Subprogram_Body;
3901
3902    procedure Set_Is_Static_Expression
3903       (N : Node_Id; Val : Boolean := True) is
3904    begin
3905       pragma Assert (False
3906         or else NT (N).Nkind in N_Subexpr);
3907       Set_Flag6 (N, Val);
3908    end Set_Is_Static_Expression;
3909
3910    procedure Set_Is_Subprogram_Descriptor
3911       (N : Node_Id; Val : Boolean := True) is
3912    begin
3913       pragma Assert (False
3914         or else NT (N).Nkind = N_Object_Declaration);
3915       Set_Flag16 (N, Val);
3916    end Set_Is_Subprogram_Descriptor;
3917
3918    procedure Set_Is_Task_Allocation_Block
3919       (N : Node_Id; Val : Boolean := True) is
3920    begin
3921       pragma Assert (False
3922         or else NT (N).Nkind = N_Block_Statement);
3923       Set_Flag6 (N, Val);
3924    end Set_Is_Task_Allocation_Block;
3925
3926    procedure Set_Is_Task_Master
3927       (N : Node_Id; Val : Boolean := True) is
3928    begin
3929       pragma Assert (False
3930         or else NT (N).Nkind = N_Block_Statement
3931         or else NT (N).Nkind = N_Subprogram_Body
3932         or else NT (N).Nkind = N_Task_Body);
3933       Set_Flag5 (N, Val);
3934    end Set_Is_Task_Master;
3935
3936    procedure Set_Iteration_Scheme
3937       (N : Node_Id; Val : Node_Id) is
3938    begin
3939       pragma Assert (False
3940         or else NT (N).Nkind = N_Loop_Statement);
3941       Set_Node2_With_Parent (N, Val);
3942    end Set_Iteration_Scheme;
3943
3944    procedure Set_Itype
3945       (N : Node_Id; Val : Entity_Id) is
3946    begin
3947       pragma Assert (False
3948       or else NT (N).Nkind = N_Itype_Reference);
3949       Set_Node1 (N, Val); -- no parent, semantic field
3950    end Set_Itype;
3951
3952    procedure Set_Kill_Range_Check
3953       (N : Node_Id; Val : Boolean := True) is
3954    begin
3955       pragma Assert (False
3956         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
3957       Set_Flag11 (N, Val);
3958    end Set_Kill_Range_Check;
3959
3960    procedure Set_Label_Construct
3961       (N : Node_Id; Val : Node_Id) is
3962    begin
3963       pragma Assert (False
3964         or else NT (N).Nkind = N_Implicit_Label_Declaration);
3965       Set_Node2 (N, Val); -- semantic field, no parent set
3966    end Set_Label_Construct;
3967
3968    procedure Set_Last_Bit
3969       (N : Node_Id; Val : Node_Id) is
3970    begin
3971       pragma Assert (False
3972         or else NT (N).Nkind = N_Component_Clause);
3973       Set_Node4_With_Parent (N, Val);
3974    end Set_Last_Bit;
3975
3976    procedure Set_Last_Name
3977       (N : Node_Id; Val : Boolean := True) is
3978    begin
3979       pragma Assert (False
3980         or else NT (N).Nkind = N_With_Clause);
3981       Set_Flag6 (N, Val);
3982    end Set_Last_Name;
3983
3984    procedure Set_Left_Opnd
3985       (N : Node_Id; Val : Node_Id) is
3986    begin
3987       pragma Assert (False
3988         or else NT (N).Nkind = N_And_Then
3989         or else NT (N).Nkind = N_In
3990         or else NT (N).Nkind = N_Not_In
3991         or else NT (N).Nkind = N_Or_Else
3992         or else NT (N).Nkind in N_Binary_Op);
3993       Set_Node2_With_Parent (N, Val);
3994    end Set_Left_Opnd;
3995
3996    procedure Set_Library_Unit
3997       (N : Node_Id; Val : Node_Id) is
3998    begin
3999       pragma Assert (False
4000         or else NT (N).Nkind = N_Compilation_Unit
4001         or else NT (N).Nkind = N_Package_Body_Stub
4002         or else NT (N).Nkind = N_Protected_Body_Stub
4003         or else NT (N).Nkind = N_Subprogram_Body_Stub
4004         or else NT (N).Nkind = N_Task_Body_Stub
4005         or else NT (N).Nkind = N_With_Clause);
4006       Set_Node4 (N, Val); -- semantic field, no parent set
4007    end Set_Library_Unit;
4008
4009    procedure Set_Limited_View_Installed
4010       (N : Node_Id; Val : Boolean := True) is
4011    begin
4012       pragma Assert (False
4013         or else NT (N).Nkind = N_Package_Specification
4014         or else NT (N).Nkind = N_With_Clause);
4015       Set_Flag18 (N, Val);
4016    end Set_Limited_View_Installed;
4017
4018    procedure Set_Limited_Present
4019       (N : Node_Id; Val : Boolean := True) is
4020    begin
4021       pragma Assert (False
4022         or else NT (N).Nkind = N_Formal_Private_Type_Definition
4023         or else NT (N).Nkind = N_Private_Type_Declaration
4024         or else NT (N).Nkind = N_Record_Definition
4025         or else NT (N).Nkind = N_With_Clause);
4026       Set_Flag17 (N, Val);
4027    end Set_Limited_Present;
4028
4029    procedure Set_Literals
4030       (N : Node_Id; Val : List_Id) is
4031    begin
4032       pragma Assert (False
4033         or else NT (N).Nkind = N_Enumeration_Type_Definition);
4034       Set_List1_With_Parent (N, Val);
4035    end Set_Literals;
4036
4037    procedure Set_Loop_Actions
4038       (N : Node_Id; Val : List_Id) is
4039    begin
4040       pragma Assert (False
4041         or else NT (N).Nkind = N_Component_Association);
4042       Set_List2 (N, Val); -- semantic field, no parent set
4043    end Set_Loop_Actions;
4044
4045    procedure Set_Loop_Parameter_Specification
4046       (N : Node_Id; Val : Node_Id) is
4047    begin
4048       pragma Assert (False
4049         or else NT (N).Nkind = N_Iteration_Scheme);
4050       Set_Node4_With_Parent (N, Val);
4051    end Set_Loop_Parameter_Specification;
4052
4053    procedure Set_Low_Bound
4054       (N : Node_Id; Val : Node_Id) is
4055    begin
4056       pragma Assert (False
4057         or else NT (N).Nkind = N_Range
4058         or else NT (N).Nkind = N_Real_Range_Specification
4059         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
4060       Set_Node1_With_Parent (N, Val);
4061    end Set_Low_Bound;
4062
4063    procedure Set_Mod_Clause
4064       (N : Node_Id; Val : Node_Id) is
4065    begin
4066       pragma Assert (False
4067         or else NT (N).Nkind = N_Record_Representation_Clause);
4068       Set_Node2_With_Parent (N, Val);
4069    end Set_Mod_Clause;
4070
4071    procedure Set_More_Ids
4072       (N : Node_Id; Val : Boolean := True) is
4073    begin
4074       pragma Assert (False
4075         or else NT (N).Nkind = N_Component_Declaration
4076         or else NT (N).Nkind = N_Discriminant_Specification
4077         or else NT (N).Nkind = N_Exception_Declaration
4078         or else NT (N).Nkind = N_Formal_Object_Declaration
4079         or else NT (N).Nkind = N_Number_Declaration
4080         or else NT (N).Nkind = N_Object_Declaration
4081         or else NT (N).Nkind = N_Parameter_Specification);
4082       Set_Flag5 (N, Val);
4083    end Set_More_Ids;
4084
4085    procedure Set_Must_Be_Byte_Aligned
4086       (N : Node_Id; Val : Boolean := True) is
4087    begin
4088       pragma Assert (False
4089         or else NT (N).Nkind = N_Attribute_Reference);
4090       Set_Flag14 (N, Val);
4091    end Set_Must_Be_Byte_Aligned;
4092
4093    procedure Set_Must_Not_Freeze
4094       (N : Node_Id; Val : Boolean := True) is
4095    begin
4096       pragma Assert (False
4097         or else NT (N).Nkind = N_Subtype_Indication
4098         or else NT (N).Nkind in N_Subexpr);
4099       Set_Flag8 (N, Val);
4100    end Set_Must_Not_Freeze;
4101
4102    procedure Set_Name
4103       (N : Node_Id; Val : Node_Id) is
4104    begin
4105       pragma Assert (False
4106         or else NT (N).Nkind = N_Assignment_Statement
4107         or else NT (N).Nkind = N_Attribute_Definition_Clause
4108         or else NT (N).Nkind = N_Defining_Program_Unit_Name
4109         or else NT (N).Nkind = N_Designator
4110         or else NT (N).Nkind = N_Entry_Call_Statement
4111         or else NT (N).Nkind = N_Exception_Renaming_Declaration
4112         or else NT (N).Nkind = N_Exit_Statement
4113         or else NT (N).Nkind = N_Formal_Package_Declaration
4114         or else NT (N).Nkind = N_Function_Call
4115         or else NT (N).Nkind = N_Function_Instantiation
4116         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4117         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4118         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4119         or else NT (N).Nkind = N_Goto_Statement
4120         or else NT (N).Nkind = N_Object_Renaming_Declaration
4121         or else NT (N).Nkind = N_Package_Instantiation
4122         or else NT (N).Nkind = N_Package_Renaming_Declaration
4123         or else NT (N).Nkind = N_Procedure_Call_Statement
4124         or else NT (N).Nkind = N_Procedure_Instantiation
4125         or else NT (N).Nkind = N_Raise_Statement
4126         or else NT (N).Nkind = N_Requeue_Statement
4127         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
4128         or else NT (N).Nkind = N_Subunit
4129         or else NT (N).Nkind = N_Variant_Part
4130         or else NT (N).Nkind = N_With_Clause
4131         or else NT (N).Nkind = N_With_Type_Clause);
4132       Set_Node2_With_Parent (N, Val);
4133    end Set_Name;
4134
4135    procedure Set_Names
4136       (N : Node_Id; Val : List_Id) is
4137    begin
4138       pragma Assert (False
4139         or else NT (N).Nkind = N_Abort_Statement
4140         or else NT (N).Nkind = N_Use_Package_Clause);
4141       Set_List2_With_Parent (N, Val);
4142    end Set_Names;
4143
4144    procedure Set_Next_Entity
4145       (N : Node_Id; Val : Node_Id) is
4146    begin
4147       pragma Assert (False
4148         or else NT (N).Nkind = N_Defining_Character_Literal
4149         or else NT (N).Nkind = N_Defining_Identifier
4150         or else NT (N).Nkind = N_Defining_Operator_Symbol);
4151       Set_Node2 (N, Val); -- semantic field, no parent set
4152    end Set_Next_Entity;
4153
4154    procedure Set_Next_Named_Actual
4155       (N : Node_Id; Val : Node_Id) is
4156    begin
4157       pragma Assert (False
4158         or else NT (N).Nkind = N_Parameter_Association);
4159       Set_Node4 (N, Val); -- semantic field, no parent set
4160    end Set_Next_Named_Actual;
4161
4162    procedure Set_Next_Rep_Item
4163       (N : Node_Id; Val : Node_Id) is
4164    begin
4165       pragma Assert (False
4166         or else NT (N).Nkind = N_Attribute_Definition_Clause
4167         or else NT (N).Nkind = N_Enumeration_Representation_Clause
4168         or else NT (N).Nkind = N_Pragma
4169         or else NT (N).Nkind = N_Record_Representation_Clause);
4170       Set_Node4 (N, Val); -- semantic field, no parent set
4171    end Set_Next_Rep_Item;
4172
4173    procedure Set_Next_Use_Clause
4174       (N : Node_Id; Val : Node_Id) is
4175    begin
4176       pragma Assert (False
4177         or else NT (N).Nkind = N_Use_Package_Clause
4178         or else NT (N).Nkind = N_Use_Type_Clause);
4179       Set_Node3 (N, Val); -- semantic field, no parent set
4180    end Set_Next_Use_Clause;
4181
4182    procedure Set_No_Ctrl_Actions
4183       (N : Node_Id; Val : Boolean := True) is
4184    begin
4185       pragma Assert (False
4186         or else NT (N).Nkind = N_Assignment_Statement);
4187       Set_Flag7 (N, Val);
4188    end Set_No_Ctrl_Actions;
4189
4190    procedure Set_No_Entities_Ref_In_Spec
4191       (N : Node_Id; Val : Boolean := True) is
4192    begin
4193       pragma Assert (False
4194         or else NT (N).Nkind = N_With_Clause);
4195       Set_Flag8 (N, Val);
4196    end Set_No_Entities_Ref_In_Spec;
4197
4198    procedure Set_No_Initialization
4199       (N : Node_Id; Val : Boolean := True) is
4200    begin
4201       pragma Assert (False
4202         or else NT (N).Nkind = N_Allocator
4203         or else NT (N).Nkind = N_Object_Declaration);
4204       Set_Flag13 (N, Val);
4205    end Set_No_Initialization;
4206
4207    procedure Set_No_Truncation
4208       (N : Node_Id; Val : Boolean := True) is
4209    begin
4210       pragma Assert (False
4211         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4212       Set_Flag17 (N, Val);
4213    end Set_No_Truncation;
4214
4215    procedure Set_Null_Present
4216       (N : Node_Id; Val : Boolean := True) is
4217    begin
4218       pragma Assert (False
4219         or else NT (N).Nkind = N_Component_List
4220         or else NT (N).Nkind = N_Record_Definition);
4221       Set_Flag13 (N, Val);
4222    end Set_Null_Present;
4223
4224    procedure Set_Null_Record_Present
4225       (N : Node_Id; Val : Boolean := True) is
4226    begin
4227       pragma Assert (False
4228         or else NT (N).Nkind = N_Aggregate
4229         or else NT (N).Nkind = N_Extension_Aggregate);
4230       Set_Flag17 (N, Val);
4231    end Set_Null_Record_Present;
4232
4233    procedure Set_Object_Definition
4234       (N : Node_Id; Val : Node_Id) is
4235    begin
4236       pragma Assert (False
4237         or else NT (N).Nkind = N_Object_Declaration);
4238       Set_Node4_With_Parent (N, Val);
4239    end Set_Object_Definition;
4240
4241    procedure Set_OK_For_Stream
4242       (N : Node_Id; Val : Boolean := True) is
4243    begin
4244       pragma Assert (False
4245         or else NT (N).Nkind = N_Attribute_Reference);
4246       Set_Flag4 (N, Val);
4247    end Set_OK_For_Stream;
4248
4249    procedure Set_Original_Discriminant
4250       (N : Node_Id; Val : Node_Id) is
4251    begin
4252       pragma Assert (False
4253         or else NT (N).Nkind = N_Identifier);
4254       Set_Node2 (N, Val); -- semantic field, no parent set
4255    end Set_Original_Discriminant;
4256
4257    procedure Set_Original_Entity
4258       (N : Node_Id; Val : Entity_Id) is
4259    begin
4260       pragma Assert (False
4261         or else NT (N).Nkind = N_Integer_Literal
4262         or else NT (N).Nkind = N_Real_Literal);
4263       Set_Node2 (N, Val); --  semantic field, no parent set
4264    end Set_Original_Entity;
4265
4266    procedure Set_Others_Discrete_Choices
4267       (N : Node_Id; Val : List_Id) is
4268    begin
4269       pragma Assert (False
4270         or else NT (N).Nkind = N_Others_Choice);
4271       Set_List1_With_Parent (N, Val);
4272    end Set_Others_Discrete_Choices;
4273
4274    procedure Set_Out_Present
4275       (N : Node_Id; Val : Boolean := True) is
4276    begin
4277       pragma Assert (False
4278         or else NT (N).Nkind = N_Formal_Object_Declaration
4279         or else NT (N).Nkind = N_Parameter_Specification);
4280       Set_Flag17 (N, Val);
4281    end Set_Out_Present;
4282
4283    procedure Set_Parameter_Associations
4284       (N : Node_Id; Val : List_Id) is
4285    begin
4286       pragma Assert (False
4287         or else NT (N).Nkind = N_Entry_Call_Statement
4288         or else NT (N).Nkind = N_Function_Call
4289         or else NT (N).Nkind = N_Procedure_Call_Statement);
4290       Set_List3_With_Parent (N, Val);
4291    end Set_Parameter_Associations;
4292
4293    procedure Set_Parameter_List_Truncated
4294       (N : Node_Id; Val : Boolean := True) is
4295    begin
4296       pragma Assert (False
4297         or else NT (N).Nkind = N_Function_Call
4298         or else NT (N).Nkind = N_Procedure_Call_Statement);
4299       Set_Flag17 (N, Val);
4300    end Set_Parameter_List_Truncated;
4301
4302    procedure Set_Parameter_Specifications
4303       (N : Node_Id; Val : List_Id) is
4304    begin
4305       pragma Assert (False
4306         or else NT (N).Nkind = N_Accept_Statement
4307         or else NT (N).Nkind = N_Access_Function_Definition
4308         or else NT (N).Nkind = N_Access_Procedure_Definition
4309         or else NT (N).Nkind = N_Entry_Body_Formal_Part
4310         or else NT (N).Nkind = N_Entry_Declaration
4311         or else NT (N).Nkind = N_Function_Specification
4312         or else NT (N).Nkind = N_Procedure_Specification);
4313       Set_List3_With_Parent (N, Val);
4314    end Set_Parameter_Specifications;
4315
4316    procedure Set_Parameter_Type
4317       (N : Node_Id; Val : Node_Id) is
4318    begin
4319       pragma Assert (False
4320         or else NT (N).Nkind = N_Parameter_Specification);
4321       Set_Node2_With_Parent (N, Val);
4322    end Set_Parameter_Type;
4323
4324    procedure Set_Parent_Spec
4325       (N : Node_Id; Val : Node_Id) is
4326    begin
4327       pragma Assert (False
4328         or else NT (N).Nkind = N_Function_Instantiation
4329         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4330         or else NT (N).Nkind = N_Generic_Package_Declaration
4331         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4332         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4333         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
4334         or else NT (N).Nkind = N_Package_Declaration
4335         or else NT (N).Nkind = N_Package_Instantiation
4336         or else NT (N).Nkind = N_Package_Renaming_Declaration
4337         or else NT (N).Nkind = N_Procedure_Instantiation
4338         or else NT (N).Nkind = N_Subprogram_Declaration
4339         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4340       Set_Node4 (N, Val); -- semantic field, no parent set
4341    end Set_Parent_Spec;
4342
4343    procedure Set_Position
4344       (N : Node_Id; Val : Node_Id) is
4345    begin
4346       pragma Assert (False
4347         or else NT (N).Nkind = N_Component_Clause);
4348       Set_Node2_With_Parent (N, Val);
4349    end Set_Position;
4350
4351    procedure Set_Pragma_Argument_Associations
4352       (N : Node_Id; Val : List_Id) is
4353    begin
4354       pragma Assert (False
4355         or else NT (N).Nkind = N_Pragma);
4356       Set_List2_With_Parent (N, Val);
4357    end Set_Pragma_Argument_Associations;
4358
4359    procedure Set_Pragmas_After
4360       (N : Node_Id; Val : List_Id) is
4361    begin
4362       pragma Assert (False
4363         or else NT (N).Nkind = N_Compilation_Unit_Aux
4364         or else NT (N).Nkind = N_Terminate_Alternative);
4365       Set_List5_With_Parent (N, Val);
4366    end Set_Pragmas_After;
4367
4368    procedure Set_Pragmas_Before
4369       (N : Node_Id; Val : List_Id) is
4370    begin
4371       pragma Assert (False
4372         or else NT (N).Nkind = N_Accept_Alternative
4373         or else NT (N).Nkind = N_Delay_Alternative
4374         or else NT (N).Nkind = N_Entry_Call_Alternative
4375         or else NT (N).Nkind = N_Mod_Clause
4376         or else NT (N).Nkind = N_Terminate_Alternative
4377         or else NT (N).Nkind = N_Triggering_Alternative);
4378       Set_List4_With_Parent (N, Val);
4379    end Set_Pragmas_Before;
4380
4381    procedure Set_Prefix
4382       (N : Node_Id; Val : Node_Id) is
4383    begin
4384       pragma Assert (False
4385         or else NT (N).Nkind = N_Attribute_Reference
4386         or else NT (N).Nkind = N_Expanded_Name
4387         or else NT (N).Nkind = N_Explicit_Dereference
4388         or else NT (N).Nkind = N_Indexed_Component
4389         or else NT (N).Nkind = N_Reference
4390         or else NT (N).Nkind = N_Selected_Component
4391         or else NT (N).Nkind = N_Slice);
4392       Set_Node3_With_Parent (N, Val);
4393    end Set_Prefix;
4394
4395    procedure Set_Present_Expr
4396       (N : Node_Id; Val : Uint) is
4397    begin
4398       pragma Assert (False
4399         or else NT (N).Nkind = N_Variant);
4400       Set_Uint3 (N, Val);
4401    end Set_Present_Expr;
4402
4403    procedure Set_Prev_Ids
4404       (N : Node_Id; Val : Boolean := True) is
4405    begin
4406       pragma Assert (False
4407         or else NT (N).Nkind = N_Component_Declaration
4408         or else NT (N).Nkind = N_Discriminant_Specification
4409         or else NT (N).Nkind = N_Exception_Declaration
4410         or else NT (N).Nkind = N_Formal_Object_Declaration
4411         or else NT (N).Nkind = N_Number_Declaration
4412         or else NT (N).Nkind = N_Object_Declaration
4413         or else NT (N).Nkind = N_Parameter_Specification);
4414       Set_Flag6 (N, Val);
4415    end Set_Prev_Ids;
4416
4417    procedure Set_Print_In_Hex
4418       (N : Node_Id; Val : Boolean := True) is
4419    begin
4420       pragma Assert (False
4421         or else NT (N).Nkind = N_Integer_Literal);
4422       Set_Flag13 (N, Val);
4423    end Set_Print_In_Hex;
4424
4425    procedure Set_Private_Declarations
4426       (N : Node_Id; Val : List_Id) is
4427    begin
4428       pragma Assert (False
4429         or else NT (N).Nkind = N_Package_Specification
4430         or else NT (N).Nkind = N_Protected_Definition
4431         or else NT (N).Nkind = N_Task_Definition);
4432       Set_List3_With_Parent (N, Val);
4433    end Set_Private_Declarations;
4434
4435    procedure Set_Private_Present
4436       (N : Node_Id; Val : Boolean := True) is
4437    begin
4438       pragma Assert (False
4439         or else NT (N).Nkind = N_Compilation_Unit
4440         or else NT (N).Nkind = N_Formal_Derived_Type_Definition);
4441       Set_Flag15 (N, Val);
4442    end Set_Private_Present;
4443
4444    procedure Set_Procedure_To_Call
4445       (N : Node_Id; Val : Node_Id) is
4446    begin
4447       pragma Assert (False
4448         or else NT (N).Nkind = N_Allocator
4449         or else NT (N).Nkind = N_Free_Statement
4450         or else NT (N).Nkind = N_Return_Statement);
4451       Set_Node4 (N, Val); -- semantic field, no parent set
4452    end Set_Procedure_To_Call;
4453
4454    procedure Set_Proper_Body
4455       (N : Node_Id; Val : Node_Id) is
4456    begin
4457       pragma Assert (False
4458         or else NT (N).Nkind = N_Subunit);
4459       Set_Node1_With_Parent (N, Val);
4460    end Set_Proper_Body;
4461
4462    procedure Set_Protected_Definition
4463       (N : Node_Id; Val : Node_Id) is
4464    begin
4465       pragma Assert (False
4466         or else NT (N).Nkind = N_Protected_Type_Declaration
4467         or else NT (N).Nkind = N_Single_Protected_Declaration);
4468       Set_Node3_With_Parent (N, Val);
4469    end Set_Protected_Definition;
4470
4471    procedure Set_Protected_Present
4472       (N : Node_Id; Val : Boolean := True) is
4473    begin
4474       pragma Assert (False
4475         or else NT (N).Nkind = N_Access_Function_Definition
4476         or else NT (N).Nkind = N_Access_Procedure_Definition);
4477       Set_Flag15 (N, Val);
4478    end Set_Protected_Present;
4479
4480    procedure Set_Raises_Constraint_Error
4481       (N : Node_Id; Val : Boolean := True) is
4482    begin
4483       pragma Assert (False
4484         or else NT (N).Nkind in N_Subexpr);
4485       Set_Flag7 (N, Val);
4486    end Set_Raises_Constraint_Error;
4487
4488    procedure Set_Range_Constraint
4489       (N : Node_Id; Val : Node_Id) is
4490    begin
4491       pragma Assert (False
4492         or else NT (N).Nkind = N_Delta_Constraint
4493         or else NT (N).Nkind = N_Digits_Constraint);
4494       Set_Node4_With_Parent (N, Val);
4495    end Set_Range_Constraint;
4496
4497    procedure Set_Range_Expression
4498       (N : Node_Id; Val : Node_Id) is
4499    begin
4500       pragma Assert (False
4501         or else NT (N).Nkind = N_Range_Constraint);
4502       Set_Node4_With_Parent (N, Val);
4503    end Set_Range_Expression;
4504
4505    procedure Set_Real_Range_Specification
4506       (N : Node_Id; Val : Node_Id) is
4507    begin
4508       pragma Assert (False
4509         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
4510         or else NT (N).Nkind = N_Floating_Point_Definition
4511         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
4512       Set_Node4_With_Parent (N, Val);
4513    end Set_Real_Range_Specification;
4514
4515    procedure Set_Realval
4516      (N : Node_Id; Val : Ureal) is
4517    begin
4518       pragma Assert (False
4519         or else NT (N).Nkind = N_Real_Literal);
4520       Set_Ureal3 (N, Val);
4521    end Set_Realval;
4522
4523    procedure Set_Reason
4524       (N : Node_Id; Val : Uint) is
4525    begin
4526       pragma Assert (False
4527         or else NT (N).Nkind = N_Raise_Constraint_Error
4528         or else NT (N).Nkind = N_Raise_Program_Error
4529         or else NT (N).Nkind = N_Raise_Storage_Error);
4530       Set_Uint3 (N, Val);
4531    end Set_Reason;
4532
4533    procedure Set_Record_Extension_Part
4534       (N : Node_Id; Val : Node_Id) is
4535    begin
4536       pragma Assert (False
4537         or else NT (N).Nkind = N_Derived_Type_Definition);
4538       Set_Node3_With_Parent (N, Val);
4539    end Set_Record_Extension_Part;
4540
4541    procedure Set_Redundant_Use
4542       (N : Node_Id; Val : Boolean := True) is
4543    begin
4544       pragma Assert (False
4545         or else NT (N).Nkind = N_Attribute_Reference
4546         or else NT (N).Nkind = N_Expanded_Name
4547         or else NT (N).Nkind = N_Identifier);
4548       Set_Flag13 (N, Val);
4549    end Set_Redundant_Use;
4550
4551    procedure Set_Return_Type
4552       (N : Node_Id; Val : Node_Id) is
4553    begin
4554       pragma Assert (False
4555         or else NT (N).Nkind = N_Return_Statement);
4556       Set_Node2 (N, Val); -- semantic field, no parent set
4557    end Set_Return_Type;
4558
4559    procedure Set_Reverse_Present
4560       (N : Node_Id; Val : Boolean := True) is
4561    begin
4562       pragma Assert (False
4563         or else NT (N).Nkind = N_Loop_Parameter_Specification);
4564       Set_Flag15 (N, Val);
4565    end Set_Reverse_Present;
4566
4567    procedure Set_Right_Opnd
4568       (N : Node_Id; Val : Node_Id) is
4569    begin
4570       pragma Assert (False
4571         or else NT (N).Nkind in N_Op
4572         or else NT (N).Nkind = N_And_Then
4573         or else NT (N).Nkind = N_In
4574         or else NT (N).Nkind = N_Not_In
4575         or else NT (N).Nkind = N_Or_Else);
4576       Set_Node3_With_Parent (N, Val);
4577    end Set_Right_Opnd;
4578
4579    procedure Set_Rounded_Result
4580       (N : Node_Id; Val : Boolean := True) is
4581    begin
4582       pragma Assert (False
4583         or else NT (N).Nkind = N_Op_Divide
4584         or else NT (N).Nkind = N_Op_Multiply
4585         or else NT (N).Nkind = N_Type_Conversion);
4586       Set_Flag18 (N, Val);
4587    end Set_Rounded_Result;
4588
4589    procedure Set_Scope
4590       (N : Node_Id; Val : Node_Id) is
4591    begin
4592       pragma Assert (False
4593         or else NT (N).Nkind = N_Defining_Character_Literal
4594         or else NT (N).Nkind = N_Defining_Identifier
4595         or else NT (N).Nkind = N_Defining_Operator_Symbol);
4596       Set_Node3 (N, Val); -- semantic field, no parent set
4597    end Set_Scope;
4598
4599    procedure Set_Select_Alternatives
4600       (N : Node_Id; Val : List_Id) is
4601    begin
4602       pragma Assert (False
4603         or else NT (N).Nkind = N_Selective_Accept);
4604       Set_List1_With_Parent (N, Val);
4605    end Set_Select_Alternatives;
4606
4607    procedure Set_Selector_Name
4608       (N : Node_Id; Val : Node_Id) is
4609    begin
4610       pragma Assert (False
4611         or else NT (N).Nkind = N_Expanded_Name
4612         or else NT (N).Nkind = N_Generic_Association
4613         or else NT (N).Nkind = N_Parameter_Association
4614         or else NT (N).Nkind = N_Selected_Component);
4615       Set_Node2_With_Parent (N, Val);
4616    end Set_Selector_Name;
4617
4618    procedure Set_Selector_Names
4619       (N : Node_Id; Val : List_Id) is
4620    begin
4621       pragma Assert (False
4622         or else NT (N).Nkind = N_Discriminant_Association);
4623       Set_List1_With_Parent (N, Val);
4624    end Set_Selector_Names;
4625
4626    procedure Set_Shift_Count_OK
4627       (N : Node_Id; Val : Boolean := True) is
4628    begin
4629       pragma Assert (False
4630         or else NT (N).Nkind = N_Op_Rotate_Left
4631         or else NT (N).Nkind = N_Op_Rotate_Right
4632         or else NT (N).Nkind = N_Op_Shift_Left
4633         or else NT (N).Nkind = N_Op_Shift_Right
4634         or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
4635       Set_Flag4 (N, Val);
4636    end Set_Shift_Count_OK;
4637
4638    procedure Set_Source_Type
4639       (N : Node_Id; Val : Entity_Id) is
4640    begin
4641       pragma Assert (False
4642         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
4643       Set_Node1 (N, Val); -- semantic field, no parent set
4644    end Set_Source_Type;
4645
4646    procedure Set_Specification
4647       (N : Node_Id; Val : Node_Id) is
4648    begin
4649       pragma Assert (False
4650         or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
4651         or else NT (N).Nkind = N_Formal_Subprogram_Declaration
4652         or else NT (N).Nkind = N_Generic_Package_Declaration
4653         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
4654         or else NT (N).Nkind = N_Package_Declaration
4655         or else NT (N).Nkind = N_Subprogram_Body
4656         or else NT (N).Nkind = N_Subprogram_Body_Stub
4657         or else NT (N).Nkind = N_Subprogram_Declaration
4658         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4659       Set_Node1_With_Parent (N, Val);
4660    end Set_Specification;
4661
4662    procedure Set_Statements
4663       (N : Node_Id; Val : List_Id) is
4664    begin
4665       pragma Assert (False
4666         or else NT (N).Nkind = N_Abortable_Part
4667         or else NT (N).Nkind = N_Accept_Alternative
4668         or else NT (N).Nkind = N_Case_Statement_Alternative
4669         or else NT (N).Nkind = N_Delay_Alternative
4670         or else NT (N).Nkind = N_Entry_Call_Alternative
4671         or else NT (N).Nkind = N_Exception_Handler
4672         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
4673         or else NT (N).Nkind = N_Loop_Statement
4674         or else NT (N).Nkind = N_Triggering_Alternative);
4675       Set_List3_With_Parent (N, Val);
4676    end Set_Statements;
4677
4678    procedure Set_Static_Processing_OK
4679       (N : Node_Id; Val : Boolean) is
4680    begin
4681       pragma Assert (False
4682         or else NT (N).Nkind = N_Aggregate);
4683       Set_Flag4 (N, Val);
4684    end Set_Static_Processing_OK;
4685
4686    procedure Set_Storage_Pool
4687       (N : Node_Id; Val : Node_Id) is
4688    begin
4689       pragma Assert (False
4690         or else NT (N).Nkind = N_Allocator
4691         or else NT (N).Nkind = N_Free_Statement
4692         or else NT (N).Nkind = N_Return_Statement);
4693       Set_Node1 (N, Val); -- semantic field, no parent set
4694    end Set_Storage_Pool;
4695
4696    procedure Set_Strval
4697       (N : Node_Id; Val : String_Id) is
4698    begin
4699       pragma Assert (False
4700         or else NT (N).Nkind = N_Operator_Symbol
4701         or else NT (N).Nkind = N_String_Literal);
4702       Set_Str3 (N, Val);
4703    end Set_Strval;
4704
4705    procedure Set_Subtype_Indication
4706       (N : Node_Id; Val : Node_Id) is
4707    begin
4708       pragma Assert (False
4709         or else NT (N).Nkind = N_Access_To_Object_Definition
4710         or else NT (N).Nkind = N_Component_Declaration
4711         or else NT (N).Nkind = N_Constrained_Array_Definition
4712         or else NT (N).Nkind = N_Derived_Type_Definition
4713         or else NT (N).Nkind = N_Private_Extension_Declaration
4714         or else NT (N).Nkind = N_Subtype_Declaration
4715         or else NT (N).Nkind = N_Unconstrained_Array_Definition);
4716       Set_Node5_With_Parent (N, Val);
4717    end Set_Subtype_Indication;
4718
4719    procedure Set_Subtype_Mark
4720       (N : Node_Id; Val : Node_Id) is
4721    begin
4722       pragma Assert (False
4723         or else NT (N).Nkind = N_Access_Definition
4724         or else NT (N).Nkind = N_Access_Function_Definition
4725         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
4726         or else NT (N).Nkind = N_Formal_Object_Declaration
4727         or else NT (N).Nkind = N_Function_Specification
4728         or else NT (N).Nkind = N_Object_Renaming_Declaration
4729         or else NT (N).Nkind = N_Qualified_Expression
4730         or else NT (N).Nkind = N_Subtype_Indication
4731         or else NT (N).Nkind = N_Type_Conversion
4732         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4733       Set_Node4_With_Parent (N, Val);
4734    end Set_Subtype_Mark;
4735
4736    procedure Set_Subtype_Marks
4737       (N : Node_Id; Val : List_Id) is
4738    begin
4739       pragma Assert (False
4740         or else NT (N).Nkind = N_Unconstrained_Array_Definition
4741         or else NT (N).Nkind = N_Use_Type_Clause);
4742       Set_List2_With_Parent (N, Val);
4743    end Set_Subtype_Marks;
4744
4745    procedure Set_Tagged_Present
4746       (N : Node_Id; Val : Boolean := True) is
4747    begin
4748       pragma Assert (False
4749         or else NT (N).Nkind = N_Formal_Private_Type_Definition
4750         or else NT (N).Nkind = N_Private_Type_Declaration
4751         or else NT (N).Nkind = N_Record_Definition
4752         or else NT (N).Nkind = N_With_Type_Clause);
4753       Set_Flag15 (N, Val);
4754    end Set_Tagged_Present;
4755
4756    procedure Set_Target_Type
4757       (N : Node_Id; Val : Entity_Id) is
4758    begin
4759       pragma Assert (False
4760         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
4761       Set_Node2 (N, Val); -- semantic field, no parent set
4762    end Set_Target_Type;
4763
4764    procedure Set_Task_Body_Procedure
4765       (N : Node_Id; Val : Entity_Id) is
4766    begin
4767       pragma Assert (False
4768         or else NT (N).Nkind = N_Task_Type_Declaration);
4769       Set_Node2 (N, Val); -- semantic field, no parent set
4770    end Set_Task_Body_Procedure;
4771
4772    procedure Set_Task_Definition
4773       (N : Node_Id; Val : Node_Id) is
4774    begin
4775       pragma Assert (False
4776         or else NT (N).Nkind = N_Single_Task_Declaration
4777         or else NT (N).Nkind = N_Task_Type_Declaration);
4778       Set_Node3_With_Parent (N, Val);
4779    end Set_Task_Definition;
4780
4781    procedure Set_Then_Actions
4782       (N : Node_Id; Val : List_Id) is
4783    begin
4784       pragma Assert (False
4785         or else NT (N).Nkind = N_Conditional_Expression);
4786       Set_List2 (N, Val); -- semantic field, no parent set
4787    end Set_Then_Actions;
4788
4789    procedure Set_Then_Statements
4790       (N : Node_Id; Val : List_Id) is
4791    begin
4792       pragma Assert (False
4793         or else NT (N).Nkind = N_Elsif_Part
4794         or else NT (N).Nkind = N_If_Statement);
4795       Set_List2_With_Parent (N, Val);
4796    end Set_Then_Statements;
4797
4798    procedure Set_Treat_Fixed_As_Integer
4799       (N : Node_Id; Val : Boolean := True) is
4800    begin
4801       pragma Assert (False
4802         or else NT (N).Nkind = N_Op_Divide
4803         or else NT (N).Nkind = N_Op_Mod
4804         or else NT (N).Nkind = N_Op_Multiply
4805         or else NT (N).Nkind = N_Op_Rem);
4806       Set_Flag14 (N, Val);
4807    end Set_Treat_Fixed_As_Integer;
4808
4809    procedure Set_Triggering_Alternative
4810       (N : Node_Id; Val : Node_Id) is
4811    begin
4812       pragma Assert (False
4813         or else NT (N).Nkind = N_Asynchronous_Select);
4814       Set_Node1_With_Parent (N, Val);
4815    end Set_Triggering_Alternative;
4816
4817    procedure Set_Triggering_Statement
4818       (N : Node_Id; Val : Node_Id) is
4819    begin
4820       pragma Assert (False
4821         or else NT (N).Nkind = N_Triggering_Alternative);
4822       Set_Node1_With_Parent (N, Val);
4823    end Set_Triggering_Statement;
4824
4825    procedure Set_TSS_Elist
4826       (N : Node_Id; Val : Elist_Id) is
4827    begin
4828       pragma Assert (False
4829         or else NT (N).Nkind = N_Freeze_Entity);
4830       Set_Elist3 (N, Val); -- semantic field, no parent set
4831    end Set_TSS_Elist;
4832
4833    procedure Set_Type_Definition
4834       (N : Node_Id; Val : Node_Id) is
4835    begin
4836       pragma Assert (False
4837         or else NT (N).Nkind = N_Full_Type_Declaration);
4838       Set_Node3_With_Parent (N, Val);
4839    end Set_Type_Definition;
4840
4841    procedure Set_Unit
4842       (N : Node_Id; Val : Node_Id) is
4843    begin
4844       pragma Assert (False
4845         or else NT (N).Nkind = N_Compilation_Unit);
4846       Set_Node2_With_Parent (N, Val);
4847    end Set_Unit;
4848
4849    procedure Set_Unknown_Discriminants_Present
4850       (N : Node_Id; Val : Boolean := True) is
4851    begin
4852       pragma Assert (False
4853         or else NT (N).Nkind = N_Formal_Type_Declaration
4854         or else NT (N).Nkind = N_Incomplete_Type_Declaration
4855         or else NT (N).Nkind = N_Private_Extension_Declaration
4856         or else NT (N).Nkind = N_Private_Type_Declaration);
4857       Set_Flag13 (N, Val);
4858    end Set_Unknown_Discriminants_Present;
4859
4860    procedure Set_Unreferenced_In_Spec
4861       (N : Node_Id; Val : Boolean := True) is
4862    begin
4863       pragma Assert (False
4864         or else NT (N).Nkind = N_With_Clause);
4865       Set_Flag7 (N, Val);
4866    end Set_Unreferenced_In_Spec;
4867
4868    procedure Set_Variant_Part
4869       (N : Node_Id; Val : Node_Id) is
4870    begin
4871       pragma Assert (False
4872         or else NT (N).Nkind = N_Component_List);
4873       Set_Node4_With_Parent (N, Val);
4874    end Set_Variant_Part;
4875
4876    procedure Set_Variants
4877       (N : Node_Id; Val : List_Id) is
4878    begin
4879       pragma Assert (False
4880         or else NT (N).Nkind = N_Variant_Part);
4881       Set_List1_With_Parent (N, Val);
4882    end Set_Variants;
4883
4884    procedure Set_Visible_Declarations
4885       (N : Node_Id; Val : List_Id) is
4886    begin
4887       pragma Assert (False
4888         or else NT (N).Nkind = N_Package_Specification
4889         or else NT (N).Nkind = N_Protected_Definition
4890         or else NT (N).Nkind = N_Task_Definition);
4891       Set_List2_With_Parent (N, Val);
4892    end Set_Visible_Declarations;
4893
4894    procedure Set_Was_Originally_Stub
4895       (N : Node_Id; Val : Boolean := True) is
4896    begin
4897       pragma Assert (False
4898         or else NT (N).Nkind = N_Package_Body
4899         or else NT (N).Nkind = N_Protected_Body
4900         or else NT (N).Nkind = N_Subprogram_Body
4901         or else NT (N).Nkind = N_Task_Body);
4902       Set_Flag13 (N, Val);
4903    end Set_Was_Originally_Stub;
4904
4905    procedure Set_Zero_Cost_Handling
4906       (N : Node_Id; Val : Boolean := True) is
4907    begin
4908       pragma Assert (False
4909         or else NT (N).Nkind = N_Exception_Handler
4910         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
4911       Set_Flag5 (N, Val);
4912    end Set_Zero_Cost_Handling;
4913
4914    -------------------------
4915    -- Iterator Procedures --
4916    -------------------------
4917
4918    procedure Next_Entity       (N : in out Node_Id) is
4919    begin
4920       N := Next_Entity (N);
4921    end Next_Entity;
4922
4923    procedure Next_Named_Actual (N : in out Node_Id) is
4924    begin
4925       N := Next_Named_Actual (N);
4926    end Next_Named_Actual;
4927
4928    procedure Next_Rep_Item     (N : in out Node_Id) is
4929    begin
4930       N := Next_Rep_Item (N);
4931    end Next_Rep_Item;
4932
4933    procedure Next_Use_Clause   (N : in out Node_Id) is
4934    begin
4935       N := Next_Use_Clause (N);
4936    end Next_Use_Clause;
4937
4938    ------------------
4939    -- End_Location --
4940    ------------------
4941
4942    function End_Location (N : Node_Id) return Source_Ptr is
4943       L : constant Uint := End_Span (N);
4944
4945    begin
4946       if L = No_Uint then
4947          return No_Location;
4948       else
4949          return Source_Ptr (Int (Sloc (N)) + UI_To_Int (L));
4950       end if;
4951    end End_Location;
4952
4953    ----------------------
4954    -- Set_End_Location --
4955    ----------------------
4956
4957    procedure Set_End_Location (N : Node_Id; S : Source_Ptr) is
4958    begin
4959       Set_End_Span (N,
4960         UI_From_Int (Int (S) - Int (Sloc (N))));
4961    end Set_End_Location;
4962
4963 end Sinfo;