OSDN Git Service

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