forked from OSchip/llvm-project
Fix 'unknown documentation command' warning ranges
Warnings generated by -Wdocumentation-unknown-command did only have a start location, not a full source range. This resulted in only the "carret" being show in messages, and IDEs highlighting only the single initial character. llvm-svn: 285056
This commit is contained in:
parent
7df3043db3
commit
490823746a
|
@ -378,15 +378,17 @@ void Lexer::lexCommentText(Token &T) {
|
|||
if ((Info = Traits.getTypoCorrectCommandInfo(CommandName))) {
|
||||
StringRef CorrectedName = Info->Name;
|
||||
SourceLocation Loc = getSourceLocation(BufferPtr);
|
||||
SourceRange CommandRange(Loc.getLocWithOffset(1),
|
||||
getSourceLocation(TokenPtr));
|
||||
SourceLocation EndLoc = getSourceLocation(TokenPtr);
|
||||
SourceRange FullRange = SourceRange(Loc, EndLoc);
|
||||
SourceRange CommandRange(Loc.getLocWithOffset(1), EndLoc);
|
||||
Diag(Loc, diag::warn_correct_comment_command_name)
|
||||
<< CommandName << CorrectedName
|
||||
<< FullRange << CommandName << CorrectedName
|
||||
<< FixItHint::CreateReplacement(CommandRange, CorrectedName);
|
||||
} else {
|
||||
formTokenWithChars(T, TokenPtr, tok::unknown_command);
|
||||
T.setUnknownCommandName(CommandName);
|
||||
Diag(T.getLocation(), diag::warn_unknown_comment_command_name);
|
||||
Diag(T.getLocation(), diag::warn_unknown_comment_command_name)
|
||||
<< SourceRange(T.getLocation(), T.getEndLocation());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,3 +9,7 @@ int test_unknown_comand_1;
|
|||
/// \retur aaa
|
||||
int test_unknown_comand_2();
|
||||
|
||||
// RUN: c-index-test -test-load-source all -Wdocumentation-unknown-command %s > /dev/null 2> %t.err
|
||||
// RUN: FileCheck < %t.err -check-prefix=CHECK-RANGE %s
|
||||
// CHECK-RANGE: warn-documentation-unknown-command.cpp:5:9:{5:9-5:17}: warning: unknown command tag name
|
||||
// CHECK-RANGE: warn-documentation-unknown-command.cpp:9:5:{9:5-9:11}: warning: unknown command tag name 'retur'; did you mean 'return'?
|
||||
|
|
Loading…
Reference in New Issue