Skip to content

Commit a69f85b

Browse files
jnthntatumcopybara-github
authored andcommitted
Remove references to handles in function adapter code.
PiperOrigin-RevId: 823120997
1 parent c86ab58 commit a69f85b

File tree

4 files changed

+123
-122
lines changed

4 files changed

+123
-122
lines changed

runtime/function_adapter.h

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ struct AdaptHelperImpl {
101101
static absl::Status Apply(absl::Span<const Value> input, T& output) {
102102
static_assert(sizeof...(Args) > 0);
103103
static_assert(std::tuple_size_v<T> == sizeof...(Args));
104-
CEL_RETURN_IF_ERROR(HandleToAdaptedVisitor{input[I]}(&std::get<I>(output)));
104+
CEL_RETURN_IF_ERROR(ValueToAdaptedVisitor{input[I]}(&std::get<I>(output)));
105105
if constexpr (I == sizeof...(Args) - 1) {
106106
return absl::OkStatus();
107107
} else {
@@ -235,7 +235,7 @@ class NullaryFunctionAdapter
235235
} else {
236236
T result = fn_(descriptor_pool, message_factory, arena);
237237

238-
return runtime_internal::AdaptedToHandleVisitor{}(std::move(result));
238+
return runtime_internal::AdaptedToValueVisitor{}(std::move(result));
239239
}
240240
}
241241

@@ -309,7 +309,7 @@ class UnaryFunctionAdapter : public RegisterHelper<UnaryFunctionAdapter<T, U>> {
309309
typename ArgTraits::AssignableType arg1;
310310

311311
CEL_RETURN_IF_ERROR(
312-
runtime_internal::HandleToAdaptedVisitor{args[0]}(&arg1));
312+
runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1));
313313
if constexpr (std::is_same_v<T, Value> ||
314314
std::is_same_v<T, absl::StatusOr<Value>>) {
315315
return fn_(ArgTraits::ToArg(arg1), descriptor_pool, message_factory,
@@ -318,7 +318,7 @@ class UnaryFunctionAdapter : public RegisterHelper<UnaryFunctionAdapter<T, U>> {
318318
T result = fn_(ArgTraits::ToArg(arg1), descriptor_pool, message_factory,
319319
arena);
320320

321-
return runtime_internal::AdaptedToHandleVisitor{}(std::move(result));
321+
return runtime_internal::AdaptedToValueVisitor{}(std::move(result));
322322
}
323323
}
324324

@@ -442,9 +442,9 @@ class BinaryFunctionAdapter
442442
typename Arg1Traits::AssignableType arg1;
443443
typename Arg2Traits::AssignableType arg2;
444444
CEL_RETURN_IF_ERROR(
445-
runtime_internal::HandleToAdaptedVisitor{args[0]}(&arg1));
445+
runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1));
446446
CEL_RETURN_IF_ERROR(
447-
runtime_internal::HandleToAdaptedVisitor{args[1]}(&arg2));
447+
runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2));
448448

449449
if constexpr (std::is_same_v<T, Value> ||
450450
std::is_same_v<T, absl::StatusOr<Value>>) {
@@ -454,7 +454,7 @@ class BinaryFunctionAdapter
454454
T result = fn_(Arg1Traits::ToArg(arg1), Arg2Traits::ToArg(arg2),
455455
descriptor_pool, message_factory, arena);
456456

457-
return runtime_internal::AdaptedToHandleVisitor{}(std::move(result));
457+
return runtime_internal::AdaptedToValueVisitor{}(std::move(result));
458458
}
459459
}
460460

@@ -516,11 +516,11 @@ class TernaryFunctionAdapter
516516
typename Arg2Traits::AssignableType arg2;
517517
typename Arg3Traits::AssignableType arg3;
518518
CEL_RETURN_IF_ERROR(
519-
runtime_internal::HandleToAdaptedVisitor{args[0]}(&arg1));
519+
runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1));
520520
CEL_RETURN_IF_ERROR(
521-
runtime_internal::HandleToAdaptedVisitor{args[1]}(&arg2));
521+
runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2));
522522
CEL_RETURN_IF_ERROR(
523-
runtime_internal::HandleToAdaptedVisitor{args[2]}(&arg3));
523+
runtime_internal::ValueToAdaptedVisitor{args[2]}(&arg3));
524524

525525
if constexpr (std::is_same_v<T, Value> ||
526526
std::is_same_v<T, absl::StatusOr<Value>>) {
@@ -532,7 +532,7 @@ class TernaryFunctionAdapter
532532
Arg3Traits::ToArg(arg3), descriptor_pool,
533533
message_factory, arena);
534534

535-
return runtime_internal::AdaptedToHandleVisitor{}(std::move(result));
535+
return runtime_internal::AdaptedToValueVisitor{}(std::move(result));
536536
}
537537
}
538538

@@ -597,13 +597,13 @@ class QuaternaryFunctionAdapter
597597
typename Arg3Traits::AssignableType arg3;
598598
typename Arg4Traits::AssignableType arg4;
599599
CEL_RETURN_IF_ERROR(
600-
runtime_internal::HandleToAdaptedVisitor{args[0]}(&arg1));
600+
runtime_internal::ValueToAdaptedVisitor{args[0]}(&arg1));
601601
CEL_RETURN_IF_ERROR(
602-
runtime_internal::HandleToAdaptedVisitor{args[1]}(&arg2));
602+
runtime_internal::ValueToAdaptedVisitor{args[1]}(&arg2));
603603
CEL_RETURN_IF_ERROR(
604-
runtime_internal::HandleToAdaptedVisitor{args[2]}(&arg3));
604+
runtime_internal::ValueToAdaptedVisitor{args[2]}(&arg3));
605605
CEL_RETURN_IF_ERROR(
606-
runtime_internal::HandleToAdaptedVisitor{args[3]}(&arg4));
606+
runtime_internal::ValueToAdaptedVisitor{args[3]}(&arg4));
607607

608608
if constexpr (std::is_same_v<T, Value> ||
609609
std::is_same_v<T, absl::StatusOr<Value>>) {
@@ -615,7 +615,7 @@ class QuaternaryFunctionAdapter
615615
Arg3Traits::ToArg(arg3), Arg4Traits::ToArg(arg4),
616616
descriptor_pool, message_factory, arena);
617617

618-
return runtime_internal::AdaptedToHandleVisitor{}(std::move(result));
618+
return runtime_internal::AdaptedToValueVisitor{}(std::move(result));
619619
}
620620
}
621621

@@ -707,7 +707,7 @@ class NaryFunctionAdapter
707707
} else {
708708
T result = runtime_internal::ToArgsHelper<Args...>::template Apply<T>(
709709
fn_, arg_buffer, descriptor_pool, message_factory, arena);
710-
return runtime_internal::AdaptedToHandleVisitor{}(std::move(result));
710+
return runtime_internal::AdaptedToValueVisitor{}(std::move(result));
711711
}
712712
}
713713

runtime/internal/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,11 @@ cc_test(
152152
srcs = ["function_adapter_test.cc"],
153153
deps = [
154154
":function_adapter",
155-
"//common:casting",
156155
"//common:kind",
157156
"//common:value",
158157
"//internal:testing",
159158
"@com_google_absl//absl/status",
159+
"@com_google_absl//absl/status:status_matchers",
160160
"@com_google_absl//absl/status:statusor",
161161
"@com_google_absl//absl/time",
162162
],

runtime/internal/function_adapter.h

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ constexpr Kind AdaptedKind<absl::Duration>() {
7474
return Kind::kDuration;
7575
}
7676

77-
// ValueTypes without a canonical c++ type representation can be referenced by
78-
// Handle, cref Handle, or cref ValueType.
79-
#define HANDLE_ADAPTED_KIND_OVL(value_type, kind) \
77+
// Value types without a generic C++ type representation can be referenced by
78+
// cref or value of the cel::*Value type.
79+
#define VALUE_ADAPTED_KIND_OVL(value_type, kind) \
8080
template <> \
8181
constexpr Kind AdaptedKind<const value_type&>() { \
8282
return kind; \
@@ -87,66 +87,66 @@ constexpr Kind AdaptedKind<absl::Duration>() {
8787
return kind; \
8888
}
8989

90-
HANDLE_ADAPTED_KIND_OVL(Value, Kind::kAny);
91-
HANDLE_ADAPTED_KIND_OVL(StringValue, Kind::kString);
92-
HANDLE_ADAPTED_KIND_OVL(BytesValue, Kind::kBytes);
93-
HANDLE_ADAPTED_KIND_OVL(StructValue, Kind::kStruct);
94-
HANDLE_ADAPTED_KIND_OVL(MapValue, Kind::kMap);
95-
HANDLE_ADAPTED_KIND_OVL(ListValue, Kind::kList);
96-
HANDLE_ADAPTED_KIND_OVL(NullValue, Kind::kNullType);
97-
HANDLE_ADAPTED_KIND_OVL(OpaqueValue, Kind::kOpaque);
98-
HANDLE_ADAPTED_KIND_OVL(TypeValue, Kind::kType);
90+
VALUE_ADAPTED_KIND_OVL(Value, Kind::kAny);
91+
VALUE_ADAPTED_KIND_OVL(StringValue, Kind::kString);
92+
VALUE_ADAPTED_KIND_OVL(BytesValue, Kind::kBytes);
93+
VALUE_ADAPTED_KIND_OVL(StructValue, Kind::kStruct);
94+
VALUE_ADAPTED_KIND_OVL(MapValue, Kind::kMap);
95+
VALUE_ADAPTED_KIND_OVL(ListValue, Kind::kList);
96+
VALUE_ADAPTED_KIND_OVL(NullValue, Kind::kNullType);
97+
VALUE_ADAPTED_KIND_OVL(OpaqueValue, Kind::kOpaque);
98+
VALUE_ADAPTED_KIND_OVL(TypeValue, Kind::kType);
9999

100-
#undef HANDLE_ADAPTED_KIND_OVL
100+
#undef VALUE_ADAPTED_KIND_OVL
101101

102102
// Adapt a Value to its corresponding argument type in a wrapped c++
103103
// function.
104-
struct HandleToAdaptedVisitor {
104+
struct ValueToAdaptedVisitor {
105105
absl::Status operator()(int64_t* out) const {
106-
if (!InstanceOf<IntValue>(input)) {
106+
if (!input.IsInt()) {
107107
return absl::InvalidArgumentError("expected int value");
108108
}
109-
*out = Cast<IntValue>(input).NativeValue();
109+
*out = input.GetInt().NativeValue();
110110
return absl::OkStatus();
111111
}
112112

113113
absl::Status operator()(uint64_t* out) const {
114-
if (!InstanceOf<UintValue>(input)) {
114+
if (!input.IsUint()) {
115115
return absl::InvalidArgumentError("expected uint value");
116116
}
117-
*out = Cast<UintValue>(input).NativeValue();
117+
*out = input.GetUint().NativeValue();
118118
return absl::OkStatus();
119119
}
120120

121121
absl::Status operator()(double* out) const {
122-
if (!InstanceOf<DoubleValue>(input)) {
122+
if (!input.IsDouble()) {
123123
return absl::InvalidArgumentError("expected double value");
124124
}
125-
*out = Cast<DoubleValue>(input).NativeValue();
125+
*out = input.GetDouble().NativeValue();
126126
return absl::OkStatus();
127127
}
128128

129129
absl::Status operator()(bool* out) const {
130-
if (!InstanceOf<BoolValue>(input)) {
130+
if (!input.IsBool()) {
131131
return absl::InvalidArgumentError("expected bool value");
132132
}
133-
*out = Cast<BoolValue>(input).NativeValue();
133+
*out = input.GetBool().NativeValue();
134134
return absl::OkStatus();
135135
}
136136

137137
absl::Status operator()(absl::Time* out) const {
138-
if (!InstanceOf<TimestampValue>(input)) {
138+
if (!input.IsTimestamp()) {
139139
return absl::InvalidArgumentError("expected timestamp value");
140140
}
141-
*out = Cast<TimestampValue>(input).NativeValue();
141+
*out = input.GetTimestamp().ToTime();
142142
return absl::OkStatus();
143143
}
144144

145145
absl::Status operator()(absl::Duration* out) const {
146-
if (!InstanceOf<DurationValue>(input)) {
146+
if (!input.IsDuration()) {
147147
return absl::InvalidArgumentError("expected duration value");
148148
}
149-
*out = Cast<DurationValue>(input).NativeValue();
149+
*out = input.GetDuration().ToDuration();
150150
return absl::OkStatus();
151151
}
152152

@@ -188,7 +188,7 @@ struct HandleToAdaptedVisitor {
188188

189189
// Adapts the return value of a wrapped C++ function to its corresponding
190190
// Value representation.
191-
struct AdaptedToHandleVisitor {
191+
struct AdaptedToValueVisitor {
192192
absl::StatusOr<Value> operator()(int64_t in) { return IntValue(in); }
193193

194194
absl::StatusOr<Value> operator()(uint64_t in) { return UintValue(in); }

0 commit comments

Comments
 (0)