OSDN Git Service

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