Lines Matching defs:Buffer

144   /// Match - Match the pattern string against the input buffer Buffer.  This
150 size_t Match(StringRef Buffer, size_t &MatchLen,
155 void PrintFailureInfo(const SourceMgr &SM, StringRef Buffer,
168 /// matching this pattern at the start of \arg Buffer; a distance of zero
170 unsigned ComputeMatchDistance(StringRef Buffer,
402 /// Match - Match the pattern string against the input buffer Buffer. This
405 size_t Pattern::Match(StringRef Buffer, size_t &MatchLen,
410 return Buffer.size();
416 return Buffer.find(FixedStr);
458 if (!Regex(RegExToMatch, Regex::Newline).match(Buffer, &MatchInfo))
472 return FullMatch.data()-Buffer.data();
475 unsigned Pattern::ComputeMatchDistance(StringRef Buffer,
488 StringRef BufferPrefix = Buffer.substr(0, ExampleString.size());
493 void Pattern::PrintFailureInfo(const SourceMgr &SM, StringRef Buffer,
526 SM.PrintMessage(SMLoc::getFromPointer(Buffer.data()), SourceMgr::DK_Note,
540 for (size_t i = 0, e = std::min(size_t(4096), Buffer.size()); i != e; ++i) {
541 if (Buffer[i] == '\n')
546 if (Buffer[i] == ' ' || Buffer[i] == '\t')
551 unsigned Distance = ComputeMatchDistance(Buffer.substr(i), VariableTable);
564 SM.PrintMessage(SMLoc::getFromPointer(Buffer.data() + Best),
639 size_t Check(const SourceMgr &SM, StringRef Buffer, bool IsLabelScanMode,
643 bool CheckNext(const SourceMgr &SM, StringRef Buffer) const;
646 bool CheckSame(const SourceMgr &SM, StringRef Buffer) const;
649 bool CheckNot(const SourceMgr &SM, StringRef Buffer,
654 size_t CheckDag(const SourceMgr &SM, StringRef Buffer,
731 static Check::CheckType FindCheckType(StringRef Buffer, StringRef Prefix) {
732 char NextChar = Buffer[Prefix.size()];
741 StringRef Rest = Buffer.drop_front(Prefix.size() + 1);
781 static StringRef FindFirstCandidateMatch(StringRef &Buffer,
793 size_t PrefixLoc = Buffer.find(Prefix);
804 SearchLoc = SkipWord(Buffer, PrefixLoc);
814 StringRef Rest = Buffer.drop_front(PrefixLoc);
818 if (PrefixLoc != 0 && IsPartOfWord(Buffer[PrefixLoc - 1]))
838 static StringRef FindFirstMatchingPrefix(StringRef &Buffer,
842 while (!Buffer.empty()) {
843 StringRef Prefix = FindFirstCandidateMatch(Buffer, CheckTy, CheckLoc);
846 LineNumber += Buffer.substr(0, CheckLoc).count('\n');
854 LineNumber += Buffer.substr(0, CheckLoc + 1).count('\n');
857 Buffer = Buffer.drop_front(CheckLoc + 1);
882 StringRef Buffer = F->getBuffer();
916 StringRef UsedPrefix = FindFirstMatchingPrefix(Buffer,
923 Buffer = Buffer.drop_front(PrefixLoc);
926 const char *UsedPrefixStart = Buffer.data() + (PrefixLoc == 0 ? 0 : 1);
929 Buffer = Buffer.drop_front(UsedPrefix.size() + CheckTypeSize(CheckTy));
933 SM.PrintMessage(SMLoc::getFromPointer(Buffer.data()),
941 Buffer = Buffer.substr(Buffer.find_first_not_of(" \t"));
944 size_t EOL = Buffer.find_first_of("\n\r");
947 SMLoc PatternLoc = SMLoc::getFromPointer(Buffer.data());
951 if (P.ParsePattern(Buffer.substr(0, EOL), UsedPrefix, SM, LineNumber))
963 Buffer = Buffer.substr(EOL);
992 SMLoc::getFromPointer(Buffer.data()));
1016 const Pattern &Pat, StringRef Buffer,
1024 Buffer = Buffer.substr(Buffer.find_first_not_of(" \t\n\r"));
1026 SM.PrintMessage(SMLoc::getFromPointer(Buffer.data()), SourceMgr::DK_Note,
1030 Pat.PrintFailureInfo(SM, Buffer, VariableTable);
1034 StringRef Buffer,
1036 PrintCheckFailed(SM, CheckStr.Loc, CheckStr.Pat, Buffer, VariableTable);
1063 size_t CheckString::Check(const SourceMgr &SM, StringRef Buffer,
1075 LastPos = CheckDag(SM, Buffer, NotStrings, VariableTable);
1081 StringRef MatchBuffer = Buffer.substr(LastPos);
1091 StringRef SkippedRegion = Buffer.substr(LastPos, MatchPos);
1112 bool CheckString::CheckNext(const SourceMgr &SM, StringRef Buffer) const {
1117 assert(Buffer.data() !=
1120 SMLoc::getFromPointer(Buffer.data())))->getBufferStart() &&
1124 unsigned NumNewLines = CountNumNewlinesBetween(Buffer, FirstNewLine);
1129 SM.PrintMessage(SMLoc::getFromPointer(Buffer.end()),
1131 SM.PrintMessage(SMLoc::getFromPointer(Buffer.data()), SourceMgr::DK_Note,
1139 SM.PrintMessage(SMLoc::getFromPointer(Buffer.end()),
1141 SM.PrintMessage(SMLoc::getFromPointer(Buffer.data()), SourceMgr::DK_Note,
1151 bool CheckString::CheckSame(const SourceMgr &SM, StringRef Buffer) const {
1156 assert(Buffer.data() !=
1158 SMLoc::getFromPointer(Buffer.data())))
1163 unsigned NumNewLines = CountNumNewlinesBetween(Buffer, FirstNewLine);
1169 SM.PrintMessage(SMLoc::getFromPointer(Buffer.end()), SourceMgr::DK_Note,
1171 SM.PrintMessage(SMLoc::getFromPointer(Buffer.data()), SourceMgr::DK_Note,
1179 bool CheckString::CheckNot(const SourceMgr &SM, StringRef Buffer,
1186 size_t Pos = Pat->Match(Buffer, MatchLen, VariableTable);
1190 SM.PrintMessage(SMLoc::getFromPointer(Buffer.data()+Pos),
1201 size_t CheckString::CheckDag(const SourceMgr &SM, StringRef Buffer,
1225 StringRef MatchBuffer = Buffer.substr(StartPos);
1239 SM.PrintMessage(SMLoc::getFromPointer(Buffer.data() + MatchPos),
1243 SM.PrintMessage(SMLoc::getFromPointer(Buffer.data() + LastPos),
1261 StringRef SkippedRegion = Buffer.substr(LastPos, MatchPos);
1357 StringRef Buffer = F->getBuffer();
1371 CheckRegion = Buffer;
1381 size_t MatchLabelPos = CheckLabelStr.Check(SM, Buffer, true,
1388 CheckRegion = Buffer.substr(0, MatchLabelPos + MatchLabelLen);
1389 Buffer = Buffer.substr(MatchLabelPos + MatchLabelLen);