@@ -286,8 +286,6 @@ static bool fillRanges(MemoryBuffer *Code,
286286 return false ;
287287 }
288288
289-
290-
291289 if (Offsets.empty ())
292290 Offsets.push_back (0 );
293291 if (Offsets.size () != Lengths.size () &&
@@ -319,138 +317,71 @@ static bool fillRanges(MemoryBuffer *Code,
319317 Ranges.push_back (tooling::Range (Offset, Length));
320318 }
321319
322- std::cout << " Printing ranges " << " \n " ;
323- for (const auto & i : Ranges)
324- {
325- std::cout << i.getOffset () << " " << i.getOffset () + i.getLength () << " \n " ;
326- }
327-
328- if (!OnWords.empty () && !OffWords.empty ())
329- {
320+ if (!OnWords.empty () && !OffWords.empty ()) {
330321 StringRef CodeRef = Code->getBuffer ();
331322 std::set<size_t > OnSet;
332- if (Ranges.empty ())
333- {
334- OnSet.insert (0 );
335- } else {
336- OnSet.insert (Ranges[0 ].getOffset ());
337- }
323+ if (Ranges.empty ())
324+ OnSet.insert (0 );
325+ else
326+ OnSet.insert (Ranges[0 ].getOffset ());
338327 std::set<size_t > OffSet;
339- std::cout << " OFF" << " \n " ;
340- if (Ranges.size () == 1 && Ranges[0 ].getOffset () == 0 && Ranges[0 ].getLength () == CodeRef.size ())
341- {
328+ if (Ranges.size () == 1 && Ranges[0 ].getOffset () == 0 &&
329+ Ranges[0 ].getLength () == CodeRef.size ()) {
342330 Ranges.pop_back ();
343331 }
344- for (const auto & Word : OffWords)
345- {
346- std::cout << Word << " \n " ;
332+
333+ for (const auto &Word : OffWords) {
347334 size_t TempOffset = CodeRef.find (Word);
348- while (TempOffset != StringRef::npos)
349- {
350- std::cout << " found offword at " << TempOffset << " \n " ;
335+ while (TempOffset != StringRef::npos) {
351336 if (TempOffset > *OnSet.begin ())
352- {
353- OffSet.insert (TempOffset);
354- }
337+ OffSet.insert (TempOffset);
355338 TempOffset = CodeRef.find (Word, TempOffset + 1 );
356339 }
357340 }
358341
359- std::cout << " ON" << " \n " ;
360- for (const auto & Word : OnWords)
361- {
362- std::cout << Word << " \n " ;
342+ for (const auto &Word : OnWords) {
363343 size_t TempOffset = CodeRef.find (Word);
364- while (TempOffset != StringRef::npos)
365- {
366- std::cout << " found onword at " << TempOffset << " \n " ;
344+ while (TempOffset != StringRef::npos) {
367345 OnSet.insert (TempOffset);
368346 TempOffset = CodeRef.find (Word, TempOffset + 1 );
369347 }
370348 }
371349
372- std::cout << " Printing ranges " << " \n " ;
373- for (const auto & i : Ranges)
374- {
375- std::cout << i.getOffset () << " " << i.getOffset () + i.getLength () << " \n " ;
376- }
377-
378- std::cout << " Entering while" << " \n " ;
379- while (!OnSet.empty ())
380- {
350+ while (!OnSet.empty ()) {
381351 size_t Offset = OnSet.extract (OnSet.begin ()).value ();
382352 size_t Length;
383353 if (!OffSet.empty ())
384- {
385354 Length = OffSet.extract (OffSet.begin ()).value () - Offset;
386- }
387355 else
388- {
389356 Length = CodeRef.size () - Offset;
390- }
391357
392- std::cout << Offset << " " << Offset + Length << std::endl;
393358 // Could result in loss of data
394- tooling::Range NewRange = {static_cast <unsigned >(Offset), static_cast <unsigned >(Length)};
395-
396- /* bool inserted = false;
397- for (auto i = Ranges.begin(); i != Ranges.end(); ++i)
398- {
399- if (i->overlapsWith(NewRange))
400- {
401- std::cout << "Overlap erasure" << std::endl;
402- tooling::Range Temp(std::min(NewRange.getOffset(), i->getOffset()), std::max(NewRange.getLength(), i->getLength()));
403- std::cout << "Old range" << "\n";
404- std::cout << i->getOffset() << " " << i->getOffset() + i->getLength() << "\n";
405- std::cout << "New range before insert " << "\n";
406- std::cout << NewRange.getOffset() << " " << NewRange.getOffset() + NewRange.getLength() << "\n";
407- Ranges.erase(i);
408- Ranges.insert(i, Temp);
409- inserted = true;
410- std::cout << "After" << "\n";
411- std::cout << Temp.getOffset() << " " << Temp.getOffset() + Temp.getLength() << "\n";
412- }
413- }
414- if (!inserted)
415- {*/
359+ tooling::Range NewRange = {static_cast <unsigned >(Offset),
360+ static_cast <unsigned >(Length)};
361+
416362 Ranges.push_back (NewRange);
417- // }
418363 }
419364 }
420365
421- std::sort (Ranges.begin (), Ranges.end (), [](const tooling::Range& a, const tooling::Range& b) {
422- return a.getOffset () + a.getLength () < b.getOffset () + b.getLength ();
423- });
424-
425- std::cout << " Printing ranges " << " \n " ;
426- for (const auto & i : Ranges)
427- {
428- std::cout << i.getOffset () << " " << i.getOffset () + i.getLength () << std::endl;;
429- }
366+ std::sort (Ranges.begin (), Ranges.end (),
367+ [](const tooling::Range &a, const tooling::Range &b) {
368+ return a.getOffset () + a.getLength () <
369+ b.getOffset () + b.getLength ();
370+ });
430371
431372 auto start = Ranges.begin ();
432- for (auto i = Ranges.begin ()+1 ; i != Ranges.end (); ++i)
433- {
434- std::cout << " Loop" << " \n " ;
435- std::cout << &(*start) << " \n " << &(*i) << " \n " ;
436- if (start->getOffset () + start->getLength () >= i->getOffset ())
437- {
438- std::cout << " Element erased\n " ;
439- tooling::Range Temp (std::min (start->getOffset (), i->getOffset ()), std::max (start->getLength (), i->getLength ()));
440- Ranges.erase (start, i+1 );
373+ for (auto i = Ranges.begin () + 1 ; i != Ranges.end (); ++i) {
374+ if (start->getOffset () + start->getLength () >= i->getOffset ()) {
375+ tooling::Range Temp (std::min (start->getOffset (), i->getOffset ()),
376+ std::max (start->getLength (), i->getLength ()));
377+ Ranges.erase (start, i + 1 );
441378 start = Ranges.insert (start, Temp);
442379 i = start;
443380 } else {
444381 ++start;
445382 }
446383 }
447384
448- std::cout << " Printing ranges " << Ranges.size () << " \n " ;
449- for (const auto & i : Ranges)
450- {
451- std::cout << i.getOffset () << " " << i.getOffset () + i.getLength () << std::endl;;
452- }
453-
454385 return false ;
455386}
456387
@@ -791,15 +722,13 @@ static bool isIgnored(StringRef FilePath) {
791722 const auto Pathname{convert_to_slash (AbsPath)};
792723 for (const auto &Pat : Patterns) {
793724
794- if (Pat.slice (0 , 3 ).equals_insensitive (" on:" ))
795- {
796- OnWords.push_back (Pat.slice (3 , Pat.size ()).trim ().str ());
797- continue ;
725+ if (Pat.slice (0 , 3 ).equals_insensitive (" on:" )) {
726+ OnWords.push_back (Pat.slice (3 , Pat.size ()).trim ().str ());
727+ continue ;
798728 }
799- if (Pat.slice (0 , 4 ).equals_insensitive (" off:" ))
800- {
801- OffWords.push_back (Pat.slice (4 , Pat.size ()).trim ().str ());
802- continue ;
729+ if (Pat.slice (0 , 4 ).equals_insensitive (" off:" )) {
730+ OffWords.push_back (Pat.slice (4 , Pat.size ()).trim ().str ());
731+ continue ;
803732 }
804733 const bool IsNegated = Pat[0 ] == ' !' ;
805734 StringRef Pattern{Pat};
0 commit comments