From a6a74017fd6b467627f23ff733218af1062d139f Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Mon, 30 Dec 2019 06:28:26 +0100 Subject: ams-vhdl: check nature for record natures and terminals. --- src/vhdl/vhdl-nodes.ads | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/vhdl/vhdl-nodes.ads') diff --git a/src/vhdl/vhdl-nodes.ads b/src/vhdl/vhdl-nodes.ads index 4ea591e52..a2e2502eb 100644 --- a/src/vhdl/vhdl-nodes.ads +++ b/src/vhdl/vhdl-nodes.ads @@ -2969,6 +2969,8 @@ package Vhdl.Nodes is -- -- Get/Set_Base_Nature (Field4) -- + -- Get/Set_Simple_Nature (Field7) + -- -- Get/Set_Nature_Staticness (State1) -- -- Get/Set_Constraint_State (State2) @@ -3043,6 +3045,8 @@ package Vhdl.Nodes is -- -- Get/Set_Through_Type (Field12) -- + -- Get/Set_Simple_Nature (Field7) + -- -- Get/Set_Nature_Staticness (State1) -- -- Get/Set_Constraint_State (State2) @@ -3054,7 +3058,6 @@ package Vhdl.Nodes is -- Always false for record type: elements are owned by this node. -- Get/Set_Is_Ref (Flag12) - -- Iir_Kind_Nature_Element_Declaration (Short) -- -- AMS-LRM17 5.8.3.3 Record natures @@ -5896,6 +5899,12 @@ package Vhdl.Nodes is Iir_Kind_Array_Subnature_Definition .. Iir_Kind_Array_Subnature_Definition; + subtype Iir_Kinds_Nature_Indication is Iir_Kind range + Iir_Kind_Scalar_Nature_Definition .. + --Iir_Kind_Record_Nature_Definition + --Iir_Kind_Array_Nature_Definition + Iir_Kind_Array_Subnature_Definition; + subtype Iir_Kinds_Nonoverloadable_Declaration is Iir_Kind range Iir_Kind_Type_Declaration .. --Iir_Kind_Anonymous_Type_Declaration @@ -7532,6 +7541,11 @@ package Vhdl.Nodes is procedure Set_Base_Type (Decl : Iir; Base_Type : Iir); pragma Inline (Get_Base_Type); + -- Only for composite base nature: the simple nature. + -- Field: Field7 Ref + function Get_Simple_Nature (Def : Iir) return Iir; + procedure Set_Simple_Nature (Def : Iir; Nature : Iir); + -- Field: Field4 Ref function Get_Base_Nature (Decl : Iir) return Iir; procedure Set_Base_Nature (Decl : Iir; Base_Nature : Iir); -- cgit v1.2.3