From c610699227e7e073c8031c735c113a02997733f9 Mon Sep 17 00:00:00 2001 From: steve Date: Fri, 12 Jul 2002 17:08:13 +0000 Subject: [PATCH] Eliminate use of vpiInternalScope. --- vpi/sys_lxt.c | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/vpi/sys_lxt.c b/vpi/sys_lxt.c index 84afd20c3..b31a81642 100644 --- a/vpi/sys_lxt.c +++ b/vpi/sys_lxt.c @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ #if !defined(WINNT) && !defined(macintosh) -#ident "$Id: sys_lxt.c,v 1.5 2002/06/21 04:59:36 steve Exp $" +#ident "$Id: sys_lxt.c,v 1.6 2002/07/12 17:08:13 steve Exp $" #endif # include "config.h" @@ -525,6 +525,21 @@ static void scan_item(unsigned depth, vpiHandle item, int skip) const char* ident; int nexus_id; + /* list of types to iterate upon */ + int i; + static int types[] = { + /* Value */ + vpiNet, + vpiReg, + /* Scope */ + vpiFunction, + vpiModule, + vpiNamedBegin, + vpiNamedFork, + vpiTask, + -1 + }; + switch (vpi_get(vpiType, item)) { case vpiMemory: @@ -619,13 +634,11 @@ static void scan_item(unsigned depth, vpiHandle item, int skip) push_scope(name); /* keep in type info determination for possible future usage */ - argv = vpi_iterate(vpiInternalScope, item); - if (argv) { - for (item = vpi_scan(argv) ; - item ; - item = vpi_scan(argv)) { - - scan_item(depth-1, item, nskip); + for (i=0; types[i]>0; i++) { + vpiHandle hand; + argv = vpi_iterate(types[i], item); + while (argv && (hand = vpi_scan(argv))) { + scan_item(depth-1, hand, nskip); } } @@ -782,6 +795,9 @@ void sys_lxt_register() /* * $Log: sys_lxt.c,v $ + * Revision 1.6 2002/07/12 17:08:13 steve + * Eliminate use of vpiInternalScope. + * * Revision 1.5 2002/06/21 04:59:36 steve * Carry integerness throughout the compilation. *