void TypeOfExpression::processEnvironment(Document::Ptr doc, Environment *env, QSet<QString> *processed) const { if (doc && ! processed->contains(doc->fileName())) { processed->insert(doc->fileName()); foreach (const Document::Include &incl, doc->includes()) processEnvironment(m_snapshot.document(incl.fileName()), env, processed); foreach (const Macro ¯o, doc->definedMacros()) env->bind(macro); }
void Snapshot::simplified_helper(Document::Ptr doc, Snapshot *snapshot) const { if (! doc) return; if (! snapshot->contains(doc->fileName())) { snapshot->insert(doc); foreach (const Document::Include &incl, doc->includes()) { Document::Ptr includedDoc = document(incl.fileName()); simplified_helper(includedDoc, snapshot); } }
void process(Document::Ptr doc, QSet<Namespace *> *processed) { if (! doc) return; else if (! processed->contains(doc->globalNamespace())) { processed->insert(doc->globalNamespace()); foreach (const Document::Include &i, doc->includes()) process(_snapshot.document(i.resolvedFileName()), processed); _mainDocument = (doc == _doc); // ### improve accept(doc->globalNamespace()); }
void SnapshotSymbolVisitor::accept(Document::Ptr doc, QSet<QString> *processed) { if (doc && doc->globalNamespace() && ! processed->contains(doc->fileName())) { processed->insert(doc->fileName()); foreach (const Document::Include &i, doc->includes()) { if (Document::Ptr incl = _snapshot.document(i.fileName())) accept(incl, processed); } std::swap(_document, doc); accept(_document->globalNamespace()); std::swap(_document, doc); }
void TypeOfExpression::processEnvironment(Snapshot documents, Document::Ptr doc, Environment *env, QSet<QString> *processed) const { if (! doc) return; if (processed->contains(doc->fileName())) return; processed->insert(doc->fileName()); foreach (const Document::Include &incl, doc->includes()) { processEnvironment(documents, documents.value(incl.fileName()), env, processed); } foreach (const Macro ¯o, doc->definedMacros()) env->bind(macro); }