diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax/Expression.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/Expression.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Expression.java b/src/main/java/com/google/devtools/build/lib/syntax/Expression.java index db5d4e658e..182c6567a4 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/Expression.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/Expression.java @@ -62,14 +62,18 @@ public abstract class Expression extends ASTNode { */ public final Object eval(Environment env) throws EvalException, InterruptedException { try { - Callstack.push(this); + if (Callstack.enabled) { + Callstack.push(this); + } try { return doEval(env); } catch (EvalException ex) { throw maybeTransformException(ex); } } finally { - Callstack.pop(); + if (Callstack.enabled) { + Callstack.pop(); + } } } |