OSDN Git Service

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