]> granicus.if.org Git - clang/commit
In CorrectTypo, use the cached correction as a starting point instead.
authorKaelyn Uhrain <rikka@google.com>
Mon, 23 Jan 2012 20:18:59 +0000 (20:18 +0000)
committerKaelyn Uhrain <rikka@google.com>
Mon, 23 Jan 2012 20:18:59 +0000 (20:18 +0000)
commit438ee1fc5e5baaa204faede83cb999e45bb6b57e
tree4e19c1899bef5a1df550671016c4f2a9109b9228
parentf5249f509e3ab937921f37ce5a34b7c87474a087
In CorrectTypo, use the cached correction as a starting point instead.

Previously, for unqualified lookups, a positive cache hit is used as the
only non-keyword correction and a negative cache hit immediately returns
an empty TypoCorrection. With the new callback objects, this behavior
causes false negatives by not accounting for the fact that callback
objects alter the set of potential/allowed corrections. The new behavior
is to seed the set of corrections with the cached correction (for
positive hits) to estabilishing a baseline edit distance. Negative cache
hits are only stored or used when either no callback object is provided
or when it returns true for a call to ValidateCandidate with an empty
TypoCorrection (i.e. when ValidateCandidate does not seem to be doing
any checking of the TypoCorrection, such as when an instance of the base
callback class is used solely to specify the set of keywords to be accepted).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148720 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaLookup.cpp
test/SemaCXX/typo-correction.cpp