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

Function MakeStdlibSubset

compiler/compiler_library_subset_factory.cc:29–64  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27namespace cel {
28
29CompilerLibrarySubset MakeStdlibSubset(
30 absl::flat_hash_set<std::string> macro_names,
31 absl::flat_hash_set<std::string> function_overload_ids,
32 StdlibSubsetOptions options) {
33 CompilerLibrarySubset subset;
34 subset.library_id = "stdlib";
35 switch (options.macro_list) {
36 case cel::StdlibSubsetOptions::ListKind::kInclude:
37 subset.should_include_macro =
38 IncludeMacrosByNamePredicate(std::move(macro_names));
39 break;
40 case cel::StdlibSubsetOptions::ListKind::kExclude:
41 subset.should_include_macro =
42 ExcludeMacrosByNamePredicate(std::move(macro_names));
43 break;
44 case cel::StdlibSubsetOptions::ListKind::kIgnore:
45 subset.should_include_macro = nullptr;
46 break;
47 }
48
49 switch (options.function_list) {
50 case cel::StdlibSubsetOptions::ListKind::kInclude:
51 subset.should_include_overload =
52 IncludeOverloadsByIdPredicate(std::move(function_overload_ids));
53 break;
54 case cel::StdlibSubsetOptions::ListKind::kExclude:
55 subset.should_include_overload =
56 ExcludeOverloadsByIdPredicate(std::move(function_overload_ids));
57 break;
58 case cel::StdlibSubsetOptions::ListKind::kIgnore:
59 subset.should_include_overload = nullptr;
60 break;
61 }
62
63 return subset;
64}
65
66CompilerLibrarySubset MakeStdlibSubset(
67 absl::Span<const absl::string_view> macro_names,

Callers 3

TESTFunction · 0.70

Calls 6

beginMethod · 0.45
endMethod · 0.45

Tested by 1

TESTFunction · 0.56