Lines Matching refs:Statement
78 bool visitStatement(const Statement& stmt) override { in count_returns_at_end_of_control_flow()
80 case Statement::Kind::kBlock: { in count_returns_at_end_of_control_flow()
86 case Statement::Kind::kSwitch: in count_returns_at_end_of_control_flow()
87 case Statement::Kind::kDo: in count_returns_at_end_of_control_flow()
88 case Statement::Kind::kFor: in count_returns_at_end_of_control_flow()
92 case Statement::Kind::kReturn: in count_returns_at_end_of_control_flow()
124 bool visitStatement(const Statement& stmt) override { in contains_recursive_call()
139 static std::unique_ptr<Statement>* find_parent_statement( in find_parent_statement()
140 const std::vector<std::unique_ptr<Statement>*>& stmtStack) { in find_parent_statement()
150 std::unique_ptr<Statement>* stmt = *iter; in find_parent_statement()
178 bool visitStatement(const Statement& stmt) override { in visitStatement()
180 case Statement::Kind::kReturn: { in visitStatement()
185 case Statement::Kind::kVarDeclaration: { in visitStatement()
191 case Statement::Kind::kBlock: { in visitStatement()
253 void Inliner::ensureScopedBlocks(Statement* inlinedBody, Statement* parentStmt) { in ensureScopedBlocks()
453 std::unique_ptr<Statement> Inliner::inlineStatement(int line, in inlineStatement()
458 const Statement& statement, in inlineStatement()
460 auto stmt = [&](const std::unique_ptr<Statement>& s) -> std::unique_ptr<Statement> { in inlineStatement()
470 for (const std::unique_ptr<Statement>& child : block.children()) { in inlineStatement()
485 case Statement::Kind::kBlock: { in inlineStatement()
492 case Statement::Kind::kBreak: in inlineStatement()
493 case Statement::Kind::kContinue: in inlineStatement()
494 case Statement::Kind::kDiscard: in inlineStatement()
497 case Statement::Kind::kDo: { in inlineStatement()
501 case Statement::Kind::kExpression: { in inlineStatement()
505 case Statement::Kind::kFor: { in inlineStatement()
509 std::unique_ptr<Statement> initializer = stmt(f.initializer()); in inlineStatement()
523 case Statement::Kind::kIf: { in inlineStatement()
528 case Statement::Kind::kInlineMarker: in inlineStatement()
529 case Statement::Kind::kNop: in inlineStatement()
532 case Statement::Kind::kReturn: { in inlineStatement()
563 case Statement::Kind::kSwitch: { in inlineStatement()
567 for (const std::unique_ptr<Statement>& switchCaseStmt : ss.cases()) { in inlineStatement()
575 case Statement::Kind::kVarDeclaration: { in inlineStatement()
685 for (const std::unique_ptr<Statement>& stmt : body.children()) { in inlineCall()
759 std::unique_ptr<Statement>* fParentStmt; // the parent Statement of the enclosing stmt
760 std::unique_ptr<Statement>* fEnclosingStmt; // the Statement containing the candidate
780 std::vector<std::unique_ptr<Statement>*> fEnclosingStmtStack;
812 void visitStatement(std::unique_ptr<Statement>* stmt, in visitStatement()
826 case Statement::Kind::kBreak: in visitStatement()
827 case Statement::Kind::kContinue: in visitStatement()
828 case Statement::Kind::kDiscard: in visitStatement()
829 case Statement::Kind::kInlineMarker: in visitStatement()
830 case Statement::Kind::kNop: in visitStatement()
833 case Statement::Kind::kBlock: { in visitStatement()
839 for (std::unique_ptr<Statement>& blockStmt : block.children()) { in visitStatement()
844 case Statement::Kind::kDo: { in visitStatement()
859 case Statement::Kind::kExpression: { in visitStatement()
864 case Statement::Kind::kFor: { in visitStatement()
891 case Statement::Kind::kIf: { in visitStatement()
898 case Statement::Kind::kReturn: { in visitStatement()
903 case Statement::Kind::kSwitch: { in visitStatement()
910 for (const std::unique_ptr<Statement>& switchCase : switchStmt.cases()) { in visitStatement()
916 case Statement::Kind::kVarDeclaration: { in visitStatement()
1156 using StatementRemappingTable = std::unordered_map<std::unique_ptr<Statement>*, in analyze()
1157 std::unique_ptr<Statement>*>; in analyze()
1180 std::unique_ptr<Statement>* enclosingStmt = candidate.fEnclosingStmt; in analyze()