bool TDependencyGraphBuilder::visitBinary(Visit visit, TIntermBinary* intermBinary) { TOperator op = intermBinary->getOp(); if (op == EOpInitialize || intermBinary->modifiesState()) visitAssignment(intermBinary); else if (op == EOpLogicalAnd || op == EOpLogicalOr) visitLogicalOp(intermBinary); else visitBinaryChildren(intermBinary); return false; }
void ClastVisitor::visit(const clast_stmt *stmt) { if (CLAST_STMT_IS_A(stmt, stmt_root)) assert(false && "No second root statement expected"); else if (CLAST_STMT_IS_A(stmt, stmt_ass)) return visitAssignment((const clast_assignment *)stmt); else if (CLAST_STMT_IS_A(stmt, stmt_user)) return visitUser((const clast_user_stmt *)stmt); else if (CLAST_STMT_IS_A(stmt, stmt_block)) return visitBlock((const clast_block *)stmt); else if (CLAST_STMT_IS_A(stmt, stmt_for)) return visitFor((const clast_for *)stmt); else if (CLAST_STMT_IS_A(stmt, stmt_guard)) return visitGuard((const clast_guard *)stmt); if (stmt->next) visit(stmt->next); }