OSDN Git Service

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