Lines Matching refs:SwitchCase
50 static std::forward_list<const SwitchCase*> find_duplicate_case_values(
52 std::forward_list<const SwitchCase*> duplicateCases;
57 const SwitchCase* sc = &stmt->as<SwitchCase>();
70 // GetConstantInt already succeeded when the SwitchCase was first assembled, so it should
113 SwitchCase* caseToCapture,
120 const SwitchCase& sc = (*iter)->as<SwitchCase>();
132 std::unique_ptr<Statement>& stmt = (*iter)->as<SwitchCase>().statement();
152 caseStmts.push_back(std::move((*startIter)->as<SwitchCase>().statement()));
159 SkASSERT((*startIter)->as<SwitchCase>().statement().get() == stripBreakStmt);
160 move_all_but_break((*startIter)->as<SwitchCase>().statement(), &caseStmts);
203 cases.push_back(std::make_unique<SwitchCase>(caseLine, std::move(caseValue),
209 std::forward_list<const SwitchCase*> duplicateCases = find_duplicate_case_values(cases);
212 for (const SwitchCase* sc : duplicateCases) {
233 // Confirm that every statement in `cases` is a SwitchCase.
235 return stmt->is<SwitchCase>();
240 return !stmt->as<SwitchCase>().value() || // `default` case has a null value
241 value->type() == stmt->as<SwitchCase>().value()->type();
251 SwitchCase* defaultCase = nullptr;
252 SwitchCase* matchingCase = nullptr;
254 SwitchCase& sc = stmt->as<SwitchCase>();