Lines Matching refs:StringRef
61 StringRef FixedStr;
70 std::vector<std::pair<StringRef, unsigned> > VariableUses;
76 std::vector<std::pair<StringRef, unsigned> > VariableDefs;
82 bool ParsePattern(StringRef PatternStr, SourceMgr &SM);
90 size_t Match(StringRef Buffer, size_t &MatchLen,
91 StringMap<StringRef> &VariableTable) const;
95 void PrintFailureInfo(const SourceMgr &SM, StringRef Buffer,
96 const StringMap<StringRef> &VariableTable) const;
99 static void AddFixedStringToRegEx(StringRef FixedStr, std::string &TheStr);
100 bool AddRegExToRegEx(StringRef RegExStr, unsigned &CurParen, SourceMgr &SM);
105 unsigned ComputeMatchDistance(StringRef Buffer,
106 const StringMap<StringRef> &VariableTable) const;
110 bool Pattern::ParsePattern(StringRef PatternStr, SourceMgr &SM) {
128 (PatternStr.find("{{") == StringRef::npos &&
129 PatternStr.find("[[") == StringRef::npos)) {
146 if (End == StringRef::npos) {
176 if (End == StringRef::npos) {
183 StringRef MatchStr = PatternStr.substr(2, End-2);
188 StringRef Name = MatchStr.substr(0, NameEnd);
212 if (NameEnd == StringRef::npos) {
240 void Pattern::AddFixedStringToRegEx(StringRef FixedStr, std::string &TheStr) {
267 bool Pattern::AddRegExToRegEx(StringRef RegexStr, unsigned &CurParen,
285 size_t Pattern::Match(StringRef Buffer, size_t &MatchLen,
286 StringMap<StringRef> &VariableTable) const {
303 StringRef RegExToMatch = RegExStr;
310 StringMap<StringRef>::iterator it =
314 return StringRef::npos;
331 SmallVector<StringRef, 4> MatchInfo;
333 return StringRef::npos;
337 StringRef FullMatch = MatchInfo[0];
350 unsigned Pattern::ComputeMatchDistance(StringRef Buffer,
351 const StringMap<StringRef> &VariableTable) const {
358 StringRef ExampleString(FixedStr);
363 StringRef BufferPrefix = Buffer.substr(0, ExampleString.size());
368 void Pattern::PrintFailureInfo(const SourceMgr &SM, StringRef Buffer,
369 const StringMap<StringRef> &VariableTable) const{
374 StringRef Var = VariableUses[i].first;
375 StringMap<StringRef>::const_iterator it = VariableTable.find(Var);
399 size_t Best = StringRef::npos;
417 if (Quality < BestQuality || Best == StringRef::npos) {
426 if (Best && Best != StringRef::npos && BestQuality < 50) {
517 StringRef Buffer = F->getBuffer();
611 StringRef Buffer,
612 StringMap<StringRef> &VariableTable) {
630 static unsigned CountNumNewlinesBetween(StringRef Range) {
682 StringMap<StringRef> VariableTable;
686 StringRef Buffer = F->getBuffer();
693 StringRef SearchFrom = Buffer;
701 if (MatchPos == StringRef::npos) {
706 StringRef SkippedRegion(LastMatch, Buffer.data()-LastMatch);
745 if (Pos == StringRef::npos) continue;