about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/focaccia/symbolic.py9
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: