2525#include " proto/test/v1/proto3/test_all_types.pb.h"
2626
2727
28- using absl::Status;
29- using absl::StatusCode;
3028using ::google::protobuf::Arena;
3129using ::google::protobuf::util::JsonStringToMessage;
3230using ::google::protobuf::util::MessageToJsonString;
@@ -42,10 +40,10 @@ class ConformanceServiceImpl {
4240 public:
4341 explicit ConformanceServiceImpl (std::unique_ptr<CelExpressionBuilder> builder)
4442 : builder_(std::move(builder)),
45- proto2Tests_ (&google::api::expr::test::v1::proto2::TestAllTypes::
46- default_instance ()),
47- proto3Tests_ (&google::api::expr::test::v1::proto3::TestAllTypes::
48- default_instance ()) {}
43+ proto2_tests_ (&google::api::expr::test::v1::proto2::TestAllTypes::
44+ default_instance ()),
45+ proto3_tests_ (&google::api::expr::test::v1::proto3::TestAllTypes::
46+ default_instance ()) {}
4947
5048 void Parse (const v1alpha1::ParseRequest* request,
5149 v1alpha1::ParseResponse* response) {
@@ -63,7 +61,7 @@ class ConformanceServiceImpl {
6361 } else {
6462 google::api::expr::v1alpha1::ParsedExpr out;
6563 (out).MergeFrom (parse_status.value ());
66- response->mutable_parsed_expr ()-> CopyFrom ( out) ;
64+ * response->mutable_parsed_expr () = out;
6765 }
6866 }
6967
@@ -87,6 +85,7 @@ class ConformanceServiceImpl {
8785 google::api::expr::v1alpha1::SourceInfo source_info;
8886 google::api::expr::v1alpha1::Expr out;
8987 (out).MergeFrom (*expr);
88+ builder_->set_container (request->container ());
9089 auto cel_expression_status = builder_->CreateExpression (&out, &source_info);
9190
9291 if (!cel_expression_status.ok ()) {
@@ -144,13 +143,14 @@ class ConformanceServiceImpl {
144143
145144 private:
146145 std::unique_ptr<CelExpressionBuilder> builder_;
147- const google::api::expr::test::v1::proto2::TestAllTypes* proto2Tests_ ;
148- const google::api::expr::test::v1::proto3::TestAllTypes* proto3Tests_ ;
146+ const google::api::expr::test::v1::proto2::TestAllTypes* proto2_tests_ ;
147+ const google::api::expr::test::v1::proto3::TestAllTypes* proto3_tests_ ;
149148};
150149
151150int RunServer (bool optimize) {
152151 google::protobuf::Arena arena;
153152 InterpreterOptions options;
153+ options.enable_qualified_type_identifiers = true ;
154154
155155 if (optimize) {
156156 std::cerr << " Enabling optimizations" << std::endl;
@@ -160,14 +160,15 @@ int RunServer(bool optimize) {
160160
161161 std::unique_ptr<CelExpressionBuilder> builder =
162162 CreateCelExpressionBuilder (options);
163- builder->AddResolvableEnum (
163+ auto type_registry = builder->GetTypeRegistry ();
164+ type_registry->Register (
164165 google::api::expr::test::v1::proto2::GlobalEnum_descriptor ());
165- builder-> AddResolvableEnum (
166+ type_registry-> Register (
166167 google::api::expr::test::v1::proto3::GlobalEnum_descriptor ());
167- builder-> AddResolvableEnum (google::api::expr::test::v1::proto2::TestAllTypes::
168- NestedEnum_descriptor ());
169- builder-> AddResolvableEnum (google::api::expr::test::v1::proto3::TestAllTypes::
170- NestedEnum_descriptor ());
168+ type_registry-> Register (google::api::expr::test::v1::proto2::TestAllTypes::
169+ NestedEnum_descriptor ());
170+ type_registry-> Register (google::api::expr::test::v1::proto3::TestAllTypes::
171+ NestedEnum_descriptor ());
171172 auto register_status = RegisterBuiltinFunctions (builder->GetRegistry ());
172173 if (!register_status.ok ()) {
173174 std::cerr << " Failed to initialize: " << register_status.ToString ()
0 commit comments