verification/rvgen: Fix ltl2k writing True as a literal

The rvgen parser for LTL stores literal true values in the python
representation (capitalised True), this doesn't build in C.
The Literal class should already handle this case but ASTNode skips its
strigification method and converts the value (true/false) directly.

Fix by delegating ASTNode stringification to the Literal and Variable
classes instead of bypassing them.

Fixes: 97ffa4ce6a ("verification/rvgen: Add support for linear temporal logic")
Reviewed-by: Nam Cao <namcao@linutronix.de>
Link: https://lore.kernel.org/r/20260514152055.229162-8-gmonaco@redhat.com
Signed-off-by: Gabriele Monaco <gmonaco@redhat.com>
This commit is contained in:
Gabriele Monaco 2026-05-14 17:20:48 +02:00
commit df996599cc

View file

@ -122,10 +122,8 @@ class ASTNode:
return self.op.expand(self, node, node_set)
def __str__(self):
if isinstance(self.op, Literal):
return str(self.op.value)
if isinstance(self.op, Variable):
return self.op.name.lower()
if isinstance(self.op, (Literal, Variable)):
return str(self.op)
return "val" + str(self.id)
def normalize(self):
@ -382,6 +380,9 @@ class Variable:
def __iter__(self):
yield from ()
def __str__(self):
return self.name.lower()
def negate(self):
new = ASTNode(self)
return NotOp(new)