Lines Matching refs:Statement
79 bool visitStatement(const Statement& stmt) override { in count_returns_at_end_of_control_flow()
81 case Statement::Kind::kBlock: { in count_returns_at_end_of_control_flow()
87 case Statement::Kind::kSwitch: in count_returns_at_end_of_control_flow()
88 case Statement::Kind::kDo: in count_returns_at_end_of_control_flow()
89 case Statement::Kind::kFor: in count_returns_at_end_of_control_flow()
93 case Statement::Kind::kReturn: in count_returns_at_end_of_control_flow()
125 bool visitStatement(const Statement& stmt) override { in contains_recursive_call()
140 static std::unique_ptr<Statement>* find_parent_statement( in find_parent_statement()
141 const std::vector<std::unique_ptr<Statement>*>& stmtStack) { in find_parent_statement()
151 std::unique_ptr<Statement>* stmt = *iter; in find_parent_statement()
179 bool visitStatement(const Statement& stmt) override { in visitStatement()
181 case Statement::Kind::kReturn: { in visitStatement()
186 case Statement::Kind::kVarDeclaration: { in visitStatement()
192 case Statement::Kind::kBlock: { in visitStatement()
236 void Inliner::ensureScopedBlocks(Statement* inlinedBody, Statement* parentStmt) { in ensureScopedBlocks()
422 std::unique_ptr<Statement> Inliner::inlineStatement(int offset, in inlineStatement()
427 const Statement& statement, in inlineStatement()
429 auto stmt = [&](const std::unique_ptr<Statement>& s) -> std::unique_ptr<Statement> { in inlineStatement()
439 for (const std::unique_ptr<Statement>& child : block.children()) { in inlineStatement()
454 case Statement::Kind::kBlock: { in inlineStatement()
461 case Statement::Kind::kBreak: in inlineStatement()
462 case Statement::Kind::kContinue: in inlineStatement()
463 case Statement::Kind::kDiscard: in inlineStatement()
466 case Statement::Kind::kDo: { in inlineStatement()
470 case Statement::Kind::kExpression: { in inlineStatement()
474 case Statement::Kind::kFor: { in inlineStatement()
478 std::unique_ptr<Statement> initializer = stmt(f.initializer()); in inlineStatement()
483 case Statement::Kind::kIf: { in inlineStatement()
488 case Statement::Kind::kInlineMarker: in inlineStatement()
489 case Statement::Kind::kNop: in inlineStatement()
492 case Statement::Kind::kReturn: { in inlineStatement()
523 case Statement::Kind::kSwitch: { in inlineStatement()
527 for (const std::unique_ptr<Statement>& statement : ss.cases()) { in inlineStatement()
535 case Statement::Kind::kVarDeclaration: { in inlineStatement()
675 for (const std::unique_ptr<Statement>& stmt : body.children()) { in inlineCall()
745 std::unique_ptr<Statement>* fParentStmt; // the parent Statement of the enclosing stmt
746 std::unique_ptr<Statement>* fEnclosingStmt; // the Statement containing the candidate
766 std::vector<std::unique_ptr<Statement>*> fEnclosingStmtStack;
798 void visitStatement(std::unique_ptr<Statement>* stmt, in visitStatement()
812 case Statement::Kind::kBreak: in visitStatement()
813 case Statement::Kind::kContinue: in visitStatement()
814 case Statement::Kind::kDiscard: in visitStatement()
815 case Statement::Kind::kInlineMarker: in visitStatement()
816 case Statement::Kind::kNop: in visitStatement()
819 case Statement::Kind::kBlock: { in visitStatement()
825 for (std::unique_ptr<Statement>& stmt : block.children()) { in visitStatement()
830 case Statement::Kind::kDo: { in visitStatement()
845 case Statement::Kind::kExpression: { in visitStatement()
850 case Statement::Kind::kFor: { in visitStatement()
877 case Statement::Kind::kIf: { in visitStatement()
884 case Statement::Kind::kReturn: { in visitStatement()
889 case Statement::Kind::kSwitch: { in visitStatement()
896 for (const std::unique_ptr<Statement>& switchCase : switchStmt.cases()) { in visitStatement()
902 case Statement::Kind::kVarDeclaration: { in visitStatement()
1132 using StatementRemappingTable = std::unordered_map<std::unique_ptr<Statement>*, in analyze()
1133 std::unique_ptr<Statement>*>; in analyze()
1156 std::unique_ptr<Statement>* enclosingStmt = candidate.fEnclosingStmt; in analyze()