Fix text range end columns in SARIF to be exclusive

According to the SARIF specification, "a text region does not include the character specified by endColumn".

Differential Revision: https://reviews.llvm.org/D65206

llvm-svn: 370060
This commit is contained in:
Joe Ranieri 2019-08-27 13:49:45 +00:00
parent 99178faf59
commit 68a6a28ef8
3 changed files with 20 additions and 17 deletions

View File

@ -143,11 +143,17 @@ static json::Object createFileLocation(const FileEntry &FE,
}
static json::Object createTextRegion(SourceRange R, const SourceManager &SM) {
return json::Object{
json::Object Region{
{"startLine", SM.getExpansionLineNumber(R.getBegin())},
{"endLine", SM.getExpansionLineNumber(R.getEnd())},
{"startColumn", SM.getExpansionColumnNumber(R.getBegin())},
{"endColumn", SM.getExpansionColumnNumber(R.getEnd())}};
};
if (R.getBegin() == R.getEnd()) {
Region["endColumn"] = SM.getExpansionColumnNumber(R.getBegin());
} else {
Region["endLine"] = SM.getExpansionLineNumber(R.getEnd());
Region["endColumn"] = SM.getExpansionColumnNumber(R.getEnd()) + 1;
}
return Region;
}
static json::Object createPhysicalLocation(SourceRange R, const FileEntry &FE,

View File

@ -44,7 +44,7 @@
"fileIndex": 0,
},
"region": {
"endColumn": 5,
"endColumn": 6,
"endLine": 13,
"startColumn": 3,
"startLine": 13
@ -63,7 +63,7 @@
"fileIndex": 0,
},
"region": {
"endColumn": 17,
"endColumn": 18,
"endLine": 9,
"startColumn": 11,
"startLine": 9
@ -83,7 +83,7 @@
"fileIndex": 0,
},
"region": {
"endColumn": 17,
"endColumn": 18,
"endLine": 9,
"startColumn": 11,
"startLine": 9

View File

@ -64,7 +64,7 @@
"fileIndex": 0,
},
"region": {
"endColumn": 5,
"endColumn": 6,
"endLine": 24,
"startColumn": 3,
"startLine": 24
@ -83,7 +83,7 @@
"fileIndex": 0,
},
"region": {
"endColumn": 17,
"endColumn": 18,
"endLine": 9,
"startColumn": 11,
"startLine": 9
@ -103,7 +103,7 @@
"fileIndex": 0,
},
"region": {
"endColumn": 17,
"endColumn": 18,
"endLine": 9,
"startColumn": 11,
"startLine": 9
@ -134,7 +134,7 @@
"fileIndex": 0,
},
"region": {
"endColumn": 5,
"endColumn": 6,
"endLine": 25,
"startColumn": 3,
"startLine": 25
@ -153,7 +153,7 @@
"fileIndex": 0,
},
"region": {
"endColumn": 10,
"endColumn": 11,
"endLine": 13,
"startColumn": 3,
"startLine": 13
@ -172,7 +172,7 @@
"fileIndex": 0,
},
"region": {
"endColumn": 8,
"endColumn": 9,
"endLine": 14,
"startColumn": 3,
"startLine": 14
@ -192,7 +192,7 @@
"fileIndex": 0,
},
"region": {
"endColumn": 8,
"endColumn": 9,
"endLine": 14,
"startColumn": 3,
"startLine": 14
@ -223,7 +223,7 @@
"fileIndex": 0,
},
"region": {
"endColumn": 12,
"endColumn": 13,
"endLine": 18,
"startColumn": 7,
"startLine": 18
@ -243,7 +243,6 @@
},
"region": {
"endColumn": 3,
"endLine": 18,
"startColumn": 3,
"startLine": 18
}
@ -262,7 +261,6 @@
},
"region": {
"endColumn": 14,
"endLine": 19,
"startColumn": 14,
"startLine": 19
}
@ -282,7 +280,6 @@
},
"region": {
"endColumn": 14,
"endLine": 19,
"startColumn": 14,
"startLine": 19
}