std::vector<const Transaction*> IncrementalParser::getAllTransactions() { std::vector<const Transaction*> result; const cling::Transaction* T = getFirstTransaction(); while (T) { result.push_back(T); T = T->getNext(); } return result; }
IncrementalParser::~IncrementalParser() { Transaction* T = const_cast<Transaction*>(getFirstTransaction()); while (T) { assert((T->getState() == Transaction::kCommitted || T->getState() == Transaction::kRolledBackWithErrors || T->getState() == Transaction::kNumStates // reset from the pool || T->getState() == Transaction::kRolledBack) && "Not committed?"); const Transaction* nextT = T->getNext(); m_TransactionPool->releaseTransaction(T, false); T = const_cast<Transaction*>(nextT); } }
IncrementalParser::~IncrementalParser() { if (hasCodeGenerator()) { getCodeGenerator()->ReleaseModule(); } const Transaction* T = getFirstTransaction(); const Transaction* nextT = 0; while (T) { nextT = T->getNext(); delete T; T = nextT; } for (size_t i = 0; i < m_TTransformers.size(); ++i) delete m_TTransformers[i]; }
IncrementalParser::~IncrementalParser() { if (hasCodeGenerator()) { getCodeGenerator()->ReleaseModule(); } const Transaction* T = getFirstTransaction(); const Transaction* nextT = 0; while (T) { assert((T->getState() == Transaction::kCommitted || T->getState() == Transaction::kRolledBack) && "Not committed?"); nextT = T->getNext(); delete T; T = nextT; } for (size_t i = 0; i < m_ASTTransformers.size(); ++i) delete m_ASTTransformers[i]; for (size_t i = 0; i < m_IRTransformers.size(); ++i) delete m_IRTransformers[i]; }