MCPcopy Create free account
hub / github.com/cel-expr/cel-cpp / AddLogicalOps

Function AddLogicalOps

checker/standard_library.cc:220–263  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

218}
219
220absl::Status AddLogicalOps(TypeCheckerBuilder& builder) {
221 FunctionDecl not_op;
222 not_op.set_name(StandardFunctions::kNot);
223 CEL_RETURN_IF_ERROR(not_op.AddOverload(
224 MakeOverloadDecl(StandardOverloadIds::kNot, BoolType(), BoolType())));
225
226 CEL_RETURN_IF_ERROR(builder.AddFunction(std::move(not_op)));
227
228 FunctionDecl and_op;
229 and_op.set_name(StandardFunctions::kAnd);
230 CEL_RETURN_IF_ERROR(and_op.AddOverload(MakeOverloadDecl(
231 StandardOverloadIds::kAnd, BoolType(), BoolType(), BoolType())));
232 CEL_RETURN_IF_ERROR(builder.AddFunction(std::move(and_op)));
233
234 FunctionDecl or_op;
235 or_op.set_name(StandardFunctions::kOr);
236 CEL_RETURN_IF_ERROR(or_op.AddOverload(MakeOverloadDecl(
237 StandardOverloadIds::kOr, BoolType(), BoolType(), BoolType())));
238 CEL_RETURN_IF_ERROR(builder.AddFunction(std::move(or_op)));
239
240 FunctionDecl conditional_op;
241 conditional_op.set_name(StandardFunctions::kTernary);
242 CEL_RETURN_IF_ERROR(conditional_op.AddOverload(
243 MakeOverloadDecl(StandardOverloadIds::kConditional, TypeParamA(),
244 BoolType(), TypeParamA(), TypeParamA())));
245 CEL_RETURN_IF_ERROR(builder.AddFunction(std::move(conditional_op)));
246
247 FunctionDecl not_strictly_false;
248 not_strictly_false.set_name(StandardFunctions::kNotStrictlyFalse);
249 CEL_RETURN_IF_ERROR(not_strictly_false.AddOverload(MakeOverloadDecl(
250 StandardOverloadIds::kNotStrictlyFalse, BoolType(), BoolType())));
251 CEL_RETURN_IF_ERROR(builder.AddFunction(std::move(not_strictly_false)));
252
253 FunctionDecl not_strictly_false_deprecated;
254 not_strictly_false_deprecated.set_name(
255 StandardFunctions::kNotStrictlyFalseDeprecated);
256 CEL_RETURN_IF_ERROR(not_strictly_false_deprecated.AddOverload(
257 MakeOverloadDecl(StandardOverloadIds::kNotStrictlyFalseDeprecated,
258 BoolType(), BoolType())));
259 CEL_RETURN_IF_ERROR(
260 builder.AddFunction(std::move(not_strictly_false_deprecated)));
261
262 return absl::OkStatus();
263}
264
265absl::Status AddTypeConversions(TypeCheckerBuilder& builder) {
266 FunctionDecl to_dyn;

Callers 1

AddStandardLibraryDeclsFunction · 0.85

Calls 6

MakeOverloadDeclFunction · 0.85
AddOverloadMethod · 0.80
TypeParamAFunction · 0.70
BoolTypeClass · 0.50
set_nameMethod · 0.45
AddFunctionMethod · 0.45

Tested by

no test coverage detected