diff options
author | Ben Burdette <bburdette@protonmail.com> | 2022-05-12 13:59:58 -0600 |
---|---|---|
committer | Ben Burdette <bburdette@protonmail.com> | 2022-05-12 13:59:58 -0600 |
commit | 1ea13084c9aac84e7877f9051f656eb5ea519d8a (patch) | |
tree | 75e3764fb0fe447ef041093c2c72539908ace3c9 /src/libexpr/eval.cc | |
parent | 2c9fafdc9e43f6da39c289888dedbbbf0ea0b208 (diff) |
template-ize debugThrow
Diffstat (limited to 'src/libexpr/eval.cc')
-rw-r--r-- | src/libexpr/eval.cc | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc index 54872669a..8ba3688d8 100644 --- a/src/libexpr/eval.cc +++ b/src/libexpr/eval.cc @@ -802,30 +802,6 @@ std::unique_ptr<ValMap> mapStaticEnvBindings(const SymbolTable & st, const Stati return vm; } -void EvalState::debugThrowLastTrace(Error & e) const -{ - std::cout << "debugThrowLastTrace(Error & e) const" << (debuggerHook == nullptr) << std::endl; - // Call this in the situation where Expr and Env are inaccessible. - // The debugger will start in the last context that's in the - // DebugTrace stack. - if (debuggerHook && !debugTraces.empty()) { - const DebugTrace & last = debugTraces.front(); - debuggerHook(&e, last.env, last.expr); - } - - throw e; -} - - -void EvalState::debugThrow(const Error &error, const Env & env, const Expr & expr) const -{ - std::cout << "debugThrow" << (debuggerHook == nullptr) << std::endl; - if (debuggerHook) - debuggerHook(&error, env, expr); - - throw error; -} - /* Every "format" object (even temporary) takes up a few hundred bytes of stack space, which is a real killer in the recursive evaluator. So here are some helper functions for throwing |