/* * Save current state for block. If this is the first time saving state * for block, create a new snapshot. Otherwise merge the current state into * the existing snapshot. */ void TraceBuilder::saveState(Block* block) { if (State* state = m_snapshots[block]) { mergeState(state); } else { m_snapshots[block] = createState().release(); } }
/* * Save current state for block. If this is the first time saving state * for block, create a new snapshot. Otherwise merge the current state into * the existing snapshot. */ void TraceBuilder::saveState(Block* block) { if (State* state = m_snapshots[block]) { mergeState(state); // reset caller's available values for all inlined frames for (auto& state : m_inlineSavedStates) { state->callerAvailableValues.clear(); } } else { m_snapshots[block] = createState().release(); } }
void ClientState::putProjectPersistent( const json::Object& projectPersistentState) { mergeState(projectPersistentState, &projectPersistentState_); }
void ClientState::putTemporary(const json::Object& temporaryState) { mergeState(temporaryState, &temporaryState_); }