Skip to content

Commit 54060a2

Browse files
l46kokcopybara-github
authored andcommitted
Support parsed-only evaluation to sets extension
PiperOrigin-RevId: 902882306
1 parent 5470c95 commit 54060a2

3 files changed

Lines changed: 164 additions & 194 deletions

File tree

extensions/src/main/java/dev/cel/extensions/SetsExtensionsRuntimeImpl.java

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -45,28 +45,34 @@ ImmutableSet<CelFunctionBinding> newFunctionBindings() {
4545
for (SetsFunction function : functions) {
4646
switch (function) {
4747
case CONTAINS:
48-
bindingBuilder.add(
49-
CelFunctionBinding.from(
50-
"list_sets_contains_list",
51-
Collection.class,
52-
Collection.class,
53-
this::containsAll));
48+
bindingBuilder.addAll(
49+
CelFunctionBinding.fromOverloads(
50+
function.getFunction(),
51+
CelFunctionBinding.from(
52+
"list_sets_contains_list",
53+
Collection.class,
54+
Collection.class,
55+
this::containsAll)));
5456
break;
5557
case EQUIVALENT:
56-
bindingBuilder.add(
57-
CelFunctionBinding.from(
58-
"list_sets_equivalent_list",
59-
Collection.class,
60-
Collection.class,
61-
(listA, listB) -> containsAll(listA, listB) && containsAll(listB, listA)));
58+
bindingBuilder.addAll(
59+
CelFunctionBinding.fromOverloads(
60+
function.getFunction(),
61+
CelFunctionBinding.from(
62+
"list_sets_equivalent_list",
63+
Collection.class,
64+
Collection.class,
65+
(listA, listB) -> containsAll(listA, listB) && containsAll(listB, listA))));
6266
break;
6367
case INTERSECTS:
64-
bindingBuilder.add(
65-
CelFunctionBinding.from(
66-
"list_sets_intersects_list",
67-
Collection.class,
68-
Collection.class,
69-
this::setIntersects));
68+
bindingBuilder.addAll(
69+
CelFunctionBinding.fromOverloads(
70+
function.getFunction(),
71+
CelFunctionBinding.from(
72+
"list_sets_intersects_list",
73+
Collection.class,
74+
Collection.class,
75+
this::setIntersects)));
7076
break;
7177
}
7278
}

0 commit comments

Comments
 (0)