diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-04-17 22:10:55 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-04-17 22:10:55 +0000 |
commit | 87f9d81d0ab806dcf6ca50a0c068dcb2ba7f51b3 (patch) | |
tree | c8136fa64b9cee546774304b7375893b1208e58b /include/clang/Serialization/GlobalModuleIndex.h | |
parent | 9753d462fabba1db75a977cb1f75ea66e9081120 (diff) |
[Modules] Use global index to improve typo correction performance
Typo correction for an unqualified name needs to walk through all of the identifier tables of all modules.
When we have a global index, just walk its identifier table only.
rdar://13425732
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179730 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Serialization/GlobalModuleIndex.h')
-rw-r--r-- | include/clang/Serialization/GlobalModuleIndex.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/clang/Serialization/GlobalModuleIndex.h b/include/clang/Serialization/GlobalModuleIndex.h index eaf26d1df1..ab91f4009c 100644 --- a/include/clang/Serialization/GlobalModuleIndex.h +++ b/include/clang/Serialization/GlobalModuleIndex.h @@ -146,6 +146,11 @@ public: static std::pair<GlobalModuleIndex *, ErrorCode> readIndex(StringRef Path); + /// \brief Returns an iterator for identifiers stored in the index table. + /// + /// The caller accepts ownership of the returned object. + IdentifierIterator *createIdentifierIterator() const; + /// \brief Retrieve the set of modules that have up-to-date indexes. /// /// \param ModuleFiles Will be populated with the set of module files that |