OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [ada/] [sinfo.adb] - Blame information for rev 729

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

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

powered by: WebSVN 2.1.0

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