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