aboutsummaryrefslogtreecommitdiffstats
path: root/src/grt/grt-wave_opt-design.ads
diff options
context:
space:
mode:
authorJonas Baggett <jonasb@tranquille.ch>2016-08-05 14:28:25 +0200
committerJonas Baggett <jonasb@tranquille.ch>2016-11-02 13:25:04 +0100
commitdf259b99050928cd72874377d7797c0de797935b (patch)
treee28835c3357a82ba1896130445d16f4999a480d7 /src/grt/grt-wave_opt-design.ads
parentb869a4acb52358fe8ca5decaac826af056bfdfca (diff)
downloadghdl-df259b99050928cd72874377d7797c0de797935b.tar.gz
ghdl-df259b99050928cd72874377d7797c0de797935b.tar.bz2
ghdl-df259b99050928cd72874377d7797c0de797935b.zip
Support added for * and **. Please note that wildcards inside names like /top/sub*/... are not supported yet, only synthax like /top/*/... works for now. Support for wildcards inside names will be added on version 1.2, at the same time as simple regexp support.
Current version set to 1.1
Diffstat (limited to 'src/grt/grt-wave_opt-design.ads')
-rw-r--r--src/grt/grt-wave_opt-design.ads15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/grt/grt-wave_opt-design.ads b/src/grt/grt-wave_opt-design.ads
index 54a96acfa..febb9f91b 100644
--- a/src/grt/grt-wave_opt-design.ads
+++ b/src/grt/grt-wave_opt-design.ads
@@ -38,20 +38,27 @@ with Grt.Types; use Grt.Types;
package Grt.Wave_Opt.Design is
pragma Preelaborate;
+ type Match_Elem_Type;
+ type Match_List is access Match_Elem_Type;
+ type Match_Elem_Type is record
+ Tree_Elem : Elem_Acc;
+ Next : Match_List;
+ end record;
+
-- Returns the top element of the tree corresponding to the index given, but
-- only if the name given matches with it. Otherwise returns null
function Get_Top_Cursor (Tree_Index : Tree_Index_Type; Name : Ghdl_C_String)
- return Elem_Acc;
+ return Match_List;
-- If there is an element in the parent element given that matches the name
-- given, returns it, otherwise returns null
function Get_Cursor
- (Parent : Elem_Acc; Name : Ghdl_C_String; Is_Signal : Boolean := False)
- return Elem_Acc;
+ (Parent : Match_List; Name : Ghdl_C_String; Is_Signal : Boolean := False)
+ return Match_List;
-- Returns true if the element given is not null, which means it exists in
-- the tree of the VHDL elements to be displayed
- function Is_Displayed (Cursor : Elem_Acc) return Boolean;
+ function Is_Displayed (Cursor : Match_List) return Boolean;
-- If relevent, read the whole tree and check if every element was found in
-- design