| 42 | } |
| 43 | |
| 44 | QueryFile::DefUpdate buildFileDefUpdate(IndexFile &&indexed) { |
| 45 | QueryFile::Def def; |
| 46 | def.path = std::move(indexed.path); |
| 47 | def.args = std::move(indexed.args); |
| 48 | def.includes = std::move(indexed.includes); |
| 49 | def.skipped_ranges = std::move(indexed.skipped_ranges); |
| 50 | def.dependencies.reserve(indexed.dependencies.size()); |
| 51 | for (auto &dep : indexed.dependencies) |
| 52 | def.dependencies.push_back(dep.first.val().data()); // llvm 8 -> data() |
| 53 | def.language = indexed.language; |
| 54 | return {std::move(def), std::move(indexed.file_contents)}; |
| 55 | } |
| 56 | |
| 57 | // Returns true if an element with the same file is found. |
| 58 | template <typename Q> bool tryReplaceDef(llvm::SmallVectorImpl<Q> &def_list, Q &&def) { |