OSDN Git Service

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