Lines Matching defs:SourceLine

77 static int bytesSincePreviousTabOrLineBegin(StringRef SourceLine, size_t i) {
80 if (SourceLine[--i]=='\t')
101 /// \param SourceLine The line of source
107 printableTextForNextCharacter(StringRef SourceLine, size_t *I,
110 assert(*I < SourceLine.size() && "must point to a valid index");
112 if (SourceLine[*I] == '\t') {
115 unsigned Col = bytesSincePreviousTabOrLineBegin(SourceLine, *I);
126 const unsigned char *Begin = SourceLine.bytes_begin() + *I;
137 if (End <= SourceLine.bytes_end() && llvm::isLegalUTF8Sequence(Begin, End)) {
169 unsigned char Byte = SourceLine[*I];
176 static void expandTabs(std::string &SourceLine, unsigned TabStop) {
177 size_t I = SourceLine.size();
180 if (SourceLine[I] != '\t')
184 printableTextForNextCharacter(SourceLine, &TmpI, TabStop);
185 SourceLine.replace(I, 1, Str.c_str());
225 static void genColumnByteMapping(StringRef SourceLine, unsigned TabStop,
231 if (SourceLine.empty()) {
237 ColumnsOut.resize(SourceLine.size() + 1, -1);
241 while (I < SourceLine.size()) {
246 printableTextForNextCharacter(SourceLine, &I, TabStop);
257 SourceColumnMap(StringRef SourceLine, unsigned TabStop)
258 : m_SourceLine(SourceLine) {
260 genColumnByteMapping(SourceLine, TabStop, m_columnToByte, m_byteToColumn);
262 assert(m_byteToColumn.size()==SourceLine.size()+1);
322 static void selectInterestingSourceRegion(std::string &SourceLine,
415 while (SourceStart>0 || SourceEnd<SourceLine.size()) {
424 while (NewStart && isWhitespace(SourceLine[NewStart]))
430 if (isWhitespace(SourceLine[Prev]))
444 if (SourceEnd<SourceLine.size()) {
450 while (NewEnd < SourceLine.size() && isWhitespace(SourceLine[NewEnd]))
454 while (NewEnd < SourceLine.size() && isWhitespace(SourceLine[NewEnd]))
481 = map.byteToColumn(SourceLine.size())-map.byteToColumn(SourceEnd);
491 SourceLine.replace(SourceEnd, std::string::npos, back_ellipse);
499 SourceLine.replace(0, SourceStart, front_ellipse);
1378 std::string SourceLine(LineStart, LineEnd);
1380 while (!SourceLine.empty() && SourceLine.back() == '\0' &&
1381 (LineNo != CaretLineNo || SourceLine.size() > CaretColNo))
1382 SourceLine.pop_back();
1385 const SourceColumnMap sourceColMap(SourceLine, DiagOpts->TabStop);
1408 selectInterestingSourceRegion(SourceLine, CaretLine, FixItInsertionLine,
1415 if (DiagOpts->ShowSourceRanges && !SourceLine.empty()) {
1416 SourceLine = ' ' + SourceLine;
1421 emitSnippet(SourceLine, MaxLineNoDisplayWidth, LineNo, DisplayLineNo,
1450 void TextDiagnostic::emitSnippet(StringRef SourceLine,
1465 while (I < SourceLine.size()) {
1467 printableTextForNextCharacter(SourceLine, &I, DiagOpts->TabStop);