llvm-project/clang/lib/Basic
Douglas Gregor 57756eabc9 When performing typo correction, look through the set of known
identifiers to determine good typo-correction candidates. Once we've
identified those candidates, we perform name lookup on each of them
and the consider the results. 

This optimization makes typo correction > 2x faster on a benchmark
example using a single typo (NSstring) in a tiny file that includes
Cocoa.h from a precompiled header, since we are deserializing far less
information now during typo correction.

There is a semantic change here, which is interesting. The presence of
a similarly-named entity that is not visible can now affect typo
correction. This is both good (you won't get weird corrections if the
thing you wanted isn't in scope) and bad (you won't get good
corrections if there is a similarly-named-but-completely-unrelated
thing). Time will tell whether it was a good choice or not.

llvm-svn: 116528
2010-10-14 22:11:03 +00:00
..
Builtins.cpp Add builtin definition for scanf, including extending the builtin encoding to 2010-07-16 02:11:15 +00:00
CMakeLists.txt Revert "CMake: Update to use standard CMake dependency tracking facilities instead" 2010-09-13 23:54:41 +00:00
ConvertUTF.c Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
Diagnostic.cpp Teach Diagnostic to recursively expand inside %plural formats. 2010-10-14 01:55:31 +00:00
FileManager.cpp fix PR7953 - Windows filename are case insensitive: 2010-08-23 23:50:42 +00:00
IdentifierTable.cpp When performing typo correction, look through the set of known 2010-10-14 22:11:03 +00:00
Makefile Basic: Simplify getClangRepositoryPath and getClangRevision. 2010-09-29 19:15:29 +00:00
SourceLocation.cpp Update get*LineNumber() and get*ColumnNumber() functions to pass the 2010-03-16 20:53:17 +00:00
SourceManager.cpp Fix handling of the 'Invalid' argument in SourceManager's methods (patch by Dean Sturtevant, reviewed by chandlerc and Sebastian Redl). 2010-10-05 17:56:33 +00:00
TargetInfo.cpp Fixed pr20314-2.c failure, added E, F, p constraint letters. 2010-09-21 22:04:54 +00:00
Targets.cpp Per discussion with Sanjiv, remove the PIC16 target from mainline. When/if 2010-10-11 05:44:49 +00:00
TokenKinds.cpp This patch adds a PUNCTUATOR macro (specialization of TOK) in TokenKinds.def and makes use of it in tok::getTokenSimpleSpelling. 2009-11-28 16:09:28 +00:00
Version.cpp Basic: Tweak attempt to make version tags work from 'svn export's again, clip 2010-10-11 23:50:34 +00:00