4949#include < pybind11/pybind11.h>
5050#include " pybind11_abseil/status_casters.h"
5151
52- using ::cel::expr::CheckedExpr;
53- using ::cel::expr::ParsedExpr;
5452
5553namespace cel_python {
5654
57- namespace py = pybind11;
55+ using ::cel::expr::CheckedExpr;
56+ using ::cel::expr::ParsedExpr;
57+
58+ namespace py = ::pybind11;
5859
5960void PyCelExpression::DefinePythonBindings (py::module & m) {
60- py::class_<PyCelExpression, std::unique_ptr<PyCelExpression> >(m, " Expression" )
61+ py::class_<PyCelExpression>(m, " Expression" )
6162 .def (" return_type" , &PyCelExpression::GetReturnType)
6263 .def (" serialize" ,
6364 [](PyCelExpression& self) {
@@ -68,7 +69,7 @@ void PyCelExpression::DefinePythonBindings(py::module& m) {
6869 .def (" eval" , &PyCelExpression::Eval, py::arg (" activation" ));
6970}
7071
71- absl::StatusOr<std::unique_ptr< PyCelExpression> > PyCelExpression::Compile (
72+ absl::StatusOr<PyCelExpression> PyCelExpression::Compile (
7273 const std::shared_ptr<PyCelEnv>& env, const std::string& cel_expr,
7374 bool disable_check) {
7475 ABSL_CHECK (PyGILState_Check ());
@@ -81,7 +82,7 @@ absl::StatusOr<std::unique_ptr<PyCelExpression>> PyCelExpression::Compile(
8182 CEL_PYTHON_ASSIGN_OR_RETURN (auto ast, compiler->GetParser ().Parse (*s));
8283 ParsedExpr parsed_expr;
8384 PY_CEL_RETURN_IF_ERROR (cel::AstToParsedExpr (*ast, &parsed_expr));
84- return std::make_unique< PyCelExpression> (parsed_expr, env);
85+ return PyCelExpression (parsed_expr, env);
8586 }
8687
8788 CEL_PYTHON_ASSIGN_OR_RETURN (auto validation, compiler->Compile (cel_expr));
@@ -92,7 +93,7 @@ absl::StatusOr<std::unique_ptr<PyCelExpression>> PyCelExpression::Compile(
9293 validation.ReleaseAst ());
9394 CheckedExpr checked_expr;
9495 PY_CEL_RETURN_IF_ERROR (cel::AstToCheckedExpr (*ast, &checked_expr));
95- return std::make_unique< PyCelExpression> (checked_expr, env);
96+ return PyCelExpression (checked_expr, env);
9697}
9798
9899PyCelType PyCelExpression::GetReturnType () {
@@ -112,7 +113,7 @@ PyCelType PyCelExpression::GetReturnType() {
112113 return PyCelType::FromTypeProto (it->second );
113114}
114115
115- absl::StatusOr<std::unique_ptr< PyCelValue> > PyCelExpression::Eval (
116+ absl::StatusOr<PyCelValue> PyCelExpression::Eval (
116117 const PyCelActivation& activation) {
117118 ABSL_CHECK (PyGILState_Check ());
118119 if (cel_program_ == nullptr ) {
@@ -138,7 +139,7 @@ absl::StatusOr<std::unique_ptr<PyCelValue>> PyCelExpression::Eval(
138139 cel::Value result,
139140 cel_program_->Evaluate (arena->GetArena (), env->GetMessageFactory (),
140141 *activation.GetActivation ()));
141- return std::make_unique< PyCelValue> (result, arena, std::move (env));
142+ return PyCelValue (result, arena, std::move (env));
142143}
143144
144145std::string PyCelExpression::Serialize () const {
@@ -151,7 +152,7 @@ std::string PyCelExpression::Serialize() const {
151152 return any.SerializeAsString ();
152153}
153154
154- absl::StatusOr<std::unique_ptr< PyCelExpression> > PyCelExpression::Deserialize (
155+ absl::StatusOr<PyCelExpression> PyCelExpression::Deserialize (
155156 const std::shared_ptr<PyCelEnv>& env, const std::string& serialized_expr) {
156157 ABSL_CHECK (PyGILState_Check ());
157158 google::protobuf::Any any;
@@ -163,11 +164,11 @@ absl::StatusOr<std::unique_ptr<PyCelExpression>> PyCelExpression::Deserialize(
163164
164165 CheckedExpr checked_expr;
165166 if (any.UnpackTo (&checked_expr)) {
166- return std::make_unique< PyCelExpression> (checked_expr, env);
167+ return PyCelExpression (checked_expr, env);
167168 }
168169 ParsedExpr parsed_expr;
169170 if (any.UnpackTo (&parsed_expr)) {
170- return std::make_unique< PyCelExpression> (parsed_expr, env);
171+ return PyCelExpression (parsed_expr, env);
171172 }
172173
173174 return absl::InvalidArgumentError (
0 commit comments