#pragma once #include "AST/Base.h" #include #include #include namespace plsm { namespace ast { class BlockExpr : public Expr { const std::vector> stmts; const std::unique_ptr result; public: BlockExpr(LOC_ARG, std::vector> &stmts, std::unique_ptr &result) : Expr(location), stmts(std::move(stmts)), result(std::move(result)) {} virtual boost::json::value toJson() override; static std::unique_ptr fromJson(boost::json::value json); }; } // namespace ast } // namespace plsm