StackVisitor::Status operator()(StackVisitor& visitor) { if (!m_foundStartCallFrame && (visitor->callFrame() == m_startCallFrame)) m_foundStartCallFrame = true; if (m_foundStartCallFrame) { if (visitor->callFrame()->codeBlock()) { m_foundCallFrame = visitor->callFrame(); return StackVisitor::Done; } m_index++; } return StackVisitor::Continue; }
StackVisitor::Status operator()(StackVisitor& visitor) { if (visitor->callFrame() == m_callFrame) { m_callerFrame = visitor->callerFrame(); return StackVisitor::Done; } return StackVisitor::Continue; }
StackVisitor::Status operator()(StackVisitor& visitor) { if (!m_hasSkippedFirstFrame) { m_hasSkippedFirstFrame = true; return StackVisitor::Continue; } if (m_object->allowsAccessFrom(visitor->callFrame())) m_result = JSValue::encode(m_object->prototype()); return StackVisitor::Done; }