Skip to content

Commit b365a2a

Browse files
TristonianJonescopybara-github
authored andcommitted
Create a proto_to_predicate compiler for converting proto messages
into CEL expressions PiperOrigin-RevId: 912808489
1 parent dd4f368 commit b365a2a

7 files changed

Lines changed: 1250 additions & 1 deletion

File tree

common/expr_factory.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ class ExprFactory {
376376
return expr;
377377
}
378378

379-
private:
379+
protected:
380380
friend class MacroExprFactory;
381381
friend class ParserMacroExprFactory;
382382
friend class OptimizerExprFactory;

tools/BUILD

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,55 @@ cc_library(
204204
],
205205
)
206206

207+
cc_library(
208+
name = "proto_to_predicate",
209+
srcs = ["proto_to_predicate.cc"],
210+
hdrs = ["proto_to_predicate.h"],
211+
deps = [
212+
"//common:ast",
213+
"//common:expr",
214+
"//common:expr_factory",
215+
"//common:operators",
216+
"//internal:status_macros",
217+
"@com_google_absl//absl/status",
218+
"@com_google_absl//absl/status:statusor",
219+
"@com_google_absl//absl/strings",
220+
"@com_google_absl//absl/types:span",
221+
"@com_google_protobuf//:protobuf",
222+
],
223+
)
224+
225+
cc_test(
226+
name = "proto_to_predicate_test",
227+
srcs = ["proto_to_predicate_test.cc"],
228+
deps = [
229+
":cel_unparser",
230+
":proto_to_predicate",
231+
"//common:ast",
232+
"//common:ast_proto",
233+
"//common:value",
234+
"//env:config",
235+
"//env:env_runtime",
236+
"//env:env_yaml",
237+
"//env:runtime_std_extensions",
238+
"//eval/testutil:test_message_cc_proto",
239+
"//extensions/protobuf:value",
240+
"//internal:status_macros",
241+
"//internal:testing",
242+
"//internal:testing_descriptor_pool",
243+
"//parser",
244+
"//runtime",
245+
"//runtime:activation",
246+
"//tools/testdata:policy_cc_proto",
247+
"@com_google_absl//absl/status",
248+
"@com_google_absl//absl/status:status_matchers",
249+
"@com_google_absl//absl/status:statusor",
250+
"@com_google_absl//absl/strings:string_view",
251+
"@com_google_absl//absl/types:span",
252+
"@com_google_protobuf//:protobuf",
253+
],
254+
)
255+
207256
cc_test(
208257
name = "descriptor_pool_builder_test",
209258
srcs = ["descriptor_pool_builder_test.cc"],

0 commit comments

Comments
 (0)