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