OSDN Git Service

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