diff options
Diffstat (limited to 'src/vhdl/vhdl-nodes.adb')
-rw-r--r-- | src/vhdl/vhdl-nodes.adb | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/vhdl/vhdl-nodes.adb b/src/vhdl/vhdl-nodes.adb index 947cd771d..b2946d62c 100644 --- a/src/vhdl/vhdl-nodes.adb +++ b/src/vhdl/vhdl-nodes.adb @@ -1083,6 +1083,7 @@ package body Vhdl.Nodes is | Iir_Kind_Interface_Terminal_Declaration | Iir_Kind_Interface_Type_Declaration | Iir_Kind_Signal_Attribute_Declaration + | Iir_Kind_Suspend_State_Declaration | Iir_Kind_Identity_Operator | Iir_Kind_Negation_Operator | Iir_Kind_Absolute_Operator @@ -1177,6 +1178,7 @@ package body Vhdl.Nodes is | Iir_Kind_Procedure_Call_Statement | Iir_Kind_Break_Statement | Iir_Kind_If_Statement + | Iir_Kind_Suspend_State_Statement | Iir_Kind_Elsif | Iir_Kind_Character_Literal | Iir_Kind_Simple_Name @@ -6072,6 +6074,22 @@ package body Vhdl.Nodes is Set_Flag4 (Name, Flag); end Set_In_Formal_Flag; + function Get_Inertial_Flag (Name : Iir) return Boolean is + begin + pragma Assert (Name /= Null_Iir); + pragma Assert (Has_Inertial_Flag (Get_Kind (Name)), + "no field Inertial_Flag"); + return Get_Flag5 (Name); + end Get_Inertial_Flag; + + procedure Set_Inertial_Flag (Name : Iir; Flag : Boolean) is + begin + pragma Assert (Name /= Null_Iir); + pragma Assert (Has_Inertial_Flag (Get_Kind (Name)), + "no field Inertial_Flag"); + Set_Flag5 (Name, Flag); + end Set_Inertial_Flag; + function Get_Slice_Subtype (Slice : Iir) return Iir is begin pragma Assert (Slice /= Null_Iir); @@ -7408,4 +7426,36 @@ package body Vhdl.Nodes is Set_Field1 (N, Int32_To_Iir (En)); end Set_Foreign_Node; + function Get_Suspend_State_Index (N : Iir) return Int32 is + begin + pragma Assert (N /= Null_Iir); + pragma Assert (Has_Suspend_State_Index (Get_Kind (N)), + "no field Suspend_State_Index"); + return Iir_To_Int32 (Get_Field3 (N)); + end Get_Suspend_State_Index; + + procedure Set_Suspend_State_Index (N : Iir; Num : Int32) is + begin + pragma Assert (N /= Null_Iir); + pragma Assert (Has_Suspend_State_Index (Get_Kind (N)), + "no field Suspend_State_Index"); + Set_Field3 (N, Int32_To_Iir (Num)); + end Set_Suspend_State_Index; + + function Get_Suspend_State_Chain (N : Iir) return Iir is + begin + pragma Assert (N /= Null_Iir); + pragma Assert (Has_Suspend_State_Chain (Get_Kind (N)), + "no field Suspend_State_Chain"); + return Get_Field4 (N); + end Get_Suspend_State_Chain; + + procedure Set_Suspend_State_Chain (N : Iir; Chain : Iir) is + begin + pragma Assert (N /= Null_Iir); + pragma Assert (Has_Suspend_State_Chain (Get_Kind (N)), + "no field Suspend_State_Chain"); + Set_Field4 (N, Chain); + end Set_Suspend_State_Chain; + end Vhdl.Nodes; |