diff --git a/bundle/src/main/java/dev/cel/bundle/CelEnvironment.java b/bundle/src/main/java/dev/cel/bundle/CelEnvironment.java index 3bdc7c894..9f33032a8 100644 --- a/bundle/src/main/java/dev/cel/bundle/CelEnvironment.java +++ b/bundle/src/main/java/dev/cel/bundle/CelEnvironment.java @@ -70,7 +70,8 @@ public abstract class CelEnvironment { "optional", CanonicalCelExtension.OPTIONAL, "protos", CanonicalCelExtension.PROTOS, "sets", CanonicalCelExtension.SETS, - "strings", CanonicalCelExtension.STRINGS); + "strings", CanonicalCelExtension.STRINGS, + "comprehensions", CanonicalCelExtension.COMPREHENSIONS); /** Environment source in textual format (ex: textproto, YAML). */ public abstract Optional source(); @@ -687,8 +688,8 @@ enum CanonicalCelExtension { BINDINGS((options, version) -> CelExtensions.bindings()), PROTOS((options, version) -> CelExtensions.protos()), ENCODERS( - (options, version) -> CelExtensions.encoders(), - (options, version) -> CelExtensions.encoders()), + (options, version) -> CelExtensions.encoders(options), + (options, version) -> CelExtensions.encoders(options)), MATH( (options, version) -> CelExtensions.math(options, version), (options, version) -> CelExtensions.math(options, version)), @@ -701,7 +702,10 @@ enum CanonicalCelExtension { SETS( (options, version) -> CelExtensions.sets(options), (options, version) -> CelExtensions.sets(options)), - LISTS((options, version) -> CelExtensions.lists(), (options, version) -> CelExtensions.lists()); + LISTS((options, version) -> CelExtensions.lists(), (options, version) -> CelExtensions.lists()), + COMPREHENSIONS( + (options, version) -> CelExtensions.comprehensions(), + (options, version) -> CelExtensions.comprehensions()); @SuppressWarnings("ImmutableEnumChecker") private final CompilerExtensionProvider compilerExtensionProvider; diff --git a/bundle/src/test/java/dev/cel/bundle/CelEnvironmentTest.java b/bundle/src/test/java/dev/cel/bundle/CelEnvironmentTest.java index bafa20ea6..56a4a241c 100644 --- a/bundle/src/test/java/dev/cel/bundle/CelEnvironmentTest.java +++ b/bundle/src/test/java/dev/cel/bundle/CelEnvironmentTest.java @@ -60,7 +60,8 @@ public void extend_allExtensions() throws Exception { ExtensionConfig.latest("optional"), ExtensionConfig.latest("protos"), ExtensionConfig.latest("sets"), - ExtensionConfig.latest("strings")); + ExtensionConfig.latest("strings"), + ExtensionConfig.latest("comprehensions")); CelEnvironment environment = CelEnvironment.newBuilder().addExtensions(extensionConfigs).build(); @@ -100,9 +101,7 @@ public void extensionVersion_specific() throws Exception { @Test public void extensionVersion_latest() throws Exception { CelEnvironment environment = - CelEnvironment.newBuilder() - .addExtensions(ExtensionConfig.latest("math")) - .build(); + CelEnvironment.newBuilder().addExtensions(ExtensionConfig.latest("math")).build(); Cel cel = environment.extend(CelFactory.standardCelBuilder().build(), CelOptions.DEFAULT); CelAbstractSyntaxTree ast = cel.compile("math.sqrt(4)").getAst(); @@ -240,10 +239,10 @@ public void stdlibSubset_functionsIncluded() throws Exception { LibrarySubset.newBuilder() .setDisabled(false) .setIncludedFunctions( - ImmutableSet.of( - FunctionSelector.create("_==_", ImmutableSet.of()), - FunctionSelector.create("_!=_", ImmutableSet.of()), - FunctionSelector.create("_&&_", ImmutableSet.of()))) + ImmutableSet.of( + FunctionSelector.create("_==_", ImmutableSet.of()), + FunctionSelector.create("_!=_", ImmutableSet.of()), + FunctionSelector.create("_&&_", ImmutableSet.of()))) .build()) .build(); @@ -287,8 +286,7 @@ public void stdlibSubset_functionsExcluded() throws Exception { LibrarySubset.newBuilder() .setDisabled(false) .setExcludedFunctions( - ImmutableSet.of( - FunctionSelector.create("_+_", ImmutableSet.of()))) + ImmutableSet.of(FunctionSelector.create("_+_", ImmutableSet.of()))) .build()) .build();