Skip to content

Commit 8aee49c

Browse files
walacglemco
authored andcommitted
rv/rvgen: fix isinstance check in Variable.expand()
The Variable.expand() method in ltl2ba.py performs contradiction detection by checking if a negated variable already exists in the graph node's old set. However, the isinstance check was incorrectly testing the ASTNode wrapper instead of the wrapped operator, causing the check to always return False. The old set contains ASTNode instances which wrap LTL operators via their .op attribute. The fix changes isinstance(f, NotOp) to isinstance(f.op, NotOp) to correctly examine the wrapped operator type. This follows the established pattern used elsewhere in the file, such as the iteration at lines 572-574 which accesses o.op.is_temporal() on items from node.old. Signed-off-by: Wander Lairson Costa <wander@redhat.com> Reviewed-by: Nam Cao <namcao@linutronix.de> Link: https://lore.kernel.org/r/20260223162407.147003-16-wander@redhat.com Signed-off-by: Gabriele Monaco <gmonaco@redhat.com>
1 parent d7ee962 commit 8aee49c

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

tools/verification/rvgen/rvgen/ltl2ba.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ def is_temporal(self):
395395
@staticmethod
396396
def expand(n: ASTNode, node: GraphNode, node_set) -> set[GraphNode]:
397397
for f in node.old:
398-
if isinstance(f, NotOp) and f.op.child is n:
398+
if isinstance(f.op, NotOp) and f.op.child is n:
399399
return node_set
400400
node.old |= {n}
401401
return node.expand(node_set)

0 commit comments

Comments
 (0)