void Snapshot::insert(const Document::Ptr &document, bool allowInvalid) { if (document && (allowInvalid || document->qmlProgram() || document->jsProgram())) { const QString fileName = document->fileName(); const QString path = document->path(); remove(fileName); _documentsByPath[path].append(document); _documents.insert(fileName, document); } }
void Snapshot::remove(const QString &fileName) { Document::Ptr doc = _documents.value(fileName); if (!doc.isNull()) { const QString &path = doc->path(); QList<Document::Ptr> docs = _documentsByPath.value(path); docs.removeAll(doc); _documentsByPath[path] = docs; _documents.remove(fileName); } }