Lines Matching refs:LineInfo
575 bool SourcePrinter::cacheSource(const DILineInfo &LineInfo) { in cacheSource() argument
577 if (LineInfo.Source) { in cacheSource()
578 Buffer = MemoryBuffer::getMemBuffer(*LineInfo.Source); in cacheSource()
580 auto BufferOrError = MemoryBuffer::getFile(LineInfo.FileName); in cacheSource()
582 if (MissingSources.insert(LineInfo.FileName).second) in cacheSource()
583 reportWarning("failed to find source " + LineInfo.FileName, in cacheSource()
592 std::vector<StringRef> &Lines = LineCache[LineInfo.FileName]; in cacheSource()
601 SourceCache[LineInfo.FileName] = std::move(Buffer); in cacheSource()
612 DILineInfo LineInfo = DILineInfo(); in printSourceLine() local
618 LineInfo = *ExpectedLineInfo; in printSourceLine()
620 if (LineInfo.FileName == DILineInfo::BadString) { in printSourceLine()
632 if (LineInfo.Line == 0 || ((OldLineInfo.Line == LineInfo.Line) && in printSourceLine()
633 (OldLineInfo.FileName == LineInfo.FileName))) in printSourceLine()
637 OS << Delimiter << LineInfo.FileName << ":" << LineInfo.Line << "\n"; in printSourceLine()
639 if (SourceCache.find(LineInfo.FileName) == SourceCache.end()) in printSourceLine()
640 if (!cacheSource(LineInfo)) in printSourceLine()
642 auto LineBuffer = LineCache.find(LineInfo.FileName); in printSourceLine()
644 if (LineInfo.Line > LineBuffer->second.size()) { in printSourceLine()
648 LineInfo.Line, LineInfo.FileName), in printSourceLine()
653 OS << Delimiter << LineBuffer->second[LineInfo.Line - 1] << '\n'; in printSourceLine()
656 OldLineInfo = LineInfo; in printSourceLine()