OSDN Git Service

2005-06-14 Ed Schonberg <schonberg@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / sinfo.adb
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                         GNAT COMPILER COMPONENTS                         --
4 --                                                                          --
5 --                                S I N F O                                 --
6 --                                                                          --
7 --                                 B o d y                                  --
8 --                                                                          --
9 --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
10 --                                                                          --
11 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
12 -- terms of the  GNU General Public License as published  by the Free Soft- --
13 -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
14 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
17 -- for  more details.  You should have  received  a copy of the GNU General --
18 -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
19 -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
20 -- MA 02111-1307, USA.                                                      --
21 --                                                                          --
22 -- As a special exception,  if other files  instantiate  generics from this --
23 -- unit, or you link  this unit with other files  to produce an executable, --
24 -- this  unit  does not  by itself cause  the resulting  executable  to  be --
25 -- covered  by the  GNU  General  Public  License.  This exception does not --
26 -- however invalidate  any other reasons why  the executable file  might be --
27 -- covered by the  GNU Public License.                                      --
28 --                                                                          --
29 -- GNAT was originally developed  by the GNAT team at  New York University. --
30 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
31 --                                                                          --
32 ------------------------------------------------------------------------------
33
34 pragma Style_Checks (All_Checks);
35 --  No subprogram ordering check, due to logical grouping
36
37 with Atree; use Atree;
38
39 package body Sinfo is
40
41    use Atree.Unchecked_Access;
42    --  This package is one of the few packages which is allowed to make direct
43    --  references to tree nodes (since it is in the business of providing a
44    --  higher level of tree access which other clients are expected to use and
45    --  which implements checks).
46
47    use Atree_Private_Part;
48    --  The only reason that we ask for direct access to the private part of
49    --  the tree package is so that we can directly reference the Nkind field
50    --  of nodes table entries. We do this since it helps the efficiency of
51    --  the Sinfo debugging checks considerably (note that when we are checking
52    --  Nkind values, we don't need to check for a valid node reference, because
53    --  we will check that anyway when we reference the field).
54
55    NT : Nodes.Table_Ptr renames Nodes.Table;
56    --  A short hand abbreviation, useful for the debugging checks
57
58    ----------------------------
59    -- Field Access Functions --
60    ----------------------------
61
62    function ABE_Is_Certain
63       (N : Node_Id) return Boolean is
64    begin
65       pragma Assert (False
66         or else NT (N).Nkind = N_Formal_Package_Declaration
67         or else NT (N).Nkind = N_Function_Call
68         or else NT (N).Nkind = N_Function_Instantiation
69         or else NT (N).Nkind = N_Package_Instantiation
70         or else NT (N).Nkind = N_Procedure_Call_Statement
71         or else NT (N).Nkind = N_Procedure_Instantiation);
72       return Flag18 (N);
73    end ABE_Is_Certain;
74
75    function Abort_Present
76       (N : Node_Id) return Boolean is
77    begin
78       pragma Assert (False
79         or else NT (N).Nkind = N_Requeue_Statement);
80       return Flag15 (N);
81    end Abort_Present;
82
83    function Abortable_Part
84       (N : Node_Id) return Node_Id is
85    begin
86       pragma Assert (False
87         or else NT (N).Nkind = N_Asynchronous_Select);
88       return Node2 (N);
89    end Abortable_Part;
90
91    function Abstract_Present
92       (N : Node_Id) return Boolean is
93    begin
94       pragma Assert (False
95         or else NT (N).Nkind = N_Derived_Type_Definition
96         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
97         or else NT (N).Nkind = N_Formal_Private_Type_Definition
98         or else NT (N).Nkind = N_Private_Extension_Declaration
99         or else NT (N).Nkind = N_Private_Type_Declaration
100         or else NT (N).Nkind = N_Record_Definition);
101       return Flag4 (N);
102    end Abstract_Present;
103
104    function Accept_Handler_Records
105       (N : Node_Id) return List_Id is
106    begin
107       pragma Assert (False
108         or else NT (N).Nkind = N_Accept_Alternative);
109       return List5 (N);
110    end Accept_Handler_Records;
111
112    function Accept_Statement
113       (N : Node_Id) return Node_Id is
114    begin
115       pragma Assert (False
116         or else NT (N).Nkind = N_Accept_Alternative);
117       return Node2 (N);
118    end Accept_Statement;
119
120    function Access_Definition
121      (N : Node_Id) return Node_Id is
122    begin
123       pragma Assert (False
124         or else NT (N).Nkind = N_Component_Definition
125         or else NT (N).Nkind = N_Object_Renaming_Declaration);
126       return Node3 (N);
127    end Access_Definition;
128
129    function Access_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_Private_Type_Declaration
2454         or else NT (N).Nkind = N_Record_Definition
2455         or else NT (N).Nkind = N_With_Type_Clause);
2456       return Flag15 (N);
2457    end Tagged_Present;
2458
2459    function Target_Type
2460       (N : Node_Id) return Entity_Id is
2461    begin
2462       pragma Assert (False
2463         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
2464       return Node2 (N);
2465    end Target_Type;
2466
2467    function Task_Definition
2468       (N : Node_Id) return Node_Id is
2469    begin
2470       pragma Assert (False
2471         or else NT (N).Nkind = N_Single_Task_Declaration
2472         or else NT (N).Nkind = N_Task_Type_Declaration);
2473       return Node3 (N);
2474    end Task_Definition;
2475
2476    function Task_Present
2477      (N : Node_Id) return Boolean is
2478    begin
2479       pragma Assert (False
2480         or else NT (N).Nkind = N_Derived_Type_Definition
2481         or else NT (N).Nkind = N_Record_Definition);
2482       return Flag5 (N);
2483    end Task_Present;
2484
2485    function Then_Actions
2486       (N : Node_Id) return List_Id is
2487    begin
2488       pragma Assert (False
2489         or else NT (N).Nkind = N_Conditional_Expression);
2490       return List2 (N);
2491    end Then_Actions;
2492
2493    function Then_Statements
2494       (N : Node_Id) return List_Id is
2495    begin
2496       pragma Assert (False
2497         or else NT (N).Nkind = N_Elsif_Part
2498         or else NT (N).Nkind = N_If_Statement);
2499       return List2 (N);
2500    end Then_Statements;
2501
2502    function Treat_Fixed_As_Integer
2503       (N : Node_Id) return Boolean is
2504    begin
2505       pragma Assert (False
2506         or else NT (N).Nkind = N_Op_Divide
2507         or else NT (N).Nkind = N_Op_Mod
2508         or else NT (N).Nkind = N_Op_Multiply
2509         or else NT (N).Nkind = N_Op_Rem);
2510       return Flag14 (N);
2511    end Treat_Fixed_As_Integer;
2512
2513    function Triggering_Alternative
2514       (N : Node_Id) return Node_Id is
2515    begin
2516       pragma Assert (False
2517         or else NT (N).Nkind = N_Asynchronous_Select);
2518       return Node1 (N);
2519    end Triggering_Alternative;
2520
2521    function Triggering_Statement
2522       (N : Node_Id) return Node_Id is
2523    begin
2524       pragma Assert (False
2525         or else NT (N).Nkind = N_Triggering_Alternative);
2526       return Node1 (N);
2527    end Triggering_Statement;
2528
2529    function TSS_Elist
2530       (N : Node_Id) return Elist_Id is
2531    begin
2532       pragma Assert (False
2533         or else NT (N).Nkind = N_Freeze_Entity);
2534       return Elist3 (N);
2535    end TSS_Elist;
2536
2537    function Type_Definition
2538       (N : Node_Id) return Node_Id is
2539    begin
2540       pragma Assert (False
2541         or else NT (N).Nkind = N_Full_Type_Declaration);
2542       return Node3 (N);
2543    end Type_Definition;
2544
2545    function Unit
2546       (N : Node_Id) return Node_Id is
2547    begin
2548       pragma Assert (False
2549         or else NT (N).Nkind = N_Compilation_Unit);
2550       return Node2 (N);
2551    end Unit;
2552
2553    function Unknown_Discriminants_Present
2554       (N : Node_Id) return Boolean is
2555    begin
2556       pragma Assert (False
2557         or else NT (N).Nkind = N_Formal_Type_Declaration
2558         or else NT (N).Nkind = N_Incomplete_Type_Declaration
2559         or else NT (N).Nkind = N_Private_Extension_Declaration
2560         or else NT (N).Nkind = N_Private_Type_Declaration);
2561       return Flag13 (N);
2562    end Unknown_Discriminants_Present;
2563
2564    function Unreferenced_In_Spec
2565       (N : Node_Id) return Boolean is
2566    begin
2567       pragma Assert (False
2568         or else NT (N).Nkind = N_With_Clause);
2569       return Flag7 (N);
2570    end Unreferenced_In_Spec;
2571
2572    function Variant_Part
2573       (N : Node_Id) return Node_Id is
2574    begin
2575       pragma Assert (False
2576         or else NT (N).Nkind = N_Component_List);
2577       return Node4 (N);
2578    end Variant_Part;
2579
2580    function Variants
2581       (N : Node_Id) return List_Id is
2582    begin
2583       pragma Assert (False
2584         or else NT (N).Nkind = N_Variant_Part);
2585       return List1 (N);
2586    end Variants;
2587
2588    function Visible_Declarations
2589       (N : Node_Id) return List_Id is
2590    begin
2591       pragma Assert (False
2592         or else NT (N).Nkind = N_Package_Specification
2593         or else NT (N).Nkind = N_Protected_Definition
2594         or else NT (N).Nkind = N_Task_Definition);
2595       return List2 (N);
2596    end Visible_Declarations;
2597
2598    function Was_Originally_Stub
2599       (N : Node_Id) return Boolean is
2600    begin
2601       pragma Assert (False
2602         or else NT (N).Nkind = N_Package_Body
2603         or else NT (N).Nkind = N_Protected_Body
2604         or else NT (N).Nkind = N_Subprogram_Body
2605         or else NT (N).Nkind = N_Task_Body);
2606       return Flag13 (N);
2607    end Was_Originally_Stub;
2608
2609    function Zero_Cost_Handling
2610       (N : Node_Id) return Boolean is
2611    begin
2612       pragma Assert (False
2613         or else NT (N).Nkind = N_Exception_Handler
2614         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
2615       return Flag5 (N);
2616    end Zero_Cost_Handling;
2617
2618    --------------------------
2619    -- Field Set Procedures --
2620    --------------------------
2621
2622    procedure Set_ABE_Is_Certain
2623       (N : Node_Id; Val : Boolean := True) is
2624    begin
2625       pragma Assert (False
2626         or else NT (N).Nkind = N_Formal_Package_Declaration
2627         or else NT (N).Nkind = N_Function_Call
2628         or else NT (N).Nkind = N_Function_Instantiation
2629         or else NT (N).Nkind = N_Package_Instantiation
2630         or else NT (N).Nkind = N_Procedure_Call_Statement
2631         or else NT (N).Nkind = N_Procedure_Instantiation);
2632       Set_Flag18 (N, Val);
2633    end Set_ABE_Is_Certain;
2634
2635    procedure Set_Abort_Present
2636       (N : Node_Id; Val : Boolean := True) is
2637    begin
2638       pragma Assert (False
2639         or else NT (N).Nkind = N_Requeue_Statement);
2640       Set_Flag15 (N, Val);
2641    end Set_Abort_Present;
2642
2643    procedure Set_Abortable_Part
2644       (N : Node_Id; Val : Node_Id) is
2645    begin
2646       pragma Assert (False
2647         or else NT (N).Nkind = N_Asynchronous_Select);
2648       Set_Node2_With_Parent (N, Val);
2649    end Set_Abortable_Part;
2650
2651    procedure Set_Abstract_Present
2652       (N : Node_Id; Val : Boolean := True) is
2653    begin
2654       pragma Assert (False
2655         or else NT (N).Nkind = N_Derived_Type_Definition
2656         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
2657         or else NT (N).Nkind = N_Formal_Private_Type_Definition
2658         or else NT (N).Nkind = N_Private_Extension_Declaration
2659         or else NT (N).Nkind = N_Private_Type_Declaration
2660         or else NT (N).Nkind = N_Record_Definition);
2661       Set_Flag4 (N, Val);
2662    end Set_Abstract_Present;
2663
2664    procedure Set_Accept_Handler_Records
2665       (N : Node_Id; Val : List_Id) is
2666    begin
2667       pragma Assert (False
2668         or else NT (N).Nkind = N_Accept_Alternative);
2669       Set_List5 (N, Val); -- semantic field, no parent set
2670    end Set_Accept_Handler_Records;
2671
2672    procedure Set_Accept_Statement
2673       (N : Node_Id; Val : Node_Id) is
2674    begin
2675       pragma Assert (False
2676         or else NT (N).Nkind = N_Accept_Alternative);
2677       Set_Node2_With_Parent (N, Val);
2678    end Set_Accept_Statement;
2679
2680    procedure Set_Access_Definition
2681      (N : Node_Id; Val : Node_Id) is
2682    begin
2683       pragma Assert (False
2684         or else NT (N).Nkind = N_Component_Definition
2685         or else NT (N).Nkind = N_Object_Renaming_Declaration);
2686       Set_Node3_With_Parent (N, Val);
2687    end Set_Access_Definition;
2688
2689    procedure Set_Access_To_Subprogram_Definition
2690      (N : Node_Id; Val : Node_Id) is
2691    begin
2692       pragma Assert (False
2693         or else NT (N).Nkind = N_Access_Definition);
2694       Set_Node3_With_Parent (N, Val);
2695    end Set_Access_To_Subprogram_Definition;
2696
2697    procedure Set_Access_Types_To_Process
2698       (N : Node_Id; Val : Elist_Id) is
2699    begin
2700       pragma Assert (False
2701         or else NT (N).Nkind = N_Freeze_Entity);
2702       Set_Elist2 (N, Val); -- semantic field, no parent set
2703    end Set_Access_Types_To_Process;
2704
2705    procedure Set_Actions
2706       (N : Node_Id; Val : List_Id) is
2707    begin
2708       pragma Assert (False
2709         or else NT (N).Nkind = N_And_Then
2710         or else NT (N).Nkind = N_Compilation_Unit_Aux
2711         or else NT (N).Nkind = N_Freeze_Entity
2712         or else NT (N).Nkind = N_Or_Else);
2713       Set_List1_With_Parent (N, Val);
2714    end Set_Actions;
2715
2716    procedure Set_Activation_Chain_Entity
2717       (N : Node_Id; Val : Node_Id) is
2718    begin
2719       pragma Assert (False
2720         or else NT (N).Nkind = N_Block_Statement
2721         or else NT (N).Nkind = N_Entry_Body
2722         or else NT (N).Nkind = N_Generic_Package_Declaration
2723         or else NT (N).Nkind = N_Package_Declaration
2724         or else NT (N).Nkind = N_Subprogram_Body
2725         or else NT (N).Nkind = N_Task_Body);
2726       Set_Node3 (N, Val); -- semantic field, no parent set
2727    end Set_Activation_Chain_Entity;
2728
2729    procedure Set_Acts_As_Spec
2730       (N : Node_Id; Val : Boolean := True) is
2731    begin
2732       pragma Assert (False
2733         or else NT (N).Nkind = N_Compilation_Unit
2734         or else NT (N).Nkind = N_Subprogram_Body);
2735       Set_Flag4 (N, Val);
2736    end Set_Acts_As_Spec;
2737
2738    procedure Set_Aggregate_Bounds
2739       (N : Node_Id; Val : Node_Id) is
2740    begin
2741       pragma Assert (False
2742         or else NT (N).Nkind = N_Aggregate);
2743       Set_Node3 (N, Val); -- semantic field, no parent set
2744    end Set_Aggregate_Bounds;
2745
2746    procedure Set_Aliased_Present
2747       (N : Node_Id; Val : Boolean := True) is
2748    begin
2749       pragma Assert (False
2750         or else NT (N).Nkind = N_Component_Definition
2751         or else NT (N).Nkind = N_Object_Declaration);
2752       Set_Flag4 (N, Val);
2753    end Set_Aliased_Present;
2754
2755    procedure Set_All_Others
2756       (N : Node_Id; Val : Boolean := True) is
2757    begin
2758       pragma Assert (False
2759         or else NT (N).Nkind = N_Others_Choice);
2760       Set_Flag11 (N, Val);
2761    end Set_All_Others;
2762
2763    procedure Set_All_Present
2764       (N : Node_Id; Val : Boolean := True) is
2765    begin
2766       pragma Assert (False
2767         or else NT (N).Nkind = N_Access_Definition
2768         or else NT (N).Nkind = N_Access_To_Object_Definition);
2769       Set_Flag15 (N, Val);
2770    end Set_All_Present;
2771
2772    procedure Set_Alternatives
2773       (N : Node_Id; Val : List_Id) is
2774    begin
2775       pragma Assert (False
2776         or else NT (N).Nkind = N_Case_Statement);
2777       Set_List4_With_Parent (N, Val);
2778    end Set_Alternatives;
2779
2780    procedure Set_Ancestor_Part
2781       (N : Node_Id; Val : Node_Id) is
2782    begin
2783       pragma Assert (False
2784         or else NT (N).Nkind = N_Extension_Aggregate);
2785       Set_Node3_With_Parent (N, Val);
2786    end Set_Ancestor_Part;
2787
2788    procedure Set_Array_Aggregate
2789       (N : Node_Id; Val : Node_Id) is
2790    begin
2791       pragma Assert (False
2792         or else NT (N).Nkind = N_Enumeration_Representation_Clause);
2793       Set_Node3_With_Parent (N, Val);
2794    end Set_Array_Aggregate;
2795
2796    procedure Set_Assignment_OK
2797       (N : Node_Id; Val : Boolean := True) is
2798    begin
2799       pragma Assert (False
2800         or else NT (N).Nkind = N_Object_Declaration
2801         or else NT (N).Nkind in N_Subexpr);
2802       Set_Flag15 (N, Val);
2803    end Set_Assignment_OK;
2804
2805    procedure Set_Associated_Node
2806       (N : Node_Id; Val : Node_Id) is
2807    begin
2808       pragma Assert (False
2809         or else NT (N).Nkind in N_Has_Entity
2810         or else NT (N).Nkind = N_Aggregate
2811         or else NT (N).Nkind = N_Extension_Aggregate
2812         or else NT (N).Nkind = N_Selected_Component);
2813       Set_Node4 (N, Val); -- semantic field, no parent set
2814    end Set_Associated_Node;
2815
2816    procedure Set_At_End_Proc
2817       (N : Node_Id; Val : Node_Id) is
2818    begin
2819       pragma Assert (False
2820         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
2821       Set_Node1 (N, Val);
2822    end Set_At_End_Proc;
2823
2824    procedure Set_Attribute_Name
2825       (N : Node_Id; Val : Name_Id) is
2826    begin
2827       pragma Assert (False
2828         or else NT (N).Nkind = N_Attribute_Reference);
2829       Set_Name2 (N, Val);
2830    end Set_Attribute_Name;
2831
2832    procedure Set_Aux_Decls_Node
2833       (N : Node_Id; Val : Node_Id) is
2834    begin
2835       pragma Assert (False
2836         or else NT (N).Nkind = N_Compilation_Unit);
2837       Set_Node5_With_Parent (N, Val);
2838    end Set_Aux_Decls_Node;
2839
2840    procedure Set_Backwards_OK
2841       (N : Node_Id; Val : Boolean := True) is
2842    begin
2843       pragma Assert (False
2844         or else NT (N).Nkind = N_Assignment_Statement);
2845       Set_Flag6 (N, Val);
2846    end Set_Backwards_OK;
2847
2848    procedure Set_Bad_Is_Detected
2849       (N : Node_Id; Val : Boolean := True) is
2850    begin
2851       pragma Assert (False
2852         or else NT (N).Nkind = N_Subprogram_Body);
2853       Set_Flag15 (N, Val);
2854    end Set_Bad_Is_Detected;
2855
2856    procedure Set_Body_Required
2857       (N : Node_Id; Val : Boolean := True) is
2858    begin
2859       pragma Assert (False
2860         or else NT (N).Nkind = N_Compilation_Unit);
2861       Set_Flag13 (N, Val);
2862    end Set_Body_Required;
2863
2864    procedure Set_Body_To_Inline
2865       (N : Node_Id; Val : Node_Id) is
2866    begin
2867       pragma Assert (False
2868         or else NT (N).Nkind = N_Subprogram_Declaration);
2869       Set_Node3 (N, Val);
2870    end Set_Body_To_Inline;
2871
2872    procedure Set_Box_Present
2873       (N : Node_Id; Val : Boolean := True) is
2874    begin
2875       pragma Assert (False
2876         or else NT (N).Nkind = N_Component_Association
2877         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
2878         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
2879         or else NT (N).Nkind = N_Formal_Package_Declaration);
2880       Set_Flag15 (N, Val);
2881    end Set_Box_Present;
2882
2883    procedure Set_By_Ref
2884       (N : Node_Id; Val : Boolean := True) is
2885    begin
2886       pragma Assert (False
2887         or else NT (N).Nkind = N_Return_Statement);
2888       Set_Flag5 (N, Val);
2889    end Set_By_Ref;
2890
2891    procedure Set_Char_Literal_Value
2892       (N : Node_Id; Val : Uint) is
2893    begin
2894       pragma Assert (False
2895         or else NT (N).Nkind = N_Character_Literal);
2896       Set_Uint2 (N, Val);
2897    end Set_Char_Literal_Value;
2898
2899    procedure Set_Chars
2900       (N : Node_Id; Val : Name_Id) is
2901    begin
2902       pragma Assert (False
2903         or else NT (N).Nkind in N_Has_Chars);
2904       Set_Name1 (N, Val);
2905    end Set_Chars;
2906
2907    procedure Set_Check_Address_Alignment
2908       (N : Node_Id; Val : Boolean := True) is
2909    begin
2910       pragma Assert (False
2911           or else NT (N).Nkind = N_Attribute_Definition_Clause);
2912       Set_Flag11 (N, Val);
2913    end Set_Check_Address_Alignment;
2914
2915    procedure Set_Choice_Parameter
2916       (N : Node_Id; Val : Node_Id) is
2917    begin
2918       pragma Assert (False
2919         or else NT (N).Nkind = N_Exception_Handler);
2920       Set_Node2_With_Parent (N, Val);
2921    end Set_Choice_Parameter;
2922
2923    procedure Set_Choices
2924       (N : Node_Id; Val : List_Id) is
2925    begin
2926       pragma Assert (False
2927         or else NT (N).Nkind = N_Component_Association);
2928       Set_List1_With_Parent (N, Val);
2929    end Set_Choices;
2930
2931    procedure Set_Compile_Time_Known_Aggregate
2932       (N : Node_Id; Val : Boolean := True) is
2933    begin
2934       pragma Assert (False
2935         or else NT (N).Nkind = N_Aggregate);
2936       Set_Flag18 (N, Val);
2937    end Set_Compile_Time_Known_Aggregate;
2938
2939    procedure Set_Component_Associations
2940       (N : Node_Id; Val : List_Id) is
2941    begin
2942       pragma Assert (False
2943         or else NT (N).Nkind = N_Aggregate
2944         or else NT (N).Nkind = N_Extension_Aggregate);
2945       Set_List2_With_Parent (N, Val);
2946    end Set_Component_Associations;
2947
2948    procedure Set_Component_Clauses
2949       (N : Node_Id; Val : List_Id) is
2950    begin
2951       pragma Assert (False
2952         or else NT (N).Nkind = N_Record_Representation_Clause);
2953       Set_List3_With_Parent (N, Val);
2954    end Set_Component_Clauses;
2955
2956    procedure Set_Component_Definition
2957       (N : Node_Id; Val : Node_Id) is
2958    begin
2959       pragma Assert (False
2960         or else NT (N).Nkind = N_Component_Declaration
2961         or else NT (N).Nkind = N_Constrained_Array_Definition
2962         or else NT (N).Nkind = N_Unconstrained_Array_Definition);
2963       Set_Node4_With_Parent (N, Val);
2964    end Set_Component_Definition;
2965
2966    procedure Set_Component_Items
2967       (N : Node_Id; Val : List_Id) is
2968    begin
2969       pragma Assert (False
2970         or else NT (N).Nkind = N_Component_List);
2971       Set_List3_With_Parent (N, Val);
2972    end Set_Component_Items;
2973
2974    procedure Set_Component_List
2975       (N : Node_Id; Val : Node_Id) is
2976    begin
2977       pragma Assert (False
2978         or else NT (N).Nkind = N_Record_Definition
2979         or else NT (N).Nkind = N_Variant);
2980       Set_Node1_With_Parent (N, Val);
2981    end Set_Component_List;
2982
2983    procedure Set_Component_Name
2984       (N : Node_Id; Val : Node_Id) is
2985    begin
2986       pragma Assert (False
2987         or else NT (N).Nkind = N_Component_Clause);
2988       Set_Node1_With_Parent (N, Val);
2989    end Set_Component_Name;
2990
2991    procedure Set_Condition
2992       (N : Node_Id; Val : Node_Id) is
2993    begin
2994       pragma Assert (False
2995         or else NT (N).Nkind = N_Accept_Alternative
2996         or else NT (N).Nkind = N_Delay_Alternative
2997         or else NT (N).Nkind = N_Elsif_Part
2998         or else NT (N).Nkind = N_Entry_Body_Formal_Part
2999         or else NT (N).Nkind = N_Exit_Statement
3000         or else NT (N).Nkind = N_If_Statement
3001         or else NT (N).Nkind = N_Iteration_Scheme
3002         or else NT (N).Nkind = N_Raise_Constraint_Error
3003         or else NT (N).Nkind = N_Raise_Program_Error
3004         or else NT (N).Nkind = N_Raise_Storage_Error
3005         or else NT (N).Nkind = N_Terminate_Alternative);
3006       Set_Node1_With_Parent (N, Val);
3007    end Set_Condition;
3008
3009    procedure Set_Condition_Actions
3010       (N : Node_Id; Val : List_Id) is
3011    begin
3012       pragma Assert (False
3013         or else NT (N).Nkind = N_Elsif_Part
3014         or else NT (N).Nkind = N_Iteration_Scheme);
3015       Set_List3 (N, Val); -- semantic field, no parent set
3016    end Set_Condition_Actions;
3017
3018    procedure Set_Config_Pragmas
3019       (N : Node_Id; Val : List_Id) is
3020    begin
3021       pragma Assert (False
3022         or else NT (N).Nkind = N_Compilation_Unit_Aux);
3023       Set_List4_With_Parent (N, Val);
3024    end Set_Config_Pragmas;
3025
3026    procedure Set_Constant_Present
3027       (N : Node_Id; Val : Boolean := True) is
3028    begin
3029       pragma Assert (False
3030         or else NT (N).Nkind = N_Access_Definition
3031         or else NT (N).Nkind = N_Access_To_Object_Definition
3032         or else NT (N).Nkind = N_Object_Declaration);
3033       Set_Flag17 (N, Val);
3034    end Set_Constant_Present;
3035
3036    procedure Set_Constraint
3037       (N : Node_Id; Val : Node_Id) is
3038    begin
3039       pragma Assert (False
3040         or else NT (N).Nkind = N_Subtype_Indication);
3041       Set_Node3_With_Parent (N, Val);
3042    end Set_Constraint;
3043
3044    procedure Set_Constraints
3045       (N : Node_Id; Val : List_Id) is
3046    begin
3047       pragma Assert (False
3048         or else NT (N).Nkind = N_Index_Or_Discriminant_Constraint);
3049       Set_List1_With_Parent (N, Val);
3050    end Set_Constraints;
3051
3052    procedure Set_Context_Installed
3053       (N : Node_Id; Val : Boolean := True) is
3054    begin
3055       pragma Assert (False
3056         or else NT (N).Nkind = N_With_Clause);
3057       Set_Flag13 (N, Val);
3058    end Set_Context_Installed;
3059
3060    procedure Set_Context_Items
3061       (N : Node_Id; Val : List_Id) is
3062    begin
3063       pragma Assert (False
3064         or else NT (N).Nkind = N_Compilation_Unit);
3065       Set_List1_With_Parent (N, Val);
3066    end Set_Context_Items;
3067
3068    procedure Set_Controlling_Argument
3069       (N : Node_Id; Val : Node_Id) is
3070    begin
3071       pragma Assert (False
3072         or else NT (N).Nkind = N_Function_Call
3073         or else NT (N).Nkind = N_Procedure_Call_Statement);
3074       Set_Node1 (N, Val); -- semantic field, no parent set
3075    end Set_Controlling_Argument;
3076
3077    procedure Set_Conversion_OK
3078       (N : Node_Id; Val : Boolean := True) is
3079    begin
3080       pragma Assert (False
3081         or else NT (N).Nkind = N_Type_Conversion);
3082       Set_Flag14 (N, Val);
3083    end Set_Conversion_OK;
3084
3085    procedure Set_Corresponding_Body
3086       (N : Node_Id; Val : Node_Id) is
3087    begin
3088       pragma Assert (False
3089         or else NT (N).Nkind = N_Entry_Declaration
3090         or else NT (N).Nkind = N_Generic_Package_Declaration
3091         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
3092         or else NT (N).Nkind = N_Package_Body_Stub
3093         or else NT (N).Nkind = N_Package_Declaration
3094         or else NT (N).Nkind = N_Protected_Body_Stub
3095         or else NT (N).Nkind = N_Protected_Type_Declaration
3096         or else NT (N).Nkind = N_Subprogram_Body_Stub
3097         or else NT (N).Nkind = N_Subprogram_Declaration
3098         or else NT (N).Nkind = N_Task_Body_Stub
3099         or else NT (N).Nkind = N_Task_Type_Declaration);
3100       Set_Node5 (N, Val); -- semantic field, no parent set
3101    end Set_Corresponding_Body;
3102
3103    procedure Set_Corresponding_Formal_Spec
3104       (N : Node_Id; Val : Node_Id) is
3105    begin
3106       pragma Assert (False
3107         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
3108       Set_Node3 (N, Val); -- semantic field, no parent set
3109    end Set_Corresponding_Formal_Spec;
3110
3111    procedure Set_Corresponding_Generic_Association
3112       (N : Node_Id; Val : Node_Id) is
3113    begin
3114       pragma Assert (False
3115         or else NT (N).Nkind = N_Object_Declaration
3116         or else NT (N).Nkind = N_Object_Renaming_Declaration);
3117       Set_Node5 (N, Val); -- semantic field, no parent set
3118    end Set_Corresponding_Generic_Association;
3119
3120    procedure Set_Corresponding_Integer_Value
3121       (N : Node_Id; Val : Uint) is
3122    begin
3123       pragma Assert (False
3124         or else NT (N).Nkind = N_Real_Literal);
3125       Set_Uint4 (N, Val); -- semantic field, no parent set
3126    end Set_Corresponding_Integer_Value;
3127
3128    procedure Set_Corresponding_Spec
3129       (N : Node_Id; Val : Node_Id) is
3130    begin
3131       pragma Assert (False
3132         or else NT (N).Nkind = N_Package_Body
3133         or else NT (N).Nkind = N_Protected_Body
3134         or else NT (N).Nkind = N_Subprogram_Body
3135         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
3136         or else NT (N).Nkind = N_Task_Body
3137         or else NT (N).Nkind = N_With_Clause);
3138       Set_Node5 (N, Val); -- semantic field, no parent set
3139    end Set_Corresponding_Spec;
3140
3141    procedure Set_Corresponding_Stub
3142       (N : Node_Id; Val : Node_Id) is
3143    begin
3144       pragma Assert (False
3145         or else NT (N).Nkind = N_Subunit);
3146       Set_Node3 (N, Val);
3147    end Set_Corresponding_Stub;
3148
3149    procedure Set_Dcheck_Function
3150       (N : Node_Id; Val : Entity_Id) is
3151    begin
3152       pragma Assert (False
3153         or else NT (N).Nkind = N_Variant);
3154       Set_Node5 (N, Val); -- semantic field, no parent set
3155    end Set_Dcheck_Function;
3156
3157    procedure Set_Debug_Statement
3158       (N : Node_Id; Val : Node_Id) is
3159    begin
3160       pragma Assert (False
3161         or else NT (N).Nkind = N_Pragma);
3162       Set_Node3_With_Parent (N, Val);
3163    end Set_Debug_Statement;
3164
3165    procedure Set_Declarations
3166       (N : Node_Id; Val : List_Id) is
3167    begin
3168       pragma Assert (False
3169         or else NT (N).Nkind = N_Accept_Statement
3170         or else NT (N).Nkind = N_Block_Statement
3171         or else NT (N).Nkind = N_Compilation_Unit_Aux
3172         or else NT (N).Nkind = N_Entry_Body
3173         or else NT (N).Nkind = N_Package_Body
3174         or else NT (N).Nkind = N_Protected_Body
3175         or else NT (N).Nkind = N_Subprogram_Body
3176         or else NT (N).Nkind = N_Task_Body);
3177       Set_List2_With_Parent (N, Val);
3178    end Set_Declarations;
3179
3180    procedure Set_Default_Expression
3181       (N : Node_Id; Val : Node_Id) is
3182    begin
3183       pragma Assert (False
3184         or else NT (N).Nkind = N_Parameter_Specification);
3185       Set_Node5 (N, Val); -- semantic field, no parent set
3186    end Set_Default_Expression;
3187
3188    procedure Set_Default_Name
3189       (N : Node_Id; Val : Node_Id) is
3190    begin
3191       pragma Assert (False
3192         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
3193         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration);
3194       Set_Node2_With_Parent (N, Val);
3195    end Set_Default_Name;
3196
3197    procedure Set_Defining_Identifier
3198       (N : Node_Id; Val : Entity_Id) is
3199    begin
3200       pragma Assert (False
3201         or else NT (N).Nkind = N_Component_Declaration
3202         or else NT (N).Nkind = N_Defining_Program_Unit_Name
3203         or else NT (N).Nkind = N_Discriminant_Specification
3204         or else NT (N).Nkind = N_Entry_Body
3205         or else NT (N).Nkind = N_Entry_Declaration
3206         or else NT (N).Nkind = N_Entry_Index_Specification
3207         or else NT (N).Nkind = N_Exception_Declaration
3208         or else NT (N).Nkind = N_Exception_Renaming_Declaration
3209         or else NT (N).Nkind = N_Formal_Object_Declaration
3210         or else NT (N).Nkind = N_Formal_Package_Declaration
3211         or else NT (N).Nkind = N_Formal_Type_Declaration
3212         or else NT (N).Nkind = N_Full_Type_Declaration
3213         or else NT (N).Nkind = N_Implicit_Label_Declaration
3214         or else NT (N).Nkind = N_Incomplete_Type_Declaration
3215         or else NT (N).Nkind = N_Loop_Parameter_Specification
3216         or else NT (N).Nkind = N_Number_Declaration
3217         or else NT (N).Nkind = N_Object_Declaration
3218         or else NT (N).Nkind = N_Object_Renaming_Declaration
3219         or else NT (N).Nkind = N_Package_Body_Stub
3220         or else NT (N).Nkind = N_Parameter_Specification
3221         or else NT (N).Nkind = N_Private_Extension_Declaration
3222         or else NT (N).Nkind = N_Private_Type_Declaration
3223         or else NT (N).Nkind = N_Protected_Body
3224         or else NT (N).Nkind = N_Protected_Body_Stub
3225         or else NT (N).Nkind = N_Protected_Type_Declaration
3226         or else NT (N).Nkind = N_Single_Protected_Declaration
3227         or else NT (N).Nkind = N_Single_Task_Declaration
3228         or else NT (N).Nkind = N_Subtype_Declaration
3229         or else NT (N).Nkind = N_Task_Body
3230         or else NT (N).Nkind = N_Task_Body_Stub
3231         or else NT (N).Nkind = N_Task_Type_Declaration);
3232       Set_Node1_With_Parent (N, Val);
3233    end Set_Defining_Identifier;
3234
3235    procedure Set_Defining_Unit_Name
3236       (N : Node_Id; Val : Node_Id) is
3237    begin
3238       pragma Assert (False
3239         or else NT (N).Nkind = N_Function_Instantiation
3240         or else NT (N).Nkind = N_Function_Specification
3241         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
3242         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
3243         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
3244         or else NT (N).Nkind = N_Package_Body
3245         or else NT (N).Nkind = N_Package_Instantiation
3246         or else NT (N).Nkind = N_Package_Renaming_Declaration
3247         or else NT (N).Nkind = N_Package_Specification
3248         or else NT (N).Nkind = N_Procedure_Instantiation
3249         or else NT (N).Nkind = N_Procedure_Specification);
3250       Set_Node1_With_Parent (N, Val);
3251    end Set_Defining_Unit_Name;
3252
3253    procedure Set_Delay_Alternative
3254       (N : Node_Id; Val : Node_Id) is
3255    begin
3256       pragma Assert (False
3257         or else NT (N).Nkind = N_Timed_Entry_Call);
3258       Set_Node4_With_Parent (N, Val);
3259    end Set_Delay_Alternative;
3260
3261    procedure Set_Delay_Finalize_Attach
3262       (N : Node_Id; Val : Boolean := True) is
3263    begin
3264       pragma Assert (False
3265         or else NT (N).Nkind = N_Object_Declaration);
3266       Set_Flag14 (N, Val);
3267    end Set_Delay_Finalize_Attach;
3268
3269    procedure Set_Delay_Statement
3270       (N : Node_Id; Val : Node_Id) is
3271    begin
3272       pragma Assert (False
3273         or else NT (N).Nkind = N_Delay_Alternative);
3274       Set_Node2_With_Parent (N, Val);
3275    end Set_Delay_Statement;
3276
3277    procedure Set_Delta_Expression
3278       (N : Node_Id; Val : Node_Id) is
3279    begin
3280       pragma Assert (False
3281         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
3282         or else NT (N).Nkind = N_Delta_Constraint
3283         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
3284       Set_Node3_With_Parent (N, Val);
3285    end Set_Delta_Expression;
3286
3287    procedure Set_Digits_Expression
3288       (N : Node_Id; Val : Node_Id) is
3289    begin
3290       pragma Assert (False
3291         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
3292         or else NT (N).Nkind = N_Digits_Constraint
3293         or else NT (N).Nkind = N_Floating_Point_Definition);
3294       Set_Node2_With_Parent (N, Val);
3295    end Set_Digits_Expression;
3296
3297    procedure Set_Discr_Check_Funcs_Built
3298       (N : Node_Id; Val : Boolean := True) is
3299    begin
3300       pragma Assert (False
3301         or else NT (N).Nkind = N_Full_Type_Declaration);
3302       Set_Flag11 (N, Val);
3303    end Set_Discr_Check_Funcs_Built;
3304
3305    procedure Set_Discrete_Choices
3306       (N : Node_Id; Val : List_Id) is
3307    begin
3308       pragma Assert (False
3309         or else NT (N).Nkind = N_Case_Statement_Alternative
3310         or else NT (N).Nkind = N_Variant);
3311       Set_List4_With_Parent (N, Val);
3312    end Set_Discrete_Choices;
3313
3314    procedure Set_Discrete_Range
3315       (N : Node_Id; Val : Node_Id) is
3316    begin
3317       pragma Assert (False
3318         or else NT (N).Nkind = N_Slice);
3319       Set_Node4_With_Parent (N, Val);
3320    end Set_Discrete_Range;
3321
3322    procedure Set_Discrete_Subtype_Definition
3323       (N : Node_Id; Val : Node_Id) is
3324    begin
3325       pragma Assert (False
3326         or else NT (N).Nkind = N_Entry_Declaration
3327         or else NT (N).Nkind = N_Entry_Index_Specification
3328         or else NT (N).Nkind = N_Loop_Parameter_Specification);
3329       Set_Node4_With_Parent (N, Val);
3330    end Set_Discrete_Subtype_Definition;
3331
3332    procedure Set_Discrete_Subtype_Definitions
3333       (N : Node_Id; Val : List_Id) is
3334    begin
3335       pragma Assert (False
3336         or else NT (N).Nkind = N_Constrained_Array_Definition);
3337       Set_List2_With_Parent (N, Val);
3338    end Set_Discrete_Subtype_Definitions;
3339
3340    procedure Set_Discriminant_Specifications
3341       (N : Node_Id; Val : List_Id) is
3342    begin
3343       pragma Assert (False
3344         or else NT (N).Nkind = N_Formal_Type_Declaration
3345         or else NT (N).Nkind = N_Full_Type_Declaration
3346         or else NT (N).Nkind = N_Incomplete_Type_Declaration
3347         or else NT (N).Nkind = N_Private_Extension_Declaration
3348         or else NT (N).Nkind = N_Private_Type_Declaration
3349         or else NT (N).Nkind = N_Protected_Type_Declaration
3350         or else NT (N).Nkind = N_Task_Type_Declaration);
3351       Set_List4_With_Parent (N, Val);
3352    end Set_Discriminant_Specifications;
3353
3354    procedure Set_Discriminant_Type
3355       (N : Node_Id; Val : Node_Id) is
3356    begin
3357       pragma Assert (False
3358         or else NT (N).Nkind = N_Discriminant_Specification);
3359       Set_Node5_With_Parent (N, Val);
3360    end Set_Discriminant_Type;
3361
3362    procedure Set_Do_Accessibility_Check
3363       (N : Node_Id; Val : Boolean := True) is
3364    begin
3365       pragma Assert (False
3366         or else NT (N).Nkind = N_Parameter_Specification);
3367       Set_Flag13 (N, Val);
3368    end Set_Do_Accessibility_Check;
3369
3370    procedure Set_Do_Discriminant_Check
3371       (N : Node_Id; Val : Boolean := True) is
3372    begin
3373       pragma Assert (False
3374         or else NT (N).Nkind = N_Selected_Component);
3375       Set_Flag13 (N, Val);
3376    end Set_Do_Discriminant_Check;
3377
3378    procedure Set_Do_Division_Check
3379       (N : Node_Id; Val : Boolean := True) is
3380    begin
3381       pragma Assert (False
3382         or else NT (N).Nkind = N_Op_Divide
3383         or else NT (N).Nkind = N_Op_Mod
3384         or else NT (N).Nkind = N_Op_Rem);
3385       Set_Flag13 (N, Val);
3386    end Set_Do_Division_Check;
3387
3388    procedure Set_Do_Length_Check
3389       (N : Node_Id; Val : Boolean := True) is
3390    begin
3391       pragma Assert (False
3392         or else NT (N).Nkind = N_Assignment_Statement
3393         or else NT (N).Nkind = N_Op_And
3394         or else NT (N).Nkind = N_Op_Or
3395         or else NT (N).Nkind = N_Op_Xor
3396         or else NT (N).Nkind = N_Type_Conversion);
3397       Set_Flag4 (N, Val);
3398    end Set_Do_Length_Check;
3399
3400    procedure Set_Do_Overflow_Check
3401       (N : Node_Id; Val : Boolean := True) is
3402    begin
3403       pragma Assert (False
3404         or else NT (N).Nkind in N_Op
3405         or else NT (N).Nkind = N_Attribute_Reference
3406         or else NT (N).Nkind = N_Type_Conversion);
3407       Set_Flag17 (N, Val);
3408    end Set_Do_Overflow_Check;
3409
3410    procedure Set_Do_Range_Check
3411       (N : Node_Id; Val : Boolean := True) is
3412    begin
3413       pragma Assert (False
3414         or else NT (N).Nkind in N_Subexpr);
3415       Set_Flag9 (N, Val);
3416    end Set_Do_Range_Check;
3417
3418    procedure Set_Do_Storage_Check
3419       (N : Node_Id; Val : Boolean := True) is
3420    begin
3421       pragma Assert (False
3422         or else NT (N).Nkind = N_Allocator
3423         or else NT (N).Nkind = N_Subprogram_Body);
3424       Set_Flag17 (N, Val);
3425    end Set_Do_Storage_Check;
3426
3427    procedure Set_Do_Tag_Check
3428       (N : Node_Id; Val : Boolean := True) is
3429    begin
3430       pragma Assert (False
3431         or else NT (N).Nkind = N_Assignment_Statement
3432         or else NT (N).Nkind = N_Function_Call
3433         or else NT (N).Nkind = N_Procedure_Call_Statement
3434         or else NT (N).Nkind = N_Return_Statement
3435         or else NT (N).Nkind = N_Type_Conversion);
3436       Set_Flag13 (N, Val);
3437    end Set_Do_Tag_Check;
3438
3439    procedure Set_Elaborate_All_Present
3440       (N : Node_Id; Val : Boolean := True) is
3441    begin
3442       pragma Assert (False
3443         or else NT (N).Nkind = N_With_Clause);
3444       Set_Flag14 (N, Val);
3445    end Set_Elaborate_All_Present;
3446
3447    procedure Set_Elaborate_Present
3448       (N : Node_Id; Val : Boolean := True) is
3449    begin
3450       pragma Assert (False
3451         or else NT (N).Nkind = N_With_Clause);
3452       Set_Flag4 (N, Val);
3453    end Set_Elaborate_Present;
3454
3455    procedure Set_Elaboration_Boolean
3456       (N : Node_Id; Val : Node_Id) is
3457    begin
3458       pragma Assert (False
3459         or else NT (N).Nkind = N_Function_Specification
3460         or else NT (N).Nkind = N_Procedure_Specification);
3461       Set_Node2 (N, Val);
3462    end Set_Elaboration_Boolean;
3463
3464    procedure Set_Else_Actions
3465       (N : Node_Id; Val : List_Id) is
3466    begin
3467       pragma Assert (False
3468         or else NT (N).Nkind = N_Conditional_Expression);
3469       Set_List3 (N, Val); -- semantic field, no parent set
3470    end Set_Else_Actions;
3471
3472    procedure Set_Else_Statements
3473       (N : Node_Id; Val : List_Id) is
3474    begin
3475       pragma Assert (False
3476         or else NT (N).Nkind = N_Conditional_Entry_Call
3477         or else NT (N).Nkind = N_If_Statement
3478         or else NT (N).Nkind = N_Selective_Accept);
3479       Set_List4_With_Parent (N, Val);
3480    end Set_Else_Statements;
3481
3482    procedure Set_Elsif_Parts
3483       (N : Node_Id; Val : List_Id) is
3484    begin
3485       pragma Assert (False
3486         or else NT (N).Nkind = N_If_Statement);
3487       Set_List3_With_Parent (N, Val);
3488    end Set_Elsif_Parts;
3489
3490    procedure Set_Enclosing_Variant
3491       (N : Node_Id; Val : Node_Id) is
3492    begin
3493       pragma Assert (False
3494         or else NT (N).Nkind = N_Variant);
3495       Set_Node2 (N, Val); -- semantic field, no parent set
3496    end Set_Enclosing_Variant;
3497
3498    procedure Set_End_Label
3499       (N : Node_Id; Val : Node_Id) is
3500    begin
3501       pragma Assert (False
3502         or else NT (N).Nkind = N_Enumeration_Type_Definition
3503         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
3504         or else NT (N).Nkind = N_Loop_Statement
3505         or else NT (N).Nkind = N_Package_Specification
3506         or else NT (N).Nkind = N_Protected_Body
3507         or else NT (N).Nkind = N_Protected_Definition
3508         or else NT (N).Nkind = N_Record_Definition
3509         or else NT (N).Nkind = N_Task_Definition);
3510       Set_Node4_With_Parent (N, Val);
3511    end Set_End_Label;
3512
3513    procedure Set_End_Span
3514       (N : Node_Id; Val : Uint) is
3515    begin
3516       pragma Assert (False
3517         or else NT (N).Nkind = N_Case_Statement
3518         or else NT (N).Nkind = N_If_Statement);
3519       Set_Uint5 (N, Val);
3520    end Set_End_Span;
3521
3522    procedure Set_Entity
3523       (N : Node_Id; Val : Node_Id) is
3524    begin
3525       pragma Assert (False
3526         or else NT (N).Nkind in N_Has_Entity
3527         or else NT (N).Nkind = N_Freeze_Entity);
3528       Set_Node4 (N, Val); -- semantic field, no parent set
3529    end Set_Entity;
3530
3531    procedure Set_Entry_Body_Formal_Part
3532       (N : Node_Id; Val : Node_Id) is
3533    begin
3534       pragma Assert (False
3535         or else NT (N).Nkind = N_Entry_Body);
3536       Set_Node5_With_Parent (N, Val);
3537    end Set_Entry_Body_Formal_Part;
3538
3539    procedure Set_Entry_Call_Alternative
3540       (N : Node_Id; Val : Node_Id) is
3541    begin
3542       pragma Assert (False
3543         or else NT (N).Nkind = N_Conditional_Entry_Call
3544         or else NT (N).Nkind = N_Timed_Entry_Call);
3545       Set_Node1_With_Parent (N, Val);
3546    end Set_Entry_Call_Alternative;
3547
3548    procedure Set_Entry_Call_Statement
3549       (N : Node_Id; Val : Node_Id) is
3550    begin
3551       pragma Assert (False
3552         or else NT (N).Nkind = N_Entry_Call_Alternative);
3553       Set_Node1_With_Parent (N, Val);
3554    end Set_Entry_Call_Statement;
3555
3556    procedure Set_Entry_Direct_Name
3557       (N : Node_Id; Val : Node_Id) is
3558    begin
3559       pragma Assert (False
3560         or else NT (N).Nkind = N_Accept_Statement);
3561       Set_Node1_With_Parent (N, Val);
3562    end Set_Entry_Direct_Name;
3563
3564    procedure Set_Entry_Index
3565       (N : Node_Id; Val : Node_Id) is
3566    begin
3567       pragma Assert (False
3568         or else NT (N).Nkind = N_Accept_Statement);
3569       Set_Node5_With_Parent (N, Val);
3570    end Set_Entry_Index;
3571
3572    procedure Set_Entry_Index_Specification
3573       (N : Node_Id; Val : Node_Id) is
3574    begin
3575       pragma Assert (False
3576         or else NT (N).Nkind = N_Entry_Body_Formal_Part);
3577       Set_Node4_With_Parent (N, Val);
3578    end Set_Entry_Index_Specification;
3579
3580    procedure Set_Etype
3581       (N : Node_Id; Val : Node_Id) is
3582    begin
3583       pragma Assert (False
3584         or else NT (N).Nkind in N_Has_Etype);
3585       Set_Node5 (N, Val); -- semantic field, no parent set
3586    end Set_Etype;
3587
3588    procedure Set_Exception_Choices
3589       (N : Node_Id; Val : List_Id) is
3590    begin
3591       pragma Assert (False
3592         or else NT (N).Nkind = N_Exception_Handler);
3593       Set_List4_With_Parent (N, Val);
3594    end Set_Exception_Choices;
3595
3596    procedure Set_Exception_Handlers
3597       (N : Node_Id; Val : List_Id) is
3598    begin
3599       pragma Assert (False
3600         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3601       Set_List5_With_Parent (N, Val);
3602    end Set_Exception_Handlers;
3603
3604    procedure Set_Exception_Junk
3605      (N : Node_Id; Val : Boolean := True) is
3606    begin
3607       pragma Assert (False
3608         or else NT (N).Nkind = N_Goto_Statement
3609         or else NT (N).Nkind = N_Label
3610         or else NT (N).Nkind = N_Object_Declaration
3611         or else NT (N).Nkind = N_Subtype_Declaration);
3612       Set_Flag7 (N, Val);
3613    end Set_Exception_Junk;
3614
3615    procedure Set_Expansion_Delayed
3616      (N : Node_Id; Val : Boolean := True) is
3617    begin
3618       pragma Assert (False
3619         or else NT (N).Nkind = N_Aggregate
3620         or else NT (N).Nkind = N_Extension_Aggregate);
3621       Set_Flag11 (N, Val);
3622    end Set_Expansion_Delayed;
3623
3624    procedure Set_Explicit_Actual_Parameter
3625       (N : Node_Id; Val : Node_Id) is
3626    begin
3627       pragma Assert (False
3628         or else NT (N).Nkind = N_Parameter_Association);
3629       Set_Node3_With_Parent (N, Val);
3630    end Set_Explicit_Actual_Parameter;
3631
3632    procedure Set_Explicit_Generic_Actual_Parameter
3633       (N : Node_Id; Val : Node_Id) is
3634    begin
3635       pragma Assert (False
3636         or else NT (N).Nkind = N_Generic_Association);
3637       Set_Node1_With_Parent (N, Val);
3638    end Set_Explicit_Generic_Actual_Parameter;
3639
3640    procedure Set_Expression
3641       (N : Node_Id; Val : Node_Id) is
3642    begin
3643       pragma Assert (False
3644         or else NT (N).Nkind = N_Allocator
3645         or else NT (N).Nkind = N_Assignment_Statement
3646         or else NT (N).Nkind = N_At_Clause
3647         or else NT (N).Nkind = N_Attribute_Definition_Clause
3648         or else NT (N).Nkind = N_Case_Statement
3649         or else NT (N).Nkind = N_Code_Statement
3650         or else NT (N).Nkind = N_Component_Association
3651         or else NT (N).Nkind = N_Component_Declaration
3652         or else NT (N).Nkind = N_Delay_Relative_Statement
3653         or else NT (N).Nkind = N_Delay_Until_Statement
3654         or else NT (N).Nkind = N_Discriminant_Association
3655         or else NT (N).Nkind = N_Discriminant_Specification
3656         or else NT (N).Nkind = N_Exception_Declaration
3657         or else NT (N).Nkind = N_Formal_Object_Declaration
3658         or else NT (N).Nkind = N_Free_Statement
3659         or else NT (N).Nkind = N_Mod_Clause
3660         or else NT (N).Nkind = N_Modular_Type_Definition
3661         or else NT (N).Nkind = N_Number_Declaration
3662         or else NT (N).Nkind = N_Object_Declaration
3663         or else NT (N).Nkind = N_Parameter_Specification
3664         or else NT (N).Nkind = N_Pragma_Argument_Association
3665         or else NT (N).Nkind = N_Qualified_Expression
3666         or else NT (N).Nkind = N_Raise_Statement
3667         or else NT (N).Nkind = N_Return_Statement
3668         or else NT (N).Nkind = N_Type_Conversion
3669         or else NT (N).Nkind = N_Unchecked_Expression
3670         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
3671       Set_Node3_With_Parent (N, Val);
3672    end Set_Expression;
3673
3674    procedure Set_Expressions
3675       (N : Node_Id; Val : List_Id) is
3676    begin
3677       pragma Assert (False
3678         or else NT (N).Nkind = N_Aggregate
3679         or else NT (N).Nkind = N_Attribute_Reference
3680         or else NT (N).Nkind = N_Conditional_Expression
3681         or else NT (N).Nkind = N_Extension_Aggregate
3682         or else NT (N).Nkind = N_Indexed_Component);
3683       Set_List1_With_Parent (N, Val);
3684    end Set_Expressions;
3685
3686    procedure Set_First_Bit
3687       (N : Node_Id; Val : Node_Id) is
3688    begin
3689       pragma Assert (False
3690         or else NT (N).Nkind = N_Component_Clause);
3691       Set_Node3_With_Parent (N, Val);
3692    end Set_First_Bit;
3693
3694    procedure Set_First_Inlined_Subprogram
3695       (N : Node_Id; Val : Entity_Id) is
3696    begin
3697       pragma Assert (False
3698         or else NT (N).Nkind = N_Compilation_Unit);
3699       Set_Node3 (N, Val);  -- semantic field, no parent set
3700    end Set_First_Inlined_Subprogram;
3701
3702    procedure Set_First_Name
3703       (N : Node_Id; Val : Boolean := True) is
3704    begin
3705       pragma Assert (False
3706         or else NT (N).Nkind = N_With_Clause);
3707       Set_Flag5 (N, Val);
3708    end Set_First_Name;
3709
3710    procedure Set_First_Named_Actual
3711       (N : Node_Id; Val : Node_Id) is
3712    begin
3713       pragma Assert (False
3714         or else NT (N).Nkind = N_Entry_Call_Statement
3715         or else NT (N).Nkind = N_Function_Call
3716         or else NT (N).Nkind = N_Procedure_Call_Statement);
3717       Set_Node4 (N, Val); -- semantic field, no parent set
3718    end Set_First_Named_Actual;
3719
3720    procedure Set_First_Real_Statement
3721       (N : Node_Id; Val : Node_Id) is
3722    begin
3723       pragma Assert (False
3724         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
3725       Set_Node2 (N, Val); -- semantic field, no parent set
3726    end Set_First_Real_Statement;
3727
3728    procedure Set_First_Subtype_Link
3729       (N : Node_Id; Val : Entity_Id) is
3730    begin
3731       pragma Assert (False
3732         or else NT (N).Nkind = N_Freeze_Entity);
3733       Set_Node5 (N, Val); -- semantic field, no parent set
3734    end Set_First_Subtype_Link;
3735
3736    procedure Set_Float_Truncate
3737       (N : Node_Id; Val : Boolean := True) is
3738    begin
3739       pragma Assert (False
3740         or else NT (N).Nkind = N_Type_Conversion);
3741       Set_Flag11 (N, Val);
3742    end Set_Float_Truncate;
3743
3744    procedure Set_Formal_Type_Definition
3745       (N : Node_Id; Val : Node_Id) is
3746    begin
3747       pragma Assert (False
3748         or else NT (N).Nkind = N_Formal_Type_Declaration);
3749       Set_Node3_With_Parent (N, Val);
3750    end Set_Formal_Type_Definition;
3751
3752    procedure Set_Forwards_OK
3753       (N : Node_Id; Val : Boolean := True) is
3754    begin
3755       pragma Assert (False
3756         or else NT (N).Nkind = N_Assignment_Statement);
3757       Set_Flag5 (N, Val);
3758    end Set_Forwards_OK;
3759
3760    procedure Set_From_At_Mod
3761       (N : Node_Id; Val : Boolean := True) is
3762    begin
3763       pragma Assert (False
3764         or else NT (N).Nkind = N_Attribute_Definition_Clause);
3765       Set_Flag4 (N, Val);
3766    end Set_From_At_Mod;
3767
3768    procedure Set_From_Default
3769       (N : Node_Id; Val : Boolean := True) is
3770    begin
3771       pragma Assert (False
3772         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
3773       Set_Flag6 (N, Val);
3774    end Set_From_Default;
3775
3776    procedure Set_Generic_Associations
3777       (N : Node_Id; Val : List_Id) is
3778    begin
3779       pragma Assert (False
3780         or else NT (N).Nkind = N_Formal_Package_Declaration
3781         or else NT (N).Nkind = N_Function_Instantiation
3782         or else NT (N).Nkind = N_Package_Instantiation
3783         or else NT (N).Nkind = N_Procedure_Instantiation);
3784       Set_List3_With_Parent (N, Val);
3785    end Set_Generic_Associations;
3786
3787    procedure Set_Generic_Formal_Declarations
3788       (N : Node_Id; Val : List_Id) is
3789    begin
3790       pragma Assert (False
3791         or else NT (N).Nkind = N_Generic_Package_Declaration
3792         or else NT (N).Nkind = N_Generic_Subprogram_Declaration);
3793       Set_List2_With_Parent (N, Val);
3794    end Set_Generic_Formal_Declarations;
3795
3796    procedure Set_Generic_Parent
3797       (N : Node_Id; Val : Node_Id) is
3798    begin
3799       pragma Assert (False
3800         or else NT (N).Nkind = N_Function_Specification
3801         or else NT (N).Nkind = N_Package_Specification
3802         or else NT (N).Nkind = N_Procedure_Specification);
3803       Set_Node5 (N, Val);
3804    end Set_Generic_Parent;
3805
3806    procedure Set_Generic_Parent_Type
3807       (N : Node_Id; Val : Node_Id) is
3808    begin
3809       pragma Assert (False
3810         or else NT (N).Nkind = N_Subtype_Declaration);
3811       Set_Node4 (N, Val);
3812    end Set_Generic_Parent_Type;
3813
3814    procedure Set_Handled_Statement_Sequence
3815       (N : Node_Id; Val : Node_Id) is
3816    begin
3817       pragma Assert (False
3818         or else NT (N).Nkind = N_Accept_Statement
3819         or else NT (N).Nkind = N_Block_Statement
3820         or else NT (N).Nkind = N_Entry_Body
3821         or else NT (N).Nkind = N_Package_Body
3822         or else NT (N).Nkind = N_Subprogram_Body
3823         or else NT (N).Nkind = N_Task_Body);
3824       Set_Node4_With_Parent (N, Val);
3825    end Set_Handled_Statement_Sequence;
3826
3827    procedure Set_Handler_List_Entry
3828       (N : Node_Id; Val : Node_Id) is
3829    begin
3830       pragma Assert (False
3831         or else NT (N).Nkind = N_Object_Declaration);
3832       Set_Node2 (N, Val);
3833    end Set_Handler_List_Entry;
3834
3835    procedure Set_Has_Created_Identifier
3836       (N : Node_Id; Val : Boolean := True) is
3837    begin
3838       pragma Assert (False
3839         or else NT (N).Nkind = N_Block_Statement
3840         or else NT (N).Nkind = N_Loop_Statement);
3841       Set_Flag15 (N, Val);
3842    end Set_Has_Created_Identifier;
3843
3844    procedure Set_Has_Dynamic_Length_Check
3845       (N : Node_Id; Val : Boolean := True) is
3846    begin
3847       Set_Flag10 (N, Val);
3848    end Set_Has_Dynamic_Length_Check;
3849
3850    procedure Set_Has_Dynamic_Range_Check
3851       (N : Node_Id; Val : Boolean := True) is
3852    begin
3853       Set_Flag12 (N, Val);
3854    end Set_Has_Dynamic_Range_Check;
3855
3856    procedure Set_Has_No_Elaboration_Code
3857       (N : Node_Id; Val : Boolean := True) is
3858    begin
3859       pragma Assert (False
3860         or else NT (N).Nkind = N_Compilation_Unit);
3861       Set_Flag17 (N, Val);
3862    end Set_Has_No_Elaboration_Code;
3863
3864    procedure Set_Has_Priority_Pragma
3865       (N : Node_Id; Val : Boolean := True) is
3866    begin
3867       pragma Assert (False
3868         or else NT (N).Nkind = N_Protected_Definition
3869         or else NT (N).Nkind = N_Subprogram_Body
3870         or else NT (N).Nkind = N_Task_Definition);
3871       Set_Flag6 (N, Val);
3872    end Set_Has_Priority_Pragma;
3873
3874    procedure Set_Has_Private_View
3875       (N : Node_Id; Val : Boolean := True) is
3876    begin
3877       pragma Assert (False
3878        or else NT (N).Nkind in N_Op
3879        or else NT (N).Nkind = N_Character_Literal
3880        or else NT (N).Nkind = N_Expanded_Name
3881        or else NT (N).Nkind = N_Identifier
3882        or else NT (N).Nkind = N_Operator_Symbol);
3883       Set_Flag11 (N, Val);
3884    end Set_Has_Private_View;
3885
3886    procedure Set_Has_Storage_Size_Pragma
3887       (N : Node_Id; Val : Boolean := True) is
3888    begin
3889       pragma Assert (False
3890         or else NT (N).Nkind = N_Task_Definition);
3891       Set_Flag5 (N, Val);
3892    end Set_Has_Storage_Size_Pragma;
3893
3894    procedure Set_Has_Task_Info_Pragma
3895       (N : Node_Id; Val : Boolean := True) is
3896    begin
3897       pragma Assert (False
3898         or else NT (N).Nkind = N_Task_Definition);
3899       Set_Flag7 (N, Val);
3900    end Set_Has_Task_Info_Pragma;
3901
3902    procedure Set_Has_Task_Name_Pragma
3903       (N : Node_Id; Val : Boolean := True) is
3904    begin
3905       pragma Assert (False
3906         or else NT (N).Nkind = N_Task_Definition);
3907       Set_Flag8 (N, Val);
3908    end Set_Has_Task_Name_Pragma;
3909
3910    procedure Set_Has_Wide_Character
3911       (N : Node_Id; Val : Boolean := True) is
3912    begin
3913       pragma Assert (False
3914         or else NT (N).Nkind = N_String_Literal);
3915       Set_Flag11 (N, Val);
3916    end Set_Has_Wide_Character;
3917
3918    procedure Set_Hidden_By_Use_Clause
3919      (N : Node_Id; Val : Elist_Id) is
3920    begin
3921       pragma Assert (False
3922         or else NT (N).Nkind = N_Use_Package_Clause
3923         or else NT (N).Nkind = N_Use_Type_Clause);
3924       Set_Elist4 (N, Val);
3925    end Set_Hidden_By_Use_Clause;
3926
3927    procedure Set_High_Bound
3928       (N : Node_Id; Val : Node_Id) is
3929    begin
3930       pragma Assert (False
3931         or else NT (N).Nkind = N_Range
3932         or else NT (N).Nkind = N_Real_Range_Specification
3933         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
3934       Set_Node2_With_Parent (N, Val);
3935    end Set_High_Bound;
3936
3937    procedure Set_Identifier
3938       (N : Node_Id; Val : Node_Id) is
3939    begin
3940       pragma Assert (False
3941         or else NT (N).Nkind = N_At_Clause
3942         or else NT (N).Nkind = N_Block_Statement
3943         or else NT (N).Nkind = N_Designator
3944         or else NT (N).Nkind = N_Enumeration_Representation_Clause
3945         or else NT (N).Nkind = N_Label
3946         or else NT (N).Nkind = N_Loop_Statement
3947         or else NT (N).Nkind = N_Record_Representation_Clause
3948         or else NT (N).Nkind = N_Subprogram_Info);
3949       Set_Node1_With_Parent (N, Val);
3950    end Set_Identifier;
3951
3952    procedure Set_Implicit_With
3953       (N : Node_Id; Val : Boolean := True) is
3954    begin
3955       pragma Assert (False
3956         or else NT (N).Nkind = N_With_Clause);
3957       Set_Flag16 (N, Val);
3958    end Set_Implicit_With;
3959
3960    procedure Set_Interface_List
3961       (N : Node_Id; Val : List_Id) is
3962    begin
3963       pragma Assert (False
3964         or else NT (N).Nkind = N_Derived_Type_Definition
3965         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
3966         or else NT (N).Nkind = N_Private_Extension_Declaration
3967         or else NT (N).Nkind = N_Protected_Type_Declaration
3968         or else NT (N).Nkind = N_Record_Definition
3969         or else NT (N).Nkind = N_Single_Protected_Declaration
3970         or else NT (N).Nkind = N_Single_Task_Declaration
3971         or else NT (N).Nkind = N_Task_Type_Declaration);
3972       Set_List2_With_Parent (N, Val);
3973    end Set_Interface_List;
3974
3975    procedure Set_Interface_Present
3976       (N : Node_Id; Val : Boolean := True) is
3977    begin
3978       pragma Assert (False
3979         or else NT (N).Nkind = N_Derived_Type_Definition
3980         or else NT (N).Nkind = N_Record_Definition);
3981       Set_Flag16 (N, Val);
3982    end Set_Interface_Present;
3983
3984    procedure Set_In_Present
3985       (N : Node_Id; Val : Boolean := True) is
3986    begin
3987       pragma Assert (False
3988         or else NT (N).Nkind = N_Formal_Object_Declaration
3989         or else NT (N).Nkind = N_Parameter_Specification);
3990       Set_Flag15 (N, Val);
3991    end Set_In_Present;
3992
3993    procedure Set_Includes_Infinities
3994       (N : Node_Id; Val : Boolean := True) is
3995    begin
3996       pragma Assert (False
3997         or else NT (N).Nkind = N_Range);
3998       Set_Flag11 (N, Val);
3999    end Set_Includes_Infinities;
4000
4001    procedure Set_Instance_Spec
4002       (N : Node_Id; Val : Node_Id) is
4003    begin
4004       pragma Assert (False
4005         or else NT (N).Nkind = N_Formal_Package_Declaration
4006         or else NT (N).Nkind = N_Function_Instantiation
4007         or else NT (N).Nkind = N_Package_Instantiation
4008         or else NT (N).Nkind = N_Procedure_Instantiation);
4009       Set_Node5 (N, Val); -- semantic field, no Parent set
4010    end Set_Instance_Spec;
4011
4012    procedure Set_Intval
4013       (N : Node_Id; Val : Uint) is
4014    begin
4015       pragma Assert (False
4016         or else NT (N).Nkind = N_Integer_Literal);
4017       Set_Uint3 (N, Val);
4018    end Set_Intval;
4019
4020    procedure Set_Is_Asynchronous_Call_Block
4021       (N : Node_Id; Val : Boolean := True) is
4022    begin
4023       pragma Assert (False
4024         or else NT (N).Nkind = N_Block_Statement);
4025       Set_Flag7 (N, Val);
4026    end Set_Is_Asynchronous_Call_Block;
4027
4028    procedure Set_Is_Component_Left_Opnd
4029       (N : Node_Id; Val : Boolean := True) is
4030    begin
4031       pragma Assert (False
4032         or else NT (N).Nkind = N_Op_Concat);
4033       Set_Flag13 (N, Val);
4034    end Set_Is_Component_Left_Opnd;
4035
4036    procedure Set_Is_Component_Right_Opnd
4037       (N : Node_Id; Val : Boolean := True) is
4038    begin
4039       pragma Assert (False
4040         or else NT (N).Nkind = N_Op_Concat);
4041       Set_Flag14 (N, Val);
4042    end Set_Is_Component_Right_Opnd;
4043
4044    procedure Set_Is_Controlling_Actual
4045       (N : Node_Id; Val : Boolean := True) is
4046    begin
4047       pragma Assert (False
4048         or else NT (N).Nkind in N_Subexpr);
4049       Set_Flag16 (N, Val);
4050    end Set_Is_Controlling_Actual;
4051
4052    procedure Set_Is_In_Discriminant_Check
4053       (N : Node_Id; Val : Boolean := True) is
4054    begin
4055       pragma Assert (False
4056         or else NT (N).Nkind = N_Selected_Component);
4057       Set_Flag11 (N, Val);
4058    end Set_Is_In_Discriminant_Check;
4059
4060    procedure Set_Is_Machine_Number
4061       (N : Node_Id; Val : Boolean := True) is
4062    begin
4063       pragma Assert (False
4064         or else NT (N).Nkind = N_Real_Literal);
4065       Set_Flag11 (N, Val);
4066    end Set_Is_Machine_Number;
4067
4068    procedure Set_Is_Null_Loop
4069       (N : Node_Id; Val : Boolean := True) is
4070    begin
4071       pragma Assert (False
4072         or else NT (N).Nkind = N_Loop_Statement);
4073       Set_Flag16 (N, Val);
4074    end Set_Is_Null_Loop;
4075
4076    procedure Set_Is_Overloaded
4077       (N : Node_Id; Val : Boolean := True) is
4078    begin
4079       pragma Assert (False
4080         or else NT (N).Nkind in N_Subexpr);
4081       Set_Flag5 (N, Val);
4082    end Set_Is_Overloaded;
4083
4084    procedure Set_Is_Power_Of_2_For_Shift
4085       (N : Node_Id; Val : Boolean := True) is
4086    begin
4087       pragma Assert (False
4088         or else NT (N).Nkind = N_Op_Expon);
4089       Set_Flag13 (N, Val);
4090    end Set_Is_Power_Of_2_For_Shift;
4091
4092    procedure Set_Is_Protected_Subprogram_Body
4093       (N : Node_Id; Val : Boolean := True) is
4094    begin
4095       pragma Assert (False
4096         or else NT (N).Nkind = N_Subprogram_Body);
4097       Set_Flag7 (N, Val);
4098    end Set_Is_Protected_Subprogram_Body;
4099
4100    procedure Set_Is_Static_Expression
4101       (N : Node_Id; Val : Boolean := True) is
4102    begin
4103       pragma Assert (False
4104         or else NT (N).Nkind in N_Subexpr);
4105       Set_Flag6 (N, Val);
4106    end Set_Is_Static_Expression;
4107
4108    procedure Set_Is_Subprogram_Descriptor
4109       (N : Node_Id; Val : Boolean := True) is
4110    begin
4111       pragma Assert (False
4112         or else NT (N).Nkind = N_Object_Declaration);
4113       Set_Flag16 (N, Val);
4114    end Set_Is_Subprogram_Descriptor;
4115
4116    procedure Set_Is_Task_Allocation_Block
4117       (N : Node_Id; Val : Boolean := True) is
4118    begin
4119       pragma Assert (False
4120         or else NT (N).Nkind = N_Block_Statement);
4121       Set_Flag6 (N, Val);
4122    end Set_Is_Task_Allocation_Block;
4123
4124    procedure Set_Is_Task_Master
4125       (N : Node_Id; Val : Boolean := True) is
4126    begin
4127       pragma Assert (False
4128         or else NT (N).Nkind = N_Block_Statement
4129         or else NT (N).Nkind = N_Subprogram_Body
4130         or else NT (N).Nkind = N_Task_Body);
4131       Set_Flag5 (N, Val);
4132    end Set_Is_Task_Master;
4133
4134    procedure Set_Iteration_Scheme
4135       (N : Node_Id; Val : Node_Id) is
4136    begin
4137       pragma Assert (False
4138         or else NT (N).Nkind = N_Loop_Statement);
4139       Set_Node2_With_Parent (N, Val);
4140    end Set_Iteration_Scheme;
4141
4142    procedure Set_Itype
4143       (N : Node_Id; Val : Entity_Id) is
4144    begin
4145       pragma Assert (False
4146       or else NT (N).Nkind = N_Itype_Reference);
4147       Set_Node1 (N, Val); -- no parent, semantic field
4148    end Set_Itype;
4149
4150    procedure Set_Kill_Range_Check
4151       (N : Node_Id; Val : Boolean := True) is
4152    begin
4153       pragma Assert (False
4154         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4155       Set_Flag11 (N, Val);
4156    end Set_Kill_Range_Check;
4157
4158    procedure Set_Label_Construct
4159       (N : Node_Id; Val : Node_Id) is
4160    begin
4161       pragma Assert (False
4162         or else NT (N).Nkind = N_Implicit_Label_Declaration);
4163       Set_Node2 (N, Val); -- semantic field, no parent set
4164    end Set_Label_Construct;
4165
4166    procedure Set_Last_Bit
4167       (N : Node_Id; Val : Node_Id) is
4168    begin
4169       pragma Assert (False
4170         or else NT (N).Nkind = N_Component_Clause);
4171       Set_Node4_With_Parent (N, Val);
4172    end Set_Last_Bit;
4173
4174    procedure Set_Last_Name
4175       (N : Node_Id; Val : Boolean := True) is
4176    begin
4177       pragma Assert (False
4178         or else NT (N).Nkind = N_With_Clause);
4179       Set_Flag6 (N, Val);
4180    end Set_Last_Name;
4181
4182    procedure Set_Left_Opnd
4183       (N : Node_Id; Val : Node_Id) is
4184    begin
4185       pragma Assert (False
4186         or else NT (N).Nkind = N_And_Then
4187         or else NT (N).Nkind = N_In
4188         or else NT (N).Nkind = N_Not_In
4189         or else NT (N).Nkind = N_Or_Else
4190         or else NT (N).Nkind in N_Binary_Op);
4191       Set_Node2_With_Parent (N, Val);
4192    end Set_Left_Opnd;
4193
4194    procedure Set_Library_Unit
4195       (N : Node_Id; Val : Node_Id) is
4196    begin
4197       pragma Assert (False
4198         or else NT (N).Nkind = N_Compilation_Unit
4199         or else NT (N).Nkind = N_Package_Body_Stub
4200         or else NT (N).Nkind = N_Protected_Body_Stub
4201         or else NT (N).Nkind = N_Subprogram_Body_Stub
4202         or else NT (N).Nkind = N_Task_Body_Stub
4203         or else NT (N).Nkind = N_With_Clause);
4204       Set_Node4 (N, Val); -- semantic field, no parent set
4205    end Set_Library_Unit;
4206
4207    procedure Set_Limited_View_Installed
4208       (N : Node_Id; Val : Boolean := True) is
4209    begin
4210       pragma Assert (False
4211         or else NT (N).Nkind = N_Package_Specification
4212         or else NT (N).Nkind = N_With_Clause);
4213       Set_Flag18 (N, Val);
4214    end Set_Limited_View_Installed;
4215
4216    procedure Set_Limited_Present
4217       (N : Node_Id; Val : Boolean := True) is
4218    begin
4219       pragma Assert (False
4220         or else NT (N).Nkind = N_Derived_Type_Definition
4221         or else NT (N).Nkind = N_Formal_Private_Type_Definition
4222         or else NT (N).Nkind = N_Private_Type_Declaration
4223         or else NT (N).Nkind = N_Record_Definition
4224         or else NT (N).Nkind = N_With_Clause);
4225       Set_Flag17 (N, Val);
4226    end Set_Limited_Present;
4227
4228    procedure Set_Literals
4229       (N : Node_Id; Val : List_Id) is
4230    begin
4231       pragma Assert (False
4232         or else NT (N).Nkind = N_Enumeration_Type_Definition);
4233       Set_List1_With_Parent (N, Val);
4234    end Set_Literals;
4235
4236    procedure Set_Loop_Actions
4237       (N : Node_Id; Val : List_Id) is
4238    begin
4239       pragma Assert (False
4240         or else NT (N).Nkind = N_Component_Association);
4241       Set_List2 (N, Val); -- semantic field, no parent set
4242    end Set_Loop_Actions;
4243
4244    procedure Set_Loop_Parameter_Specification
4245       (N : Node_Id; Val : Node_Id) is
4246    begin
4247       pragma Assert (False
4248         or else NT (N).Nkind = N_Iteration_Scheme);
4249       Set_Node4_With_Parent (N, Val);
4250    end Set_Loop_Parameter_Specification;
4251
4252    procedure Set_Low_Bound
4253       (N : Node_Id; Val : Node_Id) is
4254    begin
4255       pragma Assert (False
4256         or else NT (N).Nkind = N_Range
4257         or else NT (N).Nkind = N_Real_Range_Specification
4258         or else NT (N).Nkind = N_Signed_Integer_Type_Definition);
4259       Set_Node1_With_Parent (N, Val);
4260    end Set_Low_Bound;
4261
4262    procedure Set_Mod_Clause
4263       (N : Node_Id; Val : Node_Id) is
4264    begin
4265       pragma Assert (False
4266         or else NT (N).Nkind = N_Record_Representation_Clause);
4267       Set_Node2_With_Parent (N, Val);
4268    end Set_Mod_Clause;
4269
4270    procedure Set_More_Ids
4271       (N : Node_Id; Val : Boolean := True) is
4272    begin
4273       pragma Assert (False
4274         or else NT (N).Nkind = N_Component_Declaration
4275         or else NT (N).Nkind = N_Discriminant_Specification
4276         or else NT (N).Nkind = N_Exception_Declaration
4277         or else NT (N).Nkind = N_Formal_Object_Declaration
4278         or else NT (N).Nkind = N_Number_Declaration
4279         or else NT (N).Nkind = N_Object_Declaration
4280         or else NT (N).Nkind = N_Parameter_Specification);
4281       Set_Flag5 (N, Val);
4282    end Set_More_Ids;
4283
4284    procedure Set_Must_Be_Byte_Aligned
4285       (N : Node_Id; Val : Boolean := True) is
4286    begin
4287       pragma Assert (False
4288         or else NT (N).Nkind = N_Attribute_Reference);
4289       Set_Flag14 (N, Val);
4290    end Set_Must_Be_Byte_Aligned;
4291
4292    procedure Set_Must_Not_Freeze
4293       (N : Node_Id; Val : Boolean := True) is
4294    begin
4295       pragma Assert (False
4296         or else NT (N).Nkind = N_Subtype_Indication
4297         or else NT (N).Nkind in N_Subexpr);
4298       Set_Flag8 (N, Val);
4299    end Set_Must_Not_Freeze;
4300
4301    procedure Set_Must_Not_Override
4302       (N : Node_Id; Val : Boolean := True) is
4303    begin
4304       pragma Assert (False
4305         or else NT (N).Nkind = N_Entry_Declaration
4306         or else NT (N).Nkind = N_Function_Instantiation
4307         or else NT (N).Nkind = N_Function_Specification
4308         or else NT (N).Nkind = N_Procedure_Instantiation
4309         or else NT (N).Nkind = N_Procedure_Specification);
4310       Set_Flag15 (N, Val);
4311    end Set_Must_Not_Override;
4312
4313    procedure Set_Must_Override
4314       (N : Node_Id; Val : Boolean := True) is
4315    begin
4316       pragma Assert (False
4317         or else NT (N).Nkind = N_Entry_Declaration
4318         or else NT (N).Nkind = N_Function_Instantiation
4319         or else NT (N).Nkind = N_Function_Specification
4320         or else NT (N).Nkind = N_Procedure_Instantiation
4321         or else NT (N).Nkind = N_Procedure_Specification);
4322       Set_Flag14 (N, Val);
4323    end Set_Must_Override;
4324
4325    procedure Set_Name
4326       (N : Node_Id; Val : Node_Id) is
4327    begin
4328       pragma Assert (False
4329         or else NT (N).Nkind = N_Assignment_Statement
4330         or else NT (N).Nkind = N_Attribute_Definition_Clause
4331         or else NT (N).Nkind = N_Defining_Program_Unit_Name
4332         or else NT (N).Nkind = N_Designator
4333         or else NT (N).Nkind = N_Entry_Call_Statement
4334         or else NT (N).Nkind = N_Exception_Renaming_Declaration
4335         or else NT (N).Nkind = N_Exit_Statement
4336         or else NT (N).Nkind = N_Formal_Package_Declaration
4337         or else NT (N).Nkind = N_Function_Call
4338         or else NT (N).Nkind = N_Function_Instantiation
4339         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4340         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4341         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4342         or else NT (N).Nkind = N_Goto_Statement
4343         or else NT (N).Nkind = N_Object_Renaming_Declaration
4344         or else NT (N).Nkind = N_Package_Instantiation
4345         or else NT (N).Nkind = N_Package_Renaming_Declaration
4346         or else NT (N).Nkind = N_Procedure_Call_Statement
4347         or else NT (N).Nkind = N_Procedure_Instantiation
4348         or else NT (N).Nkind = N_Raise_Statement
4349         or else NT (N).Nkind = N_Requeue_Statement
4350         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration
4351         or else NT (N).Nkind = N_Subunit
4352         or else NT (N).Nkind = N_Variant_Part
4353         or else NT (N).Nkind = N_With_Clause
4354         or else NT (N).Nkind = N_With_Type_Clause);
4355       Set_Node2_With_Parent (N, Val);
4356    end Set_Name;
4357
4358    procedure Set_Names
4359       (N : Node_Id; Val : List_Id) is
4360    begin
4361       pragma Assert (False
4362         or else NT (N).Nkind = N_Abort_Statement
4363         or else NT (N).Nkind = N_Use_Package_Clause);
4364       Set_List2_With_Parent (N, Val);
4365    end Set_Names;
4366
4367    procedure Set_Next_Entity
4368       (N : Node_Id; Val : Node_Id) is
4369    begin
4370       pragma Assert (False
4371         or else NT (N).Nkind = N_Defining_Character_Literal
4372         or else NT (N).Nkind = N_Defining_Identifier
4373         or else NT (N).Nkind = N_Defining_Operator_Symbol);
4374       Set_Node2 (N, Val); -- semantic field, no parent set
4375    end Set_Next_Entity;
4376
4377    procedure Set_Next_Named_Actual
4378       (N : Node_Id; Val : Node_Id) is
4379    begin
4380       pragma Assert (False
4381         or else NT (N).Nkind = N_Parameter_Association);
4382       Set_Node4 (N, Val); -- semantic field, no parent set
4383    end Set_Next_Named_Actual;
4384
4385    procedure Set_Next_Rep_Item
4386       (N : Node_Id; Val : Node_Id) is
4387    begin
4388       pragma Assert (False
4389         or else NT (N).Nkind = N_Attribute_Definition_Clause
4390         or else NT (N).Nkind = N_Enumeration_Representation_Clause
4391         or else NT (N).Nkind = N_Pragma
4392         or else NT (N).Nkind = N_Record_Representation_Clause);
4393       Set_Node4 (N, Val); -- semantic field, no parent set
4394    end Set_Next_Rep_Item;
4395
4396    procedure Set_Next_Use_Clause
4397       (N : Node_Id; Val : Node_Id) is
4398    begin
4399       pragma Assert (False
4400         or else NT (N).Nkind = N_Use_Package_Clause
4401         or else NT (N).Nkind = N_Use_Type_Clause);
4402       Set_Node3 (N, Val); -- semantic field, no parent set
4403    end Set_Next_Use_Clause;
4404
4405    procedure Set_No_Ctrl_Actions
4406       (N : Node_Id; Val : Boolean := True) is
4407    begin
4408       pragma Assert (False
4409         or else NT (N).Nkind = N_Assignment_Statement);
4410       Set_Flag7 (N, Val);
4411    end Set_No_Ctrl_Actions;
4412
4413    procedure Set_No_Elaboration_Check
4414       (N : Node_Id; Val : Boolean := True) is
4415    begin
4416       pragma Assert (False
4417         or else NT (N).Nkind = N_Function_Call
4418         or else NT (N).Nkind = N_Procedure_Call_Statement);
4419       Set_Flag14 (N, Val);
4420    end Set_No_Elaboration_Check;
4421
4422    procedure Set_No_Entities_Ref_In_Spec
4423       (N : Node_Id; Val : Boolean := True) is
4424    begin
4425       pragma Assert (False
4426         or else NT (N).Nkind = N_With_Clause);
4427       Set_Flag8 (N, Val);
4428    end Set_No_Entities_Ref_In_Spec;
4429
4430    procedure Set_No_Initialization
4431       (N : Node_Id; Val : Boolean := True) is
4432    begin
4433       pragma Assert (False
4434         or else NT (N).Nkind = N_Allocator
4435         or else NT (N).Nkind = N_Object_Declaration);
4436       Set_Flag13 (N, Val);
4437    end Set_No_Initialization;
4438
4439    procedure Set_No_Truncation
4440       (N : Node_Id; Val : Boolean := True) is
4441    begin
4442       pragma Assert (False
4443         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4444       Set_Flag17 (N, Val);
4445    end Set_No_Truncation;
4446
4447    procedure Set_Null_Present
4448       (N : Node_Id; Val : Boolean := True) is
4449    begin
4450       pragma Assert (False
4451         or else NT (N).Nkind = N_Component_List
4452         or else NT (N).Nkind = N_Procedure_Specification
4453         or else NT (N).Nkind = N_Record_Definition);
4454       Set_Flag13 (N, Val);
4455    end Set_Null_Present;
4456
4457    procedure Set_Null_Exclusion_Present
4458       (N : Node_Id; Val : Boolean := True) is
4459    begin
4460       pragma Assert (False
4461         or else NT (N).Nkind = N_Access_Definition
4462         or else NT (N).Nkind = N_Access_Function_Definition
4463         or else NT (N).Nkind = N_Access_Procedure_Definition
4464         or else NT (N).Nkind = N_Access_To_Object_Definition
4465         or else NT (N).Nkind = N_Allocator
4466         or else NT (N).Nkind = N_Component_Definition
4467         or else NT (N).Nkind = N_Derived_Type_Definition
4468         or else NT (N).Nkind = N_Discriminant_Specification
4469         or else NT (N).Nkind = N_Object_Declaration
4470         or else NT (N).Nkind = N_Parameter_Specification
4471         or else NT (N).Nkind = N_Subtype_Declaration);
4472       Set_Flag11 (N, Val);
4473    end Set_Null_Exclusion_Present;
4474
4475    procedure Set_Null_Record_Present
4476       (N : Node_Id; Val : Boolean := True) is
4477    begin
4478       pragma Assert (False
4479         or else NT (N).Nkind = N_Aggregate
4480         or else NT (N).Nkind = N_Extension_Aggregate);
4481       Set_Flag17 (N, Val);
4482    end Set_Null_Record_Present;
4483
4484    procedure Set_Object_Definition
4485       (N : Node_Id; Val : Node_Id) is
4486    begin
4487       pragma Assert (False
4488         or else NT (N).Nkind = N_Object_Declaration);
4489       Set_Node4_With_Parent (N, Val);
4490    end Set_Object_Definition;
4491
4492    procedure Set_Original_Discriminant
4493       (N : Node_Id; Val : Node_Id) is
4494    begin
4495       pragma Assert (False
4496         or else NT (N).Nkind = N_Identifier);
4497       Set_Node2 (N, Val); -- semantic field, no parent set
4498    end Set_Original_Discriminant;
4499
4500    procedure Set_Original_Entity
4501       (N : Node_Id; Val : Entity_Id) is
4502    begin
4503       pragma Assert (False
4504         or else NT (N).Nkind = N_Integer_Literal
4505         or else NT (N).Nkind = N_Real_Literal);
4506       Set_Node2 (N, Val); --  semantic field, no parent set
4507    end Set_Original_Entity;
4508
4509    procedure Set_Others_Discrete_Choices
4510       (N : Node_Id; Val : List_Id) is
4511    begin
4512       pragma Assert (False
4513         or else NT (N).Nkind = N_Others_Choice);
4514       Set_List1_With_Parent (N, Val);
4515    end Set_Others_Discrete_Choices;
4516
4517    procedure Set_Out_Present
4518       (N : Node_Id; Val : Boolean := True) is
4519    begin
4520       pragma Assert (False
4521         or else NT (N).Nkind = N_Formal_Object_Declaration
4522         or else NT (N).Nkind = N_Parameter_Specification);
4523       Set_Flag17 (N, Val);
4524    end Set_Out_Present;
4525
4526    procedure Set_Parameter_Associations
4527       (N : Node_Id; Val : List_Id) is
4528    begin
4529       pragma Assert (False
4530         or else NT (N).Nkind = N_Entry_Call_Statement
4531         or else NT (N).Nkind = N_Function_Call
4532         or else NT (N).Nkind = N_Procedure_Call_Statement);
4533       Set_List3_With_Parent (N, Val);
4534    end Set_Parameter_Associations;
4535
4536    procedure Set_Parameter_List_Truncated
4537       (N : Node_Id; Val : Boolean := True) is
4538    begin
4539       pragma Assert (False
4540         or else NT (N).Nkind = N_Function_Call
4541         or else NT (N).Nkind = N_Procedure_Call_Statement);
4542       Set_Flag17 (N, Val);
4543    end Set_Parameter_List_Truncated;
4544
4545    procedure Set_Parameter_Specifications
4546       (N : Node_Id; Val : List_Id) is
4547    begin
4548       pragma Assert (False
4549         or else NT (N).Nkind = N_Accept_Statement
4550         or else NT (N).Nkind = N_Access_Function_Definition
4551         or else NT (N).Nkind = N_Access_Procedure_Definition
4552         or else NT (N).Nkind = N_Entry_Body_Formal_Part
4553         or else NT (N).Nkind = N_Entry_Declaration
4554         or else NT (N).Nkind = N_Function_Specification
4555         or else NT (N).Nkind = N_Procedure_Specification);
4556       Set_List3_With_Parent (N, Val);
4557    end Set_Parameter_Specifications;
4558
4559    procedure Set_Parameter_Type
4560       (N : Node_Id; Val : Node_Id) is
4561    begin
4562       pragma Assert (False
4563         or else NT (N).Nkind = N_Parameter_Specification);
4564       Set_Node2_With_Parent (N, Val);
4565    end Set_Parameter_Type;
4566
4567    procedure Set_Parent_Spec
4568       (N : Node_Id; Val : Node_Id) is
4569    begin
4570       pragma Assert (False
4571         or else NT (N).Nkind = N_Function_Instantiation
4572         or else NT (N).Nkind = N_Generic_Function_Renaming_Declaration
4573         or else NT (N).Nkind = N_Generic_Package_Declaration
4574         or else NT (N).Nkind = N_Generic_Package_Renaming_Declaration
4575         or else NT (N).Nkind = N_Generic_Procedure_Renaming_Declaration
4576         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
4577         or else NT (N).Nkind = N_Package_Declaration
4578         or else NT (N).Nkind = N_Package_Instantiation
4579         or else NT (N).Nkind = N_Package_Renaming_Declaration
4580         or else NT (N).Nkind = N_Procedure_Instantiation
4581         or else NT (N).Nkind = N_Subprogram_Declaration
4582         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4583       Set_Node4 (N, Val); -- semantic field, no parent set
4584    end Set_Parent_Spec;
4585
4586    procedure Set_Position
4587       (N : Node_Id; Val : Node_Id) is
4588    begin
4589       pragma Assert (False
4590         or else NT (N).Nkind = N_Component_Clause);
4591       Set_Node2_With_Parent (N, Val);
4592    end Set_Position;
4593
4594    procedure Set_Pragma_Argument_Associations
4595       (N : Node_Id; Val : List_Id) is
4596    begin
4597       pragma Assert (False
4598         or else NT (N).Nkind = N_Pragma);
4599       Set_List2_With_Parent (N, Val);
4600    end Set_Pragma_Argument_Associations;
4601
4602    procedure Set_Pragmas_After
4603       (N : Node_Id; Val : List_Id) is
4604    begin
4605       pragma Assert (False
4606         or else NT (N).Nkind = N_Compilation_Unit_Aux
4607         or else NT (N).Nkind = N_Terminate_Alternative);
4608       Set_List5_With_Parent (N, Val);
4609    end Set_Pragmas_After;
4610
4611    procedure Set_Pragmas_Before
4612       (N : Node_Id; Val : List_Id) is
4613    begin
4614       pragma Assert (False
4615         or else NT (N).Nkind = N_Accept_Alternative
4616         or else NT (N).Nkind = N_Delay_Alternative
4617         or else NT (N).Nkind = N_Entry_Call_Alternative
4618         or else NT (N).Nkind = N_Mod_Clause
4619         or else NT (N).Nkind = N_Terminate_Alternative
4620         or else NT (N).Nkind = N_Triggering_Alternative);
4621       Set_List4_With_Parent (N, Val);
4622    end Set_Pragmas_Before;
4623
4624    procedure Set_Prefix
4625       (N : Node_Id; Val : Node_Id) is
4626    begin
4627       pragma Assert (False
4628         or else NT (N).Nkind = N_Attribute_Reference
4629         or else NT (N).Nkind = N_Expanded_Name
4630         or else NT (N).Nkind = N_Explicit_Dereference
4631         or else NT (N).Nkind = N_Indexed_Component
4632         or else NT (N).Nkind = N_Reference
4633         or else NT (N).Nkind = N_Selected_Component
4634         or else NT (N).Nkind = N_Slice);
4635       Set_Node3_With_Parent (N, Val);
4636    end Set_Prefix;
4637
4638    procedure Set_Present_Expr
4639       (N : Node_Id; Val : Uint) is
4640    begin
4641       pragma Assert (False
4642         or else NT (N).Nkind = N_Variant);
4643       Set_Uint3 (N, Val);
4644    end Set_Present_Expr;
4645
4646    procedure Set_Prev_Ids
4647       (N : Node_Id; Val : Boolean := True) is
4648    begin
4649       pragma Assert (False
4650         or else NT (N).Nkind = N_Component_Declaration
4651         or else NT (N).Nkind = N_Discriminant_Specification
4652         or else NT (N).Nkind = N_Exception_Declaration
4653         or else NT (N).Nkind = N_Formal_Object_Declaration
4654         or else NT (N).Nkind = N_Number_Declaration
4655         or else NT (N).Nkind = N_Object_Declaration
4656         or else NT (N).Nkind = N_Parameter_Specification);
4657       Set_Flag6 (N, Val);
4658    end Set_Prev_Ids;
4659
4660    procedure Set_Print_In_Hex
4661       (N : Node_Id; Val : Boolean := True) is
4662    begin
4663       pragma Assert (False
4664         or else NT (N).Nkind = N_Integer_Literal);
4665       Set_Flag13 (N, Val);
4666    end Set_Print_In_Hex;
4667
4668    procedure Set_Private_Declarations
4669       (N : Node_Id; Val : List_Id) is
4670    begin
4671       pragma Assert (False
4672         or else NT (N).Nkind = N_Package_Specification
4673         or else NT (N).Nkind = N_Protected_Definition
4674         or else NT (N).Nkind = N_Task_Definition);
4675       Set_List3_With_Parent (N, Val);
4676    end Set_Private_Declarations;
4677
4678    procedure Set_Private_Present
4679       (N : Node_Id; Val : Boolean := True) is
4680    begin
4681       pragma Assert (False
4682         or else NT (N).Nkind = N_Compilation_Unit
4683         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
4684         or else NT (N).Nkind = N_With_Clause);
4685       Set_Flag15 (N, Val);
4686    end Set_Private_Present;
4687
4688    procedure Set_Procedure_To_Call
4689       (N : Node_Id; Val : Node_Id) is
4690    begin
4691       pragma Assert (False
4692         or else NT (N).Nkind = N_Allocator
4693         or else NT (N).Nkind = N_Free_Statement
4694         or else NT (N).Nkind = N_Return_Statement);
4695       Set_Node4 (N, Val); -- semantic field, no parent set
4696    end Set_Procedure_To_Call;
4697
4698    procedure Set_Proper_Body
4699       (N : Node_Id; Val : Node_Id) is
4700    begin
4701       pragma Assert (False
4702         or else NT (N).Nkind = N_Subunit);
4703       Set_Node1_With_Parent (N, Val);
4704    end Set_Proper_Body;
4705
4706    procedure Set_Protected_Definition
4707       (N : Node_Id; Val : Node_Id) is
4708    begin
4709       pragma Assert (False
4710         or else NT (N).Nkind = N_Protected_Type_Declaration
4711         or else NT (N).Nkind = N_Single_Protected_Declaration);
4712       Set_Node3_With_Parent (N, Val);
4713    end Set_Protected_Definition;
4714
4715    procedure Set_Protected_Present
4716       (N : Node_Id; Val : Boolean := True) is
4717    begin
4718       pragma Assert (False
4719         or else NT (N).Nkind = N_Access_Function_Definition
4720         or else NT (N).Nkind = N_Access_Procedure_Definition
4721         or else NT (N).Nkind = N_Derived_Type_Definition
4722         or else NT (N).Nkind = N_Record_Definition);
4723       Set_Flag6 (N, Val);
4724    end Set_Protected_Present;
4725
4726    procedure Set_Raises_Constraint_Error
4727       (N : Node_Id; Val : Boolean := True) is
4728    begin
4729       pragma Assert (False
4730         or else NT (N).Nkind in N_Subexpr);
4731       Set_Flag7 (N, Val);
4732    end Set_Raises_Constraint_Error;
4733
4734    procedure Set_Range_Constraint
4735       (N : Node_Id; Val : Node_Id) is
4736    begin
4737       pragma Assert (False
4738         or else NT (N).Nkind = N_Delta_Constraint
4739         or else NT (N).Nkind = N_Digits_Constraint);
4740       Set_Node4_With_Parent (N, Val);
4741    end Set_Range_Constraint;
4742
4743    procedure Set_Range_Expression
4744       (N : Node_Id; Val : Node_Id) is
4745    begin
4746       pragma Assert (False
4747         or else NT (N).Nkind = N_Range_Constraint);
4748       Set_Node4_With_Parent (N, Val);
4749    end Set_Range_Expression;
4750
4751    procedure Set_Real_Range_Specification
4752       (N : Node_Id; Val : Node_Id) is
4753    begin
4754       pragma Assert (False
4755         or else NT (N).Nkind = N_Decimal_Fixed_Point_Definition
4756         or else NT (N).Nkind = N_Floating_Point_Definition
4757         or else NT (N).Nkind = N_Ordinary_Fixed_Point_Definition);
4758       Set_Node4_With_Parent (N, Val);
4759    end Set_Real_Range_Specification;
4760
4761    procedure Set_Realval
4762      (N : Node_Id; Val : Ureal) is
4763    begin
4764       pragma Assert (False
4765         or else NT (N).Nkind = N_Real_Literal);
4766       Set_Ureal3 (N, Val);
4767    end Set_Realval;
4768
4769    procedure Set_Reason
4770       (N : Node_Id; Val : Uint) is
4771    begin
4772       pragma Assert (False
4773         or else NT (N).Nkind = N_Raise_Constraint_Error
4774         or else NT (N).Nkind = N_Raise_Program_Error
4775         or else NT (N).Nkind = N_Raise_Storage_Error);
4776       Set_Uint3 (N, Val);
4777    end Set_Reason;
4778
4779    procedure Set_Record_Extension_Part
4780       (N : Node_Id; Val : Node_Id) is
4781    begin
4782       pragma Assert (False
4783         or else NT (N).Nkind = N_Derived_Type_Definition);
4784       Set_Node3_With_Parent (N, Val);
4785    end Set_Record_Extension_Part;
4786
4787    procedure Set_Redundant_Use
4788       (N : Node_Id; Val : Boolean := True) is
4789    begin
4790       pragma Assert (False
4791         or else NT (N).Nkind = N_Attribute_Reference
4792         or else NT (N).Nkind = N_Expanded_Name
4793         or else NT (N).Nkind = N_Identifier);
4794       Set_Flag13 (N, Val);
4795    end Set_Redundant_Use;
4796
4797    procedure Set_Return_Type
4798       (N : Node_Id; Val : Node_Id) is
4799    begin
4800       pragma Assert (False
4801         or else NT (N).Nkind = N_Return_Statement);
4802       Set_Node2 (N, Val); -- semantic field, no parent set
4803    end Set_Return_Type;
4804
4805    procedure Set_Reverse_Present
4806       (N : Node_Id; Val : Boolean := True) is
4807    begin
4808       pragma Assert (False
4809         or else NT (N).Nkind = N_Loop_Parameter_Specification);
4810       Set_Flag15 (N, Val);
4811    end Set_Reverse_Present;
4812
4813    procedure Set_Right_Opnd
4814       (N : Node_Id; Val : Node_Id) is
4815    begin
4816       pragma Assert (False
4817         or else NT (N).Nkind in N_Op
4818         or else NT (N).Nkind = N_And_Then
4819         or else NT (N).Nkind = N_In
4820         or else NT (N).Nkind = N_Not_In
4821         or else NT (N).Nkind = N_Or_Else);
4822       Set_Node3_With_Parent (N, Val);
4823    end Set_Right_Opnd;
4824
4825    procedure Set_Rounded_Result
4826       (N : Node_Id; Val : Boolean := True) is
4827    begin
4828       pragma Assert (False
4829         or else NT (N).Nkind = N_Op_Divide
4830         or else NT (N).Nkind = N_Op_Multiply
4831         or else NT (N).Nkind = N_Type_Conversion);
4832       Set_Flag18 (N, Val);
4833    end Set_Rounded_Result;
4834
4835    procedure Set_Scope
4836       (N : Node_Id; Val : Node_Id) is
4837    begin
4838       pragma Assert (False
4839         or else NT (N).Nkind = N_Defining_Character_Literal
4840         or else NT (N).Nkind = N_Defining_Identifier
4841         or else NT (N).Nkind = N_Defining_Operator_Symbol);
4842       Set_Node3 (N, Val); -- semantic field, no parent set
4843    end Set_Scope;
4844
4845    procedure Set_Select_Alternatives
4846       (N : Node_Id; Val : List_Id) is
4847    begin
4848       pragma Assert (False
4849         or else NT (N).Nkind = N_Selective_Accept);
4850       Set_List1_With_Parent (N, Val);
4851    end Set_Select_Alternatives;
4852
4853    procedure Set_Selector_Name
4854       (N : Node_Id; Val : Node_Id) is
4855    begin
4856       pragma Assert (False
4857         or else NT (N).Nkind = N_Expanded_Name
4858         or else NT (N).Nkind = N_Generic_Association
4859         or else NT (N).Nkind = N_Parameter_Association
4860         or else NT (N).Nkind = N_Selected_Component);
4861       Set_Node2_With_Parent (N, Val);
4862    end Set_Selector_Name;
4863
4864    procedure Set_Selector_Names
4865       (N : Node_Id; Val : List_Id) is
4866    begin
4867       pragma Assert (False
4868         or else NT (N).Nkind = N_Discriminant_Association);
4869       Set_List1_With_Parent (N, Val);
4870    end Set_Selector_Names;
4871
4872    procedure Set_Shift_Count_OK
4873       (N : Node_Id; Val : Boolean := True) is
4874    begin
4875       pragma Assert (False
4876         or else NT (N).Nkind = N_Op_Rotate_Left
4877         or else NT (N).Nkind = N_Op_Rotate_Right
4878         or else NT (N).Nkind = N_Op_Shift_Left
4879         or else NT (N).Nkind = N_Op_Shift_Right
4880         or else NT (N).Nkind = N_Op_Shift_Right_Arithmetic);
4881       Set_Flag4 (N, Val);
4882    end Set_Shift_Count_OK;
4883
4884    procedure Set_Source_Type
4885       (N : Node_Id; Val : Entity_Id) is
4886    begin
4887       pragma Assert (False
4888         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
4889       Set_Node1 (N, Val); -- semantic field, no parent set
4890    end Set_Source_Type;
4891
4892    procedure Set_Specification
4893       (N : Node_Id; Val : Node_Id) is
4894    begin
4895       pragma Assert (False
4896         or else NT (N).Nkind = N_Abstract_Subprogram_Declaration
4897         or else NT (N).Nkind = N_Formal_Abstract_Subprogram_Declaration
4898         or else NT (N).Nkind = N_Formal_Concrete_Subprogram_Declaration
4899         or else NT (N).Nkind = N_Generic_Package_Declaration
4900         or else NT (N).Nkind = N_Generic_Subprogram_Declaration
4901         or else NT (N).Nkind = N_Package_Declaration
4902         or else NT (N).Nkind = N_Subprogram_Body
4903         or else NT (N).Nkind = N_Subprogram_Body_Stub
4904         or else NT (N).Nkind = N_Subprogram_Declaration
4905         or else NT (N).Nkind = N_Subprogram_Renaming_Declaration);
4906       Set_Node1_With_Parent (N, Val);
4907    end Set_Specification;
4908
4909    procedure Set_Statements
4910       (N : Node_Id; Val : List_Id) is
4911    begin
4912       pragma Assert (False
4913         or else NT (N).Nkind = N_Abortable_Part
4914         or else NT (N).Nkind = N_Accept_Alternative
4915         or else NT (N).Nkind = N_Case_Statement_Alternative
4916         or else NT (N).Nkind = N_Delay_Alternative
4917         or else NT (N).Nkind = N_Entry_Call_Alternative
4918         or else NT (N).Nkind = N_Exception_Handler
4919         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements
4920         or else NT (N).Nkind = N_Loop_Statement
4921         or else NT (N).Nkind = N_Triggering_Alternative);
4922       Set_List3_With_Parent (N, Val);
4923    end Set_Statements;
4924
4925    procedure Set_Static_Processing_OK
4926       (N : Node_Id; Val : Boolean) is
4927    begin
4928       pragma Assert (False
4929         or else NT (N).Nkind = N_Aggregate);
4930       Set_Flag4 (N, Val);
4931    end Set_Static_Processing_OK;
4932
4933    procedure Set_Storage_Pool
4934       (N : Node_Id; Val : Node_Id) is
4935    begin
4936       pragma Assert (False
4937         or else NT (N).Nkind = N_Allocator
4938         or else NT (N).Nkind = N_Free_Statement
4939         or else NT (N).Nkind = N_Return_Statement);
4940       Set_Node1 (N, Val); -- semantic field, no parent set
4941    end Set_Storage_Pool;
4942
4943    procedure Set_Strval
4944       (N : Node_Id; Val : String_Id) is
4945    begin
4946       pragma Assert (False
4947         or else NT (N).Nkind = N_Operator_Symbol
4948         or else NT (N).Nkind = N_String_Literal);
4949       Set_Str3 (N, Val);
4950    end Set_Strval;
4951
4952    procedure Set_Subtype_Indication
4953       (N : Node_Id; Val : Node_Id) is
4954    begin
4955       pragma Assert (False
4956         or else NT (N).Nkind = N_Access_To_Object_Definition
4957         or else NT (N).Nkind = N_Component_Definition
4958         or else NT (N).Nkind = N_Derived_Type_Definition
4959         or else NT (N).Nkind = N_Private_Extension_Declaration
4960         or else NT (N).Nkind = N_Subtype_Declaration);
4961       Set_Node5_With_Parent (N, Val);
4962    end Set_Subtype_Indication;
4963
4964    procedure Set_Subtype_Mark
4965       (N : Node_Id; Val : Node_Id) is
4966    begin
4967       pragma Assert (False
4968         or else NT (N).Nkind = N_Access_Definition
4969         or else NT (N).Nkind = N_Access_Function_Definition
4970         or else NT (N).Nkind = N_Formal_Derived_Type_Definition
4971         or else NT (N).Nkind = N_Formal_Object_Declaration
4972         or else NT (N).Nkind = N_Function_Specification
4973         or else NT (N).Nkind = N_Object_Renaming_Declaration
4974         or else NT (N).Nkind = N_Qualified_Expression
4975         or else NT (N).Nkind = N_Subtype_Indication
4976         or else NT (N).Nkind = N_Type_Conversion
4977         or else NT (N).Nkind = N_Unchecked_Type_Conversion);
4978       Set_Node4_With_Parent (N, Val);
4979    end Set_Subtype_Mark;
4980
4981    procedure Set_Subtype_Marks
4982       (N : Node_Id; Val : List_Id) is
4983    begin
4984       pragma Assert (False
4985         or else NT (N).Nkind = N_Unconstrained_Array_Definition
4986         or else NT (N).Nkind = N_Use_Type_Clause);
4987       Set_List2_With_Parent (N, Val);
4988    end Set_Subtype_Marks;
4989
4990    procedure Set_Synchronized_Present
4991      (N : Node_Id; Val : Boolean := True) is
4992    begin
4993       pragma Assert (False
4994         or else NT (N).Nkind = N_Derived_Type_Definition
4995         or else NT (N).Nkind = N_Record_Definition);
4996       Set_Flag7 (N, Val);
4997    end Set_Synchronized_Present;
4998
4999    procedure Set_Tagged_Present
5000       (N : Node_Id; Val : Boolean := True) is
5001    begin
5002       pragma Assert (False
5003         or else NT (N).Nkind = N_Formal_Private_Type_Definition
5004         or else NT (N).Nkind = N_Private_Type_Declaration
5005         or else NT (N).Nkind = N_Record_Definition
5006         or else NT (N).Nkind = N_With_Type_Clause);
5007       Set_Flag15 (N, Val);
5008    end Set_Tagged_Present;
5009
5010    procedure Set_Target_Type
5011       (N : Node_Id; Val : Entity_Id) is
5012    begin
5013       pragma Assert (False
5014         or else NT (N).Nkind = N_Validate_Unchecked_Conversion);
5015       Set_Node2 (N, Val); -- semantic field, no parent set
5016    end Set_Target_Type;
5017
5018    procedure Set_Task_Definition
5019       (N : Node_Id; Val : Node_Id) is
5020    begin
5021       pragma Assert (False
5022         or else NT (N).Nkind = N_Single_Task_Declaration
5023         or else NT (N).Nkind = N_Task_Type_Declaration);
5024       Set_Node3_With_Parent (N, Val);
5025    end Set_Task_Definition;
5026
5027    procedure Set_Task_Present
5028      (N : Node_Id; Val : Boolean := True) is
5029    begin
5030       pragma Assert (False
5031         or else NT (N).Nkind = N_Derived_Type_Definition
5032         or else NT (N).Nkind = N_Record_Definition);
5033       Set_Flag5 (N, Val);
5034    end Set_Task_Present;
5035
5036    procedure Set_Then_Actions
5037       (N : Node_Id; Val : List_Id) is
5038    begin
5039       pragma Assert (False
5040         or else NT (N).Nkind = N_Conditional_Expression);
5041       Set_List2 (N, Val); -- semantic field, no parent set
5042    end Set_Then_Actions;
5043
5044    procedure Set_Then_Statements
5045       (N : Node_Id; Val : List_Id) is
5046    begin
5047       pragma Assert (False
5048         or else NT (N).Nkind = N_Elsif_Part
5049         or else NT (N).Nkind = N_If_Statement);
5050       Set_List2_With_Parent (N, Val);
5051    end Set_Then_Statements;
5052
5053    procedure Set_Treat_Fixed_As_Integer
5054       (N : Node_Id; Val : Boolean := True) is
5055    begin
5056       pragma Assert (False
5057         or else NT (N).Nkind = N_Op_Divide
5058         or else NT (N).Nkind = N_Op_Mod
5059         or else NT (N).Nkind = N_Op_Multiply
5060         or else NT (N).Nkind = N_Op_Rem);
5061       Set_Flag14 (N, Val);
5062    end Set_Treat_Fixed_As_Integer;
5063
5064    procedure Set_Triggering_Alternative
5065       (N : Node_Id; Val : Node_Id) is
5066    begin
5067       pragma Assert (False
5068         or else NT (N).Nkind = N_Asynchronous_Select);
5069       Set_Node1_With_Parent (N, Val);
5070    end Set_Triggering_Alternative;
5071
5072    procedure Set_Triggering_Statement
5073       (N : Node_Id; Val : Node_Id) is
5074    begin
5075       pragma Assert (False
5076         or else NT (N).Nkind = N_Triggering_Alternative);
5077       Set_Node1_With_Parent (N, Val);
5078    end Set_Triggering_Statement;
5079
5080    procedure Set_TSS_Elist
5081       (N : Node_Id; Val : Elist_Id) is
5082    begin
5083       pragma Assert (False
5084         or else NT (N).Nkind = N_Freeze_Entity);
5085       Set_Elist3 (N, Val); -- semantic field, no parent set
5086    end Set_TSS_Elist;
5087
5088    procedure Set_Type_Definition
5089       (N : Node_Id; Val : Node_Id) is
5090    begin
5091       pragma Assert (False
5092         or else NT (N).Nkind = N_Full_Type_Declaration);
5093       Set_Node3_With_Parent (N, Val);
5094    end Set_Type_Definition;
5095
5096    procedure Set_Unit
5097       (N : Node_Id; Val : Node_Id) is
5098    begin
5099       pragma Assert (False
5100         or else NT (N).Nkind = N_Compilation_Unit);
5101       Set_Node2_With_Parent (N, Val);
5102    end Set_Unit;
5103
5104    procedure Set_Unknown_Discriminants_Present
5105       (N : Node_Id; Val : Boolean := True) is
5106    begin
5107       pragma Assert (False
5108         or else NT (N).Nkind = N_Formal_Type_Declaration
5109         or else NT (N).Nkind = N_Incomplete_Type_Declaration
5110         or else NT (N).Nkind = N_Private_Extension_Declaration
5111         or else NT (N).Nkind = N_Private_Type_Declaration);
5112       Set_Flag13 (N, Val);
5113    end Set_Unknown_Discriminants_Present;
5114
5115    procedure Set_Unreferenced_In_Spec
5116       (N : Node_Id; Val : Boolean := True) is
5117    begin
5118       pragma Assert (False
5119         or else NT (N).Nkind = N_With_Clause);
5120       Set_Flag7 (N, Val);
5121    end Set_Unreferenced_In_Spec;
5122
5123    procedure Set_Variant_Part
5124       (N : Node_Id; Val : Node_Id) is
5125    begin
5126       pragma Assert (False
5127         or else NT (N).Nkind = N_Component_List);
5128       Set_Node4_With_Parent (N, Val);
5129    end Set_Variant_Part;
5130
5131    procedure Set_Variants
5132       (N : Node_Id; Val : List_Id) is
5133    begin
5134       pragma Assert (False
5135         or else NT (N).Nkind = N_Variant_Part);
5136       Set_List1_With_Parent (N, Val);
5137    end Set_Variants;
5138
5139    procedure Set_Visible_Declarations
5140       (N : Node_Id; Val : List_Id) is
5141    begin
5142       pragma Assert (False
5143         or else NT (N).Nkind = N_Package_Specification
5144         or else NT (N).Nkind = N_Protected_Definition
5145         or else NT (N).Nkind = N_Task_Definition);
5146       Set_List2_With_Parent (N, Val);
5147    end Set_Visible_Declarations;
5148
5149    procedure Set_Was_Originally_Stub
5150       (N : Node_Id; Val : Boolean := True) is
5151    begin
5152       pragma Assert (False
5153         or else NT (N).Nkind = N_Package_Body
5154         or else NT (N).Nkind = N_Protected_Body
5155         or else NT (N).Nkind = N_Subprogram_Body
5156         or else NT (N).Nkind = N_Task_Body);
5157       Set_Flag13 (N, Val);
5158    end Set_Was_Originally_Stub;
5159
5160    procedure Set_Zero_Cost_Handling
5161       (N : Node_Id; Val : Boolean := True) is
5162    begin
5163       pragma Assert (False
5164         or else NT (N).Nkind = N_Exception_Handler
5165         or else NT (N).Nkind = N_Handled_Sequence_Of_Statements);
5166       Set_Flag5 (N, Val);
5167    end Set_Zero_Cost_Handling;
5168
5169    -------------------------
5170    -- Iterator Procedures --
5171    -------------------------
5172
5173    procedure Next_Entity       (N : in out Node_Id) is
5174    begin
5175       N := Next_Entity (N);
5176    end Next_Entity;
5177
5178    procedure Next_Named_Actual (N : in out Node_Id) is
5179    begin
5180       N := Next_Named_Actual (N);
5181    end Next_Named_Actual;
5182
5183    procedure Next_Rep_Item     (N : in out Node_Id) is
5184    begin
5185       N := Next_Rep_Item (N);
5186    end Next_Rep_Item;
5187
5188    procedure Next_Use_Clause   (N : in out Node_Id) is
5189    begin
5190       N := Next_Use_Clause (N);
5191    end Next_Use_Clause;
5192
5193    ------------------
5194    -- End_Location --
5195    ------------------
5196
5197    function End_Location (N : Node_Id) return Source_Ptr is
5198       L : constant Uint := End_Span (N);
5199
5200    begin
5201       if L = No_Uint then
5202          return No_Location;
5203       else
5204          return Source_Ptr (Int (Sloc (N)) + UI_To_Int (L));
5205       end if;
5206    end End_Location;
5207
5208    ----------------------
5209    -- Set_End_Location --
5210    ----------------------
5211
5212    procedure Set_End_Location (N : Node_Id; S : Source_Ptr) is
5213    begin
5214       Set_End_Span (N,
5215         UI_From_Int (Int (S) - Int (Sloc (N))));
5216    end Set_End_Location;
5217
5218 end Sinfo;