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

Method SetContainer

common/container.cc:68–92  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66}
67
68absl::Status ExpressionContainer::SetContainer(absl::string_view name) {
69 if (name.empty()) {
70 container_ = "";
71 return absl::OkStatus();
72 }
73
74 if (!IsValidQualifiedName(name)) {
75 return absl::InvalidArgumentError(
76 absl::StrCat("invalid qualified name: ", name));
77 }
78
79 for (const auto& entry : aliases_) {
80 const std::string& alias = entry.first;
81 if (name == alias ||
82 (name.size() > alias.size() &&
83 absl::string_view(name).substr(0, alias.size()) == alias &&
84 name.at(alias.size()) == '.')) {
85 return absl::InvalidArgumentError(
86 absl::StrCat("container name collides with alias: ", alias));
87 }
88 }
89
90 container_ = std::string(name);
91 return absl::OkStatus();
92}
93
94absl::Status ExpressionContainer::AddAbbreviation(absl::string_view abrev) {
95 if (!IsValidQualifiedName(abrev)) {

Callers 5

TESTFunction · 0.80
set_containerMethod · 0.80
TESTFunction · 0.80
MakeExpressionContainerFunction · 0.80
MakeExpressionContainerFunction · 0.80

Calls 4

IsValidQualifiedNameFunction · 0.85
atMethod · 0.80
emptyMethod · 0.45
sizeMethod · 0.45

Tested by 2

TESTFunction · 0.64
TESTFunction · 0.64