OSDN Git Service

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