| 884 | } |
| 885 | |
| 886 | void Debugger::PopFrame(CallStackFrame const & frame) |
| 887 | { |
| 888 | if (callStack_.empty()) { |
| 889 | Fail("Tried to remove frame from empty callstack"); |
| 890 | } |
| 891 | |
| 892 | auto const & lastFrame = *callStack_.rbegin(); |
| 893 | if (lastFrame.frameType != frame.frameType |
| 894 | || lastFrame.node != frame.node |
| 895 | || lastFrame.goal != frame.goal |
| 896 | || lastFrame.tupleLL != frame.tupleLL |
| 897 | || lastFrame.tuplePtrLL != frame.tuplePtrLL |
| 898 | || lastFrame.actionIndex != frame.actionIndex) { |
| 899 | Fail("Call stack frame mismatch"); |
| 900 | } |
| 901 | |
| 902 | callStack_.pop_back(); |
| 903 | } |
| 904 | |
| 905 | void Debugger::IsValidPreHook(Node * node, VirtTupleLL * tuple, AdapterRef * adapter) |
| 906 | { |