Skip to content

Commit 1f35b77

Browse files
CEL Dev Teamkyessenov
authored andcommitted
Internal change
PiperOrigin-RevId: 347458787
1 parent 414f730 commit 1f35b77

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

eval/public/transform_utility.cc

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,8 @@ absl::StatusOr<CelValue> ValueToCelValue(const Value& value,
114114
case Value::kBoolValue:
115115
return CelValue::CreateBool(value.bool_value());
116116
case Value::kBytesValue:
117-
return CelValue::CreateBytes(CelValue::BytesHolder(&value.bytes_value()));
117+
return CelValue::CreateBytes(CelValue::BytesHolder(
118+
arena->Create<std::string>(arena, value.bytes_value())));
118119
case Value::kDoubleValue:
119120
return CelValue::CreateDouble(value.double_value());
120121
case Value::kEnumValue:
@@ -146,14 +147,18 @@ absl::StatusOr<CelValue> ValueToCelValue(const Value& value,
146147
}
147148
case Value::kNullValue:
148149
return CelValue::CreateNull();
149-
case Value::kObjectValue:
150-
return CelProtoWrapper::CreateMessage(&value.object_value(), arena);
150+
case Value::kObjectValue: {
151+
auto cel_value =
152+
CelProtoWrapper::CreateMessage(&value.object_value(), arena);
153+
if (cel_value.IsError()) return *cel_value.ErrorOrDie();
154+
return cel_value;
155+
}
151156
case Value::kStringValue:
152-
return CelValue::CreateString(
153-
CelValue::StringHolder(&value.string_value()));
157+
return CelValue::CreateString(CelValue::StringHolder(
158+
arena->Create<std::string>(arena, value.string_value())));
154159
case Value::kTypeValue:
155-
return CelValue::CreateCelType(
156-
CelValue::CelTypeHolder(&value.type_value()));
160+
return CelValue::CreateCelType(CelValue::CelTypeHolder(
161+
arena->Create<std::string>(arena, value.type_value())));
157162
case Value::kUint64Value:
158163
return CelValue::CreateUint64(value.uint64_value());
159164
case Value::KIND_NOT_SET:

0 commit comments

Comments
 (0)