OSDN Git Service

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