I don't really like all the plumbing of bool parameters through so much
of the parser.

Why don't we *always* want typo correction when we call
TryAnnotateTypeOrScopeToken? If there are good reasons, why can we not
detect it from the immediate context?

I looked at a few other calls, and didn't see any reason why we'd want
to skip typo correction, but I didn't look at all of them. I think this
really does need someone more deeply familiar with name lookup in the
parser to look at it...


http://codereview.appspot.com/5014044/diff/1/include/clang/Parse/Parser.h
File include/clang/Parse/Parser.h (right):

http://codereview.appspot.com/5014044/diff/1/include/clang/Parse/Parser.h#newcode1316
include/clang/Parse/Parser.h:1316: bool
ParseCXXTypeSpecifierSeq(DeclSpec &DS, bool TryTypoCorrection=false);
spaces around =

http://codereview.appspot.com/5014044/diff/1/lib/Parse/ParseDecl.cpp
File lib/Parse/ParseDecl.cpp (right):

http://codereview.appspot.com/5014044/diff/1/lib/Parse/ParseDecl.cpp#newcode2241
lib/Parse/ParseDecl.cpp:2241: TemplateInfo, SuppressDeclarations,
TryTypoCorrection);
80-columns

http://codereview.appspot.com/5014044/diff/1/lib/Parse/ParseDecl.cpp#newcode2252
lib/Parse/ParseDecl.cpp:2252: TemplateInfo, SuppressDeclarations,
TryTypoCorrection);
80-columns

http://codereview.appspot.com/5014044/diff/1/lib/Parse/Parser.cpp
File lib/Parse/Parser.cpp (right):

http://codereview.appspot.com/5014044/diff/1/lib/Parse/Parser.cpp#newcode1282
lib/Parse/Parser.cpp:1282: IdentifierInfo *CorrectedII = NULL;
s/NULL/0/

http://codereview.appspot.com/5014044/diff/1/lib/Parse/Parser.cpp#newcode1291
lib/Parse/Parser.cpp:1291: : NULL)) {
s/NULL/0/

http://codereview.appspot.com/5014044/diff/1/lib/Sema/SemaDecl.cpp
File lib/Sema/SemaDecl.cpp (right):

http://codereview.appspot.com/5014044/diff/1/lib/Sema/SemaDecl.cpp#newcode150
lib/Sema/SemaDecl.cpp:150: TypoCorrection Corr =
CorrectTypo(Result.getLookupNameInfo(),
Can we use a name better than 'Corr'?

http://codereview.appspot.com/5014044/diff/1/lib/Sema/SemaDecl.cpp#newcode165
lib/Sema/SemaDecl.cpp:165: std::string
CorrectedStr(Corr.getAsString(getLangOptions()));
Doesn't CorrecReplacement accept a StringRef? If so, can't we pass it a
StringRef without creating an additional string?

http://codereview.appspot.com/5014044/diff/1/lib/Sema/SemaDecl.cpp#newcode166
lib/Sema/SemaDecl.cpp:166: std::string
CorrectedQuotedStr(Corr.getQuoted(getLangOptions()));
Please stream the identifier info into the diagnostic. Formatting
decisions such as this should be made entirely based on the type of the
object being printed in the diagnostic and the diagnostic text in the
table.

http://codereview.appspot.com/5014044/
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to