diff options
| -rw-r--r-- | src/focaccia/symbolic.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/focaccia/symbolic.py b/src/focaccia/symbolic.py index cf3ef08..6a99b60 100644 --- a/src/focaccia/symbolic.py +++ b/src/focaccia/symbolic.py @@ -56,9 +56,12 @@ def eval_symbol(symbol: Expr, conc_state: ReadableProgramState) -> int: f' that contain IR location expressions.') res = eval_expr(symbol, ConcreteStateWrapper(conc_state)) - assert(isinstance(res, ExprInt)) # Must be either ExprInt or ExprLoc, - # but ExprLocs are disallowed by the - # ConcreteStateWrapper + + # Must be either ExprInt or ExprLoc, + # but ExprLocs are disallowed by the + # ConcreteStateWrapper + if not isinstance(res, ExprInt): + raise Exception(f'{res} from symbol {symbol} is not an instance of ExprInt but only ExprInt can be evaluated') return int(res) class Instruction: |