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