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