aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/iirs_utils.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/iirs_utils.ads')
-rw-r--r--src/vhdl/iirs_utils.ads21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/vhdl/iirs_utils.ads b/src/vhdl/iirs_utils.ads
index fb3f34b8c..0bb46e370 100644
--- a/src/vhdl/iirs_utils.ads
+++ b/src/vhdl/iirs_utils.ads
@@ -76,9 +76,9 @@ package Iirs_Utils is
-- Return TRUE if EXPR is a signal name.
function Is_Signal_Name (Expr : Iir) return Boolean;
- -- Get the interface associated by the association ASSOC. This is always
- -- an interface, even if the formal is a name.
- function Get_Association_Interface (Assoc : Iir) return Iir;
+ -- Get the interface corresponding to the formal name FORMAL. This is
+ -- always an interface, even if the formal is a name.
+ function Get_Interface_Of_Formal (Formal : Iir) return Iir;
-- Get the corresponding interface of an association while walking on
-- associations. ASSOC and INTER are the current association and
@@ -89,6 +89,17 @@ package Iirs_Utils is
procedure Next_Association_Interface
(Assoc : in out Iir; Inter : in out Iir);
+ -- Return the formal of ASSOC as a named entity (either an interface
+ -- declaration or indexed/sliced/selected name of it). If there is no
+ -- formal in ASSOC, return the corresponding interface INTER.
+ function Get_Association_Formal (Assoc : Iir; Inter : Iir) return Iir;
+
+ -- Return the first association in ASSOC_CHAIN for interface INTER. This
+ -- is the first in case of individual association.
+ -- Return NULL_IIR if not found (not present).
+ function Find_First_Association_For_Interface
+ (Assoc_Chain : Iir; Inter_Chain : Iir; Inter : Iir) return Iir;
+
-- Duplicate enumeration literal LIT.
function Copy_Enumeration_Literal (Lit : Iir) return Iir;
@@ -275,8 +286,8 @@ package Iirs_Utils is
-- For Association_Element_By_Expression: return the actual.
-- For Association_Element_Open: return the default value of the
- -- interface.
- function Get_Actual_Or_Default (Assoc : Iir) return Iir;
+ -- interface INTER.
+ function Get_Actual_Or_Default (Assoc : Iir; Inter : Iir) return Iir;
-- Create an error node for node ORIG.
function Create_Error (Orig : Iir) return Iir;