Lines Matching defs:S1
103 const Stmt *S1, const Stmt *S2);
290 bool IsStmtEquivalent(const Stmt *S1, const Stmt *S2) { return true; }
292 bool IsStmtEquivalent(const GotoStmt *S1, const GotoStmt *S2) {
293 LabelDecl *L1 = S1->getLabel();
406 bool TraverseStmt(const Stmt *S1, const Stmt *S2) { return true; }
414 bool TraverseStmt(const CLASS *S1, const CLASS *S2) { \
415 if (!TraverseStmt(static_cast<const PARENT *>(S1), \
418 return IsStmtEquivalent(S1, S2); \
428 bool IsEquivalent(const Stmt *S1, const Stmt *S2) {
429 if (S1->getStmtClass() != S2->getStmtClass())
437 switch (S1->getStmtClass()) {
442 return TraverseStmt(static_cast<const CLASS *>(S1), \
488 const Stmt *S1, const Stmt *S2) {
489 if (!S1 || !S2)
490 return S1 == S2;
501 if (const auto *E1Unary = dyn_cast<UnaryOperator>(S1))
503 if (const auto *E1Binary = dyn_cast<BinaryOperator>(S1))
506 if (const auto *E1CXXOperatorCall = dyn_cast<CXXOperatorCallExpr>(S1)) {
515 if (!Comparer.IsEquivalent(S1, S2))
519 for (auto Pair : zip_longest(S1->children(), S2->children())) {
2439 bool StructuralEquivalenceContext::IsEquivalent(Stmt *S1, Stmt *S2) {
2442 if (!::IsStructurallyEquivalent(*this, S1, S2))