Skip to content

Commit d474fed

Browse files
walacglemco
authored andcommitted
rv/rvgen: use class constant for init marker
Replace hardcoded string literal and magic number with a class constant for the initial state marker in DOT file parsing. The previous implementation used the magic string "__init_" directly in the code along with a hardcoded length of 7 for substring extraction, which made the code less maintainable and harder to understand. This change introduces a class constant init_marker to serve as a single source of truth for the initial state prefix. The code now uses startswith() for clearer intent and calculates the substring position dynamically using len(), eliminating the magic number. If the marker value needs to change in the future, only the constant definition requires updating rather than multiple locations in the code. The refactoring improves code readability and maintainability while preserving the exact same runtime behavior. Signed-off-by: Wander Lairson Costa <wander@redhat.com> Reviewed-by: Gabriele Monaco <gmonaco@redhat.com> Reviewed-by: Nam Cao <namcao@linutronix.de> Link: https://lore.kernel.org/r/20260223162407.147003-11-wander@redhat.com Signed-off-by: Gabriele Monaco <gmonaco@redhat.com>
1 parent 5d5a7d8 commit d474fed

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

tools/verification/rvgen/rvgen/automata.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ class Automata:
4242
"""
4343

4444
invalid_state_str = "INVALID_STATE"
45+
init_marker = "__init_"
4546
# val can be numerical, uppercase (constant or macro), lowercase (parameter or function)
4647
# only numerical values should have units
4748
constraint_rule = re.compile(r"""
@@ -136,8 +137,8 @@ def __get_state_variables(self) -> tuple[list[str], str, list[str]]:
136137

137138
# "enabled_fired"}; -> enabled_fired
138139
state = raw_state.replace('"', '').replace('};', '').replace(',', '_')
139-
if state[0:7] == "__init_":
140-
initial_state = state[7:]
140+
if state.startswith(self.init_marker):
141+
initial_state = state[len(self.init_marker):]
141142
else:
142143
states.append(state)
143144
if "doublecircle" in self.__dot_lines[cursor]:

0 commit comments

Comments
 (0)