[llvm] r333608 - [llvm-cov] Use the new PrintHTMLEscaped utility
Jonas Devlieghere via llvm-commits
llvm-commits at lists.llvm.org
Thu May 31 09:47:31 PDT 2018
Yup, I chose this for consistency with PrintEscapedString but I'll update both. Thanks!
> On May 31, 2018, at 5:45 PM, Adrian Prantl <aprantl at apple.com> wrote:
>
> Shouldn't the function name be "printHTMLEscaped" according to the coding guidelines?
>
> -- adrian
>
>> On May 30, 2018, at 4:35 PM, Vedant Kumar via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>>
>> Author: vedantk
>> Date: Wed May 30 16:35:14 2018
>> New Revision: 333608
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=333608&view=rev
>> Log:
>> [llvm-cov] Use the new PrintHTMLEscaped utility
>>
>> This removes some duplicate logic to escape characters in HTML output.
>>
>> Modified:
>> llvm/trunk/test/tools/llvm-cov/showTabsHTML.cpp
>> llvm/trunk/tools/llvm-cov/SourceCoverageViewHTML.cpp
>>
>> Modified: llvm/trunk/test/tools/llvm-cov/showTabsHTML.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-cov/showTabsHTML.cpp?rev=333608&r1=333607&r2=333608&view=diff
>> ==============================================================================
>> --- llvm/trunk/test/tools/llvm-cov/showTabsHTML.cpp (original)
>> +++ llvm/trunk/test/tools/llvm-cov/showTabsHTML.cpp Wed May 30 16:35:14 2018
>> @@ -1,16 +1,16 @@
>> // RUN: llvm-profdata merge -o %t.profdata %S/Inputs/showTabsHTML.proftext
>> -// RUN: llvm-cov show %S/Inputs/showTabsHTML.covmapping -format html -instr-profile %t.profdata -path-equivalence=/tmp,%S %s | FileCheck %s
>> +// RUN: llvm-cov show %S/Inputs/showTabsHTML.covmapping -format html -instr-profile %t.profdata -path-equivalence=/tmp,%S %s | FileCheck %s --strict-whitespace
>>
>> int main(int argc, char ** argv) {
>> - (void) "This tab starts at column 0"; // CHECK: (void) "This tab starts at column 0";
>> - (void) " This tab starts at column 10"; // CHECK: (void) " This tab starts at column 10";
>> - (void) "This tab starts at column 15"; // CHECK: (void) "This tab starts at column 15";
>> + (void) "This tab starts at column 0"; // CHECK: > (void) "This tab starts at column 0";
>> + (void) " This tab starts at column 10"; // CHECK: > (void) " This tab starts at column 10";
>> + (void) "This tab starts at column 15"; // CHECK: > (void) "This tab starts at column 15";
>>
>> return 0;
>> }
>>
>> // RUN: llvm-cov show %S/Inputs/showTabsHTML.covmapping -format html -tab-size=3 -instr-profile %t.profdata -path-equivalence=/tmp,%S %s | FileCheck -check-prefix=CHECK-TABSIZE %s
>>
>> -// CHECK-TABSIZE: (void) "This tab starts at column 0";
>> -// CHECK-TABSIZE: (void) " This tab starts at column 10";
>> -// CHECK-TABSIZE: (void) "This tab starts at column 15";
>> +// CHECK-TABSIZE: > (void) "This tab starts at column 0";
>> +// CHECK-TABSIZE: > (void) " This tab starts at column 10";
>> +// CHECK-TABSIZE: > (void) "This tab starts at column 15";
>>
>> Modified: llvm/trunk/tools/llvm-cov/SourceCoverageViewHTML.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-cov/SourceCoverageViewHTML.cpp?rev=333608&r1=333607&r2=333608&view=diff
>> ==============================================================================
>> --- llvm/trunk/tools/llvm-cov/SourceCoverageViewHTML.cpp (original)
>> +++ llvm/trunk/tools/llvm-cov/SourceCoverageViewHTML.cpp Wed May 30 16:35:14 2018
>> @@ -25,31 +25,29 @@ namespace {
>>
>> // Return a string with the special characters in \p Str escaped.
>> std::string escape(StringRef Str, const CoverageViewOptions &Opts) {
>> - std::string Result;
>> + std::string TabExpandedResult;
>> unsigned ColNum = 0; // Record the column number.
>> for (char C : Str) {
>> - ++ColNum;
>> - if (C == '&')
>> - Result += "&";
>> - else if (C == '<')
>> - Result += "<";
>> - else if (C == '>')
>> - Result += ">";
>> - else if (C == '\"')
>> - Result += """;
>> - else if (C == '\n' || C == '\r') {
>> - Result += C;
>> - ColNum = 0;
>> - } else if (C == '\t') {
>> - // Replace '\t' with TabSize spaces.
>> - unsigned NumSpaces = Opts.TabSize - (--ColNum % Opts.TabSize);
>> + if (C == '\t') {
>> + // Replace '\t' with up to TabSize spaces.
>> + unsigned NumSpaces = Opts.TabSize - (ColNum % Opts.TabSize);
>> for (unsigned I = 0; I < NumSpaces; ++I)
>> - Result += " ";
>> + TabExpandedResult += ' ';
>> ColNum += NumSpaces;
>> - } else
>> - Result += C;
>> + } else {
>> + TabExpandedResult += C;
>> + if (C == '\n' || C == '\r')
>> + ColNum = 0;
>> + else
>> + ++ColNum;
>> + }
>> }
>> - return Result;
>> + std::string EscapedHTML;
>> + {
>> + raw_string_ostream OS{EscapedHTML};
>> + PrintHTMLEscaped(TabExpandedResult, OS);
>> + }
>> + return EscapedHTML;
>> }
>>
>> // Create a \p Name tag around \p Str, and optionally set its \p ClassName.
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
More information about the llvm-commits
mailing list