22
33#=============================================================================
44# _Spexygen_ - Traceable Specifications Based on doxygen
5- # Copyright (C) 2023 Quantum Leaps, LLC <www.state-machine.com>
5+ # Copyright (C) 2024 Quantum Leaps, LLC <www.state-machine.com>
66#
77# SPDX-License-Identifier: MIT
88#
@@ -47,7 +47,7 @@ class Spexygen:
4747 '''
4848
4949 # public class constants
50- VERSION = 221
50+ VERSION = 222
5151
5252 UID_DOC = 1
5353 UID_CODE = 2
@@ -83,12 +83,12 @@ def on_file_pattern(self, fname):
8383 fname .endswith ('.hpp' ) or fname .endswith ('.cpp' ) or \
8484 fname .endswith ('.py' ) or fname .endswith ('.lnt' )
8585
86- def on_gen_fw_trace (self , level ):
86+ def on_gen_fw_trace (self , uid , level ):
8787 '''recursively generate the forward trace for a "uid"
8888 from self._uid_traced_list[level]
8989 '''
90- uid = self ._uid_traced_list [ level ]
91- Spexygen .debug (" level" , level ,
90+ self ._uid_traced_list . append ( uid )
91+ Spexygen .debug (" level= " , level , "uid=" , uid ,
9292 "self._uid_traced_list:" , self ._uid_traced_list )
9393 for uid in self ._uid_trace_dict .get (uid ):
9494 if uid not in self ._uid_traced_list :
@@ -97,8 +97,7 @@ def on_gen_fw_trace(self, level):
9797 uid , self ._uid_brief_dict [uid ]))
9898 if level < len (Spexygen .LEVELS ) - 2 :
9999 if uid in self ._uid_trace_dict :
100- self ._uid_traced_list .append (uid )
101- self .on_gen_fw_trace (level + 1 ) # recursive!
100+ self .on_gen_fw_trace (uid , level + 1 ) # recursive!
102101 else :
103102 self ._file .write ("%s%s- ...\n "
104103 % (self ._prefix , Spexygen .LEVELS [level + 1 ]))
@@ -298,8 +297,8 @@ def gen_fw_trace(self, line):
298297 self ._prefix = line [:i ]
299298 self ._file .write (line )
300299 if self ._uid in self ._uid_trace_dict :
301- self ._uid_traced_list = [self . _uid ]
302- self .on_gen_fw_trace (0 )
300+ self ._uid_traced_list = []
301+ self .on_gen_fw_trace (self . _uid , 0 )
303302 else :
304303 print (f' { self ._fname } :{ self ._lnum } empty forward trace' \
305304 f' for UID: "{ self ._uid } "' )
0 commit comments