Lines Matching refs:SourceLine
69 static int bytesSincePreviousTabOrLineBegin(StringRef SourceLine, size_t i) { in bytesSincePreviousTabOrLineBegin() argument
72 if (SourceLine[--i]=='\t') in bytesSincePreviousTabOrLineBegin()
99 printableTextForNextCharacter(StringRef SourceLine, size_t *i, in printableTextForNextCharacter() argument
102 assert(*i<SourceLine.size() && "must point to a valid index"); in printableTextForNextCharacter()
104 if (SourceLine[*i]=='\t') { in printableTextForNextCharacter()
107 unsigned col = bytesSincePreviousTabOrLineBegin(SourceLine, *i); in printableTextForNextCharacter()
119 begin = reinterpret_cast<unsigned char const *>(&*(SourceLine.begin() + *i)); in printableTextForNextCharacter()
120 end = begin + (SourceLine.size() - *i); in printableTextForNextCharacter()
127 begin + llvm::getNumBytesForUTF8(SourceLine[*i]); in printableTextForNextCharacter()
156 unsigned char byte = SourceLine[*i]; in printableTextForNextCharacter()
163 static void expandTabs(std::string &SourceLine, unsigned TabStop) { in expandTabs() argument
164 size_t i = SourceLine.size(); in expandTabs()
167 if (SourceLine[i]!='\t') in expandTabs()
171 = printableTextForNextCharacter(SourceLine, &tmp_i, TabStop); in expandTabs()
172 SourceLine.replace(i, 1, res.first.c_str()); in expandTabs()
198 static void byteToColumn(StringRef SourceLine, unsigned TabStop, in byteToColumn() argument
202 if (SourceLine.empty()) { in byteToColumn()
207 out.resize(SourceLine.size()+1, -1); in byteToColumn()
211 while (i<SourceLine.size()) { in byteToColumn()
214 = printableTextForNextCharacter(SourceLine, &i, TabStop); in byteToColumn()
232 static void columnToByte(StringRef SourceLine, unsigned TabStop, in columnToByte() argument
236 if (SourceLine.empty()) { in columnToByte()
243 while (i<SourceLine.size()) { in columnToByte()
247 = printableTextForNextCharacter(SourceLine, &i, TabStop); in columnToByte()
256 SourceColumnMap(StringRef SourceLine, unsigned TabStop) in SourceColumnMap()
257 : m_SourceLine(SourceLine) { in SourceColumnMap()
259 ::byteToColumn(SourceLine, TabStop, m_byteToColumn); in SourceColumnMap()
260 ::columnToByte(SourceLine, TabStop, m_columnToByte); in SourceColumnMap()
262 assert(m_byteToColumn.size()==SourceLine.size()+1); in SourceColumnMap()
322 static void selectInterestingSourceRegion(std::string &SourceLine, in selectInterestingSourceRegion() argument
415 while (SourceStart>0 || SourceEnd<SourceLine.size()) { in selectInterestingSourceRegion()
424 while (NewStart && isWhitespace(SourceLine[NewStart])) in selectInterestingSourceRegion()
430 if (isWhitespace(SourceLine[Prev])) in selectInterestingSourceRegion()
444 if (SourceEnd<SourceLine.size()) { in selectInterestingSourceRegion()
450 while (NewEnd < SourceLine.size() && isWhitespace(SourceLine[NewEnd])) in selectInterestingSourceRegion()
454 while (NewEnd < SourceLine.size() && isWhitespace(SourceLine[NewEnd])) in selectInterestingSourceRegion()
483 = map.byteToColumn(SourceLine.size())-map.byteToColumn(SourceEnd); in selectInterestingSourceRegion()
493 SourceLine.replace(SourceEnd, std::string::npos, back_ellipse); in selectInterestingSourceRegion()
501 SourceLine.replace(0, SourceStart, front_ellipse); in selectInterestingSourceRegion()
1205 std::string SourceLine(Line.begin(), Line.end()); in emitSnippetAndCaret() local
1208 const SourceColumnMap sourceColMap(SourceLine, DiagOpts->TabStop); in emitSnippetAndCaret()
1235 selectInterestingSourceRegion(SourceLine, CaretLine, FixItInsertionLine, in emitSnippetAndCaret()
1243 SourceLine = ' ' + SourceLine; in emitSnippetAndCaret()
1252 emitSnippet(SourceLine); in emitSnippetAndCaret()