/* * Copyright 2023 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "src/sksl/ir/SkSLSwitchCase.h" namespace SkSL { std::unique_ptr SwitchCase::Make(Position pos, SKSL_INT value, std::unique_ptr statement) { return std::unique_ptr(new SwitchCase(pos, /*isDefault=*/false, value, std::move(statement))); } std::unique_ptr SwitchCase::MakeDefault(Position pos, std::unique_ptr statement) { return std::unique_ptr(new SwitchCase(pos, /*isDefault=*/true, /*value=*/-1, std::move(statement))); } std::string SwitchCase::description() const { return fDefault ? "default: \n" + fStatement->description() : "case " + std::to_string(fValue) + ": \n" + fStatement->description(); } } // namespace SkSL