1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
9 -- Copyright (C) 1992-2021, 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. See the GNU General Public License --
17 -- for more details. You should have received a copy of the GNU General --
18 -- Public License distributed with GNAT; see file COPYING3. If not, go to --
19 -- http://www.gnu.org/licenses for a complete copy of the license. --
21 -- GNAT was originally developed by the GNAT team at New York University. --
22 -- Extensive contributions were provided by Ada Core Technologies Inc. --
24 ------------------------------------------------------------------------------
26 pragma Style_Checks (All_Checks);
27 -- Turn off subprogram ordering check for this package
29 -- WARNING: There is a C version of this package. Any changes to this source
30 -- file must be properly reflected in the file atree.h which is a C header
31 -- file containing equivalent definitions for use by gigi.
33 with Aspects; use Aspects;
34 with Debug; use Debug;
35 with Nlists; use Nlists;
37 with Output; use Output;
38 with Sinput; use Sinput;
40 with GNAT.Heap_Sort_G;
44 Ignored_Ghost_Recording_Proc : Ignored_Ghost_Record_Proc := null;
45 -- This soft link captures the procedure invoked during the creation of an
46 -- ignored Ghost node or entity.
48 Locked : Boolean := False;
49 -- Compiling with assertions enabled, node contents modifications are
50 -- permitted only when this switch is set to False; compiling without
51 -- assertions this lock has no effect.
53 Reporting_Proc : Report_Proc := null;
54 -- Set_Reporting_Proc sets this. Set_Reporting_Proc must be called only
57 Rewriting_Proc : Rewrite_Proc := null;
58 -- This soft link captures the procedure invoked during a node rewrite
64 -- Suppose you find that node 12345 is messed up. You might want to find
65 -- the code that created that node. There are two ways to do this:
67 -- One way is to set a conditional breakpoint on New_Node_Debugging_Output
69 -- break nnd if n = 12345
70 -- and run gnat1 again from the beginning.
72 -- The other way is to set a breakpoint near the beginning (e.g. on
73 -- gnat1drv), and run. Then set Watch_Node (nickname "ww") to 12345 in gdb:
75 -- and set a breakpoint on New_Node_Breakpoint (nickname "nn"). Continue.
77 -- Either way, gnat1 will stop when node 12345 is created, or certain other
78 -- interesting operations are performed, such as Rewrite. To see exactly
79 -- which operations, search for "pragma Debug" below.
81 -- The second method is much faster if the amount of Ada code being
84 ww : Node_Id'Base := Node_Id'First - 1;
85 pragma Export (Ada, ww); -- trick the optimizer
86 Watch_Node : Node_Id'Base renames ww;
87 -- Node to "watch"; that is, whenever a node is created, we check if it
88 -- is equal to Watch_Node, and if so, call New_Node_Breakpoint. You have
89 -- presumably set a breakpoint on New_Node_Breakpoint. Note that the
90 -- initial value of Node_Id'First - 1 ensures that by default, no node
91 -- will be equal to Watch_Node.
94 pragma Export (Ada, nn);
95 procedure New_Node_Breakpoint renames nn;
96 -- This doesn't do anything interesting; it's just for setting breakpoint
97 -- on as explained above.
99 procedure nnd (N : Node_Id);
100 pragma Export (Ada, nnd);
101 procedure New_Node_Debugging_Output (N : Node_Id) renames nnd;
102 -- For debugging. If debugging is turned on, New_Node and New_Entity call
103 -- this. If debug flag N is turned on, this prints out the new node.
105 -- If Node = Watch_Node, this prints out the new node and calls
106 -- New_Node_Breakpoint. Otherwise, does nothing.
108 procedure Node_Debug_Output (Op : String; N : Node_Id);
109 -- Called by nnd; writes Op followed by information about N
111 -----------------------------
112 -- Local Objects and Types --
113 -----------------------------
115 Comes_From_Source_Default : Boolean := False;
117 use Unchecked_Access;
118 -- We are allowed to see these from within our own body
120 use Atree_Private_Part;
121 -- We are also allowed to see our private data structures
123 -- Functions used to store Entity_Kind value in Nkind field
125 -- The following declarations are used to store flags 65-72 in the
126 -- Nkind field of the third component of an extended (entity) node.
128 type Flag_Byte is record
139 pragma Pack (Flag_Byte);
140 for Flag_Byte'Size use 8;
142 type Flag_Byte_Ptr is access all Flag_Byte;
143 type Node_Kind_Ptr is access all Node_Kind;
145 function To_Flag_Byte is new
146 Unchecked_Conversion (Node_Kind, Flag_Byte);
148 function To_Flag_Byte_Ptr is new
149 Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte_Ptr);
151 -- The following declarations are used to store flags 239-246 in the
152 -- Nkind field of the fourth component of an extended (entity) node.
154 type Flag_Byte2 is record
165 pragma Pack (Flag_Byte2);
166 for Flag_Byte2'Size use 8;
168 type Flag_Byte2_Ptr is access all Flag_Byte2;
170 function To_Flag_Byte2 is new
171 Unchecked_Conversion (Node_Kind, Flag_Byte2);
173 function To_Flag_Byte2_Ptr is new
174 Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte2_Ptr);
176 -- The following declarations are used to store flags 247-254 in the
177 -- Nkind field of the fifth component of an extended (entity) node.
179 type Flag_Byte3 is record
190 pragma Pack (Flag_Byte3);
191 for Flag_Byte3'Size use 8;
193 type Flag_Byte3_Ptr is access all Flag_Byte3;
195 function To_Flag_Byte3 is new
196 Unchecked_Conversion (Node_Kind, Flag_Byte3);
198 function To_Flag_Byte3_Ptr is new
199 Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte3_Ptr);
201 -- The following declarations are used to store flags 310-317 in the
202 -- Nkind field of the sixth component of an extended (entity) node.
204 type Flag_Byte4 is record
215 pragma Pack (Flag_Byte4);
216 for Flag_Byte4'Size use 8;
218 type Flag_Byte4_Ptr is access all Flag_Byte4;
220 function To_Flag_Byte4 is new
221 Unchecked_Conversion (Node_Kind, Flag_Byte4);
223 function To_Flag_Byte4_Ptr is new
224 Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte4_Ptr);
226 -- The following declarations are used to store flags 73-96 and the
227 -- Convention field in the Field12 field of the third component of an
228 -- extended (Entity) node.
230 type Flag_Word is record
258 Convention : Convention_Id;
261 pragma Pack (Flag_Word);
262 for Flag_Word'Size use 32;
263 for Flag_Word'Alignment use 4;
265 type Flag_Word_Ptr is access all Flag_Word;
266 type Union_Id_Ptr is access all Union_Id;
268 function To_Flag_Word is new
269 Unchecked_Conversion (Union_Id, Flag_Word);
271 function To_Flag_Word_Ptr is new
272 Unchecked_Conversion (Union_Id_Ptr, Flag_Word_Ptr);
274 -- The following declarations are used to store flags 97-128 in the
275 -- Field12 field of the fourth component of an extended (entity) node.
277 type Flag_Word2 is record
315 pragma Pack (Flag_Word2);
316 for Flag_Word2'Size use 32;
317 for Flag_Word2'Alignment use 4;
319 type Flag_Word2_Ptr is access all Flag_Word2;
321 function To_Flag_Word2 is new
322 Unchecked_Conversion (Union_Id, Flag_Word2);
324 function To_Flag_Word2_Ptr is new
325 Unchecked_Conversion (Union_Id_Ptr, Flag_Word2_Ptr);
327 -- The following declarations are used to store flags 152-183 in the
328 -- Field11 field of the fourth component of an extended (entity) node.
330 type Flag_Word3 is record
368 pragma Pack (Flag_Word3);
369 for Flag_Word3'Size use 32;
370 for Flag_Word3'Alignment use 4;
372 type Flag_Word3_Ptr is access all Flag_Word3;
374 function To_Flag_Word3 is new
375 Unchecked_Conversion (Union_Id, Flag_Word3);
377 function To_Flag_Word3_Ptr is new
378 Unchecked_Conversion (Union_Id_Ptr, Flag_Word3_Ptr);
380 -- The following declarations are used to store flags 184-215 in the
381 -- Field12 field of the fifth component of an extended (entity) node.
383 type Flag_Word4 is record
421 pragma Pack (Flag_Word4);
422 for Flag_Word4'Size use 32;
423 for Flag_Word4'Alignment use 4;
425 type Flag_Word4_Ptr is access all Flag_Word4;
427 function To_Flag_Word4 is new
428 Unchecked_Conversion (Union_Id, Flag_Word4);
430 function To_Flag_Word4_Ptr is new
431 Unchecked_Conversion (Union_Id_Ptr, Flag_Word4_Ptr);
433 -- The following declarations are used to store flags 255-286 in the
434 -- Field12 field of the sixth component of an extended (entity) node.
436 type Flag_Word5 is record
474 pragma Pack (Flag_Word5);
475 for Flag_Word5'Size use 32;
476 for Flag_Word5'Alignment use 4;
478 type Flag_Word5_Ptr is access all Flag_Word5;
480 function To_Flag_Word5 is new
481 Unchecked_Conversion (Union_Id, Flag_Word5);
483 function To_Flag_Word5_Ptr is new
484 Unchecked_Conversion (Union_Id_Ptr, Flag_Word5_Ptr);
486 --------------------------------------------------
487 -- Implementation of Tree Substitution Routines --
488 --------------------------------------------------
490 -- A separate table keeps track of the mapping between rewritten nodes
491 -- and their corresponding original tree nodes. Rewrite makes an entry
492 -- in this table for use by Original_Node. By default, if no call is
493 -- Rewrite, the entry in this table points to the original unwritten node.
495 -- Note: eventually, this should be a field in the Node directly, but
496 -- for now we do not want to disturb the efficiency of a power of 2
497 -- for the node size. ????We are planning to get rid of power-of-2.
499 package Orig_Nodes is new Table.Table (
500 Table_Component_Type => Node_Id,
501 Table_Index_Type => Node_Id'Base,
502 Table_Low_Bound => First_Node_Id,
503 Table_Initial => Alloc.Nodes_Initial,
504 Table_Increment => Alloc.Nodes_Increment,
505 Release_Threshold => Alloc.Nodes_Release_Threshold,
506 Table_Name => "Orig_Nodes");
508 --------------------------
509 -- Paren_Count Handling --
510 --------------------------
512 -- As noted in the spec, the paren count in a sub-expression node has
513 -- four possible values 0,1,2, and 3. The value 3 really means 3 or more,
514 -- and we use an auxiliary serially scanned table to record the actual
515 -- count. A serial search is fine, only pathological programs will use
516 -- entries in this table. Normal programs won't use it at all.
518 type Paren_Count_Entry is record
520 -- The node to which this count applies
522 Count : Nat range 3 .. Nat'Last;
523 -- The count of parentheses, which will be in the indicated range
526 package Paren_Counts is new Table.Table (
527 Table_Component_Type => Paren_Count_Entry,
528 Table_Index_Type => Int,
529 Table_Low_Bound => 0,
531 Table_Increment => 200,
532 Table_Name => "Paren_Counts");
534 procedure Set_Paren_Count_Of_Copy (Target, Source : Node_Id);
535 pragma Inline (Set_Paren_Count_Of_Copy);
536 -- Called when copying a node. Makes sure the Paren_Count of the copy is
539 -----------------------
540 -- Local Subprograms --
541 -----------------------
543 function Allocate_New_Node return Node_Id;
544 pragma Inline (Allocate_New_Node);
545 -- Allocate a new node or first part of a node extension. Initialize the
546 -- Nodes.Table entry, Flags, Orig_Nodes, and List tables.
548 procedure Fix_Parents (Ref_Node, Fix_Node : Node_Id);
549 -- Fix up parent pointers for the syntactic children of Fix_Node after a
550 -- copy, setting them to Fix_Node when they pointed to Ref_Node.
552 procedure Mark_New_Ghost_Node (N : Node_Or_Entity_Id);
553 -- Mark arbitrary node or entity N as Ghost when it is created within a
556 procedure Report (Target, Source : Node_Id);
557 pragma Inline (Report);
558 -- Invoke the reporting procedure if available
560 -----------------------
561 -- Allocate_New_Node --
562 -----------------------
564 function Allocate_New_Node return Node_Id is
567 Nodes.Append (Default_Node);
568 New_Id := Nodes.Last;
569 Flags.Append (Default_Flags);
570 Orig_Nodes.Append (New_Id);
571 Nodes.Table (Nodes.Last).Comes_From_Source :=
572 Comes_From_Source_Default;
573 Allocate_List_Tables (Nodes.Last);
574 Report (Target => New_Id, Source => Empty);
577 end Allocate_New_Node;
583 function Analyzed (N : Node_Id) return Boolean is
585 pragma Assert (N <= Nodes.Last);
586 return Nodes.Table (N).Analyzed;
589 --------------------------
590 -- Basic_Set_Convention --
591 --------------------------
593 procedure Basic_Set_Convention (E : Entity_Id; Val : Convention_Id) is
595 pragma Assert (Nkind (E) in N_Entity);
598 (Nodes.Table (E + 2).Field12'Unrestricted_Access)).Convention := Val;
599 end Basic_Set_Convention;
605 function Check_Actuals (N : Node_Id) return Boolean is
607 return Flags.Table (N).Check_Actuals;
610 --------------------------
611 -- Check_Error_Detected --
612 --------------------------
614 procedure Check_Error_Detected is
616 -- An anomaly has been detected which is assumed to be a consequence of
617 -- a previous serious error or configurable run time violation. Raise
618 -- an exception if no such error has been detected.
620 if Serious_Errors_Detected = 0
621 and then Configurable_Run_Time_Violations = 0
625 end Check_Error_Detected;
631 procedure Change_Node (N : Node_Id; New_Node_Kind : Node_Kind) is
633 -- Flags table attributes
635 Save_CA : constant Boolean := Flags.Table (N).Check_Actuals;
636 Save_Is_IGN : constant Boolean := Flags.Table (N).Is_Ignored_Ghost_Node;
638 -- Nodes table attributes
640 Save_CFS : constant Boolean := Nodes.Table (N).Comes_From_Source;
641 Save_In_List : constant Boolean := Nodes.Table (N).In_List;
642 Save_Link : constant Union_Id := Nodes.Table (N).Link;
643 Save_Posted : constant Boolean := Nodes.Table (N).Error_Posted;
644 Save_Sloc : constant Source_Ptr := Sloc (N);
646 Par_Count : Nat := 0;
649 if Nkind (N) in N_Subexpr then
650 Par_Count := Paren_Count (N);
653 Nodes.Table (N) := Default_Node;
654 Nodes.Table (N).Sloc := Save_Sloc;
655 Nodes.Table (N).In_List := Save_In_List;
656 Nodes.Table (N).Link := Save_Link;
657 Nodes.Table (N).Comes_From_Source := Save_CFS;
658 Nodes.Table (N).Nkind := New_Node_Kind;
659 Nodes.Table (N).Error_Posted := Save_Posted;
661 Flags.Table (N) := Default_Flags;
662 Flags.Table (N).Check_Actuals := Save_CA;
663 Flags.Table (N).Is_Ignored_Ghost_Node := Save_Is_IGN;
665 if New_Node_Kind in N_Subexpr then
666 Set_Paren_Count (N, Par_Count);
670 -----------------------
671 -- Comes_From_Source --
672 -----------------------
674 function Comes_From_Source (N : Node_Id) return Boolean is
676 pragma Assert (N <= Nodes.Last);
677 return Nodes.Table (N).Comes_From_Source;
678 end Comes_From_Source;
684 function Convention (E : Entity_Id) return Convention_Id is
686 pragma Assert (Nkind (E) in N_Entity);
687 return To_Flag_Word (Nodes.Table (E + 2).Field12).Convention;
694 procedure Copy_Node (Source : Node_Id; Destination : Node_Id) is
695 Save_In_List : constant Boolean := Nodes.Table (Destination).In_List;
696 Save_Link : constant Union_Id := Nodes.Table (Destination).Link;
699 pragma Debug (New_Node_Debugging_Output (Source));
700 pragma Debug (New_Node_Debugging_Output (Destination));
702 Nodes.Table (Destination) := Nodes.Table (Source);
703 Nodes.Table (Destination).In_List := Save_In_List;
704 Nodes.Table (Destination).Link := Save_Link;
706 Flags.Table (Destination) := Flags.Table (Source);
708 Set_Paren_Count_Of_Copy (Target => Destination, Source => Source);
710 -- Deal with copying extension nodes if present. No need to copy flags
711 -- table entries, since they are always zero for extending components.
713 pragma Assert (Has_Extension (Source) = Has_Extension (Destination));
715 if Has_Extension (Source) then
716 for J in 1 .. Num_Extension_Nodes loop
717 Nodes.Table (Destination + J) := Nodes.Table (Source + J);
722 ------------------------
723 -- Copy_Separate_List --
724 ------------------------
726 function Copy_Separate_List (Source : List_Id) return List_Id is
727 Result : constant List_Id := New_List;
731 Nod := First (Source);
732 while Present (Nod) loop
733 Append (Copy_Separate_Tree (Nod), Result);
738 end Copy_Separate_List;
740 ------------------------
741 -- Copy_Separate_Tree --
742 ------------------------
744 function Copy_Separate_Tree (Source : Node_Id) return Node_Id is
747 function Copy_Entity (E : Entity_Id) return Entity_Id;
748 -- Copy Entity, copying only the Ekind and Chars fields
750 function Copy_List (List : List_Id) return List_Id;
753 function Possible_Copy (Field : Union_Id) return Union_Id;
754 -- Given a field, returns a copy of the node or list if its parent is
755 -- the current source node, and otherwise returns the input.
761 function Copy_Entity (E : Entity_Id) return Entity_Id is
765 -- Build appropriate node
767 case N_Entity (Nkind (E)) is
768 when N_Defining_Identifier =>
769 New_Ent := New_Entity (N_Defining_Identifier, Sloc (E));
771 when N_Defining_Character_Literal =>
772 New_Ent := New_Entity (N_Defining_Character_Literal, Sloc (E));
774 when N_Defining_Operator_Symbol =>
775 New_Ent := New_Entity (N_Defining_Operator_Symbol, Sloc (E));
778 Set_Chars (New_Ent, Chars (E));
779 -- Set_Comes_From_Source (New_Ent, Comes_From_Source (E));
787 function Copy_List (List : List_Id) return List_Id is
792 if List = No_List then
799 while Present (E) loop
800 if Has_Extension (E) then
801 Append (Copy_Entity (E), NL);
803 Append (Copy_Separate_Tree (E), NL);
817 function Possible_Copy (Field : Union_Id) return Union_Id is
821 if Field in Node_Range then
822 New_N := Union_Id (Copy_Separate_Tree (Node_Id (Field)));
824 if Parent (Node_Id (Field)) = Source then
825 Set_Parent (Node_Id (New_N), New_Id);
830 elsif Field in List_Range then
831 New_N := Union_Id (Copy_List (List_Id (Field)));
833 if Parent (List_Id (Field)) = Source then
834 Set_Parent (List_Id (New_N), New_Id);
844 -- Start of processing for Copy_Separate_Tree
847 if Source <= Empty_Or_Error then
850 elsif Has_Extension (Source) then
851 return Copy_Entity (Source);
854 New_Id := New_Copy (Source);
856 -- Recursively copy descendants
858 Set_Field1 (New_Id, Possible_Copy (Field1 (New_Id)));
859 Set_Field2 (New_Id, Possible_Copy (Field2 (New_Id)));
860 Set_Field3 (New_Id, Possible_Copy (Field3 (New_Id)));
861 Set_Field4 (New_Id, Possible_Copy (Field4 (New_Id)));
862 Set_Field5 (New_Id, Possible_Copy (Field5 (New_Id)));
864 -- Explicitly copy the aspect specifications as those do not reside
867 if Permits_Aspect_Specifications (Source)
868 and then Has_Aspects (Source)
870 Set_Aspect_Specifications
871 (New_Id, Copy_List (Aspect_Specifications (Source)));
874 -- Set Entity field to Empty to ensure that no entity references
875 -- are shared between the two, if the source is already analyzed.
877 if Nkind (New_Id) in N_Has_Entity
878 or else Nkind (New_Id) = N_Freeze_Entity
880 Set_Entity (New_Id, Empty);
883 -- Reset all Etype fields and Analyzed flags, because input tree may
884 -- have been fully or partially analyzed.
886 if Nkind (New_Id) in N_Has_Etype then
887 Set_Etype (New_Id, Empty);
890 Set_Analyzed (New_Id, False);
892 -- Rather special case, if we have an expanded name, then change
893 -- it back into a selected component, so that the tree looks the
894 -- way it did coming out of the parser. This will change back
895 -- when we analyze the selected component node.
897 if Nkind (New_Id) = N_Expanded_Name then
899 -- The following code is a bit kludgy. It would be cleaner to
900 -- Add an entry Change_Expanded_Name_To_Selected_Component to
901 -- Sinfo.CN, but that's delicate because Atree is used in the
902 -- binder, so we don't want to add that dependency.
903 -- ??? Revisit now that ASIS is no longer using this unit.
905 -- Consequently we have no choice but to hold our noses and do
906 -- the change manually. At least we are Atree, so this odd use
907 -- of Atree.Unchecked_Access is at least all in the family.
909 -- Change the node type
911 Atree.Unchecked_Access.Set_Nkind (New_Id, N_Selected_Component);
913 -- Clear the Chars field which is not present in a selected
914 -- component node, so we don't want a junk value around.
916 Set_Node1 (New_Id, Empty);
919 -- All done, return copied node
923 end Copy_Separate_Tree;
929 function Ekind (E : Entity_Id) return Entity_Kind is
931 pragma Assert (Nkind (E) in N_Entity);
932 return N_To_E (Nodes.Table (E + 1).Nkind);
939 function Error_Posted (N : Node_Id) return Boolean is
941 pragma Assert (N <= Nodes.Last);
942 return Nodes.Table (N).Error_Posted;
945 -----------------------
946 -- Exchange_Entities --
947 -----------------------
949 procedure Exchange_Entities (E1 : Entity_Id; E2 : Entity_Id) is
950 Temp_Ent : Node_Record;
951 Temp_Flg : Flags_Byte;
954 pragma Debug (New_Node_Debugging_Output (E1));
955 pragma Debug (New_Node_Debugging_Output (E2));
958 and then Has_Extension (E1)
959 and then Has_Extension (E2)
960 and then not Nodes.Table (E1).In_List
961 and then not Nodes.Table (E2).In_List);
963 -- Exchange the contents of the two entities
965 for J in 0 .. Num_Extension_Nodes loop
966 Temp_Ent := Nodes.Table (E1 + J);
967 Nodes.Table (E1 + J) := Nodes.Table (E2 + J);
968 Nodes.Table (E2 + J) := Temp_Ent;
971 -- Exchange flag bytes for first component. No need to do the exchange
972 -- for the other components, since the flag bytes are always zero.
974 Temp_Flg := Flags.Table (E1);
975 Flags.Table (E1) := Flags.Table (E2);
976 Flags.Table (E2) := Temp_Flg;
978 -- That exchange exchanged the parent pointers as well, which is what
979 -- we want, but we need to patch up the defining identifier pointers
980 -- in the parent nodes (the child pointers) to match this switch
981 -- unless for Implicit types entities which have no parent, in which
982 -- case we don't do anything otherwise we won't be able to revert back
983 -- to the original situation.
985 -- Shouldn't this use Is_Itype instead of the Parent test
987 if Present (Parent (E1)) and then Present (Parent (E2)) then
988 Set_Defining_Identifier (Parent (E1), E1);
989 Set_Defining_Identifier (Parent (E2), E2);
991 end Exchange_Entities;
997 function Extend_Node (Source : Node_Id) return Entity_Id is
998 pragma Assert (Present (Source));
999 pragma Assert (not Has_Extension (Source));
1002 procedure Debug_Extend_Node;
1003 pragma Inline (Debug_Extend_Node);
1004 -- Debug routine for -gnatdn
1006 -----------------------
1007 -- Debug_Extend_Node --
1008 -----------------------
1010 procedure Debug_Extend_Node is
1012 if Debug_Flag_N then
1013 Write_Str ("Extend node ");
1014 Write_Int (Int (Source));
1016 if New_Id = Source then
1017 Write_Str (" in place");
1019 Write_Str (" copied to ");
1020 Write_Int (Int (New_Id));
1025 end Debug_Extend_Node;
1027 -- Start of processing for Extend_Node
1030 -- Optimize the case where Source happens to be the last node; in that
1031 -- case, we don't need to move it.
1033 if Source = Nodes.Last then
1036 Nodes.Append (Nodes.Table (Source));
1037 Flags.Append (Flags.Table (Source));
1038 New_Id := Nodes.Last;
1039 Orig_Nodes.Append (New_Id);
1042 Set_Check_Actuals (New_Id, False);
1044 -- Set extension nodes
1046 for J in 1 .. Num_Extension_Nodes loop
1047 Nodes.Append (Default_Node_Extension);
1048 Flags.Append (Default_Flags);
1051 Orig_Nodes.Set_Last (Nodes.Last);
1052 Allocate_List_Tables (Nodes.Last);
1053 Report (Target => New_Id, Source => Source);
1055 pragma Debug (Debug_Extend_Node);
1064 procedure Fix_Parents (Ref_Node, Fix_Node : Node_Id) is
1065 pragma Assert (Nkind (Ref_Node) = Nkind (Fix_Node));
1067 procedure Fix_Parent (Field : Union_Id);
1068 -- Fix up one parent pointer. Field is checked to see if it points to
1069 -- a node, list, or element list that has a parent that points to
1070 -- Ref_Node. If so, the parent is reset to point to Fix_Node.
1076 procedure Fix_Parent (Field : Union_Id) is
1078 -- Fix parent of node that is referenced by Field. Note that we must
1079 -- exclude the case where the node is a member of a list, because in
1080 -- this case the parent is the parent of the list.
1082 if Field in Node_Range
1083 and then Present (Node_Id (Field))
1084 and then not Nodes.Table (Node_Id (Field)).In_List
1085 and then Parent (Node_Id (Field)) = Ref_Node
1087 Set_Parent (Node_Id (Field), Fix_Node);
1089 -- Fix parent of list that is referenced by Field
1091 elsif Field in List_Range
1092 and then Present (List_Id (Field))
1093 and then Parent (List_Id (Field)) = Ref_Node
1095 Set_Parent (List_Id (Field), Fix_Node);
1099 -- Start of processing for Fix_Parents
1102 Fix_Parent (Field1 (Fix_Node));
1103 Fix_Parent (Field2 (Fix_Node));
1104 Fix_Parent (Field3 (Fix_Node));
1105 Fix_Parent (Field4 (Fix_Node));
1106 Fix_Parent (Field5 (Fix_Node));
1113 function Flags_Address return System.Address is
1115 return Flags.Table (First_Node_Id)'Address;
1118 -----------------------------------
1119 -- Get_Comes_From_Source_Default --
1120 -----------------------------------
1122 function Get_Comes_From_Source_Default return Boolean is
1124 return Comes_From_Source_Default;
1125 end Get_Comes_From_Source_Default;
1131 function Has_Aspects (N : Node_Id) return Boolean is
1133 pragma Assert (N <= Nodes.Last);
1134 return Nodes.Table (N).Has_Aspects;
1141 function Has_Extension (N : Node_Id) return Boolean is
1143 return N < Nodes.Last and then Nodes.Table (N + 1).Is_Extension;
1150 procedure Initialize is
1152 pragma Warnings (Off, Dummy);
1155 Atree_Private_Part.Nodes.Init;
1156 Atree_Private_Part.Flags.Init;
1160 -- Allocate Empty node
1162 Dummy := New_Node (N_Empty, No_Location);
1163 Set_Name1 (Empty, No_Name);
1165 -- Allocate Error node, and set Error_Posted, since we certainly
1166 -- only generate an Error node if we do post some kind of error.
1168 Dummy := New_Node (N_Error, No_Location);
1169 Set_Name1 (Error, Error_Name);
1170 Set_Error_Posted (Error, True);
1173 ---------------------------
1174 -- Is_Ignored_Ghost_Node --
1175 ---------------------------
1177 function Is_Ignored_Ghost_Node (N : Node_Id) return Boolean is
1179 return Flags.Table (N).Is_Ignored_Ghost_Node;
1180 end Is_Ignored_Ghost_Node;
1182 --------------------------
1183 -- Is_Rewrite_Insertion --
1184 --------------------------
1186 function Is_Rewrite_Insertion (Node : Node_Id) return Boolean is
1188 return Nodes.Table (Node).Rewrite_Ins;
1189 end Is_Rewrite_Insertion;
1191 -----------------------------
1192 -- Is_Rewrite_Substitution --
1193 -----------------------------
1195 function Is_Rewrite_Substitution (Node : Node_Id) return Boolean is
1197 return Orig_Nodes.Table (Node) /= Node;
1198 end Is_Rewrite_Substitution;
1204 function Last_Node_Id return Node_Id is
1215 -- We used to Release the tables, as in the comments below, but that is
1216 -- a waste of time. We're only wasting virtual memory here, and the
1217 -- release calls copy large amounts of data.
1218 -- ???Get rid of Release?
1221 Flags.Locked := True;
1222 -- Orig_Nodes.Release;
1223 Orig_Nodes.Locked := True;
1230 procedure Lock_Nodes is
1232 pragma Assert (not Locked);
1236 -------------------------
1237 -- Mark_New_Ghost_Node --
1238 -------------------------
1240 procedure Mark_New_Ghost_Node (N : Node_Or_Entity_Id) is
1242 -- The Ghost node is created within a Ghost region
1244 if Ghost_Mode = Check then
1245 if Nkind (N) in N_Entity then
1246 Set_Is_Checked_Ghost_Entity (N);
1249 elsif Ghost_Mode = Ignore then
1250 if Nkind (N) in N_Entity then
1251 Set_Is_Ignored_Ghost_Entity (N);
1254 Set_Is_Ignored_Ghost_Node (N);
1256 -- Record the ignored Ghost node or entity in order to eliminate it
1257 -- from the tree later.
1259 if Ignored_Ghost_Recording_Proc /= null then
1260 Ignored_Ghost_Recording_Proc.all (N);
1263 end Mark_New_Ghost_Node;
1265 ----------------------------
1266 -- Mark_Rewrite_Insertion --
1267 ----------------------------
1269 procedure Mark_Rewrite_Insertion (New_Node : Node_Id) is
1271 Nodes.Table (New_Node).Rewrite_Ins := True;
1272 end Mark_Rewrite_Insertion;
1278 function New_Copy (Source : Node_Id) return Node_Id is
1281 if Source <= Empty_Or_Error then
1285 Nodes.Append (Nodes.Table (Source));
1286 Flags.Append (Flags.Table (Source));
1287 New_Id := Nodes.Last;
1288 Orig_Nodes.Append (New_Id);
1289 Set_Check_Actuals (New_Id, False);
1290 Set_Paren_Count_Of_Copy (Target => New_Id, Source => Source);
1292 -- Set extension nodes if required
1294 if Has_Extension (Source) then
1295 for J in 1 .. Num_Extension_Nodes loop
1296 Nodes.Append (Nodes.Table (Source + J));
1297 Flags.Append (Flags.Table (Source + J));
1299 Orig_Nodes.Set_Last (Nodes.Last);
1301 pragma Assert (Orig_Nodes.Table (Orig_Nodes.Last) = Nodes.Last);
1304 Allocate_List_Tables (Nodes.Last);
1305 Report (Target => New_Id, Source => Source);
1307 Nodes.Table (New_Id).In_List := False;
1308 Nodes.Table (New_Id).Link := Empty_List_Or_Node;
1310 -- If the original is marked as a rewrite insertion, then unmark the
1311 -- copy, since we inserted the original, not the copy.
1313 Nodes.Table (New_Id).Rewrite_Ins := False;
1314 pragma Debug (New_Node_Debugging_Output (New_Id));
1316 -- Clear Is_Overloaded since we cannot have semantic interpretations
1317 -- of this new node.
1319 if Nkind (Source) in N_Subexpr then
1320 Set_Is_Overloaded (New_Id, False);
1323 -- Always clear Has_Aspects, the caller must take care of copying
1324 -- aspects if this is required for the particular situation.
1326 Set_Has_Aspects (New_Id, False);
1328 -- Mark the copy as Ghost depending on the current Ghost region
1330 Mark_New_Ghost_Node (New_Id);
1332 pragma Assert (New_Id /= Source);
1341 (New_Node_Kind : Node_Kind;
1342 New_Sloc : Source_Ptr) return Entity_Id
1344 pragma Assert (New_Node_Kind in N_Entity);
1345 New_Id : constant Entity_Id := Allocate_New_Node;
1347 -- Set extension nodes
1349 for J in 1 .. Num_Extension_Nodes loop
1350 Nodes.Append (Default_Node_Extension);
1351 Flags.Append (Default_Flags);
1354 Orig_Nodes.Set_Last (Nodes.Last);
1356 -- If this is a node with a real location and we are generating
1357 -- source nodes, then reset Current_Error_Node. This is useful
1358 -- if we bomb during parsing to get a error location for the bomb.
1360 if New_Sloc > No_Location and then Comes_From_Source_Default then
1361 Current_Error_Node := New_Id;
1364 Nodes.Table (New_Id).Nkind := New_Node_Kind;
1365 Nodes.Table (New_Id).Sloc := New_Sloc;
1366 pragma Debug (New_Node_Debugging_Output (New_Id));
1368 -- Mark the new entity as Ghost depending on the current Ghost region
1370 Mark_New_Ghost_Node (New_Id);
1380 (New_Node_Kind : Node_Kind;
1381 New_Sloc : Source_Ptr) return Node_Id
1383 pragma Assert (New_Node_Kind not in N_Entity);
1384 New_Id : constant Node_Id := Allocate_New_Node;
1385 pragma Assert (Orig_Nodes.Table (Orig_Nodes.Last) = Nodes.Last);
1387 Nodes.Table (New_Id).Nkind := New_Node_Kind;
1388 Nodes.Table (New_Id).Sloc := New_Sloc;
1389 pragma Debug (New_Node_Debugging_Output (New_Id));
1391 -- If this is a node with a real location and we are generating source
1392 -- nodes, then reset Current_Error_Node. This is useful if we bomb
1393 -- during parsing to get an error location for the bomb.
1395 if Comes_From_Source_Default and then New_Sloc > No_Location then
1396 Current_Error_Node := New_Id;
1399 -- Mark the new node as Ghost depending on the current Ghost region
1401 Mark_New_Ghost_Node (New_Id);
1406 -------------------------
1407 -- New_Node_Breakpoint --
1408 -------------------------
1412 Write_Str ("Watched node ");
1413 Write_Int (Int (Watch_Node));
1417 -------------------------------
1418 -- New_Node_Debugging_Output --
1419 -------------------------------
1421 procedure nnd (N : Node_Id) is
1422 Node_Is_Watched : constant Boolean := N = Watch_Node;
1425 if Debug_Flag_N or else Node_Is_Watched then
1426 Node_Debug_Output ("Node", N);
1428 if Node_Is_Watched then
1429 New_Node_Breakpoint;
1438 function Nkind (N : Node_Id) return Node_Kind is
1440 return Nodes.Table (N).Nkind;
1447 function No (N : Node_Id) return Boolean is
1452 -----------------------
1453 -- Node_Debug_Output --
1454 -----------------------
1456 procedure Node_Debug_Output (Op : String; N : Node_Id) is
1460 if Nkind (N) in N_Entity then
1461 Write_Str (" entity");
1463 Write_Str (" node");
1466 Write_Str (" Id = ");
1467 Write_Int (Int (N));
1469 Write_Location (Sloc (N));
1471 Write_Str (Node_Kind'Image (Nkind (N)));
1473 end Node_Debug_Output;
1479 function Nodes_Address return System.Address is
1481 return Nodes.Table (First_Node_Id)'Address;
1484 -----------------------------------
1485 -- Approx_Num_Nodes_And_Entities --
1486 -----------------------------------
1488 function Approx_Num_Nodes_And_Entities return Nat is
1490 -- This is an overestimate, because entities take up more space, but
1491 -- that really doesn't matter; it's not worth subtracting out the
1494 return Nat (Nodes.Last - First_Node_Id);
1495 end Approx_Num_Nodes_And_Entities;
1501 function Original_Node (Node : Node_Id) return Node_Id is
1503 return Orig_Nodes.Table (Node);
1510 function Paren_Count (N : Node_Id) return Nat is
1514 pragma Assert (N <= Nodes.Last);
1516 if Nodes.Table (N).Pflag1 then
1520 if Nodes.Table (N).Pflag2 then
1524 -- Value of 0,1,2 returned as is
1529 -- Value of 3 means we search the table, and we must find an entry
1532 for J in Paren_Counts.First .. Paren_Counts.Last loop
1533 if N = Paren_Counts.Table (J).Nod then
1534 return Paren_Counts.Table (J).Count;
1538 raise Program_Error;
1546 function Parent (N : Node_Id) return Node_Id is
1548 if Is_List_Member (N) then
1549 return Parent (List_Containing (N));
1551 return Node_Id (Nodes.Table (N).Link);
1559 function Present (N : Node_Id) return Boolean is
1564 --------------------------------
1565 -- Preserve_Comes_From_Source --
1566 --------------------------------
1568 procedure Preserve_Comes_From_Source (NewN, OldN : Node_Id) is
1570 Set_Comes_From_Source (NewN, Comes_From_Source (OldN));
1571 end Preserve_Comes_From_Source;
1573 ----------------------
1574 -- Print_Statistics --
1575 ----------------------
1577 procedure Print_Statistics is
1578 N_Count : constant Natural := Natural (Nodes.Last - First_Node_Id + 1);
1579 E_Count : Natural := 0;
1582 Write_Str ("Number of entities: ");
1586 function CP_Lt (Op1, Op2 : Natural) return Boolean;
1587 -- Compare routine for Sort
1589 procedure CP_Move (From : Natural; To : Natural);
1590 -- Move routine for Sort
1592 Kind_Count : array (Node_Kind) of Natural := (others => 0);
1593 -- Array of occurrence count per node kind
1595 Kind_Max : constant Natural := Node_Kind'Pos (N_Unused_At_End) - 1;
1596 -- The index of the largest (interesting) node kind
1598 Ranking : array (0 .. Kind_Max) of Node_Kind;
1599 -- Ranking array for node kinds (index 0 is used for the temporary)
1601 package Sorting is new GNAT.Heap_Sort_G (CP_Move, CP_Lt);
1603 function CP_Lt (Op1, Op2 : Natural) return Boolean is
1605 return Kind_Count (Ranking (Op2)) < Kind_Count (Ranking (Op1));
1608 procedure CP_Move (From : Natural; To : Natural) is
1610 Ranking (To) := Ranking (From);
1614 -- Count the number of occurrences of each node kind
1616 for I in First_Node_Id .. Nodes.Last loop
1618 Nkind : constant Node_Kind := Nodes.Table (I).Nkind;
1620 if not Nodes.Table (I).Is_Extension then
1621 Kind_Count (Nkind) := Kind_Count (Nkind) + 1;
1626 -- Sort the node kinds by number of occurrences
1628 for N in 1 .. Kind_Max loop
1629 Ranking (N) := Node_Kind'Val (N);
1632 Sorting.Sort (Kind_Max);
1634 -- Print the list in descending order
1636 for N in 1 .. Kind_Max loop
1638 Count : constant Natural := Kind_Count (Ranking (N));
1642 Write_Str (Node_Kind'Image (Ranking (N)));
1644 Write_Int (Int (Count));
1647 E_Count := E_Count + Count;
1653 Write_Str ("Total number of entities: ");
1654 Write_Int (Int (E_Count));
1657 Write_Str ("Maximum number of nodes per entity: ");
1658 Write_Int (Int (Num_Extension_Nodes + 1));
1661 Write_Str ("Number of allocated nodes: ");
1662 Write_Int (Int (N_Count));
1665 Write_Str ("Ratio allocated nodes/entities: ");
1666 Write_Int (Int (Long_Long_Integer (N_Count) * 100 /
1667 Long_Long_Integer (E_Count)));
1671 Write_Str ("Size of a node in bytes: ");
1672 Write_Int (Int (Node_Record'Size) / Storage_Unit);
1675 Write_Str ("Memory consumption in bytes: ");
1676 Write_Int (Int (Long_Long_Integer (N_Count) *
1677 (Node_Record'Size / Storage_Unit)));
1679 end Print_Statistics;
1685 function Relocate_Node (Source : Node_Id) return Node_Id is
1693 New_Node := New_Copy (Source);
1694 Fix_Parents (Ref_Node => Source, Fix_Node => New_Node);
1696 -- We now set the parent of the new node to be the same as the parent of
1697 -- the source. Almost always this parent will be replaced by a new value
1698 -- when the relocated node is reattached to the tree, but by doing it
1699 -- now, we ensure that this node is not even temporarily disconnected
1700 -- from the tree. Note that this does not happen free, because in the
1701 -- list case, the parent does not get set.
1703 Set_Parent (New_Node, Parent (Source));
1705 -- If the node being relocated was a rewriting of some original node,
1706 -- then the relocated node has the same original node.
1708 if Is_Rewrite_Substitution (Source) then
1709 Orig_Nodes.Table (New_Node) := Orig_Nodes.Table (Source);
1719 procedure Replace (Old_Node, New_Node : Node_Id) is
1720 Old_Post : constant Boolean := Nodes.Table (Old_Node).Error_Posted;
1721 Old_HasA : constant Boolean := Nodes.Table (Old_Node).Has_Aspects;
1722 Old_CFS : constant Boolean := Nodes.Table (Old_Node).Comes_From_Source;
1726 (not Has_Extension (Old_Node)
1727 and not Has_Extension (New_Node)
1728 and not Nodes.Table (New_Node).In_List);
1730 pragma Debug (New_Node_Debugging_Output (Old_Node));
1731 pragma Debug (New_Node_Debugging_Output (New_Node));
1733 -- Do copy, preserving link and in list status and required flags
1735 Copy_Node (Source => New_Node, Destination => Old_Node);
1736 Nodes.Table (Old_Node).Comes_From_Source := Old_CFS;
1737 Nodes.Table (Old_Node).Error_Posted := Old_Post;
1738 Nodes.Table (Old_Node).Has_Aspects := Old_HasA;
1740 -- Fix parents of substituted node, since it has changed identity
1742 Fix_Parents (Ref_Node => New_Node, Fix_Node => Old_Node);
1744 -- Since we are doing a replace, we assume that the original node
1745 -- is intended to become the new replaced node. The call would be
1746 -- to Rewrite if there were an intention to save the original node.
1748 Orig_Nodes.Table (Old_Node) := Old_Node;
1750 -- Invoke the reporting procedure (if available)
1752 if Reporting_Proc /= null then
1753 Reporting_Proc.all (Target => Old_Node, Source => New_Node);
1761 procedure Report (Target, Source : Node_Id) is
1763 if Reporting_Proc /= null then
1764 Reporting_Proc.all (Target, Source);
1772 procedure Rewrite (Old_Node, New_Node : Node_Id) is
1774 -- Flags table attributes
1776 Old_CA : constant Boolean := Flags.Table (Old_Node).Check_Actuals;
1777 Old_Is_IGN : constant Boolean :=
1778 Flags.Table (Old_Node).Is_Ignored_Ghost_Node;
1780 -- Nodes table attributes
1782 Old_Error_Posted : constant Boolean :=
1783 Nodes.Table (Old_Node).Error_Posted;
1784 Old_Has_Aspects : constant Boolean :=
1785 Nodes.Table (Old_Node).Has_Aspects;
1787 Old_Must_Not_Freeze : Boolean;
1788 Old_Paren_Count : Nat;
1789 -- These fields are preserved in the new node only if the new node and
1790 -- the old node are both subexpression nodes.
1792 -- Note: it is a violation of abstraction levels for Must_Not_Freeze
1793 -- to be referenced like this. ???
1799 (not Has_Extension (Old_Node)
1800 and not Has_Extension (New_Node)
1801 and not Nodes.Table (New_Node).In_List);
1803 pragma Debug (New_Node_Debugging_Output (Old_Node));
1804 pragma Debug (New_Node_Debugging_Output (New_Node));
1806 if Nkind (Old_Node) in N_Subexpr then
1807 Old_Must_Not_Freeze := Must_Not_Freeze (Old_Node);
1808 Old_Paren_Count := Paren_Count (Old_Node);
1810 Old_Must_Not_Freeze := False;
1811 Old_Paren_Count := 0;
1814 -- Allocate a new node, to be used to preserve the original contents
1815 -- of the Old_Node, for possible later retrival by Original_Node and
1816 -- make an entry in the Orig_Nodes table. This is only done if we have
1817 -- not already rewritten the node, as indicated by an Orig_Nodes entry
1818 -- that does not reference the Old_Node.
1820 if Orig_Nodes.Table (Old_Node) = Old_Node then
1821 Sav_Node := New_Copy (Old_Node);
1822 Orig_Nodes.Table (Sav_Node) := Sav_Node;
1823 Orig_Nodes.Table (Old_Node) := Sav_Node;
1825 -- Both the old and new copies of the node will share the same list
1826 -- of aspect specifications if aspect specifications are present.
1828 if Old_Has_Aspects then
1829 Set_Aspect_Specifications
1830 (Sav_Node, Aspect_Specifications (Old_Node));
1834 -- Copy substitute node into place, preserving old fields as required
1836 Copy_Node (Source => New_Node, Destination => Old_Node);
1837 Nodes.Table (Old_Node).Error_Posted := Old_Error_Posted;
1838 Nodes.Table (Old_Node).Has_Aspects := Old_Has_Aspects;
1840 Flags.Table (Old_Node).Check_Actuals := Old_CA;
1841 Flags.Table (Old_Node).Is_Ignored_Ghost_Node := Old_Is_IGN;
1843 if Nkind (New_Node) in N_Subexpr then
1844 Set_Paren_Count (Old_Node, Old_Paren_Count);
1845 Set_Must_Not_Freeze (Old_Node, Old_Must_Not_Freeze);
1848 Fix_Parents (Ref_Node => New_Node, Fix_Node => Old_Node);
1850 -- Invoke the reporting procedure (if available)
1852 if Reporting_Proc /= null then
1853 Reporting_Proc.all (Target => Old_Node, Source => New_Node);
1856 -- Invoke the rewriting procedure (if available)
1858 if Rewriting_Proc /= null then
1859 Rewriting_Proc.all (Target => Old_Node, Source => New_Node);
1867 procedure Set_Analyzed (N : Node_Id; Val : Boolean := True) is
1869 pragma Assert (not Locked);
1870 Nodes.Table (N).Analyzed := Val;
1873 -----------------------
1874 -- Set_Check_Actuals --
1875 -----------------------
1877 procedure Set_Check_Actuals (N : Node_Id; Val : Boolean := True) is
1879 pragma Assert (not Locked);
1880 Flags.Table (N).Check_Actuals := Val;
1881 end Set_Check_Actuals;
1883 ---------------------------
1884 -- Set_Comes_From_Source --
1885 ---------------------------
1887 procedure Set_Comes_From_Source (N : Node_Id; Val : Boolean) is
1889 pragma Assert (not Locked);
1890 pragma Assert (N <= Nodes.Last);
1891 Nodes.Table (N).Comes_From_Source := Val;
1892 end Set_Comes_From_Source;
1894 -----------------------------------
1895 -- Set_Comes_From_Source_Default --
1896 -----------------------------------
1898 procedure Set_Comes_From_Source_Default (Default : Boolean) is
1900 Comes_From_Source_Default := Default;
1901 end Set_Comes_From_Source_Default;
1907 procedure Set_Ekind (E : Entity_Id; Val : Entity_Kind) is
1909 pragma Assert (not Locked);
1910 pragma Assert (Nkind (E) in N_Entity);
1911 Nodes.Table (E + 1).Nkind := E_To_N (Val);
1914 ----------------------
1915 -- Set_Error_Posted --
1916 ----------------------
1918 procedure Set_Error_Posted (N : Node_Id; Val : Boolean := True) is
1920 pragma Assert (not Locked);
1921 Nodes.Table (N).Error_Posted := Val;
1922 end Set_Error_Posted;
1924 ---------------------
1925 -- Set_Has_Aspects --
1926 ---------------------
1928 procedure Set_Has_Aspects (N : Node_Id; Val : Boolean := True) is
1930 pragma Assert (not Locked);
1931 pragma Assert (N <= Nodes.Last);
1932 Nodes.Table (N).Has_Aspects := Val;
1933 end Set_Has_Aspects;
1935 --------------------------------------
1936 -- Set_Ignored_Ghost_Recording_Proc --
1937 --------------------------------------
1939 procedure Set_Ignored_Ghost_Recording_Proc
1940 (Proc : Ignored_Ghost_Record_Proc)
1943 pragma Assert (Ignored_Ghost_Recording_Proc = null);
1944 Ignored_Ghost_Recording_Proc := Proc;
1945 end Set_Ignored_Ghost_Recording_Proc;
1947 -------------------------------
1948 -- Set_Is_Ignored_Ghost_Node --
1949 -------------------------------
1951 procedure Set_Is_Ignored_Ghost_Node (N : Node_Id; Val : Boolean := True) is
1953 pragma Assert (not Locked);
1954 Flags.Table (N).Is_Ignored_Ghost_Node := Val;
1955 end Set_Is_Ignored_Ghost_Node;
1957 -----------------------
1958 -- Set_Original_Node --
1959 -----------------------
1961 procedure Set_Original_Node (N : Node_Id; Val : Node_Id) is
1963 pragma Assert (not Locked);
1964 Orig_Nodes.Table (N) := Val;
1965 end Set_Original_Node;
1967 ---------------------
1968 -- Set_Paren_Count --
1969 ---------------------
1971 procedure Set_Paren_Count (N : Node_Id; Val : Nat) is
1973 pragma Assert (not Locked);
1974 pragma Assert (Nkind (N) in N_Subexpr);
1976 -- Value of 0,1,2 stored as is
1979 Nodes.Table (N).Pflag1 := (Val mod 2 /= 0);
1980 Nodes.Table (N).Pflag2 := (Val = 2);
1982 -- Value of 3 or greater stores 3 in node and makes table entry
1985 Nodes.Table (N).Pflag1 := True;
1986 Nodes.Table (N).Pflag2 := True;
1988 -- Search for existing table entry
1990 for J in Paren_Counts.First .. Paren_Counts.Last loop
1991 if N = Paren_Counts.Table (J).Nod then
1992 Paren_Counts.Table (J).Count := Val;
1997 -- No existing table entry; make a new one
1999 Paren_Counts.Append ((Nod => N, Count => Val));
2001 end Set_Paren_Count;
2003 -----------------------------
2004 -- Set_Paren_Count_Of_Copy --
2005 -----------------------------
2007 procedure Set_Paren_Count_Of_Copy (Target, Source : Node_Id) is
2009 -- We already copied the two Pflags. We need to update the Paren_Counts
2010 -- table only if greater than 2.
2012 if Nkind (Source) in N_Subexpr
2013 and then Paren_Count (Source) > 2
2015 Set_Paren_Count (Target, Paren_Count (Source));
2018 pragma Assert (Paren_Count (Target) = Paren_Count (Source));
2019 end Set_Paren_Count_Of_Copy;
2025 procedure Set_Parent (N : Node_Id; Val : Node_Id) is
2027 pragma Assert (not Locked);
2028 pragma Assert (not Nodes.Table (N).In_List);
2029 Nodes.Table (N).Link := Union_Id (Val);
2032 ------------------------
2033 -- Set_Reporting_Proc --
2034 ------------------------
2036 procedure Set_Reporting_Proc (Proc : Report_Proc) is
2038 pragma Assert (Reporting_Proc = null);
2039 Reporting_Proc := Proc;
2040 end Set_Reporting_Proc;
2046 procedure Set_Sloc (N : Node_Id; Val : Source_Ptr) is
2048 pragma Assert (not Locked);
2049 Nodes.Table (N).Sloc := Val;
2052 ------------------------
2053 -- Set_Rewriting_Proc --
2054 ------------------------
2056 procedure Set_Rewriting_Proc (Proc : Rewrite_Proc) is
2058 pragma Assert (Rewriting_Proc = null);
2059 Rewriting_Proc := Proc;
2060 end Set_Rewriting_Proc;
2066 function Sloc (N : Node_Id) return Source_Ptr is
2068 return Nodes.Table (N).Sloc;
2075 function Traverse_Func (Node : Node_Id) return Traverse_Final_Result is
2077 function Traverse_Field
2080 FN : Field_Num) return Traverse_Final_Result;
2081 -- Fld is one of the fields of Nod. If the field points to syntactic
2082 -- node or list, then this node or list is traversed, and the result is
2083 -- the result of this traversal. Otherwise a value of True is returned
2084 -- with no processing. FN is the number of the field (1 .. 5).
2086 --------------------
2087 -- Traverse_Field --
2088 --------------------
2090 function Traverse_Field
2093 FN : Field_Num) return Traverse_Final_Result
2096 if Fld = Union_Id (Empty) then
2099 -- Descendant is a node
2101 elsif Fld in Node_Range then
2103 -- Traverse descendant that is syntactic subtree node
2105 if Is_Syntactic_Field (Nkind (Nod), FN) then
2106 return Traverse_Func (Node_Id (Fld));
2108 -- Node that is not a syntactic subtree
2114 -- Descendant is a list
2116 elsif Fld in List_Range then
2118 -- Traverse descendant that is a syntactic subtree list
2120 if Is_Syntactic_Field (Nkind (Nod), FN) then
2122 Elmt : Node_Id := First (List_Id (Fld));
2125 while Present (Elmt) loop
2126 if Traverse_Func (Elmt) = Abandon then
2136 -- List that is not a syntactic subtree
2142 -- Field was not a node or a list
2149 Cur_Node : Node_Id := Node;
2151 -- Start of processing for Traverse_Func
2154 -- We walk Field2 last, and if it is a node, we eliminate the tail
2155 -- recursion by jumping back to this label. This is because Field2 is
2156 -- where the Left_Opnd field of N_Op_Concat is stored, and in practice
2157 -- concatenations are sometimes deeply nested, as in X1&X2&...&XN. This
2158 -- trick prevents us from running out of memory in that case. We don't
2159 -- bother eliminating the tail recursion if Field2 is a list.
2163 case Process (Cur_Node) is
2174 Cur_Node := Original_Node (Cur_Node);
2177 if Traverse_Field (Cur_Node, Field1 (Cur_Node), 1) = Abandon
2178 or else -- skip Field2 here
2179 Traverse_Field (Cur_Node, Field3 (Cur_Node), 3) = Abandon
2181 Traverse_Field (Cur_Node, Field4 (Cur_Node), 4) = Abandon
2183 Traverse_Field (Cur_Node, Field5 (Cur_Node), 5) = Abandon
2188 if Field2 (Cur_Node) not in Node_Range then
2189 return Traverse_Field (Cur_Node, Field2 (Cur_Node), 2);
2191 elsif Is_Syntactic_Field (Nkind (Cur_Node), 2)
2192 and then Field2 (Cur_Node) /= Empty_List_Or_Node
2194 -- Here is the tail recursion step, we reset Cur_Node and jump back
2195 -- to the start of the procedure, which has the same semantic effect
2198 Cur_Node := Node_Id (Field2 (Cur_Node));
2209 procedure Traverse_Proc (Node : Node_Id) is
2210 function Traverse is new Traverse_Func (Process);
2211 Discard : Traverse_Final_Result;
2212 pragma Warnings (Off, Discard);
2214 Discard := Traverse (Node);
2217 ------------------------------
2218 -- Unchecked Access Package --
2219 ------------------------------
2221 package body Unchecked_Access is
2223 function Field1 (N : Node_Id) return Union_Id is
2225 pragma Assert (N <= Nodes.Last);
2226 return Nodes.Table (N).Field1;
2229 function Field2 (N : Node_Id) return Union_Id is
2231 pragma Assert (N <= Nodes.Last);
2232 return Nodes.Table (N).Field2;
2235 function Field3 (N : Node_Id) return Union_Id is
2237 pragma Assert (N <= Nodes.Last);
2238 return Nodes.Table (N).Field3;
2241 function Field4 (N : Node_Id) return Union_Id is
2243 pragma Assert (N <= Nodes.Last);
2244 return Nodes.Table (N).Field4;
2247 function Field5 (N : Node_Id) return Union_Id is
2249 pragma Assert (N <= Nodes.Last);
2250 return Nodes.Table (N).Field5;
2253 function Field6 (N : Node_Id) return Union_Id is
2255 pragma Assert (Nkind (N) in N_Entity);
2256 return Nodes.Table (N + 1).Field6;
2259 function Field7 (N : Node_Id) return Union_Id is
2261 pragma Assert (Nkind (N) in N_Entity);
2262 return Nodes.Table (N + 1).Field7;
2265 function Field8 (N : Node_Id) return Union_Id is
2267 pragma Assert (Nkind (N) in N_Entity);
2268 return Nodes.Table (N + 1).Field8;
2271 function Field9 (N : Node_Id) return Union_Id is
2273 pragma Assert (Nkind (N) in N_Entity);
2274 return Nodes.Table (N + 1).Field9;
2277 function Field10 (N : Node_Id) return Union_Id is
2279 pragma Assert (Nkind (N) in N_Entity);
2280 return Nodes.Table (N + 1).Field10;
2283 function Field11 (N : Node_Id) return Union_Id is
2285 pragma Assert (Nkind (N) in N_Entity);
2286 return Nodes.Table (N + 1).Field11;
2289 function Field12 (N : Node_Id) return Union_Id is
2291 pragma Assert (Nkind (N) in N_Entity);
2292 return Nodes.Table (N + 1).Field12;
2295 function Field13 (N : Node_Id) return Union_Id is
2297 pragma Assert (Nkind (N) in N_Entity);
2298 return Nodes.Table (N + 2).Field6;
2301 function Field14 (N : Node_Id) return Union_Id is
2303 pragma Assert (Nkind (N) in N_Entity);
2304 return Nodes.Table (N + 2).Field7;
2307 function Field15 (N : Node_Id) return Union_Id is
2309 pragma Assert (Nkind (N) in N_Entity);
2310 return Nodes.Table (N + 2).Field8;
2313 function Field16 (N : Node_Id) return Union_Id is
2315 pragma Assert (Nkind (N) in N_Entity);
2316 return Nodes.Table (N + 2).Field9;
2319 function Field17 (N : Node_Id) return Union_Id is
2321 pragma Assert (Nkind (N) in N_Entity);
2322 return Nodes.Table (N + 2).Field10;
2325 function Field18 (N : Node_Id) return Union_Id is
2327 pragma Assert (Nkind (N) in N_Entity);
2328 return Nodes.Table (N + 2).Field11;
2331 function Field19 (N : Node_Id) return Union_Id is
2333 pragma Assert (Nkind (N) in N_Entity);
2334 return Nodes.Table (N + 3).Field6;
2337 function Field20 (N : Node_Id) return Union_Id is
2339 pragma Assert (Nkind (N) in N_Entity);
2340 return Nodes.Table (N + 3).Field7;
2343 function Field21 (N : Node_Id) return Union_Id is
2345 pragma Assert (Nkind (N) in N_Entity);
2346 return Nodes.Table (N + 3).Field8;
2349 function Field22 (N : Node_Id) return Union_Id is
2351 pragma Assert (Nkind (N) in N_Entity);
2352 return Nodes.Table (N + 3).Field9;
2355 function Field23 (N : Node_Id) return Union_Id is
2357 pragma Assert (Nkind (N) in N_Entity);
2358 return Nodes.Table (N + 3).Field10;
2361 function Field24 (N : Node_Id) return Union_Id is
2363 pragma Assert (Nkind (N) in N_Entity);
2364 return Nodes.Table (N + 4).Field6;
2367 function Field25 (N : Node_Id) return Union_Id is
2369 pragma Assert (Nkind (N) in N_Entity);
2370 return Nodes.Table (N + 4).Field7;
2373 function Field26 (N : Node_Id) return Union_Id is
2375 pragma Assert (Nkind (N) in N_Entity);
2376 return Nodes.Table (N + 4).Field8;
2379 function Field27 (N : Node_Id) return Union_Id is
2381 pragma Assert (Nkind (N) in N_Entity);
2382 return Nodes.Table (N + 4).Field9;
2385 function Field28 (N : Node_Id) return Union_Id is
2387 pragma Assert (Nkind (N) in N_Entity);
2388 return Nodes.Table (N + 4).Field10;
2391 function Field29 (N : Node_Id) return Union_Id is
2393 pragma Assert (Nkind (N) in N_Entity);
2394 return Nodes.Table (N + 4).Field11;
2397 function Field30 (N : Node_Id) return Union_Id is
2399 pragma Assert (Nkind (N) in N_Entity);
2400 return Nodes.Table (N + 5).Field6;
2403 function Field31 (N : Node_Id) return Union_Id is
2405 pragma Assert (Nkind (N) in N_Entity);
2406 return Nodes.Table (N + 5).Field7;
2409 function Field32 (N : Node_Id) return Union_Id is
2411 pragma Assert (Nkind (N) in N_Entity);
2412 return Nodes.Table (N + 5).Field8;
2415 function Field33 (N : Node_Id) return Union_Id is
2417 pragma Assert (Nkind (N) in N_Entity);
2418 return Nodes.Table (N + 5).Field9;
2421 function Field34 (N : Node_Id) return Union_Id is
2423 pragma Assert (Nkind (N) in N_Entity);
2424 return Nodes.Table (N + 5).Field10;
2427 function Field35 (N : Node_Id) return Union_Id is
2429 pragma Assert (Nkind (N) in N_Entity);
2430 return Nodes.Table (N + 5).Field11;
2433 function Field36 (N : Node_Id) return Union_Id is
2435 pragma Assert (Nkind (N) in N_Entity);
2436 return Nodes.Table (N + 6).Field6;
2439 function Field37 (N : Node_Id) return Union_Id is
2441 pragma Assert (Nkind (N) in N_Entity);
2442 return Nodes.Table (N + 6).Field7;
2445 function Field38 (N : Node_Id) return Union_Id is
2447 pragma Assert (Nkind (N) in N_Entity);
2448 return Nodes.Table (N + 6).Field8;
2451 function Field39 (N : Node_Id) return Union_Id is
2453 pragma Assert (Nkind (N) in N_Entity);
2454 return Nodes.Table (N + 6).Field9;
2457 function Field40 (N : Node_Id) return Union_Id is
2459 pragma Assert (Nkind (N) in N_Entity);
2460 return Nodes.Table (N + 6).Field10;
2463 function Field41 (N : Node_Id) return Union_Id is
2465 pragma Assert (Nkind (N) in N_Entity);
2466 return Nodes.Table (N + 6).Field11;
2469 function Node1 (N : Node_Id) return Node_Id is
2471 pragma Assert (N <= Nodes.Last);
2472 return Node_Id (Nodes.Table (N).Field1);
2475 function Node2 (N : Node_Id) return Node_Id is
2477 pragma Assert (N <= Nodes.Last);
2478 return Node_Id (Nodes.Table (N).Field2);
2481 function Node3 (N : Node_Id) return Node_Id is
2483 pragma Assert (N <= Nodes.Last);
2484 return Node_Id (Nodes.Table (N).Field3);
2487 function Node4 (N : Node_Id) return Node_Id is
2489 pragma Assert (N <= Nodes.Last);
2490 return Node_Id (Nodes.Table (N).Field4);
2493 function Node5 (N : Node_Id) return Node_Id is
2495 pragma Assert (N <= Nodes.Last);
2496 return Node_Id (Nodes.Table (N).Field5);
2499 function Node6 (N : Node_Id) return Node_Id is
2501 pragma Assert (Nkind (N) in N_Entity);
2502 return Node_Id (Nodes.Table (N + 1).Field6);
2505 function Node7 (N : Node_Id) return Node_Id is
2507 pragma Assert (Nkind (N) in N_Entity);
2508 return Node_Id (Nodes.Table (N + 1).Field7);
2511 function Node8 (N : Node_Id) return Node_Id is
2513 pragma Assert (Nkind (N) in N_Entity);
2514 return Node_Id (Nodes.Table (N + 1).Field8);
2517 function Node9 (N : Node_Id) return Node_Id is
2519 pragma Assert (Nkind (N) in N_Entity);
2520 return Node_Id (Nodes.Table (N + 1).Field9);
2523 function Node10 (N : Node_Id) return Node_Id is
2525 pragma Assert (Nkind (N) in N_Entity);
2526 return Node_Id (Nodes.Table (N + 1).Field10);
2529 function Node11 (N : Node_Id) return Node_Id is
2531 pragma Assert (Nkind (N) in N_Entity);
2532 return Node_Id (Nodes.Table (N + 1).Field11);
2535 function Node12 (N : Node_Id) return Node_Id is
2537 pragma Assert (Nkind (N) in N_Entity);
2538 return Node_Id (Nodes.Table (N + 1).Field12);
2541 function Node13 (N : Node_Id) return Node_Id is
2543 pragma Assert (Nkind (N) in N_Entity);
2544 return Node_Id (Nodes.Table (N + 2).Field6);
2547 function Node14 (N : Node_Id) return Node_Id is
2549 pragma Assert (Nkind (N) in N_Entity);
2550 return Node_Id (Nodes.Table (N + 2).Field7);
2553 function Node15 (N : Node_Id) return Node_Id is
2555 pragma Assert (Nkind (N) in N_Entity);
2556 return Node_Id (Nodes.Table (N + 2).Field8);
2559 function Node16 (N : Node_Id) return Node_Id is
2561 pragma Assert (Nkind (N) in N_Entity);
2562 return Node_Id (Nodes.Table (N + 2).Field9);
2565 function Node17 (N : Node_Id) return Node_Id is
2567 pragma Assert (Nkind (N) in N_Entity);
2568 return Node_Id (Nodes.Table (N + 2).Field10);
2571 function Node18 (N : Node_Id) return Node_Id is
2573 pragma Assert (Nkind (N) in N_Entity);
2574 return Node_Id (Nodes.Table (N + 2).Field11);
2577 function Node19 (N : Node_Id) return Node_Id is
2579 pragma Assert (Nkind (N) in N_Entity);
2580 return Node_Id (Nodes.Table (N + 3).Field6);
2583 function Node20 (N : Node_Id) return Node_Id is
2585 pragma Assert (Nkind (N) in N_Entity);
2586 return Node_Id (Nodes.Table (N + 3).Field7);
2589 function Node21 (N : Node_Id) return Node_Id is
2591 pragma Assert (Nkind (N) in N_Entity);
2592 return Node_Id (Nodes.Table (N + 3).Field8);
2595 function Node22 (N : Node_Id) return Node_Id is
2597 pragma Assert (Nkind (N) in N_Entity);
2598 return Node_Id (Nodes.Table (N + 3).Field9);
2601 function Node23 (N : Node_Id) return Node_Id is
2603 pragma Assert (Nkind (N) in N_Entity);
2604 return Node_Id (Nodes.Table (N + 3).Field10);
2607 function Node24 (N : Node_Id) return Node_Id is
2609 pragma Assert (Nkind (N) in N_Entity);
2610 return Node_Id (Nodes.Table (N + 4).Field6);
2613 function Node25 (N : Node_Id) return Node_Id is
2615 pragma Assert (Nkind (N) in N_Entity);
2616 return Node_Id (Nodes.Table (N + 4).Field7);
2619 function Node26 (N : Node_Id) return Node_Id is
2621 pragma Assert (Nkind (N) in N_Entity);
2622 return Node_Id (Nodes.Table (N + 4).Field8);
2625 function Node27 (N : Node_Id) return Node_Id is
2627 pragma Assert (Nkind (N) in N_Entity);
2628 return Node_Id (Nodes.Table (N + 4).Field9);
2631 function Node28 (N : Node_Id) return Node_Id is
2633 pragma Assert (Nkind (N) in N_Entity);
2634 return Node_Id (Nodes.Table (N + 4).Field10);
2637 function Node29 (N : Node_Id) return Node_Id is
2639 pragma Assert (Nkind (N) in N_Entity);
2640 return Node_Id (Nodes.Table (N + 4).Field11);
2643 function Node30 (N : Node_Id) return Node_Id is
2645 pragma Assert (Nkind (N) in N_Entity);
2646 return Node_Id (Nodes.Table (N + 5).Field6);
2649 function Node31 (N : Node_Id) return Node_Id is
2651 pragma Assert (Nkind (N) in N_Entity);
2652 return Node_Id (Nodes.Table (N + 5).Field7);
2655 function Node32 (N : Node_Id) return Node_Id is
2657 pragma Assert (Nkind (N) in N_Entity);
2658 return Node_Id (Nodes.Table (N + 5).Field8);
2661 function Node33 (N : Node_Id) return Node_Id is
2663 pragma Assert (Nkind (N) in N_Entity);
2664 return Node_Id (Nodes.Table (N + 5).Field9);
2667 function Node34 (N : Node_Id) return Node_Id is
2669 pragma Assert (Nkind (N) in N_Entity);
2670 return Node_Id (Nodes.Table (N + 5).Field10);
2673 function Node35 (N : Node_Id) return Node_Id is
2675 pragma Assert (Nkind (N) in N_Entity);
2676 return Node_Id (Nodes.Table (N + 5).Field11);
2679 function Node36 (N : Node_Id) return Node_Id is
2681 pragma Assert (Nkind (N) in N_Entity);
2682 return Node_Id (Nodes.Table (N + 6).Field6);
2685 function Node37 (N : Node_Id) return Node_Id is
2687 pragma Assert (Nkind (N) in N_Entity);
2688 return Node_Id (Nodes.Table (N + 6).Field7);
2691 function Node38 (N : Node_Id) return Node_Id is
2693 pragma Assert (Nkind (N) in N_Entity);
2694 return Node_Id (Nodes.Table (N + 6).Field8);
2697 function Node39 (N : Node_Id) return Node_Id is
2699 pragma Assert (Nkind (N) in N_Entity);
2700 return Node_Id (Nodes.Table (N + 6).Field9);
2703 function Node40 (N : Node_Id) return Node_Id is
2705 pragma Assert (Nkind (N) in N_Entity);
2706 return Node_Id (Nodes.Table (N + 6).Field10);
2709 function Node41 (N : Node_Id) return Node_Id is
2711 pragma Assert (Nkind (N) in N_Entity);
2712 return Node_Id (Nodes.Table (N + 6).Field11);
2715 function List1 (N : Node_Id) return List_Id is
2717 pragma Assert (N <= Nodes.Last);
2718 return List_Id (Nodes.Table (N).Field1);
2721 function List2 (N : Node_Id) return List_Id is
2723 pragma Assert (N <= Nodes.Last);
2724 return List_Id (Nodes.Table (N).Field2);
2727 function List3 (N : Node_Id) return List_Id is
2729 pragma Assert (N <= Nodes.Last);
2730 return List_Id (Nodes.Table (N).Field3);
2733 function List4 (N : Node_Id) return List_Id is
2735 pragma Assert (N <= Nodes.Last);
2736 return List_Id (Nodes.Table (N).Field4);
2739 function List5 (N : Node_Id) return List_Id is
2741 pragma Assert (N <= Nodes.Last);
2742 return List_Id (Nodes.Table (N).Field5);
2745 function List10 (N : Node_Id) return List_Id is
2747 pragma Assert (Nkind (N) in N_Entity);
2748 return List_Id (Nodes.Table (N + 1).Field10);
2751 function List14 (N : Node_Id) return List_Id is
2753 pragma Assert (Nkind (N) in N_Entity);
2754 return List_Id (Nodes.Table (N + 2).Field7);
2757 function List25 (N : Node_Id) return List_Id is
2759 pragma Assert (Nkind (N) in N_Entity);
2760 return List_Id (Nodes.Table (N + 4).Field7);
2763 function List38 (N : Node_Id) return List_Id is
2765 return List_Id (Nodes.Table (N + 6).Field8);
2768 function List39 (N : Node_Id) return List_Id is
2770 return List_Id (Nodes.Table (N + 6).Field9);
2773 function Elist1 (N : Node_Id) return Elist_Id is
2774 pragma Assert (N <= Nodes.Last);
2775 Value : constant Union_Id := Nodes.Table (N).Field1;
2780 return Elist_Id (Value);
2784 function Elist2 (N : Node_Id) return Elist_Id is
2785 pragma Assert (N <= Nodes.Last);
2786 Value : constant Union_Id := Nodes.Table (N).Field2;
2791 return Elist_Id (Value);
2795 function Elist3 (N : Node_Id) return Elist_Id is
2796 pragma Assert (N <= Nodes.Last);
2797 Value : constant Union_Id := Nodes.Table (N).Field3;
2802 return Elist_Id (Value);
2806 function Elist4 (N : Node_Id) return Elist_Id is
2807 pragma Assert (N <= Nodes.Last);
2808 Value : constant Union_Id := Nodes.Table (N).Field4;
2813 return Elist_Id (Value);
2817 function Elist5 (N : Node_Id) return Elist_Id is
2818 pragma Assert (N <= Nodes.Last);
2819 Value : constant Union_Id := Nodes.Table (N).Field5;
2824 return Elist_Id (Value);
2828 function Elist8 (N : Node_Id) return Elist_Id is
2829 pragma Assert (Nkind (N) in N_Entity);
2830 Value : constant Union_Id := Nodes.Table (N + 1).Field8;
2835 return Elist_Id (Value);
2839 function Elist9 (N : Node_Id) return Elist_Id is
2840 pragma Assert (Nkind (N) in N_Entity);
2841 Value : constant Union_Id := Nodes.Table (N + 1).Field9;
2846 return Elist_Id (Value);
2850 function Elist10 (N : Node_Id) return Elist_Id is
2851 pragma Assert (Nkind (N) in N_Entity);
2852 Value : constant Union_Id := Nodes.Table (N + 1).Field10;
2857 return Elist_Id (Value);
2861 function Elist11 (N : Node_Id) return Elist_Id is
2862 pragma Assert (Nkind (N) in N_Entity);
2863 Value : constant Union_Id := Nodes.Table (N + 1).Field11;
2868 return Elist_Id (Value);
2872 function Elist13 (N : Node_Id) return Elist_Id is
2873 pragma Assert (Nkind (N) in N_Entity);
2874 Value : constant Union_Id := Nodes.Table (N + 2).Field6;
2879 return Elist_Id (Value);
2883 function Elist15 (N : Node_Id) return Elist_Id is
2884 pragma Assert (Nkind (N) in N_Entity);
2885 Value : constant Union_Id := Nodes.Table (N + 2).Field8;
2890 return Elist_Id (Value);
2894 function Elist16 (N : Node_Id) return Elist_Id is
2895 pragma Assert (Nkind (N) in N_Entity);
2896 Value : constant Union_Id := Nodes.Table (N + 2).Field9;
2901 return Elist_Id (Value);
2905 function Elist18 (N : Node_Id) return Elist_Id is
2906 pragma Assert (Nkind (N) in N_Entity);
2907 Value : constant Union_Id := Nodes.Table (N + 2).Field11;
2912 return Elist_Id (Value);
2916 function Elist21 (N : Node_Id) return Elist_Id is
2917 pragma Assert (Nkind (N) in N_Entity);
2918 Value : constant Union_Id := Nodes.Table (N + 3).Field8;
2923 return Elist_Id (Value);
2927 function Elist23 (N : Node_Id) return Elist_Id is
2928 pragma Assert (Nkind (N) in N_Entity);
2929 Value : constant Union_Id := Nodes.Table (N + 3).Field10;
2934 return Elist_Id (Value);
2938 function Elist24 (N : Node_Id) return Elist_Id is
2939 pragma Assert (Nkind (N) in N_Entity);
2940 Value : constant Union_Id := Nodes.Table (N + 4).Field6;
2945 return Elist_Id (Value);
2949 function Elist25 (N : Node_Id) return Elist_Id is
2950 pragma Assert (Nkind (N) in N_Entity);
2951 Value : constant Union_Id := Nodes.Table (N + 4).Field7;
2956 return Elist_Id (Value);
2960 function Elist26 (N : Node_Id) return Elist_Id is
2961 pragma Assert (Nkind (N) in N_Entity);
2962 Value : constant Union_Id := Nodes.Table (N + 4).Field8;
2967 return Elist_Id (Value);
2971 function Elist29 (N : Node_Id) return Elist_Id is
2972 pragma Assert (Nkind (N) in N_Entity);
2973 Value : constant Union_Id := Nodes.Table (N + 4).Field11;
2978 return Elist_Id (Value);
2982 function Elist30 (N : Node_Id) return Elist_Id is
2983 pragma Assert (Nkind (N) in N_Entity);
2984 Value : constant Union_Id := Nodes.Table (N + 5).Field6;
2989 return Elist_Id (Value);
2993 function Elist36 (N : Node_Id) return Elist_Id is
2994 pragma Assert (Nkind (N) in N_Entity);
2995 Value : constant Union_Id := Nodes.Table (N + 6).Field6;
3000 return Elist_Id (Value);
3004 function Name1 (N : Node_Id) return Name_Id is
3006 pragma Assert (N <= Nodes.Last);
3007 return Name_Id (Nodes.Table (N).Field1);
3010 function Name2 (N : Node_Id) return Name_Id is
3012 pragma Assert (N <= Nodes.Last);
3013 return Name_Id (Nodes.Table (N).Field2);
3016 function Str3 (N : Node_Id) return String_Id is
3018 pragma Assert (N <= Nodes.Last);
3019 return String_Id (Nodes.Table (N).Field3);
3022 function Uint2 (N : Node_Id) return Uint is
3023 pragma Assert (N <= Nodes.Last);
3024 U : constant Union_Id := Nodes.Table (N).Field2;
3029 return From_Union (U);
3033 function Uint3 (N : Node_Id) return Uint is
3034 pragma Assert (N <= Nodes.Last);
3035 U : constant Union_Id := Nodes.Table (N).Field3;
3040 return From_Union (U);
3044 function Uint4 (N : Node_Id) return Uint is
3045 pragma Assert (N <= Nodes.Last);
3046 U : constant Union_Id := Nodes.Table (N).Field4;
3051 return From_Union (U);
3055 function Uint5 (N : Node_Id) return Uint is
3056 pragma Assert (N <= Nodes.Last);
3057 U : constant Union_Id := Nodes.Table (N).Field5;
3062 return From_Union (U);
3066 function Uint8 (N : Node_Id) return Uint is
3067 pragma Assert (Nkind (N) in N_Entity);
3068 U : constant Union_Id := Nodes.Table (N + 1).Field8;
3073 return From_Union (U);
3077 function Uint9 (N : Node_Id) return Uint is
3078 pragma Assert (Nkind (N) in N_Entity);
3079 U : constant Union_Id := Nodes.Table (N + 1).Field9;
3084 return From_Union (U);
3088 function Uint10 (N : Node_Id) return Uint is
3089 pragma Assert (Nkind (N) in N_Entity);
3090 U : constant Union_Id := Nodes.Table (N + 1).Field10;
3095 return From_Union (U);
3099 function Uint11 (N : Node_Id) return Uint is
3100 pragma Assert (Nkind (N) in N_Entity);
3101 U : constant Union_Id := Nodes.Table (N + 1).Field11;
3106 return From_Union (U);
3110 function Uint12 (N : Node_Id) return Uint is
3111 pragma Assert (Nkind (N) in N_Entity);
3112 U : constant Union_Id := Nodes.Table (N + 1).Field12;
3117 return From_Union (U);
3121 function Uint13 (N : Node_Id) return Uint is
3122 pragma Assert (Nkind (N) in N_Entity);
3123 U : constant Union_Id := Nodes.Table (N + 2).Field6;
3128 return From_Union (U);
3132 function Uint14 (N : Node_Id) return Uint is
3133 pragma Assert (Nkind (N) in N_Entity);
3134 U : constant Union_Id := Nodes.Table (N + 2).Field7;
3139 return From_Union (U);
3143 function Uint15 (N : Node_Id) return Uint is
3144 pragma Assert (Nkind (N) in N_Entity);
3145 U : constant Union_Id := Nodes.Table (N + 2).Field8;
3150 return From_Union (U);
3154 function Uint16 (N : Node_Id) return Uint is
3155 pragma Assert (Nkind (N) in N_Entity);
3156 U : constant Union_Id := Nodes.Table (N + 2).Field9;
3161 return From_Union (U);
3165 function Uint17 (N : Node_Id) return Uint is
3166 pragma Assert (Nkind (N) in N_Entity);
3167 U : constant Union_Id := Nodes.Table (N + 2).Field10;
3172 return From_Union (U);
3176 function Uint22 (N : Node_Id) return Uint is
3177 pragma Assert (Nkind (N) in N_Entity);
3178 U : constant Union_Id := Nodes.Table (N + 3).Field9;
3183 return From_Union (U);
3187 function Uint24 (N : Node_Id) return Uint is
3188 pragma Assert (Nkind (N) in N_Entity);
3189 U : constant Union_Id := Nodes.Table (N + 4).Field6;
3194 return From_Union (U);
3198 function Ureal3 (N : Node_Id) return Ureal is
3200 pragma Assert (N <= Nodes.Last);
3201 return From_Union (Nodes.Table (N).Field3);
3204 function Ureal18 (N : Node_Id) return Ureal is
3206 pragma Assert (Nkind (N) in N_Entity);
3207 return From_Union (Nodes.Table (N + 2).Field11);
3210 function Ureal21 (N : Node_Id) return Ureal is
3212 pragma Assert (Nkind (N) in N_Entity);
3213 return From_Union (Nodes.Table (N + 3).Field8);
3216 function Flag0 (N : Node_Id) return Boolean is
3218 pragma Assert (N <= Nodes.Last);
3219 return Flags.Table (N).Flag0;
3222 function Flag1 (N : Node_Id) return Boolean is
3224 pragma Assert (N <= Nodes.Last);
3225 return Flags.Table (N).Flag1;
3228 function Flag2 (N : Node_Id) return Boolean is
3230 pragma Assert (N <= Nodes.Last);
3231 return Flags.Table (N).Flag2;
3234 function Flag3 (N : Node_Id) return Boolean is
3236 pragma Assert (N <= Nodes.Last);
3237 return Flags.Table (N).Flag3;
3240 function Flag4 (N : Node_Id) return Boolean is
3242 pragma Assert (N <= Nodes.Last);
3243 return Nodes.Table (N).Flag4;
3246 function Flag5 (N : Node_Id) return Boolean is
3248 pragma Assert (N <= Nodes.Last);
3249 return Nodes.Table (N).Flag5;
3252 function Flag6 (N : Node_Id) return Boolean is
3254 pragma Assert (N <= Nodes.Last);
3255 return Nodes.Table (N).Flag6;
3258 function Flag7 (N : Node_Id) return Boolean is
3260 pragma Assert (N <= Nodes.Last);
3261 return Nodes.Table (N).Flag7;
3264 function Flag8 (N : Node_Id) return Boolean is
3266 pragma Assert (N <= Nodes.Last);
3267 return Nodes.Table (N).Flag8;
3270 function Flag9 (N : Node_Id) return Boolean is
3272 pragma Assert (N <= Nodes.Last);
3273 return Nodes.Table (N).Flag9;
3276 function Flag10 (N : Node_Id) return Boolean is
3278 pragma Assert (N <= Nodes.Last);
3279 return Nodes.Table (N).Flag10;
3282 function Flag11 (N : Node_Id) return Boolean is
3284 pragma Assert (N <= Nodes.Last);
3285 return Nodes.Table (N).Flag11;
3288 function Flag12 (N : Node_Id) return Boolean is
3290 pragma Assert (N <= Nodes.Last);
3291 return Nodes.Table (N).Flag12;
3294 function Flag13 (N : Node_Id) return Boolean is
3296 pragma Assert (N <= Nodes.Last);
3297 return Nodes.Table (N).Flag13;
3300 function Flag14 (N : Node_Id) return Boolean is
3302 pragma Assert (N <= Nodes.Last);
3303 return Nodes.Table (N).Flag14;
3306 function Flag15 (N : Node_Id) return Boolean is
3308 pragma Assert (N <= Nodes.Last);
3309 return Nodes.Table (N).Flag15;
3312 function Flag16 (N : Node_Id) return Boolean is
3314 pragma Assert (N <= Nodes.Last);
3315 return Nodes.Table (N).Flag16;
3318 function Flag17 (N : Node_Id) return Boolean is
3320 pragma Assert (N <= Nodes.Last);
3321 return Nodes.Table (N).Flag17;
3324 function Flag18 (N : Node_Id) return Boolean is
3326 pragma Assert (N <= Nodes.Last);
3327 return Nodes.Table (N).Flag18;
3330 function Flag19 (N : Node_Id) return Boolean is
3332 pragma Assert (Nkind (N) in N_Entity);
3333 return Nodes.Table (N + 1).In_List;
3336 function Flag20 (N : Node_Id) return Boolean is
3338 pragma Assert (Nkind (N) in N_Entity);
3339 return Nodes.Table (N + 1).Has_Aspects;
3342 function Flag21 (N : Node_Id) return Boolean is
3344 pragma Assert (Nkind (N) in N_Entity);
3345 return Nodes.Table (N + 1).Rewrite_Ins;
3348 function Flag22 (N : Node_Id) return Boolean is
3350 pragma Assert (Nkind (N) in N_Entity);
3351 return Nodes.Table (N + 1).Analyzed;
3354 function Flag23 (N : Node_Id) return Boolean is
3356 pragma Assert (Nkind (N) in N_Entity);
3357 return Nodes.Table (N + 1).Comes_From_Source;
3360 function Flag24 (N : Node_Id) return Boolean is
3362 pragma Assert (Nkind (N) in N_Entity);
3363 return Nodes.Table (N + 1).Error_Posted;
3366 function Flag25 (N : Node_Id) return Boolean is
3368 pragma Assert (Nkind (N) in N_Entity);
3369 return Nodes.Table (N + 1).Flag4;
3372 function Flag26 (N : Node_Id) return Boolean is
3374 pragma Assert (Nkind (N) in N_Entity);
3375 return Nodes.Table (N + 1).Flag5;
3378 function Flag27 (N : Node_Id) return Boolean is
3380 pragma Assert (Nkind (N) in N_Entity);
3381 return Nodes.Table (N + 1).Flag6;
3384 function Flag28 (N : Node_Id) return Boolean is
3386 pragma Assert (Nkind (N) in N_Entity);
3387 return Nodes.Table (N + 1).Flag7;
3390 function Flag29 (N : Node_Id) return Boolean is
3392 pragma Assert (Nkind (N) in N_Entity);
3393 return Nodes.Table (N + 1).Flag8;
3396 function Flag30 (N : Node_Id) return Boolean is
3398 pragma Assert (Nkind (N) in N_Entity);
3399 return Nodes.Table (N + 1).Flag9;
3402 function Flag31 (N : Node_Id) return Boolean is
3404 pragma Assert (Nkind (N) in N_Entity);
3405 return Nodes.Table (N + 1).Flag10;
3408 function Flag32 (N : Node_Id) return Boolean is
3410 pragma Assert (Nkind (N) in N_Entity);
3411 return Nodes.Table (N + 1).Flag11;
3414 function Flag33 (N : Node_Id) return Boolean is
3416 pragma Assert (Nkind (N) in N_Entity);
3417 return Nodes.Table (N + 1).Flag12;
3420 function Flag34 (N : Node_Id) return Boolean is
3422 pragma Assert (Nkind (N) in N_Entity);
3423 return Nodes.Table (N + 1).Flag13;
3426 function Flag35 (N : Node_Id) return Boolean is
3428 pragma Assert (Nkind (N) in N_Entity);
3429 return Nodes.Table (N + 1).Flag14;
3432 function Flag36 (N : Node_Id) return Boolean is
3434 pragma Assert (Nkind (N) in N_Entity);
3435 return Nodes.Table (N + 1).Flag15;
3438 function Flag37 (N : Node_Id) return Boolean is
3440 pragma Assert (Nkind (N) in N_Entity);
3441 return Nodes.Table (N + 1).Flag16;
3444 function Flag38 (N : Node_Id) return Boolean is
3446 pragma Assert (Nkind (N) in N_Entity);
3447 return Nodes.Table (N + 1).Flag17;
3450 function Flag39 (N : Node_Id) return Boolean is
3452 pragma Assert (Nkind (N) in N_Entity);
3453 return Nodes.Table (N + 1).Flag18;
3456 function Flag40 (N : Node_Id) return Boolean is
3458 pragma Assert (Nkind (N) in N_Entity);
3459 return Nodes.Table (N + 2).In_List;
3462 function Flag41 (N : Node_Id) return Boolean is
3464 pragma Assert (Nkind (N) in N_Entity);
3465 return Nodes.Table (N + 2).Has_Aspects;
3468 function Flag42 (N : Node_Id) return Boolean is
3470 pragma Assert (Nkind (N) in N_Entity);
3471 return Nodes.Table (N + 2).Rewrite_Ins;
3474 function Flag43 (N : Node_Id) return Boolean is
3476 pragma Assert (Nkind (N) in N_Entity);
3477 return Nodes.Table (N + 2).Analyzed;
3480 function Flag44 (N : Node_Id) return Boolean is
3482 pragma Assert (Nkind (N) in N_Entity);
3483 return Nodes.Table (N + 2).Comes_From_Source;
3486 function Flag45 (N : Node_Id) return Boolean is
3488 pragma Assert (Nkind (N) in N_Entity);
3489 return Nodes.Table (N + 2).Error_Posted;
3492 function Flag46 (N : Node_Id) return Boolean is
3494 pragma Assert (Nkind (N) in N_Entity);
3495 return Nodes.Table (N + 2).Flag4;
3498 function Flag47 (N : Node_Id) return Boolean is
3500 pragma Assert (Nkind (N) in N_Entity);
3501 return Nodes.Table (N + 2).Flag5;
3504 function Flag48 (N : Node_Id) return Boolean is
3506 pragma Assert (Nkind (N) in N_Entity);
3507 return Nodes.Table (N + 2).Flag6;
3510 function Flag49 (N : Node_Id) return Boolean is
3512 pragma Assert (Nkind (N) in N_Entity);
3513 return Nodes.Table (N + 2).Flag7;
3516 function Flag50 (N : Node_Id) return Boolean is
3518 pragma Assert (Nkind (N) in N_Entity);
3519 return Nodes.Table (N + 2).Flag8;
3522 function Flag51 (N : Node_Id) return Boolean is
3524 pragma Assert (Nkind (N) in N_Entity);
3525 return Nodes.Table (N + 2).Flag9;
3528 function Flag52 (N : Node_Id) return Boolean is
3530 pragma Assert (Nkind (N) in N_Entity);
3531 return Nodes.Table (N + 2).Flag10;
3534 function Flag53 (N : Node_Id) return Boolean is
3536 pragma Assert (Nkind (N) in N_Entity);
3537 return Nodes.Table (N + 2).Flag11;
3540 function Flag54 (N : Node_Id) return Boolean is
3542 pragma Assert (Nkind (N) in N_Entity);
3543 return Nodes.Table (N + 2).Flag12;
3546 function Flag55 (N : Node_Id) return Boolean is
3548 pragma Assert (Nkind (N) in N_Entity);
3549 return Nodes.Table (N + 2).Flag13;
3552 function Flag56 (N : Node_Id) return Boolean is
3554 pragma Assert (Nkind (N) in N_Entity);
3555 return Nodes.Table (N + 2).Flag14;
3558 function Flag57 (N : Node_Id) return Boolean is
3560 pragma Assert (Nkind (N) in N_Entity);
3561 return Nodes.Table (N + 2).Flag15;
3564 function Flag58 (N : Node_Id) return Boolean is
3566 pragma Assert (Nkind (N) in N_Entity);
3567 return Nodes.Table (N + 2).Flag16;
3570 function Flag59 (N : Node_Id) return Boolean is
3572 pragma Assert (Nkind (N) in N_Entity);
3573 return Nodes.Table (N + 2).Flag17;
3576 function Flag60 (N : Node_Id) return Boolean is
3578 pragma Assert (Nkind (N) in N_Entity);
3579 return Nodes.Table (N + 2).Flag18;
3582 function Flag61 (N : Node_Id) return Boolean is
3584 pragma Assert (Nkind (N) in N_Entity);
3585 return Nodes.Table (N + 1).Pflag1;
3588 function Flag62 (N : Node_Id) return Boolean is
3590 pragma Assert (Nkind (N) in N_Entity);
3591 return Nodes.Table (N + 1).Pflag2;
3594 function Flag63 (N : Node_Id) return Boolean is
3596 pragma Assert (Nkind (N) in N_Entity);
3597 return Nodes.Table (N + 2).Pflag1;
3600 function Flag64 (N : Node_Id) return Boolean is
3602 pragma Assert (Nkind (N) in N_Entity);
3603 return Nodes.Table (N + 2).Pflag2;
3606 function Flag65 (N : Node_Id) return Boolean is
3608 pragma Assert (Nkind (N) in N_Entity);
3609 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag65;
3612 function Flag66 (N : Node_Id) return Boolean is
3614 pragma Assert (Nkind (N) in N_Entity);
3615 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag66;
3618 function Flag67 (N : Node_Id) return Boolean is
3620 pragma Assert (Nkind (N) in N_Entity);
3621 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag67;
3624 function Flag68 (N : Node_Id) return Boolean is
3626 pragma Assert (Nkind (N) in N_Entity);
3627 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag68;
3630 function Flag69 (N : Node_Id) return Boolean is
3632 pragma Assert (Nkind (N) in N_Entity);
3633 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag69;
3636 function Flag70 (N : Node_Id) return Boolean is
3638 pragma Assert (Nkind (N) in N_Entity);
3639 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag70;
3642 function Flag71 (N : Node_Id) return Boolean is
3644 pragma Assert (Nkind (N) in N_Entity);
3645 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag71;
3648 function Flag72 (N : Node_Id) return Boolean is
3650 pragma Assert (Nkind (N) in N_Entity);
3651 return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag72;
3654 function Flag73 (N : Node_Id) return Boolean is
3656 pragma Assert (Nkind (N) in N_Entity);
3657 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag73;
3660 function Flag74 (N : Node_Id) return Boolean is
3662 pragma Assert (Nkind (N) in N_Entity);
3663 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag74;
3666 function Flag75 (N : Node_Id) return Boolean is
3668 pragma Assert (Nkind (N) in N_Entity);
3669 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag75;
3672 function Flag76 (N : Node_Id) return Boolean is
3674 pragma Assert (Nkind (N) in N_Entity);
3675 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag76;
3678 function Flag77 (N : Node_Id) return Boolean is
3680 pragma Assert (Nkind (N) in N_Entity);
3681 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag77;
3684 function Flag78 (N : Node_Id) return Boolean is
3686 pragma Assert (Nkind (N) in N_Entity);
3687 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag78;
3690 function Flag79 (N : Node_Id) return Boolean is
3692 pragma Assert (Nkind (N) in N_Entity);
3693 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag79;
3696 function Flag80 (N : Node_Id) return Boolean is
3698 pragma Assert (Nkind (N) in N_Entity);
3699 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag80;
3702 function Flag81 (N : Node_Id) return Boolean is
3704 pragma Assert (Nkind (N) in N_Entity);
3705 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag81;
3708 function Flag82 (N : Node_Id) return Boolean is
3710 pragma Assert (Nkind (N) in N_Entity);
3711 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag82;
3714 function Flag83 (N : Node_Id) return Boolean is
3716 pragma Assert (Nkind (N) in N_Entity);
3717 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag83;
3720 function Flag84 (N : Node_Id) return Boolean is
3722 pragma Assert (Nkind (N) in N_Entity);
3723 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag84;
3726 function Flag85 (N : Node_Id) return Boolean is
3728 pragma Assert (Nkind (N) in N_Entity);
3729 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag85;
3732 function Flag86 (N : Node_Id) return Boolean is
3734 pragma Assert (Nkind (N) in N_Entity);
3735 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag86;
3738 function Flag87 (N : Node_Id) return Boolean is
3740 pragma Assert (Nkind (N) in N_Entity);
3741 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag87;
3744 function Flag88 (N : Node_Id) return Boolean is
3746 pragma Assert (Nkind (N) in N_Entity);
3747 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag88;
3750 function Flag89 (N : Node_Id) return Boolean is
3752 pragma Assert (Nkind (N) in N_Entity);
3753 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag89;
3756 function Flag90 (N : Node_Id) return Boolean is
3758 pragma Assert (Nkind (N) in N_Entity);
3759 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag90;
3762 function Flag91 (N : Node_Id) return Boolean is
3764 pragma Assert (Nkind (N) in N_Entity);
3765 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag91;
3768 function Flag92 (N : Node_Id) return Boolean is
3770 pragma Assert (Nkind (N) in N_Entity);
3771 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag92;
3774 function Flag93 (N : Node_Id) return Boolean is
3776 pragma Assert (Nkind (N) in N_Entity);
3777 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag93;
3780 function Flag94 (N : Node_Id) return Boolean is
3782 pragma Assert (Nkind (N) in N_Entity);
3783 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag94;
3786 function Flag95 (N : Node_Id) return Boolean is
3788 pragma Assert (Nkind (N) in N_Entity);
3789 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag95;
3792 function Flag96 (N : Node_Id) return Boolean is
3794 pragma Assert (Nkind (N) in N_Entity);
3795 return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag96;
3798 function Flag97 (N : Node_Id) return Boolean is
3800 pragma Assert (Nkind (N) in N_Entity);
3801 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag97;
3804 function Flag98 (N : Node_Id) return Boolean is
3806 pragma Assert (Nkind (N) in N_Entity);
3807 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag98;
3810 function Flag99 (N : Node_Id) return Boolean is
3812 pragma Assert (Nkind (N) in N_Entity);
3813 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag99;
3816 function Flag100 (N : Node_Id) return Boolean is
3818 pragma Assert (Nkind (N) in N_Entity);
3819 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag100;
3822 function Flag101 (N : Node_Id) return Boolean is
3824 pragma Assert (Nkind (N) in N_Entity);
3825 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag101;
3828 function Flag102 (N : Node_Id) return Boolean is
3830 pragma Assert (Nkind (N) in N_Entity);
3831 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag102;
3834 function Flag103 (N : Node_Id) return Boolean is
3836 pragma Assert (Nkind (N) in N_Entity);
3837 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag103;
3840 function Flag104 (N : Node_Id) return Boolean is
3842 pragma Assert (Nkind (N) in N_Entity);
3843 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag104;
3846 function Flag105 (N : Node_Id) return Boolean is
3848 pragma Assert (Nkind (N) in N_Entity);
3849 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag105;
3852 function Flag106 (N : Node_Id) return Boolean is
3854 pragma Assert (Nkind (N) in N_Entity);
3855 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag106;
3858 function Flag107 (N : Node_Id) return Boolean is
3860 pragma Assert (Nkind (N) in N_Entity);
3861 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag107;
3864 function Flag108 (N : Node_Id) return Boolean is
3866 pragma Assert (Nkind (N) in N_Entity);
3867 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag108;
3870 function Flag109 (N : Node_Id) return Boolean is
3872 pragma Assert (Nkind (N) in N_Entity);
3873 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag109;
3876 function Flag110 (N : Node_Id) return Boolean is
3878 pragma Assert (Nkind (N) in N_Entity);
3879 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag110;
3882 function Flag111 (N : Node_Id) return Boolean is
3884 pragma Assert (Nkind (N) in N_Entity);
3885 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag111;
3888 function Flag112 (N : Node_Id) return Boolean is
3890 pragma Assert (Nkind (N) in N_Entity);
3891 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag112;
3894 function Flag113 (N : Node_Id) return Boolean is
3896 pragma Assert (Nkind (N) in N_Entity);
3897 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag113;
3900 function Flag114 (N : Node_Id) return Boolean is
3902 pragma Assert (Nkind (N) in N_Entity);
3903 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag114;
3906 function Flag115 (N : Node_Id) return Boolean is
3908 pragma Assert (Nkind (N) in N_Entity);
3909 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag115;
3912 function Flag116 (N : Node_Id) return Boolean is
3914 pragma Assert (Nkind (N) in N_Entity);
3915 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag116;
3918 function Flag117 (N : Node_Id) return Boolean is
3920 pragma Assert (Nkind (N) in N_Entity);
3921 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag117;
3924 function Flag118 (N : Node_Id) return Boolean is
3926 pragma Assert (Nkind (N) in N_Entity);
3927 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag118;
3930 function Flag119 (N : Node_Id) return Boolean is
3932 pragma Assert (Nkind (N) in N_Entity);
3933 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag119;
3936 function Flag120 (N : Node_Id) return Boolean is
3938 pragma Assert (Nkind (N) in N_Entity);
3939 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag120;
3942 function Flag121 (N : Node_Id) return Boolean is
3944 pragma Assert (Nkind (N) in N_Entity);
3945 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag121;
3948 function Flag122 (N : Node_Id) return Boolean is
3950 pragma Assert (Nkind (N) in N_Entity);
3951 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag122;
3954 function Flag123 (N : Node_Id) return Boolean is
3956 pragma Assert (Nkind (N) in N_Entity);
3957 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag123;
3960 function Flag124 (N : Node_Id) return Boolean is
3962 pragma Assert (Nkind (N) in N_Entity);
3963 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag124;
3966 function Flag125 (N : Node_Id) return Boolean is
3968 pragma Assert (Nkind (N) in N_Entity);
3969 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag125;
3972 function Flag126 (N : Node_Id) return Boolean is
3974 pragma Assert (Nkind (N) in N_Entity);
3975 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag126;
3978 function Flag127 (N : Node_Id) return Boolean is
3980 pragma Assert (Nkind (N) in N_Entity);
3981 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag127;
3984 function Flag128 (N : Node_Id) return Boolean is
3986 pragma Assert (Nkind (N) in N_Entity);
3987 return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag128;
3990 function Flag129 (N : Node_Id) return Boolean is
3992 pragma Assert (Nkind (N) in N_Entity);
3993 return Nodes.Table (N + 3).In_List;
3996 function Flag130 (N : Node_Id) return Boolean is
3998 pragma Assert (Nkind (N) in N_Entity);
3999 return Nodes.Table (N + 3).Has_Aspects;
4002 function Flag131 (N : Node_Id) return Boolean is
4004 pragma Assert (Nkind (N) in N_Entity);
4005 return Nodes.Table (N + 3).Rewrite_Ins;
4008 function Flag132 (N : Node_Id) return Boolean is
4010 pragma Assert (Nkind (N) in N_Entity);
4011 return Nodes.Table (N + 3).Analyzed;
4014 function Flag133 (N : Node_Id) return Boolean is
4016 pragma Assert (Nkind (N) in N_Entity);
4017 return Nodes.Table (N + 3).Comes_From_Source;
4020 function Flag134 (N : Node_Id) return Boolean is
4022 pragma Assert (Nkind (N) in N_Entity);
4023 return Nodes.Table (N + 3).Error_Posted;
4026 function Flag135 (N : Node_Id) return Boolean is
4028 pragma Assert (Nkind (N) in N_Entity);
4029 return Nodes.Table (N + 3).Flag4;
4032 function Flag136 (N : Node_Id) return Boolean is
4034 pragma Assert (Nkind (N) in N_Entity);
4035 return Nodes.Table (N + 3).Flag5;
4038 function Flag137 (N : Node_Id) return Boolean is
4040 pragma Assert (Nkind (N) in N_Entity);
4041 return Nodes.Table (N + 3).Flag6;
4044 function Flag138 (N : Node_Id) return Boolean is
4046 pragma Assert (Nkind (N) in N_Entity);
4047 return Nodes.Table (N + 3).Flag7;
4050 function Flag139 (N : Node_Id) return Boolean is
4052 pragma Assert (Nkind (N) in N_Entity);
4053 return Nodes.Table (N + 3).Flag8;
4056 function Flag140 (N : Node_Id) return Boolean is
4058 pragma Assert (Nkind (N) in N_Entity);
4059 return Nodes.Table (N + 3).Flag9;
4062 function Flag141 (N : Node_Id) return Boolean is
4064 pragma Assert (Nkind (N) in N_Entity);
4065 return Nodes.Table (N + 3).Flag10;
4068 function Flag142 (N : Node_Id) return Boolean is
4070 pragma Assert (Nkind (N) in N_Entity);
4071 return Nodes.Table (N + 3).Flag11;
4074 function Flag143 (N : Node_Id) return Boolean is
4076 pragma Assert (Nkind (N) in N_Entity);
4077 return Nodes.Table (N + 3).Flag12;
4080 function Flag144 (N : Node_Id) return Boolean is
4082 pragma Assert (Nkind (N) in N_Entity);
4083 return Nodes.Table (N + 3).Flag13;
4086 function Flag145 (N : Node_Id) return Boolean is
4088 pragma Assert (Nkind (N) in N_Entity);
4089 return Nodes.Table (N + 3).Flag14;
4092 function Flag146 (N : Node_Id) return Boolean is
4094 pragma Assert (Nkind (N) in N_Entity);
4095 return Nodes.Table (N + 3).Flag15;
4098 function Flag147 (N : Node_Id) return Boolean is
4100 pragma Assert (Nkind (N) in N_Entity);
4101 return Nodes.Table (N + 3).Flag16;
4104 function Flag148 (N : Node_Id) return Boolean is
4106 pragma Assert (Nkind (N) in N_Entity);
4107 return Nodes.Table (N + 3).Flag17;
4110 function Flag149 (N : Node_Id) return Boolean is
4112 pragma Assert (Nkind (N) in N_Entity);
4113 return Nodes.Table (N + 3).Flag18;
4116 function Flag150 (N : Node_Id) return Boolean is
4118 pragma Assert (Nkind (N) in N_Entity);
4119 return Nodes.Table (N + 3).Pflag1;
4122 function Flag151 (N : Node_Id) return Boolean is
4124 pragma Assert (Nkind (N) in N_Entity);
4125 return Nodes.Table (N + 3).Pflag2;
4128 function Flag152 (N : Node_Id) return Boolean is
4130 pragma Assert (Nkind (N) in N_Entity);
4131 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag152;
4134 function Flag153 (N : Node_Id) return Boolean is
4136 pragma Assert (Nkind (N) in N_Entity);
4137 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag153;
4140 function Flag154 (N : Node_Id) return Boolean is
4142 pragma Assert (Nkind (N) in N_Entity);
4143 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag154;
4146 function Flag155 (N : Node_Id) return Boolean is
4148 pragma Assert (Nkind (N) in N_Entity);
4149 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag155;
4152 function Flag156 (N : Node_Id) return Boolean is
4154 pragma Assert (Nkind (N) in N_Entity);
4155 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag156;
4158 function Flag157 (N : Node_Id) return Boolean is
4160 pragma Assert (Nkind (N) in N_Entity);
4161 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag157;
4164 function Flag158 (N : Node_Id) return Boolean is
4166 pragma Assert (Nkind (N) in N_Entity);
4167 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag158;
4170 function Flag159 (N : Node_Id) return Boolean is
4172 pragma Assert (Nkind (N) in N_Entity);
4173 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag159;
4176 function Flag160 (N : Node_Id) return Boolean is
4178 pragma Assert (Nkind (N) in N_Entity);
4179 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag160;
4182 function Flag161 (N : Node_Id) return Boolean is
4184 pragma Assert (Nkind (N) in N_Entity);
4185 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag161;
4188 function Flag162 (N : Node_Id) return Boolean is
4190 pragma Assert (Nkind (N) in N_Entity);
4191 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag162;
4194 function Flag163 (N : Node_Id) return Boolean is
4196 pragma Assert (Nkind (N) in N_Entity);
4197 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag163;
4200 function Flag164 (N : Node_Id) return Boolean is
4202 pragma Assert (Nkind (N) in N_Entity);
4203 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag164;
4206 function Flag165 (N : Node_Id) return Boolean is
4208 pragma Assert (Nkind (N) in N_Entity);
4209 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag165;
4212 function Flag166 (N : Node_Id) return Boolean is
4214 pragma Assert (Nkind (N) in N_Entity);
4215 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag166;
4218 function Flag167 (N : Node_Id) return Boolean is
4220 pragma Assert (Nkind (N) in N_Entity);
4221 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag167;
4224 function Flag168 (N : Node_Id) return Boolean is
4226 pragma Assert (Nkind (N) in N_Entity);
4227 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag168;
4230 function Flag169 (N : Node_Id) return Boolean is
4232 pragma Assert (Nkind (N) in N_Entity);
4233 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag169;
4236 function Flag170 (N : Node_Id) return Boolean is
4238 pragma Assert (Nkind (N) in N_Entity);
4239 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag170;
4242 function Flag171 (N : Node_Id) return Boolean is
4244 pragma Assert (Nkind (N) in N_Entity);
4245 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag171;
4248 function Flag172 (N : Node_Id) return Boolean is
4250 pragma Assert (Nkind (N) in N_Entity);
4251 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag172;
4254 function Flag173 (N : Node_Id) return Boolean is
4256 pragma Assert (Nkind (N) in N_Entity);
4257 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag173;
4260 function Flag174 (N : Node_Id) return Boolean is
4262 pragma Assert (Nkind (N) in N_Entity);
4263 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag174;
4266 function Flag175 (N : Node_Id) return Boolean is
4268 pragma Assert (Nkind (N) in N_Entity);
4269 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag175;
4272 function Flag176 (N : Node_Id) return Boolean is
4274 pragma Assert (Nkind (N) in N_Entity);
4275 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag176;
4278 function Flag177 (N : Node_Id) return Boolean is
4280 pragma Assert (Nkind (N) in N_Entity);
4281 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag177;
4284 function Flag178 (N : Node_Id) return Boolean is
4286 pragma Assert (Nkind (N) in N_Entity);
4287 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag178;
4290 function Flag179 (N : Node_Id) return Boolean is
4292 pragma Assert (Nkind (N) in N_Entity);
4293 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag179;
4296 function Flag180 (N : Node_Id) return Boolean is
4298 pragma Assert (Nkind (N) in N_Entity);
4299 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag180;
4302 function Flag181 (N : Node_Id) return Boolean is
4304 pragma Assert (Nkind (N) in N_Entity);
4305 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag181;
4308 function Flag182 (N : Node_Id) return Boolean is
4310 pragma Assert (Nkind (N) in N_Entity);
4311 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag182;
4314 function Flag183 (N : Node_Id) return Boolean is
4316 pragma Assert (Nkind (N) in N_Entity);
4317 return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag183;
4320 function Flag184 (N : Node_Id) return Boolean is
4322 pragma Assert (Nkind (N) in N_Entity);
4323 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag184;
4326 function Flag185 (N : Node_Id) return Boolean is
4328 pragma Assert (Nkind (N) in N_Entity);
4329 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag185;
4332 function Flag186 (N : Node_Id) return Boolean is
4334 pragma Assert (Nkind (N) in N_Entity);
4335 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag186;
4338 function Flag187 (N : Node_Id) return Boolean is
4340 pragma Assert (Nkind (N) in N_Entity);
4341 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag187;
4344 function Flag188 (N : Node_Id) return Boolean is
4346 pragma Assert (Nkind (N) in N_Entity);
4347 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag188;
4350 function Flag189 (N : Node_Id) return Boolean is
4352 pragma Assert (Nkind (N) in N_Entity);
4353 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag189;
4356 function Flag190 (N : Node_Id) return Boolean is
4358 pragma Assert (Nkind (N) in N_Entity);
4359 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag190;
4362 function Flag191 (N : Node_Id) return Boolean is
4364 pragma Assert (Nkind (N) in N_Entity);
4365 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag191;
4368 function Flag192 (N : Node_Id) return Boolean is
4370 pragma Assert (Nkind (N) in N_Entity);
4371 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag192;
4374 function Flag193 (N : Node_Id) return Boolean is
4376 pragma Assert (Nkind (N) in N_Entity);
4377 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag193;
4380 function Flag194 (N : Node_Id) return Boolean is
4382 pragma Assert (Nkind (N) in N_Entity);
4383 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag194;
4386 function Flag195 (N : Node_Id) return Boolean is
4388 pragma Assert (Nkind (N) in N_Entity);
4389 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag195;
4392 function Flag196 (N : Node_Id) return Boolean is
4394 pragma Assert (Nkind (N) in N_Entity);
4395 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag196;
4398 function Flag197 (N : Node_Id) return Boolean is
4400 pragma Assert (Nkind (N) in N_Entity);
4401 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag197;
4404 function Flag198 (N : Node_Id) return Boolean is
4406 pragma Assert (Nkind (N) in N_Entity);
4407 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag198;
4410 function Flag199 (N : Node_Id) return Boolean is
4412 pragma Assert (Nkind (N) in N_Entity);
4413 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag199;
4416 function Flag200 (N : Node_Id) return Boolean is
4418 pragma Assert (Nkind (N) in N_Entity);
4419 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag200;
4422 function Flag201 (N : Node_Id) return Boolean is
4424 pragma Assert (Nkind (N) in N_Entity);
4425 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag201;
4428 function Flag202 (N : Node_Id) return Boolean is
4430 pragma Assert (Nkind (N) in N_Entity);
4431 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag202;
4434 function Flag203 (N : Node_Id) return Boolean is
4436 pragma Assert (Nkind (N) in N_Entity);
4437 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag203;
4440 function Flag204 (N : Node_Id) return Boolean is
4442 pragma Assert (Nkind (N) in N_Entity);
4443 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag204;
4446 function Flag205 (N : Node_Id) return Boolean is
4448 pragma Assert (Nkind (N) in N_Entity);
4449 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag205;
4452 function Flag206 (N : Node_Id) return Boolean is
4454 pragma Assert (Nkind (N) in N_Entity);
4455 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag206;
4458 function Flag207 (N : Node_Id) return Boolean is
4460 pragma Assert (Nkind (N) in N_Entity);
4461 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag207;
4464 function Flag208 (N : Node_Id) return Boolean is
4466 pragma Assert (Nkind (N) in N_Entity);
4467 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag208;
4470 function Flag209 (N : Node_Id) return Boolean is
4472 pragma Assert (Nkind (N) in N_Entity);
4473 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag209;
4476 function Flag210 (N : Node_Id) return Boolean is
4478 pragma Assert (Nkind (N) in N_Entity);
4479 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag210;
4482 function Flag211 (N : Node_Id) return Boolean is
4484 pragma Assert (Nkind (N) in N_Entity);
4485 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag211;
4488 function Flag212 (N : Node_Id) return Boolean is
4490 pragma Assert (Nkind (N) in N_Entity);
4491 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag212;
4494 function Flag213 (N : Node_Id) return Boolean is
4496 pragma Assert (Nkind (N) in N_Entity);
4497 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag213;
4500 function Flag214 (N : Node_Id) return Boolean is
4502 pragma Assert (Nkind (N) in N_Entity);
4503 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag214;
4506 function Flag215 (N : Node_Id) return Boolean is
4508 pragma Assert (Nkind (N) in N_Entity);
4509 return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag215;
4512 function Flag216 (N : Node_Id) return Boolean is
4514 pragma Assert (Nkind (N) in N_Entity);
4515 return Nodes.Table (N + 4).In_List;
4518 function Flag217 (N : Node_Id) return Boolean is
4520 pragma Assert (Nkind (N) in N_Entity);
4521 return Nodes.Table (N + 4).Has_Aspects;
4524 function Flag218 (N : Node_Id) return Boolean is
4526 pragma Assert (Nkind (N) in N_Entity);
4527 return Nodes.Table (N + 4).Rewrite_Ins;
4530 function Flag219 (N : Node_Id) return Boolean is
4532 pragma Assert (Nkind (N) in N_Entity);
4533 return Nodes.Table (N + 4).Analyzed;
4536 function Flag220 (N : Node_Id) return Boolean is
4538 pragma Assert (Nkind (N) in N_Entity);
4539 return Nodes.Table (N + 4).Comes_From_Source;
4542 function Flag221 (N : Node_Id) return Boolean is
4544 pragma Assert (Nkind (N) in N_Entity);
4545 return Nodes.Table (N + 4).Error_Posted;
4548 function Flag222 (N : Node_Id) return Boolean is
4550 pragma Assert (Nkind (N) in N_Entity);
4551 return Nodes.Table (N + 4).Flag4;
4554 function Flag223 (N : Node_Id) return Boolean is
4556 pragma Assert (Nkind (N) in N_Entity);
4557 return Nodes.Table (N + 4).Flag5;
4560 function Flag224 (N : Node_Id) return Boolean is
4562 pragma Assert (Nkind (N) in N_Entity);
4563 return Nodes.Table (N + 4).Flag6;
4566 function Flag225 (N : Node_Id) return Boolean is
4568 pragma Assert (Nkind (N) in N_Entity);
4569 return Nodes.Table (N + 4).Flag7;
4572 function Flag226 (N : Node_Id) return Boolean is
4574 pragma Assert (Nkind (N) in N_Entity);
4575 return Nodes.Table (N + 4).Flag8;
4578 function Flag227 (N : Node_Id) return Boolean is
4580 pragma Assert (Nkind (N) in N_Entity);
4581 return Nodes.Table (N + 4).Flag9;
4584 function Flag228 (N : Node_Id) return Boolean is
4586 pragma Assert (Nkind (N) in N_Entity);
4587 return Nodes.Table (N + 4).Flag10;
4590 function Flag229 (N : Node_Id) return Boolean is
4592 pragma Assert (Nkind (N) in N_Entity);
4593 return Nodes.Table (N + 4).Flag11;
4596 function Flag230 (N : Node_Id) return Boolean is
4598 pragma Assert (Nkind (N) in N_Entity);
4599 return Nodes.Table (N + 4).Flag12;
4602 function Flag231 (N : Node_Id) return Boolean is
4604 pragma Assert (Nkind (N) in N_Entity);
4605 return Nodes.Table (N + 4).Flag13;
4608 function Flag232 (N : Node_Id) return Boolean is
4610 pragma Assert (Nkind (N) in N_Entity);
4611 return Nodes.Table (N + 4).Flag14;
4614 function Flag233 (N : Node_Id) return Boolean is
4616 pragma Assert (Nkind (N) in N_Entity);
4617 return Nodes.Table (N + 4).Flag15;
4620 function Flag234 (N : Node_Id) return Boolean is
4622 pragma Assert (Nkind (N) in N_Entity);
4623 return Nodes.Table (N + 4).Flag16;
4626 function Flag235 (N : Node_Id) return Boolean is
4628 pragma Assert (Nkind (N) in N_Entity);
4629 return Nodes.Table (N + 4).Flag17;
4632 function Flag236 (N : Node_Id) return Boolean is
4634 pragma Assert (Nkind (N) in N_Entity);
4635 return Nodes.Table (N + 4).Flag18;
4638 function Flag237 (N : Node_Id) return Boolean is
4640 pragma Assert (Nkind (N) in N_Entity);
4641 return Nodes.Table (N + 4).Pflag1;
4644 function Flag238 (N : Node_Id) return Boolean is
4646 pragma Assert (Nkind (N) in N_Entity);
4647 return Nodes.Table (N + 4).Pflag2;
4650 function Flag239 (N : Node_Id) return Boolean is
4652 pragma Assert (Nkind (N) in N_Entity);
4653 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag239;
4656 function Flag240 (N : Node_Id) return Boolean is
4658 pragma Assert (Nkind (N) in N_Entity);
4659 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag240;
4662 function Flag241 (N : Node_Id) return Boolean is
4664 pragma Assert (Nkind (N) in N_Entity);
4665 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag241;
4668 function Flag242 (N : Node_Id) return Boolean is
4670 pragma Assert (Nkind (N) in N_Entity);
4671 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag242;
4674 function Flag243 (N : Node_Id) return Boolean is
4676 pragma Assert (Nkind (N) in N_Entity);
4677 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag243;
4680 function Flag244 (N : Node_Id) return Boolean is
4682 pragma Assert (Nkind (N) in N_Entity);
4683 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag244;
4686 function Flag245 (N : Node_Id) return Boolean is
4688 pragma Assert (Nkind (N) in N_Entity);
4689 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag245;
4692 function Flag246 (N : Node_Id) return Boolean is
4694 pragma Assert (Nkind (N) in N_Entity);
4695 return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag246;
4698 function Flag247 (N : Node_Id) return Boolean is
4700 pragma Assert (Nkind (N) in N_Entity);
4701 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag247;
4704 function Flag248 (N : Node_Id) return Boolean is
4706 pragma Assert (Nkind (N) in N_Entity);
4707 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag248;
4710 function Flag249 (N : Node_Id) return Boolean is
4712 pragma Assert (Nkind (N) in N_Entity);
4713 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag249;
4716 function Flag250 (N : Node_Id) return Boolean is
4718 pragma Assert (Nkind (N) in N_Entity);
4719 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag250;
4722 function Flag251 (N : Node_Id) return Boolean is
4724 pragma Assert (Nkind (N) in N_Entity);
4725 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag251;
4728 function Flag252 (N : Node_Id) return Boolean is
4730 pragma Assert (Nkind (N) in N_Entity);
4731 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag252;
4734 function Flag253 (N : Node_Id) return Boolean is
4736 pragma Assert (Nkind (N) in N_Entity);
4737 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag253;
4740 function Flag254 (N : Node_Id) return Boolean is
4742 pragma Assert (Nkind (N) in N_Entity);
4743 return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag254;
4746 function Flag255 (N : Node_Id) return Boolean is
4748 pragma Assert (Nkind (N) in N_Entity);
4749 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag255;
4752 function Flag256 (N : Node_Id) return Boolean is
4754 pragma Assert (Nkind (N) in N_Entity);
4755 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag256;
4758 function Flag257 (N : Node_Id) return Boolean is
4760 pragma Assert (Nkind (N) in N_Entity);
4761 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag257;
4764 function Flag258 (N : Node_Id) return Boolean is
4766 pragma Assert (Nkind (N) in N_Entity);
4767 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag258;
4770 function Flag259 (N : Node_Id) return Boolean is
4772 pragma Assert (Nkind (N) in N_Entity);
4773 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag259;
4776 function Flag260 (N : Node_Id) return Boolean is
4778 pragma Assert (Nkind (N) in N_Entity);
4779 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag260;
4782 function Flag261 (N : Node_Id) return Boolean is
4784 pragma Assert (Nkind (N) in N_Entity);
4785 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag261;
4788 function Flag262 (N : Node_Id) return Boolean is
4790 pragma Assert (Nkind (N) in N_Entity);
4791 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag262;
4794 function Flag263 (N : Node_Id) return Boolean is
4796 pragma Assert (Nkind (N) in N_Entity);
4797 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag263;
4800 function Flag264 (N : Node_Id) return Boolean is
4802 pragma Assert (Nkind (N) in N_Entity);
4803 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag264;
4806 function Flag265 (N : Node_Id) return Boolean is
4808 pragma Assert (Nkind (N) in N_Entity);
4809 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag265;
4812 function Flag266 (N : Node_Id) return Boolean is
4814 pragma Assert (Nkind (N) in N_Entity);
4815 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag266;
4818 function Flag267 (N : Node_Id) return Boolean is
4820 pragma Assert (Nkind (N) in N_Entity);
4821 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag267;
4824 function Flag268 (N : Node_Id) return Boolean is
4826 pragma Assert (Nkind (N) in N_Entity);
4827 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag268;
4830 function Flag269 (N : Node_Id) return Boolean is
4832 pragma Assert (Nkind (N) in N_Entity);
4833 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag269;
4836 function Flag270 (N : Node_Id) return Boolean is
4838 pragma Assert (Nkind (N) in N_Entity);
4839 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag270;
4842 function Flag271 (N : Node_Id) return Boolean is
4844 pragma Assert (Nkind (N) in N_Entity);
4845 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag271;
4848 function Flag272 (N : Node_Id) return Boolean is
4850 pragma Assert (Nkind (N) in N_Entity);
4851 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag272;
4854 function Flag273 (N : Node_Id) return Boolean is
4856 pragma Assert (Nkind (N) in N_Entity);
4857 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag273;
4860 function Flag274 (N : Node_Id) return Boolean is
4862 pragma Assert (Nkind (N) in N_Entity);
4863 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag274;
4866 function Flag275 (N : Node_Id) return Boolean is
4868 pragma Assert (Nkind (N) in N_Entity);
4869 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag275;
4872 function Flag276 (N : Node_Id) return Boolean is
4874 pragma Assert (Nkind (N) in N_Entity);
4875 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag276;
4878 function Flag277 (N : Node_Id) return Boolean is
4880 pragma Assert (Nkind (N) in N_Entity);
4881 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag277;
4884 function Flag278 (N : Node_Id) return Boolean is
4886 pragma Assert (Nkind (N) in N_Entity);
4887 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag278;
4890 function Flag279 (N : Node_Id) return Boolean is
4892 pragma Assert (Nkind (N) in N_Entity);
4893 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag279;
4896 function Flag280 (N : Node_Id) return Boolean is
4898 pragma Assert (Nkind (N) in N_Entity);
4899 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag280;
4902 function Flag281 (N : Node_Id) return Boolean is
4904 pragma Assert (Nkind (N) in N_Entity);
4905 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag281;
4908 function Flag282 (N : Node_Id) return Boolean is
4910 pragma Assert (Nkind (N) in N_Entity);
4911 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag282;
4914 function Flag283 (N : Node_Id) return Boolean is
4916 pragma Assert (Nkind (N) in N_Entity);
4917 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag283;
4920 function Flag284 (N : Node_Id) return Boolean is
4922 pragma Assert (Nkind (N) in N_Entity);
4923 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag284;
4926 function Flag285 (N : Node_Id) return Boolean is
4928 pragma Assert (Nkind (N) in N_Entity);
4929 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag285;
4932 function Flag286 (N : Node_Id) return Boolean is
4934 pragma Assert (Nkind (N) in N_Entity);
4935 return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag286;
4938 function Flag287 (N : Node_Id) return Boolean is
4940 pragma Assert (Nkind (N) in N_Entity);
4941 return Nodes.Table (N + 5).In_List;
4944 function Flag288 (N : Node_Id) return Boolean is
4946 pragma Assert (Nkind (N) in N_Entity);
4947 return Nodes.Table (N + 5).Has_Aspects;
4950 function Flag289 (N : Node_Id) return Boolean is
4952 pragma Assert (Nkind (N) in N_Entity);
4953 return Nodes.Table (N + 5).Rewrite_Ins;
4956 function Flag290 (N : Node_Id) return Boolean is
4958 pragma Assert (Nkind (N) in N_Entity);
4959 return Nodes.Table (N + 5).Analyzed;
4962 function Flag291 (N : Node_Id) return Boolean is
4964 pragma Assert (Nkind (N) in N_Entity);
4965 return Nodes.Table (N + 5).Comes_From_Source;
4968 function Flag292 (N : Node_Id) return Boolean is
4970 pragma Assert (Nkind (N) in N_Entity);
4971 return Nodes.Table (N + 5).Error_Posted;
4974 function Flag293 (N : Node_Id) return Boolean is
4976 pragma Assert (Nkind (N) in N_Entity);
4977 return Nodes.Table (N + 5).Flag4;
4980 function Flag294 (N : Node_Id) return Boolean is
4982 pragma Assert (Nkind (N) in N_Entity);
4983 return Nodes.Table (N + 5).Flag5;
4986 function Flag295 (N : Node_Id) return Boolean is
4988 pragma Assert (Nkind (N) in N_Entity);
4989 return Nodes.Table (N + 5).Flag6;
4992 function Flag296 (N : Node_Id) return Boolean is
4994 pragma Assert (Nkind (N) in N_Entity);
4995 return Nodes.Table (N + 5).Flag7;
4998 function Flag297 (N : Node_Id) return Boolean is
5000 pragma Assert (Nkind (N) in N_Entity);
5001 return Nodes.Table (N + 5).Flag8;
5004 function Flag298 (N : Node_Id) return Boolean is
5006 pragma Assert (Nkind (N) in N_Entity);
5007 return Nodes.Table (N + 5).Flag9;
5010 function Flag299 (N : Node_Id) return Boolean is
5012 pragma Assert (Nkind (N) in N_Entity);
5013 return Nodes.Table (N + 5).Flag10;
5016 function Flag300 (N : Node_Id) return Boolean is
5018 pragma Assert (Nkind (N) in N_Entity);
5019 return Nodes.Table (N + 5).Flag11;
5022 function Flag301 (N : Node_Id) return Boolean is
5024 pragma Assert (Nkind (N) in N_Entity);
5025 return Nodes.Table (N + 5).Flag12;
5028 function Flag302 (N : Node_Id) return Boolean is
5030 pragma Assert (Nkind (N) in N_Entity);
5031 return Nodes.Table (N + 5).Flag13;
5034 function Flag303 (N : Node_Id) return Boolean is
5036 pragma Assert (Nkind (N) in N_Entity);
5037 return Nodes.Table (N + 5).Flag14;
5040 function Flag304 (N : Node_Id) return Boolean is
5042 pragma Assert (Nkind (N) in N_Entity);
5043 return Nodes.Table (N + 5).Flag15;
5046 function Flag305 (N : Node_Id) return Boolean is
5048 pragma Assert (Nkind (N) in N_Entity);
5049 return Nodes.Table (N + 5).Flag16;
5052 function Flag306 (N : Node_Id) return Boolean is
5054 pragma Assert (Nkind (N) in N_Entity);
5055 return Nodes.Table (N + 5).Flag17;
5058 function Flag307 (N : Node_Id) return Boolean is
5060 pragma Assert (Nkind (N) in N_Entity);
5061 return Nodes.Table (N + 5).Flag18;
5064 function Flag308 (N : Node_Id) return Boolean is
5066 pragma Assert (Nkind (N) in N_Entity);
5067 return Nodes.Table (N + 5).Pflag1;
5070 function Flag309 (N : Node_Id) return Boolean is
5072 pragma Assert (Nkind (N) in N_Entity);
5073 return Nodes.Table (N + 5).Pflag2;
5076 function Flag310 (N : Node_Id) return Boolean is
5078 pragma Assert (Nkind (N) in N_Entity);
5079 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag310;
5082 function Flag311 (N : Node_Id) return Boolean is
5084 pragma Assert (Nkind (N) in N_Entity);
5085 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag311;
5088 function Flag312 (N : Node_Id) return Boolean is
5090 pragma Assert (Nkind (N) in N_Entity);
5091 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag312;
5094 function Flag313 (N : Node_Id) return Boolean is
5096 pragma Assert (Nkind (N) in N_Entity);
5097 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag313;
5100 function Flag314 (N : Node_Id) return Boolean is
5102 pragma Assert (Nkind (N) in N_Entity);
5103 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag314;
5106 function Flag315 (N : Node_Id) return Boolean is
5108 pragma Assert (Nkind (N) in N_Entity);
5109 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag315;
5112 function Flag316 (N : Node_Id) return Boolean is
5114 pragma Assert (Nkind (N) in N_Entity);
5115 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag316;
5118 function Flag317 (N : Node_Id) return Boolean is
5120 pragma Assert (Nkind (N) in N_Entity);
5121 return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag317;
5124 procedure Set_Nkind (N : Node_Id; Val : Node_Kind) is
5126 pragma Assert (not Locked);
5127 pragma Assert (N <= Nodes.Last);
5128 Nodes.Table (N).Nkind := Val;
5131 procedure Set_Field1 (N : Node_Id; Val : Union_Id) is
5133 pragma Assert (not Locked);
5134 pragma Assert (N <= Nodes.Last);
5135 Nodes.Table (N).Field1 := Val;
5138 procedure Set_Field2 (N : Node_Id; Val : Union_Id) is
5140 pragma Assert (not Locked);
5141 pragma Assert (N <= Nodes.Last);
5142 Nodes.Table (N).Field2 := Val;
5145 procedure Set_Field3 (N : Node_Id; Val : Union_Id) is
5147 pragma Assert (not Locked);
5148 pragma Assert (N <= Nodes.Last);
5149 Nodes.Table (N).Field3 := Val;
5152 procedure Set_Field4 (N : Node_Id; Val : Union_Id) is
5154 pragma Assert (not Locked);
5155 pragma Assert (N <= Nodes.Last);
5156 Nodes.Table (N).Field4 := Val;
5159 procedure Set_Field5 (N : Node_Id; Val : Union_Id) is
5161 pragma Assert (not Locked);
5162 pragma Assert (N <= Nodes.Last);
5163 Nodes.Table (N).Field5 := Val;
5166 procedure Set_Field6 (N : Node_Id; Val : Union_Id) is
5168 pragma Assert (not Locked);
5169 pragma Assert (Nkind (N) in N_Entity);
5170 Nodes.Table (N + 1).Field6 := Val;
5173 procedure Set_Field7 (N : Node_Id; Val : Union_Id) is
5175 pragma Assert (not Locked);
5176 pragma Assert (Nkind (N) in N_Entity);
5177 Nodes.Table (N + 1).Field7 := Val;
5180 procedure Set_Field8 (N : Node_Id; Val : Union_Id) is
5182 pragma Assert (not Locked);
5183 pragma Assert (Nkind (N) in N_Entity);
5184 Nodes.Table (N + 1).Field8 := Val;
5187 procedure Set_Field9 (N : Node_Id; Val : Union_Id) is
5189 pragma Assert (not Locked);
5190 pragma Assert (Nkind (N) in N_Entity);
5191 Nodes.Table (N + 1).Field9 := Val;
5194 procedure Set_Field10 (N : Node_Id; Val : Union_Id) is
5196 pragma Assert (not Locked);
5197 pragma Assert (Nkind (N) in N_Entity);
5198 Nodes.Table (N + 1).Field10 := Val;
5201 procedure Set_Field11 (N : Node_Id; Val : Union_Id) is
5203 pragma Assert (not Locked);
5204 pragma Assert (Nkind (N) in N_Entity);
5205 Nodes.Table (N + 1).Field11 := Val;
5208 procedure Set_Field12 (N : Node_Id; Val : Union_Id) is
5210 pragma Assert (not Locked);
5211 pragma Assert (Nkind (N) in N_Entity);
5212 Nodes.Table (N + 1).Field12 := Val;
5215 procedure Set_Field13 (N : Node_Id; Val : Union_Id) is
5217 pragma Assert (not Locked);
5218 pragma Assert (Nkind (N) in N_Entity);
5219 Nodes.Table (N + 2).Field6 := Val;
5222 procedure Set_Field14 (N : Node_Id; Val : Union_Id) is
5224 pragma Assert (not Locked);
5225 pragma Assert (Nkind (N) in N_Entity);
5226 Nodes.Table (N + 2).Field7 := Val;
5229 procedure Set_Field15 (N : Node_Id; Val : Union_Id) is
5231 pragma Assert (not Locked);
5232 pragma Assert (Nkind (N) in N_Entity);
5233 Nodes.Table (N + 2).Field8 := Val;
5236 procedure Set_Field16 (N : Node_Id; Val : Union_Id) is
5238 pragma Assert (not Locked);
5239 pragma Assert (Nkind (N) in N_Entity);
5240 Nodes.Table (N + 2).Field9 := Val;
5243 procedure Set_Field17 (N : Node_Id; Val : Union_Id) is
5245 pragma Assert (not Locked);
5246 pragma Assert (Nkind (N) in N_Entity);
5247 Nodes.Table (N + 2).Field10 := Val;
5250 procedure Set_Field18 (N : Node_Id; Val : Union_Id) is
5252 pragma Assert (not Locked);
5253 pragma Assert (Nkind (N) in N_Entity);
5254 Nodes.Table (N + 2).Field11 := Val;
5257 procedure Set_Field19 (N : Node_Id; Val : Union_Id) is
5259 pragma Assert (not Locked);
5260 pragma Assert (Nkind (N) in N_Entity);
5261 Nodes.Table (N + 3).Field6 := Val;
5264 procedure Set_Field20 (N : Node_Id; Val : Union_Id) is
5266 pragma Assert (not Locked);
5267 pragma Assert (Nkind (N) in N_Entity);
5268 Nodes.Table (N + 3).Field7 := Val;
5271 procedure Set_Field21 (N : Node_Id; Val : Union_Id) is
5273 pragma Assert (not Locked);
5274 pragma Assert (Nkind (N) in N_Entity);
5275 Nodes.Table (N + 3).Field8 := Val;
5278 procedure Set_Field22 (N : Node_Id; Val : Union_Id) is
5280 pragma Assert (not Locked);
5281 pragma Assert (Nkind (N) in N_Entity);
5282 Nodes.Table (N + 3).Field9 := Val;
5285 procedure Set_Field23 (N : Node_Id; Val : Union_Id) is
5287 pragma Assert (not Locked);
5288 pragma Assert (Nkind (N) in N_Entity);
5289 Nodes.Table (N + 3).Field10 := Val;
5292 procedure Set_Field24 (N : Node_Id; Val : Union_Id) is
5294 pragma Assert (not Locked);
5295 pragma Assert (Nkind (N) in N_Entity);
5296 Nodes.Table (N + 4).Field6 := Val;
5299 procedure Set_Field25 (N : Node_Id; Val : Union_Id) is
5301 pragma Assert (not Locked);
5302 pragma Assert (Nkind (N) in N_Entity);
5303 Nodes.Table (N + 4).Field7 := Val;
5306 procedure Set_Field26 (N : Node_Id; Val : Union_Id) is
5308 pragma Assert (not Locked);
5309 pragma Assert (Nkind (N) in N_Entity);
5310 Nodes.Table (N + 4).Field8 := Val;
5313 procedure Set_Field27 (N : Node_Id; Val : Union_Id) is
5315 pragma Assert (not Locked);
5316 pragma Assert (Nkind (N) in N_Entity);
5317 Nodes.Table (N + 4).Field9 := Val;
5320 procedure Set_Field28 (N : Node_Id; Val : Union_Id) is
5322 pragma Assert (not Locked);
5323 pragma Assert (Nkind (N) in N_Entity);
5324 Nodes.Table (N + 4).Field10 := Val;
5327 procedure Set_Field29 (N : Node_Id; Val : Union_Id) is
5329 pragma Assert (not Locked);
5330 pragma Assert (Nkind (N) in N_Entity);
5331 Nodes.Table (N + 4).Field11 := Val;
5334 procedure Set_Field30 (N : Node_Id; Val : Union_Id) is
5336 pragma Assert (not Locked);
5337 pragma Assert (Nkind (N) in N_Entity);
5338 Nodes.Table (N + 5).Field6 := Val;
5341 procedure Set_Field31 (N : Node_Id; Val : Union_Id) is
5343 pragma Assert (not Locked);
5344 pragma Assert (Nkind (N) in N_Entity);
5345 Nodes.Table (N + 5).Field7 := Val;
5348 procedure Set_Field32 (N : Node_Id; Val : Union_Id) is
5350 pragma Assert (not Locked);
5351 pragma Assert (Nkind (N) in N_Entity);
5352 Nodes.Table (N + 5).Field8 := Val;
5355 procedure Set_Field33 (N : Node_Id; Val : Union_Id) is
5357 pragma Assert (not Locked);
5358 pragma Assert (Nkind (N) in N_Entity);
5359 Nodes.Table (N + 5).Field9 := Val;
5362 procedure Set_Field34 (N : Node_Id; Val : Union_Id) is
5364 pragma Assert (not Locked);
5365 pragma Assert (Nkind (N) in N_Entity);
5366 Nodes.Table (N + 5).Field10 := Val;
5369 procedure Set_Field35 (N : Node_Id; Val : Union_Id) is
5371 pragma Assert (not Locked);
5372 pragma Assert (Nkind (N) in N_Entity);
5373 Nodes.Table (N + 5).Field11 := Val;
5376 procedure Set_Field36 (N : Node_Id; Val : Union_Id) is
5378 pragma Assert (not Locked);
5379 pragma Assert (Nkind (N) in N_Entity);
5380 Nodes.Table (N + 6).Field6 := Val;
5383 procedure Set_Field37 (N : Node_Id; Val : Union_Id) is
5385 pragma Assert (not Locked);
5386 pragma Assert (Nkind (N) in N_Entity);
5387 Nodes.Table (N + 6).Field7 := Val;
5390 procedure Set_Field38 (N : Node_Id; Val : Union_Id) is
5392 pragma Assert (not Locked);
5393 pragma Assert (Nkind (N) in N_Entity);
5394 Nodes.Table (N + 6).Field8 := Val;
5397 procedure Set_Field39 (N : Node_Id; Val : Union_Id) is
5399 pragma Assert (not Locked);
5400 pragma Assert (Nkind (N) in N_Entity);
5401 Nodes.Table (N + 6).Field9 := Val;
5404 procedure Set_Field40 (N : Node_Id; Val : Union_Id) is
5406 pragma Assert (not Locked);
5407 pragma Assert (Nkind (N) in N_Entity);
5408 Nodes.Table (N + 6).Field10 := Val;
5411 procedure Set_Field41 (N : Node_Id; Val : Union_Id) is
5413 pragma Assert (not Locked);
5414 pragma Assert (Nkind (N) in N_Entity);
5415 Nodes.Table (N + 6).Field11 := Val;
5418 procedure Set_Node1 (N : Node_Id; Val : Node_Id) is
5420 pragma Assert (not Locked);
5421 pragma Assert (N <= Nodes.Last);
5422 Nodes.Table (N).Field1 := Union_Id (Val);
5425 procedure Set_Node2 (N : Node_Id; Val : Node_Id) is
5427 pragma Assert (not Locked);
5428 pragma Assert (N <= Nodes.Last);
5429 Nodes.Table (N).Field2 := Union_Id (Val);
5432 procedure Set_Node3 (N : Node_Id; Val : Node_Id) is
5434 pragma Assert (not Locked);
5435 pragma Assert (N <= Nodes.Last);
5436 Nodes.Table (N).Field3 := Union_Id (Val);
5439 procedure Set_Node4 (N : Node_Id; Val : Node_Id) is
5441 pragma Assert (not Locked);
5442 pragma Assert (N <= Nodes.Last);
5443 Nodes.Table (N).Field4 := Union_Id (Val);
5446 procedure Set_Node5 (N : Node_Id; Val : Node_Id) is
5448 pragma Assert (not Locked);
5449 pragma Assert (N <= Nodes.Last);
5450 Nodes.Table (N).Field5 := Union_Id (Val);
5453 procedure Set_Node6 (N : Node_Id; Val : Node_Id) is
5455 pragma Assert (not Locked);
5456 pragma Assert (Nkind (N) in N_Entity);
5457 Nodes.Table (N + 1).Field6 := Union_Id (Val);
5460 procedure Set_Node7 (N : Node_Id; Val : Node_Id) is
5462 pragma Assert (not Locked);
5463 pragma Assert (Nkind (N) in N_Entity);
5464 Nodes.Table (N + 1).Field7 := Union_Id (Val);
5467 procedure Set_Node8 (N : Node_Id; Val : Node_Id) is
5469 pragma Assert (not Locked);
5470 pragma Assert (Nkind (N) in N_Entity);
5471 Nodes.Table (N + 1).Field8 := Union_Id (Val);
5474 procedure Set_Node9 (N : Node_Id; Val : Node_Id) is
5476 pragma Assert (not Locked);
5477 pragma Assert (Nkind (N) in N_Entity);
5478 Nodes.Table (N + 1).Field9 := Union_Id (Val);
5481 procedure Set_Node10 (N : Node_Id; Val : Node_Id) is
5483 pragma Assert (not Locked);
5484 pragma Assert (Nkind (N) in N_Entity);
5485 Nodes.Table (N + 1).Field10 := Union_Id (Val);
5488 procedure Set_Node11 (N : Node_Id; Val : Node_Id) is
5490 pragma Assert (not Locked);
5491 pragma Assert (Nkind (N) in N_Entity);
5492 Nodes.Table (N + 1).Field11 := Union_Id (Val);
5495 procedure Set_Node12 (N : Node_Id; Val : Node_Id) is
5497 pragma Assert (not Locked);
5498 pragma Assert (Nkind (N) in N_Entity);
5499 Nodes.Table (N + 1).Field12 := Union_Id (Val);
5502 procedure Set_Node13 (N : Node_Id; Val : Node_Id) is
5504 pragma Assert (not Locked);
5505 pragma Assert (Nkind (N) in N_Entity);
5506 Nodes.Table (N + 2).Field6 := Union_Id (Val);
5509 procedure Set_Node14 (N : Node_Id; Val : Node_Id) is
5511 pragma Assert (not Locked);
5512 pragma Assert (Nkind (N) in N_Entity);
5513 Nodes.Table (N + 2).Field7 := Union_Id (Val);
5516 procedure Set_Node15 (N : Node_Id; Val : Node_Id) is
5518 pragma Assert (not Locked);
5519 pragma Assert (Nkind (N) in N_Entity);
5520 Nodes.Table (N + 2).Field8 := Union_Id (Val);
5523 procedure Set_Node16 (N : Node_Id; Val : Node_Id) is
5525 pragma Assert (not Locked);
5526 pragma Assert (Nkind (N) in N_Entity);
5527 Nodes.Table (N + 2).Field9 := Union_Id (Val);
5530 procedure Set_Node17 (N : Node_Id; Val : Node_Id) is
5532 pragma Assert (not Locked);
5533 pragma Assert (Nkind (N) in N_Entity);
5534 Nodes.Table (N + 2).Field10 := Union_Id (Val);
5537 procedure Set_Node18 (N : Node_Id; Val : Node_Id) is
5539 pragma Assert (not Locked);
5540 pragma Assert (Nkind (N) in N_Entity);
5541 Nodes.Table (N + 2).Field11 := Union_Id (Val);
5544 procedure Set_Node19 (N : Node_Id; Val : Node_Id) is
5546 pragma Assert (not Locked);
5547 pragma Assert (Nkind (N) in N_Entity);
5548 Nodes.Table (N + 3).Field6 := Union_Id (Val);
5551 procedure Set_Node20 (N : Node_Id; Val : Node_Id) is
5553 pragma Assert (not Locked);
5554 pragma Assert (Nkind (N) in N_Entity);
5555 Nodes.Table (N + 3).Field7 := Union_Id (Val);
5558 procedure Set_Node21 (N : Node_Id; Val : Node_Id) is
5560 pragma Assert (not Locked);
5561 pragma Assert (Nkind (N) in N_Entity);
5562 Nodes.Table (N + 3).Field8 := Union_Id (Val);
5565 procedure Set_Node22 (N : Node_Id; Val : Node_Id) is
5567 pragma Assert (not Locked);
5568 pragma Assert (Nkind (N) in N_Entity);
5569 Nodes.Table (N + 3).Field9 := Union_Id (Val);
5572 procedure Set_Node23 (N : Node_Id; Val : Node_Id) is
5574 pragma Assert (not Locked);
5575 pragma Assert (Nkind (N) in N_Entity);
5576 Nodes.Table (N + 3).Field10 := Union_Id (Val);
5579 procedure Set_Node24 (N : Node_Id; Val : Node_Id) is
5581 pragma Assert (not Locked);
5582 pragma Assert (Nkind (N) in N_Entity);
5583 Nodes.Table (N + 4).Field6 := Union_Id (Val);
5586 procedure Set_Node25 (N : Node_Id; Val : Node_Id) is
5588 pragma Assert (not Locked);
5589 pragma Assert (Nkind (N) in N_Entity);
5590 Nodes.Table (N + 4).Field7 := Union_Id (Val);
5593 procedure Set_Node26 (N : Node_Id; Val : Node_Id) is
5595 pragma Assert (not Locked);
5596 pragma Assert (Nkind (N) in N_Entity);
5597 Nodes.Table (N + 4).Field8 := Union_Id (Val);
5600 procedure Set_Node27 (N : Node_Id; Val : Node_Id) is
5602 pragma Assert (not Locked);
5603 pragma Assert (Nkind (N) in N_Entity);
5604 Nodes.Table (N + 4).Field9 := Union_Id (Val);
5607 procedure Set_Node28 (N : Node_Id; Val : Node_Id) is
5609 pragma Assert (not Locked);
5610 pragma Assert (Nkind (N) in N_Entity);
5611 Nodes.Table (N + 4).Field10 := Union_Id (Val);
5614 procedure Set_Node29 (N : Node_Id; Val : Node_Id) is
5616 pragma Assert (not Locked);
5617 pragma Assert (Nkind (N) in N_Entity);
5618 Nodes.Table (N + 4).Field11 := Union_Id (Val);
5621 procedure Set_Node30 (N : Node_Id; Val : Node_Id) is
5623 pragma Assert (not Locked);
5624 pragma Assert (Nkind (N) in N_Entity);
5625 Nodes.Table (N + 5).Field6 := Union_Id (Val);
5628 procedure Set_Node31 (N : Node_Id; Val : Node_Id) is
5630 pragma Assert (not Locked);
5631 pragma Assert (Nkind (N) in N_Entity);
5632 Nodes.Table (N + 5).Field7 := Union_Id (Val);
5635 procedure Set_Node32 (N : Node_Id; Val : Node_Id) is
5637 pragma Assert (not Locked);
5638 pragma Assert (Nkind (N) in N_Entity);
5639 Nodes.Table (N + 5).Field8 := Union_Id (Val);
5642 procedure Set_Node33 (N : Node_Id; Val : Node_Id) is
5644 pragma Assert (not Locked);
5645 pragma Assert (Nkind (N) in N_Entity);
5646 Nodes.Table (N + 5).Field9 := Union_Id (Val);
5649 procedure Set_Node34 (N : Node_Id; Val : Node_Id) is
5651 pragma Assert (not Locked);
5652 pragma Assert (Nkind (N) in N_Entity);
5653 Nodes.Table (N + 5).Field10 := Union_Id (Val);
5656 procedure Set_Node35 (N : Node_Id; Val : Node_Id) is
5658 pragma Assert (not Locked);
5659 pragma Assert (Nkind (N) in N_Entity);
5660 Nodes.Table (N + 5).Field11 := Union_Id (Val);
5663 procedure Set_Node36 (N : Node_Id; Val : Node_Id) is
5665 pragma Assert (not Locked);
5666 pragma Assert (Nkind (N) in N_Entity);
5667 Nodes.Table (N + 6).Field6 := Union_Id (Val);
5670 procedure Set_Node37 (N : Node_Id; Val : Node_Id) is
5672 pragma Assert (not Locked);
5673 pragma Assert (Nkind (N) in N_Entity);
5674 Nodes.Table (N + 6).Field7 := Union_Id (Val);
5677 procedure Set_Node38 (N : Node_Id; Val : Node_Id) is
5679 pragma Assert (not Locked);
5680 pragma Assert (Nkind (N) in N_Entity);
5681 Nodes.Table (N + 6).Field8 := Union_Id (Val);
5684 procedure Set_Node39 (N : Node_Id; Val : Node_Id) is
5686 pragma Assert (not Locked);
5687 pragma Assert (Nkind (N) in N_Entity);
5688 Nodes.Table (N + 6).Field9 := Union_Id (Val);
5691 procedure Set_Node40 (N : Node_Id; Val : Node_Id) is
5693 pragma Assert (not Locked);
5694 pragma Assert (Nkind (N) in N_Entity);
5695 Nodes.Table (N + 6).Field10 := Union_Id (Val);
5698 procedure Set_Node41 (N : Node_Id; Val : Node_Id) is
5700 pragma Assert (not Locked);
5701 pragma Assert (Nkind (N) in N_Entity);
5702 Nodes.Table (N + 6).Field11 := Union_Id (Val);
5705 procedure Set_List1 (N : Node_Id; Val : List_Id) is
5707 pragma Assert (not Locked);
5708 pragma Assert (N <= Nodes.Last);
5709 Nodes.Table (N).Field1 := Union_Id (Val);
5712 procedure Set_List2 (N : Node_Id; Val : List_Id) is
5714 pragma Assert (not Locked);
5715 pragma Assert (N <= Nodes.Last);
5716 Nodes.Table (N).Field2 := Union_Id (Val);
5719 procedure Set_List3 (N : Node_Id; Val : List_Id) is
5721 pragma Assert (not Locked);
5722 pragma Assert (N <= Nodes.Last);
5723 Nodes.Table (N).Field3 := Union_Id (Val);
5726 procedure Set_List4 (N : Node_Id; Val : List_Id) is
5728 pragma Assert (not Locked);
5729 pragma Assert (N <= Nodes.Last);
5730 Nodes.Table (N).Field4 := Union_Id (Val);
5733 procedure Set_List5 (N : Node_Id; Val : List_Id) is
5735 pragma Assert (not Locked);
5736 pragma Assert (N <= Nodes.Last);
5737 Nodes.Table (N).Field5 := Union_Id (Val);
5740 procedure Set_List10 (N : Node_Id; Val : List_Id) is
5742 pragma Assert (not Locked);
5743 pragma Assert (Nkind (N) in N_Entity);
5744 Nodes.Table (N + 1).Field10 := Union_Id (Val);
5747 procedure Set_List14 (N : Node_Id; Val : List_Id) is
5749 pragma Assert (not Locked);
5750 pragma Assert (Nkind (N) in N_Entity);
5751 Nodes.Table (N + 2).Field7 := Union_Id (Val);
5754 procedure Set_List25 (N : Node_Id; Val : List_Id) is
5756 pragma Assert (not Locked);
5757 pragma Assert (Nkind (N) in N_Entity);
5758 Nodes.Table (N + 4).Field7 := Union_Id (Val);
5761 procedure Set_List38 (N : Node_Id; Val : List_Id) is
5763 pragma Assert (not Locked);
5764 pragma Assert (Nkind (N) in N_Entity);
5765 Nodes.Table (N + 6).Field8 := Union_Id (Val);
5768 procedure Set_List39 (N : Node_Id; Val : List_Id) is
5770 pragma Assert (not Locked);
5771 pragma Assert (Nkind (N) in N_Entity);
5772 Nodes.Table (N + 6).Field9 := Union_Id (Val);
5775 procedure Set_Elist1 (N : Node_Id; Val : Elist_Id) is
5777 pragma Assert (not Locked);
5778 Nodes.Table (N).Field1 := Union_Id (Val);
5781 procedure Set_Elist2 (N : Node_Id; Val : Elist_Id) is
5783 pragma Assert (not Locked);
5784 Nodes.Table (N).Field2 := Union_Id (Val);
5787 procedure Set_Elist3 (N : Node_Id; Val : Elist_Id) is
5789 pragma Assert (not Locked);
5790 Nodes.Table (N).Field3 := Union_Id (Val);
5793 procedure Set_Elist4 (N : Node_Id; Val : Elist_Id) is
5795 pragma Assert (not Locked);
5796 Nodes.Table (N).Field4 := Union_Id (Val);
5799 procedure Set_Elist5 (N : Node_Id; Val : Elist_Id) is
5801 pragma Assert (not Locked);
5802 Nodes.Table (N).Field5 := Union_Id (Val);
5805 procedure Set_Elist8 (N : Node_Id; Val : Elist_Id) is
5807 pragma Assert (not Locked);
5808 pragma Assert (Nkind (N) in N_Entity);
5809 Nodes.Table (N + 1).Field8 := Union_Id (Val);
5812 procedure Set_Elist9 (N : Node_Id; Val : Elist_Id) is
5814 pragma Assert (not Locked);
5815 pragma Assert (Nkind (N) in N_Entity);
5816 Nodes.Table (N + 1).Field9 := Union_Id (Val);
5819 procedure Set_Elist10 (N : Node_Id; Val : Elist_Id) is
5821 pragma Assert (not Locked);
5822 pragma Assert (Nkind (N) in N_Entity);
5823 Nodes.Table (N + 1).Field10 := Union_Id (Val);
5826 procedure Set_Elist11 (N : Node_Id; Val : Elist_Id) is
5828 pragma Assert (not Locked);
5829 pragma Assert (Nkind (N) in N_Entity);
5830 Nodes.Table (N + 1).Field11 := Union_Id (Val);
5833 procedure Set_Elist13 (N : Node_Id; Val : Elist_Id) is
5835 pragma Assert (not Locked);
5836 pragma Assert (Nkind (N) in N_Entity);
5837 Nodes.Table (N + 2).Field6 := Union_Id (Val);
5840 procedure Set_Elist15 (N : Node_Id; Val : Elist_Id) is
5842 pragma Assert (not Locked);
5843 pragma Assert (Nkind (N) in N_Entity);
5844 Nodes.Table (N + 2).Field8 := Union_Id (Val);
5847 procedure Set_Elist16 (N : Node_Id; Val : Elist_Id) is
5849 pragma Assert (not Locked);
5850 pragma Assert (Nkind (N) in N_Entity);
5851 Nodes.Table (N + 2).Field9 := Union_Id (Val);
5854 procedure Set_Elist18 (N : Node_Id; Val : Elist_Id) is
5856 pragma Assert (not Locked);
5857 pragma Assert (Nkind (N) in N_Entity);
5858 Nodes.Table (N + 2).Field11 := Union_Id (Val);
5861 procedure Set_Elist21 (N : Node_Id; Val : Elist_Id) is
5863 pragma Assert (not Locked);
5864 pragma Assert (Nkind (N) in N_Entity);
5865 Nodes.Table (N + 3).Field8 := Union_Id (Val);
5868 procedure Set_Elist23 (N : Node_Id; Val : Elist_Id) is
5870 pragma Assert (not Locked);
5871 pragma Assert (Nkind (N) in N_Entity);
5872 Nodes.Table (N + 3).Field10 := Union_Id (Val);
5875 procedure Set_Elist24 (N : Node_Id; Val : Elist_Id) is
5877 pragma Assert (not Locked);
5878 pragma Assert (Nkind (N) in N_Entity);
5879 Nodes.Table (N + 4).Field6 := Union_Id (Val);
5882 procedure Set_Elist25 (N : Node_Id; Val : Elist_Id) is
5884 pragma Assert (not Locked);
5885 pragma Assert (Nkind (N) in N_Entity);
5886 Nodes.Table (N + 4).Field7 := Union_Id (Val);
5889 procedure Set_Elist26 (N : Node_Id; Val : Elist_Id) is
5891 pragma Assert (not Locked);
5892 pragma Assert (Nkind (N) in N_Entity);
5893 Nodes.Table (N + 4).Field8 := Union_Id (Val);
5896 procedure Set_Elist29 (N : Node_Id; Val : Elist_Id) is
5898 pragma Assert (not Locked);
5899 pragma Assert (Nkind (N) in N_Entity);
5900 Nodes.Table (N + 4).Field11 := Union_Id (Val);
5903 procedure Set_Elist30 (N : Node_Id; Val : Elist_Id) is
5905 pragma Assert (not Locked);
5906 pragma Assert (Nkind (N) in N_Entity);
5907 Nodes.Table (N + 5).Field6 := Union_Id (Val);
5910 procedure Set_Elist36 (N : Node_Id; Val : Elist_Id) is
5912 pragma Assert (not Locked);
5913 pragma Assert (Nkind (N) in N_Entity);
5914 Nodes.Table (N + 6).Field6 := Union_Id (Val);
5917 procedure Set_Name1 (N : Node_Id; Val : Name_Id) is
5919 pragma Assert (not Locked);
5920 pragma Assert (N <= Nodes.Last);
5921 Nodes.Table (N).Field1 := Union_Id (Val);
5924 procedure Set_Name2 (N : Node_Id; Val : Name_Id) is
5926 pragma Assert (not Locked);
5927 pragma Assert (N <= Nodes.Last);
5928 Nodes.Table (N).Field2 := Union_Id (Val);
5931 procedure Set_Str3 (N : Node_Id; Val : String_Id) is
5933 pragma Assert (not Locked);
5934 pragma Assert (N <= Nodes.Last);
5935 Nodes.Table (N).Field3 := Union_Id (Val);
5938 procedure Set_Uint2 (N : Node_Id; Val : Uint) is
5940 pragma Assert (not Locked);
5941 pragma Assert (N <= Nodes.Last);
5942 Nodes.Table (N).Field2 := To_Union (Val);
5945 procedure Set_Uint3 (N : Node_Id; Val : Uint) is
5947 pragma Assert (not Locked);
5948 pragma Assert (N <= Nodes.Last);
5949 Nodes.Table (N).Field3 := To_Union (Val);
5952 procedure Set_Uint4 (N : Node_Id; Val : Uint) is
5954 pragma Assert (not Locked);
5955 pragma Assert (N <= Nodes.Last);
5956 Nodes.Table (N).Field4 := To_Union (Val);
5959 procedure Set_Uint5 (N : Node_Id; Val : Uint) is
5961 pragma Assert (not Locked);
5962 pragma Assert (N <= Nodes.Last);
5963 Nodes.Table (N).Field5 := To_Union (Val);
5966 procedure Set_Uint8 (N : Node_Id; Val : Uint) is
5968 pragma Assert (not Locked);
5969 pragma Assert (Nkind (N) in N_Entity);
5970 Nodes.Table (N + 1).Field8 := To_Union (Val);
5973 procedure Set_Uint9 (N : Node_Id; Val : Uint) is
5975 pragma Assert (not Locked);
5976 pragma Assert (Nkind (N) in N_Entity);
5977 Nodes.Table (N + 1).Field9 := To_Union (Val);
5980 procedure Set_Uint10 (N : Node_Id; Val : Uint) is
5982 pragma Assert (not Locked);
5983 pragma Assert (Nkind (N) in N_Entity);
5984 Nodes.Table (N + 1).Field10 := To_Union (Val);
5987 procedure Set_Uint11 (N : Node_Id; Val : Uint) is
5989 pragma Assert (not Locked);
5990 pragma Assert (Nkind (N) in N_Entity);
5991 Nodes.Table (N + 1).Field11 := To_Union (Val);
5994 procedure Set_Uint12 (N : Node_Id; Val : Uint) is
5996 pragma Assert (not Locked);
5997 pragma Assert (Nkind (N) in N_Entity);
5998 Nodes.Table (N + 1).Field12 := To_Union (Val);
6001 procedure Set_Uint13 (N : Node_Id; Val : Uint) is
6003 pragma Assert (not Locked);
6004 pragma Assert (Nkind (N) in N_Entity);
6005 Nodes.Table (N + 2).Field6 := To_Union (Val);
6008 procedure Set_Uint14 (N : Node_Id; Val : Uint) is
6010 pragma Assert (not Locked);
6011 pragma Assert (Nkind (N) in N_Entity);
6012 Nodes.Table (N + 2).Field7 := To_Union (Val);
6015 procedure Set_Uint15 (N : Node_Id; Val : Uint) is
6017 pragma Assert (not Locked);
6018 pragma Assert (Nkind (N) in N_Entity);
6019 Nodes.Table (N + 2).Field8 := To_Union (Val);
6022 procedure Set_Uint16 (N : Node_Id; Val : Uint) is
6024 pragma Assert (not Locked);
6025 pragma Assert (Nkind (N) in N_Entity);
6026 Nodes.Table (N + 2).Field9 := To_Union (Val);
6029 procedure Set_Uint17 (N : Node_Id; Val : Uint) is
6031 pragma Assert (not Locked);
6032 pragma Assert (Nkind (N) in N_Entity);
6033 Nodes.Table (N + 2).Field10 := To_Union (Val);
6036 procedure Set_Uint22 (N : Node_Id; Val : Uint) is
6038 pragma Assert (not Locked);
6039 pragma Assert (Nkind (N) in N_Entity);
6040 Nodes.Table (N + 3).Field9 := To_Union (Val);
6043 procedure Set_Uint24 (N : Node_Id; Val : Uint) is
6045 pragma Assert (not Locked);
6046 pragma Assert (Nkind (N) in N_Entity);
6047 Nodes.Table (N + 4).Field6 := To_Union (Val);
6050 procedure Set_Ureal3 (N : Node_Id; Val : Ureal) is
6052 pragma Assert (not Locked);
6053 pragma Assert (N <= Nodes.Last);
6054 Nodes.Table (N).Field3 := To_Union (Val);
6057 procedure Set_Ureal18 (N : Node_Id; Val : Ureal) is
6059 pragma Assert (not Locked);
6060 pragma Assert (Nkind (N) in N_Entity);
6061 Nodes.Table (N + 2).Field11 := To_Union (Val);
6064 procedure Set_Ureal21 (N : Node_Id; Val : Ureal) is
6066 pragma Assert (not Locked);
6067 pragma Assert (Nkind (N) in N_Entity);
6068 Nodes.Table (N + 3).Field8 := To_Union (Val);
6071 procedure Set_Flag0 (N : Node_Id; Val : Boolean) is
6073 pragma Assert (not Locked);
6074 pragma Assert (N <= Nodes.Last);
6075 Flags.Table (N).Flag0 := Val;
6078 procedure Set_Flag1 (N : Node_Id; Val : Boolean) is
6080 pragma Assert (not Locked);
6081 pragma Assert (N <= Nodes.Last);
6082 Flags.Table (N).Flag1 := Val;
6085 procedure Set_Flag2 (N : Node_Id; Val : Boolean) is
6087 pragma Assert (not Locked);
6088 pragma Assert (N <= Nodes.Last);
6089 Flags.Table (N).Flag2 := Val;
6092 procedure Set_Flag3 (N : Node_Id; Val : Boolean) is
6094 pragma Assert (not Locked);
6095 pragma Assert (N <= Nodes.Last);
6096 Flags.Table (N).Flag3 := Val;
6099 procedure Set_Flag4 (N : Node_Id; Val : Boolean) is
6101 pragma Assert (not Locked);
6102 pragma Assert (N <= Nodes.Last);
6103 Nodes.Table (N).Flag4 := Val;
6106 procedure Set_Flag5 (N : Node_Id; Val : Boolean) is
6108 pragma Assert (not Locked);
6109 pragma Assert (N <= Nodes.Last);
6110 Nodes.Table (N).Flag5 := Val;
6113 procedure Set_Flag6 (N : Node_Id; Val : Boolean) is
6115 pragma Assert (not Locked);
6116 pragma Assert (N <= Nodes.Last);
6117 Nodes.Table (N).Flag6 := Val;
6120 procedure Set_Flag7 (N : Node_Id; Val : Boolean) is
6122 pragma Assert (not Locked);
6123 pragma Assert (N <= Nodes.Last);
6124 Nodes.Table (N).Flag7 := Val;
6127 procedure Set_Flag8 (N : Node_Id; Val : Boolean) is
6129 pragma Assert (not Locked);
6130 pragma Assert (N <= Nodes.Last);
6131 Nodes.Table (N).Flag8 := Val;
6134 procedure Set_Flag9 (N : Node_Id; Val : Boolean) is
6136 pragma Assert (not Locked);
6137 pragma Assert (N <= Nodes.Last);
6138 Nodes.Table (N).Flag9 := Val;
6141 procedure Set_Flag10 (N : Node_Id; Val : Boolean) is
6143 pragma Assert (not Locked);
6144 pragma Assert (N <= Nodes.Last);
6145 Nodes.Table (N).Flag10 := Val;
6148 procedure Set_Flag11 (N : Node_Id; Val : Boolean) is
6150 pragma Assert (not Locked);
6151 pragma Assert (N <= Nodes.Last);
6152 Nodes.Table (N).Flag11 := Val;
6155 procedure Set_Flag12 (N : Node_Id; Val : Boolean) is
6157 pragma Assert (not Locked);
6158 pragma Assert (N <= Nodes.Last);
6159 Nodes.Table (N).Flag12 := Val;
6162 procedure Set_Flag13 (N : Node_Id; Val : Boolean) is
6164 pragma Assert (not Locked);
6165 pragma Assert (N <= Nodes.Last);
6166 Nodes.Table (N).Flag13 := Val;
6169 procedure Set_Flag14 (N : Node_Id; Val : Boolean) is
6171 pragma Assert (not Locked);
6172 pragma Assert (N <= Nodes.Last);
6173 Nodes.Table (N).Flag14 := Val;
6176 procedure Set_Flag15 (N : Node_Id; Val : Boolean) is
6178 pragma Assert (not Locked);
6179 pragma Assert (N <= Nodes.Last);
6180 Nodes.Table (N).Flag15 := Val;
6183 procedure Set_Flag16 (N : Node_Id; Val : Boolean) is
6185 pragma Assert (not Locked);
6186 pragma Assert (N <= Nodes.Last);
6187 Nodes.Table (N).Flag16 := Val;
6190 procedure Set_Flag17 (N : Node_Id; Val : Boolean) is
6192 pragma Assert (not Locked);
6193 pragma Assert (N <= Nodes.Last);
6194 Nodes.Table (N).Flag17 := Val;
6197 procedure Set_Flag18 (N : Node_Id; Val : Boolean) is
6199 pragma Assert (not Locked);
6200 pragma Assert (N <= Nodes.Last);
6201 Nodes.Table (N).Flag18 := Val;
6204 procedure Set_Flag19 (N : Node_Id; Val : Boolean) is
6206 pragma Assert (not Locked);
6207 pragma Assert (Nkind (N) in N_Entity);
6208 Nodes.Table (N + 1).In_List := Val;
6211 procedure Set_Flag20 (N : Node_Id; Val : Boolean) is
6213 pragma Assert (not Locked);
6214 pragma Assert (Nkind (N) in N_Entity);
6215 Nodes.Table (N + 1).Has_Aspects := Val;
6218 procedure Set_Flag21 (N : Node_Id; Val : Boolean) is
6220 pragma Assert (not Locked);
6221 pragma Assert (Nkind (N) in N_Entity);
6222 Nodes.Table (N + 1).Rewrite_Ins := Val;
6225 procedure Set_Flag22 (N : Node_Id; Val : Boolean) is
6227 pragma Assert (not Locked);
6228 pragma Assert (Nkind (N) in N_Entity);
6229 Nodes.Table (N + 1).Analyzed := Val;
6232 procedure Set_Flag23 (N : Node_Id; Val : Boolean) is
6234 pragma Assert (not Locked);
6235 pragma Assert (Nkind (N) in N_Entity);
6236 Nodes.Table (N + 1).Comes_From_Source := Val;
6239 procedure Set_Flag24 (N : Node_Id; Val : Boolean) is
6241 pragma Assert (not Locked);
6242 pragma Assert (Nkind (N) in N_Entity);
6243 Nodes.Table (N + 1).Error_Posted := Val;
6246 procedure Set_Flag25 (N : Node_Id; Val : Boolean) is
6248 pragma Assert (not Locked);
6249 pragma Assert (Nkind (N) in N_Entity);
6250 Nodes.Table (N + 1).Flag4 := Val;
6253 procedure Set_Flag26 (N : Node_Id; Val : Boolean) is
6255 pragma Assert (not Locked);
6256 pragma Assert (Nkind (N) in N_Entity);
6257 Nodes.Table (N + 1).Flag5 := Val;
6260 procedure Set_Flag27 (N : Node_Id; Val : Boolean) is
6262 pragma Assert (not Locked);
6263 pragma Assert (Nkind (N) in N_Entity);
6264 Nodes.Table (N + 1).Flag6 := Val;
6267 procedure Set_Flag28 (N : Node_Id; Val : Boolean) is
6269 pragma Assert (not Locked);
6270 pragma Assert (Nkind (N) in N_Entity);
6271 Nodes.Table (N + 1).Flag7 := Val;
6274 procedure Set_Flag29 (N : Node_Id; Val : Boolean) is
6276 pragma Assert (not Locked);
6277 pragma Assert (Nkind (N) in N_Entity);
6278 Nodes.Table (N + 1).Flag8 := Val;
6281 procedure Set_Flag30 (N : Node_Id; Val : Boolean) is
6283 pragma Assert (not Locked);
6284 pragma Assert (Nkind (N) in N_Entity);
6285 Nodes.Table (N + 1).Flag9 := Val;
6288 procedure Set_Flag31 (N : Node_Id; Val : Boolean) is
6290 pragma Assert (not Locked);
6291 pragma Assert (Nkind (N) in N_Entity);
6292 Nodes.Table (N + 1).Flag10 := Val;
6295 procedure Set_Flag32 (N : Node_Id; Val : Boolean) is
6297 pragma Assert (not Locked);
6298 pragma Assert (Nkind (N) in N_Entity);
6299 Nodes.Table (N + 1).Flag11 := Val;
6302 procedure Set_Flag33 (N : Node_Id; Val : Boolean) is
6304 pragma Assert (not Locked);
6305 pragma Assert (Nkind (N) in N_Entity);
6306 Nodes.Table (N + 1).Flag12 := Val;
6309 procedure Set_Flag34 (N : Node_Id; Val : Boolean) is
6311 pragma Assert (not Locked);
6312 pragma Assert (Nkind (N) in N_Entity);
6313 Nodes.Table (N + 1).Flag13 := Val;
6316 procedure Set_Flag35 (N : Node_Id; Val : Boolean) is
6318 pragma Assert (not Locked);
6319 pragma Assert (Nkind (N) in N_Entity);
6320 Nodes.Table (N + 1).Flag14 := Val;
6323 procedure Set_Flag36 (N : Node_Id; Val : Boolean) is
6325 pragma Assert (not Locked);
6326 pragma Assert (Nkind (N) in N_Entity);
6327 Nodes.Table (N + 1).Flag15 := Val;
6330 procedure Set_Flag37 (N : Node_Id; Val : Boolean) is
6332 pragma Assert (not Locked);
6333 pragma Assert (Nkind (N) in N_Entity);
6334 Nodes.Table (N + 1).Flag16 := Val;
6337 procedure Set_Flag38 (N : Node_Id; Val : Boolean) is
6339 pragma Assert (not Locked);
6340 pragma Assert (Nkind (N) in N_Entity);
6341 Nodes.Table (N + 1).Flag17 := Val;
6344 procedure Set_Flag39 (N : Node_Id; Val : Boolean) is
6346 pragma Assert (not Locked);
6347 pragma Assert (Nkind (N) in N_Entity);
6348 Nodes.Table (N + 1).Flag18 := Val;
6351 procedure Set_Flag40 (N : Node_Id; Val : Boolean) is
6353 pragma Assert (not Locked);
6354 pragma Assert (Nkind (N) in N_Entity);
6355 Nodes.Table (N + 2).In_List := Val;
6358 procedure Set_Flag41 (N : Node_Id; Val : Boolean) is
6360 pragma Assert (not Locked);
6361 pragma Assert (Nkind (N) in N_Entity);
6362 Nodes.Table (N + 2).Has_Aspects := Val;
6365 procedure Set_Flag42 (N : Node_Id; Val : Boolean) is
6367 pragma Assert (not Locked);
6368 pragma Assert (Nkind (N) in N_Entity);
6369 Nodes.Table (N + 2).Rewrite_Ins := Val;
6372 procedure Set_Flag43 (N : Node_Id; Val : Boolean) is
6374 pragma Assert (not Locked);
6375 pragma Assert (Nkind (N) in N_Entity);
6376 Nodes.Table (N + 2).Analyzed := Val;
6379 procedure Set_Flag44 (N : Node_Id; Val : Boolean) is
6381 pragma Assert (not Locked);
6382 pragma Assert (Nkind (N) in N_Entity);
6383 Nodes.Table (N + 2).Comes_From_Source := Val;
6386 procedure Set_Flag45 (N : Node_Id; Val : Boolean) is
6388 pragma Assert (not Locked);
6389 pragma Assert (Nkind (N) in N_Entity);
6390 Nodes.Table (N + 2).Error_Posted := Val;
6393 procedure Set_Flag46 (N : Node_Id; Val : Boolean) is
6395 pragma Assert (not Locked);
6396 pragma Assert (Nkind (N) in N_Entity);
6397 Nodes.Table (N + 2).Flag4 := Val;
6400 procedure Set_Flag47 (N : Node_Id; Val : Boolean) is
6402 pragma Assert (not Locked);
6403 pragma Assert (Nkind (N) in N_Entity);
6404 Nodes.Table (N + 2).Flag5 := Val;
6407 procedure Set_Flag48 (N : Node_Id; Val : Boolean) is
6409 pragma Assert (not Locked);
6410 pragma Assert (Nkind (N) in N_Entity);
6411 Nodes.Table (N + 2).Flag6 := Val;
6414 procedure Set_Flag49 (N : Node_Id; Val : Boolean) is
6416 pragma Assert (not Locked);
6417 pragma Assert (Nkind (N) in N_Entity);
6418 Nodes.Table (N + 2).Flag7 := Val;
6421 procedure Set_Flag50 (N : Node_Id; Val : Boolean) is
6423 pragma Assert (not Locked);
6424 pragma Assert (Nkind (N) in N_Entity);
6425 Nodes.Table (N + 2).Flag8 := Val;
6428 procedure Set_Flag51 (N : Node_Id; Val : Boolean) is
6430 pragma Assert (not Locked);
6431 pragma Assert (Nkind (N) in N_Entity);
6432 Nodes.Table (N + 2).Flag9 := Val;
6435 procedure Set_Flag52 (N : Node_Id; Val : Boolean) is
6437 pragma Assert (not Locked);
6438 pragma Assert (Nkind (N) in N_Entity);
6439 Nodes.Table (N + 2).Flag10 := Val;
6442 procedure Set_Flag53 (N : Node_Id; Val : Boolean) is
6444 pragma Assert (not Locked);
6445 pragma Assert (Nkind (N) in N_Entity);
6446 Nodes.Table (N + 2).Flag11 := Val;
6449 procedure Set_Flag54 (N : Node_Id; Val : Boolean) is
6451 pragma Assert (not Locked);
6452 pragma Assert (Nkind (N) in N_Entity);
6453 Nodes.Table (N + 2).Flag12 := Val;
6456 procedure Set_Flag55 (N : Node_Id; Val : Boolean) is
6458 pragma Assert (not Locked);
6459 pragma Assert (Nkind (N) in N_Entity);
6460 Nodes.Table (N + 2).Flag13 := Val;
6463 procedure Set_Flag56 (N : Node_Id; Val : Boolean) is
6465 pragma Assert (not Locked);
6466 pragma Assert (Nkind (N) in N_Entity);
6467 Nodes.Table (N + 2).Flag14 := Val;
6470 procedure Set_Flag57 (N : Node_Id; Val : Boolean) is
6472 pragma Assert (not Locked);
6473 pragma Assert (Nkind (N) in N_Entity);
6474 Nodes.Table (N + 2).Flag15 := Val;
6477 procedure Set_Flag58 (N : Node_Id; Val : Boolean) is
6479 pragma Assert (not Locked);
6480 pragma Assert (Nkind (N) in N_Entity);
6481 Nodes.Table (N + 2).Flag16 := Val;
6484 procedure Set_Flag59 (N : Node_Id; Val : Boolean) is
6486 pragma Assert (not Locked);
6487 pragma Assert (Nkind (N) in N_Entity);
6488 Nodes.Table (N + 2).Flag17 := Val;
6491 procedure Set_Flag60 (N : Node_Id; Val : Boolean) is
6493 pragma Assert (not Locked);
6494 pragma Assert (Nkind (N) in N_Entity);
6495 Nodes.Table (N + 2).Flag18 := Val;
6498 procedure Set_Flag61 (N : Node_Id; Val : Boolean) is
6500 pragma Assert (not Locked);
6501 pragma Assert (Nkind (N) in N_Entity);
6502 Nodes.Table (N + 1).Pflag1 := Val;
6505 procedure Set_Flag62 (N : Node_Id; Val : Boolean) is
6507 pragma Assert (not Locked);
6508 pragma Assert (Nkind (N) in N_Entity);
6509 Nodes.Table (N + 1).Pflag2 := Val;
6512 procedure Set_Flag63 (N : Node_Id; Val : Boolean) is
6514 pragma Assert (not Locked);
6515 pragma Assert (Nkind (N) in N_Entity);
6516 Nodes.Table (N + 2).Pflag1 := Val;
6519 procedure Set_Flag64 (N : Node_Id; Val : Boolean) is
6521 pragma Assert (not Locked);
6522 pragma Assert (Nkind (N) in N_Entity);
6523 Nodes.Table (N + 2).Pflag2 := Val;
6526 procedure Set_Flag65 (N : Node_Id; Val : Boolean) is
6528 pragma Assert (not Locked);
6529 pragma Assert (Nkind (N) in N_Entity);
6532 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag65 := Val;
6535 procedure Set_Flag66 (N : Node_Id; Val : Boolean) is
6537 pragma Assert (not Locked);
6538 pragma Assert (Nkind (N) in N_Entity);
6541 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag66 := Val;
6544 procedure Set_Flag67 (N : Node_Id; Val : Boolean) is
6546 pragma Assert (not Locked);
6547 pragma Assert (Nkind (N) in N_Entity);
6550 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag67 := Val;
6553 procedure Set_Flag68 (N : Node_Id; Val : Boolean) is
6555 pragma Assert (not Locked);
6556 pragma Assert (Nkind (N) in N_Entity);
6559 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag68 := Val;
6562 procedure Set_Flag69 (N : Node_Id; Val : Boolean) is
6564 pragma Assert (not Locked);
6565 pragma Assert (Nkind (N) in N_Entity);
6568 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag69 := Val;
6571 procedure Set_Flag70 (N : Node_Id; Val : Boolean) is
6573 pragma Assert (not Locked);
6574 pragma Assert (Nkind (N) in N_Entity);
6577 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag70 := Val;
6580 procedure Set_Flag71 (N : Node_Id; Val : Boolean) is
6582 pragma Assert (not Locked);
6583 pragma Assert (Nkind (N) in N_Entity);
6586 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag71 := Val;
6589 procedure Set_Flag72 (N : Node_Id; Val : Boolean) is
6591 pragma Assert (not Locked);
6592 pragma Assert (Nkind (N) in N_Entity);
6595 (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag72 := Val;
6598 procedure Set_Flag73 (N : Node_Id; Val : Boolean) is
6600 pragma Assert (not Locked);
6601 pragma Assert (Nkind (N) in N_Entity);
6604 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag73 := Val;
6607 procedure Set_Flag74 (N : Node_Id; Val : Boolean) is
6609 pragma Assert (not Locked);
6610 pragma Assert (Nkind (N) in N_Entity);
6613 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag74 := Val;
6616 procedure Set_Flag75 (N : Node_Id; Val : Boolean) is
6618 pragma Assert (not Locked);
6619 pragma Assert (Nkind (N) in N_Entity);
6622 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag75 := Val;
6625 procedure Set_Flag76 (N : Node_Id; Val : Boolean) is
6627 pragma Assert (not Locked);
6628 pragma Assert (Nkind (N) in N_Entity);
6631 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag76 := Val;
6634 procedure Set_Flag77 (N : Node_Id; Val : Boolean) is
6636 pragma Assert (not Locked);
6637 pragma Assert (Nkind (N) in N_Entity);
6640 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag77 := Val;
6643 procedure Set_Flag78 (N : Node_Id; Val : Boolean) is
6645 pragma Assert (not Locked);
6646 pragma Assert (Nkind (N) in N_Entity);
6649 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag78 := Val;
6652 procedure Set_Flag79 (N : Node_Id; Val : Boolean) is
6654 pragma Assert (not Locked);
6655 pragma Assert (Nkind (N) in N_Entity);
6658 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag79 := Val;
6661 procedure Set_Flag80 (N : Node_Id; Val : Boolean) is
6663 pragma Assert (not Locked);
6664 pragma Assert (Nkind (N) in N_Entity);
6667 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag80 := Val;
6670 procedure Set_Flag81 (N : Node_Id; Val : Boolean) is
6672 pragma Assert (not Locked);
6673 pragma Assert (Nkind (N) in N_Entity);
6676 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag81 := Val;
6679 procedure Set_Flag82 (N : Node_Id; Val : Boolean) is
6681 pragma Assert (not Locked);
6682 pragma Assert (Nkind (N) in N_Entity);
6685 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag82 := Val;
6688 procedure Set_Flag83 (N : Node_Id; Val : Boolean) is
6690 pragma Assert (not Locked);
6691 pragma Assert (Nkind (N) in N_Entity);
6694 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag83 := Val;
6697 procedure Set_Flag84 (N : Node_Id; Val : Boolean) is
6699 pragma Assert (not Locked);
6700 pragma Assert (Nkind (N) in N_Entity);
6703 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag84 := Val;
6706 procedure Set_Flag85 (N : Node_Id; Val : Boolean) is
6708 pragma Assert (not Locked);
6709 pragma Assert (Nkind (N) in N_Entity);
6712 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag85 := Val;
6715 procedure Set_Flag86 (N : Node_Id; Val : Boolean) is
6717 pragma Assert (not Locked);
6718 pragma Assert (Nkind (N) in N_Entity);
6721 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag86 := Val;
6724 procedure Set_Flag87 (N : Node_Id; Val : Boolean) is
6726 pragma Assert (not Locked);
6727 pragma Assert (Nkind (N) in N_Entity);
6730 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag87 := Val;
6733 procedure Set_Flag88 (N : Node_Id; Val : Boolean) is
6735 pragma Assert (not Locked);
6736 pragma Assert (Nkind (N) in N_Entity);
6739 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag88 := Val;
6742 procedure Set_Flag89 (N : Node_Id; Val : Boolean) is
6744 pragma Assert (not Locked);
6745 pragma Assert (Nkind (N) in N_Entity);
6748 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag89 := Val;
6751 procedure Set_Flag90 (N : Node_Id; Val : Boolean) is
6753 pragma Assert (not Locked);
6754 pragma Assert (Nkind (N) in N_Entity);
6757 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag90 := Val;
6760 procedure Set_Flag91 (N : Node_Id; Val : Boolean) is
6762 pragma Assert (not Locked);
6763 pragma Assert (Nkind (N) in N_Entity);
6766 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag91 := Val;
6769 procedure Set_Flag92 (N : Node_Id; Val : Boolean) is
6771 pragma Assert (not Locked);
6772 pragma Assert (Nkind (N) in N_Entity);
6775 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag92 := Val;
6778 procedure Set_Flag93 (N : Node_Id; Val : Boolean) is
6780 pragma Assert (not Locked);
6781 pragma Assert (Nkind (N) in N_Entity);
6784 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag93 := Val;
6787 procedure Set_Flag94 (N : Node_Id; Val : Boolean) is
6789 pragma Assert (not Locked);
6790 pragma Assert (Nkind (N) in N_Entity);
6793 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag94 := Val;
6796 procedure Set_Flag95 (N : Node_Id; Val : Boolean) is
6798 pragma Assert (not Locked);
6799 pragma Assert (Nkind (N) in N_Entity);
6802 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag95 := Val;
6805 procedure Set_Flag96 (N : Node_Id; Val : Boolean) is
6807 pragma Assert (not Locked);
6808 pragma Assert (Nkind (N) in N_Entity);
6811 (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag96 := Val;
6814 procedure Set_Flag97 (N : Node_Id; Val : Boolean) is
6816 pragma Assert (not Locked);
6817 pragma Assert (Nkind (N) in N_Entity);
6820 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag97 := Val;
6823 procedure Set_Flag98 (N : Node_Id; Val : Boolean) is
6825 pragma Assert (not Locked);
6826 pragma Assert (Nkind (N) in N_Entity);
6829 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag98 := Val;
6832 procedure Set_Flag99 (N : Node_Id; Val : Boolean) is
6834 pragma Assert (not Locked);
6835 pragma Assert (Nkind (N) in N_Entity);
6838 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag99 := Val;
6841 procedure Set_Flag100 (N : Node_Id; Val : Boolean) is
6843 pragma Assert (not Locked);
6844 pragma Assert (Nkind (N) in N_Entity);
6847 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag100 := Val;
6850 procedure Set_Flag101 (N : Node_Id; Val : Boolean) is
6852 pragma Assert (not Locked);
6853 pragma Assert (Nkind (N) in N_Entity);
6856 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag101 := Val;
6859 procedure Set_Flag102 (N : Node_Id; Val : Boolean) is
6861 pragma Assert (not Locked);
6862 pragma Assert (Nkind (N) in N_Entity);
6865 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag102 := Val;
6868 procedure Set_Flag103 (N : Node_Id; Val : Boolean) is
6870 pragma Assert (not Locked);
6871 pragma Assert (Nkind (N) in N_Entity);
6874 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag103 := Val;
6877 procedure Set_Flag104 (N : Node_Id; Val : Boolean) is
6879 pragma Assert (not Locked);
6880 pragma Assert (Nkind (N) in N_Entity);
6883 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag104 := Val;
6886 procedure Set_Flag105 (N : Node_Id; Val : Boolean) is
6888 pragma Assert (not Locked);
6889 pragma Assert (Nkind (N) in N_Entity);
6892 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag105 := Val;
6895 procedure Set_Flag106 (N : Node_Id; Val : Boolean) is
6897 pragma Assert (not Locked);
6898 pragma Assert (Nkind (N) in N_Entity);
6901 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag106 := Val;
6904 procedure Set_Flag107 (N : Node_Id; Val : Boolean) is
6906 pragma Assert (not Locked);
6907 pragma Assert (Nkind (N) in N_Entity);
6910 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag107 := Val;
6913 procedure Set_Flag108 (N : Node_Id; Val : Boolean) is
6915 pragma Assert (not Locked);
6916 pragma Assert (Nkind (N) in N_Entity);
6919 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag108 := Val;
6922 procedure Set_Flag109 (N : Node_Id; Val : Boolean) is
6924 pragma Assert (not Locked);
6925 pragma Assert (Nkind (N) in N_Entity);
6928 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag109 := Val;
6931 procedure Set_Flag110 (N : Node_Id; Val : Boolean) is
6933 pragma Assert (not Locked);
6934 pragma Assert (Nkind (N) in N_Entity);
6937 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag110 := Val;
6940 procedure Set_Flag111 (N : Node_Id; Val : Boolean) is
6942 pragma Assert (not Locked);
6943 pragma Assert (Nkind (N) in N_Entity);
6946 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag111 := Val;
6949 procedure Set_Flag112 (N : Node_Id; Val : Boolean) is
6951 pragma Assert (not Locked);
6952 pragma Assert (Nkind (N) in N_Entity);
6955 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag112 := Val;
6958 procedure Set_Flag113 (N : Node_Id; Val : Boolean) is
6960 pragma Assert (not Locked);
6961 pragma Assert (Nkind (N) in N_Entity);
6964 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag113 := Val;
6967 procedure Set_Flag114 (N : Node_Id; Val : Boolean) is
6969 pragma Assert (not Locked);
6970 pragma Assert (Nkind (N) in N_Entity);
6973 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag114 := Val;
6976 procedure Set_Flag115 (N : Node_Id; Val : Boolean) is
6978 pragma Assert (not Locked);
6979 pragma Assert (Nkind (N) in N_Entity);
6982 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag115 := Val;
6985 procedure Set_Flag116 (N : Node_Id; Val : Boolean) is
6987 pragma Assert (not Locked);
6988 pragma Assert (Nkind (N) in N_Entity);
6991 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag116 := Val;
6994 procedure Set_Flag117 (N : Node_Id; Val : Boolean) is
6996 pragma Assert (not Locked);
6997 pragma Assert (Nkind (N) in N_Entity);
7000 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag117 := Val;
7003 procedure Set_Flag118 (N : Node_Id; Val : Boolean) is
7005 pragma Assert (not Locked);
7006 pragma Assert (Nkind (N) in N_Entity);
7009 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag118 := Val;
7012 procedure Set_Flag119 (N : Node_Id; Val : Boolean) is
7014 pragma Assert (not Locked);
7015 pragma Assert (Nkind (N) in N_Entity);
7018 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag119 := Val;
7021 procedure Set_Flag120 (N : Node_Id; Val : Boolean) is
7023 pragma Assert (not Locked);
7024 pragma Assert (Nkind (N) in N_Entity);
7027 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag120 := Val;
7030 procedure Set_Flag121 (N : Node_Id; Val : Boolean) is
7032 pragma Assert (not Locked);
7033 pragma Assert (Nkind (N) in N_Entity);
7036 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag121 := Val;
7039 procedure Set_Flag122 (N : Node_Id; Val : Boolean) is
7041 pragma Assert (not Locked);
7042 pragma Assert (Nkind (N) in N_Entity);
7045 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag122 := Val;
7048 procedure Set_Flag123 (N : Node_Id; Val : Boolean) is
7050 pragma Assert (not Locked);
7051 pragma Assert (Nkind (N) in N_Entity);
7054 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag123 := Val;
7057 procedure Set_Flag124 (N : Node_Id; Val : Boolean) is
7059 pragma Assert (not Locked);
7060 pragma Assert (Nkind (N) in N_Entity);
7063 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag124 := Val;
7066 procedure Set_Flag125 (N : Node_Id; Val : Boolean) is
7068 pragma Assert (not Locked);
7069 pragma Assert (Nkind (N) in N_Entity);
7072 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag125 := Val;
7075 procedure Set_Flag126 (N : Node_Id; Val : Boolean) is
7077 pragma Assert (not Locked);
7078 pragma Assert (Nkind (N) in N_Entity);
7081 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag126 := Val;
7084 procedure Set_Flag127 (N : Node_Id; Val : Boolean) is
7086 pragma Assert (not Locked);
7087 pragma Assert (Nkind (N) in N_Entity);
7090 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag127 := Val;
7093 procedure Set_Flag128 (N : Node_Id; Val : Boolean) is
7095 pragma Assert (not Locked);
7096 pragma Assert (Nkind (N) in N_Entity);
7099 (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag128 := Val;
7102 procedure Set_Flag129 (N : Node_Id; Val : Boolean) is
7104 pragma Assert (not Locked);
7105 pragma Assert (Nkind (N) in N_Entity);
7106 Nodes.Table (N + 3).In_List := Val;
7109 procedure Set_Flag130 (N : Node_Id; Val : Boolean) is
7111 pragma Assert (not Locked);
7112 pragma Assert (Nkind (N) in N_Entity);
7113 Nodes.Table (N + 3).Has_Aspects := Val;
7116 procedure Set_Flag131 (N : Node_Id; Val : Boolean) is
7118 pragma Assert (not Locked);
7119 pragma Assert (Nkind (N) in N_Entity);
7120 Nodes.Table (N + 3).Rewrite_Ins := Val;
7123 procedure Set_Flag132 (N : Node_Id; Val : Boolean) is
7125 pragma Assert (not Locked);
7126 pragma Assert (Nkind (N) in N_Entity);
7127 Nodes.Table (N + 3).Analyzed := Val;
7130 procedure Set_Flag133 (N : Node_Id; Val : Boolean) is
7132 pragma Assert (not Locked);
7133 pragma Assert (Nkind (N) in N_Entity);
7134 Nodes.Table (N + 3).Comes_From_Source := Val;
7137 procedure Set_Flag134 (N : Node_Id; Val : Boolean) is
7139 pragma Assert (not Locked);
7140 pragma Assert (Nkind (N) in N_Entity);
7141 Nodes.Table (N + 3).Error_Posted := Val;
7144 procedure Set_Flag135 (N : Node_Id; Val : Boolean) is
7146 pragma Assert (not Locked);
7147 pragma Assert (Nkind (N) in N_Entity);
7148 Nodes.Table (N + 3).Flag4 := Val;
7151 procedure Set_Flag136 (N : Node_Id; Val : Boolean) is
7153 pragma Assert (not Locked);
7154 pragma Assert (Nkind (N) in N_Entity);
7155 Nodes.Table (N + 3).Flag5 := Val;
7158 procedure Set_Flag137 (N : Node_Id; Val : Boolean) is
7160 pragma Assert (not Locked);
7161 pragma Assert (Nkind (N) in N_Entity);
7162 Nodes.Table (N + 3).Flag6 := Val;
7165 procedure Set_Flag138 (N : Node_Id; Val : Boolean) is
7167 pragma Assert (not Locked);
7168 pragma Assert (Nkind (N) in N_Entity);
7169 Nodes.Table (N + 3).Flag7 := Val;
7172 procedure Set_Flag139 (N : Node_Id; Val : Boolean) is
7174 pragma Assert (not Locked);
7175 pragma Assert (Nkind (N) in N_Entity);
7176 Nodes.Table (N + 3).Flag8 := Val;
7179 procedure Set_Flag140 (N : Node_Id; Val : Boolean) is
7181 pragma Assert (not Locked);
7182 pragma Assert (Nkind (N) in N_Entity);
7183 Nodes.Table (N + 3).Flag9 := Val;
7186 procedure Set_Flag141 (N : Node_Id; Val : Boolean) is
7188 pragma Assert (not Locked);
7189 pragma Assert (Nkind (N) in N_Entity);
7190 Nodes.Table (N + 3).Flag10 := Val;
7193 procedure Set_Flag142 (N : Node_Id; Val : Boolean) is
7195 pragma Assert (not Locked);
7196 pragma Assert (Nkind (N) in N_Entity);
7197 Nodes.Table (N + 3).Flag11 := Val;
7200 procedure Set_Flag143 (N : Node_Id; Val : Boolean) is
7202 pragma Assert (not Locked);
7203 pragma Assert (Nkind (N) in N_Entity);
7204 Nodes.Table (N + 3).Flag12 := Val;
7207 procedure Set_Flag144 (N : Node_Id; Val : Boolean) is
7209 pragma Assert (not Locked);
7210 pragma Assert (Nkind (N) in N_Entity);
7211 Nodes.Table (N + 3).Flag13 := Val;
7214 procedure Set_Flag145 (N : Node_Id; Val : Boolean) is
7216 pragma Assert (not Locked);
7217 pragma Assert (Nkind (N) in N_Entity);
7218 Nodes.Table (N + 3).Flag14 := Val;
7221 procedure Set_Flag146 (N : Node_Id; Val : Boolean) is
7223 pragma Assert (not Locked);
7224 pragma Assert (Nkind (N) in N_Entity);
7225 Nodes.Table (N + 3).Flag15 := Val;
7228 procedure Set_Flag147 (N : Node_Id; Val : Boolean) is
7230 pragma Assert (not Locked);
7231 pragma Assert (Nkind (N) in N_Entity);
7232 Nodes.Table (N + 3).Flag16 := Val;
7235 procedure Set_Flag148 (N : Node_Id; Val : Boolean) is
7237 pragma Assert (not Locked);
7238 pragma Assert (Nkind (N) in N_Entity);
7239 Nodes.Table (N + 3).Flag17 := Val;
7242 procedure Set_Flag149 (N : Node_Id; Val : Boolean) is
7244 pragma Assert (not Locked);
7245 pragma Assert (Nkind (N) in N_Entity);
7246 Nodes.Table (N + 3).Flag18 := Val;
7249 procedure Set_Flag150 (N : Node_Id; Val : Boolean) is
7251 pragma Assert (not Locked);
7252 pragma Assert (Nkind (N) in N_Entity);
7253 Nodes.Table (N + 3).Pflag1 := Val;
7256 procedure Set_Flag151 (N : Node_Id; Val : Boolean) is
7258 pragma Assert (not Locked);
7259 pragma Assert (Nkind (N) in N_Entity);
7260 Nodes.Table (N + 3).Pflag2 := Val;
7263 procedure Set_Flag152 (N : Node_Id; Val : Boolean) is
7265 pragma Assert (not Locked);
7266 pragma Assert (Nkind (N) in N_Entity);
7269 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag152 := Val;
7272 procedure Set_Flag153 (N : Node_Id; Val : Boolean) is
7274 pragma Assert (not Locked);
7275 pragma Assert (Nkind (N) in N_Entity);
7278 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag153 := Val;
7281 procedure Set_Flag154 (N : Node_Id; Val : Boolean) is
7283 pragma Assert (not Locked);
7284 pragma Assert (Nkind (N) in N_Entity);
7287 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag154 := Val;
7290 procedure Set_Flag155 (N : Node_Id; Val : Boolean) is
7292 pragma Assert (not Locked);
7293 pragma Assert (Nkind (N) in N_Entity);
7296 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag155 := Val;
7299 procedure Set_Flag156 (N : Node_Id; Val : Boolean) is
7301 pragma Assert (not Locked);
7302 pragma Assert (Nkind (N) in N_Entity);
7305 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag156 := Val;
7308 procedure Set_Flag157 (N : Node_Id; Val : Boolean) is
7310 pragma Assert (not Locked);
7311 pragma Assert (Nkind (N) in N_Entity);
7314 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag157 := Val;
7317 procedure Set_Flag158 (N : Node_Id; Val : Boolean) is
7319 pragma Assert (not Locked);
7320 pragma Assert (Nkind (N) in N_Entity);
7323 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag158 := Val;
7326 procedure Set_Flag159 (N : Node_Id; Val : Boolean) is
7328 pragma Assert (not Locked);
7329 pragma Assert (Nkind (N) in N_Entity);
7332 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag159 := Val;
7335 procedure Set_Flag160 (N : Node_Id; Val : Boolean) is
7337 pragma Assert (not Locked);
7338 pragma Assert (Nkind (N) in N_Entity);
7341 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag160 := Val;
7344 procedure Set_Flag161 (N : Node_Id; Val : Boolean) is
7346 pragma Assert (not Locked);
7347 pragma Assert (Nkind (N) in N_Entity);
7350 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag161 := Val;
7353 procedure Set_Flag162 (N : Node_Id; Val : Boolean) is
7355 pragma Assert (not Locked);
7356 pragma Assert (Nkind (N) in N_Entity);
7359 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag162 := Val;
7362 procedure Set_Flag163 (N : Node_Id; Val : Boolean) is
7364 pragma Assert (not Locked);
7365 pragma Assert (Nkind (N) in N_Entity);
7368 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag163 := Val;
7371 procedure Set_Flag164 (N : Node_Id; Val : Boolean) is
7373 pragma Assert (not Locked);
7374 pragma Assert (Nkind (N) in N_Entity);
7377 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag164 := Val;
7380 procedure Set_Flag165 (N : Node_Id; Val : Boolean) is
7382 pragma Assert (not Locked);
7383 pragma Assert (Nkind (N) in N_Entity);
7386 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag165 := Val;
7389 procedure Set_Flag166 (N : Node_Id; Val : Boolean) is
7391 pragma Assert (not Locked);
7392 pragma Assert (Nkind (N) in N_Entity);
7395 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag166 := Val;
7398 procedure Set_Flag167 (N : Node_Id; Val : Boolean) is
7400 pragma Assert (not Locked);
7401 pragma Assert (Nkind (N) in N_Entity);
7404 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag167 := Val;
7407 procedure Set_Flag168 (N : Node_Id; Val : Boolean) is
7409 pragma Assert (not Locked);
7410 pragma Assert (Nkind (N) in N_Entity);
7413 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag168 := Val;
7416 procedure Set_Flag169 (N : Node_Id; Val : Boolean) is
7418 pragma Assert (not Locked);
7419 pragma Assert (Nkind (N) in N_Entity);
7422 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag169 := Val;
7425 procedure Set_Flag170 (N : Node_Id; Val : Boolean) is
7427 pragma Assert (not Locked);
7428 pragma Assert (Nkind (N) in N_Entity);
7431 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag170 := Val;
7434 procedure Set_Flag171 (N : Node_Id; Val : Boolean) is
7436 pragma Assert (not Locked);
7437 pragma Assert (Nkind (N) in N_Entity);
7440 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag171 := Val;
7443 procedure Set_Flag172 (N : Node_Id; Val : Boolean) is
7445 pragma Assert (not Locked);
7446 pragma Assert (Nkind (N) in N_Entity);
7449 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag172 := Val;
7452 procedure Set_Flag173 (N : Node_Id; Val : Boolean) is
7454 pragma Assert (not Locked);
7455 pragma Assert (Nkind (N) in N_Entity);
7458 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag173 := Val;
7461 procedure Set_Flag174 (N : Node_Id; Val : Boolean) is
7463 pragma Assert (not Locked);
7464 pragma Assert (Nkind (N) in N_Entity);
7467 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag174 := Val;
7470 procedure Set_Flag175 (N : Node_Id; Val : Boolean) is
7472 pragma Assert (not Locked);
7473 pragma Assert (Nkind (N) in N_Entity);
7476 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag175 := Val;
7479 procedure Set_Flag176 (N : Node_Id; Val : Boolean) is
7481 pragma Assert (not Locked);
7482 pragma Assert (Nkind (N) in N_Entity);
7485 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag176 := Val;
7488 procedure Set_Flag177 (N : Node_Id; Val : Boolean) is
7490 pragma Assert (not Locked);
7491 pragma Assert (Nkind (N) in N_Entity);
7494 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag177 := Val;
7497 procedure Set_Flag178 (N : Node_Id; Val : Boolean) is
7499 pragma Assert (not Locked);
7500 pragma Assert (Nkind (N) in N_Entity);
7503 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag178 := Val;
7506 procedure Set_Flag179 (N : Node_Id; Val : Boolean) is
7508 pragma Assert (not Locked);
7509 pragma Assert (Nkind (N) in N_Entity);
7512 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag179 := Val;
7515 procedure Set_Flag180 (N : Node_Id; Val : Boolean) is
7517 pragma Assert (not Locked);
7518 pragma Assert (Nkind (N) in N_Entity);
7521 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag180 := Val;
7524 procedure Set_Flag181 (N : Node_Id; Val : Boolean) is
7526 pragma Assert (not Locked);
7527 pragma Assert (Nkind (N) in N_Entity);
7530 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag181 := Val;
7533 procedure Set_Flag182 (N : Node_Id; Val : Boolean) is
7535 pragma Assert (not Locked);
7536 pragma Assert (Nkind (N) in N_Entity);
7539 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag182 := Val;
7542 procedure Set_Flag183 (N : Node_Id; Val : Boolean) is
7544 pragma Assert (not Locked);
7545 pragma Assert (Nkind (N) in N_Entity);
7548 (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag183 := Val;
7551 procedure Set_Flag184 (N : Node_Id; Val : Boolean) is
7553 pragma Assert (not Locked);
7554 pragma Assert (Nkind (N) in N_Entity);
7557 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag184 := Val;
7560 procedure Set_Flag185 (N : Node_Id; Val : Boolean) is
7562 pragma Assert (not Locked);
7563 pragma Assert (Nkind (N) in N_Entity);
7566 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag185 := Val;
7569 procedure Set_Flag186 (N : Node_Id; Val : Boolean) is
7571 pragma Assert (not Locked);
7572 pragma Assert (Nkind (N) in N_Entity);
7575 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag186 := Val;
7578 procedure Set_Flag187 (N : Node_Id; Val : Boolean) is
7580 pragma Assert (not Locked);
7581 pragma Assert (Nkind (N) in N_Entity);
7584 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag187 := Val;
7587 procedure Set_Flag188 (N : Node_Id; Val : Boolean) is
7589 pragma Assert (not Locked);
7590 pragma Assert (Nkind (N) in N_Entity);
7593 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag188 := Val;
7596 procedure Set_Flag189 (N : Node_Id; Val : Boolean) is
7598 pragma Assert (not Locked);
7599 pragma Assert (Nkind (N) in N_Entity);
7602 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag189 := Val;
7605 procedure Set_Flag190 (N : Node_Id; Val : Boolean) is
7607 pragma Assert (not Locked);
7608 pragma Assert (Nkind (N) in N_Entity);
7611 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag190 := Val;
7614 procedure Set_Flag191 (N : Node_Id; Val : Boolean) is
7616 pragma Assert (not Locked);
7617 pragma Assert (Nkind (N) in N_Entity);
7620 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag191 := Val;
7623 procedure Set_Flag192 (N : Node_Id; Val : Boolean) is
7625 pragma Assert (not Locked);
7626 pragma Assert (Nkind (N) in N_Entity);
7629 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag192 := Val;
7632 procedure Set_Flag193 (N : Node_Id; Val : Boolean) is
7634 pragma Assert (not Locked);
7635 pragma Assert (Nkind (N) in N_Entity);
7638 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag193 := Val;
7641 procedure Set_Flag194 (N : Node_Id; Val : Boolean) is
7643 pragma Assert (not Locked);
7644 pragma Assert (Nkind (N) in N_Entity);
7647 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag194 := Val;
7650 procedure Set_Flag195 (N : Node_Id; Val : Boolean) is
7652 pragma Assert (not Locked);
7653 pragma Assert (Nkind (N) in N_Entity);
7656 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag195 := Val;
7659 procedure Set_Flag196 (N : Node_Id; Val : Boolean) is
7661 pragma Assert (not Locked);
7662 pragma Assert (Nkind (N) in N_Entity);
7665 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag196 := Val;
7668 procedure Set_Flag197 (N : Node_Id; Val : Boolean) is
7670 pragma Assert (not Locked);
7671 pragma Assert (Nkind (N) in N_Entity);
7674 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag197 := Val;
7677 procedure Set_Flag198 (N : Node_Id; Val : Boolean) is
7679 pragma Assert (not Locked);
7680 pragma Assert (Nkind (N) in N_Entity);
7683 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag198 := Val;
7686 procedure Set_Flag199 (N : Node_Id; Val : Boolean) is
7688 pragma Assert (not Locked);
7689 pragma Assert (Nkind (N) in N_Entity);
7692 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag199 := Val;
7695 procedure Set_Flag200 (N : Node_Id; Val : Boolean) is
7697 pragma Assert (not Locked);
7698 pragma Assert (Nkind (N) in N_Entity);
7701 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag200 := Val;
7704 procedure Set_Flag201 (N : Node_Id; Val : Boolean) is
7706 pragma Assert (not Locked);
7707 pragma Assert (Nkind (N) in N_Entity);
7710 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag201 := Val;
7713 procedure Set_Flag202 (N : Node_Id; Val : Boolean) is
7715 pragma Assert (not Locked);
7716 pragma Assert (Nkind (N) in N_Entity);
7719 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag202 := Val;
7722 procedure Set_Flag203 (N : Node_Id; Val : Boolean) is
7724 pragma Assert (not Locked);
7725 pragma Assert (Nkind (N) in N_Entity);
7728 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag203 := Val;
7731 procedure Set_Flag204 (N : Node_Id; Val : Boolean) is
7733 pragma Assert (not Locked);
7734 pragma Assert (Nkind (N) in N_Entity);
7737 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag204 := Val;
7740 procedure Set_Flag205 (N : Node_Id; Val : Boolean) is
7742 pragma Assert (not Locked);
7743 pragma Assert (Nkind (N) in N_Entity);
7746 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag205 := Val;
7749 procedure Set_Flag206 (N : Node_Id; Val : Boolean) is
7751 pragma Assert (not Locked);
7752 pragma Assert (Nkind (N) in N_Entity);
7755 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag206 := Val;
7758 procedure Set_Flag207 (N : Node_Id; Val : Boolean) is
7760 pragma Assert (not Locked);
7761 pragma Assert (Nkind (N) in N_Entity);
7764 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag207 := Val;
7767 procedure Set_Flag208 (N : Node_Id; Val : Boolean) is
7769 pragma Assert (not Locked);
7770 pragma Assert (Nkind (N) in N_Entity);
7773 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag208 := Val;
7776 procedure Set_Flag209 (N : Node_Id; Val : Boolean) is
7778 pragma Assert (not Locked);
7779 pragma Assert (Nkind (N) in N_Entity);
7782 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag209 := Val;
7785 procedure Set_Flag210 (N : Node_Id; Val : Boolean) is
7787 pragma Assert (not Locked);
7788 pragma Assert (Nkind (N) in N_Entity);
7791 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag210 := Val;
7794 procedure Set_Flag211 (N : Node_Id; Val : Boolean) is
7796 pragma Assert (not Locked);
7797 pragma Assert (Nkind (N) in N_Entity);
7800 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag211 := Val;
7803 procedure Set_Flag212 (N : Node_Id; Val : Boolean) is
7805 pragma Assert (not Locked);
7806 pragma Assert (Nkind (N) in N_Entity);
7809 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag212 := Val;
7812 procedure Set_Flag213 (N : Node_Id; Val : Boolean) is
7814 pragma Assert (not Locked);
7815 pragma Assert (Nkind (N) in N_Entity);
7818 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag213 := Val;
7821 procedure Set_Flag214 (N : Node_Id; Val : Boolean) is
7823 pragma Assert (not Locked);
7824 pragma Assert (Nkind (N) in N_Entity);
7827 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag214 := Val;
7830 procedure Set_Flag215 (N : Node_Id; Val : Boolean) is
7832 pragma Assert (not Locked);
7833 pragma Assert (Nkind (N) in N_Entity);
7836 (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag215 := Val;
7839 procedure Set_Flag216 (N : Node_Id; Val : Boolean) is
7841 pragma Assert (not Locked);
7842 pragma Assert (Nkind (N) in N_Entity);
7843 Nodes.Table (N + 4).In_List := Val;
7846 procedure Set_Flag217 (N : Node_Id; Val : Boolean) is
7848 pragma Assert (not Locked);
7849 pragma Assert (Nkind (N) in N_Entity);
7850 Nodes.Table (N + 4).Has_Aspects := Val;
7853 procedure Set_Flag218 (N : Node_Id; Val : Boolean) is
7855 pragma Assert (not Locked);
7856 pragma Assert (Nkind (N) in N_Entity);
7857 Nodes.Table (N + 4).Rewrite_Ins := Val;
7860 procedure Set_Flag219 (N : Node_Id; Val : Boolean) is
7862 pragma Assert (not Locked);
7863 pragma Assert (Nkind (N) in N_Entity);
7864 Nodes.Table (N + 4).Analyzed := Val;
7867 procedure Set_Flag220 (N : Node_Id; Val : Boolean) is
7869 pragma Assert (not Locked);
7870 pragma Assert (Nkind (N) in N_Entity);
7871 Nodes.Table (N + 4).Comes_From_Source := Val;
7874 procedure Set_Flag221 (N : Node_Id; Val : Boolean) is
7876 pragma Assert (not Locked);
7877 pragma Assert (Nkind (N) in N_Entity);
7878 Nodes.Table (N + 4).Error_Posted := Val;
7881 procedure Set_Flag222 (N : Node_Id; Val : Boolean) is
7883 pragma Assert (not Locked);
7884 pragma Assert (Nkind (N) in N_Entity);
7885 Nodes.Table (N + 4).Flag4 := Val;
7888 procedure Set_Flag223 (N : Node_Id; Val : Boolean) is
7890 pragma Assert (not Locked);
7891 pragma Assert (Nkind (N) in N_Entity);
7892 Nodes.Table (N + 4).Flag5 := Val;
7895 procedure Set_Flag224 (N : Node_Id; Val : Boolean) is
7897 pragma Assert (not Locked);
7898 pragma Assert (Nkind (N) in N_Entity);
7899 Nodes.Table (N + 4).Flag6 := Val;
7902 procedure Set_Flag225 (N : Node_Id; Val : Boolean) is
7904 pragma Assert (not Locked);
7905 pragma Assert (Nkind (N) in N_Entity);
7906 Nodes.Table (N + 4).Flag7 := Val;
7909 procedure Set_Flag226 (N : Node_Id; Val : Boolean) is
7911 pragma Assert (not Locked);
7912 pragma Assert (Nkind (N) in N_Entity);
7913 Nodes.Table (N + 4).Flag8 := Val;
7916 procedure Set_Flag227 (N : Node_Id; Val : Boolean) is
7918 pragma Assert (not Locked);
7919 pragma Assert (Nkind (N) in N_Entity);
7920 Nodes.Table (N + 4).Flag9 := Val;
7923 procedure Set_Flag228 (N : Node_Id; Val : Boolean) is
7925 pragma Assert (not Locked);
7926 pragma Assert (Nkind (N) in N_Entity);
7927 Nodes.Table (N + 4).Flag10 := Val;
7930 procedure Set_Flag229 (N : Node_Id; Val : Boolean) is
7932 pragma Assert (not Locked);
7933 pragma Assert (Nkind (N) in N_Entity);
7934 Nodes.Table (N + 4).Flag11 := Val;
7937 procedure Set_Flag230 (N : Node_Id; Val : Boolean) is
7939 pragma Assert (not Locked);
7940 pragma Assert (Nkind (N) in N_Entity);
7941 Nodes.Table (N + 4).Flag12 := Val;
7944 procedure Set_Flag231 (N : Node_Id; Val : Boolean) is
7946 pragma Assert (not Locked);
7947 pragma Assert (Nkind (N) in N_Entity);
7948 Nodes.Table (N + 4).Flag13 := Val;
7951 procedure Set_Flag232 (N : Node_Id; Val : Boolean) is
7953 pragma Assert (not Locked);
7954 pragma Assert (Nkind (N) in N_Entity);
7955 Nodes.Table (N + 4).Flag14 := Val;
7958 procedure Set_Flag233 (N : Node_Id; Val : Boolean) is
7960 pragma Assert (not Locked);
7961 pragma Assert (Nkind (N) in N_Entity);
7962 Nodes.Table (N + 4).Flag15 := Val;
7965 procedure Set_Flag234 (N : Node_Id; Val : Boolean) is
7967 pragma Assert (not Locked);
7968 pragma Assert (Nkind (N) in N_Entity);
7969 Nodes.Table (N + 4).Flag16 := Val;
7972 procedure Set_Flag235 (N : Node_Id; Val : Boolean) is
7974 pragma Assert (not Locked);
7975 pragma Assert (Nkind (N) in N_Entity);
7976 Nodes.Table (N + 4).Flag17 := Val;
7979 procedure Set_Flag236 (N : Node_Id; Val : Boolean) is
7981 pragma Assert (not Locked);
7982 pragma Assert (Nkind (N) in N_Entity);
7983 Nodes.Table (N + 4).Flag18 := Val;
7986 procedure Set_Flag237 (N : Node_Id; Val : Boolean) is
7988 pragma Assert (not Locked);
7989 pragma Assert (Nkind (N) in N_Entity);
7990 Nodes.Table (N + 4).Pflag1 := Val;
7993 procedure Set_Flag238 (N : Node_Id; Val : Boolean) is
7995 pragma Assert (not Locked);
7996 pragma Assert (Nkind (N) in N_Entity);
7997 Nodes.Table (N + 4).Pflag2 := Val;
8000 procedure Set_Flag239 (N : Node_Id; Val : Boolean) is
8002 pragma Assert (not Locked);
8003 pragma Assert (Nkind (N) in N_Entity);
8006 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag239 := Val;
8009 procedure Set_Flag240 (N : Node_Id; Val : Boolean) is
8011 pragma Assert (not Locked);
8012 pragma Assert (Nkind (N) in N_Entity);
8015 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag240 := Val;
8018 procedure Set_Flag241 (N : Node_Id; Val : Boolean) is
8020 pragma Assert (not Locked);
8021 pragma Assert (Nkind (N) in N_Entity);
8024 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag241 := Val;
8027 procedure Set_Flag242 (N : Node_Id; Val : Boolean) is
8029 pragma Assert (not Locked);
8030 pragma Assert (Nkind (N) in N_Entity);
8033 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag242 := Val;
8036 procedure Set_Flag243 (N : Node_Id; Val : Boolean) is
8038 pragma Assert (not Locked);
8039 pragma Assert (Nkind (N) in N_Entity);
8042 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag243 := Val;
8045 procedure Set_Flag244 (N : Node_Id; Val : Boolean) is
8047 pragma Assert (not Locked);
8048 pragma Assert (Nkind (N) in N_Entity);
8051 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag244 := Val;
8054 procedure Set_Flag245 (N : Node_Id; Val : Boolean) is
8056 pragma Assert (not Locked);
8057 pragma Assert (Nkind (N) in N_Entity);
8060 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag245 := Val;
8063 procedure Set_Flag246 (N : Node_Id; Val : Boolean) is
8065 pragma Assert (not Locked);
8066 pragma Assert (Nkind (N) in N_Entity);
8069 (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag246 := Val;
8072 procedure Set_Flag247 (N : Node_Id; Val : Boolean) is
8074 pragma Assert (not Locked);
8075 pragma Assert (Nkind (N) in N_Entity);
8078 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag247 := Val;
8081 procedure Set_Flag248 (N : Node_Id; Val : Boolean) is
8083 pragma Assert (not Locked);
8084 pragma Assert (Nkind (N) in N_Entity);
8087 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag248 := Val;
8090 procedure Set_Flag249 (N : Node_Id; Val : Boolean) is
8092 pragma Assert (not Locked);
8093 pragma Assert (Nkind (N) in N_Entity);
8096 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag249 := Val;
8099 procedure Set_Flag250 (N : Node_Id; Val : Boolean) is
8101 pragma Assert (not Locked);
8102 pragma Assert (Nkind (N) in N_Entity);
8105 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag250 := Val;
8108 procedure Set_Flag251 (N : Node_Id; Val : Boolean) is
8110 pragma Assert (not Locked);
8111 pragma Assert (Nkind (N) in N_Entity);
8114 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag251 := Val;
8117 procedure Set_Flag252 (N : Node_Id; Val : Boolean) is
8119 pragma Assert (not Locked);
8120 pragma Assert (Nkind (N) in N_Entity);
8123 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag252 := Val;
8126 procedure Set_Flag253 (N : Node_Id; Val : Boolean) is
8128 pragma Assert (not Locked);
8129 pragma Assert (Nkind (N) in N_Entity);
8132 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag253 := Val;
8135 procedure Set_Flag254 (N : Node_Id; Val : Boolean) is
8137 pragma Assert (not Locked);
8138 pragma Assert (Nkind (N) in N_Entity);
8141 (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag254 := Val;
8144 procedure Set_Flag255 (N : Node_Id; Val : Boolean) is
8146 pragma Assert (not Locked);
8147 pragma Assert (Nkind (N) in N_Entity);
8150 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag255 := Val;
8153 procedure Set_Flag256 (N : Node_Id; Val : Boolean) is
8155 pragma Assert (not Locked);
8156 pragma Assert (Nkind (N) in N_Entity);
8159 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag256 := Val;
8162 procedure Set_Flag257 (N : Node_Id; Val : Boolean) is
8164 pragma Assert (not Locked);
8165 pragma Assert (Nkind (N) in N_Entity);
8168 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag257 := Val;
8171 procedure Set_Flag258 (N : Node_Id; Val : Boolean) is
8173 pragma Assert (not Locked);
8174 pragma Assert (Nkind (N) in N_Entity);
8177 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag258 := Val;
8180 procedure Set_Flag259 (N : Node_Id; Val : Boolean) is
8182 pragma Assert (not Locked);
8183 pragma Assert (Nkind (N) in N_Entity);
8186 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag259 := Val;
8189 procedure Set_Flag260 (N : Node_Id; Val : Boolean) is
8191 pragma Assert (not Locked);
8192 pragma Assert (Nkind (N) in N_Entity);
8195 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag260 := Val;
8198 procedure Set_Flag261 (N : Node_Id; Val : Boolean) is
8200 pragma Assert (not Locked);
8201 pragma Assert (Nkind (N) in N_Entity);
8204 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag261 := Val;
8207 procedure Set_Flag262 (N : Node_Id; Val : Boolean) is
8209 pragma Assert (not Locked);
8210 pragma Assert (Nkind (N) in N_Entity);
8213 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag262 := Val;
8216 procedure Set_Flag263 (N : Node_Id; Val : Boolean) is
8218 pragma Assert (not Locked);
8219 pragma Assert (Nkind (N) in N_Entity);
8222 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag263 := Val;
8225 procedure Set_Flag264 (N : Node_Id; Val : Boolean) is
8227 pragma Assert (not Locked);
8228 pragma Assert (Nkind (N) in N_Entity);
8231 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag264 := Val;
8234 procedure Set_Flag265 (N : Node_Id; Val : Boolean) is
8236 pragma Assert (not Locked);
8237 pragma Assert (Nkind (N) in N_Entity);
8240 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag265 := Val;
8243 procedure Set_Flag266 (N : Node_Id; Val : Boolean) is
8245 pragma Assert (not Locked);
8246 pragma Assert (Nkind (N) in N_Entity);
8249 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag266 := Val;
8252 procedure Set_Flag267 (N : Node_Id; Val : Boolean) is
8254 pragma Assert (not Locked);
8255 pragma Assert (Nkind (N) in N_Entity);
8258 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag267 := Val;
8261 procedure Set_Flag268 (N : Node_Id; Val : Boolean) is
8263 pragma Assert (not Locked);
8264 pragma Assert (Nkind (N) in N_Entity);
8267 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag268 := Val;
8270 procedure Set_Flag269 (N : Node_Id; Val : Boolean) is
8272 pragma Assert (not Locked);
8273 pragma Assert (Nkind (N) in N_Entity);
8276 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag269 := Val;
8279 procedure Set_Flag270 (N : Node_Id; Val : Boolean) is
8281 pragma Assert (not Locked);
8282 pragma Assert (Nkind (N) in N_Entity);
8285 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag270 := Val;
8288 procedure Set_Flag271 (N : Node_Id; Val : Boolean) is
8290 pragma Assert (not Locked);
8291 pragma Assert (Nkind (N) in N_Entity);
8294 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag271 := Val;
8297 procedure Set_Flag272 (N : Node_Id; Val : Boolean) is
8299 pragma Assert (not Locked);
8300 pragma Assert (Nkind (N) in N_Entity);
8303 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag272 := Val;
8306 procedure Set_Flag273 (N : Node_Id; Val : Boolean) is
8308 pragma Assert (not Locked);
8309 pragma Assert (Nkind (N) in N_Entity);
8312 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag273 := Val;
8315 procedure Set_Flag274 (N : Node_Id; Val : Boolean) is
8317 pragma Assert (not Locked);
8318 pragma Assert (Nkind (N) in N_Entity);
8321 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag274 := Val;
8324 procedure Set_Flag275 (N : Node_Id; Val : Boolean) is
8326 pragma Assert (not Locked);
8327 pragma Assert (Nkind (N) in N_Entity);
8330 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag275 := Val;
8333 procedure Set_Flag276 (N : Node_Id; Val : Boolean) is
8335 pragma Assert (not Locked);
8336 pragma Assert (Nkind (N) in N_Entity);
8339 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag276 := Val;
8342 procedure Set_Flag277 (N : Node_Id; Val : Boolean) is
8344 pragma Assert (not Locked);
8345 pragma Assert (Nkind (N) in N_Entity);
8348 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag277 := Val;
8351 procedure Set_Flag278 (N : Node_Id; Val : Boolean) is
8353 pragma Assert (not Locked);
8354 pragma Assert (Nkind (N) in N_Entity);
8357 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag278 := Val;
8360 procedure Set_Flag279 (N : Node_Id; Val : Boolean) is
8362 pragma Assert (not Locked);
8363 pragma Assert (Nkind (N) in N_Entity);
8366 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag279 := Val;
8369 procedure Set_Flag280 (N : Node_Id; Val : Boolean) is
8371 pragma Assert (not Locked);
8372 pragma Assert (Nkind (N) in N_Entity);
8375 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag280 := Val;
8378 procedure Set_Flag281 (N : Node_Id; Val : Boolean) is
8380 pragma Assert (not Locked);
8381 pragma Assert (Nkind (N) in N_Entity);
8384 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag281 := Val;
8387 procedure Set_Flag282 (N : Node_Id; Val : Boolean) is
8389 pragma Assert (not Locked);
8390 pragma Assert (Nkind (N) in N_Entity);
8393 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag282 := Val;
8396 procedure Set_Flag283 (N : Node_Id; Val : Boolean) is
8398 pragma Assert (not Locked);
8399 pragma Assert (Nkind (N) in N_Entity);
8402 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag283 := Val;
8405 procedure Set_Flag284 (N : Node_Id; Val : Boolean) is
8407 pragma Assert (not Locked);
8408 pragma Assert (Nkind (N) in N_Entity);
8411 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag284 := Val;
8414 procedure Set_Flag285 (N : Node_Id; Val : Boolean) is
8416 pragma Assert (not Locked);
8417 pragma Assert (Nkind (N) in N_Entity);
8420 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag285 := Val;
8423 procedure Set_Flag286 (N : Node_Id; Val : Boolean) is
8425 pragma Assert (not Locked);
8426 pragma Assert (Nkind (N) in N_Entity);
8429 (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag286 := Val;
8432 procedure Set_Flag287 (N : Node_Id; Val : Boolean) is
8434 pragma Assert (not Locked);
8435 pragma Assert (Nkind (N) in N_Entity);
8436 Nodes.Table (N + 5).In_List := Val;
8439 procedure Set_Flag288 (N : Node_Id; Val : Boolean) is
8441 pragma Assert (not Locked);
8442 pragma Assert (Nkind (N) in N_Entity);
8443 Nodes.Table (N + 5).Has_Aspects := Val;
8446 procedure Set_Flag289 (N : Node_Id; Val : Boolean) is
8448 pragma Assert (not Locked);
8449 pragma Assert (Nkind (N) in N_Entity);
8450 Nodes.Table (N + 5).Rewrite_Ins := Val;
8453 procedure Set_Flag290 (N : Node_Id; Val : Boolean) is
8455 pragma Assert (not Locked);
8456 pragma Assert (Nkind (N) in N_Entity);
8457 Nodes.Table (N + 5).Analyzed := Val;
8460 procedure Set_Flag291 (N : Node_Id; Val : Boolean) is
8462 pragma Assert (not Locked);
8463 pragma Assert (Nkind (N) in N_Entity);
8464 Nodes.Table (N + 5).Comes_From_Source := Val;
8467 procedure Set_Flag292 (N : Node_Id; Val : Boolean) is
8469 pragma Assert (not Locked);
8470 pragma Assert (Nkind (N) in N_Entity);
8471 Nodes.Table (N + 5).Error_Posted := Val;
8474 procedure Set_Flag293 (N : Node_Id; Val : Boolean) is
8476 pragma Assert (not Locked);
8477 pragma Assert (Nkind (N) in N_Entity);
8478 Nodes.Table (N + 5).Flag4 := Val;
8481 procedure Set_Flag294 (N : Node_Id; Val : Boolean) is
8483 pragma Assert (not Locked);
8484 pragma Assert (Nkind (N) in N_Entity);
8485 Nodes.Table (N + 5).Flag5 := Val;
8488 procedure Set_Flag295 (N : Node_Id; Val : Boolean) is
8490 pragma Assert (not Locked);
8491 pragma Assert (Nkind (N) in N_Entity);
8492 Nodes.Table (N + 5).Flag6 := Val;
8495 procedure Set_Flag296 (N : Node_Id; Val : Boolean) is
8497 pragma Assert (not Locked);
8498 pragma Assert (Nkind (N) in N_Entity);
8499 Nodes.Table (N + 5).Flag7 := Val;
8502 procedure Set_Flag297 (N : Node_Id; Val : Boolean) is
8504 pragma Assert (not Locked);
8505 pragma Assert (Nkind (N) in N_Entity);
8506 Nodes.Table (N + 5).Flag8 := Val;
8509 procedure Set_Flag298 (N : Node_Id; Val : Boolean) is
8511 pragma Assert (not Locked);
8512 pragma Assert (Nkind (N) in N_Entity);
8513 Nodes.Table (N + 5).Flag9 := Val;
8516 procedure Set_Flag299 (N : Node_Id; Val : Boolean) is
8518 pragma Assert (not Locked);
8519 pragma Assert (Nkind (N) in N_Entity);
8520 Nodes.Table (N + 5).Flag10 := Val;
8523 procedure Set_Flag300 (N : Node_Id; Val : Boolean) is
8525 pragma Assert (not Locked);
8526 pragma Assert (Nkind (N) in N_Entity);
8527 Nodes.Table (N + 5).Flag11 := Val;
8530 procedure Set_Flag301 (N : Node_Id; Val : Boolean) is
8532 pragma Assert (not Locked);
8533 pragma Assert (Nkind (N) in N_Entity);
8534 Nodes.Table (N + 5).Flag12 := Val;
8537 procedure Set_Flag302 (N : Node_Id; Val : Boolean) is
8539 pragma Assert (not Locked);
8540 pragma Assert (Nkind (N) in N_Entity);
8541 Nodes.Table (N + 5).Flag13 := Val;
8544 procedure Set_Flag303 (N : Node_Id; Val : Boolean) is
8546 pragma Assert (not Locked);
8547 pragma Assert (Nkind (N) in N_Entity);
8548 Nodes.Table (N + 5).Flag14 := Val;
8551 procedure Set_Flag304 (N : Node_Id; Val : Boolean) is
8553 pragma Assert (not Locked);
8554 pragma Assert (Nkind (N) in N_Entity);
8555 Nodes.Table (N + 5).Flag15 := Val;
8558 procedure Set_Flag305 (N : Node_Id; Val : Boolean) is
8560 pragma Assert (not Locked);
8561 pragma Assert (Nkind (N) in N_Entity);
8562 Nodes.Table (N + 5).Flag16 := Val;
8565 procedure Set_Flag306 (N : Node_Id; Val : Boolean) is
8567 pragma Assert (not Locked);
8568 pragma Assert (Nkind (N) in N_Entity);
8569 Nodes.Table (N + 5).Flag17 := Val;
8572 procedure Set_Flag307 (N : Node_Id; Val : Boolean) is
8574 pragma Assert (not Locked);
8575 pragma Assert (Nkind (N) in N_Entity);
8576 Nodes.Table (N + 5).Flag18 := Val;
8579 procedure Set_Flag308 (N : Node_Id; Val : Boolean) is
8581 pragma Assert (not Locked);
8582 pragma Assert (Nkind (N) in N_Entity);
8583 Nodes.Table (N + 5).Pflag1 := Val;
8586 procedure Set_Flag309 (N : Node_Id; Val : Boolean) is
8588 pragma Assert (not Locked);
8589 pragma Assert (Nkind (N) in N_Entity);
8590 Nodes.Table (N + 5).Pflag2 := Val;
8593 procedure Set_Flag310 (N : Node_Id; Val : Boolean) is
8595 pragma Assert (not Locked);
8596 pragma Assert (Nkind (N) in N_Entity);
8599 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag310 := Val;
8602 procedure Set_Flag311 (N : Node_Id; Val : Boolean) is
8604 pragma Assert (not Locked);
8605 pragma Assert (Nkind (N) in N_Entity);
8608 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag311 := Val;
8611 procedure Set_Flag312 (N : Node_Id; Val : Boolean) is
8613 pragma Assert (not Locked);
8614 pragma Assert (Nkind (N) in N_Entity);
8617 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag312 := Val;
8620 procedure Set_Flag313 (N : Node_Id; Val : Boolean) is
8622 pragma Assert (not Locked);
8623 pragma Assert (Nkind (N) in N_Entity);
8626 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag313 := Val;
8629 procedure Set_Flag314 (N : Node_Id; Val : Boolean) is
8631 pragma Assert (not Locked);
8632 pragma Assert (Nkind (N) in N_Entity);
8635 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag314 := Val;
8638 procedure Set_Flag315 (N : Node_Id; Val : Boolean) is
8640 pragma Assert (not Locked);
8641 pragma Assert (Nkind (N) in N_Entity);
8644 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag315 := Val;
8647 procedure Set_Flag316 (N : Node_Id; Val : Boolean) is
8649 pragma Assert (not Locked);
8650 pragma Assert (Nkind (N) in N_Entity);
8653 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag316 := Val;
8656 procedure Set_Flag317 (N : Node_Id; Val : Boolean) is
8658 pragma Assert (not Locked);
8659 pragma Assert (Nkind (N) in N_Entity);
8662 (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag317 := Val;
8665 procedure Set_Node1_With_Parent (N : Node_Id; Val : Node_Id) is
8667 pragma Assert (not Locked);
8668 pragma Assert (N <= Nodes.Last);
8671 Set_Parent (N => Val, Val => N);
8675 end Set_Node1_With_Parent;
8677 procedure Set_Node2_With_Parent (N : Node_Id; Val : Node_Id) is
8679 pragma Assert (not Locked);
8680 pragma Assert (N <= Nodes.Last);
8683 Set_Parent (N => Val, Val => N);
8687 end Set_Node2_With_Parent;
8689 procedure Set_Node3_With_Parent (N : Node_Id; Val : Node_Id) is
8691 pragma Assert (not Locked);
8692 pragma Assert (N <= Nodes.Last);
8695 Set_Parent (N => Val, Val => N);
8699 end Set_Node3_With_Parent;
8701 procedure Set_Node4_With_Parent (N : Node_Id; Val : Node_Id) is
8703 pragma Assert (not Locked);
8704 pragma Assert (N <= Nodes.Last);
8707 Set_Parent (N => Val, Val => N);
8711 end Set_Node4_With_Parent;
8713 procedure Set_Node5_With_Parent (N : Node_Id; Val : Node_Id) is
8715 pragma Assert (not Locked);
8716 pragma Assert (N <= Nodes.Last);
8719 Set_Parent (N => Val, Val => N);
8723 end Set_Node5_With_Parent;
8725 procedure Set_List1_With_Parent (N : Node_Id; Val : List_Id) is
8727 pragma Assert (not Locked);
8728 pragma Assert (N <= Nodes.Last);
8729 if Val /= No_List and then Val /= Error_List then
8730 Set_Parent (Val, N);
8733 end Set_List1_With_Parent;
8735 procedure Set_List2_With_Parent (N : Node_Id; Val : List_Id) is
8737 pragma Assert (not Locked);
8738 pragma Assert (N <= Nodes.Last);
8739 if Val /= No_List and then Val /= Error_List then
8740 Set_Parent (Val, N);
8743 end Set_List2_With_Parent;
8745 procedure Set_List3_With_Parent (N : Node_Id; Val : List_Id) is
8747 pragma Assert (not Locked);
8748 pragma Assert (N <= Nodes.Last);
8749 if Val /= No_List and then Val /= Error_List then
8750 Set_Parent (Val, N);
8753 end Set_List3_With_Parent;
8755 procedure Set_List4_With_Parent (N : Node_Id; Val : List_Id) is
8757 pragma Assert (not Locked);
8758 pragma Assert (N <= Nodes.Last);
8759 if Val /= No_List and then Val /= Error_List then
8760 Set_Parent (Val, N);
8763 end Set_List4_With_Parent;
8765 procedure Set_List5_With_Parent (N : Node_Id; Val : List_Id) is
8767 pragma Assert (not Locked);
8768 pragma Assert (N <= Nodes.Last);
8769 if Val /= No_List and then Val /= Error_List then
8770 Set_Parent (Val, N);
8773 end Set_List5_With_Parent;
8775 end Unchecked_Access;
8783 Flags.Locked := False;
8784 Orig_Nodes.Locked := False;
8791 procedure Unlock_Nodes is
8793 pragma Assert (Locked);