]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ada/atree.adb
e27209228cefcc75f907b0f68bab73f94fd1bdaa
[thirdparty/gcc.git] / gcc / ada / atree.adb
1 ------------------------------------------------------------------------------
2 -- --
3 -- GNAT COMPILER COMPONENTS --
4 -- --
5 -- A T R E E --
6 -- --
7 -- B o d y --
8 -- --
9 -- Copyright (C) 1992-2021, 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. See the GNU General Public License --
17 -- for more details. You should have received a copy of the GNU General --
18 -- Public License distributed with GNAT; see file COPYING3. If not, go to --
19 -- http://www.gnu.org/licenses for a complete copy of the license. --
20 -- --
21 -- GNAT was originally developed by the GNAT team at New York University. --
22 -- Extensive contributions were provided by Ada Core Technologies Inc. --
23 -- --
24 ------------------------------------------------------------------------------
25
26 pragma Style_Checks (All_Checks);
27 -- Turn off subprogram ordering check for this package
28
29 -- WARNING: There is a C version of this package. Any changes to this source
30 -- file must be properly reflected in the file atree.h which is a C header
31 -- file containing equivalent definitions for use by gigi.
32
33 with Aspects; use Aspects;
34 with Debug; use Debug;
35 with Nlists; use Nlists;
36 with Opt; use Opt;
37 with Output; use Output;
38 with Sinput; use Sinput;
39
40 with GNAT.Heap_Sort_G;
41
42 package body Atree is
43
44 Ignored_Ghost_Recording_Proc : Ignored_Ghost_Record_Proc := null;
45 -- This soft link captures the procedure invoked during the creation of an
46 -- ignored Ghost node or entity.
47
48 Locked : Boolean := False;
49 -- Compiling with assertions enabled, node contents modifications are
50 -- permitted only when this switch is set to False; compiling without
51 -- assertions this lock has no effect.
52
53 Reporting_Proc : Report_Proc := null;
54 -- Set_Reporting_Proc sets this. Set_Reporting_Proc must be called only
55 -- once.
56
57 Rewriting_Proc : Rewrite_Proc := null;
58 -- This soft link captures the procedure invoked during a node rewrite
59
60 ---------------
61 -- Debugging --
62 ---------------
63
64 -- Suppose you find that node 12345 is messed up. You might want to find
65 -- the code that created that node. There are two ways to do this:
66
67 -- One way is to set a conditional breakpoint on New_Node_Debugging_Output
68 -- (nickname "nnd"):
69 -- break nnd if n = 12345
70 -- and run gnat1 again from the beginning.
71
72 -- The other way is to set a breakpoint near the beginning (e.g. on
73 -- gnat1drv), and run. Then set Watch_Node (nickname "ww") to 12345 in gdb:
74 -- ww := 12345
75 -- and set a breakpoint on New_Node_Breakpoint (nickname "nn"). Continue.
76
77 -- Either way, gnat1 will stop when node 12345 is created, or certain other
78 -- interesting operations are performed, such as Rewrite. To see exactly
79 -- which operations, search for "pragma Debug" below.
80
81 -- The second method is much faster if the amount of Ada code being
82 -- compiled is large.
83
84 ww : Node_Id'Base := Node_Id'First - 1;
85 pragma Export (Ada, ww); -- trick the optimizer
86 Watch_Node : Node_Id'Base renames ww;
87 -- Node to "watch"; that is, whenever a node is created, we check if it
88 -- is equal to Watch_Node, and if so, call New_Node_Breakpoint. You have
89 -- presumably set a breakpoint on New_Node_Breakpoint. Note that the
90 -- initial value of Node_Id'First - 1 ensures that by default, no node
91 -- will be equal to Watch_Node.
92
93 procedure nn;
94 pragma Export (Ada, nn);
95 procedure New_Node_Breakpoint renames nn;
96 -- This doesn't do anything interesting; it's just for setting breakpoint
97 -- on as explained above.
98
99 procedure nnd (N : Node_Id);
100 pragma Export (Ada, nnd);
101 procedure New_Node_Debugging_Output (N : Node_Id) renames nnd;
102 -- For debugging. If debugging is turned on, New_Node and New_Entity call
103 -- this. If debug flag N is turned on, this prints out the new node.
104 --
105 -- If Node = Watch_Node, this prints out the new node and calls
106 -- New_Node_Breakpoint. Otherwise, does nothing.
107
108 procedure Node_Debug_Output (Op : String; N : Node_Id);
109 -- Called by nnd; writes Op followed by information about N
110
111 -----------------------------
112 -- Local Objects and Types --
113 -----------------------------
114
115 Comes_From_Source_Default : Boolean := False;
116
117 use Unchecked_Access;
118 -- We are allowed to see these from within our own body
119
120 use Atree_Private_Part;
121 -- We are also allowed to see our private data structures
122
123 -- Functions used to store Entity_Kind value in Nkind field
124
125 -- The following declarations are used to store flags 65-72 in the
126 -- Nkind field of the third component of an extended (entity) node.
127
128 type Flag_Byte is record
129 Flag65 : Boolean;
130 Flag66 : Boolean;
131 Flag67 : Boolean;
132 Flag68 : Boolean;
133 Flag69 : Boolean;
134 Flag70 : Boolean;
135 Flag71 : Boolean;
136 Flag72 : Boolean;
137 end record;
138
139 pragma Pack (Flag_Byte);
140 for Flag_Byte'Size use 8;
141
142 type Flag_Byte_Ptr is access all Flag_Byte;
143 type Node_Kind_Ptr is access all Node_Kind;
144
145 function To_Flag_Byte is new
146 Unchecked_Conversion (Node_Kind, Flag_Byte);
147
148 function To_Flag_Byte_Ptr is new
149 Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte_Ptr);
150
151 -- The following declarations are used to store flags 239-246 in the
152 -- Nkind field of the fourth component of an extended (entity) node.
153
154 type Flag_Byte2 is record
155 Flag239 : Boolean;
156 Flag240 : Boolean;
157 Flag241 : Boolean;
158 Flag242 : Boolean;
159 Flag243 : Boolean;
160 Flag244 : Boolean;
161 Flag245 : Boolean;
162 Flag246 : Boolean;
163 end record;
164
165 pragma Pack (Flag_Byte2);
166 for Flag_Byte2'Size use 8;
167
168 type Flag_Byte2_Ptr is access all Flag_Byte2;
169
170 function To_Flag_Byte2 is new
171 Unchecked_Conversion (Node_Kind, Flag_Byte2);
172
173 function To_Flag_Byte2_Ptr is new
174 Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte2_Ptr);
175
176 -- The following declarations are used to store flags 247-254 in the
177 -- Nkind field of the fifth component of an extended (entity) node.
178
179 type Flag_Byte3 is record
180 Flag247 : Boolean;
181 Flag248 : Boolean;
182 Flag249 : Boolean;
183 Flag250 : Boolean;
184 Flag251 : Boolean;
185 Flag252 : Boolean;
186 Flag253 : Boolean;
187 Flag254 : Boolean;
188 end record;
189
190 pragma Pack (Flag_Byte3);
191 for Flag_Byte3'Size use 8;
192
193 type Flag_Byte3_Ptr is access all Flag_Byte3;
194
195 function To_Flag_Byte3 is new
196 Unchecked_Conversion (Node_Kind, Flag_Byte3);
197
198 function To_Flag_Byte3_Ptr is new
199 Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte3_Ptr);
200
201 -- The following declarations are used to store flags 310-317 in the
202 -- Nkind field of the sixth component of an extended (entity) node.
203
204 type Flag_Byte4 is record
205 Flag310 : Boolean;
206 Flag311 : Boolean;
207 Flag312 : Boolean;
208 Flag313 : Boolean;
209 Flag314 : Boolean;
210 Flag315 : Boolean;
211 Flag316 : Boolean;
212 Flag317 : Boolean;
213 end record;
214
215 pragma Pack (Flag_Byte4);
216 for Flag_Byte4'Size use 8;
217
218 type Flag_Byte4_Ptr is access all Flag_Byte4;
219
220 function To_Flag_Byte4 is new
221 Unchecked_Conversion (Node_Kind, Flag_Byte4);
222
223 function To_Flag_Byte4_Ptr is new
224 Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte4_Ptr);
225
226 -- The following declarations are used to store flags 73-96 and the
227 -- Convention field in the Field12 field of the third component of an
228 -- extended (Entity) node.
229
230 type Flag_Word is record
231 Flag73 : Boolean;
232 Flag74 : Boolean;
233 Flag75 : Boolean;
234 Flag76 : Boolean;
235 Flag77 : Boolean;
236 Flag78 : Boolean;
237 Flag79 : Boolean;
238 Flag80 : Boolean;
239
240 Flag81 : Boolean;
241 Flag82 : Boolean;
242 Flag83 : Boolean;
243 Flag84 : Boolean;
244 Flag85 : Boolean;
245 Flag86 : Boolean;
246 Flag87 : Boolean;
247 Flag88 : Boolean;
248
249 Flag89 : Boolean;
250 Flag90 : Boolean;
251 Flag91 : Boolean;
252 Flag92 : Boolean;
253 Flag93 : Boolean;
254 Flag94 : Boolean;
255 Flag95 : Boolean;
256 Flag96 : Boolean;
257
258 Convention : Convention_Id;
259 end record;
260
261 pragma Pack (Flag_Word);
262 for Flag_Word'Size use 32;
263 for Flag_Word'Alignment use 4;
264
265 type Flag_Word_Ptr is access all Flag_Word;
266 type Union_Id_Ptr is access all Union_Id;
267
268 function To_Flag_Word is new
269 Unchecked_Conversion (Union_Id, Flag_Word);
270
271 function To_Flag_Word_Ptr is new
272 Unchecked_Conversion (Union_Id_Ptr, Flag_Word_Ptr);
273
274 -- The following declarations are used to store flags 97-128 in the
275 -- Field12 field of the fourth component of an extended (entity) node.
276
277 type Flag_Word2 is record
278 Flag97 : Boolean;
279 Flag98 : Boolean;
280 Flag99 : Boolean;
281 Flag100 : Boolean;
282 Flag101 : Boolean;
283 Flag102 : Boolean;
284 Flag103 : Boolean;
285 Flag104 : Boolean;
286
287 Flag105 : Boolean;
288 Flag106 : Boolean;
289 Flag107 : Boolean;
290 Flag108 : Boolean;
291 Flag109 : Boolean;
292 Flag110 : Boolean;
293 Flag111 : Boolean;
294 Flag112 : Boolean;
295
296 Flag113 : Boolean;
297 Flag114 : Boolean;
298 Flag115 : Boolean;
299 Flag116 : Boolean;
300 Flag117 : Boolean;
301 Flag118 : Boolean;
302 Flag119 : Boolean;
303 Flag120 : Boolean;
304
305 Flag121 : Boolean;
306 Flag122 : Boolean;
307 Flag123 : Boolean;
308 Flag124 : Boolean;
309 Flag125 : Boolean;
310 Flag126 : Boolean;
311 Flag127 : Boolean;
312 Flag128 : Boolean;
313 end record;
314
315 pragma Pack (Flag_Word2);
316 for Flag_Word2'Size use 32;
317 for Flag_Word2'Alignment use 4;
318
319 type Flag_Word2_Ptr is access all Flag_Word2;
320
321 function To_Flag_Word2 is new
322 Unchecked_Conversion (Union_Id, Flag_Word2);
323
324 function To_Flag_Word2_Ptr is new
325 Unchecked_Conversion (Union_Id_Ptr, Flag_Word2_Ptr);
326
327 -- The following declarations are used to store flags 152-183 in the
328 -- Field11 field of the fourth component of an extended (entity) node.
329
330 type Flag_Word3 is record
331 Flag152 : Boolean;
332 Flag153 : Boolean;
333 Flag154 : Boolean;
334 Flag155 : Boolean;
335 Flag156 : Boolean;
336 Flag157 : Boolean;
337 Flag158 : Boolean;
338 Flag159 : Boolean;
339
340 Flag160 : Boolean;
341 Flag161 : Boolean;
342 Flag162 : Boolean;
343 Flag163 : Boolean;
344 Flag164 : Boolean;
345 Flag165 : Boolean;
346 Flag166 : Boolean;
347 Flag167 : Boolean;
348
349 Flag168 : Boolean;
350 Flag169 : Boolean;
351 Flag170 : Boolean;
352 Flag171 : Boolean;
353 Flag172 : Boolean;
354 Flag173 : Boolean;
355 Flag174 : Boolean;
356 Flag175 : Boolean;
357
358 Flag176 : Boolean;
359 Flag177 : Boolean;
360 Flag178 : Boolean;
361 Flag179 : Boolean;
362 Flag180 : Boolean;
363 Flag181 : Boolean;
364 Flag182 : Boolean;
365 Flag183 : Boolean;
366 end record;
367
368 pragma Pack (Flag_Word3);
369 for Flag_Word3'Size use 32;
370 for Flag_Word3'Alignment use 4;
371
372 type Flag_Word3_Ptr is access all Flag_Word3;
373
374 function To_Flag_Word3 is new
375 Unchecked_Conversion (Union_Id, Flag_Word3);
376
377 function To_Flag_Word3_Ptr is new
378 Unchecked_Conversion (Union_Id_Ptr, Flag_Word3_Ptr);
379
380 -- The following declarations are used to store flags 184-215 in the
381 -- Field12 field of the fifth component of an extended (entity) node.
382
383 type Flag_Word4 is record
384 Flag184 : Boolean;
385 Flag185 : Boolean;
386 Flag186 : Boolean;
387 Flag187 : Boolean;
388 Flag188 : Boolean;
389 Flag189 : Boolean;
390 Flag190 : Boolean;
391 Flag191 : Boolean;
392
393 Flag192 : Boolean;
394 Flag193 : Boolean;
395 Flag194 : Boolean;
396 Flag195 : Boolean;
397 Flag196 : Boolean;
398 Flag197 : Boolean;
399 Flag198 : Boolean;
400 Flag199 : Boolean;
401
402 Flag200 : Boolean;
403 Flag201 : Boolean;
404 Flag202 : Boolean;
405 Flag203 : Boolean;
406 Flag204 : Boolean;
407 Flag205 : Boolean;
408 Flag206 : Boolean;
409 Flag207 : Boolean;
410
411 Flag208 : Boolean;
412 Flag209 : Boolean;
413 Flag210 : Boolean;
414 Flag211 : Boolean;
415 Flag212 : Boolean;
416 Flag213 : Boolean;
417 Flag214 : Boolean;
418 Flag215 : Boolean;
419 end record;
420
421 pragma Pack (Flag_Word4);
422 for Flag_Word4'Size use 32;
423 for Flag_Word4'Alignment use 4;
424
425 type Flag_Word4_Ptr is access all Flag_Word4;
426
427 function To_Flag_Word4 is new
428 Unchecked_Conversion (Union_Id, Flag_Word4);
429
430 function To_Flag_Word4_Ptr is new
431 Unchecked_Conversion (Union_Id_Ptr, Flag_Word4_Ptr);
432
433 -- The following declarations are used to store flags 255-286 in the
434 -- Field12 field of the sixth component of an extended (entity) node.
435
436 type Flag_Word5 is record
437 Flag255 : Boolean;
438 Flag256 : Boolean;
439 Flag257 : Boolean;
440 Flag258 : Boolean;
441 Flag259 : Boolean;
442 Flag260 : Boolean;
443 Flag261 : Boolean;
444 Flag262 : Boolean;
445
446 Flag263 : Boolean;
447 Flag264 : Boolean;
448 Flag265 : Boolean;
449 Flag266 : Boolean;
450 Flag267 : Boolean;
451 Flag268 : Boolean;
452 Flag269 : Boolean;
453 Flag270 : Boolean;
454
455 Flag271 : Boolean;
456 Flag272 : Boolean;
457 Flag273 : Boolean;
458 Flag274 : Boolean;
459 Flag275 : Boolean;
460 Flag276 : Boolean;
461 Flag277 : Boolean;
462 Flag278 : Boolean;
463
464 Flag279 : Boolean;
465 Flag280 : Boolean;
466 Flag281 : Boolean;
467 Flag282 : Boolean;
468 Flag283 : Boolean;
469 Flag284 : Boolean;
470 Flag285 : Boolean;
471 Flag286 : Boolean;
472 end record;
473
474 pragma Pack (Flag_Word5);
475 for Flag_Word5'Size use 32;
476 for Flag_Word5'Alignment use 4;
477
478 type Flag_Word5_Ptr is access all Flag_Word5;
479
480 function To_Flag_Word5 is new
481 Unchecked_Conversion (Union_Id, Flag_Word5);
482
483 function To_Flag_Word5_Ptr is new
484 Unchecked_Conversion (Union_Id_Ptr, Flag_Word5_Ptr);
485
486 --------------------------------------------------
487 -- Implementation of Tree Substitution Routines --
488 --------------------------------------------------
489
490 -- A separate table keeps track of the mapping between rewritten nodes
491 -- and their corresponding original tree nodes. Rewrite makes an entry
492 -- in this table for use by Original_Node. By default, if no call is
493 -- Rewrite, the entry in this table points to the original unwritten node.
494
495 -- Note: eventually, this should be a field in the Node directly, but
496 -- for now we do not want to disturb the efficiency of a power of 2
497 -- for the node size. ????We are planning to get rid of power-of-2.
498
499 package Orig_Nodes is new Table.Table (
500 Table_Component_Type => Node_Id,
501 Table_Index_Type => Node_Id'Base,
502 Table_Low_Bound => First_Node_Id,
503 Table_Initial => Alloc.Nodes_Initial,
504 Table_Increment => Alloc.Nodes_Increment,
505 Release_Threshold => Alloc.Nodes_Release_Threshold,
506 Table_Name => "Orig_Nodes");
507
508 --------------------------
509 -- Paren_Count Handling --
510 --------------------------
511
512 -- As noted in the spec, the paren count in a sub-expression node has
513 -- four possible values 0,1,2, and 3. The value 3 really means 3 or more,
514 -- and we use an auxiliary serially scanned table to record the actual
515 -- count. A serial search is fine, only pathological programs will use
516 -- entries in this table. Normal programs won't use it at all.
517
518 type Paren_Count_Entry is record
519 Nod : Node_Id;
520 -- The node to which this count applies
521
522 Count : Nat range 3 .. Nat'Last;
523 -- The count of parentheses, which will be in the indicated range
524 end record;
525
526 package Paren_Counts is new Table.Table (
527 Table_Component_Type => Paren_Count_Entry,
528 Table_Index_Type => Int,
529 Table_Low_Bound => 0,
530 Table_Initial => 10,
531 Table_Increment => 200,
532 Table_Name => "Paren_Counts");
533
534 procedure Set_Paren_Count_Of_Copy (Target, Source : Node_Id);
535 pragma Inline (Set_Paren_Count_Of_Copy);
536 -- Called when copying a node. Makes sure the Paren_Count of the copy is
537 -- correct.
538
539 -----------------------
540 -- Local Subprograms --
541 -----------------------
542
543 function Allocate_New_Node return Node_Id;
544 pragma Inline (Allocate_New_Node);
545 -- Allocate a new node or first part of a node extension. Initialize the
546 -- Nodes.Table entry, Flags, Orig_Nodes, and List tables.
547
548 procedure Fix_Parents (Ref_Node, Fix_Node : Node_Id);
549 -- Fix up parent pointers for the syntactic children of Fix_Node after a
550 -- copy, setting them to Fix_Node when they pointed to Ref_Node.
551
552 procedure Mark_New_Ghost_Node (N : Node_Or_Entity_Id);
553 -- Mark arbitrary node or entity N as Ghost when it is created within a
554 -- Ghost region.
555
556 procedure Report (Target, Source : Node_Id);
557 pragma Inline (Report);
558 -- Invoke the reporting procedure if available
559
560 -----------------------
561 -- Allocate_New_Node --
562 -----------------------
563
564 function Allocate_New_Node return Node_Id is
565 New_Id : Node_Id;
566 begin
567 Nodes.Append (Default_Node);
568 New_Id := Nodes.Last;
569 Flags.Append (Default_Flags);
570 Orig_Nodes.Append (New_Id);
571 Nodes.Table (Nodes.Last).Comes_From_Source :=
572 Comes_From_Source_Default;
573 Allocate_List_Tables (Nodes.Last);
574 Report (Target => New_Id, Source => Empty);
575
576 return New_Id;
577 end Allocate_New_Node;
578
579 --------------
580 -- Analyzed --
581 --------------
582
583 function Analyzed (N : Node_Id) return Boolean is
584 begin
585 pragma Assert (N <= Nodes.Last);
586 return Nodes.Table (N).Analyzed;
587 end Analyzed;
588
589 --------------------------
590 -- Basic_Set_Convention --
591 --------------------------
592
593 procedure Basic_Set_Convention (E : Entity_Id; Val : Convention_Id) is
594 begin
595 pragma Assert (Nkind (E) in N_Entity);
596 To_Flag_Word_Ptr
597 (Union_Id_Ptr'
598 (Nodes.Table (E + 2).Field12'Unrestricted_Access)).Convention := Val;
599 end Basic_Set_Convention;
600
601 -------------------
602 -- Check_Actuals --
603 -------------------
604
605 function Check_Actuals (N : Node_Id) return Boolean is
606 begin
607 return Flags.Table (N).Check_Actuals;
608 end Check_Actuals;
609
610 --------------------------
611 -- Check_Error_Detected --
612 --------------------------
613
614 procedure Check_Error_Detected is
615 begin
616 -- An anomaly has been detected which is assumed to be a consequence of
617 -- a previous serious error or configurable run time violation. Raise
618 -- an exception if no such error has been detected.
619
620 if Serious_Errors_Detected = 0
621 and then Configurable_Run_Time_Violations = 0
622 then
623 raise Program_Error;
624 end if;
625 end Check_Error_Detected;
626
627 -----------------
628 -- Change_Node --
629 -----------------
630
631 procedure Change_Node (N : Node_Id; New_Node_Kind : Node_Kind) is
632
633 -- Flags table attributes
634
635 Save_CA : constant Boolean := Flags.Table (N).Check_Actuals;
636 Save_Is_IGN : constant Boolean := Flags.Table (N).Is_Ignored_Ghost_Node;
637
638 -- Nodes table attributes
639
640 Save_CFS : constant Boolean := Nodes.Table (N).Comes_From_Source;
641 Save_In_List : constant Boolean := Nodes.Table (N).In_List;
642 Save_Link : constant Union_Id := Nodes.Table (N).Link;
643 Save_Posted : constant Boolean := Nodes.Table (N).Error_Posted;
644 Save_Sloc : constant Source_Ptr := Sloc (N);
645
646 Par_Count : Nat := 0;
647
648 begin
649 if Nkind (N) in N_Subexpr then
650 Par_Count := Paren_Count (N);
651 end if;
652
653 Nodes.Table (N) := Default_Node;
654 Nodes.Table (N).Sloc := Save_Sloc;
655 Nodes.Table (N).In_List := Save_In_List;
656 Nodes.Table (N).Link := Save_Link;
657 Nodes.Table (N).Comes_From_Source := Save_CFS;
658 Nodes.Table (N).Nkind := New_Node_Kind;
659 Nodes.Table (N).Error_Posted := Save_Posted;
660
661 Flags.Table (N) := Default_Flags;
662 Flags.Table (N).Check_Actuals := Save_CA;
663 Flags.Table (N).Is_Ignored_Ghost_Node := Save_Is_IGN;
664
665 if New_Node_Kind in N_Subexpr then
666 Set_Paren_Count (N, Par_Count);
667 end if;
668 end Change_Node;
669
670 -----------------------
671 -- Comes_From_Source --
672 -----------------------
673
674 function Comes_From_Source (N : Node_Id) return Boolean is
675 begin
676 pragma Assert (N <= Nodes.Last);
677 return Nodes.Table (N).Comes_From_Source;
678 end Comes_From_Source;
679
680 ----------------
681 -- Convention --
682 ----------------
683
684 function Convention (E : Entity_Id) return Convention_Id is
685 begin
686 pragma Assert (Nkind (E) in N_Entity);
687 return To_Flag_Word (Nodes.Table (E + 2).Field12).Convention;
688 end Convention;
689
690 ---------------
691 -- Copy_Node --
692 ---------------
693
694 procedure Copy_Node (Source : Node_Id; Destination : Node_Id) is
695 Save_In_List : constant Boolean := Nodes.Table (Destination).In_List;
696 Save_Link : constant Union_Id := Nodes.Table (Destination).Link;
697
698 begin
699 pragma Debug (New_Node_Debugging_Output (Source));
700 pragma Debug (New_Node_Debugging_Output (Destination));
701
702 Nodes.Table (Destination) := Nodes.Table (Source);
703 Nodes.Table (Destination).In_List := Save_In_List;
704 Nodes.Table (Destination).Link := Save_Link;
705
706 Flags.Table (Destination) := Flags.Table (Source);
707
708 Set_Paren_Count_Of_Copy (Target => Destination, Source => Source);
709
710 -- Deal with copying extension nodes if present. No need to copy flags
711 -- table entries, since they are always zero for extending components.
712
713 pragma Assert (Has_Extension (Source) = Has_Extension (Destination));
714
715 if Has_Extension (Source) then
716 for J in 1 .. Num_Extension_Nodes loop
717 Nodes.Table (Destination + J) := Nodes.Table (Source + J);
718 end loop;
719 end if;
720 end Copy_Node;
721
722 ------------------------
723 -- Copy_Separate_List --
724 ------------------------
725
726 function Copy_Separate_List (Source : List_Id) return List_Id is
727 Result : constant List_Id := New_List;
728 Nod : Node_Id;
729
730 begin
731 Nod := First (Source);
732 while Present (Nod) loop
733 Append (Copy_Separate_Tree (Nod), Result);
734 Next (Nod);
735 end loop;
736
737 return Result;
738 end Copy_Separate_List;
739
740 ------------------------
741 -- Copy_Separate_Tree --
742 ------------------------
743
744 function Copy_Separate_Tree (Source : Node_Id) return Node_Id is
745 New_Id : Node_Id;
746
747 function Copy_Entity (E : Entity_Id) return Entity_Id;
748 -- Copy Entity, copying only the Ekind and Chars fields
749
750 function Copy_List (List : List_Id) return List_Id;
751 -- Copy list
752
753 function Possible_Copy (Field : Union_Id) return Union_Id;
754 -- Given a field, returns a copy of the node or list if its parent is
755 -- the current source node, and otherwise returns the input.
756
757 -----------------
758 -- Copy_Entity --
759 -----------------
760
761 function Copy_Entity (E : Entity_Id) return Entity_Id is
762 New_Ent : Entity_Id;
763
764 begin
765 -- Build appropriate node
766
767 case N_Entity (Nkind (E)) is
768 when N_Defining_Identifier =>
769 New_Ent := New_Entity (N_Defining_Identifier, Sloc (E));
770
771 when N_Defining_Character_Literal =>
772 New_Ent := New_Entity (N_Defining_Character_Literal, Sloc (E));
773
774 when N_Defining_Operator_Symbol =>
775 New_Ent := New_Entity (N_Defining_Operator_Symbol, Sloc (E));
776 end case;
777
778 Set_Chars (New_Ent, Chars (E));
779 -- Set_Comes_From_Source (New_Ent, Comes_From_Source (E));
780 return New_Ent;
781 end Copy_Entity;
782
783 ---------------
784 -- Copy_List --
785 ---------------
786
787 function Copy_List (List : List_Id) return List_Id is
788 NL : List_Id;
789 E : Node_Id;
790
791 begin
792 if List = No_List then
793 return No_List;
794
795 else
796 NL := New_List;
797
798 E := First (List);
799 while Present (E) loop
800 if Has_Extension (E) then
801 Append (Copy_Entity (E), NL);
802 else
803 Append (Copy_Separate_Tree (E), NL);
804 end if;
805
806 Next (E);
807 end loop;
808
809 return NL;
810 end if;
811 end Copy_List;
812
813 -------------------
814 -- Possible_Copy --
815 -------------------
816
817 function Possible_Copy (Field : Union_Id) return Union_Id is
818 New_N : Union_Id;
819
820 begin
821 if Field in Node_Range then
822 New_N := Union_Id (Copy_Separate_Tree (Node_Id (Field)));
823
824 if Parent (Node_Id (Field)) = Source then
825 Set_Parent (Node_Id (New_N), New_Id);
826 end if;
827
828 return New_N;
829
830 elsif Field in List_Range then
831 New_N := Union_Id (Copy_List (List_Id (Field)));
832
833 if Parent (List_Id (Field)) = Source then
834 Set_Parent (List_Id (New_N), New_Id);
835 end if;
836
837 return New_N;
838
839 else
840 return Field;
841 end if;
842 end Possible_Copy;
843
844 -- Start of processing for Copy_Separate_Tree
845
846 begin
847 if Source <= Empty_Or_Error then
848 return Source;
849
850 elsif Has_Extension (Source) then
851 return Copy_Entity (Source);
852
853 else
854 New_Id := New_Copy (Source);
855
856 -- Recursively copy descendants
857
858 Set_Field1 (New_Id, Possible_Copy (Field1 (New_Id)));
859 Set_Field2 (New_Id, Possible_Copy (Field2 (New_Id)));
860 Set_Field3 (New_Id, Possible_Copy (Field3 (New_Id)));
861 Set_Field4 (New_Id, Possible_Copy (Field4 (New_Id)));
862 Set_Field5 (New_Id, Possible_Copy (Field5 (New_Id)));
863
864 -- Explicitly copy the aspect specifications as those do not reside
865 -- in a node field.
866
867 if Permits_Aspect_Specifications (Source)
868 and then Has_Aspects (Source)
869 then
870 Set_Aspect_Specifications
871 (New_Id, Copy_List (Aspect_Specifications (Source)));
872 end if;
873
874 -- Set Entity field to Empty to ensure that no entity references
875 -- are shared between the two, if the source is already analyzed.
876
877 if Nkind (New_Id) in N_Has_Entity
878 or else Nkind (New_Id) = N_Freeze_Entity
879 then
880 Set_Entity (New_Id, Empty);
881 end if;
882
883 -- Reset all Etype fields and Analyzed flags, because input tree may
884 -- have been fully or partially analyzed.
885
886 if Nkind (New_Id) in N_Has_Etype then
887 Set_Etype (New_Id, Empty);
888 end if;
889
890 Set_Analyzed (New_Id, False);
891
892 -- Rather special case, if we have an expanded name, then change
893 -- it back into a selected component, so that the tree looks the
894 -- way it did coming out of the parser. This will change back
895 -- when we analyze the selected component node.
896
897 if Nkind (New_Id) = N_Expanded_Name then
898
899 -- The following code is a bit kludgy. It would be cleaner to
900 -- Add an entry Change_Expanded_Name_To_Selected_Component to
901 -- Sinfo.CN, but that's delicate because Atree is used in the
902 -- binder, so we don't want to add that dependency.
903 -- ??? Revisit now that ASIS is no longer using this unit.
904
905 -- Consequently we have no choice but to hold our noses and do
906 -- the change manually. At least we are Atree, so this odd use
907 -- of Atree.Unchecked_Access is at least all in the family.
908
909 -- Change the node type
910
911 Atree.Unchecked_Access.Set_Nkind (New_Id, N_Selected_Component);
912
913 -- Clear the Chars field which is not present in a selected
914 -- component node, so we don't want a junk value around.
915
916 Set_Node1 (New_Id, Empty);
917 end if;
918
919 -- All done, return copied node
920
921 return New_Id;
922 end if;
923 end Copy_Separate_Tree;
924
925 -----------
926 -- Ekind --
927 -----------
928
929 function Ekind (E : Entity_Id) return Entity_Kind is
930 begin
931 pragma Assert (Nkind (E) in N_Entity);
932 return N_To_E (Nodes.Table (E + 1).Nkind);
933 end Ekind;
934
935 ------------------
936 -- Error_Posted --
937 ------------------
938
939 function Error_Posted (N : Node_Id) return Boolean is
940 begin
941 pragma Assert (N <= Nodes.Last);
942 return Nodes.Table (N).Error_Posted;
943 end Error_Posted;
944
945 -----------------------
946 -- Exchange_Entities --
947 -----------------------
948
949 procedure Exchange_Entities (E1 : Entity_Id; E2 : Entity_Id) is
950 Temp_Ent : Node_Record;
951 Temp_Flg : Flags_Byte;
952
953 begin
954 pragma Debug (New_Node_Debugging_Output (E1));
955 pragma Debug (New_Node_Debugging_Output (E2));
956
957 pragma Assert (True
958 and then Has_Extension (E1)
959 and then Has_Extension (E2)
960 and then not Nodes.Table (E1).In_List
961 and then not Nodes.Table (E2).In_List);
962
963 -- Exchange the contents of the two entities
964
965 for J in 0 .. Num_Extension_Nodes loop
966 Temp_Ent := Nodes.Table (E1 + J);
967 Nodes.Table (E1 + J) := Nodes.Table (E2 + J);
968 Nodes.Table (E2 + J) := Temp_Ent;
969 end loop;
970
971 -- Exchange flag bytes for first component. No need to do the exchange
972 -- for the other components, since the flag bytes are always zero.
973
974 Temp_Flg := Flags.Table (E1);
975 Flags.Table (E1) := Flags.Table (E2);
976 Flags.Table (E2) := Temp_Flg;
977
978 -- That exchange exchanged the parent pointers as well, which is what
979 -- we want, but we need to patch up the defining identifier pointers
980 -- in the parent nodes (the child pointers) to match this switch
981 -- unless for Implicit types entities which have no parent, in which
982 -- case we don't do anything otherwise we won't be able to revert back
983 -- to the original situation.
984
985 -- Shouldn't this use Is_Itype instead of the Parent test
986
987 if Present (Parent (E1)) and then Present (Parent (E2)) then
988 Set_Defining_Identifier (Parent (E1), E1);
989 Set_Defining_Identifier (Parent (E2), E2);
990 end if;
991 end Exchange_Entities;
992
993 -----------------
994 -- Extend_Node --
995 -----------------
996
997 function Extend_Node (Source : Node_Id) return Entity_Id is
998 pragma Assert (Present (Source));
999 pragma Assert (not Has_Extension (Source));
1000 New_Id : Entity_Id;
1001
1002 procedure Debug_Extend_Node;
1003 pragma Inline (Debug_Extend_Node);
1004 -- Debug routine for -gnatdn
1005
1006 -----------------------
1007 -- Debug_Extend_Node --
1008 -----------------------
1009
1010 procedure Debug_Extend_Node is
1011 begin
1012 if Debug_Flag_N then
1013 Write_Str ("Extend node ");
1014 Write_Int (Int (Source));
1015
1016 if New_Id = Source then
1017 Write_Str (" in place");
1018 else
1019 Write_Str (" copied to ");
1020 Write_Int (Int (New_Id));
1021 end if;
1022
1023 -- Write_Eol;
1024 end if;
1025 end Debug_Extend_Node;
1026
1027 -- Start of processing for Extend_Node
1028
1029 begin
1030 -- Optimize the case where Source happens to be the last node; in that
1031 -- case, we don't need to move it.
1032
1033 if Source = Nodes.Last then
1034 New_Id := Source;
1035 else
1036 Nodes.Append (Nodes.Table (Source));
1037 Flags.Append (Flags.Table (Source));
1038 New_Id := Nodes.Last;
1039 Orig_Nodes.Append (New_Id);
1040 end if;
1041
1042 Set_Check_Actuals (New_Id, False);
1043
1044 -- Set extension nodes
1045
1046 for J in 1 .. Num_Extension_Nodes loop
1047 Nodes.Append (Default_Node_Extension);
1048 Flags.Append (Default_Flags);
1049 end loop;
1050
1051 Orig_Nodes.Set_Last (Nodes.Last);
1052 Allocate_List_Tables (Nodes.Last);
1053 Report (Target => New_Id, Source => Source);
1054
1055 pragma Debug (Debug_Extend_Node);
1056
1057 return New_Id;
1058 end Extend_Node;
1059
1060 -----------------
1061 -- Fix_Parents --
1062 -----------------
1063
1064 procedure Fix_Parents (Ref_Node, Fix_Node : Node_Id) is
1065 pragma Assert (Nkind (Ref_Node) = Nkind (Fix_Node));
1066
1067 procedure Fix_Parent (Field : Union_Id);
1068 -- Fix up one parent pointer. Field is checked to see if it points to
1069 -- a node, list, or element list that has a parent that points to
1070 -- Ref_Node. If so, the parent is reset to point to Fix_Node.
1071
1072 ----------------
1073 -- Fix_Parent --
1074 ----------------
1075
1076 procedure Fix_Parent (Field : Union_Id) is
1077 begin
1078 -- Fix parent of node that is referenced by Field. Note that we must
1079 -- exclude the case where the node is a member of a list, because in
1080 -- this case the parent is the parent of the list.
1081
1082 if Field in Node_Range
1083 and then Present (Node_Id (Field))
1084 and then not Nodes.Table (Node_Id (Field)).In_List
1085 and then Parent (Node_Id (Field)) = Ref_Node
1086 then
1087 Set_Parent (Node_Id (Field), Fix_Node);
1088
1089 -- Fix parent of list that is referenced by Field
1090
1091 elsif Field in List_Range
1092 and then Present (List_Id (Field))
1093 and then Parent (List_Id (Field)) = Ref_Node
1094 then
1095 Set_Parent (List_Id (Field), Fix_Node);
1096 end if;
1097 end Fix_Parent;
1098
1099 -- Start of processing for Fix_Parents
1100
1101 begin
1102 Fix_Parent (Field1 (Fix_Node));
1103 Fix_Parent (Field2 (Fix_Node));
1104 Fix_Parent (Field3 (Fix_Node));
1105 Fix_Parent (Field4 (Fix_Node));
1106 Fix_Parent (Field5 (Fix_Node));
1107 end Fix_Parents;
1108
1109 -------------------
1110 -- Flags_Address --
1111 -------------------
1112
1113 function Flags_Address return System.Address is
1114 begin
1115 return Flags.Table (First_Node_Id)'Address;
1116 end Flags_Address;
1117
1118 -----------------------------------
1119 -- Get_Comes_From_Source_Default --
1120 -----------------------------------
1121
1122 function Get_Comes_From_Source_Default return Boolean is
1123 begin
1124 return Comes_From_Source_Default;
1125 end Get_Comes_From_Source_Default;
1126
1127 -----------------
1128 -- Has_Aspects --
1129 -----------------
1130
1131 function Has_Aspects (N : Node_Id) return Boolean is
1132 begin
1133 pragma Assert (N <= Nodes.Last);
1134 return Nodes.Table (N).Has_Aspects;
1135 end Has_Aspects;
1136
1137 -------------------
1138 -- Has_Extension --
1139 -------------------
1140
1141 function Has_Extension (N : Node_Id) return Boolean is
1142 begin
1143 return N < Nodes.Last and then Nodes.Table (N + 1).Is_Extension;
1144 end Has_Extension;
1145
1146 ----------------
1147 -- Initialize --
1148 ----------------
1149
1150 procedure Initialize is
1151 Dummy : Node_Id;
1152 pragma Warnings (Off, Dummy);
1153
1154 begin
1155 Atree_Private_Part.Nodes.Init;
1156 Atree_Private_Part.Flags.Init;
1157 Orig_Nodes.Init;
1158 Paren_Counts.Init;
1159
1160 -- Allocate Empty node
1161
1162 Dummy := New_Node (N_Empty, No_Location);
1163 Set_Name1 (Empty, No_Name);
1164
1165 -- Allocate Error node, and set Error_Posted, since we certainly
1166 -- only generate an Error node if we do post some kind of error.
1167
1168 Dummy := New_Node (N_Error, No_Location);
1169 Set_Name1 (Error, Error_Name);
1170 Set_Error_Posted (Error, True);
1171 end Initialize;
1172
1173 ---------------------------
1174 -- Is_Ignored_Ghost_Node --
1175 ---------------------------
1176
1177 function Is_Ignored_Ghost_Node (N : Node_Id) return Boolean is
1178 begin
1179 return Flags.Table (N).Is_Ignored_Ghost_Node;
1180 end Is_Ignored_Ghost_Node;
1181
1182 --------------------------
1183 -- Is_Rewrite_Insertion --
1184 --------------------------
1185
1186 function Is_Rewrite_Insertion (Node : Node_Id) return Boolean is
1187 begin
1188 return Nodes.Table (Node).Rewrite_Ins;
1189 end Is_Rewrite_Insertion;
1190
1191 -----------------------------
1192 -- Is_Rewrite_Substitution --
1193 -----------------------------
1194
1195 function Is_Rewrite_Substitution (Node : Node_Id) return Boolean is
1196 begin
1197 return Orig_Nodes.Table (Node) /= Node;
1198 end Is_Rewrite_Substitution;
1199
1200 ------------------
1201 -- Last_Node_Id --
1202 ------------------
1203
1204 function Last_Node_Id return Node_Id is
1205 begin
1206 return Nodes.Last;
1207 end Last_Node_Id;
1208
1209 ----------
1210 -- Lock --
1211 ----------
1212
1213 procedure Lock is
1214 begin
1215 -- We used to Release the tables, as in the comments below, but that is
1216 -- a waste of time. We're only wasting virtual memory here, and the
1217 -- release calls copy large amounts of data.
1218 -- ???Get rid of Release?
1219
1220 -- Flags.Release;
1221 Flags.Locked := True;
1222 -- Orig_Nodes.Release;
1223 Orig_Nodes.Locked := True;
1224 end Lock;
1225
1226 ----------------
1227 -- Lock_Nodes --
1228 ----------------
1229
1230 procedure Lock_Nodes is
1231 begin
1232 pragma Assert (not Locked);
1233 Locked := True;
1234 end Lock_Nodes;
1235
1236 -------------------------
1237 -- Mark_New_Ghost_Node --
1238 -------------------------
1239
1240 procedure Mark_New_Ghost_Node (N : Node_Or_Entity_Id) is
1241 begin
1242 -- The Ghost node is created within a Ghost region
1243
1244 if Ghost_Mode = Check then
1245 if Nkind (N) in N_Entity then
1246 Set_Is_Checked_Ghost_Entity (N);
1247 end if;
1248
1249 elsif Ghost_Mode = Ignore then
1250 if Nkind (N) in N_Entity then
1251 Set_Is_Ignored_Ghost_Entity (N);
1252 end if;
1253
1254 Set_Is_Ignored_Ghost_Node (N);
1255
1256 -- Record the ignored Ghost node or entity in order to eliminate it
1257 -- from the tree later.
1258
1259 if Ignored_Ghost_Recording_Proc /= null then
1260 Ignored_Ghost_Recording_Proc.all (N);
1261 end if;
1262 end if;
1263 end Mark_New_Ghost_Node;
1264
1265 ----------------------------
1266 -- Mark_Rewrite_Insertion --
1267 ----------------------------
1268
1269 procedure Mark_Rewrite_Insertion (New_Node : Node_Id) is
1270 begin
1271 Nodes.Table (New_Node).Rewrite_Ins := True;
1272 end Mark_Rewrite_Insertion;
1273
1274 --------------
1275 -- New_Copy --
1276 --------------
1277
1278 function New_Copy (Source : Node_Id) return Node_Id is
1279 New_Id : Node_Id;
1280 begin
1281 if Source <= Empty_Or_Error then
1282 return Source;
1283 end if;
1284
1285 Nodes.Append (Nodes.Table (Source));
1286 Flags.Append (Flags.Table (Source));
1287 New_Id := Nodes.Last;
1288 Orig_Nodes.Append (New_Id);
1289 Set_Check_Actuals (New_Id, False);
1290 Set_Paren_Count_Of_Copy (Target => New_Id, Source => Source);
1291
1292 -- Set extension nodes if required
1293
1294 if Has_Extension (Source) then
1295 for J in 1 .. Num_Extension_Nodes loop
1296 Nodes.Append (Nodes.Table (Source + J));
1297 Flags.Append (Flags.Table (Source + J));
1298 end loop;
1299 Orig_Nodes.Set_Last (Nodes.Last);
1300 else
1301 pragma Assert (Orig_Nodes.Table (Orig_Nodes.Last) = Nodes.Last);
1302 end if;
1303
1304 Allocate_List_Tables (Nodes.Last);
1305 Report (Target => New_Id, Source => Source);
1306
1307 Nodes.Table (New_Id).In_List := False;
1308 Nodes.Table (New_Id).Link := Empty_List_Or_Node;
1309
1310 -- If the original is marked as a rewrite insertion, then unmark the
1311 -- copy, since we inserted the original, not the copy.
1312
1313 Nodes.Table (New_Id).Rewrite_Ins := False;
1314 pragma Debug (New_Node_Debugging_Output (New_Id));
1315
1316 -- Clear Is_Overloaded since we cannot have semantic interpretations
1317 -- of this new node.
1318
1319 if Nkind (Source) in N_Subexpr then
1320 Set_Is_Overloaded (New_Id, False);
1321 end if;
1322
1323 -- Always clear Has_Aspects, the caller must take care of copying
1324 -- aspects if this is required for the particular situation.
1325
1326 Set_Has_Aspects (New_Id, False);
1327
1328 -- Mark the copy as Ghost depending on the current Ghost region
1329
1330 Mark_New_Ghost_Node (New_Id);
1331
1332 pragma Assert (New_Id /= Source);
1333 return New_Id;
1334 end New_Copy;
1335
1336 ----------------
1337 -- New_Entity --
1338 ----------------
1339
1340 function New_Entity
1341 (New_Node_Kind : Node_Kind;
1342 New_Sloc : Source_Ptr) return Entity_Id
1343 is
1344 pragma Assert (New_Node_Kind in N_Entity);
1345 New_Id : constant Entity_Id := Allocate_New_Node;
1346 begin
1347 -- Set extension nodes
1348
1349 for J in 1 .. Num_Extension_Nodes loop
1350 Nodes.Append (Default_Node_Extension);
1351 Flags.Append (Default_Flags);
1352 end loop;
1353
1354 Orig_Nodes.Set_Last (Nodes.Last);
1355
1356 -- If this is a node with a real location and we are generating
1357 -- source nodes, then reset Current_Error_Node. This is useful
1358 -- if we bomb during parsing to get a error location for the bomb.
1359
1360 if New_Sloc > No_Location and then Comes_From_Source_Default then
1361 Current_Error_Node := New_Id;
1362 end if;
1363
1364 Nodes.Table (New_Id).Nkind := New_Node_Kind;
1365 Nodes.Table (New_Id).Sloc := New_Sloc;
1366 pragma Debug (New_Node_Debugging_Output (New_Id));
1367
1368 -- Mark the new entity as Ghost depending on the current Ghost region
1369
1370 Mark_New_Ghost_Node (New_Id);
1371
1372 return New_Id;
1373 end New_Entity;
1374
1375 --------------
1376 -- New_Node --
1377 --------------
1378
1379 function New_Node
1380 (New_Node_Kind : Node_Kind;
1381 New_Sloc : Source_Ptr) return Node_Id
1382 is
1383 pragma Assert (New_Node_Kind not in N_Entity);
1384 New_Id : constant Node_Id := Allocate_New_Node;
1385 pragma Assert (Orig_Nodes.Table (Orig_Nodes.Last) = Nodes.Last);
1386 begin
1387 Nodes.Table (New_Id).Nkind := New_Node_Kind;
1388 Nodes.Table (New_Id).Sloc := New_Sloc;
1389 pragma Debug (New_Node_Debugging_Output (New_Id));
1390
1391 -- If this is a node with a real location and we are generating source
1392 -- nodes, then reset Current_Error_Node. This is useful if we bomb
1393 -- during parsing to get an error location for the bomb.
1394
1395 if Comes_From_Source_Default and then New_Sloc > No_Location then
1396 Current_Error_Node := New_Id;
1397 end if;
1398
1399 -- Mark the new node as Ghost depending on the current Ghost region
1400
1401 Mark_New_Ghost_Node (New_Id);
1402
1403 return New_Id;
1404 end New_Node;
1405
1406 -------------------------
1407 -- New_Node_Breakpoint --
1408 -------------------------
1409
1410 procedure nn is
1411 begin
1412 Write_Str ("Watched node ");
1413 Write_Int (Int (Watch_Node));
1414 Write_Eol;
1415 end nn;
1416
1417 -------------------------------
1418 -- New_Node_Debugging_Output --
1419 -------------------------------
1420
1421 procedure nnd (N : Node_Id) is
1422 Node_Is_Watched : constant Boolean := N = Watch_Node;
1423
1424 begin
1425 if Debug_Flag_N or else Node_Is_Watched then
1426 Node_Debug_Output ("Node", N);
1427
1428 if Node_Is_Watched then
1429 New_Node_Breakpoint;
1430 end if;
1431 end if;
1432 end nnd;
1433
1434 -----------
1435 -- Nkind --
1436 -----------
1437
1438 function Nkind (N : Node_Id) return Node_Kind is
1439 begin
1440 return Nodes.Table (N).Nkind;
1441 end Nkind;
1442
1443 --------
1444 -- No --
1445 --------
1446
1447 function No (N : Node_Id) return Boolean is
1448 begin
1449 return N = Empty;
1450 end No;
1451
1452 -----------------------
1453 -- Node_Debug_Output --
1454 -----------------------
1455
1456 procedure Node_Debug_Output (Op : String; N : Node_Id) is
1457 begin
1458 Write_Str (Op);
1459
1460 if Nkind (N) in N_Entity then
1461 Write_Str (" entity");
1462 else
1463 Write_Str (" node");
1464 end if;
1465
1466 Write_Str (" Id = ");
1467 Write_Int (Int (N));
1468 Write_Str (" ");
1469 Write_Location (Sloc (N));
1470 Write_Str (" ");
1471 Write_Str (Node_Kind'Image (Nkind (N)));
1472 Write_Eol;
1473 end Node_Debug_Output;
1474
1475 -------------------
1476 -- Nodes_Address --
1477 -------------------
1478
1479 function Nodes_Address return System.Address is
1480 begin
1481 return Nodes.Table (First_Node_Id)'Address;
1482 end Nodes_Address;
1483
1484 -----------------------------------
1485 -- Approx_Num_Nodes_And_Entities --
1486 -----------------------------------
1487
1488 function Approx_Num_Nodes_And_Entities return Nat is
1489 begin
1490 -- This is an overestimate, because entities take up more space, but
1491 -- that really doesn't matter; it's not worth subtracting out the
1492 -- "extra".
1493
1494 return Nat (Nodes.Last - First_Node_Id);
1495 end Approx_Num_Nodes_And_Entities;
1496
1497 -------------------
1498 -- Original_Node --
1499 -------------------
1500
1501 function Original_Node (Node : Node_Id) return Node_Id is
1502 begin
1503 return Orig_Nodes.Table (Node);
1504 end Original_Node;
1505
1506 -----------------
1507 -- Paren_Count --
1508 -----------------
1509
1510 function Paren_Count (N : Node_Id) return Nat is
1511 C : Nat := 0;
1512
1513 begin
1514 pragma Assert (N <= Nodes.Last);
1515
1516 if Nodes.Table (N).Pflag1 then
1517 C := C + 1;
1518 end if;
1519
1520 if Nodes.Table (N).Pflag2 then
1521 C := C + 2;
1522 end if;
1523
1524 -- Value of 0,1,2 returned as is
1525
1526 if C <= 2 then
1527 return C;
1528
1529 -- Value of 3 means we search the table, and we must find an entry
1530
1531 else
1532 for J in Paren_Counts.First .. Paren_Counts.Last loop
1533 if N = Paren_Counts.Table (J).Nod then
1534 return Paren_Counts.Table (J).Count;
1535 end if;
1536 end loop;
1537
1538 raise Program_Error;
1539 end if;
1540 end Paren_Count;
1541
1542 ------------
1543 -- Parent --
1544 ------------
1545
1546 function Parent (N : Node_Id) return Node_Id is
1547 begin
1548 if Is_List_Member (N) then
1549 return Parent (List_Containing (N));
1550 else
1551 return Node_Id (Nodes.Table (N).Link);
1552 end if;
1553 end Parent;
1554
1555 -------------
1556 -- Present --
1557 -------------
1558
1559 function Present (N : Node_Id) return Boolean is
1560 begin
1561 return N /= Empty;
1562 end Present;
1563
1564 --------------------------------
1565 -- Preserve_Comes_From_Source --
1566 --------------------------------
1567
1568 procedure Preserve_Comes_From_Source (NewN, OldN : Node_Id) is
1569 begin
1570 Set_Comes_From_Source (NewN, Comes_From_Source (OldN));
1571 end Preserve_Comes_From_Source;
1572
1573 ----------------------
1574 -- Print_Statistics --
1575 ----------------------
1576
1577 procedure Print_Statistics is
1578 N_Count : constant Natural := Natural (Nodes.Last - First_Node_Id + 1);
1579 E_Count : Natural := 0;
1580
1581 begin
1582 Write_Str ("Number of entities: ");
1583 Write_Eol;
1584
1585 declare
1586 function CP_Lt (Op1, Op2 : Natural) return Boolean;
1587 -- Compare routine for Sort
1588
1589 procedure CP_Move (From : Natural; To : Natural);
1590 -- Move routine for Sort
1591
1592 Kind_Count : array (Node_Kind) of Natural := (others => 0);
1593 -- Array of occurrence count per node kind
1594
1595 Kind_Max : constant Natural := Node_Kind'Pos (N_Unused_At_End) - 1;
1596 -- The index of the largest (interesting) node kind
1597
1598 Ranking : array (0 .. Kind_Max) of Node_Kind;
1599 -- Ranking array for node kinds (index 0 is used for the temporary)
1600
1601 package Sorting is new GNAT.Heap_Sort_G (CP_Move, CP_Lt);
1602
1603 function CP_Lt (Op1, Op2 : Natural) return Boolean is
1604 begin
1605 return Kind_Count (Ranking (Op2)) < Kind_Count (Ranking (Op1));
1606 end CP_Lt;
1607
1608 procedure CP_Move (From : Natural; To : Natural) is
1609 begin
1610 Ranking (To) := Ranking (From);
1611 end CP_Move;
1612
1613 begin
1614 -- Count the number of occurrences of each node kind
1615
1616 for I in First_Node_Id .. Nodes.Last loop
1617 declare
1618 Nkind : constant Node_Kind := Nodes.Table (I).Nkind;
1619 begin
1620 if not Nodes.Table (I).Is_Extension then
1621 Kind_Count (Nkind) := Kind_Count (Nkind) + 1;
1622 end if;
1623 end;
1624 end loop;
1625
1626 -- Sort the node kinds by number of occurrences
1627
1628 for N in 1 .. Kind_Max loop
1629 Ranking (N) := Node_Kind'Val (N);
1630 end loop;
1631
1632 Sorting.Sort (Kind_Max);
1633
1634 -- Print the list in descending order
1635
1636 for N in 1 .. Kind_Max loop
1637 declare
1638 Count : constant Natural := Kind_Count (Ranking (N));
1639 begin
1640 if Count > 0 then
1641 Write_Str (" ");
1642 Write_Str (Node_Kind'Image (Ranking (N)));
1643 Write_Str (": ");
1644 Write_Int (Int (Count));
1645 Write_Eol;
1646
1647 E_Count := E_Count + Count;
1648 end if;
1649 end;
1650 end loop;
1651 end;
1652
1653 Write_Str ("Total number of entities: ");
1654 Write_Int (Int (E_Count));
1655 Write_Eol;
1656
1657 Write_Str ("Maximum number of nodes per entity: ");
1658 Write_Int (Int (Num_Extension_Nodes + 1));
1659 Write_Eol;
1660
1661 Write_Str ("Number of allocated nodes: ");
1662 Write_Int (Int (N_Count));
1663 Write_Eol;
1664
1665 Write_Str ("Ratio allocated nodes/entities: ");
1666 Write_Int (Int (Long_Long_Integer (N_Count) * 100 /
1667 Long_Long_Integer (E_Count)));
1668 Write_Str ("/100");
1669 Write_Eol;
1670
1671 Write_Str ("Size of a node in bytes: ");
1672 Write_Int (Int (Node_Record'Size) / Storage_Unit);
1673 Write_Eol;
1674
1675 Write_Str ("Memory consumption in bytes: ");
1676 Write_Int (Int (Long_Long_Integer (N_Count) *
1677 (Node_Record'Size / Storage_Unit)));
1678 Write_Eol;
1679 end Print_Statistics;
1680
1681 -------------------
1682 -- Relocate_Node --
1683 -------------------
1684
1685 function Relocate_Node (Source : Node_Id) return Node_Id is
1686 New_Node : Node_Id;
1687
1688 begin
1689 if No (Source) then
1690 return Empty;
1691 end if;
1692
1693 New_Node := New_Copy (Source);
1694 Fix_Parents (Ref_Node => Source, Fix_Node => New_Node);
1695
1696 -- We now set the parent of the new node to be the same as the parent of
1697 -- the source. Almost always this parent will be replaced by a new value
1698 -- when the relocated node is reattached to the tree, but by doing it
1699 -- now, we ensure that this node is not even temporarily disconnected
1700 -- from the tree. Note that this does not happen free, because in the
1701 -- list case, the parent does not get set.
1702
1703 Set_Parent (New_Node, Parent (Source));
1704
1705 -- If the node being relocated was a rewriting of some original node,
1706 -- then the relocated node has the same original node.
1707
1708 if Is_Rewrite_Substitution (Source) then
1709 Orig_Nodes.Table (New_Node) := Orig_Nodes.Table (Source);
1710 end if;
1711
1712 return New_Node;
1713 end Relocate_Node;
1714
1715 -------------
1716 -- Replace --
1717 -------------
1718
1719 procedure Replace (Old_Node, New_Node : Node_Id) is
1720 Old_Post : constant Boolean := Nodes.Table (Old_Node).Error_Posted;
1721 Old_HasA : constant Boolean := Nodes.Table (Old_Node).Has_Aspects;
1722 Old_CFS : constant Boolean := Nodes.Table (Old_Node).Comes_From_Source;
1723
1724 begin
1725 pragma Assert
1726 (not Has_Extension (Old_Node)
1727 and not Has_Extension (New_Node)
1728 and not Nodes.Table (New_Node).In_List);
1729
1730 pragma Debug (New_Node_Debugging_Output (Old_Node));
1731 pragma Debug (New_Node_Debugging_Output (New_Node));
1732
1733 -- Do copy, preserving link and in list status and required flags
1734
1735 Copy_Node (Source => New_Node, Destination => Old_Node);
1736 Nodes.Table (Old_Node).Comes_From_Source := Old_CFS;
1737 Nodes.Table (Old_Node).Error_Posted := Old_Post;
1738 Nodes.Table (Old_Node).Has_Aspects := Old_HasA;
1739
1740 -- Fix parents of substituted node, since it has changed identity
1741
1742 Fix_Parents (Ref_Node => New_Node, Fix_Node => Old_Node);
1743
1744 -- Since we are doing a replace, we assume that the original node
1745 -- is intended to become the new replaced node. The call would be
1746 -- to Rewrite if there were an intention to save the original node.
1747
1748 Orig_Nodes.Table (Old_Node) := Old_Node;
1749
1750 -- Invoke the reporting procedure (if available)
1751
1752 if Reporting_Proc /= null then
1753 Reporting_Proc.all (Target => Old_Node, Source => New_Node);
1754 end if;
1755 end Replace;
1756
1757 ------------
1758 -- Report --
1759 ------------
1760
1761 procedure Report (Target, Source : Node_Id) is
1762 begin
1763 if Reporting_Proc /= null then
1764 Reporting_Proc.all (Target, Source);
1765 end if;
1766 end Report;
1767
1768 -------------
1769 -- Rewrite --
1770 -------------
1771
1772 procedure Rewrite (Old_Node, New_Node : Node_Id) is
1773
1774 -- Flags table attributes
1775
1776 Old_CA : constant Boolean := Flags.Table (Old_Node).Check_Actuals;
1777 Old_Is_IGN : constant Boolean :=
1778 Flags.Table (Old_Node).Is_Ignored_Ghost_Node;
1779
1780 -- Nodes table attributes
1781
1782 Old_Error_Posted : constant Boolean :=
1783 Nodes.Table (Old_Node).Error_Posted;
1784 Old_Has_Aspects : constant Boolean :=
1785 Nodes.Table (Old_Node).Has_Aspects;
1786
1787 Old_Must_Not_Freeze : Boolean;
1788 Old_Paren_Count : Nat;
1789 -- These fields are preserved in the new node only if the new node and
1790 -- the old node are both subexpression nodes.
1791
1792 -- Note: it is a violation of abstraction levels for Must_Not_Freeze
1793 -- to be referenced like this. ???
1794
1795 Sav_Node : Node_Id;
1796
1797 begin
1798 pragma Assert
1799 (not Has_Extension (Old_Node)
1800 and not Has_Extension (New_Node)
1801 and not Nodes.Table (New_Node).In_List);
1802
1803 pragma Debug (New_Node_Debugging_Output (Old_Node));
1804 pragma Debug (New_Node_Debugging_Output (New_Node));
1805
1806 if Nkind (Old_Node) in N_Subexpr then
1807 Old_Must_Not_Freeze := Must_Not_Freeze (Old_Node);
1808 Old_Paren_Count := Paren_Count (Old_Node);
1809 else
1810 Old_Must_Not_Freeze := False;
1811 Old_Paren_Count := 0;
1812 end if;
1813
1814 -- Allocate a new node, to be used to preserve the original contents
1815 -- of the Old_Node, for possible later retrival by Original_Node and
1816 -- make an entry in the Orig_Nodes table. This is only done if we have
1817 -- not already rewritten the node, as indicated by an Orig_Nodes entry
1818 -- that does not reference the Old_Node.
1819
1820 if Orig_Nodes.Table (Old_Node) = Old_Node then
1821 Sav_Node := New_Copy (Old_Node);
1822 Orig_Nodes.Table (Sav_Node) := Sav_Node;
1823 Orig_Nodes.Table (Old_Node) := Sav_Node;
1824
1825 -- Both the old and new copies of the node will share the same list
1826 -- of aspect specifications if aspect specifications are present.
1827
1828 if Old_Has_Aspects then
1829 Set_Aspect_Specifications
1830 (Sav_Node, Aspect_Specifications (Old_Node));
1831 end if;
1832 end if;
1833
1834 -- Copy substitute node into place, preserving old fields as required
1835
1836 Copy_Node (Source => New_Node, Destination => Old_Node);
1837 Nodes.Table (Old_Node).Error_Posted := Old_Error_Posted;
1838 Nodes.Table (Old_Node).Has_Aspects := Old_Has_Aspects;
1839
1840 Flags.Table (Old_Node).Check_Actuals := Old_CA;
1841 Flags.Table (Old_Node).Is_Ignored_Ghost_Node := Old_Is_IGN;
1842
1843 if Nkind (New_Node) in N_Subexpr then
1844 Set_Paren_Count (Old_Node, Old_Paren_Count);
1845 Set_Must_Not_Freeze (Old_Node, Old_Must_Not_Freeze);
1846 end if;
1847
1848 Fix_Parents (Ref_Node => New_Node, Fix_Node => Old_Node);
1849
1850 -- Invoke the reporting procedure (if available)
1851
1852 if Reporting_Proc /= null then
1853 Reporting_Proc.all (Target => Old_Node, Source => New_Node);
1854 end if;
1855
1856 -- Invoke the rewriting procedure (if available)
1857
1858 if Rewriting_Proc /= null then
1859 Rewriting_Proc.all (Target => Old_Node, Source => New_Node);
1860 end if;
1861 end Rewrite;
1862
1863 ------------------
1864 -- Set_Analyzed --
1865 ------------------
1866
1867 procedure Set_Analyzed (N : Node_Id; Val : Boolean := True) is
1868 begin
1869 pragma Assert (not Locked);
1870 Nodes.Table (N).Analyzed := Val;
1871 end Set_Analyzed;
1872
1873 -----------------------
1874 -- Set_Check_Actuals --
1875 -----------------------
1876
1877 procedure Set_Check_Actuals (N : Node_Id; Val : Boolean := True) is
1878 begin
1879 pragma Assert (not Locked);
1880 Flags.Table (N).Check_Actuals := Val;
1881 end Set_Check_Actuals;
1882
1883 ---------------------------
1884 -- Set_Comes_From_Source --
1885 ---------------------------
1886
1887 procedure Set_Comes_From_Source (N : Node_Id; Val : Boolean) is
1888 begin
1889 pragma Assert (not Locked);
1890 pragma Assert (N <= Nodes.Last);
1891 Nodes.Table (N).Comes_From_Source := Val;
1892 end Set_Comes_From_Source;
1893
1894 -----------------------------------
1895 -- Set_Comes_From_Source_Default --
1896 -----------------------------------
1897
1898 procedure Set_Comes_From_Source_Default (Default : Boolean) is
1899 begin
1900 Comes_From_Source_Default := Default;
1901 end Set_Comes_From_Source_Default;
1902
1903 ---------------
1904 -- Set_Ekind --
1905 ---------------
1906
1907 procedure Set_Ekind (E : Entity_Id; Val : Entity_Kind) is
1908 begin
1909 pragma Assert (not Locked);
1910 pragma Assert (Nkind (E) in N_Entity);
1911 Nodes.Table (E + 1).Nkind := E_To_N (Val);
1912 end Set_Ekind;
1913
1914 ----------------------
1915 -- Set_Error_Posted --
1916 ----------------------
1917
1918 procedure Set_Error_Posted (N : Node_Id; Val : Boolean := True) is
1919 begin
1920 pragma Assert (not Locked);
1921 Nodes.Table (N).Error_Posted := Val;
1922 end Set_Error_Posted;
1923
1924 ---------------------
1925 -- Set_Has_Aspects --
1926 ---------------------
1927
1928 procedure Set_Has_Aspects (N : Node_Id; Val : Boolean := True) is
1929 begin
1930 pragma Assert (not Locked);
1931 pragma Assert (N <= Nodes.Last);
1932 Nodes.Table (N).Has_Aspects := Val;
1933 end Set_Has_Aspects;
1934
1935 --------------------------------------
1936 -- Set_Ignored_Ghost_Recording_Proc --
1937 --------------------------------------
1938
1939 procedure Set_Ignored_Ghost_Recording_Proc
1940 (Proc : Ignored_Ghost_Record_Proc)
1941 is
1942 begin
1943 pragma Assert (Ignored_Ghost_Recording_Proc = null);
1944 Ignored_Ghost_Recording_Proc := Proc;
1945 end Set_Ignored_Ghost_Recording_Proc;
1946
1947 -------------------------------
1948 -- Set_Is_Ignored_Ghost_Node --
1949 -------------------------------
1950
1951 procedure Set_Is_Ignored_Ghost_Node (N : Node_Id; Val : Boolean := True) is
1952 begin
1953 pragma Assert (not Locked);
1954 Flags.Table (N).Is_Ignored_Ghost_Node := Val;
1955 end Set_Is_Ignored_Ghost_Node;
1956
1957 -----------------------
1958 -- Set_Original_Node --
1959 -----------------------
1960
1961 procedure Set_Original_Node (N : Node_Id; Val : Node_Id) is
1962 begin
1963 pragma Assert (not Locked);
1964 Orig_Nodes.Table (N) := Val;
1965 end Set_Original_Node;
1966
1967 ---------------------
1968 -- Set_Paren_Count --
1969 ---------------------
1970
1971 procedure Set_Paren_Count (N : Node_Id; Val : Nat) is
1972 begin
1973 pragma Assert (not Locked);
1974 pragma Assert (Nkind (N) in N_Subexpr);
1975
1976 -- Value of 0,1,2 stored as is
1977
1978 if Val <= 2 then
1979 Nodes.Table (N).Pflag1 := (Val mod 2 /= 0);
1980 Nodes.Table (N).Pflag2 := (Val = 2);
1981
1982 -- Value of 3 or greater stores 3 in node and makes table entry
1983
1984 else
1985 Nodes.Table (N).Pflag1 := True;
1986 Nodes.Table (N).Pflag2 := True;
1987
1988 -- Search for existing table entry
1989
1990 for J in Paren_Counts.First .. Paren_Counts.Last loop
1991 if N = Paren_Counts.Table (J).Nod then
1992 Paren_Counts.Table (J).Count := Val;
1993 return;
1994 end if;
1995 end loop;
1996
1997 -- No existing table entry; make a new one
1998
1999 Paren_Counts.Append ((Nod => N, Count => Val));
2000 end if;
2001 end Set_Paren_Count;
2002
2003 -----------------------------
2004 -- Set_Paren_Count_Of_Copy --
2005 -----------------------------
2006
2007 procedure Set_Paren_Count_Of_Copy (Target, Source : Node_Id) is
2008 begin
2009 -- We already copied the two Pflags. We need to update the Paren_Counts
2010 -- table only if greater than 2.
2011
2012 if Nkind (Source) in N_Subexpr
2013 and then Paren_Count (Source) > 2
2014 then
2015 Set_Paren_Count (Target, Paren_Count (Source));
2016 end if;
2017
2018 pragma Assert (Paren_Count (Target) = Paren_Count (Source));
2019 end Set_Paren_Count_Of_Copy;
2020
2021 ----------------
2022 -- Set_Parent --
2023 ----------------
2024
2025 procedure Set_Parent (N : Node_Id; Val : Node_Id) is
2026 begin
2027 pragma Assert (not Locked);
2028 pragma Assert (not Nodes.Table (N).In_List);
2029 Nodes.Table (N).Link := Union_Id (Val);
2030 end Set_Parent;
2031
2032 ------------------------
2033 -- Set_Reporting_Proc --
2034 ------------------------
2035
2036 procedure Set_Reporting_Proc (Proc : Report_Proc) is
2037 begin
2038 pragma Assert (Reporting_Proc = null);
2039 Reporting_Proc := Proc;
2040 end Set_Reporting_Proc;
2041
2042 --------------
2043 -- Set_Sloc --
2044 --------------
2045
2046 procedure Set_Sloc (N : Node_Id; Val : Source_Ptr) is
2047 begin
2048 pragma Assert (not Locked);
2049 Nodes.Table (N).Sloc := Val;
2050 end Set_Sloc;
2051
2052 ------------------------
2053 -- Set_Rewriting_Proc --
2054 ------------------------
2055
2056 procedure Set_Rewriting_Proc (Proc : Rewrite_Proc) is
2057 begin
2058 pragma Assert (Rewriting_Proc = null);
2059 Rewriting_Proc := Proc;
2060 end Set_Rewriting_Proc;
2061
2062 ----------
2063 -- Sloc --
2064 ----------
2065
2066 function Sloc (N : Node_Id) return Source_Ptr is
2067 begin
2068 return Nodes.Table (N).Sloc;
2069 end Sloc;
2070
2071 -------------------
2072 -- Traverse_Func --
2073 -------------------
2074
2075 function Traverse_Func (Node : Node_Id) return Traverse_Final_Result is
2076
2077 function Traverse_Field
2078 (Nod : Node_Id;
2079 Fld : Union_Id;
2080 FN : Field_Num) return Traverse_Final_Result;
2081 -- Fld is one of the fields of Nod. If the field points to syntactic
2082 -- node or list, then this node or list is traversed, and the result is
2083 -- the result of this traversal. Otherwise a value of True is returned
2084 -- with no processing. FN is the number of the field (1 .. 5).
2085
2086 --------------------
2087 -- Traverse_Field --
2088 --------------------
2089
2090 function Traverse_Field
2091 (Nod : Node_Id;
2092 Fld : Union_Id;
2093 FN : Field_Num) return Traverse_Final_Result
2094 is
2095 begin
2096 if Fld = Union_Id (Empty) then
2097 return OK;
2098
2099 -- Descendant is a node
2100
2101 elsif Fld in Node_Range then
2102
2103 -- Traverse descendant that is syntactic subtree node
2104
2105 if Is_Syntactic_Field (Nkind (Nod), FN) then
2106 return Traverse_Func (Node_Id (Fld));
2107
2108 -- Node that is not a syntactic subtree
2109
2110 else
2111 return OK;
2112 end if;
2113
2114 -- Descendant is a list
2115
2116 elsif Fld in List_Range then
2117
2118 -- Traverse descendant that is a syntactic subtree list
2119
2120 if Is_Syntactic_Field (Nkind (Nod), FN) then
2121 declare
2122 Elmt : Node_Id := First (List_Id (Fld));
2123
2124 begin
2125 while Present (Elmt) loop
2126 if Traverse_Func (Elmt) = Abandon then
2127 return Abandon;
2128 else
2129 Next (Elmt);
2130 end if;
2131 end loop;
2132
2133 return OK;
2134 end;
2135
2136 -- List that is not a syntactic subtree
2137
2138 else
2139 return OK;
2140 end if;
2141
2142 -- Field was not a node or a list
2143
2144 else
2145 return OK;
2146 end if;
2147 end Traverse_Field;
2148
2149 Cur_Node : Node_Id := Node;
2150
2151 -- Start of processing for Traverse_Func
2152
2153 begin
2154 -- We walk Field2 last, and if it is a node, we eliminate the tail
2155 -- recursion by jumping back to this label. This is because Field2 is
2156 -- where the Left_Opnd field of N_Op_Concat is stored, and in practice
2157 -- concatenations are sometimes deeply nested, as in X1&X2&...&XN. This
2158 -- trick prevents us from running out of memory in that case. We don't
2159 -- bother eliminating the tail recursion if Field2 is a list.
2160
2161 <<Tail_Recurse>>
2162
2163 case Process (Cur_Node) is
2164 when Abandon =>
2165 return Abandon;
2166
2167 when Skip =>
2168 return OK;
2169
2170 when OK =>
2171 null;
2172
2173 when OK_Orig =>
2174 Cur_Node := Original_Node (Cur_Node);
2175 end case;
2176
2177 if Traverse_Field (Cur_Node, Field1 (Cur_Node), 1) = Abandon
2178 or else -- skip Field2 here
2179 Traverse_Field (Cur_Node, Field3 (Cur_Node), 3) = Abandon
2180 or else
2181 Traverse_Field (Cur_Node, Field4 (Cur_Node), 4) = Abandon
2182 or else
2183 Traverse_Field (Cur_Node, Field5 (Cur_Node), 5) = Abandon
2184 then
2185 return Abandon;
2186 end if;
2187
2188 if Field2 (Cur_Node) not in Node_Range then
2189 return Traverse_Field (Cur_Node, Field2 (Cur_Node), 2);
2190
2191 elsif Is_Syntactic_Field (Nkind (Cur_Node), 2)
2192 and then Field2 (Cur_Node) /= Empty_List_Or_Node
2193 then
2194 -- Here is the tail recursion step, we reset Cur_Node and jump back
2195 -- to the start of the procedure, which has the same semantic effect
2196 -- as a call.
2197
2198 Cur_Node := Node_Id (Field2 (Cur_Node));
2199 goto Tail_Recurse;
2200 end if;
2201
2202 return OK;
2203 end Traverse_Func;
2204
2205 -------------------
2206 -- Traverse_Proc --
2207 -------------------
2208
2209 procedure Traverse_Proc (Node : Node_Id) is
2210 function Traverse is new Traverse_Func (Process);
2211 Discard : Traverse_Final_Result;
2212 pragma Warnings (Off, Discard);
2213 begin
2214 Discard := Traverse (Node);
2215 end Traverse_Proc;
2216
2217 ------------------------------
2218 -- Unchecked Access Package --
2219 ------------------------------
2220
2221 package body Unchecked_Access is
2222
2223 function Field1 (N : Node_Id) return Union_Id is
2224 begin
2225 pragma Assert (N <= Nodes.Last);
2226 return Nodes.Table (N).Field1;
2227 end Field1;
2228
2229 function Field2 (N : Node_Id) return Union_Id is
2230 begin
2231 pragma Assert (N <= Nodes.Last);
2232 return Nodes.Table (N).Field2;
2233 end Field2;
2234
2235 function Field3 (N : Node_Id) return Union_Id is
2236 begin
2237 pragma Assert (N <= Nodes.Last);
2238 return Nodes.Table (N).Field3;
2239 end Field3;
2240
2241 function Field4 (N : Node_Id) return Union_Id is
2242 begin
2243 pragma Assert (N <= Nodes.Last);
2244 return Nodes.Table (N).Field4;
2245 end Field4;
2246
2247 function Field5 (N : Node_Id) return Union_Id is
2248 begin
2249 pragma Assert (N <= Nodes.Last);
2250 return Nodes.Table (N).Field5;
2251 end Field5;
2252
2253 function Field6 (N : Node_Id) return Union_Id is
2254 begin
2255 pragma Assert (Nkind (N) in N_Entity);
2256 return Nodes.Table (N + 1).Field6;
2257 end Field6;
2258
2259 function Field7 (N : Node_Id) return Union_Id is
2260 begin
2261 pragma Assert (Nkind (N) in N_Entity);
2262 return Nodes.Table (N + 1).Field7;
2263 end Field7;
2264
2265 function Field8 (N : Node_Id) return Union_Id is
2266 begin
2267 pragma Assert (Nkind (N) in N_Entity);
2268 return Nodes.Table (N + 1).Field8;
2269 end Field8;
2270
2271 function Field9 (N : Node_Id) return Union_Id is
2272 begin
2273 pragma Assert (Nkind (N) in N_Entity);
2274 return Nodes.Table (N + 1).Field9;
2275 end Field9;
2276
2277 function Field10 (N : Node_Id) return Union_Id is
2278 begin
2279 pragma Assert (Nkind (N) in N_Entity);
2280 return Nodes.Table (N + 1).Field10;
2281 end Field10;
2282
2283 function Field11 (N : Node_Id) return Union_Id is
2284 begin
2285 pragma Assert (Nkind (N) in N_Entity);
2286 return Nodes.Table (N + 1).Field11;
2287 end Field11;
2288
2289 function Field12 (N : Node_Id) return Union_Id is
2290 begin
2291 pragma Assert (Nkind (N) in N_Entity);
2292 return Nodes.Table (N + 1).Field12;
2293 end Field12;
2294
2295 function Field13 (N : Node_Id) return Union_Id is
2296 begin
2297 pragma Assert (Nkind (N) in N_Entity);
2298 return Nodes.Table (N + 2).Field6;
2299 end Field13;
2300
2301 function Field14 (N : Node_Id) return Union_Id is
2302 begin
2303 pragma Assert (Nkind (N) in N_Entity);
2304 return Nodes.Table (N + 2).Field7;
2305 end Field14;
2306
2307 function Field15 (N : Node_Id) return Union_Id is
2308 begin
2309 pragma Assert (Nkind (N) in N_Entity);
2310 return Nodes.Table (N + 2).Field8;
2311 end Field15;
2312
2313 function Field16 (N : Node_Id) return Union_Id is
2314 begin
2315 pragma Assert (Nkind (N) in N_Entity);
2316 return Nodes.Table (N + 2).Field9;
2317 end Field16;
2318
2319 function Field17 (N : Node_Id) return Union_Id is
2320 begin
2321 pragma Assert (Nkind (N) in N_Entity);
2322 return Nodes.Table (N + 2).Field10;
2323 end Field17;
2324
2325 function Field18 (N : Node_Id) return Union_Id is
2326 begin
2327 pragma Assert (Nkind (N) in N_Entity);
2328 return Nodes.Table (N + 2).Field11;
2329 end Field18;
2330
2331 function Field19 (N : Node_Id) return Union_Id is
2332 begin
2333 pragma Assert (Nkind (N) in N_Entity);
2334 return Nodes.Table (N + 3).Field6;
2335 end Field19;
2336
2337 function Field20 (N : Node_Id) return Union_Id is
2338 begin
2339 pragma Assert (Nkind (N) in N_Entity);
2340 return Nodes.Table (N + 3).Field7;
2341 end Field20;
2342
2343 function Field21 (N : Node_Id) return Union_Id is
2344 begin
2345 pragma Assert (Nkind (N) in N_Entity);
2346 return Nodes.Table (N + 3).Field8;
2347 end Field21;
2348
2349 function Field22 (N : Node_Id) return Union_Id is
2350 begin
2351 pragma Assert (Nkind (N) in N_Entity);
2352 return Nodes.Table (N + 3).Field9;
2353 end Field22;
2354
2355 function Field23 (N : Node_Id) return Union_Id is
2356 begin
2357 pragma Assert (Nkind (N) in N_Entity);
2358 return Nodes.Table (N + 3).Field10;
2359 end Field23;
2360
2361 function Field24 (N : Node_Id) return Union_Id is
2362 begin
2363 pragma Assert (Nkind (N) in N_Entity);
2364 return Nodes.Table (N + 4).Field6;
2365 end Field24;
2366
2367 function Field25 (N : Node_Id) return Union_Id is
2368 begin
2369 pragma Assert (Nkind (N) in N_Entity);
2370 return Nodes.Table (N + 4).Field7;
2371 end Field25;
2372
2373 function Field26 (N : Node_Id) return Union_Id is
2374 begin
2375 pragma Assert (Nkind (N) in N_Entity);
2376 return Nodes.Table (N + 4).Field8;
2377 end Field26;
2378
2379 function Field27 (N : Node_Id) return Union_Id is
2380 begin
2381 pragma Assert (Nkind (N) in N_Entity);
2382 return Nodes.Table (N + 4).Field9;
2383 end Field27;
2384
2385 function Field28 (N : Node_Id) return Union_Id is
2386 begin
2387 pragma Assert (Nkind (N) in N_Entity);
2388 return Nodes.Table (N + 4).Field10;
2389 end Field28;
2390
2391 function Field29 (N : Node_Id) return Union_Id is
2392 begin
2393 pragma Assert (Nkind (N) in N_Entity);
2394 return Nodes.Table (N + 4).Field11;
2395 end Field29;
2396
2397 function Field30 (N : Node_Id) return Union_Id is
2398 begin
2399 pragma Assert (Nkind (N) in N_Entity);
2400 return Nodes.Table (N + 5).Field6;
2401 end Field30;
2402
2403 function Field31 (N : Node_Id) return Union_Id is
2404 begin
2405 pragma Assert (Nkind (N) in N_Entity);
2406 return Nodes.Table (N + 5).Field7;
2407 end Field31;
2408
2409 function Field32 (N : Node_Id) return Union_Id is
2410 begin
2411 pragma Assert (Nkind (N) in N_Entity);
2412 return Nodes.Table (N + 5).Field8;
2413 end Field32;
2414
2415 function Field33 (N : Node_Id) return Union_Id is
2416 begin
2417 pragma Assert (Nkind (N) in N_Entity);
2418 return Nodes.Table (N + 5).Field9;
2419 end Field33;
2420
2421 function Field34 (N : Node_Id) return Union_Id is
2422 begin
2423 pragma Assert (Nkind (N) in N_Entity);
2424 return Nodes.Table (N + 5).Field10;
2425 end Field34;
2426
2427 function Field35 (N : Node_Id) return Union_Id is
2428 begin
2429 pragma Assert (Nkind (N) in N_Entity);
2430 return Nodes.Table (N + 5).Field11;
2431 end Field35;
2432
2433 function Field36 (N : Node_Id) return Union_Id is
2434 begin
2435 pragma Assert (Nkind (N) in N_Entity);
2436 return Nodes.Table (N + 6).Field6;
2437 end Field36;
2438
2439 function Field37 (N : Node_Id) return Union_Id is
2440 begin
2441 pragma Assert (Nkind (N) in N_Entity);
2442 return Nodes.Table (N + 6).Field7;
2443 end Field37;
2444
2445 function Field38 (N : Node_Id) return Union_Id is
2446 begin
2447 pragma Assert (Nkind (N) in N_Entity);
2448 return Nodes.Table (N + 6).Field8;
2449 end Field38;
2450
2451 function Field39 (N : Node_Id) return Union_Id is
2452 begin
2453 pragma Assert (Nkind (N) in N_Entity);
2454 return Nodes.Table (N + 6).Field9;
2455 end Field39;
2456
2457 function Field40 (N : Node_Id) return Union_Id is
2458 begin
2459 pragma Assert (Nkind (N) in N_Entity);
2460 return Nodes.Table (N + 6).Field10;
2461 end Field40;
2462
2463 function Field41 (N : Node_Id) return Union_Id is
2464 begin
2465 pragma Assert (Nkind (N) in N_Entity);
2466 return Nodes.Table (N + 6).Field11;
2467 end Field41;
2468
2469 function Node1 (N : Node_Id) return Node_Id is
2470 begin
2471 pragma Assert (N <= Nodes.Last);
2472 return Node_Id (Nodes.Table (N).Field1);
2473 end Node1;
2474
2475 function Node2 (N : Node_Id) return Node_Id is
2476 begin
2477 pragma Assert (N <= Nodes.Last);
2478 return Node_Id (Nodes.Table (N).Field2);
2479 end Node2;
2480
2481 function Node3 (N : Node_Id) return Node_Id is
2482 begin
2483 pragma Assert (N <= Nodes.Last);
2484 return Node_Id (Nodes.Table (N).Field3);
2485 end Node3;
2486
2487 function Node4 (N : Node_Id) return Node_Id is
2488 begin
2489 pragma Assert (N <= Nodes.Last);
2490 return Node_Id (Nodes.Table (N).Field4);
2491 end Node4;
2492
2493 function Node5 (N : Node_Id) return Node_Id is
2494 begin
2495 pragma Assert (N <= Nodes.Last);
2496 return Node_Id (Nodes.Table (N).Field5);
2497 end Node5;
2498
2499 function Node6 (N : Node_Id) return Node_Id is
2500 begin
2501 pragma Assert (Nkind (N) in N_Entity);
2502 return Node_Id (Nodes.Table (N + 1).Field6);
2503 end Node6;
2504
2505 function Node7 (N : Node_Id) return Node_Id is
2506 begin
2507 pragma Assert (Nkind (N) in N_Entity);
2508 return Node_Id (Nodes.Table (N + 1).Field7);
2509 end Node7;
2510
2511 function Node8 (N : Node_Id) return Node_Id is
2512 begin
2513 pragma Assert (Nkind (N) in N_Entity);
2514 return Node_Id (Nodes.Table (N + 1).Field8);
2515 end Node8;
2516
2517 function Node9 (N : Node_Id) return Node_Id is
2518 begin
2519 pragma Assert (Nkind (N) in N_Entity);
2520 return Node_Id (Nodes.Table (N + 1).Field9);
2521 end Node9;
2522
2523 function Node10 (N : Node_Id) return Node_Id is
2524 begin
2525 pragma Assert (Nkind (N) in N_Entity);
2526 return Node_Id (Nodes.Table (N + 1).Field10);
2527 end Node10;
2528
2529 function Node11 (N : Node_Id) return Node_Id is
2530 begin
2531 pragma Assert (Nkind (N) in N_Entity);
2532 return Node_Id (Nodes.Table (N + 1).Field11);
2533 end Node11;
2534
2535 function Node12 (N : Node_Id) return Node_Id is
2536 begin
2537 pragma Assert (Nkind (N) in N_Entity);
2538 return Node_Id (Nodes.Table (N + 1).Field12);
2539 end Node12;
2540
2541 function Node13 (N : Node_Id) return Node_Id is
2542 begin
2543 pragma Assert (Nkind (N) in N_Entity);
2544 return Node_Id (Nodes.Table (N + 2).Field6);
2545 end Node13;
2546
2547 function Node14 (N : Node_Id) return Node_Id is
2548 begin
2549 pragma Assert (Nkind (N) in N_Entity);
2550 return Node_Id (Nodes.Table (N + 2).Field7);
2551 end Node14;
2552
2553 function Node15 (N : Node_Id) return Node_Id is
2554 begin
2555 pragma Assert (Nkind (N) in N_Entity);
2556 return Node_Id (Nodes.Table (N + 2).Field8);
2557 end Node15;
2558
2559 function Node16 (N : Node_Id) return Node_Id is
2560 begin
2561 pragma Assert (Nkind (N) in N_Entity);
2562 return Node_Id (Nodes.Table (N + 2).Field9);
2563 end Node16;
2564
2565 function Node17 (N : Node_Id) return Node_Id is
2566 begin
2567 pragma Assert (Nkind (N) in N_Entity);
2568 return Node_Id (Nodes.Table (N + 2).Field10);
2569 end Node17;
2570
2571 function Node18 (N : Node_Id) return Node_Id is
2572 begin
2573 pragma Assert (Nkind (N) in N_Entity);
2574 return Node_Id (Nodes.Table (N + 2).Field11);
2575 end Node18;
2576
2577 function Node19 (N : Node_Id) return Node_Id is
2578 begin
2579 pragma Assert (Nkind (N) in N_Entity);
2580 return Node_Id (Nodes.Table (N + 3).Field6);
2581 end Node19;
2582
2583 function Node20 (N : Node_Id) return Node_Id is
2584 begin
2585 pragma Assert (Nkind (N) in N_Entity);
2586 return Node_Id (Nodes.Table (N + 3).Field7);
2587 end Node20;
2588
2589 function Node21 (N : Node_Id) return Node_Id is
2590 begin
2591 pragma Assert (Nkind (N) in N_Entity);
2592 return Node_Id (Nodes.Table (N + 3).Field8);
2593 end Node21;
2594
2595 function Node22 (N : Node_Id) return Node_Id is
2596 begin
2597 pragma Assert (Nkind (N) in N_Entity);
2598 return Node_Id (Nodes.Table (N + 3).Field9);
2599 end Node22;
2600
2601 function Node23 (N : Node_Id) return Node_Id is
2602 begin
2603 pragma Assert (Nkind (N) in N_Entity);
2604 return Node_Id (Nodes.Table (N + 3).Field10);
2605 end Node23;
2606
2607 function Node24 (N : Node_Id) return Node_Id is
2608 begin
2609 pragma Assert (Nkind (N) in N_Entity);
2610 return Node_Id (Nodes.Table (N + 4).Field6);
2611 end Node24;
2612
2613 function Node25 (N : Node_Id) return Node_Id is
2614 begin
2615 pragma Assert (Nkind (N) in N_Entity);
2616 return Node_Id (Nodes.Table (N + 4).Field7);
2617 end Node25;
2618
2619 function Node26 (N : Node_Id) return Node_Id is
2620 begin
2621 pragma Assert (Nkind (N) in N_Entity);
2622 return Node_Id (Nodes.Table (N + 4).Field8);
2623 end Node26;
2624
2625 function Node27 (N : Node_Id) return Node_Id is
2626 begin
2627 pragma Assert (Nkind (N) in N_Entity);
2628 return Node_Id (Nodes.Table (N + 4).Field9);
2629 end Node27;
2630
2631 function Node28 (N : Node_Id) return Node_Id is
2632 begin
2633 pragma Assert (Nkind (N) in N_Entity);
2634 return Node_Id (Nodes.Table (N + 4).Field10);
2635 end Node28;
2636
2637 function Node29 (N : Node_Id) return Node_Id is
2638 begin
2639 pragma Assert (Nkind (N) in N_Entity);
2640 return Node_Id (Nodes.Table (N + 4).Field11);
2641 end Node29;
2642
2643 function Node30 (N : Node_Id) return Node_Id is
2644 begin
2645 pragma Assert (Nkind (N) in N_Entity);
2646 return Node_Id (Nodes.Table (N + 5).Field6);
2647 end Node30;
2648
2649 function Node31 (N : Node_Id) return Node_Id is
2650 begin
2651 pragma Assert (Nkind (N) in N_Entity);
2652 return Node_Id (Nodes.Table (N + 5).Field7);
2653 end Node31;
2654
2655 function Node32 (N : Node_Id) return Node_Id is
2656 begin
2657 pragma Assert (Nkind (N) in N_Entity);
2658 return Node_Id (Nodes.Table (N + 5).Field8);
2659 end Node32;
2660
2661 function Node33 (N : Node_Id) return Node_Id is
2662 begin
2663 pragma Assert (Nkind (N) in N_Entity);
2664 return Node_Id (Nodes.Table (N + 5).Field9);
2665 end Node33;
2666
2667 function Node34 (N : Node_Id) return Node_Id is
2668 begin
2669 pragma Assert (Nkind (N) in N_Entity);
2670 return Node_Id (Nodes.Table (N + 5).Field10);
2671 end Node34;
2672
2673 function Node35 (N : Node_Id) return Node_Id is
2674 begin
2675 pragma Assert (Nkind (N) in N_Entity);
2676 return Node_Id (Nodes.Table (N + 5).Field11);
2677 end Node35;
2678
2679 function Node36 (N : Node_Id) return Node_Id is
2680 begin
2681 pragma Assert (Nkind (N) in N_Entity);
2682 return Node_Id (Nodes.Table (N + 6).Field6);
2683 end Node36;
2684
2685 function Node37 (N : Node_Id) return Node_Id is
2686 begin
2687 pragma Assert (Nkind (N) in N_Entity);
2688 return Node_Id (Nodes.Table (N + 6).Field7);
2689 end Node37;
2690
2691 function Node38 (N : Node_Id) return Node_Id is
2692 begin
2693 pragma Assert (Nkind (N) in N_Entity);
2694 return Node_Id (Nodes.Table (N + 6).Field8);
2695 end Node38;
2696
2697 function Node39 (N : Node_Id) return Node_Id is
2698 begin
2699 pragma Assert (Nkind (N) in N_Entity);
2700 return Node_Id (Nodes.Table (N + 6).Field9);
2701 end Node39;
2702
2703 function Node40 (N : Node_Id) return Node_Id is
2704 begin
2705 pragma Assert (Nkind (N) in N_Entity);
2706 return Node_Id (Nodes.Table (N + 6).Field10);
2707 end Node40;
2708
2709 function Node41 (N : Node_Id) return Node_Id is
2710 begin
2711 pragma Assert (Nkind (N) in N_Entity);
2712 return Node_Id (Nodes.Table (N + 6).Field11);
2713 end Node41;
2714
2715 function List1 (N : Node_Id) return List_Id is
2716 begin
2717 pragma Assert (N <= Nodes.Last);
2718 return List_Id (Nodes.Table (N).Field1);
2719 end List1;
2720
2721 function List2 (N : Node_Id) return List_Id is
2722 begin
2723 pragma Assert (N <= Nodes.Last);
2724 return List_Id (Nodes.Table (N).Field2);
2725 end List2;
2726
2727 function List3 (N : Node_Id) return List_Id is
2728 begin
2729 pragma Assert (N <= Nodes.Last);
2730 return List_Id (Nodes.Table (N).Field3);
2731 end List3;
2732
2733 function List4 (N : Node_Id) return List_Id is
2734 begin
2735 pragma Assert (N <= Nodes.Last);
2736 return List_Id (Nodes.Table (N).Field4);
2737 end List4;
2738
2739 function List5 (N : Node_Id) return List_Id is
2740 begin
2741 pragma Assert (N <= Nodes.Last);
2742 return List_Id (Nodes.Table (N).Field5);
2743 end List5;
2744
2745 function List10 (N : Node_Id) return List_Id is
2746 begin
2747 pragma Assert (Nkind (N) in N_Entity);
2748 return List_Id (Nodes.Table (N + 1).Field10);
2749 end List10;
2750
2751 function List14 (N : Node_Id) return List_Id is
2752 begin
2753 pragma Assert (Nkind (N) in N_Entity);
2754 return List_Id (Nodes.Table (N + 2).Field7);
2755 end List14;
2756
2757 function List25 (N : Node_Id) return List_Id is
2758 begin
2759 pragma Assert (Nkind (N) in N_Entity);
2760 return List_Id (Nodes.Table (N + 4).Field7);
2761 end List25;
2762
2763 function List38 (N : Node_Id) return List_Id is
2764 begin
2765 return List_Id (Nodes.Table (N + 6).Field8);
2766 end List38;
2767
2768 function List39 (N : Node_Id) return List_Id is
2769 begin
2770 return List_Id (Nodes.Table (N + 6).Field9);
2771 end List39;
2772
2773 function Elist1 (N : Node_Id) return Elist_Id is
2774 pragma Assert (N <= Nodes.Last);
2775 Value : constant Union_Id := Nodes.Table (N).Field1;
2776 begin
2777 if Value = 0 then
2778 return No_Elist;
2779 else
2780 return Elist_Id (Value);
2781 end if;
2782 end Elist1;
2783
2784 function Elist2 (N : Node_Id) return Elist_Id is
2785 pragma Assert (N <= Nodes.Last);
2786 Value : constant Union_Id := Nodes.Table (N).Field2;
2787 begin
2788 if Value = 0 then
2789 return No_Elist;
2790 else
2791 return Elist_Id (Value);
2792 end if;
2793 end Elist2;
2794
2795 function Elist3 (N : Node_Id) return Elist_Id is
2796 pragma Assert (N <= Nodes.Last);
2797 Value : constant Union_Id := Nodes.Table (N).Field3;
2798 begin
2799 if Value = 0 then
2800 return No_Elist;
2801 else
2802 return Elist_Id (Value);
2803 end if;
2804 end Elist3;
2805
2806 function Elist4 (N : Node_Id) return Elist_Id is
2807 pragma Assert (N <= Nodes.Last);
2808 Value : constant Union_Id := Nodes.Table (N).Field4;
2809 begin
2810 if Value = 0 then
2811 return No_Elist;
2812 else
2813 return Elist_Id (Value);
2814 end if;
2815 end Elist4;
2816
2817 function Elist5 (N : Node_Id) return Elist_Id is
2818 pragma Assert (N <= Nodes.Last);
2819 Value : constant Union_Id := Nodes.Table (N).Field5;
2820 begin
2821 if Value = 0 then
2822 return No_Elist;
2823 else
2824 return Elist_Id (Value);
2825 end if;
2826 end Elist5;
2827
2828 function Elist8 (N : Node_Id) return Elist_Id is
2829 pragma Assert (Nkind (N) in N_Entity);
2830 Value : constant Union_Id := Nodes.Table (N + 1).Field8;
2831 begin
2832 if Value = 0 then
2833 return No_Elist;
2834 else
2835 return Elist_Id (Value);
2836 end if;
2837 end Elist8;
2838
2839 function Elist9 (N : Node_Id) return Elist_Id is
2840 pragma Assert (Nkind (N) in N_Entity);
2841 Value : constant Union_Id := Nodes.Table (N + 1).Field9;
2842 begin
2843 if Value = 0 then
2844 return No_Elist;
2845 else
2846 return Elist_Id (Value);
2847 end if;
2848 end Elist9;
2849
2850 function Elist10 (N : Node_Id) return Elist_Id is
2851 pragma Assert (Nkind (N) in N_Entity);
2852 Value : constant Union_Id := Nodes.Table (N + 1).Field10;
2853 begin
2854 if Value = 0 then
2855 return No_Elist;
2856 else
2857 return Elist_Id (Value);
2858 end if;
2859 end Elist10;
2860
2861 function Elist11 (N : Node_Id) return Elist_Id is
2862 pragma Assert (Nkind (N) in N_Entity);
2863 Value : constant Union_Id := Nodes.Table (N + 1).Field11;
2864 begin
2865 if Value = 0 then
2866 return No_Elist;
2867 else
2868 return Elist_Id (Value);
2869 end if;
2870 end Elist11;
2871
2872 function Elist13 (N : Node_Id) return Elist_Id is
2873 pragma Assert (Nkind (N) in N_Entity);
2874 Value : constant Union_Id := Nodes.Table (N + 2).Field6;
2875 begin
2876 if Value = 0 then
2877 return No_Elist;
2878 else
2879 return Elist_Id (Value);
2880 end if;
2881 end Elist13;
2882
2883 function Elist15 (N : Node_Id) return Elist_Id is
2884 pragma Assert (Nkind (N) in N_Entity);
2885 Value : constant Union_Id := Nodes.Table (N + 2).Field8;
2886 begin
2887 if Value = 0 then
2888 return No_Elist;
2889 else
2890 return Elist_Id (Value);
2891 end if;
2892 end Elist15;
2893
2894 function Elist16 (N : Node_Id) return Elist_Id is
2895 pragma Assert (Nkind (N) in N_Entity);
2896 Value : constant Union_Id := Nodes.Table (N + 2).Field9;
2897 begin
2898 if Value = 0 then
2899 return No_Elist;
2900 else
2901 return Elist_Id (Value);
2902 end if;
2903 end Elist16;
2904
2905 function Elist18 (N : Node_Id) return Elist_Id is
2906 pragma Assert (Nkind (N) in N_Entity);
2907 Value : constant Union_Id := Nodes.Table (N + 2).Field11;
2908 begin
2909 if Value = 0 then
2910 return No_Elist;
2911 else
2912 return Elist_Id (Value);
2913 end if;
2914 end Elist18;
2915
2916 function Elist21 (N : Node_Id) return Elist_Id is
2917 pragma Assert (Nkind (N) in N_Entity);
2918 Value : constant Union_Id := Nodes.Table (N + 3).Field8;
2919 begin
2920 if Value = 0 then
2921 return No_Elist;
2922 else
2923 return Elist_Id (Value);
2924 end if;
2925 end Elist21;
2926
2927 function Elist23 (N : Node_Id) return Elist_Id is
2928 pragma Assert (Nkind (N) in N_Entity);
2929 Value : constant Union_Id := Nodes.Table (N + 3).Field10;
2930 begin
2931 if Value = 0 then
2932 return No_Elist;
2933 else
2934 return Elist_Id (Value);
2935 end if;
2936 end Elist23;
2937
2938 function Elist24 (N : Node_Id) return Elist_Id is
2939 pragma Assert (Nkind (N) in N_Entity);
2940 Value : constant Union_Id := Nodes.Table (N + 4).Field6;
2941 begin
2942 if Value = 0 then
2943 return No_Elist;
2944 else
2945 return Elist_Id (Value);
2946 end if;
2947 end Elist24;
2948
2949 function Elist25 (N : Node_Id) return Elist_Id is
2950 pragma Assert (Nkind (N) in N_Entity);
2951 Value : constant Union_Id := Nodes.Table (N + 4).Field7;
2952 begin
2953 if Value = 0 then
2954 return No_Elist;
2955 else
2956 return Elist_Id (Value);
2957 end if;
2958 end Elist25;
2959
2960 function Elist26 (N : Node_Id) return Elist_Id is
2961 pragma Assert (Nkind (N) in N_Entity);
2962 Value : constant Union_Id := Nodes.Table (N + 4).Field8;
2963 begin
2964 if Value = 0 then
2965 return No_Elist;
2966 else
2967 return Elist_Id (Value);
2968 end if;
2969 end Elist26;
2970
2971 function Elist29 (N : Node_Id) return Elist_Id is
2972 pragma Assert (Nkind (N) in N_Entity);
2973 Value : constant Union_Id := Nodes.Table (N + 4).Field11;
2974 begin
2975 if Value = 0 then
2976 return No_Elist;
2977 else
2978 return Elist_Id (Value);
2979 end if;
2980 end Elist29;
2981
2982 function Elist30 (N : Node_Id) return Elist_Id is
2983 pragma Assert (Nkind (N) in N_Entity);
2984 Value : constant Union_Id := Nodes.Table (N + 5).Field6;
2985 begin
2986 if Value = 0 then
2987 return No_Elist;
2988 else
2989 return Elist_Id (Value);
2990 end if;
2991 end Elist30;
2992
2993 function Elist36 (N : Node_Id) return Elist_Id is
2994 pragma Assert (Nkind (N) in N_Entity);
2995 Value : constant Union_Id := Nodes.Table (N + 6).Field6;
2996 begin
2997 if Value = 0 then
2998 return No_Elist;
2999 else
3000 return Elist_Id (Value);
3001 end if;
3002 end Elist36;
3003
3004 function Name1 (N : Node_Id) return Name_Id is
3005 begin
3006 pragma Assert (N <= Nodes.Last);
3007 return Name_Id (Nodes.Table (N).Field1);
3008 end Name1;
3009
3010 function Name2 (N : Node_Id) return Name_Id is
3011 begin
3012 pragma Assert (N <= Nodes.Last);
3013 return Name_Id (Nodes.Table (N).Field2);
3014 end Name2;
3015
3016 function Str3 (N : Node_Id) return String_Id is
3017 begin
3018 pragma Assert (N <= Nodes.Last);
3019 return String_Id (Nodes.Table (N).Field3);
3020 end Str3;
3021
3022 function Uint2 (N : Node_Id) return Uint is
3023 pragma Assert (N <= Nodes.Last);
3024 U : constant Union_Id := Nodes.Table (N).Field2;
3025 begin
3026 if U = 0 then
3027 return Uint_0;
3028 else
3029 return From_Union (U);
3030 end if;
3031 end Uint2;
3032
3033 function Uint3 (N : Node_Id) return Uint is
3034 pragma Assert (N <= Nodes.Last);
3035 U : constant Union_Id := Nodes.Table (N).Field3;
3036 begin
3037 if U = 0 then
3038 return Uint_0;
3039 else
3040 return From_Union (U);
3041 end if;
3042 end Uint3;
3043
3044 function Uint4 (N : Node_Id) return Uint is
3045 pragma Assert (N <= Nodes.Last);
3046 U : constant Union_Id := Nodes.Table (N).Field4;
3047 begin
3048 if U = 0 then
3049 return Uint_0;
3050 else
3051 return From_Union (U);
3052 end if;
3053 end Uint4;
3054
3055 function Uint5 (N : Node_Id) return Uint is
3056 pragma Assert (N <= Nodes.Last);
3057 U : constant Union_Id := Nodes.Table (N).Field5;
3058 begin
3059 if U = 0 then
3060 return Uint_0;
3061 else
3062 return From_Union (U);
3063 end if;
3064 end Uint5;
3065
3066 function Uint8 (N : Node_Id) return Uint is
3067 pragma Assert (Nkind (N) in N_Entity);
3068 U : constant Union_Id := Nodes.Table (N + 1).Field8;
3069 begin
3070 if U = 0 then
3071 return Uint_0;
3072 else
3073 return From_Union (U);
3074 end if;
3075 end Uint8;
3076
3077 function Uint9 (N : Node_Id) return Uint is
3078 pragma Assert (Nkind (N) in N_Entity);
3079 U : constant Union_Id := Nodes.Table (N + 1).Field9;
3080 begin
3081 if U = 0 then
3082 return Uint_0;
3083 else
3084 return From_Union (U);
3085 end if;
3086 end Uint9;
3087
3088 function Uint10 (N : Node_Id) return Uint is
3089 pragma Assert (Nkind (N) in N_Entity);
3090 U : constant Union_Id := Nodes.Table (N + 1).Field10;
3091 begin
3092 if U = 0 then
3093 return Uint_0;
3094 else
3095 return From_Union (U);
3096 end if;
3097 end Uint10;
3098
3099 function Uint11 (N : Node_Id) return Uint is
3100 pragma Assert (Nkind (N) in N_Entity);
3101 U : constant Union_Id := Nodes.Table (N + 1).Field11;
3102 begin
3103 if U = 0 then
3104 return Uint_0;
3105 else
3106 return From_Union (U);
3107 end if;
3108 end Uint11;
3109
3110 function Uint12 (N : Node_Id) return Uint is
3111 pragma Assert (Nkind (N) in N_Entity);
3112 U : constant Union_Id := Nodes.Table (N + 1).Field12;
3113 begin
3114 if U = 0 then
3115 return Uint_0;
3116 else
3117 return From_Union (U);
3118 end if;
3119 end Uint12;
3120
3121 function Uint13 (N : Node_Id) return Uint is
3122 pragma Assert (Nkind (N) in N_Entity);
3123 U : constant Union_Id := Nodes.Table (N + 2).Field6;
3124 begin
3125 if U = 0 then
3126 return Uint_0;
3127 else
3128 return From_Union (U);
3129 end if;
3130 end Uint13;
3131
3132 function Uint14 (N : Node_Id) return Uint is
3133 pragma Assert (Nkind (N) in N_Entity);
3134 U : constant Union_Id := Nodes.Table (N + 2).Field7;
3135 begin
3136 if U = 0 then
3137 return Uint_0;
3138 else
3139 return From_Union (U);
3140 end if;
3141 end Uint14;
3142
3143 function Uint15 (N : Node_Id) return Uint is
3144 pragma Assert (Nkind (N) in N_Entity);
3145 U : constant Union_Id := Nodes.Table (N + 2).Field8;
3146 begin
3147 if U = 0 then
3148 return Uint_0;
3149 else
3150 return From_Union (U);
3151 end if;
3152 end Uint15;
3153
3154 function Uint16 (N : Node_Id) return Uint is
3155 pragma Assert (Nkind (N) in N_Entity);
3156 U : constant Union_Id := Nodes.Table (N + 2).Field9;
3157 begin
3158 if U = 0 then
3159 return Uint_0;
3160 else
3161 return From_Union (U);
3162 end if;
3163 end Uint16;
3164
3165 function Uint17 (N : Node_Id) return Uint is
3166 pragma Assert (Nkind (N) in N_Entity);
3167 U : constant Union_Id := Nodes.Table (N + 2).Field10;
3168 begin
3169 if U = 0 then
3170 return Uint_0;
3171 else
3172 return From_Union (U);
3173 end if;
3174 end Uint17;
3175
3176 function Uint22 (N : Node_Id) return Uint is
3177 pragma Assert (Nkind (N) in N_Entity);
3178 U : constant Union_Id := Nodes.Table (N + 3).Field9;
3179 begin
3180 if U = 0 then
3181 return Uint_0;
3182 else
3183 return From_Union (U);
3184 end if;
3185 end Uint22;
3186
3187 function Uint24 (N : Node_Id) return Uint is
3188 pragma Assert (Nkind (N) in N_Entity);
3189 U : constant Union_Id := Nodes.Table (N + 4).Field6;
3190 begin
3191 if U = 0 then
3192 return Uint_0;
3193 else
3194 return From_Union (U);
3195 end if;
3196 end Uint24;
3197
3198 function Ureal3 (N : Node_Id) return Ureal is
3199 begin
3200 pragma Assert (N <= Nodes.Last);
3201 return From_Union (Nodes.Table (N).Field3);
3202 end Ureal3;
3203
3204 function Ureal18 (N : Node_Id) return Ureal is
3205 begin
3206 pragma Assert (Nkind (N) in N_Entity);
3207 return From_Union (Nodes.Table (N + 2).Field11);
3208 end Ureal18;
3209
3210 function Ureal21 (N : Node_Id) return Ureal is
3211 begin
3212 pragma Assert (Nkind (N) in N_Entity);
3213 return From_Union (Nodes.Table (N + 3).Field8);
3214 end Ureal21;
3215
3216 function Flag0 (N : Node_Id) return Boolean is
3217 begin
3218 pragma Assert (N <= Nodes.Last);
3219 return Flags.Table (N).Flag0;
3220 end Flag0;
3221
3222 function Flag1 (N : Node_Id) return Boolean is
3223 begin
3224 pragma Assert (N <= Nodes.Last);
3225 return Flags.Table (N).Flag1;
3226 end Flag1;
3227
3228 function Flag2 (N : Node_Id) return Boolean is
3229 begin
3230 pragma Assert (N <= Nodes.Last);
3231 return Flags.Table (N).Flag2;
3232 end Flag2;
3233
3234 function Flag3 (N : Node_Id) return Boolean is
3235 begin
3236 pragma Assert (N <= Nodes.Last);
3237 return Flags.Table (N).Flag3;
3238 end Flag3;
3239
3240 function Flag4 (N : Node_Id) return Boolean is
3241 begin
3242 pragma Assert (N <= Nodes.Last);
3243 return Nodes.Table (N).Flag4;
3244 end Flag4;
3245
3246 function Flag5 (N : Node_Id) return Boolean is
3247 begin
3248 pragma Assert (N <= Nodes.Last);
3249 return Nodes.Table (N).Flag5;
3250 end Flag5;
3251
3252 function Flag6 (N : Node_Id) return Boolean is
3253 begin
3254 pragma Assert (N <= Nodes.Last);
3255 return Nodes.Table (N).Flag6;
3256 end Flag6;
3257
3258 function Flag7 (N : Node_Id) return Boolean is
3259 begin
3260 pragma Assert (N <= Nodes.Last);
3261 return Nodes.Table (N).Flag7;
3262 end Flag7;
3263
3264 function Flag8 (N : Node_Id) return Boolean is
3265 begin
3266 pragma Assert (N <= Nodes.Last);
3267 return Nodes.Table (N).Flag8;
3268 end Flag8;
3269
3270 function Flag9 (N : Node_Id) return Boolean is
3271 begin
3272 pragma Assert (N <= Nodes.Last);
3273 return Nodes.Table (N).Flag9;
3274 end Flag9;
3275
3276 function Flag10 (N : Node_Id) return Boolean is
3277 begin
3278 pragma Assert (N <= Nodes.Last);
3279 return Nodes.Table (N).Flag10;
3280 end Flag10;
3281
3282 function Flag11 (N : Node_Id) return Boolean is
3283 begin
3284 pragma Assert (N <= Nodes.Last);
3285 return Nodes.Table (N).Flag11;
3286 end Flag11;
3287
3288 function Flag12 (N : Node_Id) return Boolean is
3289 begin
3290 pragma Assert (N <= Nodes.Last);
3291 return Nodes.Table (N).Flag12;
3292 end Flag12;
3293
3294 function Flag13 (N : Node_Id) return Boolean is
3295 begin
3296 pragma Assert (N <= Nodes.Last);
3297 return Nodes.Table (N).Flag13;
3298 end Flag13;
3299
3300 function Flag14 (N : Node_Id) return Boolean is
3301 begin
3302 pragma Assert (N <= Nodes.Last);
3303 return Nodes.Table (N).Flag14;
3304 end Flag14;
3305
3306 function Flag15 (N : Node_Id) return Boolean is
3307 begin
3308 pragma Assert (N <= Nodes.Last);
3309 return Nodes.Table (N).Flag15;
3310 end Flag15;
3311
3312 function Flag16 (N : Node_Id) return Boolean is
3313 begin
3314 pragma Assert (N <= Nodes.Last);
3315 return Nodes.Table (N).Flag16;
3316 end Flag16;
3317
3318 function Flag17 (N : Node_Id) return Boolean is
3319 begin
3320 pragma Assert (N <= Nodes.Last);
3321 return Nodes.Table (N).Flag17;
3322 end Flag17;
3323
3324 function Flag18 (N : Node_Id) return Boolean is
3325 begin
3326 pragma Assert (N <= Nodes.Last);
3327 return Nodes.Table (N).Flag18;
3328 end Flag18;
3329
3330 function Flag19 (N : Node_Id) return Boolean is
3331 begin
3332 pragma Assert (Nkind (N) in N_Entity);
3333 return Nodes.Table (N + 1).In_List;
3334 end Flag19;
3335
3336 function Flag20 (N : Node_Id) return Boolean is
3337 begin
3338 pragma Assert (Nkind (N) in N_Entity);
3339 return Nodes.Table (N + 1).Has_Aspects;
3340 end Flag20;
3341
3342 function Flag21 (N : Node_Id) return Boolean is
3343 begin
3344 pragma Assert (Nkind (N) in N_Entity);
3345 return Nodes.Table (N + 1).Rewrite_Ins;
3346 end Flag21;
3347
3348 function Flag22 (N : Node_Id) return Boolean is
3349 begin
3350 pragma Assert (Nkind (N) in N_Entity);
3351 return Nodes.Table (N + 1).Analyzed;
3352 end Flag22;
3353
3354 function Flag23 (N : Node_Id) return Boolean is
3355 begin
3356 pragma Assert (Nkind (N) in N_Entity);
3357 return Nodes.Table (N + 1).Comes_From_Source;
3358 end Flag23;
3359
3360 function Flag24 (N : Node_Id) return Boolean is
3361 begin
3362 pragma Assert (Nkind (N) in N_Entity);
3363 return Nodes.Table (N + 1).Error_Posted;
3364 end Flag24;
3365
3366 function Flag25 (N : Node_Id) return Boolean is
3367 begin
3368 pragma Assert (Nkind (N) in N_Entity);
3369 return Nodes.Table (N + 1).Flag4;
3370 end Flag25;
3371
3372 function Flag26 (N : Node_Id) return Boolean is
3373 begin
3374 pragma Assert (Nkind (N) in N_Entity);
3375 return Nodes.Table (N + 1).Flag5;
3376 end Flag26;
3377
3378 function Flag27 (N : Node_Id) return Boolean is
3379 begin
3380 pragma Assert (Nkind (N) in N_Entity);
3381 return Nodes.Table (N + 1).Flag6;
3382 end Flag27;
3383
3384 function Flag28 (N : Node_Id) return Boolean is
3385 begin
3386 pragma Assert (Nkind (N) in N_Entity);
3387 return Nodes.Table (N + 1).Flag7;
3388 end Flag28;
3389
3390 function Flag29 (N : Node_Id) return Boolean is
3391 begin
3392 pragma Assert (Nkind (N) in N_Entity);
3393 return Nodes.Table (N + 1).Flag8;
3394 end Flag29;
3395
3396 function Flag30 (N : Node_Id) return Boolean is
3397 begin
3398 pragma Assert (Nkind (N) in N_Entity);
3399 return Nodes.Table (N + 1).Flag9;
3400 end Flag30;
3401
3402 function Flag31 (N : Node_Id) return Boolean is
3403 begin
3404 pragma Assert (Nkind (N) in N_Entity);
3405 return Nodes.Table (N + 1).Flag10;
3406 end Flag31;
3407
3408 function Flag32 (N : Node_Id) return Boolean is
3409 begin
3410 pragma Assert (Nkind (N) in N_Entity);
3411 return Nodes.Table (N + 1).Flag11;
3412 end Flag32;
3413
3414 function Flag33 (N : Node_Id) return Boolean is
3415 begin
3416 pragma Assert (Nkind (N) in N_Entity);
3417 return Nodes.Table (N + 1).Flag12;
3418 end Flag33;
3419
3420 function Flag34 (N : Node_Id) return Boolean is
3421 begin
3422 pragma Assert (Nkind (N) in N_Entity);
3423 return Nodes.Table (N + 1).Flag13;
3424 end Flag34;
3425
3426 function Flag35 (N : Node_Id) return Boolean is
3427 begin
3428 pragma Assert (Nkind (N) in N_Entity);
3429 return Nodes.Table (N + 1).Flag14;
3430 end Flag35;
3431
3432 function Flag36 (N : Node_Id) return Boolean is
3433 begin
3434 pragma Assert (Nkind (N) in N_Entity);
3435 return Nodes.Table (N + 1).Flag15;
3436 end Flag36;
3437
3438 function Flag37 (N : Node_Id) return Boolean is
3439 begin
3440 pragma Assert (Nkind (N) in N_Entity);
3441 return Nodes.Table (N + 1).Flag16;
3442 end Flag37;
3443
3444 function Flag38 (N : Node_Id) return Boolean is
3445 begin
3446 pragma Assert (Nkind (N) in N_Entity);
3447 return Nodes.Table (N + 1).Flag17;
3448 end Flag38;
3449
3450 function Flag39 (N : Node_Id) return Boolean is
3451 begin
3452 pragma Assert (Nkind (N) in N_Entity);
3453 return Nodes.Table (N + 1).Flag18;
3454 end Flag39;
3455
3456 function Flag40 (N : Node_Id) return Boolean is
3457 begin
3458 pragma Assert (Nkind (N) in N_Entity);
3459 return Nodes.Table (N + 2).In_List;
3460 end Flag40;
3461
3462 function Flag41 (N : Node_Id) return Boolean is
3463 begin
3464 pragma Assert (Nkind (N) in N_Entity);
3465 return Nodes.Table (N + 2).Has_Aspects;
3466 end Flag41;
3467
3468 function Flag42 (N : Node_Id) return Boolean is
3469 begin
3470 pragma Assert (Nkind (N) in N_Entity);
3471 return Nodes.Table (N + 2).Rewrite_Ins;
3472 end Flag42;
3473
3474 function Flag43 (N : Node_Id) return Boolean is
3475 begin
3476 pragma Assert (Nkind (N) in N_Entity);
3477 return Nodes.Table (N + 2).Analyzed;
3478 end Flag43;
3479
3480 function Flag44 (N : Node_Id) return Boolean is
3481 begin
3482 pragma Assert (Nkind (N) in N_Entity);
3483 return Nodes.Table (N + 2).Comes_From_Source;
3484 end Flag44;
3485
3486 function Flag45 (N : Node_Id) return Boolean is
3487 begin
3488 pragma Assert (Nkind (N) in N_Entity);
3489 return Nodes.Table (N + 2).Error_Posted;
3490 end Flag45;
3491
3492 function Flag46 (N : Node_Id) return Boolean is
3493 begin
3494 pragma Assert (Nkind (N) in N_Entity);
3495 return Nodes.Table (N + 2).Flag4;
3496 end Flag46;
3497
3498 function Flag47 (N : Node_Id) return Boolean is
3499 begin
3500 pragma Assert (Nkind (N) in N_Entity);
3501 return Nodes.Table (N + 2).Flag5;
3502 end Flag47;
3503
3504 function Flag48 (N : Node_Id) return Boolean is
3505 begin
3506 pragma Assert (Nkind (N) in N_Entity);
3507 return Nodes.Table (N + 2).Flag6;
3508 end Flag48;
3509
3510 function Flag49 (N : Node_Id) return Boolean is
3511 begin
3512 pragma Assert (Nkind (N) in N_Entity);
3513 return Nodes.Table (N + 2).Flag7;
3514 end Flag49;
3515
3516 function Flag50 (N : Node_Id) return Boolean is
3517 begin
3518 pragma Assert (Nkind (N) in N_Entity);
3519 return Nodes.Table (N + 2).Flag8;
3520 end Flag50;
3521
3522 function Flag51 (N : Node_Id) return Boolean is
3523 begin
3524 pragma Assert (Nkind (N) in N_Entity);
3525 return Nodes.Table (N + 2).Flag9;
3526 end Flag51;
3527
3528 function Flag52 (N : Node_Id) return Boolean is
3529 begin
3530 pragma Assert (Nkind (N) in N_Entity);
3531 return Nodes.Table (N + 2).Flag10;
3532 end Flag52;
3533
3534 function Flag53 (N : Node_Id) return Boolean is
3535 begin
3536 pragma Assert (Nkind (N) in N_Entity);
3537 return Nodes.Table (N + 2).Flag11;
3538 end Flag53;
3539
3540 function Flag54 (N : Node_Id) return Boolean is
3541 begin
3542 pragma Assert (Nkind (N) in N_Entity);
3543 return Nodes.Table (N + 2).Flag12;
3544 end Flag54;
3545
3546 function Flag55 (N : Node_Id) return Boolean is
3547 begin
3548 pragma Assert (Nkind (N) in N_Entity);
3549 return Nodes.Table (N + 2).Flag13;
3550 end Flag55;
3551
3552 function Flag56 (N : Node_Id) return Boolean is
3553 begin
3554 pragma Assert (Nkind (N) in N_Entity);
3555 return Nodes.Table (N + 2).Flag14;
3556 end Flag56;
3557
3558 function Flag57 (N : Node_Id) return Boolean is
3559 begin
3560 pragma Assert (Nkind (N) in N_Entity);
3561 return Nodes.Table (N + 2).Flag15;
3562 end Flag57;
3563
3564 function Flag58 (N : Node_Id) return Boolean is
3565 begin
3566 pragma Assert (Nkind (N) in N_Entity);
3567 return Nodes.Table (N + 2).Flag16;
3568 end Flag58;
3569
3570 function Flag59 (N : Node_Id) return Boolean is
3571 begin
3572 pragma Assert (Nkind (N) in N_Entity);
3573 return Nodes.Table (N + 2).Flag17;
3574 end Flag59;
3575
3576 function Flag60 (N : Node_Id) return Boolean is
3577 begin
3578 pragma Assert (Nkind (N) in N_Entity);
3579 return Nodes.Table (N + 2).Flag18;
3580 end Flag60;
3581
3582 function Flag61 (N : Node_Id) return Boolean is
3583 begin
3584 pragma Assert (Nkind (N) in N_Entity);
3585 return Nodes.Table (N + 1).Pflag1;
3586 end Flag61;
3587
3588 function Flag62 (N : Node_Id) return Boolean is
3589 begin
3590 pragma Assert (Nkind (N) in N_Entity);
3591 return Nodes.Table (N + 1).Pflag2;
3592 end Flag62;
3593
3594 function Flag63 (N : Node_Id) return Boolean is
3595 begin
3596 pragma Assert (Nkind (N) in N_Entity);
3597 return Nodes.Table (N + 2).Pflag1;
3598 end Flag63;
3599
3600 function Flag64 (N : Node_Id) return Boolean is
3601 begin
3602 pragma Assert (Nkind (N) in N_Entity);
3603 return Nodes.Table (N + 2).Pflag2;
3604 end Flag64;
3605
3606 function Flag65 (N : Node_Id) return Boolean is
3607 begin
3608 pragma Assert (Nkind (N) in N_Entity);
3609 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag65;
3610 end Flag65;
3611
3612 function Flag66 (N : Node_Id) return Boolean is
3613 begin
3614 pragma Assert (Nkind (N) in N_Entity);
3615 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag66;
3616 end Flag66;
3617
3618 function Flag67 (N : Node_Id) return Boolean is
3619 begin
3620 pragma Assert (Nkind (N) in N_Entity);
3621 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag67;
3622 end Flag67;
3623
3624 function Flag68 (N : Node_Id) return Boolean is
3625 begin
3626 pragma Assert (Nkind (N) in N_Entity);
3627 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag68;
3628 end Flag68;
3629
3630 function Flag69 (N : Node_Id) return Boolean is
3631 begin
3632 pragma Assert (Nkind (N) in N_Entity);
3633 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag69;
3634 end Flag69;
3635
3636 function Flag70 (N : Node_Id) return Boolean is
3637 begin
3638 pragma Assert (Nkind (N) in N_Entity);
3639 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag70;
3640 end Flag70;
3641
3642 function Flag71 (N : Node_Id) return Boolean is
3643 begin
3644 pragma Assert (Nkind (N) in N_Entity);
3645 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag71;
3646 end Flag71;
3647
3648 function Flag72 (N : Node_Id) return Boolean is
3649 begin
3650 pragma Assert (Nkind (N) in N_Entity);
3651 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag72;
3652 end Flag72;
3653
3654 function Flag73 (N : Node_Id) return Boolean is
3655 begin
3656 pragma Assert (Nkind (N) in N_Entity);
3657 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag73;
3658 end Flag73;
3659
3660 function Flag74 (N : Node_Id) return Boolean is
3661 begin
3662 pragma Assert (Nkind (N) in N_Entity);
3663 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag74;
3664 end Flag74;
3665
3666 function Flag75 (N : Node_Id) return Boolean is
3667 begin
3668 pragma Assert (Nkind (N) in N_Entity);
3669 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag75;
3670 end Flag75;
3671
3672 function Flag76 (N : Node_Id) return Boolean is
3673 begin
3674 pragma Assert (Nkind (N) in N_Entity);
3675 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag76;
3676 end Flag76;
3677
3678 function Flag77 (N : Node_Id) return Boolean is
3679 begin
3680 pragma Assert (Nkind (N) in N_Entity);
3681 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag77;
3682 end Flag77;
3683
3684 function Flag78 (N : Node_Id) return Boolean is
3685 begin
3686 pragma Assert (Nkind (N) in N_Entity);
3687 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag78;
3688 end Flag78;
3689
3690 function Flag79 (N : Node_Id) return Boolean is
3691 begin
3692 pragma Assert (Nkind (N) in N_Entity);
3693 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag79;
3694 end Flag79;
3695
3696 function Flag80 (N : Node_Id) return Boolean is
3697 begin
3698 pragma Assert (Nkind (N) in N_Entity);
3699 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag80;
3700 end Flag80;
3701
3702 function Flag81 (N : Node_Id) return Boolean is
3703 begin
3704 pragma Assert (Nkind (N) in N_Entity);
3705 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag81;
3706 end Flag81;
3707
3708 function Flag82 (N : Node_Id) return Boolean is
3709 begin
3710 pragma Assert (Nkind (N) in N_Entity);
3711 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag82;
3712 end Flag82;
3713
3714 function Flag83 (N : Node_Id) return Boolean is
3715 begin
3716 pragma Assert (Nkind (N) in N_Entity);
3717 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag83;
3718 end Flag83;
3719
3720 function Flag84 (N : Node_Id) return Boolean is
3721 begin
3722 pragma Assert (Nkind (N) in N_Entity);
3723 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag84;
3724 end Flag84;
3725
3726 function Flag85 (N : Node_Id) return Boolean is
3727 begin
3728 pragma Assert (Nkind (N) in N_Entity);
3729 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag85;
3730 end Flag85;
3731
3732 function Flag86 (N : Node_Id) return Boolean is
3733 begin
3734 pragma Assert (Nkind (N) in N_Entity);
3735 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag86;
3736 end Flag86;
3737
3738 function Flag87 (N : Node_Id) return Boolean is
3739 begin
3740 pragma Assert (Nkind (N) in N_Entity);
3741 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag87;
3742 end Flag87;
3743
3744 function Flag88 (N : Node_Id) return Boolean is
3745 begin
3746 pragma Assert (Nkind (N) in N_Entity);
3747 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag88;
3748 end Flag88;
3749
3750 function Flag89 (N : Node_Id) return Boolean is
3751 begin
3752 pragma Assert (Nkind (N) in N_Entity);
3753 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag89;
3754 end Flag89;
3755
3756 function Flag90 (N : Node_Id) return Boolean is
3757 begin
3758 pragma Assert (Nkind (N) in N_Entity);
3759 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag90;
3760 end Flag90;
3761
3762 function Flag91 (N : Node_Id) return Boolean is
3763 begin
3764 pragma Assert (Nkind (N) in N_Entity);
3765 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag91;
3766 end Flag91;
3767
3768 function Flag92 (N : Node_Id) return Boolean is
3769 begin
3770 pragma Assert (Nkind (N) in N_Entity);
3771 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag92;
3772 end Flag92;
3773
3774 function Flag93 (N : Node_Id) return Boolean is
3775 begin
3776 pragma Assert (Nkind (N) in N_Entity);
3777 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag93;
3778 end Flag93;
3779
3780 function Flag94 (N : Node_Id) return Boolean is
3781 begin
3782 pragma Assert (Nkind (N) in N_Entity);
3783 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag94;
3784 end Flag94;
3785
3786 function Flag95 (N : Node_Id) return Boolean is
3787 begin
3788 pragma Assert (Nkind (N) in N_Entity);
3789 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag95;
3790 end Flag95;
3791
3792 function Flag96 (N : Node_Id) return Boolean is
3793 begin
3794 pragma Assert (Nkind (N) in N_Entity);
3795 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag96;
3796 end Flag96;
3797
3798 function Flag97 (N : Node_Id) return Boolean is
3799 begin
3800 pragma Assert (Nkind (N) in N_Entity);
3801 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag97;
3802 end Flag97;
3803
3804 function Flag98 (N : Node_Id) return Boolean is
3805 begin
3806 pragma Assert (Nkind (N) in N_Entity);
3807 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag98;
3808 end Flag98;
3809
3810 function Flag99 (N : Node_Id) return Boolean is
3811 begin
3812 pragma Assert (Nkind (N) in N_Entity);
3813 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag99;
3814 end Flag99;
3815
3816 function Flag100 (N : Node_Id) return Boolean is
3817 begin
3818 pragma Assert (Nkind (N) in N_Entity);
3819 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag100;
3820 end Flag100;
3821
3822 function Flag101 (N : Node_Id) return Boolean is
3823 begin
3824 pragma Assert (Nkind (N) in N_Entity);
3825 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag101;
3826 end Flag101;
3827
3828 function Flag102 (N : Node_Id) return Boolean is
3829 begin
3830 pragma Assert (Nkind (N) in N_Entity);
3831 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag102;
3832 end Flag102;
3833
3834 function Flag103 (N : Node_Id) return Boolean is
3835 begin
3836 pragma Assert (Nkind (N) in N_Entity);
3837 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag103;
3838 end Flag103;
3839
3840 function Flag104 (N : Node_Id) return Boolean is
3841 begin
3842 pragma Assert (Nkind (N) in N_Entity);
3843 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag104;
3844 end Flag104;
3845
3846 function Flag105 (N : Node_Id) return Boolean is
3847 begin
3848 pragma Assert (Nkind (N) in N_Entity);
3849 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag105;
3850 end Flag105;
3851
3852 function Flag106 (N : Node_Id) return Boolean is
3853 begin
3854 pragma Assert (Nkind (N) in N_Entity);
3855 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag106;
3856 end Flag106;
3857
3858 function Flag107 (N : Node_Id) return Boolean is
3859 begin
3860 pragma Assert (Nkind (N) in N_Entity);
3861 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag107;
3862 end Flag107;
3863
3864 function Flag108 (N : Node_Id) return Boolean is
3865 begin
3866 pragma Assert (Nkind (N) in N_Entity);
3867 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag108;
3868 end Flag108;
3869
3870 function Flag109 (N : Node_Id) return Boolean is
3871 begin
3872 pragma Assert (Nkind (N) in N_Entity);
3873 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag109;
3874 end Flag109;
3875
3876 function Flag110 (N : Node_Id) return Boolean is
3877 begin
3878 pragma Assert (Nkind (N) in N_Entity);
3879 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag110;
3880 end Flag110;
3881
3882 function Flag111 (N : Node_Id) return Boolean is
3883 begin
3884 pragma Assert (Nkind (N) in N_Entity);
3885 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag111;
3886 end Flag111;
3887
3888 function Flag112 (N : Node_Id) return Boolean is
3889 begin
3890 pragma Assert (Nkind (N) in N_Entity);
3891 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag112;
3892 end Flag112;
3893
3894 function Flag113 (N : Node_Id) return Boolean is
3895 begin
3896 pragma Assert (Nkind (N) in N_Entity);
3897 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag113;
3898 end Flag113;
3899
3900 function Flag114 (N : Node_Id) return Boolean is
3901 begin
3902 pragma Assert (Nkind (N) in N_Entity);
3903 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag114;
3904 end Flag114;
3905
3906 function Flag115 (N : Node_Id) return Boolean is
3907 begin
3908 pragma Assert (Nkind (N) in N_Entity);
3909 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag115;
3910 end Flag115;
3911
3912 function Flag116 (N : Node_Id) return Boolean is
3913 begin
3914 pragma Assert (Nkind (N) in N_Entity);
3915 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag116;
3916 end Flag116;
3917
3918 function Flag117 (N : Node_Id) return Boolean is
3919 begin
3920 pragma Assert (Nkind (N) in N_Entity);
3921 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag117;
3922 end Flag117;
3923
3924 function Flag118 (N : Node_Id) return Boolean is
3925 begin
3926 pragma Assert (Nkind (N) in N_Entity);
3927 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag118;
3928 end Flag118;
3929
3930 function Flag119 (N : Node_Id) return Boolean is
3931 begin
3932 pragma Assert (Nkind (N) in N_Entity);
3933 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag119;
3934 end Flag119;
3935
3936 function Flag120 (N : Node_Id) return Boolean is
3937 begin
3938 pragma Assert (Nkind (N) in N_Entity);
3939 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag120;
3940 end Flag120;
3941
3942 function Flag121 (N : Node_Id) return Boolean is
3943 begin
3944 pragma Assert (Nkind (N) in N_Entity);
3945 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag121;
3946 end Flag121;
3947
3948 function Flag122 (N : Node_Id) return Boolean is
3949 begin
3950 pragma Assert (Nkind (N) in N_Entity);
3951 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag122;
3952 end Flag122;
3953
3954 function Flag123 (N : Node_Id) return Boolean is
3955 begin
3956 pragma Assert (Nkind (N) in N_Entity);
3957 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag123;
3958 end Flag123;
3959
3960 function Flag124 (N : Node_Id) return Boolean is
3961 begin
3962 pragma Assert (Nkind (N) in N_Entity);
3963 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag124;
3964 end Flag124;
3965
3966 function Flag125 (N : Node_Id) return Boolean is
3967 begin
3968 pragma Assert (Nkind (N) in N_Entity);
3969 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag125;
3970 end Flag125;
3971
3972 function Flag126 (N : Node_Id) return Boolean is
3973 begin
3974 pragma Assert (Nkind (N) in N_Entity);
3975 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag126;
3976 end Flag126;
3977
3978 function Flag127 (N : Node_Id) return Boolean is
3979 begin
3980 pragma Assert (Nkind (N) in N_Entity);
3981 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag127;
3982 end Flag127;
3983
3984 function Flag128 (N : Node_Id) return Boolean is
3985 begin
3986 pragma Assert (Nkind (N) in N_Entity);
3987 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag128;
3988 end Flag128;
3989
3990 function Flag129 (N : Node_Id) return Boolean is
3991 begin
3992 pragma Assert (Nkind (N) in N_Entity);
3993 return Nodes.Table (N + 3).In_List;
3994 end Flag129;
3995
3996 function Flag130 (N : Node_Id) return Boolean is
3997 begin
3998 pragma Assert (Nkind (N) in N_Entity);
3999 return Nodes.Table (N + 3).Has_Aspects;
4000 end Flag130;
4001
4002 function Flag131 (N : Node_Id) return Boolean is
4003 begin
4004 pragma Assert (Nkind (N) in N_Entity);
4005 return Nodes.Table (N + 3).Rewrite_Ins;
4006 end Flag131;
4007
4008 function Flag132 (N : Node_Id) return Boolean is
4009 begin
4010 pragma Assert (Nkind (N) in N_Entity);
4011 return Nodes.Table (N + 3).Analyzed;
4012 end Flag132;
4013
4014 function Flag133 (N : Node_Id) return Boolean is
4015 begin
4016 pragma Assert (Nkind (N) in N_Entity);
4017 return Nodes.Table (N + 3).Comes_From_Source;
4018 end Flag133;
4019
4020 function Flag134 (N : Node_Id) return Boolean is
4021 begin
4022 pragma Assert (Nkind (N) in N_Entity);
4023 return Nodes.Table (N + 3).Error_Posted;
4024 end Flag134;
4025
4026 function Flag135 (N : Node_Id) return Boolean is
4027 begin
4028 pragma Assert (Nkind (N) in N_Entity);
4029 return Nodes.Table (N + 3).Flag4;
4030 end Flag135;
4031
4032 function Flag136 (N : Node_Id) return Boolean is
4033 begin
4034 pragma Assert (Nkind (N) in N_Entity);
4035 return Nodes.Table (N + 3).Flag5;
4036 end Flag136;
4037
4038 function Flag137 (N : Node_Id) return Boolean is
4039 begin
4040 pragma Assert (Nkind (N) in N_Entity);
4041 return Nodes.Table (N + 3).Flag6;
4042 end Flag137;
4043
4044 function Flag138 (N : Node_Id) return Boolean is
4045 begin
4046 pragma Assert (Nkind (N) in N_Entity);
4047 return Nodes.Table (N + 3).Flag7;
4048 end Flag138;
4049
4050 function Flag139 (N : Node_Id) return Boolean is
4051 begin
4052 pragma Assert (Nkind (N) in N_Entity);
4053 return Nodes.Table (N + 3).Flag8;
4054 end Flag139;
4055
4056 function Flag140 (N : Node_Id) return Boolean is
4057 begin
4058 pragma Assert (Nkind (N) in N_Entity);
4059 return Nodes.Table (N + 3).Flag9;
4060 end Flag140;
4061
4062 function Flag141 (N : Node_Id) return Boolean is
4063 begin
4064 pragma Assert (Nkind (N) in N_Entity);
4065 return Nodes.Table (N + 3).Flag10;
4066 end Flag141;
4067
4068 function Flag142 (N : Node_Id) return Boolean is
4069 begin
4070 pragma Assert (Nkind (N) in N_Entity);
4071 return Nodes.Table (N + 3).Flag11;
4072 end Flag142;
4073
4074 function Flag143 (N : Node_Id) return Boolean is
4075 begin
4076 pragma Assert (Nkind (N) in N_Entity);
4077 return Nodes.Table (N + 3).Flag12;
4078 end Flag143;
4079
4080 function Flag144 (N : Node_Id) return Boolean is
4081 begin
4082 pragma Assert (Nkind (N) in N_Entity);
4083 return Nodes.Table (N + 3).Flag13;
4084 end Flag144;
4085
4086 function Flag145 (N : Node_Id) return Boolean is
4087 begin
4088 pragma Assert (Nkind (N) in N_Entity);
4089 return Nodes.Table (N + 3).Flag14;
4090 end Flag145;
4091
4092 function Flag146 (N : Node_Id) return Boolean is
4093 begin
4094 pragma Assert (Nkind (N) in N_Entity);
4095 return Nodes.Table (N + 3).Flag15;
4096 end Flag146;
4097
4098 function Flag147 (N : Node_Id) return Boolean is
4099 begin
4100 pragma Assert (Nkind (N) in N_Entity);
4101 return Nodes.Table (N + 3).Flag16;
4102 end Flag147;
4103
4104 function Flag148 (N : Node_Id) return Boolean is
4105 begin
4106 pragma Assert (Nkind (N) in N_Entity);
4107 return Nodes.Table (N + 3).Flag17;
4108 end Flag148;
4109
4110 function Flag149 (N : Node_Id) return Boolean is
4111 begin
4112 pragma Assert (Nkind (N) in N_Entity);
4113 return Nodes.Table (N + 3).Flag18;
4114 end Flag149;
4115
4116 function Flag150 (N : Node_Id) return Boolean is
4117 begin
4118 pragma Assert (Nkind (N) in N_Entity);
4119 return Nodes.Table (N + 3).Pflag1;
4120 end Flag150;
4121
4122 function Flag151 (N : Node_Id) return Boolean is
4123 begin
4124 pragma Assert (Nkind (N) in N_Entity);
4125 return Nodes.Table (N + 3).Pflag2;
4126 end Flag151;
4127
4128 function Flag152 (N : Node_Id) return Boolean is
4129 begin
4130 pragma Assert (Nkind (N) in N_Entity);
4131 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag152;
4132 end Flag152;
4133
4134 function Flag153 (N : Node_Id) return Boolean is
4135 begin
4136 pragma Assert (Nkind (N) in N_Entity);
4137 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag153;
4138 end Flag153;
4139
4140 function Flag154 (N : Node_Id) return Boolean is
4141 begin
4142 pragma Assert (Nkind (N) in N_Entity);
4143 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag154;
4144 end Flag154;
4145
4146 function Flag155 (N : Node_Id) return Boolean is
4147 begin
4148 pragma Assert (Nkind (N) in N_Entity);
4149 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag155;
4150 end Flag155;
4151
4152 function Flag156 (N : Node_Id) return Boolean is
4153 begin
4154 pragma Assert (Nkind (N) in N_Entity);
4155 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag156;
4156 end Flag156;
4157
4158 function Flag157 (N : Node_Id) return Boolean is
4159 begin
4160 pragma Assert (Nkind (N) in N_Entity);
4161 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag157;
4162 end Flag157;
4163
4164 function Flag158 (N : Node_Id) return Boolean is
4165 begin
4166 pragma Assert (Nkind (N) in N_Entity);
4167 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag158;
4168 end Flag158;
4169
4170 function Flag159 (N : Node_Id) return Boolean is
4171 begin
4172 pragma Assert (Nkind (N) in N_Entity);
4173 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag159;
4174 end Flag159;
4175
4176 function Flag160 (N : Node_Id) return Boolean is
4177 begin
4178 pragma Assert (Nkind (N) in N_Entity);
4179 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag160;
4180 end Flag160;
4181
4182 function Flag161 (N : Node_Id) return Boolean is
4183 begin
4184 pragma Assert (Nkind (N) in N_Entity);
4185 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag161;
4186 end Flag161;
4187
4188 function Flag162 (N : Node_Id) return Boolean is
4189 begin
4190 pragma Assert (Nkind (N) in N_Entity);
4191 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag162;
4192 end Flag162;
4193
4194 function Flag163 (N : Node_Id) return Boolean is
4195 begin
4196 pragma Assert (Nkind (N) in N_Entity);
4197 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag163;
4198 end Flag163;
4199
4200 function Flag164 (N : Node_Id) return Boolean is
4201 begin
4202 pragma Assert (Nkind (N) in N_Entity);
4203 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag164;
4204 end Flag164;
4205
4206 function Flag165 (N : Node_Id) return Boolean is
4207 begin
4208 pragma Assert (Nkind (N) in N_Entity);
4209 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag165;
4210 end Flag165;
4211
4212 function Flag166 (N : Node_Id) return Boolean is
4213 begin
4214 pragma Assert (Nkind (N) in N_Entity);
4215 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag166;
4216 end Flag166;
4217
4218 function Flag167 (N : Node_Id) return Boolean is
4219 begin
4220 pragma Assert (Nkind (N) in N_Entity);
4221 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag167;
4222 end Flag167;
4223
4224 function Flag168 (N : Node_Id) return Boolean is
4225 begin
4226 pragma Assert (Nkind (N) in N_Entity);
4227 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag168;
4228 end Flag168;
4229
4230 function Flag169 (N : Node_Id) return Boolean is
4231 begin
4232 pragma Assert (Nkind (N) in N_Entity);
4233 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag169;
4234 end Flag169;
4235
4236 function Flag170 (N : Node_Id) return Boolean is
4237 begin
4238 pragma Assert (Nkind (N) in N_Entity);
4239 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag170;
4240 end Flag170;
4241
4242 function Flag171 (N : Node_Id) return Boolean is
4243 begin
4244 pragma Assert (Nkind (N) in N_Entity);
4245 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag171;
4246 end Flag171;
4247
4248 function Flag172 (N : Node_Id) return Boolean is
4249 begin
4250 pragma Assert (Nkind (N) in N_Entity);
4251 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag172;
4252 end Flag172;
4253
4254 function Flag173 (N : Node_Id) return Boolean is
4255 begin
4256 pragma Assert (Nkind (N) in N_Entity);
4257 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag173;
4258 end Flag173;
4259
4260 function Flag174 (N : Node_Id) return Boolean is
4261 begin
4262 pragma Assert (Nkind (N) in N_Entity);
4263 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag174;
4264 end Flag174;
4265
4266 function Flag175 (N : Node_Id) return Boolean is
4267 begin
4268 pragma Assert (Nkind (N) in N_Entity);
4269 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag175;
4270 end Flag175;
4271
4272 function Flag176 (N : Node_Id) return Boolean is
4273 begin
4274 pragma Assert (Nkind (N) in N_Entity);
4275 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag176;
4276 end Flag176;
4277
4278 function Flag177 (N : Node_Id) return Boolean is
4279 begin
4280 pragma Assert (Nkind (N) in N_Entity);
4281 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag177;
4282 end Flag177;
4283
4284 function Flag178 (N : Node_Id) return Boolean is
4285 begin
4286 pragma Assert (Nkind (N) in N_Entity);
4287 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag178;
4288 end Flag178;
4289
4290 function Flag179 (N : Node_Id) return Boolean is
4291 begin
4292 pragma Assert (Nkind (N) in N_Entity);
4293 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag179;
4294 end Flag179;
4295
4296 function Flag180 (N : Node_Id) return Boolean is
4297 begin
4298 pragma Assert (Nkind (N) in N_Entity);
4299 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag180;
4300 end Flag180;
4301
4302 function Flag181 (N : Node_Id) return Boolean is
4303 begin
4304 pragma Assert (Nkind (N) in N_Entity);
4305 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag181;
4306 end Flag181;
4307
4308 function Flag182 (N : Node_Id) return Boolean is
4309 begin
4310 pragma Assert (Nkind (N) in N_Entity);
4311 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag182;
4312 end Flag182;
4313
4314 function Flag183 (N : Node_Id) return Boolean is
4315 begin
4316 pragma Assert (Nkind (N) in N_Entity);
4317 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag183;
4318 end Flag183;
4319
4320 function Flag184 (N : Node_Id) return Boolean is
4321 begin
4322 pragma Assert (Nkind (N) in N_Entity);
4323 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag184;
4324 end Flag184;
4325
4326 function Flag185 (N : Node_Id) return Boolean is
4327 begin
4328 pragma Assert (Nkind (N) in N_Entity);
4329 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag185;
4330 end Flag185;
4331
4332 function Flag186 (N : Node_Id) return Boolean is
4333 begin
4334 pragma Assert (Nkind (N) in N_Entity);
4335 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag186;
4336 end Flag186;
4337
4338 function Flag187 (N : Node_Id) return Boolean is
4339 begin
4340 pragma Assert (Nkind (N) in N_Entity);
4341 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag187;
4342 end Flag187;
4343
4344 function Flag188 (N : Node_Id) return Boolean is
4345 begin
4346 pragma Assert (Nkind (N) in N_Entity);
4347 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag188;
4348 end Flag188;
4349
4350 function Flag189 (N : Node_Id) return Boolean is
4351 begin
4352 pragma Assert (Nkind (N) in N_Entity);
4353 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag189;
4354 end Flag189;
4355
4356 function Flag190 (N : Node_Id) return Boolean is
4357 begin
4358 pragma Assert (Nkind (N) in N_Entity);
4359 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag190;
4360 end Flag190;
4361
4362 function Flag191 (N : Node_Id) return Boolean is
4363 begin
4364 pragma Assert (Nkind (N) in N_Entity);
4365 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag191;
4366 end Flag191;
4367
4368 function Flag192 (N : Node_Id) return Boolean is
4369 begin
4370 pragma Assert (Nkind (N) in N_Entity);
4371 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag192;
4372 end Flag192;
4373
4374 function Flag193 (N : Node_Id) return Boolean is
4375 begin
4376 pragma Assert (Nkind (N) in N_Entity);
4377 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag193;
4378 end Flag193;
4379
4380 function Flag194 (N : Node_Id) return Boolean is
4381 begin
4382 pragma Assert (Nkind (N) in N_Entity);
4383 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag194;
4384 end Flag194;
4385
4386 function Flag195 (N : Node_Id) return Boolean is
4387 begin
4388 pragma Assert (Nkind (N) in N_Entity);
4389 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag195;
4390 end Flag195;
4391
4392 function Flag196 (N : Node_Id) return Boolean is
4393 begin
4394 pragma Assert (Nkind (N) in N_Entity);
4395 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag196;
4396 end Flag196;
4397
4398 function Flag197 (N : Node_Id) return Boolean is
4399 begin
4400 pragma Assert (Nkind (N) in N_Entity);
4401 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag197;
4402 end Flag197;
4403
4404 function Flag198 (N : Node_Id) return Boolean is
4405 begin
4406 pragma Assert (Nkind (N) in N_Entity);
4407 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag198;
4408 end Flag198;
4409
4410 function Flag199 (N : Node_Id) return Boolean is
4411 begin
4412 pragma Assert (Nkind (N) in N_Entity);
4413 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag199;
4414 end Flag199;
4415
4416 function Flag200 (N : Node_Id) return Boolean is
4417 begin
4418 pragma Assert (Nkind (N) in N_Entity);
4419 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag200;
4420 end Flag200;
4421
4422 function Flag201 (N : Node_Id) return Boolean is
4423 begin
4424 pragma Assert (Nkind (N) in N_Entity);
4425 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag201;
4426 end Flag201;
4427
4428 function Flag202 (N : Node_Id) return Boolean is
4429 begin
4430 pragma Assert (Nkind (N) in N_Entity);
4431 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag202;
4432 end Flag202;
4433
4434 function Flag203 (N : Node_Id) return Boolean is
4435 begin
4436 pragma Assert (Nkind (N) in N_Entity);
4437 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag203;
4438 end Flag203;
4439
4440 function Flag204 (N : Node_Id) return Boolean is
4441 begin
4442 pragma Assert (Nkind (N) in N_Entity);
4443 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag204;
4444 end Flag204;
4445
4446 function Flag205 (N : Node_Id) return Boolean is
4447 begin
4448 pragma Assert (Nkind (N) in N_Entity);
4449 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag205;
4450 end Flag205;
4451
4452 function Flag206 (N : Node_Id) return Boolean is
4453 begin
4454 pragma Assert (Nkind (N) in N_Entity);
4455 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag206;
4456 end Flag206;
4457
4458 function Flag207 (N : Node_Id) return Boolean is
4459 begin
4460 pragma Assert (Nkind (N) in N_Entity);
4461 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag207;
4462 end Flag207;
4463
4464 function Flag208 (N : Node_Id) return Boolean is
4465 begin
4466 pragma Assert (Nkind (N) in N_Entity);
4467 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag208;
4468 end Flag208;
4469
4470 function Flag209 (N : Node_Id) return Boolean is
4471 begin
4472 pragma Assert (Nkind (N) in N_Entity);
4473 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag209;
4474 end Flag209;
4475
4476 function Flag210 (N : Node_Id) return Boolean is
4477 begin
4478 pragma Assert (Nkind (N) in N_Entity);
4479 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag210;
4480 end Flag210;
4481
4482 function Flag211 (N : Node_Id) return Boolean is
4483 begin
4484 pragma Assert (Nkind (N) in N_Entity);
4485 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag211;
4486 end Flag211;
4487
4488 function Flag212 (N : Node_Id) return Boolean is
4489 begin
4490 pragma Assert (Nkind (N) in N_Entity);
4491 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag212;
4492 end Flag212;
4493
4494 function Flag213 (N : Node_Id) return Boolean is
4495 begin
4496 pragma Assert (Nkind (N) in N_Entity);
4497 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag213;
4498 end Flag213;
4499
4500 function Flag214 (N : Node_Id) return Boolean is
4501 begin
4502 pragma Assert (Nkind (N) in N_Entity);
4503 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag214;
4504 end Flag214;
4505
4506 function Flag215 (N : Node_Id) return Boolean is
4507 begin
4508 pragma Assert (Nkind (N) in N_Entity);
4509 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag215;
4510 end Flag215;
4511
4512 function Flag216 (N : Node_Id) return Boolean is
4513 begin
4514 pragma Assert (Nkind (N) in N_Entity);
4515 return Nodes.Table (N + 4).In_List;
4516 end Flag216;
4517
4518 function Flag217 (N : Node_Id) return Boolean is
4519 begin
4520 pragma Assert (Nkind (N) in N_Entity);
4521 return Nodes.Table (N + 4).Has_Aspects;
4522 end Flag217;
4523
4524 function Flag218 (N : Node_Id) return Boolean is
4525 begin
4526 pragma Assert (Nkind (N) in N_Entity);
4527 return Nodes.Table (N + 4).Rewrite_Ins;
4528 end Flag218;
4529
4530 function Flag219 (N : Node_Id) return Boolean is
4531 begin
4532 pragma Assert (Nkind (N) in N_Entity);
4533 return Nodes.Table (N + 4).Analyzed;
4534 end Flag219;
4535
4536 function Flag220 (N : Node_Id) return Boolean is
4537 begin
4538 pragma Assert (Nkind (N) in N_Entity);
4539 return Nodes.Table (N + 4).Comes_From_Source;
4540 end Flag220;
4541
4542 function Flag221 (N : Node_Id) return Boolean is
4543 begin
4544 pragma Assert (Nkind (N) in N_Entity);
4545 return Nodes.Table (N + 4).Error_Posted;
4546 end Flag221;
4547
4548 function Flag222 (N : Node_Id) return Boolean is
4549 begin
4550 pragma Assert (Nkind (N) in N_Entity);
4551 return Nodes.Table (N + 4).Flag4;
4552 end Flag222;
4553
4554 function Flag223 (N : Node_Id) return Boolean is
4555 begin
4556 pragma Assert (Nkind (N) in N_Entity);
4557 return Nodes.Table (N + 4).Flag5;
4558 end Flag223;
4559
4560 function Flag224 (N : Node_Id) return Boolean is
4561 begin
4562 pragma Assert (Nkind (N) in N_Entity);
4563 return Nodes.Table (N + 4).Flag6;
4564 end Flag224;
4565
4566 function Flag225 (N : Node_Id) return Boolean is
4567 begin
4568 pragma Assert (Nkind (N) in N_Entity);
4569 return Nodes.Table (N + 4).Flag7;
4570 end Flag225;
4571
4572 function Flag226 (N : Node_Id) return Boolean is
4573 begin
4574 pragma Assert (Nkind (N) in N_Entity);
4575 return Nodes.Table (N + 4).Flag8;
4576 end Flag226;
4577
4578 function Flag227 (N : Node_Id) return Boolean is
4579 begin
4580 pragma Assert (Nkind (N) in N_Entity);
4581 return Nodes.Table (N + 4).Flag9;
4582 end Flag227;
4583
4584 function Flag228 (N : Node_Id) return Boolean is
4585 begin
4586 pragma Assert (Nkind (N) in N_Entity);
4587 return Nodes.Table (N + 4).Flag10;
4588 end Flag228;
4589
4590 function Flag229 (N : Node_Id) return Boolean is
4591 begin
4592 pragma Assert (Nkind (N) in N_Entity);
4593 return Nodes.Table (N + 4).Flag11;
4594 end Flag229;
4595
4596 function Flag230 (N : Node_Id) return Boolean is
4597 begin
4598 pragma Assert (Nkind (N) in N_Entity);
4599 return Nodes.Table (N + 4).Flag12;
4600 end Flag230;
4601
4602 function Flag231 (N : Node_Id) return Boolean is
4603 begin
4604 pragma Assert (Nkind (N) in N_Entity);
4605 return Nodes.Table (N + 4).Flag13;
4606 end Flag231;
4607
4608 function Flag232 (N : Node_Id) return Boolean is
4609 begin
4610 pragma Assert (Nkind (N) in N_Entity);
4611 return Nodes.Table (N + 4).Flag14;
4612 end Flag232;
4613
4614 function Flag233 (N : Node_Id) return Boolean is
4615 begin
4616 pragma Assert (Nkind (N) in N_Entity);
4617 return Nodes.Table (N + 4).Flag15;
4618 end Flag233;
4619
4620 function Flag234 (N : Node_Id) return Boolean is
4621 begin
4622 pragma Assert (Nkind (N) in N_Entity);
4623 return Nodes.Table (N + 4).Flag16;
4624 end Flag234;
4625
4626 function Flag235 (N : Node_Id) return Boolean is
4627 begin
4628 pragma Assert (Nkind (N) in N_Entity);
4629 return Nodes.Table (N + 4).Flag17;
4630 end Flag235;
4631
4632 function Flag236 (N : Node_Id) return Boolean is
4633 begin
4634 pragma Assert (Nkind (N) in N_Entity);
4635 return Nodes.Table (N + 4).Flag18;
4636 end Flag236;
4637
4638 function Flag237 (N : Node_Id) return Boolean is
4639 begin
4640 pragma Assert (Nkind (N) in N_Entity);
4641 return Nodes.Table (N + 4).Pflag1;
4642 end Flag237;
4643
4644 function Flag238 (N : Node_Id) return Boolean is
4645 begin
4646 pragma Assert (Nkind (N) in N_Entity);
4647 return Nodes.Table (N + 4).Pflag2;
4648 end Flag238;
4649
4650 function Flag239 (N : Node_Id) return Boolean is
4651 begin
4652 pragma Assert (Nkind (N) in N_Entity);
4653 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag239;
4654 end Flag239;
4655
4656 function Flag240 (N : Node_Id) return Boolean is
4657 begin
4658 pragma Assert (Nkind (N) in N_Entity);
4659 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag240;
4660 end Flag240;
4661
4662 function Flag241 (N : Node_Id) return Boolean is
4663 begin
4664 pragma Assert (Nkind (N) in N_Entity);
4665 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag241;
4666 end Flag241;
4667
4668 function Flag242 (N : Node_Id) return Boolean is
4669 begin
4670 pragma Assert (Nkind (N) in N_Entity);
4671 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag242;
4672 end Flag242;
4673
4674 function Flag243 (N : Node_Id) return Boolean is
4675 begin
4676 pragma Assert (Nkind (N) in N_Entity);
4677 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag243;
4678 end Flag243;
4679
4680 function Flag244 (N : Node_Id) return Boolean is
4681 begin
4682 pragma Assert (Nkind (N) in N_Entity);
4683 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag244;
4684 end Flag244;
4685
4686 function Flag245 (N : Node_Id) return Boolean is
4687 begin
4688 pragma Assert (Nkind (N) in N_Entity);
4689 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag245;
4690 end Flag245;
4691
4692 function Flag246 (N : Node_Id) return Boolean is
4693 begin
4694 pragma Assert (Nkind (N) in N_Entity);
4695 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag246;
4696 end Flag246;
4697
4698 function Flag247 (N : Node_Id) return Boolean is
4699 begin
4700 pragma Assert (Nkind (N) in N_Entity);
4701 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag247;
4702 end Flag247;
4703
4704 function Flag248 (N : Node_Id) return Boolean is
4705 begin
4706 pragma Assert (Nkind (N) in N_Entity);
4707 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag248;
4708 end Flag248;
4709
4710 function Flag249 (N : Node_Id) return Boolean is
4711 begin
4712 pragma Assert (Nkind (N) in N_Entity);
4713 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag249;
4714 end Flag249;
4715
4716 function Flag250 (N : Node_Id) return Boolean is
4717 begin
4718 pragma Assert (Nkind (N) in N_Entity);
4719 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag250;
4720 end Flag250;
4721
4722 function Flag251 (N : Node_Id) return Boolean is
4723 begin
4724 pragma Assert (Nkind (N) in N_Entity);
4725 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag251;
4726 end Flag251;
4727
4728 function Flag252 (N : Node_Id) return Boolean is
4729 begin
4730 pragma Assert (Nkind (N) in N_Entity);
4731 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag252;
4732 end Flag252;
4733
4734 function Flag253 (N : Node_Id) return Boolean is
4735 begin
4736 pragma Assert (Nkind (N) in N_Entity);
4737 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag253;
4738 end Flag253;
4739
4740 function Flag254 (N : Node_Id) return Boolean is
4741 begin
4742 pragma Assert (Nkind (N) in N_Entity);
4743 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag254;
4744 end Flag254;
4745
4746 function Flag255 (N : Node_Id) return Boolean is
4747 begin
4748 pragma Assert (Nkind (N) in N_Entity);
4749 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag255;
4750 end Flag255;
4751
4752 function Flag256 (N : Node_Id) return Boolean is
4753 begin
4754 pragma Assert (Nkind (N) in N_Entity);
4755 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag256;
4756 end Flag256;
4757
4758 function Flag257 (N : Node_Id) return Boolean is
4759 begin
4760 pragma Assert (Nkind (N) in N_Entity);
4761 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag257;
4762 end Flag257;
4763
4764 function Flag258 (N : Node_Id) return Boolean is
4765 begin
4766 pragma Assert (Nkind (N) in N_Entity);
4767 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag258;
4768 end Flag258;
4769
4770 function Flag259 (N : Node_Id) return Boolean is
4771 begin
4772 pragma Assert (Nkind (N) in N_Entity);
4773 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag259;
4774 end Flag259;
4775
4776 function Flag260 (N : Node_Id) return Boolean is
4777 begin
4778 pragma Assert (Nkind (N) in N_Entity);
4779 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag260;
4780 end Flag260;
4781
4782 function Flag261 (N : Node_Id) return Boolean is
4783 begin
4784 pragma Assert (Nkind (N) in N_Entity);
4785 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag261;
4786 end Flag261;
4787
4788 function Flag262 (N : Node_Id) return Boolean is
4789 begin
4790 pragma Assert (Nkind (N) in N_Entity);
4791 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag262;
4792 end Flag262;
4793
4794 function Flag263 (N : Node_Id) return Boolean is
4795 begin
4796 pragma Assert (Nkind (N) in N_Entity);
4797 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag263;
4798 end Flag263;
4799
4800 function Flag264 (N : Node_Id) return Boolean is
4801 begin
4802 pragma Assert (Nkind (N) in N_Entity);
4803 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag264;
4804 end Flag264;
4805
4806 function Flag265 (N : Node_Id) return Boolean is
4807 begin
4808 pragma Assert (Nkind (N) in N_Entity);
4809 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag265;
4810 end Flag265;
4811
4812 function Flag266 (N : Node_Id) return Boolean is
4813 begin
4814 pragma Assert (Nkind (N) in N_Entity);
4815 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag266;
4816 end Flag266;
4817
4818 function Flag267 (N : Node_Id) return Boolean is
4819 begin
4820 pragma Assert (Nkind (N) in N_Entity);
4821 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag267;
4822 end Flag267;
4823
4824 function Flag268 (N : Node_Id) return Boolean is
4825 begin
4826 pragma Assert (Nkind (N) in N_Entity);
4827 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag268;
4828 end Flag268;
4829
4830 function Flag269 (N : Node_Id) return Boolean is
4831 begin
4832 pragma Assert (Nkind (N) in N_Entity);
4833 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag269;
4834 end Flag269;
4835
4836 function Flag270 (N : Node_Id) return Boolean is
4837 begin
4838 pragma Assert (Nkind (N) in N_Entity);
4839 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag270;
4840 end Flag270;
4841
4842 function Flag271 (N : Node_Id) return Boolean is
4843 begin
4844 pragma Assert (Nkind (N) in N_Entity);
4845 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag271;
4846 end Flag271;
4847
4848 function Flag272 (N : Node_Id) return Boolean is
4849 begin
4850 pragma Assert (Nkind (N) in N_Entity);
4851 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag272;
4852 end Flag272;
4853
4854 function Flag273 (N : Node_Id) return Boolean is
4855 begin
4856 pragma Assert (Nkind (N) in N_Entity);
4857 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag273;
4858 end Flag273;
4859
4860 function Flag274 (N : Node_Id) return Boolean is
4861 begin
4862 pragma Assert (Nkind (N) in N_Entity);
4863 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag274;
4864 end Flag274;
4865
4866 function Flag275 (N : Node_Id) return Boolean is
4867 begin
4868 pragma Assert (Nkind (N) in N_Entity);
4869 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag275;
4870 end Flag275;
4871
4872 function Flag276 (N : Node_Id) return Boolean is
4873 begin
4874 pragma Assert (Nkind (N) in N_Entity);
4875 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag276;
4876 end Flag276;
4877
4878 function Flag277 (N : Node_Id) return Boolean is
4879 begin
4880 pragma Assert (Nkind (N) in N_Entity);
4881 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag277;
4882 end Flag277;
4883
4884 function Flag278 (N : Node_Id) return Boolean is
4885 begin
4886 pragma Assert (Nkind (N) in N_Entity);
4887 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag278;
4888 end Flag278;
4889
4890 function Flag279 (N : Node_Id) return Boolean is
4891 begin
4892 pragma Assert (Nkind (N) in N_Entity);
4893 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag279;
4894 end Flag279;
4895
4896 function Flag280 (N : Node_Id) return Boolean is
4897 begin
4898 pragma Assert (Nkind (N) in N_Entity);
4899 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag280;
4900 end Flag280;
4901
4902 function Flag281 (N : Node_Id) return Boolean is
4903 begin
4904 pragma Assert (Nkind (N) in N_Entity);
4905 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag281;
4906 end Flag281;
4907
4908 function Flag282 (N : Node_Id) return Boolean is
4909 begin
4910 pragma Assert (Nkind (N) in N_Entity);
4911 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag282;
4912 end Flag282;
4913
4914 function Flag283 (N : Node_Id) return Boolean is
4915 begin
4916 pragma Assert (Nkind (N) in N_Entity);
4917 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag283;
4918 end Flag283;
4919
4920 function Flag284 (N : Node_Id) return Boolean is
4921 begin
4922 pragma Assert (Nkind (N) in N_Entity);
4923 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag284;
4924 end Flag284;
4925
4926 function Flag285 (N : Node_Id) return Boolean is
4927 begin
4928 pragma Assert (Nkind (N) in N_Entity);
4929 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag285;
4930 end Flag285;
4931
4932 function Flag286 (N : Node_Id) return Boolean is
4933 begin
4934 pragma Assert (Nkind (N) in N_Entity);
4935 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag286;
4936 end Flag286;
4937
4938 function Flag287 (N : Node_Id) return Boolean is
4939 begin
4940 pragma Assert (Nkind (N) in N_Entity);
4941 return Nodes.Table (N + 5).In_List;
4942 end Flag287;
4943
4944 function Flag288 (N : Node_Id) return Boolean is
4945 begin
4946 pragma Assert (Nkind (N) in N_Entity);
4947 return Nodes.Table (N + 5).Has_Aspects;
4948 end Flag288;
4949
4950 function Flag289 (N : Node_Id) return Boolean is
4951 begin
4952 pragma Assert (Nkind (N) in N_Entity);
4953 return Nodes.Table (N + 5).Rewrite_Ins;
4954 end Flag289;
4955
4956 function Flag290 (N : Node_Id) return Boolean is
4957 begin
4958 pragma Assert (Nkind (N) in N_Entity);
4959 return Nodes.Table (N + 5).Analyzed;
4960 end Flag290;
4961
4962 function Flag291 (N : Node_Id) return Boolean is
4963 begin
4964 pragma Assert (Nkind (N) in N_Entity);
4965 return Nodes.Table (N + 5).Comes_From_Source;
4966 end Flag291;
4967
4968 function Flag292 (N : Node_Id) return Boolean is
4969 begin
4970 pragma Assert (Nkind (N) in N_Entity);
4971 return Nodes.Table (N + 5).Error_Posted;
4972 end Flag292;
4973
4974 function Flag293 (N : Node_Id) return Boolean is
4975 begin
4976 pragma Assert (Nkind (N) in N_Entity);
4977 return Nodes.Table (N + 5).Flag4;
4978 end Flag293;
4979
4980 function Flag294 (N : Node_Id) return Boolean is
4981 begin
4982 pragma Assert (Nkind (N) in N_Entity);
4983 return Nodes.Table (N + 5).Flag5;
4984 end Flag294;
4985
4986 function Flag295 (N : Node_Id) return Boolean is
4987 begin
4988 pragma Assert (Nkind (N) in N_Entity);
4989 return Nodes.Table (N + 5).Flag6;
4990 end Flag295;
4991
4992 function Flag296 (N : Node_Id) return Boolean is
4993 begin
4994 pragma Assert (Nkind (N) in N_Entity);
4995 return Nodes.Table (N + 5).Flag7;
4996 end Flag296;
4997
4998 function Flag297 (N : Node_Id) return Boolean is
4999 begin
5000 pragma Assert (Nkind (N) in N_Entity);
5001 return Nodes.Table (N + 5).Flag8;
5002 end Flag297;
5003
5004 function Flag298 (N : Node_Id) return Boolean is
5005 begin
5006 pragma Assert (Nkind (N) in N_Entity);
5007 return Nodes.Table (N + 5).Flag9;
5008 end Flag298;
5009
5010 function Flag299 (N : Node_Id) return Boolean is
5011 begin
5012 pragma Assert (Nkind (N) in N_Entity);
5013 return Nodes.Table (N + 5).Flag10;
5014 end Flag299;
5015
5016 function Flag300 (N : Node_Id) return Boolean is
5017 begin
5018 pragma Assert (Nkind (N) in N_Entity);
5019 return Nodes.Table (N + 5).Flag11;
5020 end Flag300;
5021
5022 function Flag301 (N : Node_Id) return Boolean is
5023 begin
5024 pragma Assert (Nkind (N) in N_Entity);
5025 return Nodes.Table (N + 5).Flag12;
5026 end Flag301;
5027
5028 function Flag302 (N : Node_Id) return Boolean is
5029 begin
5030 pragma Assert (Nkind (N) in N_Entity);
5031 return Nodes.Table (N + 5).Flag13;
5032 end Flag302;
5033
5034 function Flag303 (N : Node_Id) return Boolean is
5035 begin
5036 pragma Assert (Nkind (N) in N_Entity);
5037 return Nodes.Table (N + 5).Flag14;
5038 end Flag303;
5039
5040 function Flag304 (N : Node_Id) return Boolean is
5041 begin
5042 pragma Assert (Nkind (N) in N_Entity);
5043 return Nodes.Table (N + 5).Flag15;
5044 end Flag304;
5045
5046 function Flag305 (N : Node_Id) return Boolean is
5047 begin
5048 pragma Assert (Nkind (N) in N_Entity);
5049 return Nodes.Table (N + 5).Flag16;
5050 end Flag305;
5051
5052 function Flag306 (N : Node_Id) return Boolean is
5053 begin
5054 pragma Assert (Nkind (N) in N_Entity);
5055 return Nodes.Table (N + 5).Flag17;
5056 end Flag306;
5057
5058 function Flag307 (N : Node_Id) return Boolean is
5059 begin
5060 pragma Assert (Nkind (N) in N_Entity);
5061 return Nodes.Table (N + 5).Flag18;
5062 end Flag307;
5063
5064 function Flag308 (N : Node_Id) return Boolean is
5065 begin
5066 pragma Assert (Nkind (N) in N_Entity);
5067 return Nodes.Table (N + 5).Pflag1;
5068 end Flag308;
5069
5070 function Flag309 (N : Node_Id) return Boolean is
5071 begin
5072 pragma Assert (Nkind (N) in N_Entity);
5073 return Nodes.Table (N + 5).Pflag2;
5074 end Flag309;
5075
5076 function Flag310 (N : Node_Id) return Boolean is
5077 begin
5078 pragma Assert (Nkind (N) in N_Entity);
5079 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag310;
5080 end Flag310;
5081
5082 function Flag311 (N : Node_Id) return Boolean is
5083 begin
5084 pragma Assert (Nkind (N) in N_Entity);
5085 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag311;
5086 end Flag311;
5087
5088 function Flag312 (N : Node_Id) return Boolean is
5089 begin
5090 pragma Assert (Nkind (N) in N_Entity);
5091 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag312;
5092 end Flag312;
5093
5094 function Flag313 (N : Node_Id) return Boolean is
5095 begin
5096 pragma Assert (Nkind (N) in N_Entity);
5097 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag313;
5098 end Flag313;
5099
5100 function Flag314 (N : Node_Id) return Boolean is
5101 begin
5102 pragma Assert (Nkind (N) in N_Entity);
5103 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag314;
5104 end Flag314;
5105
5106 function Flag315 (N : Node_Id) return Boolean is
5107 begin
5108 pragma Assert (Nkind (N) in N_Entity);
5109 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag315;
5110 end Flag315;
5111
5112 function Flag316 (N : Node_Id) return Boolean is
5113 begin
5114 pragma Assert (Nkind (N) in N_Entity);
5115 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag316;
5116 end Flag316;
5117
5118 function Flag317 (N : Node_Id) return Boolean is
5119 begin
5120 pragma Assert (Nkind (N) in N_Entity);
5121 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag317;
5122 end Flag317;
5123
5124 procedure Set_Nkind (N : Node_Id; Val : Node_Kind) is
5125 begin
5126 pragma Assert (not Locked);
5127 pragma Assert (N <= Nodes.Last);
5128 Nodes.Table (N).Nkind := Val;
5129 end Set_Nkind;
5130
5131 procedure Set_Field1 (N : Node_Id; Val : Union_Id) is
5132 begin
5133 pragma Assert (not Locked);
5134 pragma Assert (N <= Nodes.Last);
5135 Nodes.Table (N).Field1 := Val;
5136 end Set_Field1;
5137
5138 procedure Set_Field2 (N : Node_Id; Val : Union_Id) is
5139 begin
5140 pragma Assert (not Locked);
5141 pragma Assert (N <= Nodes.Last);
5142 Nodes.Table (N).Field2 := Val;
5143 end Set_Field2;
5144
5145 procedure Set_Field3 (N : Node_Id; Val : Union_Id) is
5146 begin
5147 pragma Assert (not Locked);
5148 pragma Assert (N <= Nodes.Last);
5149 Nodes.Table (N).Field3 := Val;
5150 end Set_Field3;
5151
5152 procedure Set_Field4 (N : Node_Id; Val : Union_Id) is
5153 begin
5154 pragma Assert (not Locked);
5155 pragma Assert (N <= Nodes.Last);
5156 Nodes.Table (N).Field4 := Val;
5157 end Set_Field4;
5158
5159 procedure Set_Field5 (N : Node_Id; Val : Union_Id) is
5160 begin
5161 pragma Assert (not Locked);
5162 pragma Assert (N <= Nodes.Last);
5163 Nodes.Table (N).Field5 := Val;
5164 end Set_Field5;
5165
5166 procedure Set_Field6 (N : Node_Id; Val : Union_Id) is
5167 begin
5168 pragma Assert (not Locked);
5169 pragma Assert (Nkind (N) in N_Entity);
5170 Nodes.Table (N + 1).Field6 := Val;
5171 end Set_Field6;
5172
5173 procedure Set_Field7 (N : Node_Id; Val : Union_Id) is
5174 begin
5175 pragma Assert (not Locked);
5176 pragma Assert (Nkind (N) in N_Entity);
5177 Nodes.Table (N + 1).Field7 := Val;
5178 end Set_Field7;
5179
5180 procedure Set_Field8 (N : Node_Id; Val : Union_Id) is
5181 begin
5182 pragma Assert (not Locked);
5183 pragma Assert (Nkind (N) in N_Entity);
5184 Nodes.Table (N + 1).Field8 := Val;
5185 end Set_Field8;
5186
5187 procedure Set_Field9 (N : Node_Id; Val : Union_Id) is
5188 begin
5189 pragma Assert (not Locked);
5190 pragma Assert (Nkind (N) in N_Entity);
5191 Nodes.Table (N + 1).Field9 := Val;
5192 end Set_Field9;
5193
5194 procedure Set_Field10 (N : Node_Id; Val : Union_Id) is
5195 begin
5196 pragma Assert (not Locked);
5197 pragma Assert (Nkind (N) in N_Entity);
5198 Nodes.Table (N + 1).Field10 := Val;
5199 end Set_Field10;
5200
5201 procedure Set_Field11 (N : Node_Id; Val : Union_Id) is
5202 begin
5203 pragma Assert (not Locked);
5204 pragma Assert (Nkind (N) in N_Entity);
5205 Nodes.Table (N + 1).Field11 := Val;
5206 end Set_Field11;
5207
5208 procedure Set_Field12 (N : Node_Id; Val : Union_Id) is
5209 begin
5210 pragma Assert (not Locked);
5211 pragma Assert (Nkind (N) in N_Entity);
5212 Nodes.Table (N + 1).Field12 := Val;
5213 end Set_Field12;
5214
5215 procedure Set_Field13 (N : Node_Id; Val : Union_Id) is
5216 begin
5217 pragma Assert (not Locked);
5218 pragma Assert (Nkind (N) in N_Entity);
5219 Nodes.Table (N + 2).Field6 := Val;
5220 end Set_Field13;
5221
5222 procedure Set_Field14 (N : Node_Id; Val : Union_Id) is
5223 begin
5224 pragma Assert (not Locked);
5225 pragma Assert (Nkind (N) in N_Entity);
5226 Nodes.Table (N + 2).Field7 := Val;
5227 end Set_Field14;
5228
5229 procedure Set_Field15 (N : Node_Id; Val : Union_Id) is
5230 begin
5231 pragma Assert (not Locked);
5232 pragma Assert (Nkind (N) in N_Entity);
5233 Nodes.Table (N + 2).Field8 := Val;
5234 end Set_Field15;
5235
5236 procedure Set_Field16 (N : Node_Id; Val : Union_Id) is
5237 begin
5238 pragma Assert (not Locked);
5239 pragma Assert (Nkind (N) in N_Entity);
5240 Nodes.Table (N + 2).Field9 := Val;
5241 end Set_Field16;
5242
5243 procedure Set_Field17 (N : Node_Id; Val : Union_Id) is
5244 begin
5245 pragma Assert (not Locked);
5246 pragma Assert (Nkind (N) in N_Entity);
5247 Nodes.Table (N + 2).Field10 := Val;
5248 end Set_Field17;
5249
5250 procedure Set_Field18 (N : Node_Id; Val : Union_Id) is
5251 begin
5252 pragma Assert (not Locked);
5253 pragma Assert (Nkind (N) in N_Entity);
5254 Nodes.Table (N + 2).Field11 := Val;
5255 end Set_Field18;
5256
5257 procedure Set_Field19 (N : Node_Id; Val : Union_Id) is
5258 begin
5259 pragma Assert (not Locked);
5260 pragma Assert (Nkind (N) in N_Entity);
5261 Nodes.Table (N + 3).Field6 := Val;
5262 end Set_Field19;
5263
5264 procedure Set_Field20 (N : Node_Id; Val : Union_Id) is
5265 begin
5266 pragma Assert (not Locked);
5267 pragma Assert (Nkind (N) in N_Entity);
5268 Nodes.Table (N + 3).Field7 := Val;
5269 end Set_Field20;
5270
5271 procedure Set_Field21 (N : Node_Id; Val : Union_Id) is
5272 begin
5273 pragma Assert (not Locked);
5274 pragma Assert (Nkind (N) in N_Entity);
5275 Nodes.Table (N + 3).Field8 := Val;
5276 end Set_Field21;
5277
5278 procedure Set_Field22 (N : Node_Id; Val : Union_Id) is
5279 begin
5280 pragma Assert (not Locked);
5281 pragma Assert (Nkind (N) in N_Entity);
5282 Nodes.Table (N + 3).Field9 := Val;
5283 end Set_Field22;
5284
5285 procedure Set_Field23 (N : Node_Id; Val : Union_Id) is
5286 begin
5287 pragma Assert (not Locked);
5288 pragma Assert (Nkind (N) in N_Entity);
5289 Nodes.Table (N + 3).Field10 := Val;
5290 end Set_Field23;
5291
5292 procedure Set_Field24 (N : Node_Id; Val : Union_Id) is
5293 begin
5294 pragma Assert (not Locked);
5295 pragma Assert (Nkind (N) in N_Entity);
5296 Nodes.Table (N + 4).Field6 := Val;
5297 end Set_Field24;
5298
5299 procedure Set_Field25 (N : Node_Id; Val : Union_Id) is
5300 begin
5301 pragma Assert (not Locked);
5302 pragma Assert (Nkind (N) in N_Entity);
5303 Nodes.Table (N + 4).Field7 := Val;
5304 end Set_Field25;
5305
5306 procedure Set_Field26 (N : Node_Id; Val : Union_Id) is
5307 begin
5308 pragma Assert (not Locked);
5309 pragma Assert (Nkind (N) in N_Entity);
5310 Nodes.Table (N + 4).Field8 := Val;
5311 end Set_Field26;
5312
5313 procedure Set_Field27 (N : Node_Id; Val : Union_Id) is
5314 begin
5315 pragma Assert (not Locked);
5316 pragma Assert (Nkind (N) in N_Entity);
5317 Nodes.Table (N + 4).Field9 := Val;
5318 end Set_Field27;
5319
5320 procedure Set_Field28 (N : Node_Id; Val : Union_Id) is
5321 begin
5322 pragma Assert (not Locked);
5323 pragma Assert (Nkind (N) in N_Entity);
5324 Nodes.Table (N + 4).Field10 := Val;
5325 end Set_Field28;
5326
5327 procedure Set_Field29 (N : Node_Id; Val : Union_Id) is
5328 begin
5329 pragma Assert (not Locked);
5330 pragma Assert (Nkind (N) in N_Entity);
5331 Nodes.Table (N + 4).Field11 := Val;
5332 end Set_Field29;
5333
5334 procedure Set_Field30 (N : Node_Id; Val : Union_Id) is
5335 begin
5336 pragma Assert (not Locked);
5337 pragma Assert (Nkind (N) in N_Entity);
5338 Nodes.Table (N + 5).Field6 := Val;
5339 end Set_Field30;
5340
5341 procedure Set_Field31 (N : Node_Id; Val : Union_Id) is
5342 begin
5343 pragma Assert (not Locked);
5344 pragma Assert (Nkind (N) in N_Entity);
5345 Nodes.Table (N + 5).Field7 := Val;
5346 end Set_Field31;
5347
5348 procedure Set_Field32 (N : Node_Id; Val : Union_Id) is
5349 begin
5350 pragma Assert (not Locked);
5351 pragma Assert (Nkind (N) in N_Entity);
5352 Nodes.Table (N + 5).Field8 := Val;
5353 end Set_Field32;
5354
5355 procedure Set_Field33 (N : Node_Id; Val : Union_Id) is
5356 begin
5357 pragma Assert (not Locked);
5358 pragma Assert (Nkind (N) in N_Entity);
5359 Nodes.Table (N + 5).Field9 := Val;
5360 end Set_Field33;
5361
5362 procedure Set_Field34 (N : Node_Id; Val : Union_Id) is
5363 begin
5364 pragma Assert (not Locked);
5365 pragma Assert (Nkind (N) in N_Entity);
5366 Nodes.Table (N + 5).Field10 := Val;
5367 end Set_Field34;
5368
5369 procedure Set_Field35 (N : Node_Id; Val : Union_Id) is
5370 begin
5371 pragma Assert (not Locked);
5372 pragma Assert (Nkind (N) in N_Entity);
5373 Nodes.Table (N + 5).Field11 := Val;
5374 end Set_Field35;
5375
5376 procedure Set_Field36 (N : Node_Id; Val : Union_Id) is
5377 begin
5378 pragma Assert (not Locked);
5379 pragma Assert (Nkind (N) in N_Entity);
5380 Nodes.Table (N + 6).Field6 := Val;
5381 end Set_Field36;
5382
5383 procedure Set_Field37 (N : Node_Id; Val : Union_Id) is
5384 begin
5385 pragma Assert (not Locked);
5386 pragma Assert (Nkind (N) in N_Entity);
5387 Nodes.Table (N + 6).Field7 := Val;
5388 end Set_Field37;
5389
5390 procedure Set_Field38 (N : Node_Id; Val : Union_Id) is
5391 begin
5392 pragma Assert (not Locked);
5393 pragma Assert (Nkind (N) in N_Entity);
5394 Nodes.Table (N + 6).Field8 := Val;
5395 end Set_Field38;
5396
5397 procedure Set_Field39 (N : Node_Id; Val : Union_Id) is
5398 begin
5399 pragma Assert (not Locked);
5400 pragma Assert (Nkind (N) in N_Entity);
5401 Nodes.Table (N + 6).Field9 := Val;
5402 end Set_Field39;
5403
5404 procedure Set_Field40 (N : Node_Id; Val : Union_Id) is
5405 begin
5406 pragma Assert (not Locked);
5407 pragma Assert (Nkind (N) in N_Entity);
5408 Nodes.Table (N + 6).Field10 := Val;
5409 end Set_Field40;
5410
5411 procedure Set_Field41 (N : Node_Id; Val : Union_Id) is
5412 begin
5413 pragma Assert (not Locked);
5414 pragma Assert (Nkind (N) in N_Entity);
5415 Nodes.Table (N + 6).Field11 := Val;
5416 end Set_Field41;
5417
5418 procedure Set_Node1 (N : Node_Id; Val : Node_Id) is
5419 begin
5420 pragma Assert (not Locked);
5421 pragma Assert (N <= Nodes.Last);
5422 Nodes.Table (N).Field1 := Union_Id (Val);
5423 end Set_Node1;
5424
5425 procedure Set_Node2 (N : Node_Id; Val : Node_Id) is
5426 begin
5427 pragma Assert (not Locked);
5428 pragma Assert (N <= Nodes.Last);
5429 Nodes.Table (N).Field2 := Union_Id (Val);
5430 end Set_Node2;
5431
5432 procedure Set_Node3 (N : Node_Id; Val : Node_Id) is
5433 begin
5434 pragma Assert (not Locked);
5435 pragma Assert (N <= Nodes.Last);
5436 Nodes.Table (N).Field3 := Union_Id (Val);
5437 end Set_Node3;
5438
5439 procedure Set_Node4 (N : Node_Id; Val : Node_Id) is
5440 begin
5441 pragma Assert (not Locked);
5442 pragma Assert (N <= Nodes.Last);
5443 Nodes.Table (N).Field4 := Union_Id (Val);
5444 end Set_Node4;
5445
5446 procedure Set_Node5 (N : Node_Id; Val : Node_Id) is
5447 begin
5448 pragma Assert (not Locked);
5449 pragma Assert (N <= Nodes.Last);
5450 Nodes.Table (N).Field5 := Union_Id (Val);
5451 end Set_Node5;
5452
5453 procedure Set_Node6 (N : Node_Id; Val : Node_Id) is
5454 begin
5455 pragma Assert (not Locked);
5456 pragma Assert (Nkind (N) in N_Entity);
5457 Nodes.Table (N + 1).Field6 := Union_Id (Val);
5458 end Set_Node6;
5459
5460 procedure Set_Node7 (N : Node_Id; Val : Node_Id) is
5461 begin
5462 pragma Assert (not Locked);
5463 pragma Assert (Nkind (N) in N_Entity);
5464 Nodes.Table (N + 1).Field7 := Union_Id (Val);
5465 end Set_Node7;
5466
5467 procedure Set_Node8 (N : Node_Id; Val : Node_Id) is
5468 begin
5469 pragma Assert (not Locked);
5470 pragma Assert (Nkind (N) in N_Entity);
5471 Nodes.Table (N + 1).Field8 := Union_Id (Val);
5472 end Set_Node8;
5473
5474 procedure Set_Node9 (N : Node_Id; Val : Node_Id) is
5475 begin
5476 pragma Assert (not Locked);
5477 pragma Assert (Nkind (N) in N_Entity);
5478 Nodes.Table (N + 1).Field9 := Union_Id (Val);
5479 end Set_Node9;
5480
5481 procedure Set_Node10 (N : Node_Id; Val : Node_Id) is
5482 begin
5483 pragma Assert (not Locked);
5484 pragma Assert (Nkind (N) in N_Entity);
5485 Nodes.Table (N + 1).Field10 := Union_Id (Val);
5486 end Set_Node10;
5487
5488 procedure Set_Node11 (N : Node_Id; Val : Node_Id) is
5489 begin
5490 pragma Assert (not Locked);
5491 pragma Assert (Nkind (N) in N_Entity);
5492 Nodes.Table (N + 1).Field11 := Union_Id (Val);
5493 end Set_Node11;
5494
5495 procedure Set_Node12 (N : Node_Id; Val : Node_Id) is
5496 begin
5497 pragma Assert (not Locked);
5498 pragma Assert (Nkind (N) in N_Entity);
5499 Nodes.Table (N + 1).Field12 := Union_Id (Val);
5500 end Set_Node12;
5501
5502 procedure Set_Node13 (N : Node_Id; Val : Node_Id) is
5503 begin
5504 pragma Assert (not Locked);
5505 pragma Assert (Nkind (N) in N_Entity);
5506 Nodes.Table (N + 2).Field6 := Union_Id (Val);
5507 end Set_Node13;
5508
5509 procedure Set_Node14 (N : Node_Id; Val : Node_Id) is
5510 begin
5511 pragma Assert (not Locked);
5512 pragma Assert (Nkind (N) in N_Entity);
5513 Nodes.Table (N + 2).Field7 := Union_Id (Val);
5514 end Set_Node14;
5515
5516 procedure Set_Node15 (N : Node_Id; Val : Node_Id) is
5517 begin
5518 pragma Assert (not Locked);
5519 pragma Assert (Nkind (N) in N_Entity);
5520 Nodes.Table (N + 2).Field8 := Union_Id (Val);
5521 end Set_Node15;
5522
5523 procedure Set_Node16 (N : Node_Id; Val : Node_Id) is
5524 begin
5525 pragma Assert (not Locked);
5526 pragma Assert (Nkind (N) in N_Entity);
5527 Nodes.Table (N + 2).Field9 := Union_Id (Val);
5528 end Set_Node16;
5529
5530 procedure Set_Node17 (N : Node_Id; Val : Node_Id) is
5531 begin
5532 pragma Assert (not Locked);
5533 pragma Assert (Nkind (N) in N_Entity);
5534 Nodes.Table (N + 2).Field10 := Union_Id (Val);
5535 end Set_Node17;
5536
5537 procedure Set_Node18 (N : Node_Id; Val : Node_Id) is
5538 begin
5539 pragma Assert (not Locked);
5540 pragma Assert (Nkind (N) in N_Entity);
5541 Nodes.Table (N + 2).Field11 := Union_Id (Val);
5542 end Set_Node18;
5543
5544 procedure Set_Node19 (N : Node_Id; Val : Node_Id) is
5545 begin
5546 pragma Assert (not Locked);
5547 pragma Assert (Nkind (N) in N_Entity);
5548 Nodes.Table (N + 3).Field6 := Union_Id (Val);
5549 end Set_Node19;
5550
5551 procedure Set_Node20 (N : Node_Id; Val : Node_Id) is
5552 begin
5553 pragma Assert (not Locked);
5554 pragma Assert (Nkind (N) in N_Entity);
5555 Nodes.Table (N + 3).Field7 := Union_Id (Val);
5556 end Set_Node20;
5557
5558 procedure Set_Node21 (N : Node_Id; Val : Node_Id) is
5559 begin
5560 pragma Assert (not Locked);
5561 pragma Assert (Nkind (N) in N_Entity);
5562 Nodes.Table (N + 3).Field8 := Union_Id (Val);
5563 end Set_Node21;
5564
5565 procedure Set_Node22 (N : Node_Id; Val : Node_Id) is
5566 begin
5567 pragma Assert (not Locked);
5568 pragma Assert (Nkind (N) in N_Entity);
5569 Nodes.Table (N + 3).Field9 := Union_Id (Val);
5570 end Set_Node22;
5571
5572 procedure Set_Node23 (N : Node_Id; Val : Node_Id) is
5573 begin
5574 pragma Assert (not Locked);
5575 pragma Assert (Nkind (N) in N_Entity);
5576 Nodes.Table (N + 3).Field10 := Union_Id (Val);
5577 end Set_Node23;
5578
5579 procedure Set_Node24 (N : Node_Id; Val : Node_Id) is
5580 begin
5581 pragma Assert (not Locked);
5582 pragma Assert (Nkind (N) in N_Entity);
5583 Nodes.Table (N + 4).Field6 := Union_Id (Val);
5584 end Set_Node24;
5585
5586 procedure Set_Node25 (N : Node_Id; Val : Node_Id) is
5587 begin
5588 pragma Assert (not Locked);
5589 pragma Assert (Nkind (N) in N_Entity);
5590 Nodes.Table (N + 4).Field7 := Union_Id (Val);
5591 end Set_Node25;
5592
5593 procedure Set_Node26 (N : Node_Id; Val : Node_Id) is
5594 begin
5595 pragma Assert (not Locked);
5596 pragma Assert (Nkind (N) in N_Entity);
5597 Nodes.Table (N + 4).Field8 := Union_Id (Val);
5598 end Set_Node26;
5599
5600 procedure Set_Node27 (N : Node_Id; Val : Node_Id) is
5601 begin
5602 pragma Assert (not Locked);
5603 pragma Assert (Nkind (N) in N_Entity);
5604 Nodes.Table (N + 4).Field9 := Union_Id (Val);
5605 end Set_Node27;
5606
5607 procedure Set_Node28 (N : Node_Id; Val : Node_Id) is
5608 begin
5609 pragma Assert (not Locked);
5610 pragma Assert (Nkind (N) in N_Entity);
5611 Nodes.Table (N + 4).Field10 := Union_Id (Val);
5612 end Set_Node28;
5613
5614 procedure Set_Node29 (N : Node_Id; Val : Node_Id) is
5615 begin
5616 pragma Assert (not Locked);
5617 pragma Assert (Nkind (N) in N_Entity);
5618 Nodes.Table (N + 4).Field11 := Union_Id (Val);
5619 end Set_Node29;
5620
5621 procedure Set_Node30 (N : Node_Id; Val : Node_Id) is
5622 begin
5623 pragma Assert (not Locked);
5624 pragma Assert (Nkind (N) in N_Entity);
5625 Nodes.Table (N + 5).Field6 := Union_Id (Val);
5626 end Set_Node30;
5627
5628 procedure Set_Node31 (N : Node_Id; Val : Node_Id) is
5629 begin
5630 pragma Assert (not Locked);
5631 pragma Assert (Nkind (N) in N_Entity);
5632 Nodes.Table (N + 5).Field7 := Union_Id (Val);
5633 end Set_Node31;
5634
5635 procedure Set_Node32 (N : Node_Id; Val : Node_Id) is
5636 begin
5637 pragma Assert (not Locked);
5638 pragma Assert (Nkind (N) in N_Entity);
5639 Nodes.Table (N + 5).Field8 := Union_Id (Val);
5640 end Set_Node32;
5641
5642 procedure Set_Node33 (N : Node_Id; Val : Node_Id) is
5643 begin
5644 pragma Assert (not Locked);
5645 pragma Assert (Nkind (N) in N_Entity);
5646 Nodes.Table (N + 5).Field9 := Union_Id (Val);
5647 end Set_Node33;
5648
5649 procedure Set_Node34 (N : Node_Id; Val : Node_Id) is
5650 begin
5651 pragma Assert (not Locked);
5652 pragma Assert (Nkind (N) in N_Entity);
5653 Nodes.Table (N + 5).Field10 := Union_Id (Val);
5654 end Set_Node34;
5655
5656 procedure Set_Node35 (N : Node_Id; Val : Node_Id) is
5657 begin
5658 pragma Assert (not Locked);
5659 pragma Assert (Nkind (N) in N_Entity);
5660 Nodes.Table (N + 5).Field11 := Union_Id (Val);
5661 end Set_Node35;
5662
5663 procedure Set_Node36 (N : Node_Id; Val : Node_Id) is
5664 begin
5665 pragma Assert (not Locked);
5666 pragma Assert (Nkind (N) in N_Entity);
5667 Nodes.Table (N + 6).Field6 := Union_Id (Val);
5668 end Set_Node36;
5669
5670 procedure Set_Node37 (N : Node_Id; Val : Node_Id) is
5671 begin
5672 pragma Assert (not Locked);
5673 pragma Assert (Nkind (N) in N_Entity);
5674 Nodes.Table (N + 6).Field7 := Union_Id (Val);
5675 end Set_Node37;
5676
5677 procedure Set_Node38 (N : Node_Id; Val : Node_Id) is
5678 begin
5679 pragma Assert (not Locked);
5680 pragma Assert (Nkind (N) in N_Entity);
5681 Nodes.Table (N + 6).Field8 := Union_Id (Val);
5682 end Set_Node38;
5683
5684 procedure Set_Node39 (N : Node_Id; Val : Node_Id) is
5685 begin
5686 pragma Assert (not Locked);
5687 pragma Assert (Nkind (N) in N_Entity);
5688 Nodes.Table (N + 6).Field9 := Union_Id (Val);
5689 end Set_Node39;
5690
5691 procedure Set_Node40 (N : Node_Id; Val : Node_Id) is
5692 begin
5693 pragma Assert (not Locked);
5694 pragma Assert (Nkind (N) in N_Entity);
5695 Nodes.Table (N + 6).Field10 := Union_Id (Val);
5696 end Set_Node40;
5697
5698 procedure Set_Node41 (N : Node_Id; Val : Node_Id) is
5699 begin
5700 pragma Assert (not Locked);
5701 pragma Assert (Nkind (N) in N_Entity);
5702 Nodes.Table (N + 6).Field11 := Union_Id (Val);
5703 end Set_Node41;
5704
5705 procedure Set_List1 (N : Node_Id; Val : List_Id) is
5706 begin
5707 pragma Assert (not Locked);
5708 pragma Assert (N <= Nodes.Last);
5709 Nodes.Table (N).Field1 := Union_Id (Val);
5710 end Set_List1;
5711
5712 procedure Set_List2 (N : Node_Id; Val : List_Id) is
5713 begin
5714 pragma Assert (not Locked);
5715 pragma Assert (N <= Nodes.Last);
5716 Nodes.Table (N).Field2 := Union_Id (Val);
5717 end Set_List2;
5718
5719 procedure Set_List3 (N : Node_Id; Val : List_Id) is
5720 begin
5721 pragma Assert (not Locked);
5722 pragma Assert (N <= Nodes.Last);
5723 Nodes.Table (N).Field3 := Union_Id (Val);
5724 end Set_List3;
5725
5726 procedure Set_List4 (N : Node_Id; Val : List_Id) is
5727 begin
5728 pragma Assert (not Locked);
5729 pragma Assert (N <= Nodes.Last);
5730 Nodes.Table (N).Field4 := Union_Id (Val);
5731 end Set_List4;
5732
5733 procedure Set_List5 (N : Node_Id; Val : List_Id) is
5734 begin
5735 pragma Assert (not Locked);
5736 pragma Assert (N <= Nodes.Last);
5737 Nodes.Table (N).Field5 := Union_Id (Val);
5738 end Set_List5;
5739
5740 procedure Set_List10 (N : Node_Id; Val : List_Id) is
5741 begin
5742 pragma Assert (not Locked);
5743 pragma Assert (Nkind (N) in N_Entity);
5744 Nodes.Table (N + 1).Field10 := Union_Id (Val);
5745 end Set_List10;
5746
5747 procedure Set_List14 (N : Node_Id; Val : List_Id) is
5748 begin
5749 pragma Assert (not Locked);
5750 pragma Assert (Nkind (N) in N_Entity);
5751 Nodes.Table (N + 2).Field7 := Union_Id (Val);
5752 end Set_List14;
5753
5754 procedure Set_List25 (N : Node_Id; Val : List_Id) is
5755 begin
5756 pragma Assert (not Locked);
5757 pragma Assert (Nkind (N) in N_Entity);
5758 Nodes.Table (N + 4).Field7 := Union_Id (Val);
5759 end Set_List25;
5760
5761 procedure Set_List38 (N : Node_Id; Val : List_Id) is
5762 begin
5763 pragma Assert (not Locked);
5764 pragma Assert (Nkind (N) in N_Entity);
5765 Nodes.Table (N + 6).Field8 := Union_Id (Val);
5766 end Set_List38;
5767
5768 procedure Set_List39 (N : Node_Id; Val : List_Id) is
5769 begin
5770 pragma Assert (not Locked);
5771 pragma Assert (Nkind (N) in N_Entity);
5772 Nodes.Table (N + 6).Field9 := Union_Id (Val);
5773 end Set_List39;
5774
5775 procedure Set_Elist1 (N : Node_Id; Val : Elist_Id) is
5776 begin
5777 pragma Assert (not Locked);
5778 Nodes.Table (N).Field1 := Union_Id (Val);
5779 end Set_Elist1;
5780
5781 procedure Set_Elist2 (N : Node_Id; Val : Elist_Id) is
5782 begin
5783 pragma Assert (not Locked);
5784 Nodes.Table (N).Field2 := Union_Id (Val);
5785 end Set_Elist2;
5786
5787 procedure Set_Elist3 (N : Node_Id; Val : Elist_Id) is
5788 begin
5789 pragma Assert (not Locked);
5790 Nodes.Table (N).Field3 := Union_Id (Val);
5791 end Set_Elist3;
5792
5793 procedure Set_Elist4 (N : Node_Id; Val : Elist_Id) is
5794 begin
5795 pragma Assert (not Locked);
5796 Nodes.Table (N).Field4 := Union_Id (Val);
5797 end Set_Elist4;
5798
5799 procedure Set_Elist5 (N : Node_Id; Val : Elist_Id) is
5800 begin
5801 pragma Assert (not Locked);
5802 Nodes.Table (N).Field5 := Union_Id (Val);
5803 end Set_Elist5;
5804
5805 procedure Set_Elist8 (N : Node_Id; Val : Elist_Id) is
5806 begin
5807 pragma Assert (not Locked);
5808 pragma Assert (Nkind (N) in N_Entity);
5809 Nodes.Table (N + 1).Field8 := Union_Id (Val);
5810 end Set_Elist8;
5811
5812 procedure Set_Elist9 (N : Node_Id; Val : Elist_Id) is
5813 begin
5814 pragma Assert (not Locked);
5815 pragma Assert (Nkind (N) in N_Entity);
5816 Nodes.Table (N + 1).Field9 := Union_Id (Val);
5817 end Set_Elist9;
5818
5819 procedure Set_Elist10 (N : Node_Id; Val : Elist_Id) is
5820 begin
5821 pragma Assert (not Locked);
5822 pragma Assert (Nkind (N) in N_Entity);
5823 Nodes.Table (N + 1).Field10 := Union_Id (Val);
5824 end Set_Elist10;
5825
5826 procedure Set_Elist11 (N : Node_Id; Val : Elist_Id) is
5827 begin
5828 pragma Assert (not Locked);
5829 pragma Assert (Nkind (N) in N_Entity);
5830 Nodes.Table (N + 1).Field11 := Union_Id (Val);
5831 end Set_Elist11;
5832
5833 procedure Set_Elist13 (N : Node_Id; Val : Elist_Id) is
5834 begin
5835 pragma Assert (not Locked);
5836 pragma Assert (Nkind (N) in N_Entity);
5837 Nodes.Table (N + 2).Field6 := Union_Id (Val);
5838 end Set_Elist13;
5839
5840 procedure Set_Elist15 (N : Node_Id; Val : Elist_Id) is
5841 begin
5842 pragma Assert (not Locked);
5843 pragma Assert (Nkind (N) in N_Entity);
5844 Nodes.Table (N + 2).Field8 := Union_Id (Val);
5845 end Set_Elist15;
5846
5847 procedure Set_Elist16 (N : Node_Id; Val : Elist_Id) is
5848 begin
5849 pragma Assert (not Locked);
5850 pragma Assert (Nkind (N) in N_Entity);
5851 Nodes.Table (N + 2).Field9 := Union_Id (Val);
5852 end Set_Elist16;
5853
5854 procedure Set_Elist18 (N : Node_Id; Val : Elist_Id) is
5855 begin
5856 pragma Assert (not Locked);
5857 pragma Assert (Nkind (N) in N_Entity);
5858 Nodes.Table (N + 2).Field11 := Union_Id (Val);
5859 end Set_Elist18;
5860
5861 procedure Set_Elist21 (N : Node_Id; Val : Elist_Id) is
5862 begin
5863 pragma Assert (not Locked);
5864 pragma Assert (Nkind (N) in N_Entity);
5865 Nodes.Table (N + 3).Field8 := Union_Id (Val);
5866 end Set_Elist21;
5867
5868 procedure Set_Elist23 (N : Node_Id; Val : Elist_Id) is
5869 begin
5870 pragma Assert (not Locked);
5871 pragma Assert (Nkind (N) in N_Entity);
5872 Nodes.Table (N + 3).Field10 := Union_Id (Val);
5873 end Set_Elist23;
5874
5875 procedure Set_Elist24 (N : Node_Id; Val : Elist_Id) is
5876 begin
5877 pragma Assert (not Locked);
5878 pragma Assert (Nkind (N) in N_Entity);
5879 Nodes.Table (N + 4).Field6 := Union_Id (Val);
5880 end Set_Elist24;
5881
5882 procedure Set_Elist25 (N : Node_Id; Val : Elist_Id) is
5883 begin
5884 pragma Assert (not Locked);
5885 pragma Assert (Nkind (N) in N_Entity);
5886 Nodes.Table (N + 4).Field7 := Union_Id (Val);
5887 end Set_Elist25;
5888
5889 procedure Set_Elist26 (N : Node_Id; Val : Elist_Id) is
5890 begin
5891 pragma Assert (not Locked);
5892 pragma Assert (Nkind (N) in N_Entity);
5893 Nodes.Table (N + 4).Field8 := Union_Id (Val);
5894 end Set_Elist26;
5895
5896 procedure Set_Elist29 (N : Node_Id; Val : Elist_Id) is
5897 begin
5898 pragma Assert (not Locked);
5899 pragma Assert (Nkind (N) in N_Entity);
5900 Nodes.Table (N + 4).Field11 := Union_Id (Val);
5901 end Set_Elist29;
5902
5903 procedure Set_Elist30 (N : Node_Id; Val : Elist_Id) is
5904 begin
5905 pragma Assert (not Locked);
5906 pragma Assert (Nkind (N) in N_Entity);
5907 Nodes.Table (N + 5).Field6 := Union_Id (Val);
5908 end Set_Elist30;
5909
5910 procedure Set_Elist36 (N : Node_Id; Val : Elist_Id) is
5911 begin
5912 pragma Assert (not Locked);
5913 pragma Assert (Nkind (N) in N_Entity);
5914 Nodes.Table (N + 6).Field6 := Union_Id (Val);
5915 end Set_Elist36;
5916
5917 procedure Set_Name1 (N : Node_Id; Val : Name_Id) is
5918 begin
5919 pragma Assert (not Locked);
5920 pragma Assert (N <= Nodes.Last);
5921 Nodes.Table (N).Field1 := Union_Id (Val);
5922 end Set_Name1;
5923
5924 procedure Set_Name2 (N : Node_Id; Val : Name_Id) is
5925 begin
5926 pragma Assert (not Locked);
5927 pragma Assert (N <= Nodes.Last);
5928 Nodes.Table (N).Field2 := Union_Id (Val);
5929 end Set_Name2;
5930
5931 procedure Set_Str3 (N : Node_Id; Val : String_Id) is
5932 begin
5933 pragma Assert (not Locked);
5934 pragma Assert (N <= Nodes.Last);
5935 Nodes.Table (N).Field3 := Union_Id (Val);
5936 end Set_Str3;
5937
5938 procedure Set_Uint2 (N : Node_Id; Val : Uint) is
5939 begin
5940 pragma Assert (not Locked);
5941 pragma Assert (N <= Nodes.Last);
5942 Nodes.Table (N).Field2 := To_Union (Val);
5943 end Set_Uint2;
5944
5945 procedure Set_Uint3 (N : Node_Id; Val : Uint) is
5946 begin
5947 pragma Assert (not Locked);
5948 pragma Assert (N <= Nodes.Last);
5949 Nodes.Table (N).Field3 := To_Union (Val);
5950 end Set_Uint3;
5951
5952 procedure Set_Uint4 (N : Node_Id; Val : Uint) is
5953 begin
5954 pragma Assert (not Locked);
5955 pragma Assert (N <= Nodes.Last);
5956 Nodes.Table (N).Field4 := To_Union (Val);
5957 end Set_Uint4;
5958
5959 procedure Set_Uint5 (N : Node_Id; Val : Uint) is
5960 begin
5961 pragma Assert (not Locked);
5962 pragma Assert (N <= Nodes.Last);
5963 Nodes.Table (N).Field5 := To_Union (Val);
5964 end Set_Uint5;
5965
5966 procedure Set_Uint8 (N : Node_Id; Val : Uint) is
5967 begin
5968 pragma Assert (not Locked);
5969 pragma Assert (Nkind (N) in N_Entity);
5970 Nodes.Table (N + 1).Field8 := To_Union (Val);
5971 end Set_Uint8;
5972
5973 procedure Set_Uint9 (N : Node_Id; Val : Uint) is
5974 begin
5975 pragma Assert (not Locked);
5976 pragma Assert (Nkind (N) in N_Entity);
5977 Nodes.Table (N + 1).Field9 := To_Union (Val);
5978 end Set_Uint9;
5979
5980 procedure Set_Uint10 (N : Node_Id; Val : Uint) is
5981 begin
5982 pragma Assert (not Locked);
5983 pragma Assert (Nkind (N) in N_Entity);
5984 Nodes.Table (N + 1).Field10 := To_Union (Val);
5985 end Set_Uint10;
5986
5987 procedure Set_Uint11 (N : Node_Id; Val : Uint) is
5988 begin
5989 pragma Assert (not Locked);
5990 pragma Assert (Nkind (N) in N_Entity);
5991 Nodes.Table (N + 1).Field11 := To_Union (Val);
5992 end Set_Uint11;
5993
5994 procedure Set_Uint12 (N : Node_Id; Val : Uint) is
5995 begin
5996 pragma Assert (not Locked);
5997 pragma Assert (Nkind (N) in N_Entity);
5998 Nodes.Table (N + 1).Field12 := To_Union (Val);
5999 end Set_Uint12;
6000
6001 procedure Set_Uint13 (N : Node_Id; Val : Uint) is
6002 begin
6003 pragma Assert (not Locked);
6004 pragma Assert (Nkind (N) in N_Entity);
6005 Nodes.Table (N + 2).Field6 := To_Union (Val);
6006 end Set_Uint13;
6007
6008 procedure Set_Uint14 (N : Node_Id; Val : Uint) is
6009 begin
6010 pragma Assert (not Locked);
6011 pragma Assert (Nkind (N) in N_Entity);
6012 Nodes.Table (N + 2).Field7 := To_Union (Val);
6013 end Set_Uint14;
6014
6015 procedure Set_Uint15 (N : Node_Id; Val : Uint) is
6016 begin
6017 pragma Assert (not Locked);
6018 pragma Assert (Nkind (N) in N_Entity);
6019 Nodes.Table (N + 2).Field8 := To_Union (Val);
6020 end Set_Uint15;
6021
6022 procedure Set_Uint16 (N : Node_Id; Val : Uint) is
6023 begin
6024 pragma Assert (not Locked);
6025 pragma Assert (Nkind (N) in N_Entity);
6026 Nodes.Table (N + 2).Field9 := To_Union (Val);
6027 end Set_Uint16;
6028
6029 procedure Set_Uint17 (N : Node_Id; Val : Uint) is
6030 begin
6031 pragma Assert (not Locked);
6032 pragma Assert (Nkind (N) in N_Entity);
6033 Nodes.Table (N + 2).Field10 := To_Union (Val);
6034 end Set_Uint17;
6035
6036 procedure Set_Uint22 (N : Node_Id; Val : Uint) is
6037 begin
6038 pragma Assert (not Locked);
6039 pragma Assert (Nkind (N) in N_Entity);
6040 Nodes.Table (N + 3).Field9 := To_Union (Val);
6041 end Set_Uint22;
6042
6043 procedure Set_Uint24 (N : Node_Id; Val : Uint) is
6044 begin
6045 pragma Assert (not Locked);
6046 pragma Assert (Nkind (N) in N_Entity);
6047 Nodes.Table (N + 4).Field6 := To_Union (Val);
6048 end Set_Uint24;
6049
6050 procedure Set_Ureal3 (N : Node_Id; Val : Ureal) is
6051 begin
6052 pragma Assert (not Locked);
6053 pragma Assert (N <= Nodes.Last);
6054 Nodes.Table (N).Field3 := To_Union (Val);
6055 end Set_Ureal3;
6056
6057 procedure Set_Ureal18 (N : Node_Id; Val : Ureal) is
6058 begin
6059 pragma Assert (not Locked);
6060 pragma Assert (Nkind (N) in N_Entity);
6061 Nodes.Table (N + 2).Field11 := To_Union (Val);
6062 end Set_Ureal18;
6063
6064 procedure Set_Ureal21 (N : Node_Id; Val : Ureal) is
6065 begin
6066 pragma Assert (not Locked);
6067 pragma Assert (Nkind (N) in N_Entity);
6068 Nodes.Table (N + 3).Field8 := To_Union (Val);
6069 end Set_Ureal21;
6070
6071 procedure Set_Flag0 (N : Node_Id; Val : Boolean) is
6072 begin
6073 pragma Assert (not Locked);
6074 pragma Assert (N <= Nodes.Last);
6075 Flags.Table (N).Flag0 := Val;
6076 end Set_Flag0;
6077
6078 procedure Set_Flag1 (N : Node_Id; Val : Boolean) is
6079 begin
6080 pragma Assert (not Locked);
6081 pragma Assert (N <= Nodes.Last);
6082 Flags.Table (N).Flag1 := Val;
6083 end Set_Flag1;
6084
6085 procedure Set_Flag2 (N : Node_Id; Val : Boolean) is
6086 begin
6087 pragma Assert (not Locked);
6088 pragma Assert (N <= Nodes.Last);
6089 Flags.Table (N).Flag2 := Val;
6090 end Set_Flag2;
6091
6092 procedure Set_Flag3 (N : Node_Id; Val : Boolean) is
6093 begin
6094 pragma Assert (not Locked);
6095 pragma Assert (N <= Nodes.Last);
6096 Flags.Table (N).Flag3 := Val;
6097 end Set_Flag3;
6098
6099 procedure Set_Flag4 (N : Node_Id; Val : Boolean) is
6100 begin
6101 pragma Assert (not Locked);
6102 pragma Assert (N <= Nodes.Last);
6103 Nodes.Table (N).Flag4 := Val;
6104 end Set_Flag4;
6105
6106 procedure Set_Flag5 (N : Node_Id; Val : Boolean) is
6107 begin
6108 pragma Assert (not Locked);
6109 pragma Assert (N <= Nodes.Last);
6110 Nodes.Table (N).Flag5 := Val;
6111 end Set_Flag5;
6112
6113 procedure Set_Flag6 (N : Node_Id; Val : Boolean) is
6114 begin
6115 pragma Assert (not Locked);
6116 pragma Assert (N <= Nodes.Last);
6117 Nodes.Table (N).Flag6 := Val;
6118 end Set_Flag6;
6119
6120 procedure Set_Flag7 (N : Node_Id; Val : Boolean) is
6121 begin
6122 pragma Assert (not Locked);
6123 pragma Assert (N <= Nodes.Last);
6124 Nodes.Table (N).Flag7 := Val;
6125 end Set_Flag7;
6126
6127 procedure Set_Flag8 (N : Node_Id; Val : Boolean) is
6128 begin
6129 pragma Assert (not Locked);
6130 pragma Assert (N <= Nodes.Last);
6131 Nodes.Table (N).Flag8 := Val;
6132 end Set_Flag8;
6133
6134 procedure Set_Flag9 (N : Node_Id; Val : Boolean) is
6135 begin
6136 pragma Assert (not Locked);
6137 pragma Assert (N <= Nodes.Last);
6138 Nodes.Table (N).Flag9 := Val;
6139 end Set_Flag9;
6140
6141 procedure Set_Flag10 (N : Node_Id; Val : Boolean) is
6142 begin
6143 pragma Assert (not Locked);
6144 pragma Assert (N <= Nodes.Last);
6145 Nodes.Table (N).Flag10 := Val;
6146 end Set_Flag10;
6147
6148 procedure Set_Flag11 (N : Node_Id; Val : Boolean) is
6149 begin
6150 pragma Assert (not Locked);
6151 pragma Assert (N <= Nodes.Last);
6152 Nodes.Table (N).Flag11 := Val;
6153 end Set_Flag11;
6154
6155 procedure Set_Flag12 (N : Node_Id; Val : Boolean) is
6156 begin
6157 pragma Assert (not Locked);
6158 pragma Assert (N <= Nodes.Last);
6159 Nodes.Table (N).Flag12 := Val;
6160 end Set_Flag12;
6161
6162 procedure Set_Flag13 (N : Node_Id; Val : Boolean) is
6163 begin
6164 pragma Assert (not Locked);
6165 pragma Assert (N <= Nodes.Last);
6166 Nodes.Table (N).Flag13 := Val;
6167 end Set_Flag13;
6168
6169 procedure Set_Flag14 (N : Node_Id; Val : Boolean) is
6170 begin
6171 pragma Assert (not Locked);
6172 pragma Assert (N <= Nodes.Last);
6173 Nodes.Table (N).Flag14 := Val;
6174 end Set_Flag14;
6175
6176 procedure Set_Flag15 (N : Node_Id; Val : Boolean) is
6177 begin
6178 pragma Assert (not Locked);
6179 pragma Assert (N <= Nodes.Last);
6180 Nodes.Table (N).Flag15 := Val;
6181 end Set_Flag15;
6182
6183 procedure Set_Flag16 (N : Node_Id; Val : Boolean) is
6184 begin
6185 pragma Assert (not Locked);
6186 pragma Assert (N <= Nodes.Last);
6187 Nodes.Table (N).Flag16 := Val;
6188 end Set_Flag16;
6189
6190 procedure Set_Flag17 (N : Node_Id; Val : Boolean) is
6191 begin
6192 pragma Assert (not Locked);
6193 pragma Assert (N <= Nodes.Last);
6194 Nodes.Table (N).Flag17 := Val;
6195 end Set_Flag17;
6196
6197 procedure Set_Flag18 (N : Node_Id; Val : Boolean) is
6198 begin
6199 pragma Assert (not Locked);
6200 pragma Assert (N <= Nodes.Last);
6201 Nodes.Table (N).Flag18 := Val;
6202 end Set_Flag18;
6203
6204 procedure Set_Flag19 (N : Node_Id; Val : Boolean) is
6205 begin
6206 pragma Assert (not Locked);
6207 pragma Assert (Nkind (N) in N_Entity);
6208 Nodes.Table (N + 1).In_List := Val;
6209 end Set_Flag19;
6210
6211 procedure Set_Flag20 (N : Node_Id; Val : Boolean) is
6212 begin
6213 pragma Assert (not Locked);
6214 pragma Assert (Nkind (N) in N_Entity);
6215 Nodes.Table (N + 1).Has_Aspects := Val;
6216 end Set_Flag20;
6217
6218 procedure Set_Flag21 (N : Node_Id; Val : Boolean) is
6219 begin
6220 pragma Assert (not Locked);
6221 pragma Assert (Nkind (N) in N_Entity);
6222 Nodes.Table (N + 1).Rewrite_Ins := Val;
6223 end Set_Flag21;
6224
6225 procedure Set_Flag22 (N : Node_Id; Val : Boolean) is
6226 begin
6227 pragma Assert (not Locked);
6228 pragma Assert (Nkind (N) in N_Entity);
6229 Nodes.Table (N + 1).Analyzed := Val;
6230 end Set_Flag22;
6231
6232 procedure Set_Flag23 (N : Node_Id; Val : Boolean) is
6233 begin
6234 pragma Assert (not Locked);
6235 pragma Assert (Nkind (N) in N_Entity);
6236 Nodes.Table (N + 1).Comes_From_Source := Val;
6237 end Set_Flag23;
6238
6239 procedure Set_Flag24 (N : Node_Id; Val : Boolean) is
6240 begin
6241 pragma Assert (not Locked);
6242 pragma Assert (Nkind (N) in N_Entity);
6243 Nodes.Table (N + 1).Error_Posted := Val;
6244 end Set_Flag24;
6245
6246 procedure Set_Flag25 (N : Node_Id; Val : Boolean) is
6247 begin
6248 pragma Assert (not Locked);
6249 pragma Assert (Nkind (N) in N_Entity);
6250 Nodes.Table (N + 1).Flag4 := Val;
6251 end Set_Flag25;
6252
6253 procedure Set_Flag26 (N : Node_Id; Val : Boolean) is
6254 begin
6255 pragma Assert (not Locked);
6256 pragma Assert (Nkind (N) in N_Entity);
6257 Nodes.Table (N + 1).Flag5 := Val;
6258 end Set_Flag26;
6259
6260 procedure Set_Flag27 (N : Node_Id; Val : Boolean) is
6261 begin
6262 pragma Assert (not Locked);
6263 pragma Assert (Nkind (N) in N_Entity);
6264 Nodes.Table (N + 1).Flag6 := Val;
6265 end Set_Flag27;
6266
6267 procedure Set_Flag28 (N : Node_Id; Val : Boolean) is
6268 begin
6269 pragma Assert (not Locked);
6270 pragma Assert (Nkind (N) in N_Entity);
6271 Nodes.Table (N + 1).Flag7 := Val;
6272 end Set_Flag28;
6273
6274 procedure Set_Flag29 (N : Node_Id; Val : Boolean) is
6275 begin
6276 pragma Assert (not Locked);
6277 pragma Assert (Nkind (N) in N_Entity);
6278 Nodes.Table (N + 1).Flag8 := Val;
6279 end Set_Flag29;
6280
6281 procedure Set_Flag30 (N : Node_Id; Val : Boolean) is
6282 begin
6283 pragma Assert (not Locked);
6284 pragma Assert (Nkind (N) in N_Entity);
6285 Nodes.Table (N + 1).Flag9 := Val;
6286 end Set_Flag30;
6287
6288 procedure Set_Flag31 (N : Node_Id; Val : Boolean) is
6289 begin
6290 pragma Assert (not Locked);
6291 pragma Assert (Nkind (N) in N_Entity);
6292 Nodes.Table (N + 1).Flag10 := Val;
6293 end Set_Flag31;
6294
6295 procedure Set_Flag32 (N : Node_Id; Val : Boolean) is
6296 begin
6297 pragma Assert (not Locked);
6298 pragma Assert (Nkind (N) in N_Entity);
6299 Nodes.Table (N + 1).Flag11 := Val;
6300 end Set_Flag32;
6301
6302 procedure Set_Flag33 (N : Node_Id; Val : Boolean) is
6303 begin
6304 pragma Assert (not Locked);
6305 pragma Assert (Nkind (N) in N_Entity);
6306 Nodes.Table (N + 1).Flag12 := Val;
6307 end Set_Flag33;
6308
6309 procedure Set_Flag34 (N : Node_Id; Val : Boolean) is
6310 begin
6311 pragma Assert (not Locked);
6312 pragma Assert (Nkind (N) in N_Entity);
6313 Nodes.Table (N + 1).Flag13 := Val;
6314 end Set_Flag34;
6315
6316 procedure Set_Flag35 (N : Node_Id; Val : Boolean) is
6317 begin
6318 pragma Assert (not Locked);
6319 pragma Assert (Nkind (N) in N_Entity);
6320 Nodes.Table (N + 1).Flag14 := Val;
6321 end Set_Flag35;
6322
6323 procedure Set_Flag36 (N : Node_Id; Val : Boolean) is
6324 begin
6325 pragma Assert (not Locked);
6326 pragma Assert (Nkind (N) in N_Entity);
6327 Nodes.Table (N + 1).Flag15 := Val;
6328 end Set_Flag36;
6329
6330 procedure Set_Flag37 (N : Node_Id; Val : Boolean) is
6331 begin
6332 pragma Assert (not Locked);
6333 pragma Assert (Nkind (N) in N_Entity);
6334 Nodes.Table (N + 1).Flag16 := Val;
6335 end Set_Flag37;
6336
6337 procedure Set_Flag38 (N : Node_Id; Val : Boolean) is
6338 begin
6339 pragma Assert (not Locked);
6340 pragma Assert (Nkind (N) in N_Entity);
6341 Nodes.Table (N + 1).Flag17 := Val;
6342 end Set_Flag38;
6343
6344 procedure Set_Flag39 (N : Node_Id; Val : Boolean) is
6345 begin
6346 pragma Assert (not Locked);
6347 pragma Assert (Nkind (N) in N_Entity);
6348 Nodes.Table (N + 1).Flag18 := Val;
6349 end Set_Flag39;
6350
6351 procedure Set_Flag40 (N : Node_Id; Val : Boolean) is
6352 begin
6353 pragma Assert (not Locked);
6354 pragma Assert (Nkind (N) in N_Entity);
6355 Nodes.Table (N + 2).In_List := Val;
6356 end Set_Flag40;
6357
6358 procedure Set_Flag41 (N : Node_Id; Val : Boolean) is
6359 begin
6360 pragma Assert (not Locked);
6361 pragma Assert (Nkind (N) in N_Entity);
6362 Nodes.Table (N + 2).Has_Aspects := Val;
6363 end Set_Flag41;
6364
6365 procedure Set_Flag42 (N : Node_Id; Val : Boolean) is
6366 begin
6367 pragma Assert (not Locked);
6368 pragma Assert (Nkind (N) in N_Entity);
6369 Nodes.Table (N + 2).Rewrite_Ins := Val;
6370 end Set_Flag42;
6371
6372 procedure Set_Flag43 (N : Node_Id; Val : Boolean) is
6373 begin
6374 pragma Assert (not Locked);
6375 pragma Assert (Nkind (N) in N_Entity);
6376 Nodes.Table (N + 2).Analyzed := Val;
6377 end Set_Flag43;
6378
6379 procedure Set_Flag44 (N : Node_Id; Val : Boolean) is
6380 begin
6381 pragma Assert (not Locked);
6382 pragma Assert (Nkind (N) in N_Entity);
6383 Nodes.Table (N + 2).Comes_From_Source := Val;
6384 end Set_Flag44;
6385
6386 procedure Set_Flag45 (N : Node_Id; Val : Boolean) is
6387 begin
6388 pragma Assert (not Locked);
6389 pragma Assert (Nkind (N) in N_Entity);
6390 Nodes.Table (N + 2).Error_Posted := Val;
6391 end Set_Flag45;
6392
6393 procedure Set_Flag46 (N : Node_Id; Val : Boolean) is
6394 begin
6395 pragma Assert (not Locked);
6396 pragma Assert (Nkind (N) in N_Entity);
6397 Nodes.Table (N + 2).Flag4 := Val;
6398 end Set_Flag46;
6399
6400 procedure Set_Flag47 (N : Node_Id; Val : Boolean) is
6401 begin
6402 pragma Assert (not Locked);
6403 pragma Assert (Nkind (N) in N_Entity);
6404 Nodes.Table (N + 2).Flag5 := Val;
6405 end Set_Flag47;
6406
6407 procedure Set_Flag48 (N : Node_Id; Val : Boolean) is
6408 begin
6409 pragma Assert (not Locked);
6410 pragma Assert (Nkind (N) in N_Entity);
6411 Nodes.Table (N + 2).Flag6 := Val;
6412 end Set_Flag48;
6413
6414 procedure Set_Flag49 (N : Node_Id; Val : Boolean) is
6415 begin
6416 pragma Assert (not Locked);
6417 pragma Assert (Nkind (N) in N_Entity);
6418 Nodes.Table (N + 2).Flag7 := Val;
6419 end Set_Flag49;
6420
6421 procedure Set_Flag50 (N : Node_Id; Val : Boolean) is
6422 begin
6423 pragma Assert (not Locked);
6424 pragma Assert (Nkind (N) in N_Entity);
6425 Nodes.Table (N + 2).Flag8 := Val;
6426 end Set_Flag50;
6427
6428 procedure Set_Flag51 (N : Node_Id; Val : Boolean) is
6429 begin
6430 pragma Assert (not Locked);
6431 pragma Assert (Nkind (N) in N_Entity);
6432 Nodes.Table (N + 2).Flag9 := Val;
6433 end Set_Flag51;
6434
6435 procedure Set_Flag52 (N : Node_Id; Val : Boolean) is
6436 begin
6437 pragma Assert (not Locked);
6438 pragma Assert (Nkind (N) in N_Entity);
6439 Nodes.Table (N + 2).Flag10 := Val;
6440 end Set_Flag52;
6441
6442 procedure Set_Flag53 (N : Node_Id; Val : Boolean) is
6443 begin
6444 pragma Assert (not Locked);
6445 pragma Assert (Nkind (N) in N_Entity);
6446 Nodes.Table (N + 2).Flag11 := Val;
6447 end Set_Flag53;
6448
6449 procedure Set_Flag54 (N : Node_Id; Val : Boolean) is
6450 begin
6451 pragma Assert (not Locked);
6452 pragma Assert (Nkind (N) in N_Entity);
6453 Nodes.Table (N + 2).Flag12 := Val;
6454 end Set_Flag54;
6455
6456 procedure Set_Flag55 (N : Node_Id; Val : Boolean) is
6457 begin
6458 pragma Assert (not Locked);
6459 pragma Assert (Nkind (N) in N_Entity);
6460 Nodes.Table (N + 2).Flag13 := Val;
6461 end Set_Flag55;
6462
6463 procedure Set_Flag56 (N : Node_Id; Val : Boolean) is
6464 begin
6465 pragma Assert (not Locked);
6466 pragma Assert (Nkind (N) in N_Entity);
6467 Nodes.Table (N + 2).Flag14 := Val;
6468 end Set_Flag56;
6469
6470 procedure Set_Flag57 (N : Node_Id; Val : Boolean) is
6471 begin
6472 pragma Assert (not Locked);
6473 pragma Assert (Nkind (N) in N_Entity);
6474 Nodes.Table (N + 2).Flag15 := Val;
6475 end Set_Flag57;
6476
6477 procedure Set_Flag58 (N : Node_Id; Val : Boolean) is
6478 begin
6479 pragma Assert (not Locked);
6480 pragma Assert (Nkind (N) in N_Entity);
6481 Nodes.Table (N + 2).Flag16 := Val;
6482 end Set_Flag58;
6483
6484 procedure Set_Flag59 (N : Node_Id; Val : Boolean) is
6485 begin
6486 pragma Assert (not Locked);
6487 pragma Assert (Nkind (N) in N_Entity);
6488 Nodes.Table (N + 2).Flag17 := Val;
6489 end Set_Flag59;
6490
6491 procedure Set_Flag60 (N : Node_Id; Val : Boolean) is
6492 begin
6493 pragma Assert (not Locked);
6494 pragma Assert (Nkind (N) in N_Entity);
6495 Nodes.Table (N + 2).Flag18 := Val;
6496 end Set_Flag60;
6497
6498 procedure Set_Flag61 (N : Node_Id; Val : Boolean) is
6499 begin
6500 pragma Assert (not Locked);
6501 pragma Assert (Nkind (N) in N_Entity);
6502 Nodes.Table (N + 1).Pflag1 := Val;
6503 end Set_Flag61;
6504
6505 procedure Set_Flag62 (N : Node_Id; Val : Boolean) is
6506 begin
6507 pragma Assert (not Locked);
6508 pragma Assert (Nkind (N) in N_Entity);
6509 Nodes.Table (N + 1).Pflag2 := Val;
6510 end Set_Flag62;
6511
6512 procedure Set_Flag63 (N : Node_Id; Val : Boolean) is
6513 begin
6514 pragma Assert (not Locked);
6515 pragma Assert (Nkind (N) in N_Entity);
6516 Nodes.Table (N + 2).Pflag1 := Val;
6517 end Set_Flag63;
6518
6519 procedure Set_Flag64 (N : Node_Id; Val : Boolean) is
6520 begin
6521 pragma Assert (not Locked);
6522 pragma Assert (Nkind (N) in N_Entity);
6523 Nodes.Table (N + 2).Pflag2 := Val;
6524 end Set_Flag64;
6525
6526 procedure Set_Flag65 (N : Node_Id; Val : Boolean) is
6527 begin
6528 pragma Assert (not Locked);
6529 pragma Assert (Nkind (N) in N_Entity);
6530 To_Flag_Byte_Ptr
6531 (Node_Kind_Ptr'
6532 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag65 := Val;
6533 end Set_Flag65;
6534
6535 procedure Set_Flag66 (N : Node_Id; Val : Boolean) is
6536 begin
6537 pragma Assert (not Locked);
6538 pragma Assert (Nkind (N) in N_Entity);
6539 To_Flag_Byte_Ptr
6540 (Node_Kind_Ptr'
6541 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag66 := Val;
6542 end Set_Flag66;
6543
6544 procedure Set_Flag67 (N : Node_Id; Val : Boolean) is
6545 begin
6546 pragma Assert (not Locked);
6547 pragma Assert (Nkind (N) in N_Entity);
6548 To_Flag_Byte_Ptr
6549 (Node_Kind_Ptr'
6550 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag67 := Val;
6551 end Set_Flag67;
6552
6553 procedure Set_Flag68 (N : Node_Id; Val : Boolean) is
6554 begin
6555 pragma Assert (not Locked);
6556 pragma Assert (Nkind (N) in N_Entity);
6557 To_Flag_Byte_Ptr
6558 (Node_Kind_Ptr'
6559 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag68 := Val;
6560 end Set_Flag68;
6561
6562 procedure Set_Flag69 (N : Node_Id; Val : Boolean) is
6563 begin
6564 pragma Assert (not Locked);
6565 pragma Assert (Nkind (N) in N_Entity);
6566 To_Flag_Byte_Ptr
6567 (Node_Kind_Ptr'
6568 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag69 := Val;
6569 end Set_Flag69;
6570
6571 procedure Set_Flag70 (N : Node_Id; Val : Boolean) is
6572 begin
6573 pragma Assert (not Locked);
6574 pragma Assert (Nkind (N) in N_Entity);
6575 To_Flag_Byte_Ptr
6576 (Node_Kind_Ptr'
6577 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag70 := Val;
6578 end Set_Flag70;
6579
6580 procedure Set_Flag71 (N : Node_Id; Val : Boolean) is
6581 begin
6582 pragma Assert (not Locked);
6583 pragma Assert (Nkind (N) in N_Entity);
6584 To_Flag_Byte_Ptr
6585 (Node_Kind_Ptr'
6586 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag71 := Val;
6587 end Set_Flag71;
6588
6589 procedure Set_Flag72 (N : Node_Id; Val : Boolean) is
6590 begin
6591 pragma Assert (not Locked);
6592 pragma Assert (Nkind (N) in N_Entity);
6593 To_Flag_Byte_Ptr
6594 (Node_Kind_Ptr'
6595 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag72 := Val;
6596 end Set_Flag72;
6597
6598 procedure Set_Flag73 (N : Node_Id; Val : Boolean) is
6599 begin
6600 pragma Assert (not Locked);
6601 pragma Assert (Nkind (N) in N_Entity);
6602 To_Flag_Word_Ptr
6603 (Union_Id_Ptr'
6604 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag73 := Val;
6605 end Set_Flag73;
6606
6607 procedure Set_Flag74 (N : Node_Id; Val : Boolean) is
6608 begin
6609 pragma Assert (not Locked);
6610 pragma Assert (Nkind (N) in N_Entity);
6611 To_Flag_Word_Ptr
6612 (Union_Id_Ptr'
6613 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag74 := Val;
6614 end Set_Flag74;
6615
6616 procedure Set_Flag75 (N : Node_Id; Val : Boolean) is
6617 begin
6618 pragma Assert (not Locked);
6619 pragma Assert (Nkind (N) in N_Entity);
6620 To_Flag_Word_Ptr
6621 (Union_Id_Ptr'
6622 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag75 := Val;
6623 end Set_Flag75;
6624
6625 procedure Set_Flag76 (N : Node_Id; Val : Boolean) is
6626 begin
6627 pragma Assert (not Locked);
6628 pragma Assert (Nkind (N) in N_Entity);
6629 To_Flag_Word_Ptr
6630 (Union_Id_Ptr'
6631 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag76 := Val;
6632 end Set_Flag76;
6633
6634 procedure Set_Flag77 (N : Node_Id; Val : Boolean) is
6635 begin
6636 pragma Assert (not Locked);
6637 pragma Assert (Nkind (N) in N_Entity);
6638 To_Flag_Word_Ptr
6639 (Union_Id_Ptr'
6640 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag77 := Val;
6641 end Set_Flag77;
6642
6643 procedure Set_Flag78 (N : Node_Id; Val : Boolean) is
6644 begin
6645 pragma Assert (not Locked);
6646 pragma Assert (Nkind (N) in N_Entity);
6647 To_Flag_Word_Ptr
6648 (Union_Id_Ptr'
6649 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag78 := Val;
6650 end Set_Flag78;
6651
6652 procedure Set_Flag79 (N : Node_Id; Val : Boolean) is
6653 begin
6654 pragma Assert (not Locked);
6655 pragma Assert (Nkind (N) in N_Entity);
6656 To_Flag_Word_Ptr
6657 (Union_Id_Ptr'
6658 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag79 := Val;
6659 end Set_Flag79;
6660
6661 procedure Set_Flag80 (N : Node_Id; Val : Boolean) is
6662 begin
6663 pragma Assert (not Locked);
6664 pragma Assert (Nkind (N) in N_Entity);
6665 To_Flag_Word_Ptr
6666 (Union_Id_Ptr'
6667 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag80 := Val;
6668 end Set_Flag80;
6669
6670 procedure Set_Flag81 (N : Node_Id; Val : Boolean) is
6671 begin
6672 pragma Assert (not Locked);
6673 pragma Assert (Nkind (N) in N_Entity);
6674 To_Flag_Word_Ptr
6675 (Union_Id_Ptr'
6676 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag81 := Val;
6677 end Set_Flag81;
6678
6679 procedure Set_Flag82 (N : Node_Id; Val : Boolean) is
6680 begin
6681 pragma Assert (not Locked);
6682 pragma Assert (Nkind (N) in N_Entity);
6683 To_Flag_Word_Ptr
6684 (Union_Id_Ptr'
6685 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag82 := Val;
6686 end Set_Flag82;
6687
6688 procedure Set_Flag83 (N : Node_Id; Val : Boolean) is
6689 begin
6690 pragma Assert (not Locked);
6691 pragma Assert (Nkind (N) in N_Entity);
6692 To_Flag_Word_Ptr
6693 (Union_Id_Ptr'
6694 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag83 := Val;
6695 end Set_Flag83;
6696
6697 procedure Set_Flag84 (N : Node_Id; Val : Boolean) is
6698 begin
6699 pragma Assert (not Locked);
6700 pragma Assert (Nkind (N) in N_Entity);
6701 To_Flag_Word_Ptr
6702 (Union_Id_Ptr'
6703 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag84 := Val;
6704 end Set_Flag84;
6705
6706 procedure Set_Flag85 (N : Node_Id; Val : Boolean) is
6707 begin
6708 pragma Assert (not Locked);
6709 pragma Assert (Nkind (N) in N_Entity);
6710 To_Flag_Word_Ptr
6711 (Union_Id_Ptr'
6712 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag85 := Val;
6713 end Set_Flag85;
6714
6715 procedure Set_Flag86 (N : Node_Id; Val : Boolean) is
6716 begin
6717 pragma Assert (not Locked);
6718 pragma Assert (Nkind (N) in N_Entity);
6719 To_Flag_Word_Ptr
6720 (Union_Id_Ptr'
6721 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag86 := Val;
6722 end Set_Flag86;
6723
6724 procedure Set_Flag87 (N : Node_Id; Val : Boolean) is
6725 begin
6726 pragma Assert (not Locked);
6727 pragma Assert (Nkind (N) in N_Entity);
6728 To_Flag_Word_Ptr
6729 (Union_Id_Ptr'
6730 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag87 := Val;
6731 end Set_Flag87;
6732
6733 procedure Set_Flag88 (N : Node_Id; Val : Boolean) is
6734 begin
6735 pragma Assert (not Locked);
6736 pragma Assert (Nkind (N) in N_Entity);
6737 To_Flag_Word_Ptr
6738 (Union_Id_Ptr'
6739 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag88 := Val;
6740 end Set_Flag88;
6741
6742 procedure Set_Flag89 (N : Node_Id; Val : Boolean) is
6743 begin
6744 pragma Assert (not Locked);
6745 pragma Assert (Nkind (N) in N_Entity);
6746 To_Flag_Word_Ptr
6747 (Union_Id_Ptr'
6748 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag89 := Val;
6749 end Set_Flag89;
6750
6751 procedure Set_Flag90 (N : Node_Id; Val : Boolean) is
6752 begin
6753 pragma Assert (not Locked);
6754 pragma Assert (Nkind (N) in N_Entity);
6755 To_Flag_Word_Ptr
6756 (Union_Id_Ptr'
6757 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag90 := Val;
6758 end Set_Flag90;
6759
6760 procedure Set_Flag91 (N : Node_Id; Val : Boolean) is
6761 begin
6762 pragma Assert (not Locked);
6763 pragma Assert (Nkind (N) in N_Entity);
6764 To_Flag_Word_Ptr
6765 (Union_Id_Ptr'
6766 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag91 := Val;
6767 end Set_Flag91;
6768
6769 procedure Set_Flag92 (N : Node_Id; Val : Boolean) is
6770 begin
6771 pragma Assert (not Locked);
6772 pragma Assert (Nkind (N) in N_Entity);
6773 To_Flag_Word_Ptr
6774 (Union_Id_Ptr'
6775 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag92 := Val;
6776 end Set_Flag92;
6777
6778 procedure Set_Flag93 (N : Node_Id; Val : Boolean) is
6779 begin
6780 pragma Assert (not Locked);
6781 pragma Assert (Nkind (N) in N_Entity);
6782 To_Flag_Word_Ptr
6783 (Union_Id_Ptr'
6784 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag93 := Val;
6785 end Set_Flag93;
6786
6787 procedure Set_Flag94 (N : Node_Id; Val : Boolean) is
6788 begin
6789 pragma Assert (not Locked);
6790 pragma Assert (Nkind (N) in N_Entity);
6791 To_Flag_Word_Ptr
6792 (Union_Id_Ptr'
6793 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag94 := Val;
6794 end Set_Flag94;
6795
6796 procedure Set_Flag95 (N : Node_Id; Val : Boolean) is
6797 begin
6798 pragma Assert (not Locked);
6799 pragma Assert (Nkind (N) in N_Entity);
6800 To_Flag_Word_Ptr
6801 (Union_Id_Ptr'
6802 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag95 := Val;
6803 end Set_Flag95;
6804
6805 procedure Set_Flag96 (N : Node_Id; Val : Boolean) is
6806 begin
6807 pragma Assert (not Locked);
6808 pragma Assert (Nkind (N) in N_Entity);
6809 To_Flag_Word_Ptr
6810 (Union_Id_Ptr'
6811 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag96 := Val;
6812 end Set_Flag96;
6813
6814 procedure Set_Flag97 (N : Node_Id; Val : Boolean) is
6815 begin
6816 pragma Assert (not Locked);
6817 pragma Assert (Nkind (N) in N_Entity);
6818 To_Flag_Word2_Ptr
6819 (Union_Id_Ptr'
6820 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag97 := Val;
6821 end Set_Flag97;
6822
6823 procedure Set_Flag98 (N : Node_Id; Val : Boolean) is
6824 begin
6825 pragma Assert (not Locked);
6826 pragma Assert (Nkind (N) in N_Entity);
6827 To_Flag_Word2_Ptr
6828 (Union_Id_Ptr'
6829 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag98 := Val;
6830 end Set_Flag98;
6831
6832 procedure Set_Flag99 (N : Node_Id; Val : Boolean) is
6833 begin
6834 pragma Assert (not Locked);
6835 pragma Assert (Nkind (N) in N_Entity);
6836 To_Flag_Word2_Ptr
6837 (Union_Id_Ptr'
6838 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag99 := Val;
6839 end Set_Flag99;
6840
6841 procedure Set_Flag100 (N : Node_Id; Val : Boolean) is
6842 begin
6843 pragma Assert (not Locked);
6844 pragma Assert (Nkind (N) in N_Entity);
6845 To_Flag_Word2_Ptr
6846 (Union_Id_Ptr'
6847 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag100 := Val;
6848 end Set_Flag100;
6849
6850 procedure Set_Flag101 (N : Node_Id; Val : Boolean) is
6851 begin
6852 pragma Assert (not Locked);
6853 pragma Assert (Nkind (N) in N_Entity);
6854 To_Flag_Word2_Ptr
6855 (Union_Id_Ptr'
6856 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag101 := Val;
6857 end Set_Flag101;
6858
6859 procedure Set_Flag102 (N : Node_Id; Val : Boolean) is
6860 begin
6861 pragma Assert (not Locked);
6862 pragma Assert (Nkind (N) in N_Entity);
6863 To_Flag_Word2_Ptr
6864 (Union_Id_Ptr'
6865 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag102 := Val;
6866 end Set_Flag102;
6867
6868 procedure Set_Flag103 (N : Node_Id; Val : Boolean) is
6869 begin
6870 pragma Assert (not Locked);
6871 pragma Assert (Nkind (N) in N_Entity);
6872 To_Flag_Word2_Ptr
6873 (Union_Id_Ptr'
6874 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag103 := Val;
6875 end Set_Flag103;
6876
6877 procedure Set_Flag104 (N : Node_Id; Val : Boolean) is
6878 begin
6879 pragma Assert (not Locked);
6880 pragma Assert (Nkind (N) in N_Entity);
6881 To_Flag_Word2_Ptr
6882 (Union_Id_Ptr'
6883 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag104 := Val;
6884 end Set_Flag104;
6885
6886 procedure Set_Flag105 (N : Node_Id; Val : Boolean) is
6887 begin
6888 pragma Assert (not Locked);
6889 pragma Assert (Nkind (N) in N_Entity);
6890 To_Flag_Word2_Ptr
6891 (Union_Id_Ptr'
6892 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag105 := Val;
6893 end Set_Flag105;
6894
6895 procedure Set_Flag106 (N : Node_Id; Val : Boolean) is
6896 begin
6897 pragma Assert (not Locked);
6898 pragma Assert (Nkind (N) in N_Entity);
6899 To_Flag_Word2_Ptr
6900 (Union_Id_Ptr'
6901 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag106 := Val;
6902 end Set_Flag106;
6903
6904 procedure Set_Flag107 (N : Node_Id; Val : Boolean) is
6905 begin
6906 pragma Assert (not Locked);
6907 pragma Assert (Nkind (N) in N_Entity);
6908 To_Flag_Word2_Ptr
6909 (Union_Id_Ptr'
6910 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag107 := Val;
6911 end Set_Flag107;
6912
6913 procedure Set_Flag108 (N : Node_Id; Val : Boolean) is
6914 begin
6915 pragma Assert (not Locked);
6916 pragma Assert (Nkind (N) in N_Entity);
6917 To_Flag_Word2_Ptr
6918 (Union_Id_Ptr'
6919 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag108 := Val;
6920 end Set_Flag108;
6921
6922 procedure Set_Flag109 (N : Node_Id; Val : Boolean) is
6923 begin
6924 pragma Assert (not Locked);
6925 pragma Assert (Nkind (N) in N_Entity);
6926 To_Flag_Word2_Ptr
6927 (Union_Id_Ptr'
6928 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag109 := Val;
6929 end Set_Flag109;
6930
6931 procedure Set_Flag110 (N : Node_Id; Val : Boolean) is
6932 begin
6933 pragma Assert (not Locked);
6934 pragma Assert (Nkind (N) in N_Entity);
6935 To_Flag_Word2_Ptr
6936 (Union_Id_Ptr'
6937 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag110 := Val;
6938 end Set_Flag110;
6939
6940 procedure Set_Flag111 (N : Node_Id; Val : Boolean) is
6941 begin
6942 pragma Assert (not Locked);
6943 pragma Assert (Nkind (N) in N_Entity);
6944 To_Flag_Word2_Ptr
6945 (Union_Id_Ptr'
6946 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag111 := Val;
6947 end Set_Flag111;
6948
6949 procedure Set_Flag112 (N : Node_Id; Val : Boolean) is
6950 begin
6951 pragma Assert (not Locked);
6952 pragma Assert (Nkind (N) in N_Entity);
6953 To_Flag_Word2_Ptr
6954 (Union_Id_Ptr'
6955 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag112 := Val;
6956 end Set_Flag112;
6957
6958 procedure Set_Flag113 (N : Node_Id; Val : Boolean) is
6959 begin
6960 pragma Assert (not Locked);
6961 pragma Assert (Nkind (N) in N_Entity);
6962 To_Flag_Word2_Ptr
6963 (Union_Id_Ptr'
6964 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag113 := Val;
6965 end Set_Flag113;
6966
6967 procedure Set_Flag114 (N : Node_Id; Val : Boolean) is
6968 begin
6969 pragma Assert (not Locked);
6970 pragma Assert (Nkind (N) in N_Entity);
6971 To_Flag_Word2_Ptr
6972 (Union_Id_Ptr'
6973 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag114 := Val;
6974 end Set_Flag114;
6975
6976 procedure Set_Flag115 (N : Node_Id; Val : Boolean) is
6977 begin
6978 pragma Assert (not Locked);
6979 pragma Assert (Nkind (N) in N_Entity);
6980 To_Flag_Word2_Ptr
6981 (Union_Id_Ptr'
6982 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag115 := Val;
6983 end Set_Flag115;
6984
6985 procedure Set_Flag116 (N : Node_Id; Val : Boolean) is
6986 begin
6987 pragma Assert (not Locked);
6988 pragma Assert (Nkind (N) in N_Entity);
6989 To_Flag_Word2_Ptr
6990 (Union_Id_Ptr'
6991 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag116 := Val;
6992 end Set_Flag116;
6993
6994 procedure Set_Flag117 (N : Node_Id; Val : Boolean) is
6995 begin
6996 pragma Assert (not Locked);
6997 pragma Assert (Nkind (N) in N_Entity);
6998 To_Flag_Word2_Ptr
6999 (Union_Id_Ptr'
7000 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag117 := Val;
7001 end Set_Flag117;
7002
7003 procedure Set_Flag118 (N : Node_Id; Val : Boolean) is
7004 begin
7005 pragma Assert (not Locked);
7006 pragma Assert (Nkind (N) in N_Entity);
7007 To_Flag_Word2_Ptr
7008 (Union_Id_Ptr'
7009 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag118 := Val;
7010 end Set_Flag118;
7011
7012 procedure Set_Flag119 (N : Node_Id; Val : Boolean) is
7013 begin
7014 pragma Assert (not Locked);
7015 pragma Assert (Nkind (N) in N_Entity);
7016 To_Flag_Word2_Ptr
7017 (Union_Id_Ptr'
7018 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag119 := Val;
7019 end Set_Flag119;
7020
7021 procedure Set_Flag120 (N : Node_Id; Val : Boolean) is
7022 begin
7023 pragma Assert (not Locked);
7024 pragma Assert (Nkind (N) in N_Entity);
7025 To_Flag_Word2_Ptr
7026 (Union_Id_Ptr'
7027 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag120 := Val;
7028 end Set_Flag120;
7029
7030 procedure Set_Flag121 (N : Node_Id; Val : Boolean) is
7031 begin
7032 pragma Assert (not Locked);
7033 pragma Assert (Nkind (N) in N_Entity);
7034 To_Flag_Word2_Ptr
7035 (Union_Id_Ptr'
7036 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag121 := Val;
7037 end Set_Flag121;
7038
7039 procedure Set_Flag122 (N : Node_Id; Val : Boolean) is
7040 begin
7041 pragma Assert (not Locked);
7042 pragma Assert (Nkind (N) in N_Entity);
7043 To_Flag_Word2_Ptr
7044 (Union_Id_Ptr'
7045 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag122 := Val;
7046 end Set_Flag122;
7047
7048 procedure Set_Flag123 (N : Node_Id; Val : Boolean) is
7049 begin
7050 pragma Assert (not Locked);
7051 pragma Assert (Nkind (N) in N_Entity);
7052 To_Flag_Word2_Ptr
7053 (Union_Id_Ptr'
7054 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag123 := Val;
7055 end Set_Flag123;
7056
7057 procedure Set_Flag124 (N : Node_Id; Val : Boolean) is
7058 begin
7059 pragma Assert (not Locked);
7060 pragma Assert (Nkind (N) in N_Entity);
7061 To_Flag_Word2_Ptr
7062 (Union_Id_Ptr'
7063 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag124 := Val;
7064 end Set_Flag124;
7065
7066 procedure Set_Flag125 (N : Node_Id; Val : Boolean) is
7067 begin
7068 pragma Assert (not Locked);
7069 pragma Assert (Nkind (N) in N_Entity);
7070 To_Flag_Word2_Ptr
7071 (Union_Id_Ptr'
7072 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag125 := Val;
7073 end Set_Flag125;
7074
7075 procedure Set_Flag126 (N : Node_Id; Val : Boolean) is
7076 begin
7077 pragma Assert (not Locked);
7078 pragma Assert (Nkind (N) in N_Entity);
7079 To_Flag_Word2_Ptr
7080 (Union_Id_Ptr'
7081 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag126 := Val;
7082 end Set_Flag126;
7083
7084 procedure Set_Flag127 (N : Node_Id; Val : Boolean) is
7085 begin
7086 pragma Assert (not Locked);
7087 pragma Assert (Nkind (N) in N_Entity);
7088 To_Flag_Word2_Ptr
7089 (Union_Id_Ptr'
7090 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag127 := Val;
7091 end Set_Flag127;
7092
7093 procedure Set_Flag128 (N : Node_Id; Val : Boolean) is
7094 begin
7095 pragma Assert (not Locked);
7096 pragma Assert (Nkind (N) in N_Entity);
7097 To_Flag_Word2_Ptr
7098 (Union_Id_Ptr'
7099 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag128 := Val;
7100 end Set_Flag128;
7101
7102 procedure Set_Flag129 (N : Node_Id; Val : Boolean) is
7103 begin
7104 pragma Assert (not Locked);
7105 pragma Assert (Nkind (N) in N_Entity);
7106 Nodes.Table (N + 3).In_List := Val;
7107 end Set_Flag129;
7108
7109 procedure Set_Flag130 (N : Node_Id; Val : Boolean) is
7110 begin
7111 pragma Assert (not Locked);
7112 pragma Assert (Nkind (N) in N_Entity);
7113 Nodes.Table (N + 3).Has_Aspects := Val;
7114 end Set_Flag130;
7115
7116 procedure Set_Flag131 (N : Node_Id; Val : Boolean) is
7117 begin
7118 pragma Assert (not Locked);
7119 pragma Assert (Nkind (N) in N_Entity);
7120 Nodes.Table (N + 3).Rewrite_Ins := Val;
7121 end Set_Flag131;
7122
7123 procedure Set_Flag132 (N : Node_Id; Val : Boolean) is
7124 begin
7125 pragma Assert (not Locked);
7126 pragma Assert (Nkind (N) in N_Entity);
7127 Nodes.Table (N + 3).Analyzed := Val;
7128 end Set_Flag132;
7129
7130 procedure Set_Flag133 (N : Node_Id; Val : Boolean) is
7131 begin
7132 pragma Assert (not Locked);
7133 pragma Assert (Nkind (N) in N_Entity);
7134 Nodes.Table (N + 3).Comes_From_Source := Val;
7135 end Set_Flag133;
7136
7137 procedure Set_Flag134 (N : Node_Id; Val : Boolean) is
7138 begin
7139 pragma Assert (not Locked);
7140 pragma Assert (Nkind (N) in N_Entity);
7141 Nodes.Table (N + 3).Error_Posted := Val;
7142 end Set_Flag134;
7143
7144 procedure Set_Flag135 (N : Node_Id; Val : Boolean) is
7145 begin
7146 pragma Assert (not Locked);
7147 pragma Assert (Nkind (N) in N_Entity);
7148 Nodes.Table (N + 3).Flag4 := Val;
7149 end Set_Flag135;
7150
7151 procedure Set_Flag136 (N : Node_Id; Val : Boolean) is
7152 begin
7153 pragma Assert (not Locked);
7154 pragma Assert (Nkind (N) in N_Entity);
7155 Nodes.Table (N + 3).Flag5 := Val;
7156 end Set_Flag136;
7157
7158 procedure Set_Flag137 (N : Node_Id; Val : Boolean) is
7159 begin
7160 pragma Assert (not Locked);
7161 pragma Assert (Nkind (N) in N_Entity);
7162 Nodes.Table (N + 3).Flag6 := Val;
7163 end Set_Flag137;
7164
7165 procedure Set_Flag138 (N : Node_Id; Val : Boolean) is
7166 begin
7167 pragma Assert (not Locked);
7168 pragma Assert (Nkind (N) in N_Entity);
7169 Nodes.Table (N + 3).Flag7 := Val;
7170 end Set_Flag138;
7171
7172 procedure Set_Flag139 (N : Node_Id; Val : Boolean) is
7173 begin
7174 pragma Assert (not Locked);
7175 pragma Assert (Nkind (N) in N_Entity);
7176 Nodes.Table (N + 3).Flag8 := Val;
7177 end Set_Flag139;
7178
7179 procedure Set_Flag140 (N : Node_Id; Val : Boolean) is
7180 begin
7181 pragma Assert (not Locked);
7182 pragma Assert (Nkind (N) in N_Entity);
7183 Nodes.Table (N + 3).Flag9 := Val;
7184 end Set_Flag140;
7185
7186 procedure Set_Flag141 (N : Node_Id; Val : Boolean) is
7187 begin
7188 pragma Assert (not Locked);
7189 pragma Assert (Nkind (N) in N_Entity);
7190 Nodes.Table (N + 3).Flag10 := Val;
7191 end Set_Flag141;
7192
7193 procedure Set_Flag142 (N : Node_Id; Val : Boolean) is
7194 begin
7195 pragma Assert (not Locked);
7196 pragma Assert (Nkind (N) in N_Entity);
7197 Nodes.Table (N + 3).Flag11 := Val;
7198 end Set_Flag142;
7199
7200 procedure Set_Flag143 (N : Node_Id; Val : Boolean) is
7201 begin
7202 pragma Assert (not Locked);
7203 pragma Assert (Nkind (N) in N_Entity);
7204 Nodes.Table (N + 3).Flag12 := Val;
7205 end Set_Flag143;
7206
7207 procedure Set_Flag144 (N : Node_Id; Val : Boolean) is
7208 begin
7209 pragma Assert (not Locked);
7210 pragma Assert (Nkind (N) in N_Entity);
7211 Nodes.Table (N + 3).Flag13 := Val;
7212 end Set_Flag144;
7213
7214 procedure Set_Flag145 (N : Node_Id; Val : Boolean) is
7215 begin
7216 pragma Assert (not Locked);
7217 pragma Assert (Nkind (N) in N_Entity);
7218 Nodes.Table (N + 3).Flag14 := Val;
7219 end Set_Flag145;
7220
7221 procedure Set_Flag146 (N : Node_Id; Val : Boolean) is
7222 begin
7223 pragma Assert (not Locked);
7224 pragma Assert (Nkind (N) in N_Entity);
7225 Nodes.Table (N + 3).Flag15 := Val;
7226 end Set_Flag146;
7227
7228 procedure Set_Flag147 (N : Node_Id; Val : Boolean) is
7229 begin
7230 pragma Assert (not Locked);
7231 pragma Assert (Nkind (N) in N_Entity);
7232 Nodes.Table (N + 3).Flag16 := Val;
7233 end Set_Flag147;
7234
7235 procedure Set_Flag148 (N : Node_Id; Val : Boolean) is
7236 begin
7237 pragma Assert (not Locked);
7238 pragma Assert (Nkind (N) in N_Entity);
7239 Nodes.Table (N + 3).Flag17 := Val;
7240 end Set_Flag148;
7241
7242 procedure Set_Flag149 (N : Node_Id; Val : Boolean) is
7243 begin
7244 pragma Assert (not Locked);
7245 pragma Assert (Nkind (N) in N_Entity);
7246 Nodes.Table (N + 3).Flag18 := Val;
7247 end Set_Flag149;
7248
7249 procedure Set_Flag150 (N : Node_Id; Val : Boolean) is
7250 begin
7251 pragma Assert (not Locked);
7252 pragma Assert (Nkind (N) in N_Entity);
7253 Nodes.Table (N + 3).Pflag1 := Val;
7254 end Set_Flag150;
7255
7256 procedure Set_Flag151 (N : Node_Id; Val : Boolean) is
7257 begin
7258 pragma Assert (not Locked);
7259 pragma Assert (Nkind (N) in N_Entity);
7260 Nodes.Table (N + 3).Pflag2 := Val;
7261 end Set_Flag151;
7262
7263 procedure Set_Flag152 (N : Node_Id; Val : Boolean) is
7264 begin
7265 pragma Assert (not Locked);
7266 pragma Assert (Nkind (N) in N_Entity);
7267 To_Flag_Word3_Ptr
7268 (Union_Id_Ptr'
7269 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag152 := Val;
7270 end Set_Flag152;
7271
7272 procedure Set_Flag153 (N : Node_Id; Val : Boolean) is
7273 begin
7274 pragma Assert (not Locked);
7275 pragma Assert (Nkind (N) in N_Entity);
7276 To_Flag_Word3_Ptr
7277 (Union_Id_Ptr'
7278 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag153 := Val;
7279 end Set_Flag153;
7280
7281 procedure Set_Flag154 (N : Node_Id; Val : Boolean) is
7282 begin
7283 pragma Assert (not Locked);
7284 pragma Assert (Nkind (N) in N_Entity);
7285 To_Flag_Word3_Ptr
7286 (Union_Id_Ptr'
7287 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag154 := Val;
7288 end Set_Flag154;
7289
7290 procedure Set_Flag155 (N : Node_Id; Val : Boolean) is
7291 begin
7292 pragma Assert (not Locked);
7293 pragma Assert (Nkind (N) in N_Entity);
7294 To_Flag_Word3_Ptr
7295 (Union_Id_Ptr'
7296 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag155 := Val;
7297 end Set_Flag155;
7298
7299 procedure Set_Flag156 (N : Node_Id; Val : Boolean) is
7300 begin
7301 pragma Assert (not Locked);
7302 pragma Assert (Nkind (N) in N_Entity);
7303 To_Flag_Word3_Ptr
7304 (Union_Id_Ptr'
7305 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag156 := Val;
7306 end Set_Flag156;
7307
7308 procedure Set_Flag157 (N : Node_Id; Val : Boolean) is
7309 begin
7310 pragma Assert (not Locked);
7311 pragma Assert (Nkind (N) in N_Entity);
7312 To_Flag_Word3_Ptr
7313 (Union_Id_Ptr'
7314 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag157 := Val;
7315 end Set_Flag157;
7316
7317 procedure Set_Flag158 (N : Node_Id; Val : Boolean) is
7318 begin
7319 pragma Assert (not Locked);
7320 pragma Assert (Nkind (N) in N_Entity);
7321 To_Flag_Word3_Ptr
7322 (Union_Id_Ptr'
7323 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag158 := Val;
7324 end Set_Flag158;
7325
7326 procedure Set_Flag159 (N : Node_Id; Val : Boolean) is
7327 begin
7328 pragma Assert (not Locked);
7329 pragma Assert (Nkind (N) in N_Entity);
7330 To_Flag_Word3_Ptr
7331 (Union_Id_Ptr'
7332 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag159 := Val;
7333 end Set_Flag159;
7334
7335 procedure Set_Flag160 (N : Node_Id; Val : Boolean) is
7336 begin
7337 pragma Assert (not Locked);
7338 pragma Assert (Nkind (N) in N_Entity);
7339 To_Flag_Word3_Ptr
7340 (Union_Id_Ptr'
7341 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag160 := Val;
7342 end Set_Flag160;
7343
7344 procedure Set_Flag161 (N : Node_Id; Val : Boolean) is
7345 begin
7346 pragma Assert (not Locked);
7347 pragma Assert (Nkind (N) in N_Entity);
7348 To_Flag_Word3_Ptr
7349 (Union_Id_Ptr'
7350 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag161 := Val;
7351 end Set_Flag161;
7352
7353 procedure Set_Flag162 (N : Node_Id; Val : Boolean) is
7354 begin
7355 pragma Assert (not Locked);
7356 pragma Assert (Nkind (N) in N_Entity);
7357 To_Flag_Word3_Ptr
7358 (Union_Id_Ptr'
7359 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag162 := Val;
7360 end Set_Flag162;
7361
7362 procedure Set_Flag163 (N : Node_Id; Val : Boolean) is
7363 begin
7364 pragma Assert (not Locked);
7365 pragma Assert (Nkind (N) in N_Entity);
7366 To_Flag_Word3_Ptr
7367 (Union_Id_Ptr'
7368 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag163 := Val;
7369 end Set_Flag163;
7370
7371 procedure Set_Flag164 (N : Node_Id; Val : Boolean) is
7372 begin
7373 pragma Assert (not Locked);
7374 pragma Assert (Nkind (N) in N_Entity);
7375 To_Flag_Word3_Ptr
7376 (Union_Id_Ptr'
7377 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag164 := Val;
7378 end Set_Flag164;
7379
7380 procedure Set_Flag165 (N : Node_Id; Val : Boolean) is
7381 begin
7382 pragma Assert (not Locked);
7383 pragma Assert (Nkind (N) in N_Entity);
7384 To_Flag_Word3_Ptr
7385 (Union_Id_Ptr'
7386 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag165 := Val;
7387 end Set_Flag165;
7388
7389 procedure Set_Flag166 (N : Node_Id; Val : Boolean) is
7390 begin
7391 pragma Assert (not Locked);
7392 pragma Assert (Nkind (N) in N_Entity);
7393 To_Flag_Word3_Ptr
7394 (Union_Id_Ptr'
7395 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag166 := Val;
7396 end Set_Flag166;
7397
7398 procedure Set_Flag167 (N : Node_Id; Val : Boolean) is
7399 begin
7400 pragma Assert (not Locked);
7401 pragma Assert (Nkind (N) in N_Entity);
7402 To_Flag_Word3_Ptr
7403 (Union_Id_Ptr'
7404 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag167 := Val;
7405 end Set_Flag167;
7406
7407 procedure Set_Flag168 (N : Node_Id; Val : Boolean) is
7408 begin
7409 pragma Assert (not Locked);
7410 pragma Assert (Nkind (N) in N_Entity);
7411 To_Flag_Word3_Ptr
7412 (Union_Id_Ptr'
7413 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag168 := Val;
7414 end Set_Flag168;
7415
7416 procedure Set_Flag169 (N : Node_Id; Val : Boolean) is
7417 begin
7418 pragma Assert (not Locked);
7419 pragma Assert (Nkind (N) in N_Entity);
7420 To_Flag_Word3_Ptr
7421 (Union_Id_Ptr'
7422 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag169 := Val;
7423 end Set_Flag169;
7424
7425 procedure Set_Flag170 (N : Node_Id; Val : Boolean) is
7426 begin
7427 pragma Assert (not Locked);
7428 pragma Assert (Nkind (N) in N_Entity);
7429 To_Flag_Word3_Ptr
7430 (Union_Id_Ptr'
7431 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag170 := Val;
7432 end Set_Flag170;
7433
7434 procedure Set_Flag171 (N : Node_Id; Val : Boolean) is
7435 begin
7436 pragma Assert (not Locked);
7437 pragma Assert (Nkind (N) in N_Entity);
7438 To_Flag_Word3_Ptr
7439 (Union_Id_Ptr'
7440 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag171 := Val;
7441 end Set_Flag171;
7442
7443 procedure Set_Flag172 (N : Node_Id; Val : Boolean) is
7444 begin
7445 pragma Assert (not Locked);
7446 pragma Assert (Nkind (N) in N_Entity);
7447 To_Flag_Word3_Ptr
7448 (Union_Id_Ptr'
7449 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag172 := Val;
7450 end Set_Flag172;
7451
7452 procedure Set_Flag173 (N : Node_Id; Val : Boolean) is
7453 begin
7454 pragma Assert (not Locked);
7455 pragma Assert (Nkind (N) in N_Entity);
7456 To_Flag_Word3_Ptr
7457 (Union_Id_Ptr'
7458 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag173 := Val;
7459 end Set_Flag173;
7460
7461 procedure Set_Flag174 (N : Node_Id; Val : Boolean) is
7462 begin
7463 pragma Assert (not Locked);
7464 pragma Assert (Nkind (N) in N_Entity);
7465 To_Flag_Word3_Ptr
7466 (Union_Id_Ptr'
7467 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag174 := Val;
7468 end Set_Flag174;
7469
7470 procedure Set_Flag175 (N : Node_Id; Val : Boolean) is
7471 begin
7472 pragma Assert (not Locked);
7473 pragma Assert (Nkind (N) in N_Entity);
7474 To_Flag_Word3_Ptr
7475 (Union_Id_Ptr'
7476 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag175 := Val;
7477 end Set_Flag175;
7478
7479 procedure Set_Flag176 (N : Node_Id; Val : Boolean) is
7480 begin
7481 pragma Assert (not Locked);
7482 pragma Assert (Nkind (N) in N_Entity);
7483 To_Flag_Word3_Ptr
7484 (Union_Id_Ptr'
7485 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag176 := Val;
7486 end Set_Flag176;
7487
7488 procedure Set_Flag177 (N : Node_Id; Val : Boolean) is
7489 begin
7490 pragma Assert (not Locked);
7491 pragma Assert (Nkind (N) in N_Entity);
7492 To_Flag_Word3_Ptr
7493 (Union_Id_Ptr'
7494 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag177 := Val;
7495 end Set_Flag177;
7496
7497 procedure Set_Flag178 (N : Node_Id; Val : Boolean) is
7498 begin
7499 pragma Assert (not Locked);
7500 pragma Assert (Nkind (N) in N_Entity);
7501 To_Flag_Word3_Ptr
7502 (Union_Id_Ptr'
7503 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag178 := Val;
7504 end Set_Flag178;
7505
7506 procedure Set_Flag179 (N : Node_Id; Val : Boolean) is
7507 begin
7508 pragma Assert (not Locked);
7509 pragma Assert (Nkind (N) in N_Entity);
7510 To_Flag_Word3_Ptr
7511 (Union_Id_Ptr'
7512 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag179 := Val;
7513 end Set_Flag179;
7514
7515 procedure Set_Flag180 (N : Node_Id; Val : Boolean) is
7516 begin
7517 pragma Assert (not Locked);
7518 pragma Assert (Nkind (N) in N_Entity);
7519 To_Flag_Word3_Ptr
7520 (Union_Id_Ptr'
7521 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag180 := Val;
7522 end Set_Flag180;
7523
7524 procedure Set_Flag181 (N : Node_Id; Val : Boolean) is
7525 begin
7526 pragma Assert (not Locked);
7527 pragma Assert (Nkind (N) in N_Entity);
7528 To_Flag_Word3_Ptr
7529 (Union_Id_Ptr'
7530 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag181 := Val;
7531 end Set_Flag181;
7532
7533 procedure Set_Flag182 (N : Node_Id; Val : Boolean) is
7534 begin
7535 pragma Assert (not Locked);
7536 pragma Assert (Nkind (N) in N_Entity);
7537 To_Flag_Word3_Ptr
7538 (Union_Id_Ptr'
7539 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag182 := Val;
7540 end Set_Flag182;
7541
7542 procedure Set_Flag183 (N : Node_Id; Val : Boolean) is
7543 begin
7544 pragma Assert (not Locked);
7545 pragma Assert (Nkind (N) in N_Entity);
7546 To_Flag_Word3_Ptr
7547 (Union_Id_Ptr'
7548 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag183 := Val;
7549 end Set_Flag183;
7550
7551 procedure Set_Flag184 (N : Node_Id; Val : Boolean) is
7552 begin
7553 pragma Assert (not Locked);
7554 pragma Assert (Nkind (N) in N_Entity);
7555 To_Flag_Word4_Ptr
7556 (Union_Id_Ptr'
7557 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag184 := Val;
7558 end Set_Flag184;
7559
7560 procedure Set_Flag185 (N : Node_Id; Val : Boolean) is
7561 begin
7562 pragma Assert (not Locked);
7563 pragma Assert (Nkind (N) in N_Entity);
7564 To_Flag_Word4_Ptr
7565 (Union_Id_Ptr'
7566 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag185 := Val;
7567 end Set_Flag185;
7568
7569 procedure Set_Flag186 (N : Node_Id; Val : Boolean) is
7570 begin
7571 pragma Assert (not Locked);
7572 pragma Assert (Nkind (N) in N_Entity);
7573 To_Flag_Word4_Ptr
7574 (Union_Id_Ptr'
7575 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag186 := Val;
7576 end Set_Flag186;
7577
7578 procedure Set_Flag187 (N : Node_Id; Val : Boolean) is
7579 begin
7580 pragma Assert (not Locked);
7581 pragma Assert (Nkind (N) in N_Entity);
7582 To_Flag_Word4_Ptr
7583 (Union_Id_Ptr'
7584 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag187 := Val;
7585 end Set_Flag187;
7586
7587 procedure Set_Flag188 (N : Node_Id; Val : Boolean) is
7588 begin
7589 pragma Assert (not Locked);
7590 pragma Assert (Nkind (N) in N_Entity);
7591 To_Flag_Word4_Ptr
7592 (Union_Id_Ptr'
7593 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag188 := Val;
7594 end Set_Flag188;
7595
7596 procedure Set_Flag189 (N : Node_Id; Val : Boolean) is
7597 begin
7598 pragma Assert (not Locked);
7599 pragma Assert (Nkind (N) in N_Entity);
7600 To_Flag_Word4_Ptr
7601 (Union_Id_Ptr'
7602 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag189 := Val;
7603 end Set_Flag189;
7604
7605 procedure Set_Flag190 (N : Node_Id; Val : Boolean) is
7606 begin
7607 pragma Assert (not Locked);
7608 pragma Assert (Nkind (N) in N_Entity);
7609 To_Flag_Word4_Ptr
7610 (Union_Id_Ptr'
7611 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag190 := Val;
7612 end Set_Flag190;
7613
7614 procedure Set_Flag191 (N : Node_Id; Val : Boolean) is
7615 begin
7616 pragma Assert (not Locked);
7617 pragma Assert (Nkind (N) in N_Entity);
7618 To_Flag_Word4_Ptr
7619 (Union_Id_Ptr'
7620 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag191 := Val;
7621 end Set_Flag191;
7622
7623 procedure Set_Flag192 (N : Node_Id; Val : Boolean) is
7624 begin
7625 pragma Assert (not Locked);
7626 pragma Assert (Nkind (N) in N_Entity);
7627 To_Flag_Word4_Ptr
7628 (Union_Id_Ptr'
7629 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag192 := Val;
7630 end Set_Flag192;
7631
7632 procedure Set_Flag193 (N : Node_Id; Val : Boolean) is
7633 begin
7634 pragma Assert (not Locked);
7635 pragma Assert (Nkind (N) in N_Entity);
7636 To_Flag_Word4_Ptr
7637 (Union_Id_Ptr'
7638 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag193 := Val;
7639 end Set_Flag193;
7640
7641 procedure Set_Flag194 (N : Node_Id; Val : Boolean) is
7642 begin
7643 pragma Assert (not Locked);
7644 pragma Assert (Nkind (N) in N_Entity);
7645 To_Flag_Word4_Ptr
7646 (Union_Id_Ptr'
7647 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag194 := Val;
7648 end Set_Flag194;
7649
7650 procedure Set_Flag195 (N : Node_Id; Val : Boolean) is
7651 begin
7652 pragma Assert (not Locked);
7653 pragma Assert (Nkind (N) in N_Entity);
7654 To_Flag_Word4_Ptr
7655 (Union_Id_Ptr'
7656 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag195 := Val;
7657 end Set_Flag195;
7658
7659 procedure Set_Flag196 (N : Node_Id; Val : Boolean) is
7660 begin
7661 pragma Assert (not Locked);
7662 pragma Assert (Nkind (N) in N_Entity);
7663 To_Flag_Word4_Ptr
7664 (Union_Id_Ptr'
7665 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag196 := Val;
7666 end Set_Flag196;
7667
7668 procedure Set_Flag197 (N : Node_Id; Val : Boolean) is
7669 begin
7670 pragma Assert (not Locked);
7671 pragma Assert (Nkind (N) in N_Entity);
7672 To_Flag_Word4_Ptr
7673 (Union_Id_Ptr'
7674 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag197 := Val;
7675 end Set_Flag197;
7676
7677 procedure Set_Flag198 (N : Node_Id; Val : Boolean) is
7678 begin
7679 pragma Assert (not Locked);
7680 pragma Assert (Nkind (N) in N_Entity);
7681 To_Flag_Word4_Ptr
7682 (Union_Id_Ptr'
7683 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag198 := Val;
7684 end Set_Flag198;
7685
7686 procedure Set_Flag199 (N : Node_Id; Val : Boolean) is
7687 begin
7688 pragma Assert (not Locked);
7689 pragma Assert (Nkind (N) in N_Entity);
7690 To_Flag_Word4_Ptr
7691 (Union_Id_Ptr'
7692 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag199 := Val;
7693 end Set_Flag199;
7694
7695 procedure Set_Flag200 (N : Node_Id; Val : Boolean) is
7696 begin
7697 pragma Assert (not Locked);
7698 pragma Assert (Nkind (N) in N_Entity);
7699 To_Flag_Word4_Ptr
7700 (Union_Id_Ptr'
7701 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag200 := Val;
7702 end Set_Flag200;
7703
7704 procedure Set_Flag201 (N : Node_Id; Val : Boolean) is
7705 begin
7706 pragma Assert (not Locked);
7707 pragma Assert (Nkind (N) in N_Entity);
7708 To_Flag_Word4_Ptr
7709 (Union_Id_Ptr'
7710 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag201 := Val;
7711 end Set_Flag201;
7712
7713 procedure Set_Flag202 (N : Node_Id; Val : Boolean) is
7714 begin
7715 pragma Assert (not Locked);
7716 pragma Assert (Nkind (N) in N_Entity);
7717 To_Flag_Word4_Ptr
7718 (Union_Id_Ptr'
7719 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag202 := Val;
7720 end Set_Flag202;
7721
7722 procedure Set_Flag203 (N : Node_Id; Val : Boolean) is
7723 begin
7724 pragma Assert (not Locked);
7725 pragma Assert (Nkind (N) in N_Entity);
7726 To_Flag_Word4_Ptr
7727 (Union_Id_Ptr'
7728 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag203 := Val;
7729 end Set_Flag203;
7730
7731 procedure Set_Flag204 (N : Node_Id; Val : Boolean) is
7732 begin
7733 pragma Assert (not Locked);
7734 pragma Assert (Nkind (N) in N_Entity);
7735 To_Flag_Word4_Ptr
7736 (Union_Id_Ptr'
7737 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag204 := Val;
7738 end Set_Flag204;
7739
7740 procedure Set_Flag205 (N : Node_Id; Val : Boolean) is
7741 begin
7742 pragma Assert (not Locked);
7743 pragma Assert (Nkind (N) in N_Entity);
7744 To_Flag_Word4_Ptr
7745 (Union_Id_Ptr'
7746 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag205 := Val;
7747 end Set_Flag205;
7748
7749 procedure Set_Flag206 (N : Node_Id; Val : Boolean) is
7750 begin
7751 pragma Assert (not Locked);
7752 pragma Assert (Nkind (N) in N_Entity);
7753 To_Flag_Word4_Ptr
7754 (Union_Id_Ptr'
7755 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag206 := Val;
7756 end Set_Flag206;
7757
7758 procedure Set_Flag207 (N : Node_Id; Val : Boolean) is
7759 begin
7760 pragma Assert (not Locked);
7761 pragma Assert (Nkind (N) in N_Entity);
7762 To_Flag_Word4_Ptr
7763 (Union_Id_Ptr'
7764 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag207 := Val;
7765 end Set_Flag207;
7766
7767 procedure Set_Flag208 (N : Node_Id; Val : Boolean) is
7768 begin
7769 pragma Assert (not Locked);
7770 pragma Assert (Nkind (N) in N_Entity);
7771 To_Flag_Word4_Ptr
7772 (Union_Id_Ptr'
7773 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag208 := Val;
7774 end Set_Flag208;
7775
7776 procedure Set_Flag209 (N : Node_Id; Val : Boolean) is
7777 begin
7778 pragma Assert (not Locked);
7779 pragma Assert (Nkind (N) in N_Entity);
7780 To_Flag_Word4_Ptr
7781 (Union_Id_Ptr'
7782 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag209 := Val;
7783 end Set_Flag209;
7784
7785 procedure Set_Flag210 (N : Node_Id; Val : Boolean) is
7786 begin
7787 pragma Assert (not Locked);
7788 pragma Assert (Nkind (N) in N_Entity);
7789 To_Flag_Word4_Ptr
7790 (Union_Id_Ptr'
7791 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag210 := Val;
7792 end Set_Flag210;
7793
7794 procedure Set_Flag211 (N : Node_Id; Val : Boolean) is
7795 begin
7796 pragma Assert (not Locked);
7797 pragma Assert (Nkind (N) in N_Entity);
7798 To_Flag_Word4_Ptr
7799 (Union_Id_Ptr'
7800 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag211 := Val;
7801 end Set_Flag211;
7802
7803 procedure Set_Flag212 (N : Node_Id; Val : Boolean) is
7804 begin
7805 pragma Assert (not Locked);
7806 pragma Assert (Nkind (N) in N_Entity);
7807 To_Flag_Word4_Ptr
7808 (Union_Id_Ptr'
7809 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag212 := Val;
7810 end Set_Flag212;
7811
7812 procedure Set_Flag213 (N : Node_Id; Val : Boolean) is
7813 begin
7814 pragma Assert (not Locked);
7815 pragma Assert (Nkind (N) in N_Entity);
7816 To_Flag_Word4_Ptr
7817 (Union_Id_Ptr'
7818 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag213 := Val;
7819 end Set_Flag213;
7820
7821 procedure Set_Flag214 (N : Node_Id; Val : Boolean) is
7822 begin
7823 pragma Assert (not Locked);
7824 pragma Assert (Nkind (N) in N_Entity);
7825 To_Flag_Word4_Ptr
7826 (Union_Id_Ptr'
7827 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag214 := Val;
7828 end Set_Flag214;
7829
7830 procedure Set_Flag215 (N : Node_Id; Val : Boolean) is
7831 begin
7832 pragma Assert (not Locked);
7833 pragma Assert (Nkind (N) in N_Entity);
7834 To_Flag_Word4_Ptr
7835 (Union_Id_Ptr'
7836 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag215 := Val;
7837 end Set_Flag215;
7838
7839 procedure Set_Flag216 (N : Node_Id; Val : Boolean) is
7840 begin
7841 pragma Assert (not Locked);
7842 pragma Assert (Nkind (N) in N_Entity);
7843 Nodes.Table (N + 4).In_List := Val;
7844 end Set_Flag216;
7845
7846 procedure Set_Flag217 (N : Node_Id; Val : Boolean) is
7847 begin
7848 pragma Assert (not Locked);
7849 pragma Assert (Nkind (N) in N_Entity);
7850 Nodes.Table (N + 4).Has_Aspects := Val;
7851 end Set_Flag217;
7852
7853 procedure Set_Flag218 (N : Node_Id; Val : Boolean) is
7854 begin
7855 pragma Assert (not Locked);
7856 pragma Assert (Nkind (N) in N_Entity);
7857 Nodes.Table (N + 4).Rewrite_Ins := Val;
7858 end Set_Flag218;
7859
7860 procedure Set_Flag219 (N : Node_Id; Val : Boolean) is
7861 begin
7862 pragma Assert (not Locked);
7863 pragma Assert (Nkind (N) in N_Entity);
7864 Nodes.Table (N + 4).Analyzed := Val;
7865 end Set_Flag219;
7866
7867 procedure Set_Flag220 (N : Node_Id; Val : Boolean) is
7868 begin
7869 pragma Assert (not Locked);
7870 pragma Assert (Nkind (N) in N_Entity);
7871 Nodes.Table (N + 4).Comes_From_Source := Val;
7872 end Set_Flag220;
7873
7874 procedure Set_Flag221 (N : Node_Id; Val : Boolean) is
7875 begin
7876 pragma Assert (not Locked);
7877 pragma Assert (Nkind (N) in N_Entity);
7878 Nodes.Table (N + 4).Error_Posted := Val;
7879 end Set_Flag221;
7880
7881 procedure Set_Flag222 (N : Node_Id; Val : Boolean) is
7882 begin
7883 pragma Assert (not Locked);
7884 pragma Assert (Nkind (N) in N_Entity);
7885 Nodes.Table (N + 4).Flag4 := Val;
7886 end Set_Flag222;
7887
7888 procedure Set_Flag223 (N : Node_Id; Val : Boolean) is
7889 begin
7890 pragma Assert (not Locked);
7891 pragma Assert (Nkind (N) in N_Entity);
7892 Nodes.Table (N + 4).Flag5 := Val;
7893 end Set_Flag223;
7894
7895 procedure Set_Flag224 (N : Node_Id; Val : Boolean) is
7896 begin
7897 pragma Assert (not Locked);
7898 pragma Assert (Nkind (N) in N_Entity);
7899 Nodes.Table (N + 4).Flag6 := Val;
7900 end Set_Flag224;
7901
7902 procedure Set_Flag225 (N : Node_Id; Val : Boolean) is
7903 begin
7904 pragma Assert (not Locked);
7905 pragma Assert (Nkind (N) in N_Entity);
7906 Nodes.Table (N + 4).Flag7 := Val;
7907 end Set_Flag225;
7908
7909 procedure Set_Flag226 (N : Node_Id; Val : Boolean) is
7910 begin
7911 pragma Assert (not Locked);
7912 pragma Assert (Nkind (N) in N_Entity);
7913 Nodes.Table (N + 4).Flag8 := Val;
7914 end Set_Flag226;
7915
7916 procedure Set_Flag227 (N : Node_Id; Val : Boolean) is
7917 begin
7918 pragma Assert (not Locked);
7919 pragma Assert (Nkind (N) in N_Entity);
7920 Nodes.Table (N + 4).Flag9 := Val;
7921 end Set_Flag227;
7922
7923 procedure Set_Flag228 (N : Node_Id; Val : Boolean) is
7924 begin
7925 pragma Assert (not Locked);
7926 pragma Assert (Nkind (N) in N_Entity);
7927 Nodes.Table (N + 4).Flag10 := Val;
7928 end Set_Flag228;
7929
7930 procedure Set_Flag229 (N : Node_Id; Val : Boolean) is
7931 begin
7932 pragma Assert (not Locked);
7933 pragma Assert (Nkind (N) in N_Entity);
7934 Nodes.Table (N + 4).Flag11 := Val;
7935 end Set_Flag229;
7936
7937 procedure Set_Flag230 (N : Node_Id; Val : Boolean) is
7938 begin
7939 pragma Assert (not Locked);
7940 pragma Assert (Nkind (N) in N_Entity);
7941 Nodes.Table (N + 4).Flag12 := Val;
7942 end Set_Flag230;
7943
7944 procedure Set_Flag231 (N : Node_Id; Val : Boolean) is
7945 begin
7946 pragma Assert (not Locked);
7947 pragma Assert (Nkind (N) in N_Entity);
7948 Nodes.Table (N + 4).Flag13 := Val;
7949 end Set_Flag231;
7950
7951 procedure Set_Flag232 (N : Node_Id; Val : Boolean) is
7952 begin
7953 pragma Assert (not Locked);
7954 pragma Assert (Nkind (N) in N_Entity);
7955 Nodes.Table (N + 4).Flag14 := Val;
7956 end Set_Flag232;
7957
7958 procedure Set_Flag233 (N : Node_Id; Val : Boolean) is
7959 begin
7960 pragma Assert (not Locked);
7961 pragma Assert (Nkind (N) in N_Entity);
7962 Nodes.Table (N + 4).Flag15 := Val;
7963 end Set_Flag233;
7964
7965 procedure Set_Flag234 (N : Node_Id; Val : Boolean) is
7966 begin
7967 pragma Assert (not Locked);
7968 pragma Assert (Nkind (N) in N_Entity);
7969 Nodes.Table (N + 4).Flag16 := Val;
7970 end Set_Flag234;
7971
7972 procedure Set_Flag235 (N : Node_Id; Val : Boolean) is
7973 begin
7974 pragma Assert (not Locked);
7975 pragma Assert (Nkind (N) in N_Entity);
7976 Nodes.Table (N + 4).Flag17 := Val;
7977 end Set_Flag235;
7978
7979 procedure Set_Flag236 (N : Node_Id; Val : Boolean) is
7980 begin
7981 pragma Assert (not Locked);
7982 pragma Assert (Nkind (N) in N_Entity);
7983 Nodes.Table (N + 4).Flag18 := Val;
7984 end Set_Flag236;
7985
7986 procedure Set_Flag237 (N : Node_Id; Val : Boolean) is
7987 begin
7988 pragma Assert (not Locked);
7989 pragma Assert (Nkind (N) in N_Entity);
7990 Nodes.Table (N + 4).Pflag1 := Val;
7991 end Set_Flag237;
7992
7993 procedure Set_Flag238 (N : Node_Id; Val : Boolean) is
7994 begin
7995 pragma Assert (not Locked);
7996 pragma Assert (Nkind (N) in N_Entity);
7997 Nodes.Table (N + 4).Pflag2 := Val;
7998 end Set_Flag238;
7999
8000 procedure Set_Flag239 (N : Node_Id; Val : Boolean) is
8001 begin
8002 pragma Assert (not Locked);
8003 pragma Assert (Nkind (N) in N_Entity);
8004 To_Flag_Byte2_Ptr
8005 (Node_Kind_Ptr'
8006 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag239 := Val;
8007 end Set_Flag239;
8008
8009 procedure Set_Flag240 (N : Node_Id; Val : Boolean) is
8010 begin
8011 pragma Assert (not Locked);
8012 pragma Assert (Nkind (N) in N_Entity);
8013 To_Flag_Byte2_Ptr
8014 (Node_Kind_Ptr'
8015 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag240 := Val;
8016 end Set_Flag240;
8017
8018 procedure Set_Flag241 (N : Node_Id; Val : Boolean) is
8019 begin
8020 pragma Assert (not Locked);
8021 pragma Assert (Nkind (N) in N_Entity);
8022 To_Flag_Byte2_Ptr
8023 (Node_Kind_Ptr'
8024 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag241 := Val;
8025 end Set_Flag241;
8026
8027 procedure Set_Flag242 (N : Node_Id; Val : Boolean) is
8028 begin
8029 pragma Assert (not Locked);
8030 pragma Assert (Nkind (N) in N_Entity);
8031 To_Flag_Byte2_Ptr
8032 (Node_Kind_Ptr'
8033 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag242 := Val;
8034 end Set_Flag242;
8035
8036 procedure Set_Flag243 (N : Node_Id; Val : Boolean) is
8037 begin
8038 pragma Assert (not Locked);
8039 pragma Assert (Nkind (N) in N_Entity);
8040 To_Flag_Byte2_Ptr
8041 (Node_Kind_Ptr'
8042 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag243 := Val;
8043 end Set_Flag243;
8044
8045 procedure Set_Flag244 (N : Node_Id; Val : Boolean) is
8046 begin
8047 pragma Assert (not Locked);
8048 pragma Assert (Nkind (N) in N_Entity);
8049 To_Flag_Byte2_Ptr
8050 (Node_Kind_Ptr'
8051 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag244 := Val;
8052 end Set_Flag244;
8053
8054 procedure Set_Flag245 (N : Node_Id; Val : Boolean) is
8055 begin
8056 pragma Assert (not Locked);
8057 pragma Assert (Nkind (N) in N_Entity);
8058 To_Flag_Byte2_Ptr
8059 (Node_Kind_Ptr'
8060 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag245 := Val;
8061 end Set_Flag245;
8062
8063 procedure Set_Flag246 (N : Node_Id; Val : Boolean) is
8064 begin
8065 pragma Assert (not Locked);
8066 pragma Assert (Nkind (N) in N_Entity);
8067 To_Flag_Byte2_Ptr
8068 (Node_Kind_Ptr'
8069 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag246 := Val;
8070 end Set_Flag246;
8071
8072 procedure Set_Flag247 (N : Node_Id; Val : Boolean) is
8073 begin
8074 pragma Assert (not Locked);
8075 pragma Assert (Nkind (N) in N_Entity);
8076 To_Flag_Byte3_Ptr
8077 (Node_Kind_Ptr'
8078 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag247 := Val;
8079 end Set_Flag247;
8080
8081 procedure Set_Flag248 (N : Node_Id; Val : Boolean) is
8082 begin
8083 pragma Assert (not Locked);
8084 pragma Assert (Nkind (N) in N_Entity);
8085 To_Flag_Byte3_Ptr
8086 (Node_Kind_Ptr'
8087 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag248 := Val;
8088 end Set_Flag248;
8089
8090 procedure Set_Flag249 (N : Node_Id; Val : Boolean) is
8091 begin
8092 pragma Assert (not Locked);
8093 pragma Assert (Nkind (N) in N_Entity);
8094 To_Flag_Byte3_Ptr
8095 (Node_Kind_Ptr'
8096 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag249 := Val;
8097 end Set_Flag249;
8098
8099 procedure Set_Flag250 (N : Node_Id; Val : Boolean) is
8100 begin
8101 pragma Assert (not Locked);
8102 pragma Assert (Nkind (N) in N_Entity);
8103 To_Flag_Byte3_Ptr
8104 (Node_Kind_Ptr'
8105 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag250 := Val;
8106 end Set_Flag250;
8107
8108 procedure Set_Flag251 (N : Node_Id; Val : Boolean) is
8109 begin
8110 pragma Assert (not Locked);
8111 pragma Assert (Nkind (N) in N_Entity);
8112 To_Flag_Byte3_Ptr
8113 (Node_Kind_Ptr'
8114 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag251 := Val;
8115 end Set_Flag251;
8116
8117 procedure Set_Flag252 (N : Node_Id; Val : Boolean) is
8118 begin
8119 pragma Assert (not Locked);
8120 pragma Assert (Nkind (N) in N_Entity);
8121 To_Flag_Byte3_Ptr
8122 (Node_Kind_Ptr'
8123 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag252 := Val;
8124 end Set_Flag252;
8125
8126 procedure Set_Flag253 (N : Node_Id; Val : Boolean) is
8127 begin
8128 pragma Assert (not Locked);
8129 pragma Assert (Nkind (N) in N_Entity);
8130 To_Flag_Byte3_Ptr
8131 (Node_Kind_Ptr'
8132 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag253 := Val;
8133 end Set_Flag253;
8134
8135 procedure Set_Flag254 (N : Node_Id; Val : Boolean) is
8136 begin
8137 pragma Assert (not Locked);
8138 pragma Assert (Nkind (N) in N_Entity);
8139 To_Flag_Byte3_Ptr
8140 (Node_Kind_Ptr'
8141 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag254 := Val;
8142 end Set_Flag254;
8143
8144 procedure Set_Flag255 (N : Node_Id; Val : Boolean) is
8145 begin
8146 pragma Assert (not Locked);
8147 pragma Assert (Nkind (N) in N_Entity);
8148 To_Flag_Word5_Ptr
8149 (Union_Id_Ptr'
8150 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag255 := Val;
8151 end Set_Flag255;
8152
8153 procedure Set_Flag256 (N : Node_Id; Val : Boolean) is
8154 begin
8155 pragma Assert (not Locked);
8156 pragma Assert (Nkind (N) in N_Entity);
8157 To_Flag_Word5_Ptr
8158 (Union_Id_Ptr'
8159 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag256 := Val;
8160 end Set_Flag256;
8161
8162 procedure Set_Flag257 (N : Node_Id; Val : Boolean) is
8163 begin
8164 pragma Assert (not Locked);
8165 pragma Assert (Nkind (N) in N_Entity);
8166 To_Flag_Word5_Ptr
8167 (Union_Id_Ptr'
8168 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag257 := Val;
8169 end Set_Flag257;
8170
8171 procedure Set_Flag258 (N : Node_Id; Val : Boolean) is
8172 begin
8173 pragma Assert (not Locked);
8174 pragma Assert (Nkind (N) in N_Entity);
8175 To_Flag_Word5_Ptr
8176 (Union_Id_Ptr'
8177 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag258 := Val;
8178 end Set_Flag258;
8179
8180 procedure Set_Flag259 (N : Node_Id; Val : Boolean) is
8181 begin
8182 pragma Assert (not Locked);
8183 pragma Assert (Nkind (N) in N_Entity);
8184 To_Flag_Word5_Ptr
8185 (Union_Id_Ptr'
8186 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag259 := Val;
8187 end Set_Flag259;
8188
8189 procedure Set_Flag260 (N : Node_Id; Val : Boolean) is
8190 begin
8191 pragma Assert (not Locked);
8192 pragma Assert (Nkind (N) in N_Entity);
8193 To_Flag_Word5_Ptr
8194 (Union_Id_Ptr'
8195 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag260 := Val;
8196 end Set_Flag260;
8197
8198 procedure Set_Flag261 (N : Node_Id; Val : Boolean) is
8199 begin
8200 pragma Assert (not Locked);
8201 pragma Assert (Nkind (N) in N_Entity);
8202 To_Flag_Word5_Ptr
8203 (Union_Id_Ptr'
8204 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag261 := Val;
8205 end Set_Flag261;
8206
8207 procedure Set_Flag262 (N : Node_Id; Val : Boolean) is
8208 begin
8209 pragma Assert (not Locked);
8210 pragma Assert (Nkind (N) in N_Entity);
8211 To_Flag_Word5_Ptr
8212 (Union_Id_Ptr'
8213 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag262 := Val;
8214 end Set_Flag262;
8215
8216 procedure Set_Flag263 (N : Node_Id; Val : Boolean) is
8217 begin
8218 pragma Assert (not Locked);
8219 pragma Assert (Nkind (N) in N_Entity);
8220 To_Flag_Word5_Ptr
8221 (Union_Id_Ptr'
8222 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag263 := Val;
8223 end Set_Flag263;
8224
8225 procedure Set_Flag264 (N : Node_Id; Val : Boolean) is
8226 begin
8227 pragma Assert (not Locked);
8228 pragma Assert (Nkind (N) in N_Entity);
8229 To_Flag_Word5_Ptr
8230 (Union_Id_Ptr'
8231 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag264 := Val;
8232 end Set_Flag264;
8233
8234 procedure Set_Flag265 (N : Node_Id; Val : Boolean) is
8235 begin
8236 pragma Assert (not Locked);
8237 pragma Assert (Nkind (N) in N_Entity);
8238 To_Flag_Word5_Ptr
8239 (Union_Id_Ptr'
8240 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag265 := Val;
8241 end Set_Flag265;
8242
8243 procedure Set_Flag266 (N : Node_Id; Val : Boolean) is
8244 begin
8245 pragma Assert (not Locked);
8246 pragma Assert (Nkind (N) in N_Entity);
8247 To_Flag_Word5_Ptr
8248 (Union_Id_Ptr'
8249 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag266 := Val;
8250 end Set_Flag266;
8251
8252 procedure Set_Flag267 (N : Node_Id; Val : Boolean) is
8253 begin
8254 pragma Assert (not Locked);
8255 pragma Assert (Nkind (N) in N_Entity);
8256 To_Flag_Word5_Ptr
8257 (Union_Id_Ptr'
8258 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag267 := Val;
8259 end Set_Flag267;
8260
8261 procedure Set_Flag268 (N : Node_Id; Val : Boolean) is
8262 begin
8263 pragma Assert (not Locked);
8264 pragma Assert (Nkind (N) in N_Entity);
8265 To_Flag_Word5_Ptr
8266 (Union_Id_Ptr'
8267 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag268 := Val;
8268 end Set_Flag268;
8269
8270 procedure Set_Flag269 (N : Node_Id; Val : Boolean) is
8271 begin
8272 pragma Assert (not Locked);
8273 pragma Assert (Nkind (N) in N_Entity);
8274 To_Flag_Word5_Ptr
8275 (Union_Id_Ptr'
8276 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag269 := Val;
8277 end Set_Flag269;
8278
8279 procedure Set_Flag270 (N : Node_Id; Val : Boolean) is
8280 begin
8281 pragma Assert (not Locked);
8282 pragma Assert (Nkind (N) in N_Entity);
8283 To_Flag_Word5_Ptr
8284 (Union_Id_Ptr'
8285 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag270 := Val;
8286 end Set_Flag270;
8287
8288 procedure Set_Flag271 (N : Node_Id; Val : Boolean) is
8289 begin
8290 pragma Assert (not Locked);
8291 pragma Assert (Nkind (N) in N_Entity);
8292 To_Flag_Word5_Ptr
8293 (Union_Id_Ptr'
8294 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag271 := Val;
8295 end Set_Flag271;
8296
8297 procedure Set_Flag272 (N : Node_Id; Val : Boolean) is
8298 begin
8299 pragma Assert (not Locked);
8300 pragma Assert (Nkind (N) in N_Entity);
8301 To_Flag_Word5_Ptr
8302 (Union_Id_Ptr'
8303 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag272 := Val;
8304 end Set_Flag272;
8305
8306 procedure Set_Flag273 (N : Node_Id; Val : Boolean) is
8307 begin
8308 pragma Assert (not Locked);
8309 pragma Assert (Nkind (N) in N_Entity);
8310 To_Flag_Word5_Ptr
8311 (Union_Id_Ptr'
8312 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag273 := Val;
8313 end Set_Flag273;
8314
8315 procedure Set_Flag274 (N : Node_Id; Val : Boolean) is
8316 begin
8317 pragma Assert (not Locked);
8318 pragma Assert (Nkind (N) in N_Entity);
8319 To_Flag_Word5_Ptr
8320 (Union_Id_Ptr'
8321 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag274 := Val;
8322 end Set_Flag274;
8323
8324 procedure Set_Flag275 (N : Node_Id; Val : Boolean) is
8325 begin
8326 pragma Assert (not Locked);
8327 pragma Assert (Nkind (N) in N_Entity);
8328 To_Flag_Word5_Ptr
8329 (Union_Id_Ptr'
8330 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag275 := Val;
8331 end Set_Flag275;
8332
8333 procedure Set_Flag276 (N : Node_Id; Val : Boolean) is
8334 begin
8335 pragma Assert (not Locked);
8336 pragma Assert (Nkind (N) in N_Entity);
8337 To_Flag_Word5_Ptr
8338 (Union_Id_Ptr'
8339 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag276 := Val;
8340 end Set_Flag276;
8341
8342 procedure Set_Flag277 (N : Node_Id; Val : Boolean) is
8343 begin
8344 pragma Assert (not Locked);
8345 pragma Assert (Nkind (N) in N_Entity);
8346 To_Flag_Word5_Ptr
8347 (Union_Id_Ptr'
8348 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag277 := Val;
8349 end Set_Flag277;
8350
8351 procedure Set_Flag278 (N : Node_Id; Val : Boolean) is
8352 begin
8353 pragma Assert (not Locked);
8354 pragma Assert (Nkind (N) in N_Entity);
8355 To_Flag_Word5_Ptr
8356 (Union_Id_Ptr'
8357 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag278 := Val;
8358 end Set_Flag278;
8359
8360 procedure Set_Flag279 (N : Node_Id; Val : Boolean) is
8361 begin
8362 pragma Assert (not Locked);
8363 pragma Assert (Nkind (N) in N_Entity);
8364 To_Flag_Word5_Ptr
8365 (Union_Id_Ptr'
8366 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag279 := Val;
8367 end Set_Flag279;
8368
8369 procedure Set_Flag280 (N : Node_Id; Val : Boolean) is
8370 begin
8371 pragma Assert (not Locked);
8372 pragma Assert (Nkind (N) in N_Entity);
8373 To_Flag_Word5_Ptr
8374 (Union_Id_Ptr'
8375 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag280 := Val;
8376 end Set_Flag280;
8377
8378 procedure Set_Flag281 (N : Node_Id; Val : Boolean) is
8379 begin
8380 pragma Assert (not Locked);
8381 pragma Assert (Nkind (N) in N_Entity);
8382 To_Flag_Word5_Ptr
8383 (Union_Id_Ptr'
8384 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag281 := Val;
8385 end Set_Flag281;
8386
8387 procedure Set_Flag282 (N : Node_Id; Val : Boolean) is
8388 begin
8389 pragma Assert (not Locked);
8390 pragma Assert (Nkind (N) in N_Entity);
8391 To_Flag_Word5_Ptr
8392 (Union_Id_Ptr'
8393 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag282 := Val;
8394 end Set_Flag282;
8395
8396 procedure Set_Flag283 (N : Node_Id; Val : Boolean) is
8397 begin
8398 pragma Assert (not Locked);
8399 pragma Assert (Nkind (N) in N_Entity);
8400 To_Flag_Word5_Ptr
8401 (Union_Id_Ptr'
8402 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag283 := Val;
8403 end Set_Flag283;
8404
8405 procedure Set_Flag284 (N : Node_Id; Val : Boolean) is
8406 begin
8407 pragma Assert (not Locked);
8408 pragma Assert (Nkind (N) in N_Entity);
8409 To_Flag_Word5_Ptr
8410 (Union_Id_Ptr'
8411 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag284 := Val;
8412 end Set_Flag284;
8413
8414 procedure Set_Flag285 (N : Node_Id; Val : Boolean) is
8415 begin
8416 pragma Assert (not Locked);
8417 pragma Assert (Nkind (N) in N_Entity);
8418 To_Flag_Word5_Ptr
8419 (Union_Id_Ptr'
8420 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag285 := Val;
8421 end Set_Flag285;
8422
8423 procedure Set_Flag286 (N : Node_Id; Val : Boolean) is
8424 begin
8425 pragma Assert (not Locked);
8426 pragma Assert (Nkind (N) in N_Entity);
8427 To_Flag_Word5_Ptr
8428 (Union_Id_Ptr'
8429 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag286 := Val;
8430 end Set_Flag286;
8431
8432 procedure Set_Flag287 (N : Node_Id; Val : Boolean) is
8433 begin
8434 pragma Assert (not Locked);
8435 pragma Assert (Nkind (N) in N_Entity);
8436 Nodes.Table (N + 5).In_List := Val;
8437 end Set_Flag287;
8438
8439 procedure Set_Flag288 (N : Node_Id; Val : Boolean) is
8440 begin
8441 pragma Assert (not Locked);
8442 pragma Assert (Nkind (N) in N_Entity);
8443 Nodes.Table (N + 5).Has_Aspects := Val;
8444 end Set_Flag288;
8445
8446 procedure Set_Flag289 (N : Node_Id; Val : Boolean) is
8447 begin
8448 pragma Assert (not Locked);
8449 pragma Assert (Nkind (N) in N_Entity);
8450 Nodes.Table (N + 5).Rewrite_Ins := Val;
8451 end Set_Flag289;
8452
8453 procedure Set_Flag290 (N : Node_Id; Val : Boolean) is
8454 begin
8455 pragma Assert (not Locked);
8456 pragma Assert (Nkind (N) in N_Entity);
8457 Nodes.Table (N + 5).Analyzed := Val;
8458 end Set_Flag290;
8459
8460 procedure Set_Flag291 (N : Node_Id; Val : Boolean) is
8461 begin
8462 pragma Assert (not Locked);
8463 pragma Assert (Nkind (N) in N_Entity);
8464 Nodes.Table (N + 5).Comes_From_Source := Val;
8465 end Set_Flag291;
8466
8467 procedure Set_Flag292 (N : Node_Id; Val : Boolean) is
8468 begin
8469 pragma Assert (not Locked);
8470 pragma Assert (Nkind (N) in N_Entity);
8471 Nodes.Table (N + 5).Error_Posted := Val;
8472 end Set_Flag292;
8473
8474 procedure Set_Flag293 (N : Node_Id; Val : Boolean) is
8475 begin
8476 pragma Assert (not Locked);
8477 pragma Assert (Nkind (N) in N_Entity);
8478 Nodes.Table (N + 5).Flag4 := Val;
8479 end Set_Flag293;
8480
8481 procedure Set_Flag294 (N : Node_Id; Val : Boolean) is
8482 begin
8483 pragma Assert (not Locked);
8484 pragma Assert (Nkind (N) in N_Entity);
8485 Nodes.Table (N + 5).Flag5 := Val;
8486 end Set_Flag294;
8487
8488 procedure Set_Flag295 (N : Node_Id; Val : Boolean) is
8489 begin
8490 pragma Assert (not Locked);
8491 pragma Assert (Nkind (N) in N_Entity);
8492 Nodes.Table (N + 5).Flag6 := Val;
8493 end Set_Flag295;
8494
8495 procedure Set_Flag296 (N : Node_Id; Val : Boolean) is
8496 begin
8497 pragma Assert (not Locked);
8498 pragma Assert (Nkind (N) in N_Entity);
8499 Nodes.Table (N + 5).Flag7 := Val;
8500 end Set_Flag296;
8501
8502 procedure Set_Flag297 (N : Node_Id; Val : Boolean) is
8503 begin
8504 pragma Assert (not Locked);
8505 pragma Assert (Nkind (N) in N_Entity);
8506 Nodes.Table (N + 5).Flag8 := Val;
8507 end Set_Flag297;
8508
8509 procedure Set_Flag298 (N : Node_Id; Val : Boolean) is
8510 begin
8511 pragma Assert (not Locked);
8512 pragma Assert (Nkind (N) in N_Entity);
8513 Nodes.Table (N + 5).Flag9 := Val;
8514 end Set_Flag298;
8515
8516 procedure Set_Flag299 (N : Node_Id; Val : Boolean) is
8517 begin
8518 pragma Assert (not Locked);
8519 pragma Assert (Nkind (N) in N_Entity);
8520 Nodes.Table (N + 5).Flag10 := Val;
8521 end Set_Flag299;
8522
8523 procedure Set_Flag300 (N : Node_Id; Val : Boolean) is
8524 begin
8525 pragma Assert (not Locked);
8526 pragma Assert (Nkind (N) in N_Entity);
8527 Nodes.Table (N + 5).Flag11 := Val;
8528 end Set_Flag300;
8529
8530 procedure Set_Flag301 (N : Node_Id; Val : Boolean) is
8531 begin
8532 pragma Assert (not Locked);
8533 pragma Assert (Nkind (N) in N_Entity);
8534 Nodes.Table (N + 5).Flag12 := Val;
8535 end Set_Flag301;
8536
8537 procedure Set_Flag302 (N : Node_Id; Val : Boolean) is
8538 begin
8539 pragma Assert (not Locked);
8540 pragma Assert (Nkind (N) in N_Entity);
8541 Nodes.Table (N + 5).Flag13 := Val;
8542 end Set_Flag302;
8543
8544 procedure Set_Flag303 (N : Node_Id; Val : Boolean) is
8545 begin
8546 pragma Assert (not Locked);
8547 pragma Assert (Nkind (N) in N_Entity);
8548 Nodes.Table (N + 5).Flag14 := Val;
8549 end Set_Flag303;
8550
8551 procedure Set_Flag304 (N : Node_Id; Val : Boolean) is
8552 begin
8553 pragma Assert (not Locked);
8554 pragma Assert (Nkind (N) in N_Entity);
8555 Nodes.Table (N + 5).Flag15 := Val;
8556 end Set_Flag304;
8557
8558 procedure Set_Flag305 (N : Node_Id; Val : Boolean) is
8559 begin
8560 pragma Assert (not Locked);
8561 pragma Assert (Nkind (N) in N_Entity);
8562 Nodes.Table (N + 5).Flag16 := Val;
8563 end Set_Flag305;
8564
8565 procedure Set_Flag306 (N : Node_Id; Val : Boolean) is
8566 begin
8567 pragma Assert (not Locked);
8568 pragma Assert (Nkind (N) in N_Entity);
8569 Nodes.Table (N + 5).Flag17 := Val;
8570 end Set_Flag306;
8571
8572 procedure Set_Flag307 (N : Node_Id; Val : Boolean) is
8573 begin
8574 pragma Assert (not Locked);
8575 pragma Assert (Nkind (N) in N_Entity);
8576 Nodes.Table (N + 5).Flag18 := Val;
8577 end Set_Flag307;
8578
8579 procedure Set_Flag308 (N : Node_Id; Val : Boolean) is
8580 begin
8581 pragma Assert (not Locked);
8582 pragma Assert (Nkind (N) in N_Entity);
8583 Nodes.Table (N + 5).Pflag1 := Val;
8584 end Set_Flag308;
8585
8586 procedure Set_Flag309 (N : Node_Id; Val : Boolean) is
8587 begin
8588 pragma Assert (not Locked);
8589 pragma Assert (Nkind (N) in N_Entity);
8590 Nodes.Table (N + 5).Pflag2 := Val;
8591 end Set_Flag309;
8592
8593 procedure Set_Flag310 (N : Node_Id; Val : Boolean) is
8594 begin
8595 pragma Assert (not Locked);
8596 pragma Assert (Nkind (N) in N_Entity);
8597 To_Flag_Byte4_Ptr
8598 (Node_Kind_Ptr'
8599 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag310 := Val;
8600 end Set_Flag310;
8601
8602 procedure Set_Flag311 (N : Node_Id; Val : Boolean) is
8603 begin
8604 pragma Assert (not Locked);
8605 pragma Assert (Nkind (N) in N_Entity);
8606 To_Flag_Byte4_Ptr
8607 (Node_Kind_Ptr'
8608 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag311 := Val;
8609 end Set_Flag311;
8610
8611 procedure Set_Flag312 (N : Node_Id; Val : Boolean) is
8612 begin
8613 pragma Assert (not Locked);
8614 pragma Assert (Nkind (N) in N_Entity);
8615 To_Flag_Byte4_Ptr
8616 (Node_Kind_Ptr'
8617 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag312 := Val;
8618 end Set_Flag312;
8619
8620 procedure Set_Flag313 (N : Node_Id; Val : Boolean) is
8621 begin
8622 pragma Assert (not Locked);
8623 pragma Assert (Nkind (N) in N_Entity);
8624 To_Flag_Byte4_Ptr
8625 (Node_Kind_Ptr'
8626 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag313 := Val;
8627 end Set_Flag313;
8628
8629 procedure Set_Flag314 (N : Node_Id; Val : Boolean) is
8630 begin
8631 pragma Assert (not Locked);
8632 pragma Assert (Nkind (N) in N_Entity);
8633 To_Flag_Byte4_Ptr
8634 (Node_Kind_Ptr'
8635 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag314 := Val;
8636 end Set_Flag314;
8637
8638 procedure Set_Flag315 (N : Node_Id; Val : Boolean) is
8639 begin
8640 pragma Assert (not Locked);
8641 pragma Assert (Nkind (N) in N_Entity);
8642 To_Flag_Byte4_Ptr
8643 (Node_Kind_Ptr'
8644 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag315 := Val;
8645 end Set_Flag315;
8646
8647 procedure Set_Flag316 (N : Node_Id; Val : Boolean) is
8648 begin
8649 pragma Assert (not Locked);
8650 pragma Assert (Nkind (N) in N_Entity);
8651 To_Flag_Byte4_Ptr
8652 (Node_Kind_Ptr'
8653 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag316 := Val;
8654 end Set_Flag316;
8655
8656 procedure Set_Flag317 (N : Node_Id; Val : Boolean) is
8657 begin
8658 pragma Assert (not Locked);
8659 pragma Assert (Nkind (N) in N_Entity);
8660 To_Flag_Byte4_Ptr
8661 (Node_Kind_Ptr'
8662 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag317 := Val;
8663 end Set_Flag317;
8664
8665 procedure Set_Node1_With_Parent (N : Node_Id; Val : Node_Id) is
8666 begin
8667 pragma Assert (not Locked);
8668 pragma Assert (N <= Nodes.Last);
8669
8670 if Val > Error then
8671 Set_Parent (N => Val, Val => N);
8672 end if;
8673
8674 Set_Node1 (N, Val);
8675 end Set_Node1_With_Parent;
8676
8677 procedure Set_Node2_With_Parent (N : Node_Id; Val : Node_Id) is
8678 begin
8679 pragma Assert (not Locked);
8680 pragma Assert (N <= Nodes.Last);
8681
8682 if Val > Error then
8683 Set_Parent (N => Val, Val => N);
8684 end if;
8685
8686 Set_Node2 (N, Val);
8687 end Set_Node2_With_Parent;
8688
8689 procedure Set_Node3_With_Parent (N : Node_Id; Val : Node_Id) is
8690 begin
8691 pragma Assert (not Locked);
8692 pragma Assert (N <= Nodes.Last);
8693
8694 if Val > Error then
8695 Set_Parent (N => Val, Val => N);
8696 end if;
8697
8698 Set_Node3 (N, Val);
8699 end Set_Node3_With_Parent;
8700
8701 procedure Set_Node4_With_Parent (N : Node_Id; Val : Node_Id) is
8702 begin
8703 pragma Assert (not Locked);
8704 pragma Assert (N <= Nodes.Last);
8705
8706 if Val > Error then
8707 Set_Parent (N => Val, Val => N);
8708 end if;
8709
8710 Set_Node4 (N, Val);
8711 end Set_Node4_With_Parent;
8712
8713 procedure Set_Node5_With_Parent (N : Node_Id; Val : Node_Id) is
8714 begin
8715 pragma Assert (not Locked);
8716 pragma Assert (N <= Nodes.Last);
8717
8718 if Val > Error then
8719 Set_Parent (N => Val, Val => N);
8720 end if;
8721
8722 Set_Node5 (N, Val);
8723 end Set_Node5_With_Parent;
8724
8725 procedure Set_List1_With_Parent (N : Node_Id; Val : List_Id) is
8726 begin
8727 pragma Assert (not Locked);
8728 pragma Assert (N <= Nodes.Last);
8729 if Val /= No_List and then Val /= Error_List then
8730 Set_Parent (Val, N);
8731 end if;
8732 Set_List1 (N, Val);
8733 end Set_List1_With_Parent;
8734
8735 procedure Set_List2_With_Parent (N : Node_Id; Val : List_Id) is
8736 begin
8737 pragma Assert (not Locked);
8738 pragma Assert (N <= Nodes.Last);
8739 if Val /= No_List and then Val /= Error_List then
8740 Set_Parent (Val, N);
8741 end if;
8742 Set_List2 (N, Val);
8743 end Set_List2_With_Parent;
8744
8745 procedure Set_List3_With_Parent (N : Node_Id; Val : List_Id) is
8746 begin
8747 pragma Assert (not Locked);
8748 pragma Assert (N <= Nodes.Last);
8749 if Val /= No_List and then Val /= Error_List then
8750 Set_Parent (Val, N);
8751 end if;
8752 Set_List3 (N, Val);
8753 end Set_List3_With_Parent;
8754
8755 procedure Set_List4_With_Parent (N : Node_Id; Val : List_Id) is
8756 begin
8757 pragma Assert (not Locked);
8758 pragma Assert (N <= Nodes.Last);
8759 if Val /= No_List and then Val /= Error_List then
8760 Set_Parent (Val, N);
8761 end if;
8762 Set_List4 (N, Val);
8763 end Set_List4_With_Parent;
8764
8765 procedure Set_List5_With_Parent (N : Node_Id; Val : List_Id) is
8766 begin
8767 pragma Assert (not Locked);
8768 pragma Assert (N <= Nodes.Last);
8769 if Val /= No_List and then Val /= Error_List then
8770 Set_Parent (Val, N);
8771 end if;
8772 Set_List5 (N, Val);
8773 end Set_List5_With_Parent;
8774
8775 end Unchecked_Access;
8776
8777 ------------
8778 -- Unlock --
8779 ------------
8780
8781 procedure Unlock is
8782 begin
8783 Flags.Locked := False;
8784 Orig_Nodes.Locked := False;
8785 end Unlock;
8786
8787 ------------------
8788 -- Unlock_Nodes --
8789 ------------------
8790
8791 procedure Unlock_Nodes is
8792 begin
8793 pragma Assert (Locked);
8794 Locked := False;
8795 end Unlock_Nodes;
8796
8797 end Atree;