1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2017, Free Software Foundation, Inc. --
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. --
18 -- As a special exception under Section 7 of GPL version 3, you are granted --
19 -- additional permissions described in the GCC Runtime Library Exception, --
20 -- version 3.1, as published by the Free Software Foundation. --
22 -- You should have received a copy of the GNU General Public License and --
23 -- a copy of the GCC Runtime Library Exception along with this program; --
24 -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
25 -- <http://www.gnu.org/licenses/>. --
27 -- GNAT was originally developed by the GNAT team at New York University. --
28 -- Extensive contributions were provided by Ada Core Technologies Inc. --
30 ------------------------------------------------------------------------------
32 pragma Style_Checks
(All_Checks
);
33 -- Turn off subprogram ordering check for this package
35 -- WARNING: There is a C version of this package. Any changes to this source
36 -- file must be properly reflected in the file atree.h which is a C header
37 -- file containing equivalent definitions for use by gigi.
39 with Aspects
; use Aspects
;
40 with Debug
; use Debug
;
41 with Nlists
; use Nlists
;
43 with Output
; use Output
;
44 with Sinput
; use Sinput
;
45 with Tree_IO
; use Tree_IO
;
47 with GNAT
.Heap_Sort_G
;
51 Locked
: Boolean := False;
52 -- Compiling with assertions enabled, node contents modifications are
53 -- permitted only when this switch is set to False; compiling without
54 -- assertions this lock has no effect.
56 Reporting_Proc
: Report_Proc
:= null;
57 -- Record argument to last call to Set_Reporting_Proc
63 -- Suppose you find that node 12345 is messed up. You might want to find
64 -- the code that created that node. There are two ways to do this:
66 -- One way is to set a conditional breakpoint on New_Node_Debugging_Output
68 -- break nnd if n = 12345
69 -- and run gnat1 again from the beginning.
71 -- The other way is to set a breakpoint near the beginning (e.g. on
72 -- gnat1drv), and run. Then set Watch_Node (nickname "ww") to 12345 in gdb:
74 -- and set a breakpoint on New_Node_Breakpoint (nickname "nn"). Continue.
76 -- Either way, gnat1 will stop when node 12345 is created
78 -- The second method is much faster
80 -- Similarly, rr and rrd allow breaking on rewriting of a given node
82 ww
: Node_Id
'Base := Node_Id
'First - 1;
83 pragma Export
(Ada
, ww
); -- trick the optimizer
84 Watch_Node
: Node_Id
'Base renames ww
;
85 -- Node to "watch"; that is, whenever a node is created, we check if it
86 -- is equal to Watch_Node, and if so, call New_Node_Breakpoint. You have
87 -- presumably set a breakpoint on New_Node_Breakpoint. Note that the
88 -- initial value of Node_Id'First - 1 ensures that by default, no node
89 -- will be equal to Watch_Node.
92 pragma Export
(Ada
, nn
);
93 procedure New_Node_Breakpoint
renames nn
;
94 -- This doesn't do anything interesting; it's just for setting breakpoint
95 -- on as explained above.
97 procedure nnd
(N
: Node_Id
);
98 pragma Export
(Ada
, nnd
);
99 procedure New_Node_Debugging_Output
(N
: Node_Id
) renames nnd
;
100 -- For debugging. If debugging is turned on, New_Node and New_Entity call
101 -- this. If debug flag N is turned on, this prints out the new node.
103 -- If Node = Watch_Node, this prints out the new node and calls
104 -- New_Node_Breakpoint. Otherwise, does nothing.
107 pragma Export
(Ada
, rr
);
108 procedure Rewrite_Breakpoint
renames rr
;
109 -- This doesn't do anything interesting; it's just for setting breakpoint
110 -- on as explained above.
112 procedure rrd
(Old_Node
, New_Node
: Node_Id
);
113 pragma Export
(Ada
, rrd
);
114 procedure Rewrite_Debugging_Output
115 (Old_Node
, New_Node
: Node_Id
) renames rrd
;
116 -- For debugging. If debugging is turned on, Rewrite calls this. If debug
117 -- flag N is turned on, this prints out the new node.
119 -- If Old_Node = Watch_Node, this prints out the old and new nodes and
120 -- calls Rewrite_Breakpoint. Otherwise, does nothing.
122 procedure Node_Debug_Output
(Op
: String; N
: Node_Id
);
123 -- Common code for nnd and rrd, writes Op followed by information about N
125 procedure Print_Statistics
;
126 pragma Export
(Ada
, Print_Statistics
);
127 -- Print various statistics on the tables maintained by the package
129 -----------------------------
130 -- Local Objects and Types --
131 -----------------------------
134 -- Count allocated nodes for Num_Nodes function
136 use Unchecked_Access
;
137 -- We are allowed to see these from within our own body
139 use Atree_Private_Part
;
140 -- We are also allowed to see our private data structures
142 -- Functions used to store Entity_Kind value in Nkind field
144 -- The following declarations are used to store flags 65-72 in the
145 -- Nkind field of the third component of an extended (entity) node.
147 type Flag_Byte
is record
158 pragma Pack
(Flag_Byte
);
159 for Flag_Byte
'Size use 8;
161 type Flag_Byte_Ptr
is access all Flag_Byte
;
162 type Node_Kind_Ptr
is access all Node_Kind
;
164 function To_Flag_Byte
is new
165 Unchecked_Conversion
(Node_Kind
, Flag_Byte
);
167 function To_Flag_Byte_Ptr
is new
168 Unchecked_Conversion
(Node_Kind_Ptr
, Flag_Byte_Ptr
);
170 -- The following declarations are used to store flags 239-246 in the
171 -- Nkind field of the fourth component of an extended (entity) node.
173 type Flag_Byte2
is record
184 pragma Pack
(Flag_Byte2
);
185 for Flag_Byte2
'Size use 8;
187 type Flag_Byte2_Ptr
is access all Flag_Byte2
;
189 function To_Flag_Byte2
is new
190 Unchecked_Conversion
(Node_Kind
, Flag_Byte2
);
192 function To_Flag_Byte2_Ptr
is new
193 Unchecked_Conversion
(Node_Kind_Ptr
, Flag_Byte2_Ptr
);
195 -- The following declarations are used to store flags 247-254 in the
196 -- Nkind field of the fifth component of an extended (entity) node.
198 type Flag_Byte3
is record
209 pragma Pack
(Flag_Byte3
);
210 for Flag_Byte3
'Size use 8;
212 type Flag_Byte3_Ptr
is access all Flag_Byte3
;
214 function To_Flag_Byte3
is new
215 Unchecked_Conversion
(Node_Kind
, Flag_Byte3
);
217 function To_Flag_Byte3_Ptr
is new
218 Unchecked_Conversion
(Node_Kind_Ptr
, Flag_Byte3_Ptr
);
220 -- The following declarations are used to store flags 310-317 in the
221 -- Nkind field of the sixth component of an extended (entity) node.
223 type Flag_Byte4
is record
234 pragma Pack
(Flag_Byte4
);
235 for Flag_Byte4
'Size use 8;
237 type Flag_Byte4_Ptr
is access all Flag_Byte4
;
239 function To_Flag_Byte4
is new
240 Unchecked_Conversion
(Node_Kind
, Flag_Byte4
);
242 function To_Flag_Byte4_Ptr
is new
243 Unchecked_Conversion
(Node_Kind_Ptr
, Flag_Byte4_Ptr
);
245 -- The following declarations are used to store flags 73-96 and the
246 -- Convention field in the Field12 field of the third component of an
247 -- extended (Entity) node.
249 type Flag_Word
is record
277 Convention
: Convention_Id
;
280 pragma Pack
(Flag_Word
);
281 for Flag_Word
'Size use 32;
282 for Flag_Word
'Alignment use 4;
284 type Flag_Word_Ptr
is access all Flag_Word
;
285 type Union_Id_Ptr
is access all Union_Id
;
287 function To_Flag_Word
is new
288 Unchecked_Conversion
(Union_Id
, Flag_Word
);
290 function To_Flag_Word_Ptr
is new
291 Unchecked_Conversion
(Union_Id_Ptr
, Flag_Word_Ptr
);
293 -- The following declarations are used to store flags 97-128 in the
294 -- Field12 field of the fourth component of an extended (entity) node.
296 type Flag_Word2
is record
334 pragma Pack
(Flag_Word2
);
335 for Flag_Word2
'Size use 32;
336 for Flag_Word2
'Alignment use 4;
338 type Flag_Word2_Ptr
is access all Flag_Word2
;
340 function To_Flag_Word2
is new
341 Unchecked_Conversion
(Union_Id
, Flag_Word2
);
343 function To_Flag_Word2_Ptr
is new
344 Unchecked_Conversion
(Union_Id_Ptr
, Flag_Word2_Ptr
);
346 -- The following declarations are used to store flags 152-183 in the
347 -- Field11 field of the fourth component of an extended (entity) node.
349 type Flag_Word3
is record
387 pragma Pack
(Flag_Word3
);
388 for Flag_Word3
'Size use 32;
389 for Flag_Word3
'Alignment use 4;
391 type Flag_Word3_Ptr
is access all Flag_Word3
;
393 function To_Flag_Word3
is new
394 Unchecked_Conversion
(Union_Id
, Flag_Word3
);
396 function To_Flag_Word3_Ptr
is new
397 Unchecked_Conversion
(Union_Id_Ptr
, Flag_Word3_Ptr
);
399 -- The following declarations are used to store flags 184-215 in the
400 -- Field12 field of the fifth component of an extended (entity) node.
402 type Flag_Word4
is record
440 pragma Pack
(Flag_Word4
);
441 for Flag_Word4
'Size use 32;
442 for Flag_Word4
'Alignment use 4;
444 type Flag_Word4_Ptr
is access all Flag_Word4
;
446 function To_Flag_Word4
is new
447 Unchecked_Conversion
(Union_Id
, Flag_Word4
);
449 function To_Flag_Word4_Ptr
is new
450 Unchecked_Conversion
(Union_Id_Ptr
, Flag_Word4_Ptr
);
452 -- The following declarations are used to store flags 255-286 in the
453 -- Field12 field of the sixth component of an extended (entity) node.
455 type Flag_Word5
is record
493 pragma Pack
(Flag_Word5
);
494 for Flag_Word5
'Size use 32;
495 for Flag_Word5
'Alignment use 4;
497 type Flag_Word5_Ptr
is access all Flag_Word5
;
499 function To_Flag_Word5
is new
500 Unchecked_Conversion
(Union_Id
, Flag_Word5
);
502 function To_Flag_Word5_Ptr
is new
503 Unchecked_Conversion
(Union_Id_Ptr
, Flag_Word5_Ptr
);
505 --------------------------------------------------
506 -- Implementation of Tree Substitution Routines --
507 --------------------------------------------------
509 -- A separate table keeps track of the mapping between rewritten nodes
510 -- and their corresponding original tree nodes. Rewrite makes an entry
511 -- in this table for use by Original_Node. By default, if no call is
512 -- Rewrite, the entry in this table points to the original unwritten node.
514 -- Note: eventually, this should be a field in the Node directly, but
515 -- for now we do not want to disturb the efficiency of a power of 2
518 package Orig_Nodes
is new Table
.Table
(
519 Table_Component_Type
=> Node_Id
,
520 Table_Index_Type
=> Node_Id
'Base,
521 Table_Low_Bound
=> First_Node_Id
,
522 Table_Initial
=> Alloc
.Nodes_Initial
,
523 Table_Increment
=> Alloc
.Nodes_Increment
,
524 Release_Threshold
=> Alloc
.Nodes_Release_Threshold
,
525 Table_Name
=> "Orig_Nodes");
527 --------------------------
528 -- Paren_Count Handling --
529 --------------------------
531 -- As noted in the spec, the paren count in a sub-expression node has
532 -- four possible values 0,1,2, and 3. The value 3 really means 3 or more,
533 -- and we use an auxiliary serially scanned table to record the actual
534 -- count. A serial search is fine, only pathological programs will use
535 -- entries in this table. Normal programs won't use it at all.
537 type Paren_Count_Entry
is record
539 -- The node to which this count applies
541 Count
: Nat
range 3 .. Nat
'Last;
542 -- The count of parentheses, which will be in the indicated range
545 package Paren_Counts
is new Table
.Table
(
546 Table_Component_Type
=> Paren_Count_Entry
,
547 Table_Index_Type
=> Int
,
548 Table_Low_Bound
=> 0,
550 Table_Increment
=> 200,
551 Table_Name
=> "Paren_Counts");
553 -----------------------
554 -- Local Subprograms --
555 -----------------------
557 function Allocate_Initialize_Node
559 With_Extension
: Boolean) return Node_Id
;
560 -- Allocate a new node or node extension. If Src is not empty, the
561 -- information for the newly-allocated node is copied from it.
563 procedure Fix_Parents
(Ref_Node
, Fix_Node
: Node_Id
);
564 -- Fix up parent pointers for the syntactic children of Fix_Node after a
565 -- copy, setting them to Fix_Node when they pointed to Ref_Node.
567 procedure Mark_New_Ghost_Node
(N
: Node_Or_Entity_Id
);
568 -- Mark arbitrary node or entity N as Ghost when it is created within a
571 ------------------------------
572 -- Allocate_Initialize_Node --
573 ------------------------------
575 function Allocate_Initialize_Node
577 With_Extension
: Boolean) return Node_Id
583 and then not Has_Extension
(Src
)
584 and then With_Extension
585 and then Src
= Nodes
.Last
589 -- We are allocating a new node, or extending a node other than
593 if Present
(Src
) then
594 Nodes
.Append
(Nodes
.Table
(Src
));
595 Flags
.Append
(Flags
.Table
(Src
));
597 Nodes
.Append
(Default_Node
);
598 Flags
.Append
(Default_Flags
);
601 New_Id
:= Nodes
.Last
;
602 Orig_Nodes
.Append
(New_Id
);
603 Node_Count
:= Node_Count
+ 1;
606 -- Clear Check_Actuals to False
608 Set_Check_Actuals
(New_Id
, False);
610 -- Specifically copy Paren_Count to deal with creating new table entry
611 -- if the parentheses count is at the maximum possible value already.
613 if Present
(Src
) and then Nkind
(Src
) in N_Subexpr
then
614 Set_Paren_Count
(New_Id
, Paren_Count
(Src
));
617 -- Set extension nodes if required
619 if With_Extension
then
620 if Present
(Src
) and then Has_Extension
(Src
) then
621 for J
in 1 .. Num_Extension_Nodes
loop
622 Nodes
.Append
(Nodes
.Table
(Src
+ J
));
623 Flags
.Append
(Flags
.Table
(Src
+ J
));
626 for J
in 1 .. Num_Extension_Nodes
loop
627 Nodes
.Append
(Default_Node_Extension
);
628 Flags
.Append
(Default_Flags
);
633 Orig_Nodes
.Set_Last
(Nodes
.Last
);
634 Allocate_List_Tables
(Nodes
.Last
);
636 -- Invoke the reporting procedure (if available)
638 if Reporting_Proc
/= null then
639 Reporting_Proc
.all (Target
=> New_Id
, Source
=> Src
);
643 end Allocate_Initialize_Node
;
649 function Analyzed
(N
: Node_Id
) return Boolean is
651 pragma Assert
(N
<= Nodes
.Last
);
652 return Nodes
.Table
(N
).Analyzed
;
655 --------------------------
656 -- Basic_Set_Convention --
657 --------------------------
659 procedure Basic_Set_Convention
(E
: Entity_Id
; Val
: Convention_Id
) is
661 pragma Assert
(Nkind
(E
) in N_Entity
);
664 (Nodes.Table (E + 2).Field12'Unrestricted_Access)).Convention := Val;
665 end Basic_Set_Convention;
671 function Check_Actuals (N : Node_Id) return Boolean is
673 return Flags.Table (N).Check_Actuals;
676 --------------------------
677 -- Check_Error_Detected --
678 --------------------------
680 procedure Check_Error_Detected is
682 -- An anomaly has been detected which is assumed to be a consequence of
683 -- a previous serious error or configurable run time violation. Raise
684 -- an exception if no such error has been detected.
686 if Serious_Errors_Detected = 0
687 and then Configurable_Run_Time_Violations = 0
691 end Check_Error_Detected;
697 procedure Change_Node (N : Node_Id; New_Node_Kind : Node_Kind) is
698 Save_Sloc : constant Source_Ptr := Sloc (N);
699 Save_In_List : constant Boolean := Nodes.Table (N).In_List;
700 Save_Link : constant Union_Id := Nodes.Table (N).Link;
701 Save_CFS : constant Boolean := Nodes.Table (N).Comes_From_Source;
702 Save_Posted : constant Boolean := Nodes.Table (N).Error_Posted;
703 Par_Count : Nat := 0;
706 if Nkind (N) in N_Subexpr then
707 Par_Count := Paren_Count (N);
710 Nodes.Table (N) := Default_Node;
711 Nodes.Table (N).Sloc := Save_Sloc;
712 Nodes.Table (N).In_List := Save_In_List;
713 Nodes.Table (N).Link := Save_Link;
714 Nodes.Table (N).Comes_From_Source := Save_CFS;
715 Nodes.Table (N).Nkind := New_Node_Kind;
716 Nodes.Table (N).Error_Posted := Save_Posted;
718 Flags.Table (N) := Default_Flags;
720 if New_Node_Kind in N_Subexpr then
721 Set_Paren_Count (N, Par_Count);
725 -----------------------
726 -- Comes_From_Source --
727 -----------------------
729 function Comes_From_Source (N : Node_Id) return Boolean is
731 pragma Assert (N <= Nodes.Last);
732 return Nodes.Table (N).Comes_From_Source;
733 end Comes_From_Source;
739 function Convention (E : Entity_Id) return Convention_Id is
741 pragma Assert (Nkind (E) in N_Entity);
742 return To_Flag_Word (Nodes.Table (E + 2).Field12).Convention;
749 procedure Copy_Node (Source : Node_Id; Destination : Node_Id) is
750 Save_In_List : constant Boolean := Nodes.Table (Destination).In_List;
751 Save_Link : constant Union_Id := Nodes.Table (Destination).Link;
754 Nodes.Table (Destination) := Nodes.Table (Source);
755 Nodes.Table (Destination).In_List := Save_In_List;
756 Nodes.Table (Destination).Link := Save_Link;
758 Flags.Table (Destination) := Flags.Table (Source);
760 -- Specifically set Paren_Count to make sure auxiliary table entry
761 -- gets correctly made if the parentheses count is at the max value.
763 if Nkind (Destination) in N_Subexpr then
764 Set_Paren_Count (Destination, Paren_Count (Source));
767 -- Deal with copying extension nodes if present. No need to copy flags
768 -- table entries, since they are always zero for extending components.
770 pragma Assert (Has_Extension (Source) = Has_Extension (Destination));
772 if Has_Extension (Source) then
773 for J in 1 .. Num_Extension_Nodes loop
774 Nodes.Table (Destination + J) := Nodes.Table (Source + J);
779 ------------------------
780 -- Copy_Separate_List --
781 ------------------------
783 function Copy_Separate_List (Source : List_Id) return List_Id is
784 Result : constant List_Id := New_List;
788 Nod := First (Source);
789 while Present (Nod) loop
790 Append (Copy_Separate_Tree (Nod), Result);
795 end Copy_Separate_List;
797 ------------------------
798 -- Copy_Separate_Tree --
799 ------------------------
801 function Copy_Separate_Tree (Source : Node_Id) return Node_Id is
804 function Copy_Entity (E : Entity_Id) return Entity_Id;
805 -- Copy Entity, copying only the Ekind and Chars fields
807 function Copy_List (List : List_Id) return List_Id;
810 function Possible_Copy (Field : Union_Id) return Union_Id;
811 -- Given a field, returns a copy of the node or list if its parent is
812 -- the current source node, and otherwise returns the input.
818 function Copy_Entity (E : Entity_Id) return Entity_Id is
822 -- Build appropriate node
824 case N_Entity (Nkind (E)) is
825 when N_Defining_Identifier =>
826 New_Ent := New_Entity (N_Defining_Identifier, Sloc (E));
828 when N_Defining_Character_Literal =>
829 New_Ent := New_Entity (N_Defining_Character_Literal, Sloc (E));
831 when N_Defining_Operator_Symbol =>
832 New_Ent := New_Entity (N_Defining_Operator_Symbol, Sloc (E));
835 Set_Chars (New_Ent, Chars (E));
836 -- Set_Comes_From_Source (New_Ent, Comes_From_Source (E));
844 function Copy_List (List : List_Id) return List_Id is
849 if List = No_List then
856 while Present (E) loop
857 if Has_Extension (E) then
858 Append (Copy_Entity (E), NL);
860 Append (Copy_Separate_Tree (E), NL);
874 function Possible_Copy (Field : Union_Id) return Union_Id is
878 if Field in Node_Range then
879 New_N := Union_Id (Copy_Separate_Tree (Node_Id (Field)));
881 if Parent (Node_Id (Field)) = Source then
882 Set_Parent (Node_Id (New_N), New_Id);
887 elsif Field in List_Range then
888 New_N := Union_Id (Copy_List (List_Id (Field)));
890 if Parent (List_Id (Field)) = Source then
891 Set_Parent (List_Id (New_N), New_Id);
901 -- Start of processing for Copy_Separate_Tree
904 if Source <= Empty_Or_Error then
907 elsif Has_Extension (Source) then
908 return Copy_Entity (Source);
911 New_Id := New_Copy (Source);
913 -- Recursively copy descendants
915 Set_Field1 (New_Id, Possible_Copy (Field1 (New_Id)));
916 Set_Field2 (New_Id, Possible_Copy (Field2 (New_Id)));
917 Set_Field3 (New_Id, Possible_Copy (Field3 (New_Id)));
918 Set_Field4 (New_Id, Possible_Copy (Field4 (New_Id)));
919 Set_Field5 (New_Id, Possible_Copy (Field5 (New_Id)));
921 -- Explicitly copy the aspect specifications as those do not reside
924 if Permits_Aspect_Specifications (Source)
925 and then Has_Aspects (Source)
927 Set_Aspect_Specifications
928 (New_Id, Copy_List (Aspect_Specifications (Source)));
931 -- Set Entity field to Empty to ensure that no entity references
932 -- are shared between the two, if the source is already analyzed.
934 if Nkind (New_Id) in N_Has_Entity
935 or else Nkind (New_Id) = N_Freeze_Entity
937 Set_Entity (New_Id, Empty);
940 -- Reset all Etype fields and Analyzed flags, because input tree may
941 -- have been fully or partially analyzed.
943 if Nkind (New_Id) in N_Has_Etype then
944 Set_Etype (New_Id, Empty);
947 Set_Analyzed (New_Id, False);
949 -- Rather special case, if we have an expanded name, then change
950 -- it back into a selected component, so that the tree looks the
951 -- way it did coming out of the parser. This will change back
952 -- when we analyze the selected component node.
954 if Nkind (New_Id) = N_Expanded_Name then
956 -- The following code is a bit kludgy. It would be cleaner to
957 -- Add an entry Change_Expanded_Name_To_Selected_Component to
958 -- Sinfo.CN, but that's an earthquake, because it has the wrong
959 -- license, and Atree is used outside the compiler, e.g. in the
960 -- binder and in ASIS, so we don't want to add that dependency.
962 -- Consequently we have no choice but to hold our noses and do
963 -- the change manually. At least we are Atree, so this odd use
964 -- of Atree.Unchecked_Access is at least all in the family.
966 -- Change the node type
968 Atree.Unchecked_Access.Set_Nkind (New_Id, N_Selected_Component);
970 -- Clear the Chars field which is not present in a selected
971 -- component node, so we don't want a junk value around.
973 Set_Node1 (New_Id, Empty);
976 -- All done, return copied node
980 end Copy_Separate_Tree;
986 function Ekind (E : Entity_Id) return Entity_Kind is
988 pragma Assert (Nkind (E) in N_Entity);
989 return N_To_E (Nodes.Table (E + 1).Nkind);
999 V2 : Entity_Kind) return Boolean
1002 return T = V1 or else
1010 V3 : Entity_Kind) return Boolean
1013 return T = V1 or else
1023 V4 : Entity_Kind) return Boolean
1026 return T = V1 or else
1038 V5 : Entity_Kind) return Boolean
1041 return T = V1 or else
1055 V6 : Entity_Kind) return Boolean
1058 return T = V1 or else
1074 V7 : Entity_Kind) return Boolean
1077 return T = V1 or else
1095 V8 : Entity_Kind) return Boolean
1098 return T = V1 or else
1118 V9 : Entity_Kind) return Boolean
1121 return T = V1 or else
1143 V10 : Entity_Kind) return Boolean
1146 return T = V1 or else
1170 V11 : Entity_Kind) return Boolean
1173 return T = V1 or else
1189 V2 : Entity_Kind) return Boolean
1192 return Ekind_In (Ekind (E), V1, V2);
1199 V3 : Entity_Kind) return Boolean
1202 return Ekind_In (Ekind (E), V1, V2, V3);
1210 V4 : Entity_Kind) return Boolean
1213 return Ekind_In (Ekind (E), V1, V2, V3, V4);
1222 V5 : Entity_Kind) return Boolean
1225 return Ekind_In (Ekind (E), V1, V2, V3, V4, V5);
1235 V6 : Entity_Kind) return Boolean
1238 return Ekind_In (Ekind (E), V1, V2, V3, V4, V5, V6);
1249 V7 : Entity_Kind) return Boolean
1252 return Ekind_In (Ekind (E), V1, V2, V3, V4, V5, V6, V7);
1264 V8 : Entity_Kind) return Boolean
1267 return Ekind_In (Ekind (E), V1, V2, V3, V4, V5, V6, V7, V8);
1280 V9 : Entity_Kind) return Boolean
1283 return Ekind_In (Ekind (E), V1, V2, V3, V4, V5, V6, V7, V8, V9);
1297 V10 : Entity_Kind) return Boolean
1300 return Ekind_In (Ekind (E), V1, V2, V3, V4, V5, V6, V7, V8, V9, V10);
1315 V11 : Entity_Kind) return Boolean
1319 Ekind_In (Ekind (E), V1, V2, V3, V4, V5, V6, V7, V8, V9, V10, V11);
1322 ------------------------
1323 -- Set_Reporting_Proc --
1324 ------------------------
1326 procedure Set_Reporting_Proc (P : Report_Proc) is
1328 pragma Assert (Reporting_Proc = null);
1329 Reporting_Proc := P;
1330 end Set_Reporting_Proc;
1336 function Error_Posted (N : Node_Id) return Boolean is
1338 pragma Assert (N <= Nodes.Last);
1339 return Nodes.Table (N).Error_Posted;
1342 -----------------------
1343 -- Exchange_Entities --
1344 -----------------------
1346 procedure Exchange_Entities (E1 : Entity_Id; E2 : Entity_Id) is
1347 Temp_Ent : Node_Record;
1348 Temp_Flg : Flags_Byte;
1352 and then Has_Extension (E1)
1353 and then Has_Extension (E2)
1354 and then not Nodes.Table (E1).In_List
1355 and then not Nodes.Table (E2).In_List);
1357 -- Exchange the contents of the two entities
1359 for J in 0 .. Num_Extension_Nodes loop
1360 Temp_Ent := Nodes.Table (E1 + J);
1361 Nodes.Table (E1 + J) := Nodes.Table (E2 + J);
1362 Nodes.Table (E2 + J) := Temp_Ent;
1365 -- Exchange flag bytes for first component. No need to do the exchange
1366 -- for the other components, since the flag bytes are always zero.
1368 Temp_Flg := Flags.Table (E1);
1369 Flags.Table (E1) := Flags.Table (E2);
1370 Flags.Table (E2) := Temp_Flg;
1372 -- That exchange exchanged the parent pointers as well, which is what
1373 -- we want, but we need to patch up the defining identifier pointers
1374 -- in the parent nodes (the child pointers) to match this switch
1375 -- unless for Implicit types entities which have no parent, in which
1376 -- case we don't do anything otherwise we won't be able to revert back
1377 -- to the original situation.
1379 -- Shouldn't this use Is_Itype instead of the Parent test
1381 if Present (Parent (E1)) and then Present (Parent (E2)) then
1382 Set_Defining_Identifier (Parent (E1), E1);
1383 Set_Defining_Identifier (Parent (E2), E2);
1385 end Exchange_Entities;
1391 function Extend_Node (Node : Node_Id) return Entity_Id is
1394 procedure Debug_Extend_Node;
1395 pragma Inline (Debug_Extend_Node);
1396 -- Debug routine for debug flag N
1398 -----------------------
1399 -- Debug_Extend_Node --
1400 -----------------------
1402 procedure Debug_Extend_Node is
1404 if Debug_Flag_N then
1405 Write_Str ("Extend node ");
1406 Write_Int (Int (Node));
1408 if Result = Node then
1409 Write_Str (" in place");
1411 Write_Str (" copied to ");
1412 Write_Int (Int (Result));
1417 end Debug_Extend_Node;
1419 -- Start of processing for Extend_Node
1422 pragma Assert (not (Has_Extension (Node)));
1423 Result := Allocate_Initialize_Node (Node, With_Extension => True);
1424 pragma Debug (Debug_Extend_Node);
1432 procedure Fix_Parents (Ref_Node, Fix_Node : Node_Id) is
1433 procedure Fix_Parent (Field : Union_Id);
1434 -- Fix up one parent pointer. Field is checked to see if it points to
1435 -- a node, list, or element list that has a parent that points to
1436 -- Ref_Node. If so, the parent is reset to point to Fix_Node.
1442 procedure Fix_Parent (Field : Union_Id) is
1444 -- Fix parent of node that is referenced by Field. Note that we must
1445 -- exclude the case where the node is a member of a list, because in
1446 -- this case the parent is the parent of the list.
1448 if Field in Node_Range
1449 and then Present (Node_Id (Field))
1450 and then not Nodes.Table (Node_Id (Field)).In_List
1451 and then Parent (Node_Id (Field)) = Ref_Node
1453 Set_Parent (Node_Id (Field), Fix_Node);
1455 -- Fix parent of list that is referenced by Field
1457 elsif Field in List_Range
1458 and then Present (List_Id (Field))
1459 and then Parent (List_Id (Field)) = Ref_Node
1461 Set_Parent (List_Id (Field), Fix_Node);
1465 -- Start of processing for Fix_Parents
1468 Fix_Parent (Field1 (Fix_Node));
1469 Fix_Parent (Field2 (Fix_Node));
1470 Fix_Parent (Field3 (Fix_Node));
1471 Fix_Parent (Field4 (Fix_Node));
1472 Fix_Parent (Field5 (Fix_Node));
1479 function Flags_Address return System.Address is
1481 return Flags.Table (First_Node_Id)'Address;
1484 -----------------------------------
1485 -- Get_Comes_From_Source_Default --
1486 -----------------------------------
1488 function Get_Comes_From_Source_Default return Boolean is
1490 return Default_Node.Comes_From_Source;
1491 end Get_Comes_From_Source_Default;
1497 function Has_Aspects (N : Node_Id) return Boolean is
1499 pragma Assert (N <= Nodes.Last);
1500 return Nodes.Table (N).Has_Aspects;
1507 function Has_Extension (N : Node_Id) return Boolean is
1509 return N < Nodes.Last and then Nodes.Table (N + 1).Is_Extension;
1516 procedure Initialize is
1518 pragma Warnings (Off, Dummy);
1522 Atree_Private_Part.Nodes.Init;
1523 Atree_Private_Part.Flags.Init;
1527 -- Allocate Empty node
1529 Dummy := New_Node (N_Empty, No_Location);
1530 Set_Name1 (Empty, No_Name);
1532 -- Allocate Error node, and set Error_Posted, since we certainly
1533 -- only generate an Error node if we do post some kind of error.
1535 Dummy := New_Node (N_Error, No_Location);
1536 Set_Name1 (Error, Error_Name);
1537 Set_Error_Posted (Error, True);
1540 ---------------------------
1541 -- Is_Ignored_Ghost_Node --
1542 ---------------------------
1544 function Is_Ignored_Ghost_Node (N : Node_Id) return Boolean is
1546 return Flags.Table (N).Is_Ignored_Ghost_Node;
1547 end Is_Ignored_Ghost_Node;
1549 --------------------------
1550 -- Is_Rewrite_Insertion --
1551 --------------------------
1553 function Is_Rewrite_Insertion (Node : Node_Id) return Boolean is
1555 return Nodes.Table (Node).Rewrite_Ins;
1556 end Is_Rewrite_Insertion;
1558 -----------------------------
1559 -- Is_Rewrite_Substitution --
1560 -----------------------------
1562 function Is_Rewrite_Substitution (Node : Node_Id) return Boolean is
1564 return Orig_Nodes.Table (Node) /= Node;
1565 end Is_Rewrite_Substitution;
1571 function Last_Node_Id return Node_Id is
1582 -- We used to Release the tables, as in the comments below, but that is
1583 -- a waste of time. We're only wasting virtual memory here, and the
1584 -- release calls copy large amounts of data.
1587 Nodes.Locked := True;
1589 Flags.Locked := True;
1590 -- Orig_Nodes.Release;
1591 Orig_Nodes.Locked := True;
1598 procedure Lock_Nodes is
1600 pragma Assert (not Locked);
1604 -------------------------
1605 -- Mark_New_Ghost_Node --
1606 -------------------------
1608 procedure Mark_New_Ghost_Node (N : Node_Or_Entity_Id) is
1610 -- The Ghost node is created within a Ghost region
1612 if Ghost_Mode = Check then
1613 if Nkind (N) in N_Entity then
1614 Set_Is_Checked_Ghost_Entity (N);
1617 elsif Ghost_Mode = Ignore then
1618 if Nkind (N) in N_Entity then
1619 Set_Is_Ignored_Ghost_Entity (N);
1622 Set_Is_Ignored_Ghost_Node (N);
1624 end Mark_New_Ghost_Node;
1626 ----------------------------
1627 -- Mark_Rewrite_Insertion --
1628 ----------------------------
1630 procedure Mark_Rewrite_Insertion (New_Node : Node_Id) is
1632 Nodes.Table (New_Node).Rewrite_Ins := True;
1633 end Mark_Rewrite_Insertion;
1639 function New_Copy (Source : Node_Id) return Node_Id is
1640 New_Id : Node_Id := Source;
1643 if Source > Empty_Or_Error then
1644 New_Id := Allocate_Initialize_Node (Source, Has_Extension (Source));
1646 Nodes.Table (New_Id).Link := Empty_List_Or_Node;
1647 Nodes.Table (New_Id).In_List := False;
1649 -- If the original is marked as a rewrite insertion, then unmark the
1650 -- copy, since we inserted the original, not the copy.
1652 Nodes.Table (New_Id).Rewrite_Ins := False;
1653 pragma Debug (New_Node_Debugging_Output (New_Id));
1655 -- Clear Is_Overloaded since we cannot have semantic interpretations
1656 -- of this new node.
1658 if Nkind (Source) in N_Subexpr then
1659 Set_Is_Overloaded (New_Id, False);
1662 -- Always clear Has_Aspects, the caller must take care of copying
1663 -- aspects if this is required for the particular situation.
1665 Set_Has_Aspects (New_Id, False);
1667 -- Mark the copy as Ghost depending on the current Ghost region
1669 Mark_New_Ghost_Node (New_Id);
1680 (New_Node_Kind : Node_Kind;
1681 New_Sloc : Source_Ptr) return Entity_Id
1686 pragma Assert (New_Node_Kind in N_Entity);
1688 Ent := Allocate_Initialize_Node (Empty, With_Extension => True);
1690 -- If this is a node with a real location and we are generating
1691 -- source nodes, then reset Current_Error_Node. This is useful
1692 -- if we bomb during parsing to get a error location for the bomb.
1694 if Default_Node.Comes_From_Source and then New_Sloc > No_Location then
1695 Current_Error_Node := Ent;
1698 Nodes.Table (Ent).Nkind := New_Node_Kind;
1699 Nodes.Table (Ent).Sloc := New_Sloc;
1700 pragma Debug (New_Node_Debugging_Output (Ent));
1702 -- Mark the new entity as Ghost depending on the current Ghost region
1704 Mark_New_Ghost_Node (Ent);
1714 (New_Node_Kind : Node_Kind;
1715 New_Sloc : Source_Ptr) return Node_Id
1720 pragma Assert (New_Node_Kind not in N_Entity);
1721 Nod := Allocate_Initialize_Node (Empty, With_Extension => False);
1722 Nodes.Table (Nod).Nkind := New_Node_Kind;
1723 Nodes.Table (Nod).Sloc := New_Sloc;
1724 pragma Debug (New_Node_Debugging_Output (Nod));
1726 -- If this is a node with a real location and we are generating source
1727 -- nodes, then reset Current_Error_Node. This is useful if we bomb
1728 -- during parsing to get an error location for the bomb.
1730 if Default_Node.Comes_From_Source and then New_Sloc > No_Location then
1731 Current_Error_Node := Nod;
1734 -- Mark the new node as Ghost depending on the current Ghost region
1736 Mark_New_Ghost_Node (Nod);
1741 -------------------------
1742 -- New_Node_Breakpoint --
1743 -------------------------
1747 Write_Str ("Watched node ");
1748 Write_Int (Int (Watch_Node));
1749 Write_Str (" created");
1753 -------------------------------
1754 -- New_Node_Debugging_Output --
1755 -------------------------------
1757 procedure nnd (N : Node_Id) is
1758 Node_Is_Watched : constant Boolean := N = Watch_Node;
1761 if Debug_Flag_N or else Node_Is_Watched then
1762 Node_Debug_Output ("Allocate", N);
1764 if Node_Is_Watched then
1765 New_Node_Breakpoint;
1774 function Nkind (N : Node_Id) return Node_Kind is
1776 return Nodes.Table (N).Nkind;
1786 V2 : Node_Kind) return Boolean
1789 return Nkind_In (Nkind (N), V1, V2);
1796 V3 : Node_Kind) return Boolean
1799 return Nkind_In (Nkind (N), V1, V2, V3);
1807 V4 : Node_Kind) return Boolean
1810 return Nkind_In (Nkind (N), V1, V2, V3, V4);
1819 V5 : Node_Kind) return Boolean
1822 return Nkind_In (Nkind (N), V1, V2, V3, V4, V5);
1832 V6 : Node_Kind) return Boolean
1835 return Nkind_In (Nkind (N), V1, V2, V3, V4, V5, V6);
1846 V7 : Node_Kind) return Boolean
1849 return Nkind_In (Nkind (N), V1, V2, V3, V4, V5, V6, V7);
1861 V8 : Node_Kind) return Boolean
1864 return Nkind_In (Nkind (N), V1, V2, V3, V4, V5, V6, V7, V8);
1877 V9 : Node_Kind) return Boolean
1880 return Nkind_In (Nkind (N), V1, V2, V3, V4, V5, V6, V7, V8, V9);
1887 function No (N : Node_Id) return Boolean is
1892 -----------------------
1893 -- Node_Debug_Output --
1894 -----------------------
1896 procedure Node_Debug_Output (Op : String; N : Node_Id) is
1900 if Nkind (N) in N_Entity then
1901 Write_Str (" entity");
1903 Write_Str (" node");
1906 Write_Str (" Id = ");
1907 Write_Int (Int (N));
1909 Write_Location (Sloc (N));
1911 Write_Str (Node_Kind'Image (Nkind (N)));
1913 end Node_Debug_Output;
1919 function Nodes_Address return System.Address is
1921 return Nodes.Table (First_Node_Id)'Address;
1928 function Num_Nodes return Nat is
1937 function Original_Node (Node : Node_Id) return Node_Id is
1939 return Orig_Nodes.Table (Node);
1946 function Paren_Count (N : Node_Id) return Nat is
1950 pragma Assert (N <= Nodes.Last);
1952 if Nodes.Table (N).Pflag1 then
1956 if Nodes.Table (N).Pflag2 then
1960 -- Value of 0,1,2 returned as is
1965 -- Value of 3 means we search the table, and we must find an entry
1968 for J in Paren_Counts.First .. Paren_Counts.Last loop
1969 if N = Paren_Counts.Table (J).Nod then
1970 return Paren_Counts.Table (J).Count;
1974 raise Program_Error;
1982 function Parent (N : Node_Id) return Node_Id is
1984 if Is_List_Member (N) then
1985 return Parent (List_Containing (N));
1987 return Node_Id (Nodes.Table (N).Link);
1995 function Present (N : Node_Id) return Boolean is
2000 --------------------------------
2001 -- Preserve_Comes_From_Source --
2002 --------------------------------
2004 procedure Preserve_Comes_From_Source (NewN, OldN : Node_Id) is
2006 Nodes.Table (NewN).Comes_From_Source :=
2007 Nodes.Table (OldN).Comes_From_Source;
2008 end Preserve_Comes_From_Source;
2010 ----------------------
2011 -- Print_Statistics --
2012 ----------------------
2014 procedure Print_Statistics is
2015 N_Count : constant Natural := Natural (Nodes.Last - First_Node_Id + 1);
2016 E_Count : Natural := 0;
2019 Write_Str ("Number of entities: ");
2023 function CP_Lt (Op1, Op2 : Natural) return Boolean;
2024 -- Compare routine for Sort
2026 procedure CP_Move (From : Natural; To : Natural);
2027 -- Move routine for Sort
2029 Kind_Count : array (Node_Kind) of Natural := (others => 0);
2030 -- Array of occurrence count per node kind
2032 Kind_Max : constant Natural := Node_Kind'Pos (N_Unused_At_End) - 1;
2033 -- The index of the largest (interesting) node kind
2035 Ranking : array (0 .. Kind_Max) of Node_Kind;
2036 -- Ranking array for node kinds (index 0 is used for the temporary)
2038 package Sorting is new GNAT.Heap_Sort_G (CP_Move, CP_Lt);
2040 function CP_Lt (Op1, Op2 : Natural) return Boolean is
2042 return Kind_Count (Ranking (Op2)) < Kind_Count (Ranking (Op1));
2045 procedure CP_Move (From : Natural; To : Natural) is
2047 Ranking (To) := Ranking (From);
2051 -- Count the number of occurrences of each node kind
2053 for I in First_Node_Id .. Nodes.Last loop
2055 Nkind : constant Node_Kind := Nodes.Table (I).Nkind;
2057 if not Nodes.Table (I).Is_Extension then
2058 Kind_Count (Nkind) := Kind_Count (Nkind) + 1;
2063 -- Sort the node kinds by number of occurrences
2065 for N in 1 .. Kind_Max loop
2066 Ranking (N) := Node_Kind'Val (N);
2069 Sorting.Sort (Kind_Max);
2071 -- Print the list in descending order
2073 for N in 1 .. Kind_Max loop
2075 Count : constant Natural := Kind_Count (Ranking (N));
2079 Write_Str (Node_Kind'Image (Ranking (N)));
2081 Write_Int (Int (Count));
2084 E_Count := E_Count + Count;
2090 Write_Str ("Total number of entities: ");
2091 Write_Int (Int (E_Count));
2094 Write_Str ("Maximum number of nodes per entity: ");
2095 Write_Int (Int (Num_Extension_Nodes + 1));
2098 Write_Str ("Number of allocated nodes: ");
2099 Write_Int (Int (N_Count));
2102 Write_Str ("Ratio allocated nodes/entities: ");
2103 Write_Int (Int (Long_Long_Integer (N_Count) * 100 /
2104 Long_Long_Integer (E_Count)));
2108 Write_Str ("Size of a node in bytes: ");
2109 Write_Int (Int (Node_Record'Size) / Storage_Unit);
2112 Write_Str ("Memory consumption in bytes: ");
2113 Write_Int (Int (Long_Long_Integer (N_Count) *
2114 (Node_Record'Size / Storage_Unit)));
2116 end Print_Statistics;
2122 function Relocate_Node (Source : Node_Id) return Node_Id is
2130 New_Node := New_Copy (Source);
2131 Fix_Parents (Ref_Node => Source, Fix_Node => New_Node);
2133 -- We now set the parent of the new node to be the same as the parent of
2134 -- the source. Almost always this parent will be replaced by a new value
2135 -- when the relocated node is reattached to the tree, but by doing it
2136 -- now, we ensure that this node is not even temporarily disconnected
2137 -- from the tree. Note that this does not happen free, because in the
2138 -- list case, the parent does not get set.
2140 Set_Parent (New_Node, Parent (Source));
2142 -- If the node being relocated was a rewriting of some original node,
2143 -- then the relocated node has the same original node.
2145 if Orig_Nodes.Table (Source) /= Source then
2146 Orig_Nodes.Table (New_Node) := Orig_Nodes.Table (Source);
2156 procedure Replace (Old_Node, New_Node : Node_Id) is
2157 Old_Post : constant Boolean := Nodes.Table (Old_Node).Error_Posted;
2158 Old_HasA : constant Boolean := Nodes.Table (Old_Node).Has_Aspects;
2159 Old_CFS : constant Boolean := Nodes.Table (Old_Node).Comes_From_Source;
2163 (not Has_Extension (Old_Node)
2164 and not Has_Extension (New_Node)
2165 and not Nodes.Table (New_Node).In_List);
2167 -- Do copy, preserving link and in list status and required flags
2169 Copy_Node (Source => New_Node, Destination => Old_Node);
2170 Nodes.Table (Old_Node).Comes_From_Source := Old_CFS;
2171 Nodes.Table (Old_Node).Error_Posted := Old_Post;
2172 Nodes.Table (Old_Node).Has_Aspects := Old_HasA;
2174 -- Fix parents of substituted node, since it has changed identity
2176 Fix_Parents (Ref_Node => New_Node, Fix_Node => Old_Node);
2178 -- Since we are doing a replace, we assume that the original node
2179 -- is intended to become the new replaced node. The call would be
2180 -- to Rewrite if there were an intention to save the original node.
2182 Orig_Nodes.Table (Old_Node) := Old_Node;
2184 -- Invoke the reporting procedure (if available)
2186 if Reporting_Proc /= null then
2187 Reporting_Proc.all (Target => Old_Node, Source => New_Node);
2195 procedure Rewrite (Old_Node, New_Node : Node_Id) is
2196 Old_Error_P : constant Boolean := Nodes.Table (Old_Node).Error_Posted;
2197 -- This field is always preserved in the new node
2199 Old_Has_Aspects : constant Boolean := Nodes.Table (Old_Node).Has_Aspects;
2200 -- This field is always preserved in the new node
2202 Old_Paren_Count : Nat;
2203 Old_Must_Not_Freeze : Boolean;
2204 -- These fields are preserved in the new node only if the new node
2205 -- and the old node are both subexpression nodes.
2207 -- Note: it is a violation of abstraction levels for Must_Not_Freeze
2208 -- to be referenced like this. ???
2214 (not Has_Extension (Old_Node)
2215 and not Has_Extension (New_Node)
2216 and not Nodes.Table (New_Node).In_List);
2217 pragma Debug (Rewrite_Debugging_Output (Old_Node, New_Node));
2219 if Nkind (Old_Node) in N_Subexpr then
2220 Old_Paren_Count := Paren_Count (Old_Node);
2221 Old_Must_Not_Freeze := Must_Not_Freeze (Old_Node);
2223 Old_Paren_Count := 0;
2224 Old_Must_Not_Freeze := False;
2227 -- Allocate a new node, to be used to preserve the original contents
2228 -- of the Old_Node, for possible later retrival by Original_Node and
2229 -- make an entry in the Orig_Nodes table. This is only done if we have
2230 -- not already rewritten the node, as indicated by an Orig_Nodes entry
2231 -- that does not reference the Old_Node.
2233 if Orig_Nodes.Table (Old_Node) = Old_Node then
2234 Sav_Node := New_Copy (Old_Node);
2235 Orig_Nodes.Table (Sav_Node) := Sav_Node;
2236 Orig_Nodes.Table (Old_Node) := Sav_Node;
2238 -- Both the old and new copies of the node will share the same list
2239 -- of aspect specifications if aspect specifications are present.
2241 if Old_Has_Aspects then
2242 Set_Aspect_Specifications
2243 (Sav_Node, Aspect_Specifications (Old_Node));
2247 -- Copy substitute node into place, preserving old fields as required
2249 Copy_Node (Source => New_Node, Destination => Old_Node);
2250 Nodes.Table (Old_Node).Error_Posted := Old_Error_P;
2251 Nodes.Table (Old_Node).Has_Aspects := Old_Has_Aspects;
2253 if Nkind (New_Node) in N_Subexpr then
2254 Set_Paren_Count (Old_Node, Old_Paren_Count);
2255 Set_Must_Not_Freeze (Old_Node, Old_Must_Not_Freeze);
2258 Fix_Parents (Ref_Node => New_Node, Fix_Node => Old_Node);
2260 -- Invoke the reporting procedure (if available)
2262 if Reporting_Proc /= null then
2263 Reporting_Proc.all (Target => Old_Node, Source => New_Node);
2267 -------------------------
2268 -- Rewrite_Breakpoint --
2269 -------------------------
2273 Write_Str ("Watched node ");
2274 Write_Int (Int (Watch_Node));
2275 Write_Str (" rewritten");
2279 ------------------------------
2280 -- Rewrite_Debugging_Output --
2281 ------------------------------
2283 procedure rrd (Old_Node, New_Node : Node_Id) is
2284 Node_Is_Watched : constant Boolean := Old_Node = Watch_Node;
2287 if Debug_Flag_N or else Node_Is_Watched then
2288 Node_Debug_Output ("Rewrite", Old_Node);
2289 Node_Debug_Output ("into", New_Node);
2291 if Node_Is_Watched then
2301 procedure Set_Analyzed (N : Node_Id; Val : Boolean := True) is
2303 pragma Assert (not Locked);
2304 Nodes.Table (N).Analyzed := Val;
2307 -----------------------
2308 -- Set_Check_Actuals --
2309 -----------------------
2311 procedure Set_Check_Actuals (N : Node_Id; Val : Boolean := True) is
2313 pragma Assert (not Locked);
2314 Flags.Table (N).Check_Actuals := Val;
2315 end Set_Check_Actuals;
2317 ---------------------------
2318 -- Set_Comes_From_Source --
2319 ---------------------------
2321 procedure Set_Comes_From_Source (N : Node_Id; Val : Boolean) is
2323 pragma Assert (not Locked);
2324 pragma Assert (N <= Nodes.Last);
2325 Nodes.Table (N).Comes_From_Source := Val;
2326 end Set_Comes_From_Source;
2328 -----------------------------------
2329 -- Set_Comes_From_Source_Default --
2330 -----------------------------------
2332 procedure Set_Comes_From_Source_Default (Default : Boolean) is
2334 Default_Node.Comes_From_Source := Default;
2335 end Set_Comes_From_Source_Default;
2341 procedure Set_Ekind (E : Entity_Id; Val : Entity_Kind) is
2343 pragma Assert (not Locked);
2344 pragma Assert (Nkind (E) in N_Entity);
2345 Nodes.Table (E + 1).Nkind := E_To_N (Val);
2348 ----------------------
2349 -- Set_Error_Posted --
2350 ----------------------
2352 procedure Set_Error_Posted (N : Node_Id; Val : Boolean := True) is
2354 pragma Assert (not Locked);
2355 Nodes.Table (N).Error_Posted := Val;
2356 end Set_Error_Posted;
2358 ---------------------
2359 -- Set_Has_Aspects --
2360 ---------------------
2362 procedure Set_Has_Aspects (N : Node_Id; Val : Boolean := True) is
2364 pragma Assert (not Locked);
2365 pragma Assert (N <= Nodes.Last);
2366 Nodes.Table (N).Has_Aspects := Val;
2367 end Set_Has_Aspects;
2369 -------------------------------
2370 -- Set_Is_Ignored_Ghost_Node --
2371 -------------------------------
2373 procedure Set_Is_Ignored_Ghost_Node (N : Node_Id; Val : Boolean := True) is
2375 pragma Assert (not Locked);
2376 Flags.Table (N).Is_Ignored_Ghost_Node := Val;
2377 end Set_Is_Ignored_Ghost_Node;
2379 -----------------------
2380 -- Set_Original_Node --
2381 -----------------------
2383 procedure Set_Original_Node (N : Node_Id; Val : Node_Id) is
2385 pragma Assert (not Locked);
2386 Orig_Nodes.Table (N) := Val;
2387 end Set_Original_Node;
2389 ---------------------
2390 -- Set_Paren_Count --
2391 ---------------------
2393 procedure Set_Paren_Count (N : Node_Id; Val : Nat) is
2395 pragma Assert (not Locked);
2396 pragma Assert (Nkind (N) in N_Subexpr);
2398 -- Value of 0,1,2 stored as is
2401 Nodes.Table (N).Pflag1 := (Val mod 2 /= 0);
2402 Nodes.Table (N).Pflag2 := (Val = 2);
2404 -- Value of 3 or greater stores 3 in node and makes table entry
2407 Nodes.Table (N).Pflag1 := True;
2408 Nodes.Table (N).Pflag2 := True;
2410 for J in Paren_Counts.First .. Paren_Counts.Last loop
2411 if N = Paren_Counts.Table (J).Nod then
2412 Paren_Counts.Table (J).Count := Val;
2417 Paren_Counts.Append ((Nod => N, Count => Val));
2419 end Set_Paren_Count;
2425 procedure Set_Parent (N : Node_Id; Val : Node_Id) is
2427 pragma Assert (not Locked);
2428 pragma Assert (not Nodes.Table (N).In_List);
2429 Nodes.Table (N).Link := Union_Id (Val);
2436 procedure Set_Sloc (N : Node_Id; Val : Source_Ptr) is
2438 pragma Assert (not Locked);
2439 Nodes.Table (N).Sloc := Val;
2446 function Sloc (N : Node_Id) return Source_Ptr is
2448 return Nodes.Table (N).Sloc;
2455 function Traverse_Func (Node : Node_Id) return Traverse_Final_Result is
2457 function Traverse_Field
2460 FN : Field_Num) return Traverse_Final_Result;
2461 -- Fld is one of the fields of Nod. If the field points to syntactic
2462 -- node or list, then this node or list is traversed, and the result is
2463 -- the result of this traversal. Otherwise a value of True is returned
2464 -- with no processing. FN is the number of the field (1 .. 5).
2466 --------------------
2467 -- Traverse_Field --
2468 --------------------
2470 function Traverse_Field
2473 FN : Field_Num) return Traverse_Final_Result
2476 if Fld = Union_Id (Empty) then
2479 -- Descendant is a node
2481 elsif Fld in Node_Range then
2483 -- Traverse descendant that is syntactic subtree node
2485 if Is_Syntactic_Field (Nkind (Nod), FN) then
2486 return Traverse_Func (Node_Id (Fld));
2488 -- Node that is not a syntactic subtree
2494 -- Descendant is a list
2496 elsif Fld in List_Range then
2498 -- Traverse descendant that is a syntactic subtree list
2500 if Is_Syntactic_Field (Nkind (Nod), FN) then
2502 Elmt : Node_Id := First (List_Id (Fld));
2505 while Present (Elmt) loop
2506 if Traverse_Func (Elmt) = Abandon then
2516 -- List that is not a syntactic subtree
2522 -- Field was not a node or a list
2529 Cur_Node : Node_Id := Node;
2531 -- Start of processing for Traverse_Func
2534 -- We walk Field2 last, and if it is a node, we eliminate the tail
2535 -- recursion by jumping back to this label. This is because Field2 is
2536 -- where the Left_Opnd field of N_Op_Concat is stored, and in practice
2537 -- concatenations are sometimes deeply nested, as in X1&X2&...&XN. This
2538 -- trick prevents us from running out of memory in that case. We don't
2539 -- bother eliminating the tail recursion if Field2 is a list.
2543 case Process (Cur_Node) is
2554 Cur_Node := Original_Node (Cur_Node);
2557 if Traverse_Field (Cur_Node, Field1 (Cur_Node), 1) = Abandon
2558 or else -- skip Field2 here
2559 Traverse_Field (Cur_Node, Field3 (Cur_Node), 3) = Abandon
2561 Traverse_Field (Cur_Node, Field4 (Cur_Node), 4) = Abandon
2563 Traverse_Field (Cur_Node, Field5 (Cur_Node), 5) = Abandon
2568 if Field2 (Cur_Node) not in Node_Range then
2569 return Traverse_Field (Cur_Node, Field2 (Cur_Node), 2);
2571 elsif Is_Syntactic_Field (Nkind (Cur_Node), 2)
2572 and then Field2 (Cur_Node) /= Empty_List_Or_Node
2574 -- Here is the tail recursion step, we reset Cur_Node and jump back
2575 -- to the start of the procedure, which has the same semantic effect
2578 Cur_Node := Node_Id (Field2 (Cur_Node));
2589 procedure Traverse_Proc (Node : Node_Id) is
2590 function Traverse is new Traverse_Func (Process);
2591 Discard : Traverse_Final_Result;
2592 pragma Warnings (Off, Discard);
2594 Discard := Traverse (Node);
2601 procedure Tree_Read is
2603 Tree_Read_Int (Node_Count);
2606 Orig_Nodes.Tree_Read;
2607 Paren_Counts.Tree_Read;
2614 procedure Tree_Write is
2616 Tree_Write_Int (Node_Count);
2619 Orig_Nodes.Tree_Write;
2620 Paren_Counts.Tree_Write;
2623 ------------------------------
2624 -- Unchecked Access Package --
2625 ------------------------------
2627 package body Unchecked_Access is
2629 function Field1 (N : Node_Id) return Union_Id is
2631 pragma Assert (N <= Nodes.Last);
2632 return Nodes.Table (N).Field1;
2635 function Field2 (N : Node_Id) return Union_Id is
2637 pragma Assert (N <= Nodes.Last);
2638 return Nodes.Table (N).Field2;
2641 function Field3 (N : Node_Id) return Union_Id is
2643 pragma Assert (N <= Nodes.Last);
2644 return Nodes.Table (N).Field3;
2647 function Field4 (N : Node_Id) return Union_Id is
2649 pragma Assert (N <= Nodes.Last);
2650 return Nodes.Table (N).Field4;
2653 function Field5 (N : Node_Id) return Union_Id is
2655 pragma Assert (N <= Nodes.Last);
2656 return Nodes.Table (N).Field5;
2659 function Field6 (N : Node_Id) return Union_Id is
2661 pragma Assert (Nkind (N) in N_Entity);
2662 return Nodes.Table (N + 1).Field6;
2665 function Field7 (N : Node_Id) return Union_Id is
2667 pragma Assert (Nkind (N) in N_Entity);
2668 return Nodes.Table (N + 1).Field7;
2671 function Field8 (N : Node_Id) return Union_Id is
2673 pragma Assert (Nkind (N) in N_Entity);
2674 return Nodes.Table (N + 1).Field8;
2677 function Field9 (N : Node_Id) return Union_Id is
2679 pragma Assert (Nkind (N) in N_Entity);
2680 return Nodes.Table (N + 1).Field9;
2683 function Field10 (N : Node_Id) return Union_Id is
2685 pragma Assert (Nkind (N) in N_Entity);
2686 return Nodes.Table (N + 1).Field10;
2689 function Field11 (N : Node_Id) return Union_Id is
2691 pragma Assert (Nkind (N) in N_Entity);
2692 return Nodes.Table (N + 1).Field11;
2695 function Field12 (N : Node_Id) return Union_Id is
2697 pragma Assert (Nkind (N) in N_Entity);
2698 return Nodes.Table (N + 1).Field12;
2701 function Field13 (N : Node_Id) return Union_Id is
2703 pragma Assert (Nkind (N) in N_Entity);
2704 return Nodes.Table (N + 2).Field6;
2707 function Field14 (N : Node_Id) return Union_Id is
2709 pragma Assert (Nkind (N) in N_Entity);
2710 return Nodes.Table (N + 2).Field7;
2713 function Field15 (N : Node_Id) return Union_Id is
2715 pragma Assert (Nkind (N) in N_Entity);
2716 return Nodes.Table (N + 2).Field8;
2719 function Field16 (N : Node_Id) return Union_Id is
2721 pragma Assert (Nkind (N) in N_Entity);
2722 return Nodes.Table (N + 2).Field9;
2725 function Field17 (N : Node_Id) return Union_Id is
2727 pragma Assert (Nkind (N) in N_Entity);
2728 return Nodes.Table (N + 2).Field10;
2731 function Field18 (N : Node_Id) return Union_Id is
2733 pragma Assert (Nkind (N) in N_Entity);
2734 return Nodes.Table (N + 2).Field11;
2737 function Field19 (N : Node_Id) return Union_Id is
2739 pragma Assert (Nkind (N) in N_Entity);
2740 return Nodes.Table (N + 3).Field6;
2743 function Field20 (N : Node_Id) return Union_Id is
2745 pragma Assert (Nkind (N) in N_Entity);
2746 return Nodes.Table (N + 3).Field7;
2749 function Field21 (N : Node_Id) return Union_Id is
2751 pragma Assert (Nkind (N) in N_Entity);
2752 return Nodes.Table (N + 3).Field8;
2755 function Field22 (N : Node_Id) return Union_Id is
2757 pragma Assert (Nkind (N) in N_Entity);
2758 return Nodes.Table (N + 3).Field9;
2761 function Field23 (N : Node_Id) return Union_Id is
2763 pragma Assert (Nkind (N) in N_Entity);
2764 return Nodes.Table (N + 3).Field10;
2767 function Field24 (N : Node_Id) return Union_Id is
2769 pragma Assert (Nkind (N) in N_Entity);
2770 return Nodes.Table (N + 4).Field6;
2773 function Field25 (N : Node_Id) return Union_Id is
2775 pragma Assert (Nkind (N) in N_Entity);
2776 return Nodes.Table (N + 4).Field7;
2779 function Field26 (N : Node_Id) return Union_Id is
2781 pragma Assert (Nkind (N) in N_Entity);
2782 return Nodes.Table (N + 4).Field8;
2785 function Field27 (N : Node_Id) return Union_Id is
2787 pragma Assert (Nkind (N) in N_Entity);
2788 return Nodes.Table (N + 4).Field9;
2791 function Field28 (N : Node_Id) return Union_Id is
2793 pragma Assert (Nkind (N) in N_Entity);
2794 return Nodes.Table (N + 4).Field10;
2797 function Field29 (N : Node_Id) return Union_Id is
2799 pragma Assert (Nkind (N) in N_Entity);
2800 return Nodes.Table (N + 4).Field11;
2803 function Field30 (N : Node_Id) return Union_Id is
2805 pragma Assert (Nkind (N) in N_Entity);
2806 return Nodes.Table (N + 5).Field6;
2809 function Field31 (N : Node_Id) return Union_Id is
2811 pragma Assert (Nkind (N) in N_Entity);
2812 return Nodes.Table (N + 5).Field7;
2815 function Field32 (N : Node_Id) return Union_Id is
2817 pragma Assert (Nkind (N) in N_Entity);
2818 return Nodes.Table (N + 5).Field8;
2821 function Field33 (N : Node_Id) return Union_Id is
2823 pragma Assert (Nkind (N) in N_Entity);
2824 return Nodes.Table (N + 5).Field9;
2827 function Field34 (N : Node_Id) return Union_Id is
2829 pragma Assert (Nkind (N) in N_Entity);
2830 return Nodes.Table (N + 5).Field10;
2833 function Field35 (N : Node_Id) return Union_Id is
2835 pragma Assert (Nkind (N) in N_Entity);
2836 return Nodes.Table (N + 5).Field11;
2839 function Field36 (N : Node_Id) return Union_Id is
2841 pragma Assert (Nkind (N) in N_Entity);
2842 return Nodes.Table (N + 6).Field6;
2845 function Field37 (N : Node_Id) return Union_Id is
2847 pragma Assert (Nkind (N) in N_Entity);
2848 return Nodes.Table (N + 6).Field7;
2851 function Field38 (N : Node_Id) return Union_Id is
2853 pragma Assert (Nkind (N) in N_Entity);
2854 return Nodes.Table (N + 6).Field8;
2857 function Field39 (N : Node_Id) return Union_Id is
2859 pragma Assert (Nkind (N) in N_Entity);
2860 return Nodes.Table (N + 6).Field9;
2863 function Field40 (N : Node_Id) return Union_Id is
2865 pragma Assert (Nkind (N) in N_Entity);
2866 return Nodes.Table (N + 6).Field10;
2869 function Field41 (N : Node_Id) return Union_Id is
2871 pragma Assert (Nkind (N) in N_Entity);
2872 return Nodes.Table (N + 6).Field11;
2875 function Node1 (N : Node_Id) return Node_Id is
2877 pragma Assert (N <= Nodes.Last);
2878 return Node_Id (Nodes.Table (N).Field1);
2881 function Node2 (N : Node_Id) return Node_Id is
2883 pragma Assert (N <= Nodes.Last);
2884 return Node_Id (Nodes.Table (N).Field2);
2887 function Node3 (N : Node_Id) return Node_Id is
2889 pragma Assert (N <= Nodes.Last);
2890 return Node_Id (Nodes.Table (N).Field3);
2893 function Node4 (N : Node_Id) return Node_Id is
2895 pragma Assert (N <= Nodes.Last);
2896 return Node_Id (Nodes.Table (N).Field4);
2899 function Node5 (N : Node_Id) return Node_Id is
2901 pragma Assert (N <= Nodes.Last);
2902 return Node_Id (Nodes.Table (N).Field5);
2905 function Node6 (N : Node_Id) return Node_Id is
2907 pragma Assert (Nkind (N) in N_Entity);
2908 return Node_Id (Nodes.Table (N + 1).Field6);
2911 function Node7 (N : Node_Id) return Node_Id is
2913 pragma Assert (Nkind (N) in N_Entity);
2914 return Node_Id (Nodes.Table (N + 1).Field7);
2917 function Node8 (N : Node_Id) return Node_Id is
2919 pragma Assert (Nkind (N) in N_Entity);
2920 return Node_Id (Nodes.Table (N + 1).Field8);
2923 function Node9 (N : Node_Id) return Node_Id is
2925 pragma Assert (Nkind (N) in N_Entity);
2926 return Node_Id (Nodes.Table (N + 1).Field9);
2929 function Node10 (N : Node_Id) return Node_Id is
2931 pragma Assert (Nkind (N) in N_Entity);
2932 return Node_Id (Nodes.Table (N + 1).Field10);
2935 function Node11 (N : Node_Id) return Node_Id is
2937 pragma Assert (Nkind (N) in N_Entity);
2938 return Node_Id (Nodes.Table (N + 1).Field11);
2941 function Node12 (N : Node_Id) return Node_Id is
2943 pragma Assert (Nkind (N) in N_Entity);
2944 return Node_Id (Nodes.Table (N + 1).Field12);
2947 function Node13 (N : Node_Id) return Node_Id is
2949 pragma Assert (Nkind (N) in N_Entity);
2950 return Node_Id (Nodes.Table (N + 2).Field6);
2953 function Node14 (N : Node_Id) return Node_Id is
2955 pragma Assert (Nkind (N) in N_Entity);
2956 return Node_Id (Nodes.Table (N + 2).Field7);
2959 function Node15 (N : Node_Id) return Node_Id is
2961 pragma Assert (Nkind (N) in N_Entity);
2962 return Node_Id (Nodes.Table (N + 2).Field8);
2965 function Node16 (N : Node_Id) return Node_Id is
2967 pragma Assert (Nkind (N) in N_Entity);
2968 return Node_Id (Nodes.Table (N + 2).Field9);
2971 function Node17 (N : Node_Id) return Node_Id is
2973 pragma Assert (Nkind (N) in N_Entity);
2974 return Node_Id (Nodes.Table (N + 2).Field10);
2977 function Node18 (N : Node_Id) return Node_Id is
2979 pragma Assert (Nkind (N) in N_Entity);
2980 return Node_Id (Nodes.Table (N + 2).Field11);
2983 function Node19 (N : Node_Id) return Node_Id is
2985 pragma Assert (Nkind (N) in N_Entity);
2986 return Node_Id (Nodes.Table (N + 3).Field6);
2989 function Node20 (N : Node_Id) return Node_Id is
2991 pragma Assert (Nkind (N) in N_Entity);
2992 return Node_Id (Nodes.Table (N + 3).Field7);
2995 function Node21 (N : Node_Id) return Node_Id is
2997 pragma Assert (Nkind (N) in N_Entity);
2998 return Node_Id (Nodes.Table (N + 3).Field8);
3001 function Node22 (N : Node_Id) return Node_Id is
3003 pragma Assert (Nkind (N) in N_Entity);
3004 return Node_Id (Nodes.Table (N + 3).Field9);
3007 function Node23 (N : Node_Id) return Node_Id is
3009 pragma Assert (Nkind (N) in N_Entity);
3010 return Node_Id (Nodes.Table (N + 3).Field10);
3013 function Node24 (N : Node_Id) return Node_Id is
3015 pragma Assert (Nkind (N) in N_Entity);
3016 return Node_Id (Nodes.Table (N + 4).Field6);
3019 function Node25 (N : Node_Id) return Node_Id is
3021 pragma Assert (Nkind (N) in N_Entity);
3022 return Node_Id (Nodes.Table (N + 4).Field7);
3025 function Node26 (N : Node_Id) return Node_Id is
3027 pragma Assert (Nkind (N) in N_Entity);
3028 return Node_Id (Nodes.Table (N + 4).Field8);
3031 function Node27 (N : Node_Id) return Node_Id is
3033 pragma Assert (Nkind (N) in N_Entity);
3034 return Node_Id (Nodes.Table (N + 4).Field9);
3037 function Node28 (N : Node_Id) return Node_Id is
3039 pragma Assert (Nkind (N) in N_Entity);
3040 return Node_Id (Nodes.Table (N + 4).Field10);
3043 function Node29 (N : Node_Id) return Node_Id is
3045 pragma Assert (Nkind (N) in N_Entity);
3046 return Node_Id (Nodes.Table (N + 4).Field11);
3049 function Node30 (N : Node_Id) return Node_Id is
3051 pragma Assert (Nkind (N) in N_Entity);
3052 return Node_Id (Nodes.Table (N + 5).Field6);
3055 function Node31 (N : Node_Id) return Node_Id is
3057 pragma Assert (Nkind (N) in N_Entity);
3058 return Node_Id (Nodes.Table (N + 5).Field7);
3061 function Node32 (N : Node_Id) return Node_Id is
3063 pragma Assert (Nkind (N) in N_Entity);
3064 return Node_Id (Nodes.Table (N + 5).Field8);
3067 function Node33 (N : Node_Id) return Node_Id is
3069 pragma Assert (Nkind (N) in N_Entity);
3070 return Node_Id (Nodes.Table (N + 5).Field9);
3073 function Node34 (N : Node_Id) return Node_Id is
3075 pragma Assert (Nkind (N) in N_Entity);
3076 return Node_Id (Nodes.Table (N + 5).Field10);
3079 function Node35 (N : Node_Id) return Node_Id is
3081 pragma Assert (Nkind (N) in N_Entity);
3082 return Node_Id (Nodes.Table (N + 5).Field11);
3085 function Node36 (N : Node_Id) return Node_Id is
3087 pragma Assert (Nkind (N) in N_Entity);
3088 return Node_Id (Nodes.Table (N + 6).Field6);
3091 function Node37 (N : Node_Id) return Node_Id is
3093 pragma Assert (Nkind (N) in N_Entity);
3094 return Node_Id (Nodes.Table (N + 6).Field7);
3097 function Node38 (N : Node_Id) return Node_Id is
3099 pragma Assert (Nkind (N) in N_Entity);
3100 return Node_Id (Nodes.Table (N + 6).Field8);
3103 function Node39 (N : Node_Id) return Node_Id is
3105 pragma Assert (Nkind (N) in N_Entity);
3106 return Node_Id (Nodes.Table (N + 6).Field9);
3109 function Node40 (N : Node_Id) return Node_Id is
3111 pragma Assert (Nkind (N) in N_Entity);
3112 return Node_Id (Nodes.Table (N + 6).Field10);
3115 function Node41 (N : Node_Id) return Node_Id is
3117 pragma Assert (Nkind (N) in N_Entity);
3118 return Node_Id (Nodes.Table (N + 6).Field11);
3121 function List1 (N : Node_Id) return List_Id is
3123 pragma Assert (N <= Nodes.Last);
3124 return List_Id (Nodes.Table (N).Field1);
3127 function List2 (N : Node_Id) return List_Id is
3129 pragma Assert (N <= Nodes.Last);
3130 return List_Id (Nodes.Table (N).Field2);
3133 function List3 (N : Node_Id) return List_Id is
3135 pragma Assert (N <= Nodes.Last);
3136 return List_Id (Nodes.Table (N).Field3);
3139 function List4 (N : Node_Id) return List_Id is
3141 pragma Assert (N <= Nodes.Last);
3142 return List_Id (Nodes.Table (N).Field4);
3145 function List5 (N : Node_Id) return List_Id is
3147 pragma Assert (N <= Nodes.Last);
3148 return List_Id (Nodes.Table (N).Field5);
3151 function List10 (N : Node_Id) return List_Id is
3153 pragma Assert (Nkind (N) in N_Entity);
3154 return List_Id (Nodes.Table (N + 1).Field10);
3157 function List14 (N : Node_Id) return List_Id is
3159 pragma Assert (Nkind (N) in N_Entity);
3160 return List_Id (Nodes.Table (N + 2).Field7);
3163 function List25 (N : Node_Id) return List_Id is
3165 pragma Assert (Nkind (N) in N_Entity);
3166 return List_Id (Nodes.Table (N + 4).Field7);
3169 function List38 (N : Node_Id) return List_Id is
3171 return List_Id (Nodes.Table (N + 6).Field8);
3174 function List39 (N : Node_Id) return List_Id is
3176 return List_Id (Nodes.Table (N + 6).Field9);
3179 function Elist1 (N : Node_Id) return Elist_Id is
3180 pragma Assert (N <= Nodes.Last);
3181 Value : constant Union_Id := Nodes.Table (N).Field1;
3186 return Elist_Id (Value);
3190 function Elist2 (N : Node_Id) return Elist_Id is
3191 pragma Assert (N <= Nodes.Last);
3192 Value : constant Union_Id := Nodes.Table (N).Field2;
3197 return Elist_Id (Value);
3201 function Elist3 (N : Node_Id) return Elist_Id is
3202 pragma Assert (N <= Nodes.Last);
3203 Value : constant Union_Id := Nodes.Table (N).Field3;
3208 return Elist_Id (Value);
3212 function Elist4 (N : Node_Id) return Elist_Id is
3213 pragma Assert (N <= Nodes.Last);
3214 Value : constant Union_Id := Nodes.Table (N).Field4;
3219 return Elist_Id (Value);
3223 function Elist5 (N : Node_Id) return Elist_Id is
3224 pragma Assert (N <= Nodes.Last);
3225 Value : constant Union_Id := Nodes.Table (N).Field5;
3230 return Elist_Id (Value);
3234 function Elist8 (N : Node_Id) return Elist_Id is
3235 pragma Assert (Nkind (N) in N_Entity);
3236 Value : constant Union_Id := Nodes.Table (N + 1).Field8;
3241 return Elist_Id (Value);
3245 function Elist9 (N : Node_Id) return Elist_Id is
3246 pragma Assert (Nkind (N) in N_Entity);
3247 Value : constant Union_Id := Nodes.Table (N + 1).Field9;
3252 return Elist_Id (Value);
3256 function Elist10 (N : Node_Id) return Elist_Id is
3257 pragma Assert (Nkind (N) in N_Entity);
3258 Value : constant Union_Id := Nodes.Table (N + 1).Field10;
3263 return Elist_Id (Value);
3267 function Elist11 (N : Node_Id) return Elist_Id is
3268 pragma Assert (Nkind (N) in N_Entity);
3269 Value : constant Union_Id := Nodes.Table (N + 1).Field11;
3274 return Elist_Id (Value);
3278 function Elist13 (N : Node_Id) return Elist_Id is
3279 pragma Assert (Nkind (N) in N_Entity);
3280 Value : constant Union_Id := Nodes.Table (N + 2).Field6;
3285 return Elist_Id (Value);
3289 function Elist15 (N : Node_Id) return Elist_Id is
3290 pragma Assert (Nkind (N) in N_Entity);
3291 Value : constant Union_Id := Nodes.Table (N + 2).Field8;
3296 return Elist_Id (Value);
3300 function Elist16 (N : Node_Id) return Elist_Id is
3301 pragma Assert (Nkind (N) in N_Entity);
3302 Value : constant Union_Id := Nodes.Table (N + 2).Field9;
3307 return Elist_Id (Value);
3311 function Elist18 (N : Node_Id) return Elist_Id is
3312 pragma Assert (Nkind (N) in N_Entity);
3313 Value : constant Union_Id := Nodes.Table (N + 2).Field11;
3318 return Elist_Id (Value);
3322 function Elist21 (N : Node_Id) return Elist_Id is
3323 pragma Assert (Nkind (N) in N_Entity);
3324 Value : constant Union_Id := Nodes.Table (N + 3).Field8;
3329 return Elist_Id (Value);
3333 function Elist23 (N : Node_Id) return Elist_Id is
3334 pragma Assert (Nkind (N) in N_Entity);
3335 Value : constant Union_Id := Nodes.Table (N + 3).Field10;
3340 return Elist_Id (Value);
3344 function Elist24 (N : Node_Id) return Elist_Id is
3345 pragma Assert (Nkind (N) in N_Entity);
3346 Value : constant Union_Id := Nodes.Table (N + 4).Field6;
3351 return Elist_Id (Value);
3355 function Elist25 (N : Node_Id) return Elist_Id is
3356 pragma Assert (Nkind (N) in N_Entity);
3357 Value : constant Union_Id := Nodes.Table (N + 4).Field7;
3362 return Elist_Id (Value);
3366 function Elist26 (N : Node_Id) return Elist_Id is
3367 pragma Assert (Nkind (N) in N_Entity);
3368 Value : constant Union_Id := Nodes.Table (N + 4).Field8;
3373 return Elist_Id (Value);
3377 function Elist29 (N : Node_Id) return Elist_Id is
3378 pragma Assert (Nkind (N) in N_Entity);
3379 Value : constant Union_Id := Nodes.Table (N + 4).Field11;
3384 return Elist_Id (Value);
3388 function Elist36 (N : Node_Id) return Elist_Id is
3389 pragma Assert (Nkind (N) in N_Entity);
3390 Value : constant Union_Id := Nodes.Table (N + 6).Field6;
3395 return Elist_Id (Value);
3399 function Name1 (N : Node_Id) return Name_Id is
3401 pragma Assert (N <= Nodes.Last);
3402 return Name_Id (Nodes.Table (N).Field1);
3405 function Name2 (N : Node_Id) return Name_Id is
3407 pragma Assert (N <= Nodes.Last);
3408 return Name_Id (Nodes.Table (N).Field2);
3411 function Str3 (N : Node_Id) return String_Id is
3413 pragma Assert (N <= Nodes.Last);
3414 return String_Id (Nodes.Table (N).Field3);
3417 function Uint2 (N : Node_Id) return Uint is
3418 pragma Assert (N <= Nodes.Last);
3419 U : constant Union_Id := Nodes.Table (N).Field2;
3424 return From_Union (U);
3428 function Uint3 (N : Node_Id) return Uint is
3429 pragma Assert (N <= Nodes.Last);
3430 U : constant Union_Id := Nodes.Table (N).Field3;
3435 return From_Union (U);
3439 function Uint4 (N : Node_Id) return Uint is
3440 pragma Assert (N <= Nodes.Last);
3441 U : constant Union_Id := Nodes.Table (N).Field4;
3446 return From_Union (U);
3450 function Uint5 (N : Node_Id) return Uint is
3451 pragma Assert (N <= Nodes.Last);
3452 U : constant Union_Id := Nodes.Table (N).Field5;
3457 return From_Union (U);
3461 function Uint8 (N : Node_Id) return Uint is
3462 pragma Assert (Nkind (N) in N_Entity);
3463 U : constant Union_Id := Nodes.Table (N + 1).Field8;
3468 return From_Union (U);
3472 function Uint9 (N : Node_Id) return Uint is
3473 pragma Assert (Nkind (N) in N_Entity);
3474 U : constant Union_Id := Nodes.Table (N + 1).Field9;
3479 return From_Union (U);
3483 function Uint10 (N : Node_Id) return Uint is
3484 pragma Assert (Nkind (N) in N_Entity);
3485 U : constant Union_Id := Nodes.Table (N + 1).Field10;
3490 return From_Union (U);
3494 function Uint11 (N : Node_Id) return Uint is
3495 pragma Assert (Nkind (N) in N_Entity);
3496 U : constant Union_Id := Nodes.Table (N + 1).Field11;
3501 return From_Union (U);
3505 function Uint12 (N : Node_Id) return Uint is
3506 pragma Assert (Nkind (N) in N_Entity);
3507 U : constant Union_Id := Nodes.Table (N + 1).Field12;
3512 return From_Union (U);
3516 function Uint13 (N : Node_Id) return Uint is
3517 pragma Assert (Nkind (N) in N_Entity);
3518 U : constant Union_Id := Nodes.Table (N + 2).Field6;
3523 return From_Union (U);
3527 function Uint14 (N : Node_Id) return Uint is
3528 pragma Assert (Nkind (N) in N_Entity);
3529 U : constant Union_Id := Nodes.Table (N + 2).Field7;
3534 return From_Union (U);
3538 function Uint15 (N : Node_Id) return Uint is
3539 pragma Assert (Nkind (N) in N_Entity);
3540 U : constant Union_Id := Nodes.Table (N + 2).Field8;
3545 return From_Union (U);
3549 function Uint16 (N : Node_Id) return Uint is
3550 pragma Assert (Nkind (N) in N_Entity);
3551 U : constant Union_Id := Nodes.Table (N + 2).Field9;
3556 return From_Union (U);
3560 function Uint17 (N : Node_Id) return Uint is
3561 pragma Assert (Nkind (N) in N_Entity);
3562 U : constant Union_Id := Nodes.Table (N + 2).Field10;
3567 return From_Union (U);
3571 function Uint22 (N : Node_Id) return Uint is
3572 pragma Assert (Nkind (N) in N_Entity);
3573 U : constant Union_Id := Nodes.Table (N + 3).Field9;
3578 return From_Union (U);
3582 function Uint24 (N : Node_Id) return Uint is
3583 pragma Assert (Nkind (N) in N_Entity);
3584 U : constant Union_Id := Nodes.Table (N + 4).Field6;
3589 return From_Union (U);
3593 function Ureal3 (N : Node_Id) return Ureal is
3595 pragma Assert (N <= Nodes.Last);
3596 return From_Union (Nodes.Table (N).Field3);
3599 function Ureal18 (N : Node_Id) return Ureal is
3601 pragma Assert (Nkind (N) in N_Entity);
3602 return From_Union (Nodes.Table (N + 2).Field11);
3605 function Ureal21 (N : Node_Id) return Ureal is
3607 pragma Assert (Nkind (N) in N_Entity);
3608 return From_Union (Nodes.Table (N + 3).Field8);
3611 function Flag0 (N : Node_Id) return Boolean is
3613 pragma Assert (N <= Nodes.Last);
3614 return Flags.Table (N).Flag0;
3617 function Flag1 (N : Node_Id) return Boolean is
3619 pragma Assert (N <= Nodes.Last);
3620 return Flags.Table (N).Flag1;
3623 function Flag2 (N : Node_Id) return Boolean is
3625 pragma Assert (N <= Nodes.Last);
3626 return Flags.Table (N).Flag2;
3629 function Flag3 (N : Node_Id) return Boolean is
3631 pragma Assert (N <= Nodes.Last);
3632 return Flags.Table (N).Flag3;
3635 function Flag4 (N : Node_Id) return Boolean is
3637 pragma Assert (N <= Nodes.Last);
3638 return Nodes.Table (N).Flag4;
3641 function Flag5 (N : Node_Id) return Boolean is
3643 pragma Assert (N <= Nodes.Last);
3644 return Nodes.Table (N).Flag5;
3647 function Flag6 (N : Node_Id) return Boolean is
3649 pragma Assert (N <= Nodes.Last);
3650 return Nodes.Table (N).Flag6;
3653 function Flag7 (N : Node_Id) return Boolean is
3655 pragma Assert (N <= Nodes.Last);
3656 return Nodes.Table (N).Flag7;
3659 function Flag8 (N : Node_Id) return Boolean is
3661 pragma Assert (N <= Nodes.Last);
3662 return Nodes.Table (N).Flag8;
3665 function Flag9 (N : Node_Id) return Boolean is
3667 pragma Assert (N <= Nodes.Last);
3668 return Nodes.Table (N).Flag9;
3671 function Flag10 (N : Node_Id) return Boolean is
3673 pragma Assert (N <= Nodes.Last);
3674 return Nodes.Table (N).Flag10;
3677 function Flag11 (N : Node_Id) return Boolean is
3679 pragma Assert (N <= Nodes.Last);
3680 return Nodes.Table (N).Flag11;
3683 function Flag12 (N : Node_Id) return Boolean is
3685 pragma Assert (N <= Nodes.Last);
3686 return Nodes.Table (N).Flag12;
3689 function Flag13 (N : Node_Id) return Boolean is
3691 pragma Assert (N <= Nodes.Last);
3692 return Nodes.Table (N).Flag13;
3695 function Flag14 (N : Node_Id) return Boolean is
3697 pragma Assert (N <= Nodes.Last);
3698 return Nodes.Table (N).Flag14;
3701 function Flag15 (N : Node_Id) return Boolean is
3703 pragma Assert (N <= Nodes.Last);
3704 return Nodes.Table (N).Flag15;
3707 function Flag16 (N : Node_Id) return Boolean is
3709 pragma Assert (N <= Nodes.Last);
3710 return Nodes.Table (N).Flag16;
3713 function Flag17 (N : Node_Id) return Boolean is
3715 pragma Assert (N <= Nodes.Last);
3716 return Nodes.Table (N).Flag17;
3719 function Flag18 (N : Node_Id) return Boolean is
3721 pragma Assert (N <= Nodes.Last);
3722 return Nodes.Table (N).Flag18;
3725 function Flag19 (N : Node_Id) return Boolean is
3727 pragma Assert (Nkind (N) in N_Entity);
3728 return Nodes.Table (N + 1).In_List;
3731 function Flag20 (N : Node_Id) return Boolean is
3733 pragma Assert (Nkind (N) in N_Entity);
3734 return Nodes.Table (N + 1).Has_Aspects;
3737 function Flag21 (N : Node_Id) return Boolean is
3739 pragma Assert (Nkind (N) in N_Entity);
3740 return Nodes.Table (N + 1).Rewrite_Ins;
3743 function Flag22 (N : Node_Id) return Boolean is
3745 pragma Assert (Nkind (N) in N_Entity);
3746 return Nodes.Table (N + 1).Analyzed;
3749 function Flag23 (N : Node_Id) return Boolean is
3751 pragma Assert (Nkind (N) in N_Entity);
3752 return Nodes.Table (N + 1).Comes_From_Source;
3755 function Flag24 (N : Node_Id) return Boolean is
3757 pragma Assert (Nkind (N) in N_Entity);
3758 return Nodes.Table (N + 1).Error_Posted;
3761 function Flag25 (N : Node_Id) return Boolean is
3763 pragma Assert (Nkind (N) in N_Entity);
3764 return Nodes.Table (N + 1).Flag4;
3767 function Flag26 (N : Node_Id) return Boolean is
3769 pragma Assert (Nkind (N) in N_Entity);
3770 return Nodes.Table (N + 1).Flag5;
3773 function Flag27 (N : Node_Id) return Boolean is
3775 pragma Assert (Nkind (N) in N_Entity);
3776 return Nodes.Table (N + 1).Flag6;
3779 function Flag28 (N : Node_Id) return Boolean is
3781 pragma Assert (Nkind (N) in N_Entity);
3782 return Nodes.Table (N + 1).Flag7;
3785 function Flag29 (N : Node_Id) return Boolean is
3787 pragma Assert (Nkind (N) in N_Entity);
3788 return Nodes.Table (N + 1).Flag8;
3791 function Flag30 (N : Node_Id) return Boolean is
3793 pragma Assert (Nkind (N) in N_Entity);
3794 return Nodes.Table (N + 1).Flag9;
3797 function Flag31 (N : Node_Id) return Boolean is
3799 pragma Assert (Nkind (N) in N_Entity);
3800 return Nodes.Table (N + 1).Flag10;
3803 function Flag32 (N : Node_Id) return Boolean is
3805 pragma Assert (Nkind (N) in N_Entity);
3806 return Nodes.Table (N + 1).Flag11;
3809 function Flag33 (N : Node_Id) return Boolean is
3811 pragma Assert (Nkind (N) in N_Entity);
3812 return Nodes.Table (N + 1).Flag12;
3815 function Flag34 (N : Node_Id) return Boolean is
3817 pragma Assert (Nkind (N) in N_Entity);
3818 return Nodes.Table (N + 1).Flag13;
3821 function Flag35 (N : Node_Id) return Boolean is
3823 pragma Assert (Nkind (N) in N_Entity);
3824 return Nodes.Table (N + 1).Flag14;
3827 function Flag36 (N : Node_Id) return Boolean is
3829 pragma Assert (Nkind (N) in N_Entity);
3830 return Nodes.Table (N + 1).Flag15;
3833 function Flag37 (N : Node_Id) return Boolean is
3835 pragma Assert (Nkind (N) in N_Entity);
3836 return Nodes.Table (N + 1).Flag16;
3839 function Flag38 (N : Node_Id) return Boolean is
3841 pragma Assert (Nkind (N) in N_Entity);
3842 return Nodes.Table (N + 1).Flag17;
3845 function Flag39 (N : Node_Id) return Boolean is
3847 pragma Assert (Nkind (N) in N_Entity);
3848 return Nodes.Table (N + 1).Flag18;
3851 function Flag40 (N : Node_Id) return Boolean is
3853 pragma Assert (Nkind (N) in N_Entity);
3854 return Nodes.Table (N + 2).In_List;
3857 function Flag41 (N : Node_Id) return Boolean is
3859 pragma Assert (Nkind (N) in N_Entity);
3860 return Nodes.Table (N + 2).Has_Aspects;
3863 function Flag42 (N : Node_Id) return Boolean is
3865 pragma Assert (Nkind (N) in N_Entity);
3866 return Nodes.Table (N + 2).Rewrite_Ins;
3869 function Flag43 (N : Node_Id) return Boolean is
3871 pragma Assert (Nkind (N) in N_Entity);
3872 return Nodes.Table (N + 2).Analyzed;
3875 function Flag44 (N : Node_Id) return Boolean is
3877 pragma Assert (Nkind (N) in N_Entity);
3878 return Nodes.Table (N + 2).Comes_From_Source;
3881 function Flag45 (N : Node_Id) return Boolean is
3883 pragma Assert (Nkind (N) in N_Entity);
3884 return Nodes.Table (N + 2).Error_Posted;
3887 function Flag46 (N : Node_Id) return Boolean is
3889 pragma Assert (Nkind (N) in N_Entity);
3890 return Nodes.Table (N + 2).Flag4;
3893 function Flag47 (N : Node_Id) return Boolean is
3895 pragma Assert (Nkind (N) in N_Entity);
3896 return Nodes.Table (N + 2).Flag5;
3899 function Flag48 (N : Node_Id) return Boolean is
3901 pragma Assert (Nkind (N) in N_Entity);
3902 return Nodes.Table (N + 2).Flag6;
3905 function Flag49 (N : Node_Id) return Boolean is
3907 pragma Assert (Nkind (N) in N_Entity);
3908 return Nodes.Table (N + 2).Flag7;
3911 function Flag50 (N : Node_Id) return Boolean is
3913 pragma Assert (Nkind (N) in N_Entity);
3914 return Nodes.Table (N + 2).Flag8;
3917 function Flag51 (N : Node_Id) return Boolean is
3919 pragma Assert (Nkind (N) in N_Entity);
3920 return Nodes.Table (N + 2).Flag9;
3923 function Flag52 (N : Node_Id) return Boolean is
3925 pragma Assert (Nkind (N) in N_Entity);
3926 return Nodes.Table (N + 2).Flag10;
3929 function Flag53 (N : Node_Id) return Boolean is
3931 pragma Assert (Nkind (N) in N_Entity);
3932 return Nodes.Table (N + 2).Flag11;
3935 function Flag54 (N : Node_Id) return Boolean is
3937 pragma Assert (Nkind (N) in N_Entity);
3938 return Nodes.Table (N + 2).Flag12;
3941 function Flag55 (N : Node_Id) return Boolean is
3943 pragma Assert (Nkind (N) in N_Entity);
3944 return Nodes.Table (N + 2).Flag13;
3947 function Flag56 (N : Node_Id) return Boolean is
3949 pragma Assert (Nkind (N) in N_Entity);
3950 return Nodes.Table (N + 2).Flag14;
3953 function Flag57 (N : Node_Id) return Boolean is
3955 pragma Assert (Nkind (N) in N_Entity);
3956 return Nodes.Table (N + 2).Flag15;
3959 function Flag58 (N : Node_Id) return Boolean is
3961 pragma Assert (Nkind (N) in N_Entity);
3962 return Nodes.Table (N + 2).Flag16;
3965 function Flag59 (N : Node_Id) return Boolean is
3967 pragma Assert (Nkind (N) in N_Entity);
3968 return Nodes.Table (N + 2).Flag17;
3971 function Flag60 (N : Node_Id) return Boolean is
3973 pragma Assert (Nkind (N) in N_Entity);
3974 return Nodes.Table (N + 2).Flag18;
3977 function Flag61 (N : Node_Id) return Boolean is
3979 pragma Assert (Nkind (N) in N_Entity);
3980 return Nodes.Table (N + 1).Pflag1;
3983 function Flag62 (N : Node_Id) return Boolean is
3985 pragma Assert (Nkind (N) in N_Entity);
3986 return Nodes.Table (N + 1).Pflag2;
3989 function Flag63 (N : Node_Id) return Boolean is
3991 pragma Assert (Nkind (N) in N_Entity);
3992 return Nodes.Table (N + 2).Pflag1;
3995 function Flag64 (N : Node_Id) return Boolean is
3997 pragma Assert (Nkind (N) in N_Entity);
3998 return Nodes.Table (N + 2).Pflag2;
4001 function Flag65 (N : Node_Id) return Boolean is
4003 pragma Assert (Nkind (N) in N_Entity);
4004 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag65;
4007 function Flag66 (N : Node_Id) return Boolean is
4009 pragma Assert (Nkind (N) in N_Entity);
4010 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag66;
4013 function Flag67 (N : Node_Id) return Boolean is
4015 pragma Assert (Nkind (N) in N_Entity);
4016 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag67;
4019 function Flag68 (N : Node_Id) return Boolean is
4021 pragma Assert (Nkind (N) in N_Entity);
4022 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag68;
4025 function Flag69 (N : Node_Id) return Boolean is
4027 pragma Assert (Nkind (N) in N_Entity);
4028 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag69;
4031 function Flag70 (N : Node_Id) return Boolean is
4033 pragma Assert (Nkind (N) in N_Entity);
4034 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag70;
4037 function Flag71 (N : Node_Id) return Boolean is
4039 pragma Assert (Nkind (N) in N_Entity);
4040 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag71;
4043 function Flag72 (N : Node_Id) return Boolean is
4045 pragma Assert (Nkind (N) in N_Entity);
4046 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag72;
4049 function Flag73 (N : Node_Id) return Boolean is
4051 pragma Assert (Nkind (N) in N_Entity);
4052 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag73;
4055 function Flag74 (N : Node_Id) return Boolean is
4057 pragma Assert (Nkind (N) in N_Entity);
4058 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag74;
4061 function Flag75 (N : Node_Id) return Boolean is
4063 pragma Assert (Nkind (N) in N_Entity);
4064 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag75;
4067 function Flag76 (N : Node_Id) return Boolean is
4069 pragma Assert (Nkind (N) in N_Entity);
4070 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag76;
4073 function Flag77 (N : Node_Id) return Boolean is
4075 pragma Assert (Nkind (N) in N_Entity);
4076 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag77;
4079 function Flag78 (N : Node_Id) return Boolean is
4081 pragma Assert (Nkind (N) in N_Entity);
4082 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag78;
4085 function Flag79 (N : Node_Id) return Boolean is
4087 pragma Assert (Nkind (N) in N_Entity);
4088 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag79;
4091 function Flag80 (N : Node_Id) return Boolean is
4093 pragma Assert (Nkind (N) in N_Entity);
4094 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag80;
4097 function Flag81 (N : Node_Id) return Boolean is
4099 pragma Assert (Nkind (N) in N_Entity);
4100 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag81;
4103 function Flag82 (N : Node_Id) return Boolean is
4105 pragma Assert (Nkind (N) in N_Entity);
4106 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag82;
4109 function Flag83 (N : Node_Id) return Boolean is
4111 pragma Assert (Nkind (N) in N_Entity);
4112 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag83;
4115 function Flag84 (N : Node_Id) return Boolean is
4117 pragma Assert (Nkind (N) in N_Entity);
4118 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag84;
4121 function Flag85 (N : Node_Id) return Boolean is
4123 pragma Assert (Nkind (N) in N_Entity);
4124 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag85;
4127 function Flag86 (N : Node_Id) return Boolean is
4129 pragma Assert (Nkind (N) in N_Entity);
4130 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag86;
4133 function Flag87 (N : Node_Id) return Boolean is
4135 pragma Assert (Nkind (N) in N_Entity);
4136 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag87;
4139 function Flag88 (N : Node_Id) return Boolean is
4141 pragma Assert (Nkind (N) in N_Entity);
4142 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag88;
4145 function Flag89 (N : Node_Id) return Boolean is
4147 pragma Assert (Nkind (N) in N_Entity);
4148 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag89;
4151 function Flag90 (N : Node_Id) return Boolean is
4153 pragma Assert (Nkind (N) in N_Entity);
4154 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag90;
4157 function Flag91 (N : Node_Id) return Boolean is
4159 pragma Assert (Nkind (N) in N_Entity);
4160 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag91;
4163 function Flag92 (N : Node_Id) return Boolean is
4165 pragma Assert (Nkind (N) in N_Entity);
4166 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag92;
4169 function Flag93 (N : Node_Id) return Boolean is
4171 pragma Assert (Nkind (N) in N_Entity);
4172 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag93;
4175 function Flag94 (N : Node_Id) return Boolean is
4177 pragma Assert (Nkind (N) in N_Entity);
4178 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag94;
4181 function Flag95 (N : Node_Id) return Boolean is
4183 pragma Assert (Nkind (N) in N_Entity);
4184 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag95;
4187 function Flag96 (N : Node_Id) return Boolean is
4189 pragma Assert (Nkind (N) in N_Entity);
4190 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag96;
4193 function Flag97 (N : Node_Id) return Boolean is
4195 pragma Assert (Nkind (N) in N_Entity);
4196 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag97;
4199 function Flag98 (N : Node_Id) return Boolean is
4201 pragma Assert (Nkind (N) in N_Entity);
4202 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag98;
4205 function Flag99 (N : Node_Id) return Boolean is
4207 pragma Assert (Nkind (N) in N_Entity);
4208 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag99;
4211 function Flag100 (N : Node_Id) return Boolean is
4213 pragma Assert (Nkind (N) in N_Entity);
4214 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag100;
4217 function Flag101 (N : Node_Id) return Boolean is
4219 pragma Assert (Nkind (N) in N_Entity);
4220 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag101;
4223 function Flag102 (N : Node_Id) return Boolean is
4225 pragma Assert (Nkind (N) in N_Entity);
4226 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag102;
4229 function Flag103 (N : Node_Id) return Boolean is
4231 pragma Assert (Nkind (N) in N_Entity);
4232 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag103;
4235 function Flag104 (N : Node_Id) return Boolean is
4237 pragma Assert (Nkind (N) in N_Entity);
4238 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag104;
4241 function Flag105 (N : Node_Id) return Boolean is
4243 pragma Assert (Nkind (N) in N_Entity);
4244 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag105;
4247 function Flag106 (N : Node_Id) return Boolean is
4249 pragma Assert (Nkind (N) in N_Entity);
4250 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag106;
4253 function Flag107 (N : Node_Id) return Boolean is
4255 pragma Assert (Nkind (N) in N_Entity);
4256 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag107;
4259 function Flag108 (N : Node_Id) return Boolean is
4261 pragma Assert (Nkind (N) in N_Entity);
4262 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag108;
4265 function Flag109 (N : Node_Id) return Boolean is
4267 pragma Assert (Nkind (N) in N_Entity);
4268 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag109;
4271 function Flag110 (N : Node_Id) return Boolean is
4273 pragma Assert (Nkind (N) in N_Entity);
4274 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag110;
4277 function Flag111 (N : Node_Id) return Boolean is
4279 pragma Assert (Nkind (N) in N_Entity);
4280 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag111;
4283 function Flag112 (N : Node_Id) return Boolean is
4285 pragma Assert (Nkind (N) in N_Entity);
4286 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag112;
4289 function Flag113 (N : Node_Id) return Boolean is
4291 pragma Assert (Nkind (N) in N_Entity);
4292 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag113;
4295 function Flag114 (N : Node_Id) return Boolean is
4297 pragma Assert (Nkind (N) in N_Entity);
4298 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag114;
4301 function Flag115 (N : Node_Id) return Boolean is
4303 pragma Assert (Nkind (N) in N_Entity);
4304 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag115;
4307 function Flag116 (N : Node_Id) return Boolean is
4309 pragma Assert (Nkind (N) in N_Entity);
4310 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag116;
4313 function Flag117 (N : Node_Id) return Boolean is
4315 pragma Assert (Nkind (N) in N_Entity);
4316 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag117;
4319 function Flag118 (N : Node_Id) return Boolean is
4321 pragma Assert (Nkind (N) in N_Entity);
4322 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag118;
4325 function Flag119 (N : Node_Id) return Boolean is
4327 pragma Assert (Nkind (N) in N_Entity);
4328 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag119;
4331 function Flag120 (N : Node_Id) return Boolean is
4333 pragma Assert (Nkind (N) in N_Entity);
4334 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag120;
4337 function Flag121 (N : Node_Id) return Boolean is
4339 pragma Assert (Nkind (N) in N_Entity);
4340 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag121;
4343 function Flag122 (N : Node_Id) return Boolean is
4345 pragma Assert (Nkind (N) in N_Entity);
4346 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag122;
4349 function Flag123 (N : Node_Id) return Boolean is
4351 pragma Assert (Nkind (N) in N_Entity);
4352 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag123;
4355 function Flag124 (N : Node_Id) return Boolean is
4357 pragma Assert (Nkind (N) in N_Entity);
4358 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag124;
4361 function Flag125 (N : Node_Id) return Boolean is
4363 pragma Assert (Nkind (N) in N_Entity);
4364 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag125;
4367 function Flag126 (N : Node_Id) return Boolean is
4369 pragma Assert (Nkind (N) in N_Entity);
4370 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag126;
4373 function Flag127 (N : Node_Id) return Boolean is
4375 pragma Assert (Nkind (N) in N_Entity);
4376 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag127;
4379 function Flag128 (N : Node_Id) return Boolean is
4381 pragma Assert (Nkind (N) in N_Entity);
4382 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag128;
4385 function Flag129 (N : Node_Id) return Boolean is
4387 pragma Assert (Nkind (N) in N_Entity);
4388 return Nodes.Table (N + 3).In_List;
4391 function Flag130 (N : Node_Id) return Boolean is
4393 pragma Assert (Nkind (N) in N_Entity);
4394 return Nodes.Table (N + 3).Has_Aspects;
4397 function Flag131 (N : Node_Id) return Boolean is
4399 pragma Assert (Nkind (N) in N_Entity);
4400 return Nodes.Table (N + 3).Rewrite_Ins;
4403 function Flag132 (N : Node_Id) return Boolean is
4405 pragma Assert (Nkind (N) in N_Entity);
4406 return Nodes.Table (N + 3).Analyzed;
4409 function Flag133 (N : Node_Id) return Boolean is
4411 pragma Assert (Nkind (N) in N_Entity);
4412 return Nodes.Table (N + 3).Comes_From_Source;
4415 function Flag134 (N : Node_Id) return Boolean is
4417 pragma Assert (Nkind (N) in N_Entity);
4418 return Nodes.Table (N + 3).Error_Posted;
4421 function Flag135 (N : Node_Id) return Boolean is
4423 pragma Assert (Nkind (N) in N_Entity);
4424 return Nodes.Table (N + 3).Flag4;
4427 function Flag136 (N : Node_Id) return Boolean is
4429 pragma Assert (Nkind (N) in N_Entity);
4430 return Nodes.Table (N + 3).Flag5;
4433 function Flag137 (N : Node_Id) return Boolean is
4435 pragma Assert (Nkind (N) in N_Entity);
4436 return Nodes.Table (N + 3).Flag6;
4439 function Flag138 (N : Node_Id) return Boolean is
4441 pragma Assert (Nkind (N) in N_Entity);
4442 return Nodes.Table (N + 3).Flag7;
4445 function Flag139 (N : Node_Id) return Boolean is
4447 pragma Assert (Nkind (N) in N_Entity);
4448 return Nodes.Table (N + 3).Flag8;
4451 function Flag140 (N : Node_Id) return Boolean is
4453 pragma Assert (Nkind (N) in N_Entity);
4454 return Nodes.Table (N + 3).Flag9;
4457 function Flag141 (N : Node_Id) return Boolean is
4459 pragma Assert (Nkind (N) in N_Entity);
4460 return Nodes.Table (N + 3).Flag10;
4463 function Flag142 (N : Node_Id) return Boolean is
4465 pragma Assert (Nkind (N) in N_Entity);
4466 return Nodes.Table (N + 3).Flag11;
4469 function Flag143 (N : Node_Id) return Boolean is
4471 pragma Assert (Nkind (N) in N_Entity);
4472 return Nodes.Table (N + 3).Flag12;
4475 function Flag144 (N : Node_Id) return Boolean is
4477 pragma Assert (Nkind (N) in N_Entity);
4478 return Nodes.Table (N + 3).Flag13;
4481 function Flag145 (N : Node_Id) return Boolean is
4483 pragma Assert (Nkind (N) in N_Entity);
4484 return Nodes.Table (N + 3).Flag14;
4487 function Flag146 (N : Node_Id) return Boolean is
4489 pragma Assert (Nkind (N) in N_Entity);
4490 return Nodes.Table (N + 3).Flag15;
4493 function Flag147 (N : Node_Id) return Boolean is
4495 pragma Assert (Nkind (N) in N_Entity);
4496 return Nodes.Table (N + 3).Flag16;
4499 function Flag148 (N : Node_Id) return Boolean is
4501 pragma Assert (Nkind (N) in N_Entity);
4502 return Nodes.Table (N + 3).Flag17;
4505 function Flag149 (N : Node_Id) return Boolean is
4507 pragma Assert (Nkind (N) in N_Entity);
4508 return Nodes.Table (N + 3).Flag18;
4511 function Flag150 (N : Node_Id) return Boolean is
4513 pragma Assert (Nkind (N) in N_Entity);
4514 return Nodes.Table (N + 3).Pflag1;
4517 function Flag151 (N : Node_Id) return Boolean is
4519 pragma Assert (Nkind (N) in N_Entity);
4520 return Nodes.Table (N + 3).Pflag2;
4523 function Flag152 (N : Node_Id) return Boolean is
4525 pragma Assert (Nkind (N) in N_Entity);
4526 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag152;
4529 function Flag153 (N : Node_Id) return Boolean is
4531 pragma Assert (Nkind (N) in N_Entity);
4532 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag153;
4535 function Flag154 (N : Node_Id) return Boolean is
4537 pragma Assert (Nkind (N) in N_Entity);
4538 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag154;
4541 function Flag155 (N : Node_Id) return Boolean is
4543 pragma Assert (Nkind (N) in N_Entity);
4544 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag155;
4547 function Flag156 (N : Node_Id) return Boolean is
4549 pragma Assert (Nkind (N) in N_Entity);
4550 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag156;
4553 function Flag157 (N : Node_Id) return Boolean is
4555 pragma Assert (Nkind (N) in N_Entity);
4556 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag157;
4559 function Flag158 (N : Node_Id) return Boolean is
4561 pragma Assert (Nkind (N) in N_Entity);
4562 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag158;
4565 function Flag159 (N : Node_Id) return Boolean is
4567 pragma Assert (Nkind (N) in N_Entity);
4568 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag159;
4571 function Flag160 (N : Node_Id) return Boolean is
4573 pragma Assert (Nkind (N) in N_Entity);
4574 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag160;
4577 function Flag161 (N : Node_Id) return Boolean is
4579 pragma Assert (Nkind (N) in N_Entity);
4580 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag161;
4583 function Flag162 (N : Node_Id) return Boolean is
4585 pragma Assert (Nkind (N) in N_Entity);
4586 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag162;
4589 function Flag163 (N : Node_Id) return Boolean is
4591 pragma Assert (Nkind (N) in N_Entity);
4592 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag163;
4595 function Flag164 (N : Node_Id) return Boolean is
4597 pragma Assert (Nkind (N) in N_Entity);
4598 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag164;
4601 function Flag165 (N : Node_Id) return Boolean is
4603 pragma Assert (Nkind (N) in N_Entity);
4604 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag165;
4607 function Flag166 (N : Node_Id) return Boolean is
4609 pragma Assert (Nkind (N) in N_Entity);
4610 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag166;
4613 function Flag167 (N : Node_Id) return Boolean is
4615 pragma Assert (Nkind (N) in N_Entity);
4616 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag167;
4619 function Flag168 (N : Node_Id) return Boolean is
4621 pragma Assert (Nkind (N) in N_Entity);
4622 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag168;
4625 function Flag169 (N : Node_Id) return Boolean is
4627 pragma Assert (Nkind (N) in N_Entity);
4628 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag169;
4631 function Flag170 (N : Node_Id) return Boolean is
4633 pragma Assert (Nkind (N) in N_Entity);
4634 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag170;
4637 function Flag171 (N : Node_Id) return Boolean is
4639 pragma Assert (Nkind (N) in N_Entity);
4640 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag171;
4643 function Flag172 (N : Node_Id) return Boolean is
4645 pragma Assert (Nkind (N) in N_Entity);
4646 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag172;
4649 function Flag173 (N : Node_Id) return Boolean is
4651 pragma Assert (Nkind (N) in N_Entity);
4652 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag173;
4655 function Flag174 (N : Node_Id) return Boolean is
4657 pragma Assert (Nkind (N) in N_Entity);
4658 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag174;
4661 function Flag175 (N : Node_Id) return Boolean is
4663 pragma Assert (Nkind (N) in N_Entity);
4664 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag175;
4667 function Flag176 (N : Node_Id) return Boolean is
4669 pragma Assert (Nkind (N) in N_Entity);
4670 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag176;
4673 function Flag177 (N : Node_Id) return Boolean is
4675 pragma Assert (Nkind (N) in N_Entity);
4676 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag177;
4679 function Flag178 (N : Node_Id) return Boolean is
4681 pragma Assert (Nkind (N) in N_Entity);
4682 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag178;
4685 function Flag179 (N : Node_Id) return Boolean is
4687 pragma Assert (Nkind (N) in N_Entity);
4688 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag179;
4691 function Flag180 (N : Node_Id) return Boolean is
4693 pragma Assert (Nkind (N) in N_Entity);
4694 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag180;
4697 function Flag181 (N : Node_Id) return Boolean is
4699 pragma Assert (Nkind (N) in N_Entity);
4700 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag181;
4703 function Flag182 (N : Node_Id) return Boolean is
4705 pragma Assert (Nkind (N) in N_Entity);
4706 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag182;
4709 function Flag183 (N : Node_Id) return Boolean is
4711 pragma Assert (Nkind (N) in N_Entity);
4712 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag183;
4715 function Flag184 (N : Node_Id) return Boolean is
4717 pragma Assert (Nkind (N) in N_Entity);
4718 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag184;
4721 function Flag185 (N : Node_Id) return Boolean is
4723 pragma Assert (Nkind (N) in N_Entity);
4724 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag185;
4727 function Flag186 (N : Node_Id) return Boolean is
4729 pragma Assert (Nkind (N) in N_Entity);
4730 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag186;
4733 function Flag187 (N : Node_Id) return Boolean is
4735 pragma Assert (Nkind (N) in N_Entity);
4736 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag187;
4739 function Flag188 (N : Node_Id) return Boolean is
4741 pragma Assert (Nkind (N) in N_Entity);
4742 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag188;
4745 function Flag189 (N : Node_Id) return Boolean is
4747 pragma Assert (Nkind (N) in N_Entity);
4748 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag189;
4751 function Flag190 (N : Node_Id) return Boolean is
4753 pragma Assert (Nkind (N) in N_Entity);
4754 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag190;
4757 function Flag191 (N : Node_Id) return Boolean is
4759 pragma Assert (Nkind (N) in N_Entity);
4760 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag191;
4763 function Flag192 (N : Node_Id) return Boolean is
4765 pragma Assert (Nkind (N) in N_Entity);
4766 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag192;
4769 function Flag193 (N : Node_Id) return Boolean is
4771 pragma Assert (Nkind (N) in N_Entity);
4772 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag193;
4775 function Flag194 (N : Node_Id) return Boolean is
4777 pragma Assert (Nkind (N) in N_Entity);
4778 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag194;
4781 function Flag195 (N : Node_Id) return Boolean is
4783 pragma Assert (Nkind (N) in N_Entity);
4784 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag195;
4787 function Flag196 (N : Node_Id) return Boolean is
4789 pragma Assert (Nkind (N) in N_Entity);
4790 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag196;
4793 function Flag197 (N : Node_Id) return Boolean is
4795 pragma Assert (Nkind (N) in N_Entity);
4796 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag197;
4799 function Flag198 (N : Node_Id) return Boolean is
4801 pragma Assert (Nkind (N) in N_Entity);
4802 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag198;
4805 function Flag199 (N : Node_Id) return Boolean is
4807 pragma Assert (Nkind (N) in N_Entity);
4808 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag199;
4811 function Flag200 (N : Node_Id) return Boolean is
4813 pragma Assert (Nkind (N) in N_Entity);
4814 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag200;
4817 function Flag201 (N : Node_Id) return Boolean is
4819 pragma Assert (Nkind (N) in N_Entity);
4820 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag201;
4823 function Flag202 (N : Node_Id) return Boolean is
4825 pragma Assert (Nkind (N) in N_Entity);
4826 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag202;
4829 function Flag203 (N : Node_Id) return Boolean is
4831 pragma Assert (Nkind (N) in N_Entity);
4832 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag203;
4835 function Flag204 (N : Node_Id) return Boolean is
4837 pragma Assert (Nkind (N) in N_Entity);
4838 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag204;
4841 function Flag205 (N : Node_Id) return Boolean is
4843 pragma Assert (Nkind (N) in N_Entity);
4844 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag205;
4847 function Flag206 (N : Node_Id) return Boolean is
4849 pragma Assert (Nkind (N) in N_Entity);
4850 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag206;
4853 function Flag207 (N : Node_Id) return Boolean is
4855 pragma Assert (Nkind (N) in N_Entity);
4856 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag207;
4859 function Flag208 (N : Node_Id) return Boolean is
4861 pragma Assert (Nkind (N) in N_Entity);
4862 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag208;
4865 function Flag209 (N : Node_Id) return Boolean is
4867 pragma Assert (Nkind (N) in N_Entity);
4868 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag209;
4871 function Flag210 (N : Node_Id) return Boolean is
4873 pragma Assert (Nkind (N) in N_Entity);
4874 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag210;
4877 function Flag211 (N : Node_Id) return Boolean is
4879 pragma Assert (Nkind (N) in N_Entity);
4880 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag211;
4883 function Flag212 (N : Node_Id) return Boolean is
4885 pragma Assert (Nkind (N) in N_Entity);
4886 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag212;
4889 function Flag213 (N : Node_Id) return Boolean is
4891 pragma Assert (Nkind (N) in N_Entity);
4892 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag213;
4895 function Flag214 (N : Node_Id) return Boolean is
4897 pragma Assert (Nkind (N) in N_Entity);
4898 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag214;
4901 function Flag215 (N : Node_Id) return Boolean is
4903 pragma Assert (Nkind (N) in N_Entity);
4904 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag215;
4907 function Flag216 (N : Node_Id) return Boolean is
4909 pragma Assert (Nkind (N) in N_Entity);
4910 return Nodes.Table (N + 4).In_List;
4913 function Flag217 (N : Node_Id) return Boolean is
4915 pragma Assert (Nkind (N) in N_Entity);
4916 return Nodes.Table (N + 4).Has_Aspects;
4919 function Flag218 (N : Node_Id) return Boolean is
4921 pragma Assert (Nkind (N) in N_Entity);
4922 return Nodes.Table (N + 4).Rewrite_Ins;
4925 function Flag219 (N : Node_Id) return Boolean is
4927 pragma Assert (Nkind (N) in N_Entity);
4928 return Nodes.Table (N + 4).Analyzed;
4931 function Flag220 (N : Node_Id) return Boolean is
4933 pragma Assert (Nkind (N) in N_Entity);
4934 return Nodes.Table (N + 4).Comes_From_Source;
4937 function Flag221 (N : Node_Id) return Boolean is
4939 pragma Assert (Nkind (N) in N_Entity);
4940 return Nodes.Table (N + 4).Error_Posted;
4943 function Flag222 (N : Node_Id) return Boolean is
4945 pragma Assert (Nkind (N) in N_Entity);
4946 return Nodes.Table (N + 4).Flag4;
4949 function Flag223 (N : Node_Id) return Boolean is
4951 pragma Assert (Nkind (N) in N_Entity);
4952 return Nodes.Table (N + 4).Flag5;
4955 function Flag224 (N : Node_Id) return Boolean is
4957 pragma Assert (Nkind (N) in N_Entity);
4958 return Nodes.Table (N + 4).Flag6;
4961 function Flag225 (N : Node_Id) return Boolean is
4963 pragma Assert (Nkind (N) in N_Entity);
4964 return Nodes.Table (N + 4).Flag7;
4967 function Flag226 (N : Node_Id) return Boolean is
4969 pragma Assert (Nkind (N) in N_Entity);
4970 return Nodes.Table (N + 4).Flag8;
4973 function Flag227 (N : Node_Id) return Boolean is
4975 pragma Assert (Nkind (N) in N_Entity);
4976 return Nodes.Table (N + 4).Flag9;
4979 function Flag228 (N : Node_Id) return Boolean is
4981 pragma Assert (Nkind (N) in N_Entity);
4982 return Nodes.Table (N + 4).Flag10;
4985 function Flag229 (N : Node_Id) return Boolean is
4987 pragma Assert (Nkind (N) in N_Entity);
4988 return Nodes.Table (N + 4).Flag11;
4991 function Flag230 (N : Node_Id) return Boolean is
4993 pragma Assert (Nkind (N) in N_Entity);
4994 return Nodes.Table (N + 4).Flag12;
4997 function Flag231 (N : Node_Id) return Boolean is
4999 pragma Assert (Nkind (N) in N_Entity);
5000 return Nodes.Table (N + 4).Flag13;
5003 function Flag232 (N : Node_Id) return Boolean is
5005 pragma Assert (Nkind (N) in N_Entity);
5006 return Nodes.Table (N + 4).Flag14;
5009 function Flag233 (N : Node_Id) return Boolean is
5011 pragma Assert (Nkind (N) in N_Entity);
5012 return Nodes.Table (N + 4).Flag15;
5015 function Flag234 (N : Node_Id) return Boolean is
5017 pragma Assert (Nkind (N) in N_Entity);
5018 return Nodes.Table (N + 4).Flag16;
5021 function Flag235 (N : Node_Id) return Boolean is
5023 pragma Assert (Nkind (N) in N_Entity);
5024 return Nodes.Table (N + 4).Flag17;
5027 function Flag236 (N : Node_Id) return Boolean is
5029 pragma Assert (Nkind (N) in N_Entity);
5030 return Nodes.Table (N + 4).Flag18;
5033 function Flag237 (N : Node_Id) return Boolean is
5035 pragma Assert (Nkind (N) in N_Entity);
5036 return Nodes.Table (N + 4).Pflag1;
5039 function Flag238 (N : Node_Id) return Boolean is
5041 pragma Assert (Nkind (N) in N_Entity);
5042 return Nodes.Table (N + 4).Pflag2;
5045 function Flag239 (N : Node_Id) return Boolean is
5047 pragma Assert (Nkind (N) in N_Entity);
5048 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag239;
5051 function Flag240 (N : Node_Id) return Boolean is
5053 pragma Assert (Nkind (N) in N_Entity);
5054 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag240;
5057 function Flag241 (N : Node_Id) return Boolean is
5059 pragma Assert (Nkind (N) in N_Entity);
5060 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag241;
5063 function Flag242 (N : Node_Id) return Boolean is
5065 pragma Assert (Nkind (N) in N_Entity);
5066 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag242;
5069 function Flag243 (N : Node_Id) return Boolean is
5071 pragma Assert (Nkind (N) in N_Entity);
5072 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag243;
5075 function Flag244 (N : Node_Id) return Boolean is
5077 pragma Assert (Nkind (N) in N_Entity);
5078 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag244;
5081 function Flag245 (N : Node_Id) return Boolean is
5083 pragma Assert (Nkind (N) in N_Entity);
5084 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag245;
5087 function Flag246 (N : Node_Id) return Boolean is
5089 pragma Assert (Nkind (N) in N_Entity);
5090 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag246;
5093 function Flag247 (N : Node_Id) return Boolean is
5095 pragma Assert (Nkind (N) in N_Entity);
5096 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag247;
5099 function Flag248 (N : Node_Id) return Boolean is
5101 pragma Assert (Nkind (N) in N_Entity);
5102 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag248;
5105 function Flag249 (N : Node_Id) return Boolean is
5107 pragma Assert (Nkind (N) in N_Entity);
5108 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag249;
5111 function Flag250 (N : Node_Id) return Boolean is
5113 pragma Assert (Nkind (N) in N_Entity);
5114 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag250;
5117 function Flag251 (N : Node_Id) return Boolean is
5119 pragma Assert (Nkind (N) in N_Entity);
5120 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag251;
5123 function Flag252 (N : Node_Id) return Boolean is
5125 pragma Assert (Nkind (N) in N_Entity);
5126 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag252;
5129 function Flag253 (N : Node_Id) return Boolean is
5131 pragma Assert (Nkind (N) in N_Entity);
5132 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag253;
5135 function Flag254 (N : Node_Id) return Boolean is
5137 pragma Assert (Nkind (N) in N_Entity);
5138 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag254;
5141 function Flag255 (N : Node_Id) return Boolean is
5143 pragma Assert (Nkind (N) in N_Entity);
5144 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag255;
5147 function Flag256 (N : Node_Id) return Boolean is
5149 pragma Assert (Nkind (N) in N_Entity);
5150 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag256;
5153 function Flag257 (N : Node_Id) return Boolean is
5155 pragma Assert (Nkind (N) in N_Entity);
5156 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag257;
5159 function Flag258 (N : Node_Id) return Boolean is
5161 pragma Assert (Nkind (N) in N_Entity);
5162 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag258;
5165 function Flag259 (N : Node_Id) return Boolean is
5167 pragma Assert (Nkind (N) in N_Entity);
5168 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag259;
5171 function Flag260 (N : Node_Id) return Boolean is
5173 pragma Assert (Nkind (N) in N_Entity);
5174 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag260;
5177 function Flag261 (N : Node_Id) return Boolean is
5179 pragma Assert (Nkind (N) in N_Entity);
5180 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag261;
5183 function Flag262 (N : Node_Id) return Boolean is
5185 pragma Assert (Nkind (N) in N_Entity);
5186 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag262;
5189 function Flag263 (N : Node_Id) return Boolean is
5191 pragma Assert (Nkind (N) in N_Entity);
5192 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag263;
5195 function Flag264 (N : Node_Id) return Boolean is
5197 pragma Assert (Nkind (N) in N_Entity);
5198 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag264;
5201 function Flag265 (N : Node_Id) return Boolean is
5203 pragma Assert (Nkind (N) in N_Entity);
5204 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag265;
5207 function Flag266 (N : Node_Id) return Boolean is
5209 pragma Assert (Nkind (N) in N_Entity);
5210 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag266;
5213 function Flag267 (N : Node_Id) return Boolean is
5215 pragma Assert (Nkind (N) in N_Entity);
5216 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag267;
5219 function Flag268 (N : Node_Id) return Boolean is
5221 pragma Assert (Nkind (N) in N_Entity);
5222 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag268;
5225 function Flag269 (N : Node_Id) return Boolean is
5227 pragma Assert (Nkind (N) in N_Entity);
5228 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag269;
5231 function Flag270 (N : Node_Id) return Boolean is
5233 pragma Assert (Nkind (N) in N_Entity);
5234 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag270;
5237 function Flag271 (N : Node_Id) return Boolean is
5239 pragma Assert (Nkind (N) in N_Entity);
5240 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag271;
5243 function Flag272 (N : Node_Id) return Boolean is
5245 pragma Assert (Nkind (N) in N_Entity);
5246 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag272;
5249 function Flag273 (N : Node_Id) return Boolean is
5251 pragma Assert (Nkind (N) in N_Entity);
5252 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag273;
5255 function Flag274 (N : Node_Id) return Boolean is
5257 pragma Assert (Nkind (N) in N_Entity);
5258 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag274;
5261 function Flag275 (N : Node_Id) return Boolean is
5263 pragma Assert (Nkind (N) in N_Entity);
5264 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag275;
5267 function Flag276 (N : Node_Id) return Boolean is
5269 pragma Assert (Nkind (N) in N_Entity);
5270 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag276;
5273 function Flag277 (N : Node_Id) return Boolean is
5275 pragma Assert (Nkind (N) in N_Entity);
5276 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag277;
5279 function Flag278 (N : Node_Id) return Boolean is
5281 pragma Assert (Nkind (N) in N_Entity);
5282 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag278;
5285 function Flag279 (N : Node_Id) return Boolean is
5287 pragma Assert (Nkind (N) in N_Entity);
5288 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag279;
5291 function Flag280 (N : Node_Id) return Boolean is
5293 pragma Assert (Nkind (N) in N_Entity);
5294 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag280;
5297 function Flag281 (N : Node_Id) return Boolean is
5299 pragma Assert (Nkind (N) in N_Entity);
5300 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag281;
5303 function Flag282 (N : Node_Id) return Boolean is
5305 pragma Assert (Nkind (N) in N_Entity);
5306 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag282;
5309 function Flag283 (N : Node_Id) return Boolean is
5311 pragma Assert (Nkind (N) in N_Entity);
5312 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag283;
5315 function Flag284 (N : Node_Id) return Boolean is
5317 pragma Assert (Nkind (N) in N_Entity);
5318 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag284;
5321 function Flag285 (N : Node_Id) return Boolean is
5323 pragma Assert (Nkind (N) in N_Entity);
5324 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag285;
5327 function Flag286 (N : Node_Id) return Boolean is
5329 pragma Assert (Nkind (N) in N_Entity);
5330 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag286;
5333 function Flag287 (N : Node_Id) return Boolean is
5335 pragma Assert (Nkind (N) in N_Entity);
5336 return Nodes.Table (N + 5).In_List;
5339 function Flag288 (N : Node_Id) return Boolean is
5341 pragma Assert (Nkind (N) in N_Entity);
5342 return Nodes.Table (N + 5).Has_Aspects;
5345 function Flag289 (N : Node_Id) return Boolean is
5347 pragma Assert (Nkind (N) in N_Entity);
5348 return Nodes.Table (N + 5).Rewrite_Ins;
5351 function Flag290 (N : Node_Id) return Boolean is
5353 pragma Assert (Nkind (N) in N_Entity);
5354 return Nodes.Table (N + 5).Analyzed;
5357 function Flag291 (N : Node_Id) return Boolean is
5359 pragma Assert (Nkind (N) in N_Entity);
5360 return Nodes.Table (N + 5).Comes_From_Source;
5363 function Flag292 (N : Node_Id) return Boolean is
5365 pragma Assert (Nkind (N) in N_Entity);
5366 return Nodes.Table (N + 5).Error_Posted;
5369 function Flag293 (N : Node_Id) return Boolean is
5371 pragma Assert (Nkind (N) in N_Entity);
5372 return Nodes.Table (N + 5).Flag4;
5375 function Flag294 (N : Node_Id) return Boolean is
5377 pragma Assert (Nkind (N) in N_Entity);
5378 return Nodes.Table (N + 5).Flag5;
5381 function Flag295 (N : Node_Id) return Boolean is
5383 pragma Assert (Nkind (N) in N_Entity);
5384 return Nodes.Table (N + 5).Flag6;
5387 function Flag296 (N : Node_Id) return Boolean is
5389 pragma Assert (Nkind (N) in N_Entity);
5390 return Nodes.Table (N + 5).Flag7;
5393 function Flag297 (N : Node_Id) return Boolean is
5395 pragma Assert (Nkind (N) in N_Entity);
5396 return Nodes.Table (N + 5).Flag8;
5399 function Flag298 (N : Node_Id) return Boolean is
5401 pragma Assert (Nkind (N) in N_Entity);
5402 return Nodes.Table (N + 5).Flag9;
5405 function Flag299 (N : Node_Id) return Boolean is
5407 pragma Assert (Nkind (N) in N_Entity);
5408 return Nodes.Table (N + 5).Flag10;
5411 function Flag300 (N : Node_Id) return Boolean is
5413 pragma Assert (Nkind (N) in N_Entity);
5414 return Nodes.Table (N + 5).Flag11;
5417 function Flag301 (N : Node_Id) return Boolean is
5419 pragma Assert (Nkind (N) in N_Entity);
5420 return Nodes.Table (N + 5).Flag12;
5423 function Flag302 (N : Node_Id) return Boolean is
5425 pragma Assert (Nkind (N) in N_Entity);
5426 return Nodes.Table (N + 5).Flag13;
5429 function Flag303 (N : Node_Id) return Boolean is
5431 pragma Assert (Nkind (N) in N_Entity);
5432 return Nodes.Table (N + 5).Flag14;
5435 function Flag304 (N : Node_Id) return Boolean is
5437 pragma Assert (Nkind (N) in N_Entity);
5438 return Nodes.Table (N + 5).Flag15;
5441 function Flag305 (N : Node_Id) return Boolean is
5443 pragma Assert (Nkind (N) in N_Entity);
5444 return Nodes.Table (N + 5).Flag16;
5447 function Flag306 (N : Node_Id) return Boolean is
5449 pragma Assert (Nkind (N) in N_Entity);
5450 return Nodes.Table (N + 5).Flag17;
5453 function Flag307 (N : Node_Id) return Boolean is
5455 pragma Assert (Nkind (N) in N_Entity);
5456 return Nodes.Table (N + 5).Flag18;
5459 function Flag308 (N : Node_Id) return Boolean is
5461 pragma Assert (Nkind (N) in N_Entity);
5462 return Nodes.Table (N + 5).Pflag1;
5465 function Flag309 (N : Node_Id) return Boolean is
5467 pragma Assert (Nkind (N) in N_Entity);
5468 return Nodes.Table (N + 5).Pflag2;
5471 function Flag310 (N : Node_Id) return Boolean is
5473 pragma Assert (Nkind (N) in N_Entity);
5474 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag310;
5477 function Flag311 (N : Node_Id) return Boolean is
5479 pragma Assert (Nkind (N) in N_Entity);
5480 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag311;
5483 function Flag312 (N : Node_Id) return Boolean is
5485 pragma Assert (Nkind (N) in N_Entity);
5486 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag312;
5489 function Flag313 (N : Node_Id) return Boolean is
5491 pragma Assert (Nkind (N) in N_Entity);
5492 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag313;
5495 function Flag314 (N : Node_Id) return Boolean is
5497 pragma Assert (Nkind (N) in N_Entity);
5498 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag314;
5501 function Flag315 (N : Node_Id) return Boolean is
5503 pragma Assert (Nkind (N) in N_Entity);
5504 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag315;
5507 function Flag316 (N : Node_Id) return Boolean is
5509 pragma Assert (Nkind (N) in N_Entity);
5510 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag316;
5513 function Flag317 (N : Node_Id) return Boolean is
5515 pragma Assert (Nkind (N) in N_Entity);
5516 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag317;
5519 procedure Set_Nkind (N : Node_Id; Val : Node_Kind) is
5521 pragma Assert (not Locked);
5522 pragma Assert (N <= Nodes.Last);
5523 Nodes.Table (N).Nkind := Val;
5526 procedure Set_Field1 (N : Node_Id; Val : Union_Id) is
5528 pragma Assert (not Locked);
5529 pragma Assert (N <= Nodes.Last);
5530 Nodes.Table (N).Field1 := Val;
5533 procedure Set_Field2 (N : Node_Id; Val : Union_Id) is
5535 pragma Assert (not Locked);
5536 pragma Assert (N <= Nodes.Last);
5537 Nodes.Table (N).Field2 := Val;
5540 procedure Set_Field3 (N : Node_Id; Val : Union_Id) is
5542 pragma Assert (not Locked);
5543 pragma Assert (N <= Nodes.Last);
5544 Nodes.Table (N).Field3 := Val;
5547 procedure Set_Field4 (N : Node_Id; Val : Union_Id) is
5549 pragma Assert (not Locked);
5550 pragma Assert (N <= Nodes.Last);
5551 Nodes.Table (N).Field4 := Val;
5554 procedure Set_Field5 (N : Node_Id; Val : Union_Id) is
5556 pragma Assert (not Locked);
5557 pragma Assert (N <= Nodes.Last);
5558 Nodes.Table (N).Field5 := Val;
5561 procedure Set_Field6 (N : Node_Id; Val : Union_Id) is
5563 pragma Assert (not Locked);
5564 pragma Assert (Nkind (N) in N_Entity);
5565 Nodes.Table (N + 1).Field6 := Val;
5568 procedure Set_Field7 (N : Node_Id; Val : Union_Id) is
5570 pragma Assert (not Locked);
5571 pragma Assert (Nkind (N) in N_Entity);
5572 Nodes.Table (N + 1).Field7 := Val;
5575 procedure Set_Field8 (N : Node_Id; Val : Union_Id) is
5577 pragma Assert (not Locked);
5578 pragma Assert (Nkind (N) in N_Entity);
5579 Nodes.Table (N + 1).Field8 := Val;
5582 procedure Set_Field9 (N : Node_Id; Val : Union_Id) is
5584 pragma Assert (not Locked);
5585 pragma Assert (Nkind (N) in N_Entity);
5586 Nodes.Table (N + 1).Field9 := Val;
5589 procedure Set_Field10 (N : Node_Id; Val : Union_Id) is
5591 pragma Assert (not Locked);
5592 pragma Assert (Nkind (N) in N_Entity);
5593 Nodes.Table (N + 1).Field10 := Val;
5596 procedure Set_Field11 (N : Node_Id; Val : Union_Id) is
5598 pragma Assert (not Locked);
5599 pragma Assert (Nkind (N) in N_Entity);
5600 Nodes.Table (N + 1).Field11 := Val;
5603 procedure Set_Field12 (N : Node_Id; Val : Union_Id) is
5605 pragma Assert (not Locked);
5606 pragma Assert (Nkind (N) in N_Entity);
5607 Nodes.Table (N + 1).Field12 := Val;
5610 procedure Set_Field13 (N : Node_Id; Val : Union_Id) is
5612 pragma Assert (not Locked);
5613 pragma Assert (Nkind (N) in N_Entity);
5614 Nodes.Table (N + 2).Field6 := Val;
5617 procedure Set_Field14 (N : Node_Id; Val : Union_Id) is
5619 pragma Assert (not Locked);
5620 pragma Assert (Nkind (N) in N_Entity);
5621 Nodes.Table (N + 2).Field7 := Val;
5624 procedure Set_Field15 (N : Node_Id; Val : Union_Id) is
5626 pragma Assert (not Locked);
5627 pragma Assert (Nkind (N) in N_Entity);
5628 Nodes.Table (N + 2).Field8 := Val;
5631 procedure Set_Field16 (N : Node_Id; Val : Union_Id) is
5633 pragma Assert (not Locked);
5634 pragma Assert (Nkind (N) in N_Entity);
5635 Nodes.Table (N + 2).Field9 := Val;
5638 procedure Set_Field17 (N : Node_Id; Val : Union_Id) is
5640 pragma Assert (not Locked);
5641 pragma Assert (Nkind (N) in N_Entity);
5642 Nodes.Table (N + 2).Field10 := Val;
5645 procedure Set_Field18 (N : Node_Id; Val : Union_Id) is
5647 pragma Assert (not Locked);
5648 pragma Assert (Nkind (N) in N_Entity);
5649 Nodes.Table (N + 2).Field11 := Val;
5652 procedure Set_Field19 (N : Node_Id; Val : Union_Id) is
5654 pragma Assert (not Locked);
5655 pragma Assert (Nkind (N) in N_Entity);
5656 Nodes.Table (N + 3).Field6 := Val;
5659 procedure Set_Field20 (N : Node_Id; Val : Union_Id) is
5661 pragma Assert (not Locked);
5662 pragma Assert (Nkind (N) in N_Entity);
5663 Nodes.Table (N + 3).Field7 := Val;
5666 procedure Set_Field21 (N : Node_Id; Val : Union_Id) is
5668 pragma Assert (not Locked);
5669 pragma Assert (Nkind (N) in N_Entity);
5670 Nodes.Table (N + 3).Field8 := Val;
5673 procedure Set_Field22 (N : Node_Id; Val : Union_Id) is
5675 pragma Assert (not Locked);
5676 pragma Assert (Nkind (N) in N_Entity);
5677 Nodes.Table (N + 3).Field9 := Val;
5680 procedure Set_Field23 (N : Node_Id; Val : Union_Id) is
5682 pragma Assert (not Locked);
5683 pragma Assert (Nkind (N) in N_Entity);
5684 Nodes.Table (N + 3).Field10 := Val;
5687 procedure Set_Field24 (N : Node_Id; Val : Union_Id) is
5689 pragma Assert (not Locked);
5690 pragma Assert (Nkind (N) in N_Entity);
5691 Nodes.Table (N + 4).Field6 := Val;
5694 procedure Set_Field25 (N : Node_Id; Val : Union_Id) is
5696 pragma Assert (not Locked);
5697 pragma Assert (Nkind (N) in N_Entity);
5698 Nodes.Table (N + 4).Field7 := Val;
5701 procedure Set_Field26 (N : Node_Id; Val : Union_Id) is
5703 pragma Assert (not Locked);
5704 pragma Assert (Nkind (N) in N_Entity);
5705 Nodes.Table (N + 4).Field8 := Val;
5708 procedure Set_Field27 (N : Node_Id; Val : Union_Id) is
5710 pragma Assert (not Locked);
5711 pragma Assert (Nkind (N) in N_Entity);
5712 Nodes.Table (N + 4).Field9 := Val;
5715 procedure Set_Field28 (N : Node_Id; Val : Union_Id) is
5717 pragma Assert (not Locked);
5718 pragma Assert (Nkind (N) in N_Entity);
5719 Nodes.Table (N + 4).Field10 := Val;
5722 procedure Set_Field29 (N : Node_Id; Val : Union_Id) is
5724 pragma Assert (not Locked);
5725 pragma Assert (Nkind (N) in N_Entity);
5726 Nodes.Table (N + 4).Field11 := Val;
5729 procedure Set_Field30 (N : Node_Id; Val : Union_Id) is
5731 pragma Assert (not Locked);
5732 pragma Assert (Nkind (N) in N_Entity);
5733 Nodes.Table (N + 5).Field6 := Val;
5736 procedure Set_Field31 (N : Node_Id; Val : Union_Id) is
5738 pragma Assert (not Locked);
5739 pragma Assert (Nkind (N) in N_Entity);
5740 Nodes.Table (N + 5).Field7 := Val;
5743 procedure Set_Field32 (N : Node_Id; Val : Union_Id) is
5745 pragma Assert (not Locked);
5746 pragma Assert (Nkind (N) in N_Entity);
5747 Nodes.Table (N + 5).Field8 := Val;
5750 procedure Set_Field33 (N : Node_Id; Val : Union_Id) is
5752 pragma Assert (not Locked);
5753 pragma Assert (Nkind (N) in N_Entity);
5754 Nodes.Table (N + 5).Field9 := Val;
5757 procedure Set_Field34 (N : Node_Id; Val : Union_Id) is
5759 pragma Assert (not Locked);
5760 pragma Assert (Nkind (N) in N_Entity);
5761 Nodes.Table (N + 5).Field10 := Val;
5764 procedure Set_Field35 (N : Node_Id; Val : Union_Id) is
5766 pragma Assert (not Locked);
5767 pragma Assert (Nkind (N) in N_Entity);
5768 Nodes.Table (N + 5).Field11 := Val;
5771 procedure Set_Field36 (N : Node_Id; Val : Union_Id) is
5773 pragma Assert (not Locked);
5774 pragma Assert (Nkind (N) in N_Entity);
5775 Nodes.Table (N + 6).Field6 := Val;
5778 procedure Set_Field37 (N : Node_Id; Val : Union_Id) is
5780 pragma Assert (not Locked);
5781 pragma Assert (Nkind (N) in N_Entity);
5782 Nodes.Table (N + 6).Field7 := Val;
5785 procedure Set_Field38 (N : Node_Id; Val : Union_Id) is
5787 pragma Assert (not Locked);
5788 pragma Assert (Nkind (N) in N_Entity);
5789 Nodes.Table (N + 6).Field8 := Val;
5792 procedure Set_Field39 (N : Node_Id; Val : Union_Id) is
5794 pragma Assert (not Locked);
5795 pragma Assert (Nkind (N) in N_Entity);
5796 Nodes.Table (N + 6).Field9 := Val;
5799 procedure Set_Field40 (N : Node_Id; Val : Union_Id) is
5801 pragma Assert (not Locked);
5802 pragma Assert (Nkind (N) in N_Entity);
5803 Nodes.Table (N + 6).Field10 := Val;
5806 procedure Set_Field41 (N : Node_Id; Val : Union_Id) is
5808 pragma Assert (not Locked);
5809 pragma Assert (Nkind (N) in N_Entity);
5810 Nodes.Table (N + 6).Field11 := Val;
5813 procedure Set_Node1 (N : Node_Id; Val : Node_Id) is
5815 pragma Assert (not Locked);
5816 pragma Assert (N <= Nodes.Last);
5817 Nodes.Table (N).Field1 := Union_Id (Val);
5820 procedure Set_Node2 (N : Node_Id; Val : Node_Id) is
5822 pragma Assert (not Locked);
5823 pragma Assert (N <= Nodes.Last);
5824 Nodes.Table (N).Field2 := Union_Id (Val);
5827 procedure Set_Node3 (N : Node_Id; Val : Node_Id) is
5829 pragma Assert (not Locked);
5830 pragma Assert (N <= Nodes.Last);
5831 Nodes.Table (N).Field3 := Union_Id (Val);
5834 procedure Set_Node4 (N : Node_Id; Val : Node_Id) is
5836 pragma Assert (not Locked);
5837 pragma Assert (N <= Nodes.Last);
5838 Nodes.Table (N).Field4 := Union_Id (Val);
5841 procedure Set_Node5 (N : Node_Id; Val : Node_Id) is
5843 pragma Assert (not Locked);
5844 pragma Assert (N <= Nodes.Last);
5845 Nodes.Table (N).Field5 := Union_Id (Val);
5848 procedure Set_Node6 (N : Node_Id; Val : Node_Id) is
5850 pragma Assert (not Locked);
5851 pragma Assert (Nkind (N) in N_Entity);
5852 Nodes.Table (N + 1).Field6 := Union_Id (Val);
5855 procedure Set_Node7 (N : Node_Id; Val : Node_Id) is
5857 pragma Assert (not Locked);
5858 pragma Assert (Nkind (N) in N_Entity);
5859 Nodes.Table (N + 1).Field7 := Union_Id (Val);
5862 procedure Set_Node8 (N : Node_Id; Val : Node_Id) is
5864 pragma Assert (not Locked);
5865 pragma Assert (Nkind (N) in N_Entity);
5866 Nodes.Table (N + 1).Field8 := Union_Id (Val);
5869 procedure Set_Node9 (N : Node_Id; Val : Node_Id) is
5871 pragma Assert (not Locked);
5872 pragma Assert (Nkind (N) in N_Entity);
5873 Nodes.Table (N + 1).Field9 := Union_Id (Val);
5876 procedure Set_Node10 (N : Node_Id; Val : Node_Id) is
5878 pragma Assert (not Locked);
5879 pragma Assert (Nkind (N) in N_Entity);
5880 Nodes.Table (N + 1).Field10 := Union_Id (Val);
5883 procedure Set_Node11 (N : Node_Id; Val : Node_Id) is
5885 pragma Assert (not Locked);
5886 pragma Assert (Nkind (N) in N_Entity);
5887 Nodes.Table (N + 1).Field11 := Union_Id (Val);
5890 procedure Set_Node12 (N : Node_Id; Val : Node_Id) is
5892 pragma Assert (not Locked);
5893 pragma Assert (Nkind (N) in N_Entity);
5894 Nodes.Table (N + 1).Field12 := Union_Id (Val);
5897 procedure Set_Node13 (N : Node_Id; Val : Node_Id) is
5899 pragma Assert (not Locked);
5900 pragma Assert (Nkind (N) in N_Entity);
5901 Nodes.Table (N + 2).Field6 := Union_Id (Val);
5904 procedure Set_Node14 (N : Node_Id; Val : Node_Id) is
5906 pragma Assert (not Locked);
5907 pragma Assert (Nkind (N) in N_Entity);
5908 Nodes.Table (N + 2).Field7 := Union_Id (Val);
5911 procedure Set_Node15 (N : Node_Id; Val : Node_Id) is
5913 pragma Assert (not Locked);
5914 pragma Assert (Nkind (N) in N_Entity);
5915 Nodes.Table (N + 2).Field8 := Union_Id (Val);
5918 procedure Set_Node16 (N : Node_Id; Val : Node_Id) is
5920 pragma Assert (not Locked);
5921 pragma Assert (Nkind (N) in N_Entity);
5922 Nodes.Table (N + 2).Field9 := Union_Id (Val);
5925 procedure Set_Node17 (N : Node_Id; Val : Node_Id) is
5927 pragma Assert (not Locked);
5928 pragma Assert (Nkind (N) in N_Entity);
5929 Nodes.Table (N + 2).Field10 := Union_Id (Val);
5932 procedure Set_Node18 (N : Node_Id; Val : Node_Id) is
5934 pragma Assert (not Locked);
5935 pragma Assert (Nkind (N) in N_Entity);
5936 Nodes.Table (N + 2).Field11 := Union_Id (Val);
5939 procedure Set_Node19 (N : Node_Id; Val : Node_Id) is
5941 pragma Assert (not Locked);
5942 pragma Assert (Nkind (N) in N_Entity);
5943 Nodes.Table (N + 3).Field6 := Union_Id (Val);
5946 procedure Set_Node20 (N : Node_Id; Val : Node_Id) is
5948 pragma Assert (not Locked);
5949 pragma Assert (Nkind (N) in N_Entity);
5950 Nodes.Table (N + 3).Field7 := Union_Id (Val);
5953 procedure Set_Node21 (N : Node_Id; Val : Node_Id) is
5955 pragma Assert (not Locked);
5956 pragma Assert (Nkind (N) in N_Entity);
5957 Nodes.Table (N + 3).Field8 := Union_Id (Val);
5960 procedure Set_Node22 (N : Node_Id; Val : Node_Id) is
5962 pragma Assert (not Locked);
5963 pragma Assert (Nkind (N) in N_Entity);
5964 Nodes.Table (N + 3).Field9 := Union_Id (Val);
5967 procedure Set_Node23 (N : Node_Id; Val : Node_Id) is
5969 pragma Assert (not Locked);
5970 pragma Assert (Nkind (N) in N_Entity);
5971 Nodes.Table (N + 3).Field10 := Union_Id (Val);
5974 procedure Set_Node24 (N : Node_Id; Val : Node_Id) is
5976 pragma Assert (not Locked);
5977 pragma Assert (Nkind (N) in N_Entity);
5978 Nodes.Table (N + 4).Field6 := Union_Id (Val);
5981 procedure Set_Node25 (N : Node_Id; Val : Node_Id) is
5983 pragma Assert (not Locked);
5984 pragma Assert (Nkind (N) in N_Entity);
5985 Nodes.Table (N + 4).Field7 := Union_Id (Val);
5988 procedure Set_Node26 (N : Node_Id; Val : Node_Id) is
5990 pragma Assert (not Locked);
5991 pragma Assert (Nkind (N) in N_Entity);
5992 Nodes.Table (N + 4).Field8 := Union_Id (Val);
5995 procedure Set_Node27 (N : Node_Id; Val : Node_Id) is
5997 pragma Assert (not Locked);
5998 pragma Assert (Nkind (N) in N_Entity);
5999 Nodes.Table (N + 4).Field9 := Union_Id (Val);
6002 procedure Set_Node28 (N : Node_Id; Val : Node_Id) is
6004 pragma Assert (not Locked);
6005 pragma Assert (Nkind (N) in N_Entity);
6006 Nodes.Table (N + 4).Field10 := Union_Id (Val);
6009 procedure Set_Node29 (N : Node_Id; Val : Node_Id) is
6011 pragma Assert (not Locked);
6012 pragma Assert (Nkind (N) in N_Entity);
6013 Nodes.Table (N + 4).Field11 := Union_Id (Val);
6016 procedure Set_Node30 (N : Node_Id; Val : Node_Id) is
6018 pragma Assert (not Locked);
6019 pragma Assert (Nkind (N) in N_Entity);
6020 Nodes.Table (N + 5).Field6 := Union_Id (Val);
6023 procedure Set_Node31 (N : Node_Id; Val : Node_Id) is
6025 pragma Assert (not Locked);
6026 pragma Assert (Nkind (N) in N_Entity);
6027 Nodes.Table (N + 5).Field7 := Union_Id (Val);
6030 procedure Set_Node32 (N : Node_Id; Val : Node_Id) is
6032 pragma Assert (not Locked);
6033 pragma Assert (Nkind (N) in N_Entity);
6034 Nodes.Table (N + 5).Field8 := Union_Id (Val);
6037 procedure Set_Node33 (N : Node_Id; Val : Node_Id) is
6039 pragma Assert (not Locked);
6040 pragma Assert (Nkind (N) in N_Entity);
6041 Nodes.Table (N + 5).Field9 := Union_Id (Val);
6044 procedure Set_Node34 (N : Node_Id; Val : Node_Id) is
6046 pragma Assert (not Locked);
6047 pragma Assert (Nkind (N) in N_Entity);
6048 Nodes.Table (N + 5).Field10 := Union_Id (Val);
6051 procedure Set_Node35 (N : Node_Id; Val : Node_Id) is
6053 pragma Assert (not Locked);
6054 pragma Assert (Nkind (N) in N_Entity);
6055 Nodes.Table (N + 5).Field11 := Union_Id (Val);
6058 procedure Set_Node36 (N : Node_Id; Val : Node_Id) is
6060 pragma Assert (not Locked);
6061 pragma Assert (Nkind (N) in N_Entity);
6062 Nodes.Table (N + 6).Field6 := Union_Id (Val);
6065 procedure Set_Node37 (N : Node_Id; Val : Node_Id) is
6067 pragma Assert (not Locked);
6068 pragma Assert (Nkind (N) in N_Entity);
6069 Nodes.Table (N + 6).Field7 := Union_Id (Val);
6072 procedure Set_Node38 (N : Node_Id; Val : Node_Id) is
6074 pragma Assert (not Locked);
6075 pragma Assert (Nkind (N) in N_Entity);
6076 Nodes.Table (N + 6).Field8 := Union_Id (Val);
6079 procedure Set_Node39 (N : Node_Id; Val : Node_Id) is
6081 pragma Assert (not Locked);
6082 pragma Assert (Nkind (N) in N_Entity);
6083 Nodes.Table (N + 6).Field9 := Union_Id (Val);
6086 procedure Set_Node40 (N : Node_Id; Val : Node_Id) is
6088 pragma Assert (not Locked);
6089 pragma Assert (Nkind (N) in N_Entity);
6090 Nodes.Table (N + 6).Field10 := Union_Id (Val);
6093 procedure Set_Node41 (N : Node_Id; Val : Node_Id) is
6095 pragma Assert (not Locked);
6096 pragma Assert (Nkind (N) in N_Entity);
6097 Nodes.Table (N + 6).Field11 := Union_Id (Val);
6100 procedure Set_List1 (N : Node_Id; Val : List_Id) is
6102 pragma Assert (not Locked);
6103 pragma Assert (N <= Nodes.Last);
6104 Nodes.Table (N).Field1 := Union_Id (Val);
6107 procedure Set_List2 (N : Node_Id; Val : List_Id) is
6109 pragma Assert (not Locked);
6110 pragma Assert (N <= Nodes.Last);
6111 Nodes.Table (N).Field2 := Union_Id (Val);
6114 procedure Set_List3 (N : Node_Id; Val : List_Id) is
6116 pragma Assert (not Locked);
6117 pragma Assert (N <= Nodes.Last);
6118 Nodes.Table (N).Field3 := Union_Id (Val);
6121 procedure Set_List4 (N : Node_Id; Val : List_Id) is
6123 pragma Assert (not Locked);
6124 pragma Assert (N <= Nodes.Last);
6125 Nodes.Table (N).Field4 := Union_Id (Val);
6128 procedure Set_List5 (N : Node_Id; Val : List_Id) is
6130 pragma Assert (not Locked);
6131 pragma Assert (N <= Nodes.Last);
6132 Nodes.Table (N).Field5 := Union_Id (Val);
6135 procedure Set_List10 (N : Node_Id; Val : List_Id) is
6137 pragma Assert (not Locked);
6138 pragma Assert (Nkind (N) in N_Entity);
6139 Nodes.Table (N + 1).Field10 := Union_Id (Val);
6142 procedure Set_List14 (N : Node_Id; Val : List_Id) is
6144 pragma Assert (not Locked);
6145 pragma Assert (Nkind (N) in N_Entity);
6146 Nodes.Table (N + 2).Field7 := Union_Id (Val);
6149 procedure Set_List25 (N : Node_Id; Val : List_Id) is
6151 pragma Assert (not Locked);
6152 pragma Assert (Nkind (N) in N_Entity);
6153 Nodes.Table (N + 4).Field7 := Union_Id (Val);
6156 procedure Set_List38 (N : Node_Id; Val : List_Id) is
6158 pragma Assert (not Locked);
6159 pragma Assert (Nkind (N) in N_Entity);
6160 Nodes.Table (N + 6).Field8 := Union_Id (Val);
6163 procedure Set_List39 (N : Node_Id; Val : List_Id) is
6165 pragma Assert (not Locked);
6166 pragma Assert (Nkind (N) in N_Entity);
6167 Nodes.Table (N + 6).Field9 := Union_Id (Val);
6170 procedure Set_Elist1 (N : Node_Id; Val : Elist_Id) is
6172 pragma Assert (not Locked);
6173 Nodes.Table (N).Field1 := Union_Id (Val);
6176 procedure Set_Elist2 (N : Node_Id; Val : Elist_Id) is
6178 pragma Assert (not Locked);
6179 Nodes.Table (N).Field2 := Union_Id (Val);
6182 procedure Set_Elist3 (N : Node_Id; Val : Elist_Id) is
6184 pragma Assert (not Locked);
6185 Nodes.Table (N).Field3 := Union_Id (Val);
6188 procedure Set_Elist4 (N : Node_Id; Val : Elist_Id) is
6190 pragma Assert (not Locked);
6191 Nodes.Table (N).Field4 := Union_Id (Val);
6194 procedure Set_Elist5 (N : Node_Id; Val : Elist_Id) is
6196 pragma Assert (not Locked);
6197 Nodes.Table (N).Field5 := Union_Id (Val);
6200 procedure Set_Elist8 (N : Node_Id; Val : Elist_Id) is
6202 pragma Assert (not Locked);
6203 pragma Assert (Nkind (N) in N_Entity);
6204 Nodes.Table (N + 1).Field8 := Union_Id (Val);
6207 procedure Set_Elist9 (N : Node_Id; Val : Elist_Id) is
6209 pragma Assert (not Locked);
6210 pragma Assert (Nkind (N) in N_Entity);
6211 Nodes.Table (N + 1).Field9 := Union_Id (Val);
6214 procedure Set_Elist10 (N : Node_Id; Val : Elist_Id) is
6216 pragma Assert (not Locked);
6217 pragma Assert (Nkind (N) in N_Entity);
6218 Nodes.Table (N + 1).Field10 := Union_Id (Val);
6221 procedure Set_Elist11 (N : Node_Id; Val : Elist_Id) is
6223 pragma Assert (not Locked);
6224 pragma Assert (Nkind (N) in N_Entity);
6225 Nodes.Table (N + 1).Field11 := Union_Id (Val);
6228 procedure Set_Elist13 (N : Node_Id; Val : Elist_Id) is
6230 pragma Assert (not Locked);
6231 pragma Assert (Nkind (N) in N_Entity);
6232 Nodes.Table (N + 2).Field6 := Union_Id (Val);
6235 procedure Set_Elist15 (N : Node_Id; Val : Elist_Id) is
6237 pragma Assert (not Locked);
6238 pragma Assert (Nkind (N) in N_Entity);
6239 Nodes.Table (N + 2).Field8 := Union_Id (Val);
6242 procedure Set_Elist16 (N : Node_Id; Val : Elist_Id) is
6244 pragma Assert (not Locked);
6245 pragma Assert (Nkind (N) in N_Entity);
6246 Nodes.Table (N + 2).Field9 := Union_Id (Val);
6249 procedure Set_Elist18 (N : Node_Id; Val : Elist_Id) is
6251 pragma Assert (not Locked);
6252 pragma Assert (Nkind (N) in N_Entity);
6253 Nodes.Table (N + 2).Field11 := Union_Id (Val);
6256 procedure Set_Elist21 (N : Node_Id; Val : Elist_Id) is
6258 pragma Assert (not Locked);
6259 pragma Assert (Nkind (N) in N_Entity);
6260 Nodes.Table (N + 3).Field8 := Union_Id (Val);
6263 procedure Set_Elist23 (N : Node_Id; Val : Elist_Id) is
6265 pragma Assert (not Locked);
6266 pragma Assert (Nkind (N) in N_Entity);
6267 Nodes.Table (N + 3).Field10 := Union_Id (Val);
6270 procedure Set_Elist24 (N : Node_Id; Val : Elist_Id) is
6272 pragma Assert (not Locked);
6273 pragma Assert (Nkind (N) in N_Entity);
6274 Nodes.Table (N + 4).Field6 := Union_Id (Val);
6277 procedure Set_Elist25 (N : Node_Id; Val : Elist_Id) is
6279 pragma Assert (not Locked);
6280 pragma Assert (Nkind (N) in N_Entity);
6281 Nodes.Table (N + 4).Field7 := Union_Id (Val);
6284 procedure Set_Elist26 (N : Node_Id; Val : Elist_Id) is
6286 pragma Assert (not Locked);
6287 pragma Assert (Nkind (N) in N_Entity);
6288 Nodes.Table (N + 4).Field8 := Union_Id (Val);
6291 procedure Set_Elist29 (N : Node_Id; Val : Elist_Id) is
6293 pragma Assert (not Locked);
6294 pragma Assert (Nkind (N) in N_Entity);
6295 Nodes.Table (N + 4).Field11 := Union_Id (Val);
6298 procedure Set_Elist36 (N : Node_Id; Val : Elist_Id) is
6300 pragma Assert (not Locked);
6301 pragma Assert (Nkind (N) in N_Entity);
6302 Nodes.Table (N + 6).Field6 := Union_Id (Val);
6305 procedure Set_Name1 (N : Node_Id; Val : Name_Id) is
6307 pragma Assert (not Locked);
6308 pragma Assert (N <= Nodes.Last);
6309 Nodes.Table (N).Field1 := Union_Id (Val);
6312 procedure Set_Name2 (N : Node_Id; Val : Name_Id) is
6314 pragma Assert (not Locked);
6315 pragma Assert (N <= Nodes.Last);
6316 Nodes.Table (N).Field2 := Union_Id (Val);
6319 procedure Set_Str3 (N : Node_Id; Val : String_Id) is
6321 pragma Assert (not Locked);
6322 pragma Assert (N <= Nodes.Last);
6323 Nodes.Table (N).Field3 := Union_Id (Val);
6326 procedure Set_Uint2 (N : Node_Id; Val : Uint) is
6328 pragma Assert (not Locked);
6329 pragma Assert (N <= Nodes.Last);
6330 Nodes.Table (N).Field2 := To_Union (Val);
6333 procedure Set_Uint3 (N : Node_Id; Val : Uint) is
6335 pragma Assert (not Locked);
6336 pragma Assert (N <= Nodes.Last);
6337 Nodes.Table (N).Field3 := To_Union (Val);
6340 procedure Set_Uint4 (N : Node_Id; Val : Uint) is
6342 pragma Assert (not Locked);
6343 pragma Assert (N <= Nodes.Last);
6344 Nodes.Table (N).Field4 := To_Union (Val);
6347 procedure Set_Uint5 (N : Node_Id; Val : Uint) is
6349 pragma Assert (not Locked);
6350 pragma Assert (N <= Nodes.Last);
6351 Nodes.Table (N).Field5 := To_Union (Val);
6354 procedure Set_Uint8 (N : Node_Id; Val : Uint) is
6356 pragma Assert (not Locked);
6357 pragma Assert (Nkind (N) in N_Entity);
6358 Nodes.Table (N + 1).Field8 := To_Union (Val);
6361 procedure Set_Uint9 (N : Node_Id; Val : Uint) is
6363 pragma Assert (not Locked);
6364 pragma Assert (Nkind (N) in N_Entity);
6365 Nodes.Table (N + 1).Field9 := To_Union (Val);
6368 procedure Set_Uint10 (N : Node_Id; Val : Uint) is
6370 pragma Assert (not Locked);
6371 pragma Assert (Nkind (N) in N_Entity);
6372 Nodes.Table (N + 1).Field10 := To_Union (Val);
6375 procedure Set_Uint11 (N : Node_Id; Val : Uint) is
6377 pragma Assert (not Locked);
6378 pragma Assert (Nkind (N) in N_Entity);
6379 Nodes.Table (N + 1).Field11 := To_Union (Val);
6382 procedure Set_Uint12 (N : Node_Id; Val : Uint) is
6384 pragma Assert (not Locked);
6385 pragma Assert (Nkind (N) in N_Entity);
6386 Nodes.Table (N + 1).Field12 := To_Union (Val);
6389 procedure Set_Uint13 (N : Node_Id; Val : Uint) is
6391 pragma Assert (not Locked);
6392 pragma Assert (Nkind (N) in N_Entity);
6393 Nodes.Table (N + 2).Field6 := To_Union (Val);
6396 procedure Set_Uint14 (N : Node_Id; Val : Uint) is
6398 pragma Assert (not Locked);
6399 pragma Assert (Nkind (N) in N_Entity);
6400 Nodes.Table (N + 2).Field7 := To_Union (Val);
6403 procedure Set_Uint15 (N : Node_Id; Val : Uint) is
6405 pragma Assert (not Locked);
6406 pragma Assert (Nkind (N) in N_Entity);
6407 Nodes.Table (N + 2).Field8 := To_Union (Val);
6410 procedure Set_Uint16 (N : Node_Id; Val : Uint) is
6412 pragma Assert (not Locked);
6413 pragma Assert (Nkind (N) in N_Entity);
6414 Nodes.Table (N + 2).Field9 := To_Union (Val);
6417 procedure Set_Uint17 (N : Node_Id; Val : Uint) is
6419 pragma Assert (not Locked);
6420 pragma Assert (Nkind (N) in N_Entity);
6421 Nodes.Table (N + 2).Field10 := To_Union (Val);
6424 procedure Set_Uint22 (N : Node_Id; Val : Uint) is
6426 pragma Assert (not Locked);
6427 pragma Assert (Nkind (N) in N_Entity);
6428 Nodes.Table (N + 3).Field9 := To_Union (Val);
6431 procedure Set_Uint24 (N : Node_Id; Val : Uint) is
6433 pragma Assert (not Locked);
6434 pragma Assert (Nkind (N) in N_Entity);
6435 Nodes.Table (N + 4).Field6 := To_Union (Val);
6438 procedure Set_Ureal3 (N : Node_Id; Val : Ureal) is
6440 pragma Assert (not Locked);
6441 pragma Assert (N <= Nodes.Last);
6442 Nodes.Table (N).Field3 := To_Union (Val);
6445 procedure Set_Ureal18 (N : Node_Id; Val : Ureal) is
6447 pragma Assert (not Locked);
6448 pragma Assert (Nkind (N) in N_Entity);
6449 Nodes.Table (N + 2).Field11 := To_Union (Val);
6452 procedure Set_Ureal21 (N : Node_Id; Val : Ureal) is
6454 pragma Assert (not Locked);
6455 pragma Assert (Nkind (N) in N_Entity);
6456 Nodes.Table (N + 3).Field8 := To_Union (Val);
6459 procedure Set_Flag0 (N : Node_Id; Val : Boolean) is
6461 pragma Assert (not Locked);
6462 pragma Assert (N <= Nodes.Last);
6463 Flags.Table (N).Flag0 := Val;
6466 procedure Set_Flag1 (N : Node_Id; Val : Boolean) is
6468 pragma Assert (not Locked);
6469 pragma Assert (N <= Nodes.Last);
6470 Flags.Table (N).Flag1 := Val;
6473 procedure Set_Flag2 (N : Node_Id; Val : Boolean) is
6475 pragma Assert (not Locked);
6476 pragma Assert (N <= Nodes.Last);
6477 Flags.Table (N).Flag2 := Val;
6480 procedure Set_Flag3 (N : Node_Id; Val : Boolean) is
6482 pragma Assert (not Locked);
6483 pragma Assert (N <= Nodes.Last);
6484 Flags.Table (N).Flag3 := Val;
6487 procedure Set_Flag4 (N : Node_Id; Val : Boolean) is
6489 pragma Assert (not Locked);
6490 pragma Assert (N <= Nodes.Last);
6491 Nodes.Table (N).Flag4 := Val;
6494 procedure Set_Flag5 (N : Node_Id; Val : Boolean) is
6496 pragma Assert (not Locked);
6497 pragma Assert (N <= Nodes.Last);
6498 Nodes.Table (N).Flag5 := Val;
6501 procedure Set_Flag6 (N : Node_Id; Val : Boolean) is
6503 pragma Assert (not Locked);
6504 pragma Assert (N <= Nodes.Last);
6505 Nodes.Table (N).Flag6 := Val;
6508 procedure Set_Flag7 (N : Node_Id; Val : Boolean) is
6510 pragma Assert (not Locked);
6511 pragma Assert (N <= Nodes.Last);
6512 Nodes.Table (N).Flag7 := Val;
6515 procedure Set_Flag8 (N : Node_Id; Val : Boolean) is
6517 pragma Assert (not Locked);
6518 pragma Assert (N <= Nodes.Last);
6519 Nodes.Table (N).Flag8 := Val;
6522 procedure Set_Flag9 (N : Node_Id; Val : Boolean) is
6524 pragma Assert (not Locked);
6525 pragma Assert (N <= Nodes.Last);
6526 Nodes.Table (N).Flag9 := Val;
6529 procedure Set_Flag10 (N : Node_Id; Val : Boolean) is
6531 pragma Assert (not Locked);
6532 pragma Assert (N <= Nodes.Last);
6533 Nodes.Table (N).Flag10 := Val;
6536 procedure Set_Flag11 (N : Node_Id; Val : Boolean) is
6538 pragma Assert (not Locked);
6539 pragma Assert (N <= Nodes.Last);
6540 Nodes.Table (N).Flag11 := Val;
6543 procedure Set_Flag12 (N : Node_Id; Val : Boolean) is
6545 pragma Assert (not Locked);
6546 pragma Assert (N <= Nodes.Last);
6547 Nodes.Table (N).Flag12 := Val;
6550 procedure Set_Flag13 (N : Node_Id; Val : Boolean) is
6552 pragma Assert (not Locked);
6553 pragma Assert (N <= Nodes.Last);
6554 Nodes.Table (N).Flag13 := Val;
6557 procedure Set_Flag14 (N : Node_Id; Val : Boolean) is
6559 pragma Assert (not Locked);
6560 pragma Assert (N <= Nodes.Last);
6561 Nodes.Table (N).Flag14 := Val;
6564 procedure Set_Flag15 (N : Node_Id; Val : Boolean) is
6566 pragma Assert (not Locked);
6567 pragma Assert (N <= Nodes.Last);
6568 Nodes.Table (N).Flag15 := Val;
6571 procedure Set_Flag16 (N : Node_Id; Val : Boolean) is
6573 pragma Assert (not Locked);
6574 pragma Assert (N <= Nodes.Last);
6575 Nodes.Table (N).Flag16 := Val;
6578 procedure Set_Flag17 (N : Node_Id; Val : Boolean) is
6580 pragma Assert (not Locked);
6581 pragma Assert (N <= Nodes.Last);
6582 Nodes.Table (N).Flag17 := Val;
6585 procedure Set_Flag18 (N : Node_Id; Val : Boolean) is
6587 pragma Assert (not Locked);
6588 pragma Assert (N <= Nodes.Last);
6589 Nodes.Table (N).Flag18 := Val;
6592 procedure Set_Flag19 (N : Node_Id; Val : Boolean) is
6594 pragma Assert (not Locked);
6595 pragma Assert (Nkind (N) in N_Entity);
6596 Nodes.Table (N + 1).In_List := Val;
6599 procedure Set_Flag20 (N : Node_Id; Val : Boolean) is
6601 pragma Assert (not Locked);
6602 pragma Assert (Nkind (N) in N_Entity);
6603 Nodes.Table (N + 1).Has_Aspects := Val;
6606 procedure Set_Flag21 (N : Node_Id; Val : Boolean) is
6608 pragma Assert (not Locked);
6609 pragma Assert (Nkind (N) in N_Entity);
6610 Nodes.Table (N + 1).Rewrite_Ins := Val;
6613 procedure Set_Flag22 (N : Node_Id; Val : Boolean) is
6615 pragma Assert (not Locked);
6616 pragma Assert (Nkind (N) in N_Entity);
6617 Nodes.Table (N + 1).Analyzed := Val;
6620 procedure Set_Flag23 (N : Node_Id; Val : Boolean) is
6622 pragma Assert (not Locked);
6623 pragma Assert (Nkind (N) in N_Entity);
6624 Nodes.Table (N + 1).Comes_From_Source := Val;
6627 procedure Set_Flag24 (N : Node_Id; Val : Boolean) is
6629 pragma Assert (not Locked);
6630 pragma Assert (Nkind (N) in N_Entity);
6631 Nodes.Table (N + 1).Error_Posted := Val;
6634 procedure Set_Flag25 (N : Node_Id; Val : Boolean) is
6636 pragma Assert (not Locked);
6637 pragma Assert (Nkind (N) in N_Entity);
6638 Nodes.Table (N + 1).Flag4 := Val;
6641 procedure Set_Flag26 (N : Node_Id; Val : Boolean) is
6643 pragma Assert (not Locked);
6644 pragma Assert (Nkind (N) in N_Entity);
6645 Nodes.Table (N + 1).Flag5 := Val;
6648 procedure Set_Flag27 (N : Node_Id; Val : Boolean) is
6650 pragma Assert (not Locked);
6651 pragma Assert (Nkind (N) in N_Entity);
6652 Nodes.Table (N + 1).Flag6 := Val;
6655 procedure Set_Flag28 (N : Node_Id; Val : Boolean) is
6657 pragma Assert (not Locked);
6658 pragma Assert (Nkind (N) in N_Entity);
6659 Nodes.Table (N + 1).Flag7 := Val;
6662 procedure Set_Flag29 (N : Node_Id; Val : Boolean) is
6664 pragma Assert (not Locked);
6665 pragma Assert (Nkind (N) in N_Entity);
6666 Nodes.Table (N + 1).Flag8 := Val;
6669 procedure Set_Flag30 (N : Node_Id; Val : Boolean) is
6671 pragma Assert (not Locked);
6672 pragma Assert (Nkind (N) in N_Entity);
6673 Nodes.Table (N + 1).Flag9 := Val;
6676 procedure Set_Flag31 (N : Node_Id; Val : Boolean) is
6678 pragma Assert (not Locked);
6679 pragma Assert (Nkind (N) in N_Entity);
6680 Nodes.Table (N + 1).Flag10 := Val;
6683 procedure Set_Flag32 (N : Node_Id; Val : Boolean) is
6685 pragma Assert (not Locked);
6686 pragma Assert (Nkind (N) in N_Entity);
6687 Nodes.Table (N + 1).Flag11 := Val;
6690 procedure Set_Flag33 (N : Node_Id; Val : Boolean) is
6692 pragma Assert (not Locked);
6693 pragma Assert (Nkind (N) in N_Entity);
6694 Nodes.Table (N + 1).Flag12 := Val;
6697 procedure Set_Flag34 (N : Node_Id; Val : Boolean) is
6699 pragma Assert (not Locked);
6700 pragma Assert (Nkind (N) in N_Entity);
6701 Nodes.Table (N + 1).Flag13 := Val;
6704 procedure Set_Flag35 (N : Node_Id; Val : Boolean) is
6706 pragma Assert (not Locked);
6707 pragma Assert (Nkind (N) in N_Entity);
6708 Nodes.Table (N + 1).Flag14 := Val;
6711 procedure Set_Flag36 (N : Node_Id; Val : Boolean) is
6713 pragma Assert (not Locked);
6714 pragma Assert (Nkind (N) in N_Entity);
6715 Nodes.Table (N + 1).Flag15 := Val;
6718 procedure Set_Flag37 (N : Node_Id; Val : Boolean) is
6720 pragma Assert (not Locked);
6721 pragma Assert (Nkind (N) in N_Entity);
6722 Nodes.Table (N + 1).Flag16 := Val;
6725 procedure Set_Flag38 (N : Node_Id; Val : Boolean) is
6727 pragma Assert (not Locked);
6728 pragma Assert (Nkind (N) in N_Entity);
6729 Nodes.Table (N + 1).Flag17 := Val;
6732 procedure Set_Flag39 (N : Node_Id; Val : Boolean) is
6734 pragma Assert (not Locked);
6735 pragma Assert (Nkind (N) in N_Entity);
6736 Nodes.Table (N + 1).Flag18 := Val;
6739 procedure Set_Flag40 (N : Node_Id; Val : Boolean) is
6741 pragma Assert (not Locked);
6742 pragma Assert (Nkind (N) in N_Entity);
6743 Nodes.Table (N + 2).In_List := Val;
6746 procedure Set_Flag41 (N : Node_Id; Val : Boolean) is
6748 pragma Assert (not Locked);
6749 pragma Assert (Nkind (N) in N_Entity);
6750 Nodes.Table (N + 2).Has_Aspects := Val;
6753 procedure Set_Flag42 (N : Node_Id; Val : Boolean) is
6755 pragma Assert (not Locked);
6756 pragma Assert (Nkind (N) in N_Entity);
6757 Nodes.Table (N + 2).Rewrite_Ins := Val;
6760 procedure Set_Flag43 (N : Node_Id; Val : Boolean) is
6762 pragma Assert (not Locked);
6763 pragma Assert (Nkind (N) in N_Entity);
6764 Nodes.Table (N + 2).Analyzed := Val;
6767 procedure Set_Flag44 (N : Node_Id; Val : Boolean) is
6769 pragma Assert (not Locked);
6770 pragma Assert (Nkind (N) in N_Entity);
6771 Nodes.Table (N + 2).Comes_From_Source := Val;
6774 procedure Set_Flag45 (N : Node_Id; Val : Boolean) is
6776 pragma Assert (not Locked);
6777 pragma Assert (Nkind (N) in N_Entity);
6778 Nodes.Table (N + 2).Error_Posted := Val;
6781 procedure Set_Flag46 (N : Node_Id; Val : Boolean) is
6783 pragma Assert (not Locked);
6784 pragma Assert (Nkind (N) in N_Entity);
6785 Nodes.Table (N + 2).Flag4 := Val;
6788 procedure Set_Flag47 (N : Node_Id; Val : Boolean) is
6790 pragma Assert (not Locked);
6791 pragma Assert (Nkind (N) in N_Entity);
6792 Nodes.Table (N + 2).Flag5 := Val;
6795 procedure Set_Flag48 (N : Node_Id; Val : Boolean) is
6797 pragma Assert (not Locked);
6798 pragma Assert (Nkind (N) in N_Entity);
6799 Nodes.Table (N + 2).Flag6 := Val;
6802 procedure Set_Flag49 (N : Node_Id; Val : Boolean) is
6804 pragma Assert (not Locked);
6805 pragma Assert (Nkind (N) in N_Entity);
6806 Nodes.Table (N + 2).Flag7 := Val;
6809 procedure Set_Flag50 (N : Node_Id; Val : Boolean) is
6811 pragma Assert (not Locked);
6812 pragma Assert (Nkind (N) in N_Entity);
6813 Nodes.Table (N + 2).Flag8 := Val;
6816 procedure Set_Flag51 (N : Node_Id; Val : Boolean) is
6818 pragma Assert (not Locked);
6819 pragma Assert (Nkind (N) in N_Entity);
6820 Nodes.Table (N + 2).Flag9 := Val;
6823 procedure Set_Flag52 (N : Node_Id; Val : Boolean) is
6825 pragma Assert (not Locked);
6826 pragma Assert (Nkind (N) in N_Entity);
6827 Nodes.Table (N + 2).Flag10 := Val;
6830 procedure Set_Flag53 (N : Node_Id; Val : Boolean) is
6832 pragma Assert (not Locked);
6833 pragma Assert (Nkind (N) in N_Entity);
6834 Nodes.Table (N + 2).Flag11 := Val;
6837 procedure Set_Flag54 (N : Node_Id; Val : Boolean) is
6839 pragma Assert (not Locked);
6840 pragma Assert (Nkind (N) in N_Entity);
6841 Nodes.Table (N + 2).Flag12 := Val;
6844 procedure Set_Flag55 (N : Node_Id; Val : Boolean) is
6846 pragma Assert (not Locked);
6847 pragma Assert (Nkind (N) in N_Entity);
6848 Nodes.Table (N + 2).Flag13 := Val;
6851 procedure Set_Flag56 (N : Node_Id; Val : Boolean) is
6853 pragma Assert (not Locked);
6854 pragma Assert (Nkind (N) in N_Entity);
6855 Nodes.Table (N + 2).Flag14 := Val;
6858 procedure Set_Flag57 (N : Node_Id; Val : Boolean) is
6860 pragma Assert (not Locked);
6861 pragma Assert (Nkind (N) in N_Entity);
6862 Nodes.Table (N + 2).Flag15 := Val;
6865 procedure Set_Flag58 (N : Node_Id; Val : Boolean) is
6867 pragma Assert (not Locked);
6868 pragma Assert (Nkind (N) in N_Entity);
6869 Nodes.Table (N + 2).Flag16 := Val;
6872 procedure Set_Flag59 (N : Node_Id; Val : Boolean) is
6874 pragma Assert (not Locked);
6875 pragma Assert (Nkind (N) in N_Entity);
6876 Nodes.Table (N + 2).Flag17 := Val;
6879 procedure Set_Flag60 (N : Node_Id; Val : Boolean) is
6881 pragma Assert (not Locked);
6882 pragma Assert (Nkind (N) in N_Entity);
6883 Nodes.Table (N + 2).Flag18 := Val;
6886 procedure Set_Flag61 (N : Node_Id; Val : Boolean) is
6888 pragma Assert (not Locked);
6889 pragma Assert (Nkind (N) in N_Entity);
6890 Nodes.Table (N + 1).Pflag1 := Val;
6893 procedure Set_Flag62 (N : Node_Id; Val : Boolean) is
6895 pragma Assert (not Locked);
6896 pragma Assert (Nkind (N) in N_Entity);
6897 Nodes.Table (N + 1).Pflag2 := Val;
6900 procedure Set_Flag63 (N : Node_Id; Val : Boolean) is
6902 pragma Assert (not Locked);
6903 pragma Assert (Nkind (N) in N_Entity);
6904 Nodes.Table (N + 2).Pflag1 := Val;
6907 procedure Set_Flag64 (N : Node_Id; Val : Boolean) is
6909 pragma Assert (not Locked);
6910 pragma Assert (Nkind (N) in N_Entity);
6911 Nodes.Table (N + 2).Pflag2 := Val;
6914 procedure Set_Flag65 (N : Node_Id; Val : Boolean) is
6916 pragma Assert (not Locked);
6917 pragma Assert (Nkind (N) in N_Entity);
6920 (Nodes
.Table
(N
+ 2).Nkind
'Unrestricted_Access)).Flag65
:= Val
;
6923 procedure Set_Flag66
(N
: Node_Id
; Val
: Boolean) is
6925 pragma Assert
(not Locked
);
6926 pragma Assert
(Nkind
(N
) in N_Entity
);
6929 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag66 := Val;
6932 procedure Set_Flag67 (N : Node_Id; Val : Boolean) is
6934 pragma Assert (not Locked);
6935 pragma Assert (Nkind (N) in N_Entity);
6938 (Nodes
.Table
(N
+ 2).Nkind
'Unrestricted_Access)).Flag67
:= Val
;
6941 procedure Set_Flag68
(N
: Node_Id
; Val
: Boolean) is
6943 pragma Assert
(not Locked
);
6944 pragma Assert
(Nkind
(N
) in N_Entity
);
6947 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag68 := Val;
6950 procedure Set_Flag69 (N : Node_Id; Val : Boolean) is
6952 pragma Assert (not Locked);
6953 pragma Assert (Nkind (N) in N_Entity);
6956 (Nodes
.Table
(N
+ 2).Nkind
'Unrestricted_Access)).Flag69
:= Val
;
6959 procedure Set_Flag70
(N
: Node_Id
; Val
: Boolean) is
6961 pragma Assert
(not Locked
);
6962 pragma Assert
(Nkind
(N
) in N_Entity
);
6965 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag70 := Val;
6968 procedure Set_Flag71 (N : Node_Id; Val : Boolean) is
6970 pragma Assert (not Locked);
6971 pragma Assert (Nkind (N) in N_Entity);
6974 (Nodes
.Table
(N
+ 2).Nkind
'Unrestricted_Access)).Flag71
:= Val
;
6977 procedure Set_Flag72
(N
: Node_Id
; Val
: Boolean) is
6979 pragma Assert
(not Locked
);
6980 pragma Assert
(Nkind
(N
) in N_Entity
);
6983 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag72 := Val;
6986 procedure Set_Flag73 (N : Node_Id; Val : Boolean) is
6988 pragma Assert (not Locked);
6989 pragma Assert (Nkind (N) in N_Entity);
6992 (Nodes
.Table
(N
+ 2).Field12
'Unrestricted_Access)).Flag73
:= Val
;
6995 procedure Set_Flag74
(N
: Node_Id
; Val
: Boolean) is
6997 pragma Assert
(not Locked
);
6998 pragma Assert
(Nkind
(N
) in N_Entity
);
7001 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag74 := Val;
7004 procedure Set_Flag75 (N : Node_Id; Val : Boolean) is
7006 pragma Assert (not Locked);
7007 pragma Assert (Nkind (N) in N_Entity);
7010 (Nodes
.Table
(N
+ 2).Field12
'Unrestricted_Access)).Flag75
:= Val
;
7013 procedure Set_Flag76
(N
: Node_Id
; Val
: Boolean) is
7015 pragma Assert
(not Locked
);
7016 pragma Assert
(Nkind
(N
) in N_Entity
);
7019 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag76 := Val;
7022 procedure Set_Flag77 (N : Node_Id; Val : Boolean) is
7024 pragma Assert (not Locked);
7025 pragma Assert (Nkind (N) in N_Entity);
7028 (Nodes
.Table
(N
+ 2).Field12
'Unrestricted_Access)).Flag77
:= Val
;
7031 procedure Set_Flag78
(N
: Node_Id
; Val
: Boolean) is
7033 pragma Assert
(not Locked
);
7034 pragma Assert
(Nkind
(N
) in N_Entity
);
7037 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag78 := Val;
7040 procedure Set_Flag79 (N : Node_Id; Val : Boolean) is
7042 pragma Assert (not Locked);
7043 pragma Assert (Nkind (N) in N_Entity);
7046 (Nodes
.Table
(N
+ 2).Field12
'Unrestricted_Access)).Flag79
:= Val
;
7049 procedure Set_Flag80
(N
: Node_Id
; Val
: Boolean) is
7051 pragma Assert
(not Locked
);
7052 pragma Assert
(Nkind
(N
) in N_Entity
);
7055 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag80 := Val;
7058 procedure Set_Flag81 (N : Node_Id; Val : Boolean) is
7060 pragma Assert (not Locked);
7061 pragma Assert (Nkind (N) in N_Entity);
7064 (Nodes
.Table
(N
+ 2).Field12
'Unrestricted_Access)).Flag81
:= Val
;
7067 procedure Set_Flag82
(N
: Node_Id
; Val
: Boolean) is
7069 pragma Assert
(not Locked
);
7070 pragma Assert
(Nkind
(N
) in N_Entity
);
7073 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag82 := Val;
7076 procedure Set_Flag83 (N : Node_Id; Val : Boolean) is
7078 pragma Assert (not Locked);
7079 pragma Assert (Nkind (N) in N_Entity);
7082 (Nodes
.Table
(N
+ 2).Field12
'Unrestricted_Access)).Flag83
:= Val
;
7085 procedure Set_Flag84
(N
: Node_Id
; Val
: Boolean) is
7087 pragma Assert
(not Locked
);
7088 pragma Assert
(Nkind
(N
) in N_Entity
);
7091 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag84 := Val;
7094 procedure Set_Flag85 (N : Node_Id; Val : Boolean) is
7096 pragma Assert (not Locked);
7097 pragma Assert (Nkind (N) in N_Entity);
7100 (Nodes
.Table
(N
+ 2).Field12
'Unrestricted_Access)).Flag85
:= Val
;
7103 procedure Set_Flag86
(N
: Node_Id
; Val
: Boolean) is
7105 pragma Assert
(not Locked
);
7106 pragma Assert
(Nkind
(N
) in N_Entity
);
7109 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag86 := Val;
7112 procedure Set_Flag87 (N : Node_Id; Val : Boolean) is
7114 pragma Assert (not Locked);
7115 pragma Assert (Nkind (N) in N_Entity);
7118 (Nodes
.Table
(N
+ 2).Field12
'Unrestricted_Access)).Flag87
:= Val
;
7121 procedure Set_Flag88
(N
: Node_Id
; Val
: Boolean) is
7123 pragma Assert
(not Locked
);
7124 pragma Assert
(Nkind
(N
) in N_Entity
);
7127 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag88 := Val;
7130 procedure Set_Flag89 (N : Node_Id; Val : Boolean) is
7132 pragma Assert (not Locked);
7133 pragma Assert (Nkind (N) in N_Entity);
7136 (Nodes
.Table
(N
+ 2).Field12
'Unrestricted_Access)).Flag89
:= Val
;
7139 procedure Set_Flag90
(N
: Node_Id
; Val
: Boolean) is
7141 pragma Assert
(not Locked
);
7142 pragma Assert
(Nkind
(N
) in N_Entity
);
7145 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag90 := Val;
7148 procedure Set_Flag91 (N : Node_Id; Val : Boolean) is
7150 pragma Assert (not Locked);
7151 pragma Assert (Nkind (N) in N_Entity);
7154 (Nodes
.Table
(N
+ 2).Field12
'Unrestricted_Access)).Flag91
:= Val
;
7157 procedure Set_Flag92
(N
: Node_Id
; Val
: Boolean) is
7159 pragma Assert
(not Locked
);
7160 pragma Assert
(Nkind
(N
) in N_Entity
);
7163 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag92 := Val;
7166 procedure Set_Flag93 (N : Node_Id; Val : Boolean) is
7168 pragma Assert (not Locked);
7169 pragma Assert (Nkind (N) in N_Entity);
7172 (Nodes
.Table
(N
+ 2).Field12
'Unrestricted_Access)).Flag93
:= Val
;
7175 procedure Set_Flag94
(N
: Node_Id
; Val
: Boolean) is
7177 pragma Assert
(not Locked
);
7178 pragma Assert
(Nkind
(N
) in N_Entity
);
7181 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag94 := Val;
7184 procedure Set_Flag95 (N : Node_Id; Val : Boolean) is
7186 pragma Assert (not Locked);
7187 pragma Assert (Nkind (N) in N_Entity);
7190 (Nodes
.Table
(N
+ 2).Field12
'Unrestricted_Access)).Flag95
:= Val
;
7193 procedure Set_Flag96
(N
: Node_Id
; Val
: Boolean) is
7195 pragma Assert
(not Locked
);
7196 pragma Assert
(Nkind
(N
) in N_Entity
);
7199 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag96 := Val;
7202 procedure Set_Flag97 (N : Node_Id; Val : Boolean) is
7204 pragma Assert (not Locked);
7205 pragma Assert (Nkind (N) in N_Entity);
7208 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag97
:= Val
;
7211 procedure Set_Flag98
(N
: Node_Id
; Val
: Boolean) is
7213 pragma Assert
(not Locked
);
7214 pragma Assert
(Nkind
(N
) in N_Entity
);
7217 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag98 := Val;
7220 procedure Set_Flag99 (N : Node_Id; Val : Boolean) is
7222 pragma Assert (not Locked);
7223 pragma Assert (Nkind (N) in N_Entity);
7226 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag99
:= Val
;
7229 procedure Set_Flag100
(N
: Node_Id
; Val
: Boolean) is
7231 pragma Assert
(not Locked
);
7232 pragma Assert
(Nkind
(N
) in N_Entity
);
7235 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag100 := Val;
7238 procedure Set_Flag101 (N : Node_Id; Val : Boolean) is
7240 pragma Assert (not Locked);
7241 pragma Assert (Nkind (N) in N_Entity);
7244 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag101
:= Val
;
7247 procedure Set_Flag102
(N
: Node_Id
; Val
: Boolean) is
7249 pragma Assert
(not Locked
);
7250 pragma Assert
(Nkind
(N
) in N_Entity
);
7253 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag102 := Val;
7256 procedure Set_Flag103 (N : Node_Id; Val : Boolean) is
7258 pragma Assert (not Locked);
7259 pragma Assert (Nkind (N) in N_Entity);
7262 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag103
:= Val
;
7265 procedure Set_Flag104
(N
: Node_Id
; Val
: Boolean) is
7267 pragma Assert
(not Locked
);
7268 pragma Assert
(Nkind
(N
) in N_Entity
);
7271 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag104 := Val;
7274 procedure Set_Flag105 (N : Node_Id; Val : Boolean) is
7276 pragma Assert (not Locked);
7277 pragma Assert (Nkind (N) in N_Entity);
7280 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag105
:= Val
;
7283 procedure Set_Flag106
(N
: Node_Id
; Val
: Boolean) is
7285 pragma Assert
(not Locked
);
7286 pragma Assert
(Nkind
(N
) in N_Entity
);
7289 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag106 := Val;
7292 procedure Set_Flag107 (N : Node_Id; Val : Boolean) is
7294 pragma Assert (not Locked);
7295 pragma Assert (Nkind (N) in N_Entity);
7298 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag107
:= Val
;
7301 procedure Set_Flag108
(N
: Node_Id
; Val
: Boolean) is
7303 pragma Assert
(not Locked
);
7304 pragma Assert
(Nkind
(N
) in N_Entity
);
7307 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag108 := Val;
7310 procedure Set_Flag109 (N : Node_Id; Val : Boolean) is
7312 pragma Assert (not Locked);
7313 pragma Assert (Nkind (N) in N_Entity);
7316 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag109
:= Val
;
7319 procedure Set_Flag110
(N
: Node_Id
; Val
: Boolean) is
7321 pragma Assert
(not Locked
);
7322 pragma Assert
(Nkind
(N
) in N_Entity
);
7325 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag110 := Val;
7328 procedure Set_Flag111 (N : Node_Id; Val : Boolean) is
7330 pragma Assert (not Locked);
7331 pragma Assert (Nkind (N) in N_Entity);
7334 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag111
:= Val
;
7337 procedure Set_Flag112
(N
: Node_Id
; Val
: Boolean) is
7339 pragma Assert
(not Locked
);
7340 pragma Assert
(Nkind
(N
) in N_Entity
);
7343 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag112 := Val;
7346 procedure Set_Flag113 (N : Node_Id; Val : Boolean) is
7348 pragma Assert (not Locked);
7349 pragma Assert (Nkind (N) in N_Entity);
7352 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag113
:= Val
;
7355 procedure Set_Flag114
(N
: Node_Id
; Val
: Boolean) is
7357 pragma Assert
(not Locked
);
7358 pragma Assert
(Nkind
(N
) in N_Entity
);
7361 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag114 := Val;
7364 procedure Set_Flag115 (N : Node_Id; Val : Boolean) is
7366 pragma Assert (not Locked);
7367 pragma Assert (Nkind (N) in N_Entity);
7370 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag115
:= Val
;
7373 procedure Set_Flag116
(N
: Node_Id
; Val
: Boolean) is
7375 pragma Assert
(not Locked
);
7376 pragma Assert
(Nkind
(N
) in N_Entity
);
7379 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag116 := Val;
7382 procedure Set_Flag117 (N : Node_Id; Val : Boolean) is
7384 pragma Assert (not Locked);
7385 pragma Assert (Nkind (N) in N_Entity);
7388 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag117
:= Val
;
7391 procedure Set_Flag118
(N
: Node_Id
; Val
: Boolean) is
7393 pragma Assert
(not Locked
);
7394 pragma Assert
(Nkind
(N
) in N_Entity
);
7397 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag118 := Val;
7400 procedure Set_Flag119 (N : Node_Id; Val : Boolean) is
7402 pragma Assert (not Locked);
7403 pragma Assert (Nkind (N) in N_Entity);
7406 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag119
:= Val
;
7409 procedure Set_Flag120
(N
: Node_Id
; Val
: Boolean) is
7411 pragma Assert
(not Locked
);
7412 pragma Assert
(Nkind
(N
) in N_Entity
);
7415 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag120 := Val;
7418 procedure Set_Flag121 (N : Node_Id; Val : Boolean) is
7420 pragma Assert (not Locked);
7421 pragma Assert (Nkind (N) in N_Entity);
7424 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag121
:= Val
;
7427 procedure Set_Flag122
(N
: Node_Id
; Val
: Boolean) is
7429 pragma Assert
(not Locked
);
7430 pragma Assert
(Nkind
(N
) in N_Entity
);
7433 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag122 := Val;
7436 procedure Set_Flag123 (N : Node_Id; Val : Boolean) is
7438 pragma Assert (not Locked);
7439 pragma Assert (Nkind (N) in N_Entity);
7442 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag123
:= Val
;
7445 procedure Set_Flag124
(N
: Node_Id
; Val
: Boolean) is
7447 pragma Assert
(not Locked
);
7448 pragma Assert
(Nkind
(N
) in N_Entity
);
7451 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag124 := Val;
7454 procedure Set_Flag125 (N : Node_Id; Val : Boolean) is
7456 pragma Assert (not Locked);
7457 pragma Assert (Nkind (N) in N_Entity);
7460 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag125
:= Val
;
7463 procedure Set_Flag126
(N
: Node_Id
; Val
: Boolean) is
7465 pragma Assert
(not Locked
);
7466 pragma Assert
(Nkind
(N
) in N_Entity
);
7469 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag126 := Val;
7472 procedure Set_Flag127 (N : Node_Id; Val : Boolean) is
7474 pragma Assert (not Locked);
7475 pragma Assert (Nkind (N) in N_Entity);
7478 (Nodes
.Table
(N
+ 3).Field12
'Unrestricted_Access)).Flag127
:= Val
;
7481 procedure Set_Flag128
(N
: Node_Id
; Val
: Boolean) is
7483 pragma Assert
(not Locked
);
7484 pragma Assert
(Nkind
(N
) in N_Entity
);
7487 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag128 := Val;
7490 procedure Set_Flag129 (N : Node_Id; Val : Boolean) is
7492 pragma Assert (not Locked);
7493 pragma Assert (Nkind (N) in N_Entity);
7494 Nodes.Table (N + 3).In_List := Val;
7497 procedure Set_Flag130 (N : Node_Id; Val : Boolean) is
7499 pragma Assert (not Locked);
7500 pragma Assert (Nkind (N) in N_Entity);
7501 Nodes.Table (N + 3).Has_Aspects := Val;
7504 procedure Set_Flag131 (N : Node_Id; Val : Boolean) is
7506 pragma Assert (not Locked);
7507 pragma Assert (Nkind (N) in N_Entity);
7508 Nodes.Table (N + 3).Rewrite_Ins := Val;
7511 procedure Set_Flag132 (N : Node_Id; Val : Boolean) is
7513 pragma Assert (not Locked);
7514 pragma Assert (Nkind (N) in N_Entity);
7515 Nodes.Table (N + 3).Analyzed := Val;
7518 procedure Set_Flag133 (N : Node_Id; Val : Boolean) is
7520 pragma Assert (not Locked);
7521 pragma Assert (Nkind (N) in N_Entity);
7522 Nodes.Table (N + 3).Comes_From_Source := Val;
7525 procedure Set_Flag134 (N : Node_Id; Val : Boolean) is
7527 pragma Assert (not Locked);
7528 pragma Assert (Nkind (N) in N_Entity);
7529 Nodes.Table (N + 3).Error_Posted := Val;
7532 procedure Set_Flag135 (N : Node_Id; Val : Boolean) is
7534 pragma Assert (not Locked);
7535 pragma Assert (Nkind (N) in N_Entity);
7536 Nodes.Table (N + 3).Flag4 := Val;
7539 procedure Set_Flag136 (N : Node_Id; Val : Boolean) is
7541 pragma Assert (not Locked);
7542 pragma Assert (Nkind (N) in N_Entity);
7543 Nodes.Table (N + 3).Flag5 := Val;
7546 procedure Set_Flag137 (N : Node_Id; Val : Boolean) is
7548 pragma Assert (not Locked);
7549 pragma Assert (Nkind (N) in N_Entity);
7550 Nodes.Table (N + 3).Flag6 := Val;
7553 procedure Set_Flag138 (N : Node_Id; Val : Boolean) is
7555 pragma Assert (not Locked);
7556 pragma Assert (Nkind (N) in N_Entity);
7557 Nodes.Table (N + 3).Flag7 := Val;
7560 procedure Set_Flag139 (N : Node_Id; Val : Boolean) is
7562 pragma Assert (not Locked);
7563 pragma Assert (Nkind (N) in N_Entity);
7564 Nodes.Table (N + 3).Flag8 := Val;
7567 procedure Set_Flag140 (N : Node_Id; Val : Boolean) is
7569 pragma Assert (not Locked);
7570 pragma Assert (Nkind (N) in N_Entity);
7571 Nodes.Table (N + 3).Flag9 := Val;
7574 procedure Set_Flag141 (N : Node_Id; Val : Boolean) is
7576 pragma Assert (not Locked);
7577 pragma Assert (Nkind (N) in N_Entity);
7578 Nodes.Table (N + 3).Flag10 := Val;
7581 procedure Set_Flag142 (N : Node_Id; Val : Boolean) is
7583 pragma Assert (not Locked);
7584 pragma Assert (Nkind (N) in N_Entity);
7585 Nodes.Table (N + 3).Flag11 := Val;
7588 procedure Set_Flag143 (N : Node_Id; Val : Boolean) is
7590 pragma Assert (not Locked);
7591 pragma Assert (Nkind (N) in N_Entity);
7592 Nodes.Table (N + 3).Flag12 := Val;
7595 procedure Set_Flag144 (N : Node_Id; Val : Boolean) is
7597 pragma Assert (not Locked);
7598 pragma Assert (Nkind (N) in N_Entity);
7599 Nodes.Table (N + 3).Flag13 := Val;
7602 procedure Set_Flag145 (N : Node_Id; Val : Boolean) is
7604 pragma Assert (not Locked);
7605 pragma Assert (Nkind (N) in N_Entity);
7606 Nodes.Table (N + 3).Flag14 := Val;
7609 procedure Set_Flag146 (N : Node_Id; Val : Boolean) is
7611 pragma Assert (not Locked);
7612 pragma Assert (Nkind (N) in N_Entity);
7613 Nodes.Table (N + 3).Flag15 := Val;
7616 procedure Set_Flag147 (N : Node_Id; Val : Boolean) is
7618 pragma Assert (not Locked);
7619 pragma Assert (Nkind (N) in N_Entity);
7620 Nodes.Table (N + 3).Flag16 := Val;
7623 procedure Set_Flag148 (N : Node_Id; Val : Boolean) is
7625 pragma Assert (not Locked);
7626 pragma Assert (Nkind (N) in N_Entity);
7627 Nodes.Table (N + 3).Flag17 := Val;
7630 procedure Set_Flag149 (N : Node_Id; Val : Boolean) is
7632 pragma Assert (not Locked);
7633 pragma Assert (Nkind (N) in N_Entity);
7634 Nodes.Table (N + 3).Flag18 := Val;
7637 procedure Set_Flag150 (N : Node_Id; Val : Boolean) is
7639 pragma Assert (not Locked);
7640 pragma Assert (Nkind (N) in N_Entity);
7641 Nodes.Table (N + 3).Pflag1 := Val;
7644 procedure Set_Flag151 (N : Node_Id; Val : Boolean) is
7646 pragma Assert (not Locked);
7647 pragma Assert (Nkind (N) in N_Entity);
7648 Nodes.Table (N + 3).Pflag2 := Val;
7651 procedure Set_Flag152 (N : Node_Id; Val : Boolean) is
7653 pragma Assert (not Locked);
7654 pragma Assert (Nkind (N) in N_Entity);
7657 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag152
:= Val
;
7660 procedure Set_Flag153
(N
: Node_Id
; Val
: Boolean) is
7662 pragma Assert
(not Locked
);
7663 pragma Assert
(Nkind
(N
) in N_Entity
);
7666 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag153 := Val;
7669 procedure Set_Flag154 (N : Node_Id; Val : Boolean) is
7671 pragma Assert (not Locked);
7672 pragma Assert (Nkind (N) in N_Entity);
7675 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag154
:= Val
;
7678 procedure Set_Flag155
(N
: Node_Id
; Val
: Boolean) is
7680 pragma Assert
(not Locked
);
7681 pragma Assert
(Nkind
(N
) in N_Entity
);
7684 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag155 := Val;
7687 procedure Set_Flag156 (N : Node_Id; Val : Boolean) is
7689 pragma Assert (not Locked);
7690 pragma Assert (Nkind (N) in N_Entity);
7693 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag156
:= Val
;
7696 procedure Set_Flag157
(N
: Node_Id
; Val
: Boolean) is
7698 pragma Assert
(not Locked
);
7699 pragma Assert
(Nkind
(N
) in N_Entity
);
7702 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag157 := Val;
7705 procedure Set_Flag158 (N : Node_Id; Val : Boolean) is
7707 pragma Assert (not Locked);
7708 pragma Assert (Nkind (N) in N_Entity);
7711 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag158
:= Val
;
7714 procedure Set_Flag159
(N
: Node_Id
; Val
: Boolean) is
7716 pragma Assert
(not Locked
);
7717 pragma Assert
(Nkind
(N
) in N_Entity
);
7720 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag159 := Val;
7723 procedure Set_Flag160 (N : Node_Id; Val : Boolean) is
7725 pragma Assert (not Locked);
7726 pragma Assert (Nkind (N) in N_Entity);
7729 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag160
:= Val
;
7732 procedure Set_Flag161
(N
: Node_Id
; Val
: Boolean) is
7734 pragma Assert
(not Locked
);
7735 pragma Assert
(Nkind
(N
) in N_Entity
);
7738 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag161 := Val;
7741 procedure Set_Flag162 (N : Node_Id; Val : Boolean) is
7743 pragma Assert (not Locked);
7744 pragma Assert (Nkind (N) in N_Entity);
7747 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag162
:= Val
;
7750 procedure Set_Flag163
(N
: Node_Id
; Val
: Boolean) is
7752 pragma Assert
(not Locked
);
7753 pragma Assert
(Nkind
(N
) in N_Entity
);
7756 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag163 := Val;
7759 procedure Set_Flag164 (N : Node_Id; Val : Boolean) is
7761 pragma Assert (not Locked);
7762 pragma Assert (Nkind (N) in N_Entity);
7765 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag164
:= Val
;
7768 procedure Set_Flag165
(N
: Node_Id
; Val
: Boolean) is
7770 pragma Assert
(not Locked
);
7771 pragma Assert
(Nkind
(N
) in N_Entity
);
7774 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag165 := Val;
7777 procedure Set_Flag166 (N : Node_Id; Val : Boolean) is
7779 pragma Assert (not Locked);
7780 pragma Assert (Nkind (N) in N_Entity);
7783 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag166
:= Val
;
7786 procedure Set_Flag167
(N
: Node_Id
; Val
: Boolean) is
7788 pragma Assert
(not Locked
);
7789 pragma Assert
(Nkind
(N
) in N_Entity
);
7792 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag167 := Val;
7795 procedure Set_Flag168 (N : Node_Id; Val : Boolean) is
7797 pragma Assert (not Locked);
7798 pragma Assert (Nkind (N) in N_Entity);
7801 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag168
:= Val
;
7804 procedure Set_Flag169
(N
: Node_Id
; Val
: Boolean) is
7806 pragma Assert
(not Locked
);
7807 pragma Assert
(Nkind
(N
) in N_Entity
);
7810 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag169 := Val;
7813 procedure Set_Flag170 (N : Node_Id; Val : Boolean) is
7815 pragma Assert (not Locked);
7816 pragma Assert (Nkind (N) in N_Entity);
7819 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag170
:= Val
;
7822 procedure Set_Flag171
(N
: Node_Id
; Val
: Boolean) is
7824 pragma Assert
(not Locked
);
7825 pragma Assert
(Nkind
(N
) in N_Entity
);
7828 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag171 := Val;
7831 procedure Set_Flag172 (N : Node_Id; Val : Boolean) is
7833 pragma Assert (not Locked);
7834 pragma Assert (Nkind (N) in N_Entity);
7837 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag172
:= Val
;
7840 procedure Set_Flag173
(N
: Node_Id
; Val
: Boolean) is
7842 pragma Assert
(not Locked
);
7843 pragma Assert
(Nkind
(N
) in N_Entity
);
7846 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag173 := Val;
7849 procedure Set_Flag174 (N : Node_Id; Val : Boolean) is
7851 pragma Assert (not Locked);
7852 pragma Assert (Nkind (N) in N_Entity);
7855 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag174
:= Val
;
7858 procedure Set_Flag175
(N
: Node_Id
; Val
: Boolean) is
7860 pragma Assert
(not Locked
);
7861 pragma Assert
(Nkind
(N
) in N_Entity
);
7864 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag175 := Val;
7867 procedure Set_Flag176 (N : Node_Id; Val : Boolean) is
7869 pragma Assert (not Locked);
7870 pragma Assert (Nkind (N) in N_Entity);
7873 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag176
:= Val
;
7876 procedure Set_Flag177
(N
: Node_Id
; Val
: Boolean) is
7878 pragma Assert
(not Locked
);
7879 pragma Assert
(Nkind
(N
) in N_Entity
);
7882 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag177 := Val;
7885 procedure Set_Flag178 (N : Node_Id; Val : Boolean) is
7887 pragma Assert (not Locked);
7888 pragma Assert (Nkind (N) in N_Entity);
7891 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag178
:= Val
;
7894 procedure Set_Flag179
(N
: Node_Id
; Val
: Boolean) is
7896 pragma Assert
(not Locked
);
7897 pragma Assert
(Nkind
(N
) in N_Entity
);
7900 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag179 := Val;
7903 procedure Set_Flag180 (N : Node_Id; Val : Boolean) is
7905 pragma Assert (not Locked);
7906 pragma Assert (Nkind (N) in N_Entity);
7909 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag180
:= Val
;
7912 procedure Set_Flag181
(N
: Node_Id
; Val
: Boolean) is
7914 pragma Assert
(not Locked
);
7915 pragma Assert
(Nkind
(N
) in N_Entity
);
7918 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag181 := Val;
7921 procedure Set_Flag182 (N : Node_Id; Val : Boolean) is
7923 pragma Assert (not Locked);
7924 pragma Assert (Nkind (N) in N_Entity);
7927 (Nodes
.Table
(N
+ 3).Field11
'Unrestricted_Access)).Flag182
:= Val
;
7930 procedure Set_Flag183
(N
: Node_Id
; Val
: Boolean) is
7932 pragma Assert
(not Locked
);
7933 pragma Assert
(Nkind
(N
) in N_Entity
);
7936 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag183 := Val;
7939 procedure Set_Flag184 (N : Node_Id; Val : Boolean) is
7941 pragma Assert (not Locked);
7942 pragma Assert (Nkind (N) in N_Entity);
7945 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag184
:= Val
;
7948 procedure Set_Flag185
(N
: Node_Id
; Val
: Boolean) is
7950 pragma Assert
(not Locked
);
7951 pragma Assert
(Nkind
(N
) in N_Entity
);
7954 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag185 := Val;
7957 procedure Set_Flag186 (N : Node_Id; Val : Boolean) is
7959 pragma Assert (not Locked);
7960 pragma Assert (Nkind (N) in N_Entity);
7963 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag186
:= Val
;
7966 procedure Set_Flag187
(N
: Node_Id
; Val
: Boolean) is
7968 pragma Assert
(not Locked
);
7969 pragma Assert
(Nkind
(N
) in N_Entity
);
7972 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag187 := Val;
7975 procedure Set_Flag188 (N : Node_Id; Val : Boolean) is
7977 pragma Assert (not Locked);
7978 pragma Assert (Nkind (N) in N_Entity);
7981 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag188
:= Val
;
7984 procedure Set_Flag189
(N
: Node_Id
; Val
: Boolean) is
7986 pragma Assert
(not Locked
);
7987 pragma Assert
(Nkind
(N
) in N_Entity
);
7990 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag189 := Val;
7993 procedure Set_Flag190 (N : Node_Id; Val : Boolean) is
7995 pragma Assert (not Locked);
7996 pragma Assert (Nkind (N) in N_Entity);
7999 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag190
:= Val
;
8002 procedure Set_Flag191
(N
: Node_Id
; Val
: Boolean) is
8004 pragma Assert
(not Locked
);
8005 pragma Assert
(Nkind
(N
) in N_Entity
);
8008 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag191 := Val;
8011 procedure Set_Flag192 (N : Node_Id; Val : Boolean) is
8013 pragma Assert (not Locked);
8014 pragma Assert (Nkind (N) in N_Entity);
8017 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag192
:= Val
;
8020 procedure Set_Flag193
(N
: Node_Id
; Val
: Boolean) is
8022 pragma Assert
(not Locked
);
8023 pragma Assert
(Nkind
(N
) in N_Entity
);
8026 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag193 := Val;
8029 procedure Set_Flag194 (N : Node_Id; Val : Boolean) is
8031 pragma Assert (not Locked);
8032 pragma Assert (Nkind (N) in N_Entity);
8035 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag194
:= Val
;
8038 procedure Set_Flag195
(N
: Node_Id
; Val
: Boolean) is
8040 pragma Assert
(not Locked
);
8041 pragma Assert
(Nkind
(N
) in N_Entity
);
8044 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag195 := Val;
8047 procedure Set_Flag196 (N : Node_Id; Val : Boolean) is
8049 pragma Assert (not Locked);
8050 pragma Assert (Nkind (N) in N_Entity);
8053 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag196
:= Val
;
8056 procedure Set_Flag197
(N
: Node_Id
; Val
: Boolean) is
8058 pragma Assert
(not Locked
);
8059 pragma Assert
(Nkind
(N
) in N_Entity
);
8062 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag197 := Val;
8065 procedure Set_Flag198 (N : Node_Id; Val : Boolean) is
8067 pragma Assert (not Locked);
8068 pragma Assert (Nkind (N) in N_Entity);
8071 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag198
:= Val
;
8074 procedure Set_Flag199
(N
: Node_Id
; Val
: Boolean) is
8076 pragma Assert
(not Locked
);
8077 pragma Assert
(Nkind
(N
) in N_Entity
);
8080 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag199 := Val;
8083 procedure Set_Flag200 (N : Node_Id; Val : Boolean) is
8085 pragma Assert (not Locked);
8086 pragma Assert (Nkind (N) in N_Entity);
8089 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag200
:= Val
;
8092 procedure Set_Flag201
(N
: Node_Id
; Val
: Boolean) is
8094 pragma Assert
(not Locked
);
8095 pragma Assert
(Nkind
(N
) in N_Entity
);
8098 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag201 := Val;
8101 procedure Set_Flag202 (N : Node_Id; Val : Boolean) is
8103 pragma Assert (not Locked);
8104 pragma Assert (Nkind (N) in N_Entity);
8107 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag202
:= Val
;
8110 procedure Set_Flag203
(N
: Node_Id
; Val
: Boolean) is
8112 pragma Assert
(not Locked
);
8113 pragma Assert
(Nkind
(N
) in N_Entity
);
8116 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag203 := Val;
8119 procedure Set_Flag204 (N : Node_Id; Val : Boolean) is
8121 pragma Assert (not Locked);
8122 pragma Assert (Nkind (N) in N_Entity);
8125 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag204
:= Val
;
8128 procedure Set_Flag205
(N
: Node_Id
; Val
: Boolean) is
8130 pragma Assert
(not Locked
);
8131 pragma Assert
(Nkind
(N
) in N_Entity
);
8134 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag205 := Val;
8137 procedure Set_Flag206 (N : Node_Id; Val : Boolean) is
8139 pragma Assert (not Locked);
8140 pragma Assert (Nkind (N) in N_Entity);
8143 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag206
:= Val
;
8146 procedure Set_Flag207
(N
: Node_Id
; Val
: Boolean) is
8148 pragma Assert
(not Locked
);
8149 pragma Assert
(Nkind
(N
) in N_Entity
);
8152 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag207 := Val;
8155 procedure Set_Flag208 (N : Node_Id; Val : Boolean) is
8157 pragma Assert (not Locked);
8158 pragma Assert (Nkind (N) in N_Entity);
8161 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag208
:= Val
;
8164 procedure Set_Flag209
(N
: Node_Id
; Val
: Boolean) is
8166 pragma Assert
(not Locked
);
8167 pragma Assert
(Nkind
(N
) in N_Entity
);
8170 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag209 := Val;
8173 procedure Set_Flag210 (N : Node_Id; Val : Boolean) is
8175 pragma Assert (not Locked);
8176 pragma Assert (Nkind (N) in N_Entity);
8179 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag210
:= Val
;
8182 procedure Set_Flag211
(N
: Node_Id
; Val
: Boolean) is
8184 pragma Assert
(not Locked
);
8185 pragma Assert
(Nkind
(N
) in N_Entity
);
8188 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag211 := Val;
8191 procedure Set_Flag212 (N : Node_Id; Val : Boolean) is
8193 pragma Assert (not Locked);
8194 pragma Assert (Nkind (N) in N_Entity);
8197 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag212
:= Val
;
8200 procedure Set_Flag213
(N
: Node_Id
; Val
: Boolean) is
8202 pragma Assert
(not Locked
);
8203 pragma Assert
(Nkind
(N
) in N_Entity
);
8206 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag213 := Val;
8209 procedure Set_Flag214 (N : Node_Id; Val : Boolean) is
8211 pragma Assert (not Locked);
8212 pragma Assert (Nkind (N) in N_Entity);
8215 (Nodes
.Table
(N
+ 4).Field12
'Unrestricted_Access)).Flag214
:= Val
;
8218 procedure Set_Flag215
(N
: Node_Id
; Val
: Boolean) is
8220 pragma Assert
(not Locked
);
8221 pragma Assert
(Nkind
(N
) in N_Entity
);
8224 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag215 := Val;
8227 procedure Set_Flag216 (N : Node_Id; Val : Boolean) is
8229 pragma Assert (not Locked);
8230 pragma Assert (Nkind (N) in N_Entity);
8231 Nodes.Table (N + 4).In_List := Val;
8234 procedure Set_Flag217 (N : Node_Id; Val : Boolean) is
8236 pragma Assert (not Locked);
8237 pragma Assert (Nkind (N) in N_Entity);
8238 Nodes.Table (N + 4).Has_Aspects := Val;
8241 procedure Set_Flag218 (N : Node_Id; Val : Boolean) is
8243 pragma Assert (not Locked);
8244 pragma Assert (Nkind (N) in N_Entity);
8245 Nodes.Table (N + 4).Rewrite_Ins := Val;
8248 procedure Set_Flag219 (N : Node_Id; Val : Boolean) is
8250 pragma Assert (not Locked);
8251 pragma Assert (Nkind (N) in N_Entity);
8252 Nodes.Table (N + 4).Analyzed := Val;
8255 procedure Set_Flag220 (N : Node_Id; Val : Boolean) is
8257 pragma Assert (not Locked);
8258 pragma Assert (Nkind (N) in N_Entity);
8259 Nodes.Table (N + 4).Comes_From_Source := Val;
8262 procedure Set_Flag221 (N : Node_Id; Val : Boolean) is
8264 pragma Assert (not Locked);
8265 pragma Assert (Nkind (N) in N_Entity);
8266 Nodes.Table (N + 4).Error_Posted := Val;
8269 procedure Set_Flag222 (N : Node_Id; Val : Boolean) is
8271 pragma Assert (not Locked);
8272 pragma Assert (Nkind (N) in N_Entity);
8273 Nodes.Table (N + 4).Flag4 := Val;
8276 procedure Set_Flag223 (N : Node_Id; Val : Boolean) is
8278 pragma Assert (not Locked);
8279 pragma Assert (Nkind (N) in N_Entity);
8280 Nodes.Table (N + 4).Flag5 := Val;
8283 procedure Set_Flag224 (N : Node_Id; Val : Boolean) is
8285 pragma Assert (not Locked);
8286 pragma Assert (Nkind (N) in N_Entity);
8287 Nodes.Table (N + 4).Flag6 := Val;
8290 procedure Set_Flag225 (N : Node_Id; Val : Boolean) is
8292 pragma Assert (not Locked);
8293 pragma Assert (Nkind (N) in N_Entity);
8294 Nodes.Table (N + 4).Flag7 := Val;
8297 procedure Set_Flag226 (N : Node_Id; Val : Boolean) is
8299 pragma Assert (not Locked);
8300 pragma Assert (Nkind (N) in N_Entity);
8301 Nodes.Table (N + 4).Flag8 := Val;
8304 procedure Set_Flag227 (N : Node_Id; Val : Boolean) is
8306 pragma Assert (not Locked);
8307 pragma Assert (Nkind (N) in N_Entity);
8308 Nodes.Table (N + 4).Flag9 := Val;
8311 procedure Set_Flag228 (N : Node_Id; Val : Boolean) is
8313 pragma Assert (not Locked);
8314 pragma Assert (Nkind (N) in N_Entity);
8315 Nodes.Table (N + 4).Flag10 := Val;
8318 procedure Set_Flag229 (N : Node_Id; Val : Boolean) is
8320 pragma Assert (not Locked);
8321 pragma Assert (Nkind (N) in N_Entity);
8322 Nodes.Table (N + 4).Flag11 := Val;
8325 procedure Set_Flag230 (N : Node_Id; Val : Boolean) is
8327 pragma Assert (not Locked);
8328 pragma Assert (Nkind (N) in N_Entity);
8329 Nodes.Table (N + 4).Flag12 := Val;
8332 procedure Set_Flag231 (N : Node_Id; Val : Boolean) is
8334 pragma Assert (not Locked);
8335 pragma Assert (Nkind (N) in N_Entity);
8336 Nodes.Table (N + 4).Flag13 := Val;
8339 procedure Set_Flag232 (N : Node_Id; Val : Boolean) is
8341 pragma Assert (not Locked);
8342 pragma Assert (Nkind (N) in N_Entity);
8343 Nodes.Table (N + 4).Flag14 := Val;
8346 procedure Set_Flag233 (N : Node_Id; Val : Boolean) is
8348 pragma Assert (not Locked);
8349 pragma Assert (Nkind (N) in N_Entity);
8350 Nodes.Table (N + 4).Flag15 := Val;
8353 procedure Set_Flag234 (N : Node_Id; Val : Boolean) is
8355 pragma Assert (not Locked);
8356 pragma Assert (Nkind (N) in N_Entity);
8357 Nodes.Table (N + 4).Flag16 := Val;
8360 procedure Set_Flag235 (N : Node_Id; Val : Boolean) is
8362 pragma Assert (not Locked);
8363 pragma Assert (Nkind (N) in N_Entity);
8364 Nodes.Table (N + 4).Flag17 := Val;
8367 procedure Set_Flag236 (N : Node_Id; Val : Boolean) is
8369 pragma Assert (not Locked);
8370 pragma Assert (Nkind (N) in N_Entity);
8371 Nodes.Table (N + 4).Flag18 := Val;
8374 procedure Set_Flag237 (N : Node_Id; Val : Boolean) is
8376 pragma Assert (not Locked);
8377 pragma Assert (Nkind (N) in N_Entity);
8378 Nodes.Table (N + 4).Pflag1 := Val;
8381 procedure Set_Flag238 (N : Node_Id; Val : Boolean) is
8383 pragma Assert (not Locked);
8384 pragma Assert (Nkind (N) in N_Entity);
8385 Nodes.Table (N + 4).Pflag2 := Val;
8388 procedure Set_Flag239 (N : Node_Id; Val : Boolean) is
8390 pragma Assert (not Locked);
8391 pragma Assert (Nkind (N) in N_Entity);
8394 (Nodes
.Table
(N
+ 3).Nkind
'Unrestricted_Access)).Flag239
:= Val
;
8397 procedure Set_Flag240
(N
: Node_Id
; Val
: Boolean) is
8399 pragma Assert
(not Locked
);
8400 pragma Assert
(Nkind
(N
) in N_Entity
);
8403 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag240 := Val;
8406 procedure Set_Flag241 (N : Node_Id; Val : Boolean) is
8408 pragma Assert (not Locked);
8409 pragma Assert (Nkind (N) in N_Entity);
8412 (Nodes
.Table
(N
+ 3).Nkind
'Unrestricted_Access)).Flag241
:= Val
;
8415 procedure Set_Flag242
(N
: Node_Id
; Val
: Boolean) is
8417 pragma Assert
(not Locked
);
8418 pragma Assert
(Nkind
(N
) in N_Entity
);
8421 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag242 := Val;
8424 procedure Set_Flag243 (N : Node_Id; Val : Boolean) is
8426 pragma Assert (not Locked);
8427 pragma Assert (Nkind (N) in N_Entity);
8430 (Nodes
.Table
(N
+ 3).Nkind
'Unrestricted_Access)).Flag243
:= Val
;
8433 procedure Set_Flag244
(N
: Node_Id
; Val
: Boolean) is
8435 pragma Assert
(not Locked
);
8436 pragma Assert
(Nkind
(N
) in N_Entity
);
8439 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag244 := Val;
8442 procedure Set_Flag245 (N : Node_Id; Val : Boolean) is
8444 pragma Assert (not Locked);
8445 pragma Assert (Nkind (N) in N_Entity);
8448 (Nodes
.Table
(N
+ 3).Nkind
'Unrestricted_Access)).Flag245
:= Val
;
8451 procedure Set_Flag246
(N
: Node_Id
; Val
: Boolean) is
8453 pragma Assert
(not Locked
);
8454 pragma Assert
(Nkind
(N
) in N_Entity
);
8457 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag246 := Val;
8460 procedure Set_Flag247 (N : Node_Id; Val : Boolean) is
8462 pragma Assert (not Locked);
8463 pragma Assert (Nkind (N) in N_Entity);
8466 (Nodes
.Table
(N
+ 4).Nkind
'Unrestricted_Access)).Flag247
:= Val
;
8469 procedure Set_Flag248
(N
: Node_Id
; Val
: Boolean) is
8471 pragma Assert
(not Locked
);
8472 pragma Assert
(Nkind
(N
) in N_Entity
);
8475 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag248 := Val;
8478 procedure Set_Flag249 (N : Node_Id; Val : Boolean) is
8480 pragma Assert (not Locked);
8481 pragma Assert (Nkind (N) in N_Entity);
8484 (Nodes
.Table
(N
+ 4).Nkind
'Unrestricted_Access)).Flag249
:= Val
;
8487 procedure Set_Flag250
(N
: Node_Id
; Val
: Boolean) is
8489 pragma Assert
(not Locked
);
8490 pragma Assert
(Nkind
(N
) in N_Entity
);
8493 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag250 := Val;
8496 procedure Set_Flag251 (N : Node_Id; Val : Boolean) is
8498 pragma Assert (not Locked);
8499 pragma Assert (Nkind (N) in N_Entity);
8502 (Nodes
.Table
(N
+ 4).Nkind
'Unrestricted_Access)).Flag251
:= Val
;
8505 procedure Set_Flag252
(N
: Node_Id
; Val
: Boolean) is
8507 pragma Assert
(not Locked
);
8508 pragma Assert
(Nkind
(N
) in N_Entity
);
8511 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag252 := Val;
8514 procedure Set_Flag253 (N : Node_Id; Val : Boolean) is
8516 pragma Assert (not Locked);
8517 pragma Assert (Nkind (N) in N_Entity);
8520 (Nodes
.Table
(N
+ 4).Nkind
'Unrestricted_Access)).Flag253
:= Val
;
8523 procedure Set_Flag254
(N
: Node_Id
; Val
: Boolean) is
8525 pragma Assert
(not Locked
);
8526 pragma Assert
(Nkind
(N
) in N_Entity
);
8529 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag254 := Val;
8532 procedure Set_Flag255 (N : Node_Id; Val : Boolean) is
8534 pragma Assert (not Locked);
8535 pragma Assert (Nkind (N) in N_Entity);
8538 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag255
:= Val
;
8541 procedure Set_Flag256
(N
: Node_Id
; Val
: Boolean) is
8543 pragma Assert
(not Locked
);
8544 pragma Assert
(Nkind
(N
) in N_Entity
);
8547 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag256 := Val;
8550 procedure Set_Flag257 (N : Node_Id; Val : Boolean) is
8552 pragma Assert (not Locked);
8553 pragma Assert (Nkind (N) in N_Entity);
8556 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag257
:= Val
;
8559 procedure Set_Flag258
(N
: Node_Id
; Val
: Boolean) is
8561 pragma Assert
(not Locked
);
8562 pragma Assert
(Nkind
(N
) in N_Entity
);
8565 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag258 := Val;
8568 procedure Set_Flag259 (N : Node_Id; Val : Boolean) is
8570 pragma Assert (not Locked);
8571 pragma Assert (Nkind (N) in N_Entity);
8574 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag259
:= Val
;
8577 procedure Set_Flag260
(N
: Node_Id
; Val
: Boolean) is
8579 pragma Assert
(not Locked
);
8580 pragma Assert
(Nkind
(N
) in N_Entity
);
8583 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag260 := Val;
8586 procedure Set_Flag261 (N : Node_Id; Val : Boolean) is
8588 pragma Assert (not Locked);
8589 pragma Assert (Nkind (N) in N_Entity);
8592 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag261
:= Val
;
8595 procedure Set_Flag262
(N
: Node_Id
; Val
: Boolean) is
8597 pragma Assert
(not Locked
);
8598 pragma Assert
(Nkind
(N
) in N_Entity
);
8601 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag262 := Val;
8604 procedure Set_Flag263 (N : Node_Id; Val : Boolean) is
8606 pragma Assert (not Locked);
8607 pragma Assert (Nkind (N) in N_Entity);
8610 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag263
:= Val
;
8613 procedure Set_Flag264
(N
: Node_Id
; Val
: Boolean) is
8615 pragma Assert
(not Locked
);
8616 pragma Assert
(Nkind
(N
) in N_Entity
);
8619 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag264 := Val;
8622 procedure Set_Flag265 (N : Node_Id; Val : Boolean) is
8624 pragma Assert (not Locked);
8625 pragma Assert (Nkind (N) in N_Entity);
8628 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag265
:= Val
;
8631 procedure Set_Flag266
(N
: Node_Id
; Val
: Boolean) is
8633 pragma Assert
(not Locked
);
8634 pragma Assert
(Nkind
(N
) in N_Entity
);
8637 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag266 := Val;
8640 procedure Set_Flag267 (N : Node_Id; Val : Boolean) is
8642 pragma Assert (not Locked);
8643 pragma Assert (Nkind (N) in N_Entity);
8646 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag267
:= Val
;
8649 procedure Set_Flag268
(N
: Node_Id
; Val
: Boolean) is
8651 pragma Assert
(not Locked
);
8652 pragma Assert
(Nkind
(N
) in N_Entity
);
8655 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag268 := Val;
8658 procedure Set_Flag269 (N : Node_Id; Val : Boolean) is
8660 pragma Assert (not Locked);
8661 pragma Assert (Nkind (N) in N_Entity);
8664 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag269
:= Val
;
8667 procedure Set_Flag270
(N
: Node_Id
; Val
: Boolean) is
8669 pragma Assert
(not Locked
);
8670 pragma Assert
(Nkind
(N
) in N_Entity
);
8673 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag270 := Val;
8676 procedure Set_Flag271 (N : Node_Id; Val : Boolean) is
8678 pragma Assert (not Locked);
8679 pragma Assert (Nkind (N) in N_Entity);
8682 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag271
:= Val
;
8685 procedure Set_Flag272
(N
: Node_Id
; Val
: Boolean) is
8687 pragma Assert
(not Locked
);
8688 pragma Assert
(Nkind
(N
) in N_Entity
);
8691 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag272 := Val;
8694 procedure Set_Flag273 (N : Node_Id; Val : Boolean) is
8696 pragma Assert (not Locked);
8697 pragma Assert (Nkind (N) in N_Entity);
8700 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag273
:= Val
;
8703 procedure Set_Flag274
(N
: Node_Id
; Val
: Boolean) is
8705 pragma Assert
(not Locked
);
8706 pragma Assert
(Nkind
(N
) in N_Entity
);
8709 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag274 := Val;
8712 procedure Set_Flag275 (N : Node_Id; Val : Boolean) is
8714 pragma Assert (not Locked);
8715 pragma Assert (Nkind (N) in N_Entity);
8718 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag275
:= Val
;
8721 procedure Set_Flag276
(N
: Node_Id
; Val
: Boolean) is
8723 pragma Assert
(not Locked
);
8724 pragma Assert
(Nkind
(N
) in N_Entity
);
8727 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag276 := Val;
8730 procedure Set_Flag277 (N : Node_Id; Val : Boolean) is
8732 pragma Assert (not Locked);
8733 pragma Assert (Nkind (N) in N_Entity);
8736 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag277
:= Val
;
8739 procedure Set_Flag278
(N
: Node_Id
; Val
: Boolean) is
8741 pragma Assert
(not Locked
);
8742 pragma Assert
(Nkind
(N
) in N_Entity
);
8745 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag278 := Val;
8748 procedure Set_Flag279 (N : Node_Id; Val : Boolean) is
8750 pragma Assert (not Locked);
8751 pragma Assert (Nkind (N) in N_Entity);
8754 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag279
:= Val
;
8757 procedure Set_Flag280
(N
: Node_Id
; Val
: Boolean) is
8759 pragma Assert
(not Locked
);
8760 pragma Assert
(Nkind
(N
) in N_Entity
);
8763 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag280 := Val;
8766 procedure Set_Flag281 (N : Node_Id; Val : Boolean) is
8768 pragma Assert (not Locked);
8769 pragma Assert (Nkind (N) in N_Entity);
8772 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag281
:= Val
;
8775 procedure Set_Flag282
(N
: Node_Id
; Val
: Boolean) is
8777 pragma Assert
(not Locked
);
8778 pragma Assert
(Nkind
(N
) in N_Entity
);
8781 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag282 := Val;
8784 procedure Set_Flag283 (N : Node_Id; Val : Boolean) is
8786 pragma Assert (not Locked);
8787 pragma Assert (Nkind (N) in N_Entity);
8790 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag283
:= Val
;
8793 procedure Set_Flag284
(N
: Node_Id
; Val
: Boolean) is
8795 pragma Assert
(not Locked
);
8796 pragma Assert
(Nkind
(N
) in N_Entity
);
8799 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag284 := Val;
8802 procedure Set_Flag285 (N : Node_Id; Val : Boolean) is
8804 pragma Assert (not Locked);
8805 pragma Assert (Nkind (N) in N_Entity);
8808 (Nodes
.Table
(N
+ 5).Field12
'Unrestricted_Access)).Flag285
:= Val
;
8811 procedure Set_Flag286
(N
: Node_Id
; Val
: Boolean) is
8813 pragma Assert
(not Locked
);
8814 pragma Assert
(Nkind
(N
) in N_Entity
);
8817 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag286 := Val;
8820 procedure Set_Flag287 (N : Node_Id; Val : Boolean) is
8822 pragma Assert (not Locked);
8823 pragma Assert (Nkind (N) in N_Entity);
8824 Nodes.Table (N + 5).In_List := Val;
8827 procedure Set_Flag288 (N : Node_Id; Val : Boolean) is
8829 pragma Assert (not Locked);
8830 pragma Assert (Nkind (N) in N_Entity);
8831 Nodes.Table (N + 5).Has_Aspects := Val;
8834 procedure Set_Flag289 (N : Node_Id; Val : Boolean) is
8836 pragma Assert (not Locked);
8837 pragma Assert (Nkind (N) in N_Entity);
8838 Nodes.Table (N + 5).Rewrite_Ins := Val;
8841 procedure Set_Flag290 (N : Node_Id; Val : Boolean) is
8843 pragma Assert (not Locked);
8844 pragma Assert (Nkind (N) in N_Entity);
8845 Nodes.Table (N + 5).Analyzed := Val;
8848 procedure Set_Flag291 (N : Node_Id; Val : Boolean) is
8850 pragma Assert (not Locked);
8851 pragma Assert (Nkind (N) in N_Entity);
8852 Nodes.Table (N + 5).Comes_From_Source := Val;
8855 procedure Set_Flag292 (N : Node_Id; Val : Boolean) is
8857 pragma Assert (not Locked);
8858 pragma Assert (Nkind (N) in N_Entity);
8859 Nodes.Table (N + 5).Error_Posted := Val;
8862 procedure Set_Flag293 (N : Node_Id; Val : Boolean) is
8864 pragma Assert (not Locked);
8865 pragma Assert (Nkind (N) in N_Entity);
8866 Nodes.Table (N + 5).Flag4 := Val;
8869 procedure Set_Flag294 (N : Node_Id; Val : Boolean) is
8871 pragma Assert (not Locked);
8872 pragma Assert (Nkind (N) in N_Entity);
8873 Nodes.Table (N + 5).Flag5 := Val;
8876 procedure Set_Flag295 (N : Node_Id; Val : Boolean) is
8878 pragma Assert (not Locked);
8879 pragma Assert (Nkind (N) in N_Entity);
8880 Nodes.Table (N + 5).Flag6 := Val;
8883 procedure Set_Flag296 (N : Node_Id; Val : Boolean) is
8885 pragma Assert (not Locked);
8886 pragma Assert (Nkind (N) in N_Entity);
8887 Nodes.Table (N + 5).Flag7 := Val;
8890 procedure Set_Flag297 (N : Node_Id; Val : Boolean) is
8892 pragma Assert (not Locked);
8893 pragma Assert (Nkind (N) in N_Entity);
8894 Nodes.Table (N + 5).Flag8 := Val;
8897 procedure Set_Flag298 (N : Node_Id; Val : Boolean) is
8899 pragma Assert (not Locked);
8900 pragma Assert (Nkind (N) in N_Entity);
8901 Nodes.Table (N + 5).Flag9 := Val;
8904 procedure Set_Flag299 (N : Node_Id; Val : Boolean) is
8906 pragma Assert (not Locked);
8907 pragma Assert (Nkind (N) in N_Entity);
8908 Nodes.Table (N + 5).Flag10 := Val;
8911 procedure Set_Flag300 (N : Node_Id; Val : Boolean) is
8913 pragma Assert (not Locked);
8914 pragma Assert (Nkind (N) in N_Entity);
8915 Nodes.Table (N + 5).Flag11 := Val;
8918 procedure Set_Flag301 (N : Node_Id; Val : Boolean) is
8920 pragma Assert (not Locked);
8921 pragma Assert (Nkind (N) in N_Entity);
8922 Nodes.Table (N + 5).Flag12 := Val;
8925 procedure Set_Flag302 (N : Node_Id; Val : Boolean) is
8927 pragma Assert (not Locked);
8928 pragma Assert (Nkind (N) in N_Entity);
8929 Nodes.Table (N + 5).Flag13 := Val;
8932 procedure Set_Flag303 (N : Node_Id; Val : Boolean) is
8934 pragma Assert (not Locked);
8935 pragma Assert (Nkind (N) in N_Entity);
8936 Nodes.Table (N + 5).Flag14 := Val;
8939 procedure Set_Flag304 (N : Node_Id; Val : Boolean) is
8941 pragma Assert (not Locked);
8942 pragma Assert (Nkind (N) in N_Entity);
8943 Nodes.Table (N + 5).Flag15 := Val;
8946 procedure Set_Flag305 (N : Node_Id; Val : Boolean) is
8948 pragma Assert (not Locked);
8949 pragma Assert (Nkind (N) in N_Entity);
8950 Nodes.Table (N + 5).Flag16 := Val;
8953 procedure Set_Flag306 (N : Node_Id; Val : Boolean) is
8955 pragma Assert (not Locked);
8956 pragma Assert (Nkind (N) in N_Entity);
8957 Nodes.Table (N + 5).Flag17 := Val;
8960 procedure Set_Flag307 (N : Node_Id; Val : Boolean) is
8962 pragma Assert (not Locked);
8963 pragma Assert (Nkind (N) in N_Entity);
8964 Nodes.Table (N + 5).Flag18 := Val;
8967 procedure Set_Flag308 (N : Node_Id; Val : Boolean) is
8969 pragma Assert (not Locked);
8970 pragma Assert (Nkind (N) in N_Entity);
8971 Nodes.Table (N + 5).Pflag1 := Val;
8974 procedure Set_Flag309 (N : Node_Id; Val : Boolean) is
8976 pragma Assert (not Locked);
8977 pragma Assert (Nkind (N) in N_Entity);
8978 Nodes.Table (N + 5).Pflag2 := Val;
8981 procedure Set_Flag310 (N : Node_Id; Val : Boolean) is
8983 pragma Assert (not Locked);
8984 pragma Assert (Nkind (N) in N_Entity);
8987 (Nodes
.Table
(N
+ 5).Nkind
'Unrestricted_Access)).Flag310
:= Val
;
8990 procedure Set_Flag311
(N
: Node_Id
; Val
: Boolean) is
8992 pragma Assert
(not Locked
);
8993 pragma Assert
(Nkind
(N
) in N_Entity
);
8996 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag311 := Val;
8999 procedure Set_Flag312 (N : Node_Id; Val : Boolean) is
9001 pragma Assert (not Locked);
9002 pragma Assert (Nkind (N) in N_Entity);
9005 (Nodes
.Table
(N
+ 5).Nkind
'Unrestricted_Access)).Flag312
:= Val
;
9008 procedure Set_Flag313
(N
: Node_Id
; Val
: Boolean) is
9010 pragma Assert
(not Locked
);
9011 pragma Assert
(Nkind
(N
) in N_Entity
);
9014 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag313 := Val;
9017 procedure Set_Flag314 (N : Node_Id; Val : Boolean) is
9019 pragma Assert (not Locked);
9020 pragma Assert (Nkind (N) in N_Entity);
9023 (Nodes
.Table
(N
+ 5).Nkind
'Unrestricted_Access)).Flag314
:= Val
;
9026 procedure Set_Flag315
(N
: Node_Id
; Val
: Boolean) is
9028 pragma Assert
(not Locked
);
9029 pragma Assert
(Nkind
(N
) in N_Entity
);
9032 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag315 := Val;
9035 procedure Set_Flag316 (N : Node_Id; Val : Boolean) is
9037 pragma Assert (not Locked);
9038 pragma Assert (Nkind (N) in N_Entity);
9041 (Nodes
.Table
(N
+ 5).Nkind
'Unrestricted_Access)).Flag316
:= Val
;
9044 procedure Set_Flag317
(N
: Node_Id
; Val
: Boolean) is
9046 pragma Assert
(not Locked
);
9047 pragma Assert
(Nkind
(N
) in N_Entity
);
9050 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag317 := Val;
9053 procedure Set_Node1_With_Parent (N : Node_Id; Val : Node_Id) is
9055 pragma Assert (not Locked);
9056 pragma Assert (N <= Nodes.Last);
9059 Set_Parent (N => Val, Val => N);
9063 end Set_Node1_With_Parent;
9065 procedure Set_Node2_With_Parent (N : Node_Id; Val : Node_Id) is
9067 pragma Assert (not Locked);
9068 pragma Assert (N <= Nodes.Last);
9071 Set_Parent (N => Val, Val => N);
9075 end Set_Node2_With_Parent;
9077 procedure Set_Node3_With_Parent (N : Node_Id; Val : Node_Id) is
9079 pragma Assert (not Locked);
9080 pragma Assert (N <= Nodes.Last);
9083 Set_Parent (N => Val, Val => N);
9087 end Set_Node3_With_Parent;
9089 procedure Set_Node4_With_Parent (N : Node_Id; Val : Node_Id) is
9091 pragma Assert (not Locked);
9092 pragma Assert (N <= Nodes.Last);
9095 Set_Parent (N => Val, Val => N);
9099 end Set_Node4_With_Parent;
9101 procedure Set_Node5_With_Parent (N : Node_Id; Val : Node_Id) is
9103 pragma Assert (not Locked);
9104 pragma Assert (N <= Nodes.Last);
9107 Set_Parent (N => Val, Val => N);
9111 end Set_Node5_With_Parent;
9113 procedure Set_List1_With_Parent (N : Node_Id; Val : List_Id) is
9115 pragma Assert (not Locked);
9116 pragma Assert (N <= Nodes.Last);
9117 if Val /= No_List and then Val /= Error_List then
9118 Set_Parent (Val, N);
9121 end Set_List1_With_Parent;
9123 procedure Set_List2_With_Parent (N : Node_Id; Val : List_Id) is
9125 pragma Assert (not Locked);
9126 pragma Assert (N <= Nodes.Last);
9127 if Val /= No_List and then Val /= Error_List then
9128 Set_Parent (Val, N);
9131 end Set_List2_With_Parent;
9133 procedure Set_List3_With_Parent (N : Node_Id; Val : List_Id) is
9135 pragma Assert (not Locked);
9136 pragma Assert (N <= Nodes.Last);
9137 if Val /= No_List and then Val /= Error_List then
9138 Set_Parent (Val, N);
9141 end Set_List3_With_Parent;
9143 procedure Set_List4_With_Parent (N : Node_Id; Val : List_Id) is
9145 pragma Assert (not Locked);
9146 pragma Assert (N <= Nodes.Last);
9147 if Val /= No_List and then Val /= Error_List then
9148 Set_Parent (Val, N);
9151 end Set_List4_With_Parent;
9153 procedure Set_List5_With_Parent (N : Node_Id; Val : List_Id) is
9155 pragma Assert (not Locked);
9156 pragma Assert (N <= Nodes.Last);
9157 if Val /= No_List and then Val /= Error_List then
9158 Set_Parent (Val, N);
9161 end Set_List5_With_Parent;
9163 end Unchecked_Access;
9171 Nodes.Locked := False;
9172 Flags.Locked := False;
9173 Orig_Nodes.Locked := False;
9180 procedure Unlock_Nodes is
9182 pragma Assert (Locked);