// Copyright 2023 xensik. All rights reserved. // // Use of this source code is governed by a GNU GPLv3 license // that can be found in the LICENSE file. #pragma once namespace xsk::arc { struct scope { using ptr = std::unique_ptr; enum abort_type { abort_none = 0, abort_continue = 1, abort_break = 2, abort_return = 3, }; std::string end; std::string cnt; std::string brk; abort_type abort; bool is_dev; scope() : abort(abort_type::abort_none), is_dev(false) {} scope(std::string const& brk, std::string const& cnt) : cnt{ cnt }, brk{ brk }, abort(abort_type::abort_none), is_dev(false) {} }; } // namespace xsk::arc