OSDN Git Service

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