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

Method AddAlias

common/container.cc:111–138  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

109}
110
111absl::Status ExpressionContainer::AddAlias(absl::string_view alias,
112 absl::string_view name) {
113 if (!IsValidAlias(alias)) {
114 return absl::InvalidArgumentError(absl::StrCat(
115 "alias must be non-empty and simple (not qualified): ", alias));
116 }
117
118 if (!IsValidQualifiedName(name)) {
119 return absl::InvalidArgumentError(
120 absl::StrCat("invalid qualified name: ", name));
121 }
122
123 if (auto it = aliases_.find(alias); it != aliases_.end()) {
124 return absl::InvalidArgumentError(absl::StrCat(
125 "alias collides with existing reference: ", alias, " -> ", it->second));
126 }
127
128 if (container_ == alias ||
129 (container_.size() > alias.size() &&
130 absl::string_view(container_).substr(0, alias.size()) == alias &&
131 container_.at(alias.size()) == '.')) {
132 return absl::InvalidArgumentError(
133 absl::StrCat("alias collides with container name: ", alias));
134 }
135
136 aliases_.insert({std::string(alias), std::string(name)});
137 return absl::OkStatus();
138}
139
140absl::string_view ExpressionContainer::FindAlias(
141 absl::string_view alias) const {

Callers 3

TESTFunction · 0.80
TESTFunction · 0.80
TESTFunction · 0.80

Calls 5

IsValidAliasFunction · 0.85
IsValidQualifiedNameFunction · 0.85
atMethod · 0.80
endMethod · 0.45
sizeMethod · 0.45

Tested by 3

TESTFunction · 0.64
TESTFunction · 0.64
TESTFunction · 0.64