Commit d474fedc authored by Wander Lairson Costa's avatar Wander Lairson Costa Committed by Gabriele Monaco
Browse files

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: default avatarWander Lairson Costa <wander@redhat.com>
Reviewed-by: default avatarGabriele Monaco <gmonaco@redhat.com>
Reviewed-by: default avatarNam Cao <namcao@linutronix.de>
Link: https://lore.kernel.org/r/20260223162407.147003-11-wander@redhat.com


Signed-off-by: default avatarGabriele Monaco <gmonaco@redhat.com>
parent 5d5a7d88
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ class Automata:
    """

    invalid_state_str = "INVALID_STATE"
    init_marker = "__init_"
    # val can be numerical, uppercase (constant or macro), lowercase (parameter or function)
    # only numerical values should have units
    constraint_rule = re.compile(r"""
@@ -136,8 +137,8 @@ class Automata:

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