OSDN Git Service

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