-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2007, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2008, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
return Node4 (N);
end Actual_Designated_Subtype;
+ function Address_Warning_Posted
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Attribute_Definition_Clause);
+ return Flag18 (N);
+ end Address_Warning_Posted;
+
function Aggregate_Bounds
(N : Node_Id) return Node_Id is
begin
return Flag5 (N);
end Forwards_OK;
+ function From_At_End
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Raise_Statement);
+ return Flag4 (N);
+ end From_At_End;
+
function From_At_Mod
(N : Node_Id) return Boolean is
begin
return Flag11 (N);
end Has_Private_View;
+ function Has_Relative_Deadline_Pragma
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Subprogram_Body
+ or else NT (N).Nkind = N_Task_Definition);
+ return Flag9 (N);
+ end Has_Relative_Deadline_Pragma;
+
function Has_Self_Reference
(N : Node_Id) return Boolean is
begin
return Flag8 (N);
end Is_Entry_Barrier_Function;
+ function Is_Expanded_Build_In_Place_Call
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Function_Call);
+ return Flag11 (N);
+ end Is_Expanded_Build_In_Place_Call;
+
function Is_Folded_In_Parser
(N : Node_Id) return Boolean is
begin
return Node4 (N);
end Next_Named_Actual;
+ function Next_Pragma
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ return Node1 (N);
+ end Next_Pragma;
+
function Next_Rep_Item
(N : Node_Id) return Node_Id is
begin
return Node4 (N);
end Parent_Spec;
+ function PPC_Enabled
+ (N : Node_Id) return Boolean is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ return Flag5 (N);
+ end PPC_Enabled;
+
function Position
(N : Node_Id) return Node_Id is
begin
return List2 (N);
end Pragma_Argument_Associations;
+ function Pragma_Identifier
+ (N : Node_Id) return Node_Id is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ return Node4 (N);
+ end Pragma_Identifier;
+
function Pragmas_After
(N : Node_Id) return List_Id is
begin
Set_Node4 (N, Val);
end Set_Actual_Designated_Subtype;
+ procedure Set_Address_Warning_Posted
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Attribute_Definition_Clause);
+ Set_Flag18 (N, Val);
+ end Set_Address_Warning_Posted;
+
procedure Set_Aggregate_Bounds
(N : Node_Id; Val : Node_Id) is
begin
Set_Flag5 (N, Val);
end Set_Forwards_OK;
+ procedure Set_From_At_End
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Raise_Statement);
+ Set_Flag4 (N, Val);
+ end Set_From_At_End;
+
procedure Set_From_At_Mod
(N : Node_Id; Val : Boolean := True) is
begin
Set_Flag11 (N, Val);
end Set_Has_Private_View;
+ procedure Set_Has_Relative_Deadline_Pragma
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Subprogram_Body
+ or else NT (N).Nkind = N_Task_Definition);
+ Set_Flag9 (N, Val);
+ end Set_Has_Relative_Deadline_Pragma;
+
procedure Set_Has_Self_Reference
(N : Node_Id; Val : Boolean := True) is
begin
Set_Flag8 (N, Val);
end Set_Is_Entry_Barrier_Function;
+ procedure Set_Is_Expanded_Build_In_Place_Call
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Function_Call);
+ Set_Flag11 (N, Val);
+ end Set_Is_Expanded_Build_In_Place_Call;
+
procedure Set_Is_Folded_In_Parser
(N : Node_Id; Val : Boolean := True) is
begin
Set_Node4 (N, Val); -- semantic field, no parent set
end Set_Next_Named_Actual;
+ procedure Set_Next_Pragma
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ Set_Node1 (N, Val); -- semantic field, no parent set
+ end Set_Next_Pragma;
+
procedure Set_Next_Rep_Item
(N : Node_Id; Val : Node_Id) is
begin
Set_Node4 (N, Val); -- semantic field, no parent set
end Set_Parent_Spec;
+ procedure Set_PPC_Enabled
+ (N : Node_Id; Val : Boolean := True) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ Set_Flag5 (N, Val);
+ end Set_PPC_Enabled;
+
procedure Set_Position
(N : Node_Id; Val : Node_Id) is
begin
Set_List2_With_Parent (N, Val);
end Set_Pragma_Argument_Associations;
+ procedure Set_Pragma_Identifier
+ (N : Node_Id; Val : Node_Id) is
+ begin
+ pragma Assert (False
+ or else NT (N).Nkind = N_Pragma);
+ Set_Node4_With_Parent (N, Val);
+ end Set_Pragma_Identifier;
+
procedure Set_Pragmas_After
(N : Node_Id; Val : List_Id) is
begin
UI_From_Int (Int (S) - Int (Sloc (N))));
end Set_End_Location;
+ --------------
+ -- Nkind_In --
+ --------------
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind;
+ V4 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3 or else
+ T = V4;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind;
+ V4 : Node_Kind;
+ V5 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3 or else
+ T = V4 or else
+ T = V5;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind;
+ V4 : Node_Kind;
+ V5 : Node_Kind;
+ V6 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3 or else
+ T = V4 or else
+ T = V5 or else
+ T = V6;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind;
+ V4 : Node_Kind;
+ V5 : Node_Kind;
+ V6 : Node_Kind;
+ V7 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3 or else
+ T = V4 or else
+ T = V5 or else
+ T = V6 or else
+ T = V7;
+ end Nkind_In;
+
+ function Nkind_In
+ (T : Node_Kind;
+ V1 : Node_Kind;
+ V2 : Node_Kind;
+ V3 : Node_Kind;
+ V4 : Node_Kind;
+ V5 : Node_Kind;
+ V6 : Node_Kind;
+ V7 : Node_Kind;
+ V8 : Node_Kind) return Boolean
+ is
+ begin
+ return T = V1 or else
+ T = V2 or else
+ T = V3 or else
+ T = V4 or else
+ T = V5 or else
+ T = V6 or else
+ T = V7 or else
+ T = V8;
+ end Nkind_In;
+
+ -----------------
+ -- Pragma_Name --
+ -----------------
+
+ function Pragma_Name (N : Node_Id) return Name_Id is
+ begin
+ return Chars (Pragma_Identifier (N));
+ end Pragma_Name;
+
end Sinfo;