OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [ada/] [sinfo.adb] - Blame information for rev 523

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.