static bool by_source(const BlockScopePtr &b1, const BlockScopePtr &b2) { if (auto d = b1->getStmt()->getRange().compare(b2->getStmt()->getRange())) { return d < 0; } return b1->getContainingFile()->getName() < b2->getContainingFile()->getName(); }
static bool by_source(const BlockScopePtr &b1, const BlockScopePtr &b2) { return b1->getStmt()->getLocation()-> compare(b2->getStmt()->getLocation().get()) < 0; }