| 156 | }; |
| 157 | |
| 158 | void SetNodeDataRequest::destroy(SetNodeData* data, KDevelop::AbstractItemRepository& _repository) |
| 159 | { |
| 160 | auto& repository(static_cast<SetDataRepository&>(_repository)); |
| 161 | |
| 162 | if (repository.setRepository->delayedDeletion()) { |
| 163 | if (data->leftNode()) { |
| 164 | SetDataRepositoryBase::MyDynamicItem left = repository.dynamicItemFromIndex(data->leftNode()); |
| 165 | SetDataRepositoryBase::MyDynamicItem right = repository.dynamicItemFromIndex(data->rightNode()); |
| 166 | Q_ASSERT(left->m_refCount > 0); |
| 167 | --left->m_refCount; |
| 168 | Q_ASSERT(right->m_refCount > 0); |
| 169 | --right->m_refCount; |
| 170 | } else { |
| 171 | //Deleting a leaf |
| 172 | Q_ASSERT(data->end() - data->start() == 1); |
| 173 | repository.setRepository->itemRemovedFromSets(data->start()); |
| 174 | } |
| 175 | } |
| 176 | } |
| 177 | |
| 178 | SetNodeDataRequest::SetNodeDataRequest(const SetNodeData* _data, SetDataRepository& _repository, |
| 179 | BasicSetRepository* _setRepository) : data(*_data) |
no test coverage detected