import dev.cel.bundle.CelFactory
import dev.cel.common.types.{ListType, SimpleType}
import dev.cel.optimizer.CelOptimizerFactory
import dev.cel.optimizer.optimizers.ConstantFoldingOptimizer
object Repro extends App {
val cel = CelFactory
.standardCelBuilder
.addVar("arg", ListType.create(SimpleType.STRING))
.build()
val optimizer = CelOptimizerFactory.standardCelOptimizerBuilder(cel)
.addAstOptimizers(ConstantFoldingOptimizer.INSTANCE)
.build()
optimizer.optimize(cel.compile("'abc' in arg").getAst)
}
Exception in thread "main" java.lang.ExceptionInInitializerError
at Repro.main(Repro.scala)
Caused by: dev.cel.optimizer.CelOptimizationException: Optimization failure: IDENT
at dev.cel.optimizer.CelOptimizerImpl.optimize(CelOptimizerImpl.java:52)
at Repro$.<clinit>(Repro.scala:19)
... 1 more
Caused by: java.lang.UnsupportedOperationException: IDENT
at dev.cel.common.ast.AutoOneOf_CelExpr_ExprKind$Parent_.createList(AutoOneOf_CelExpr_ExprKind.java:96)
at dev.cel.common.ast.CelExpr.createList(CelExpr.java:106)
at dev.cel.optimizer.optimizers.ConstantFoldingOptimizer.maybePruneBranches(ConstantFoldingOptimizer.java:302)
at dev.cel.optimizer.optimizers.ConstantFoldingOptimizer.optimize(ConstantFoldingOptimizer.java:84)
at dev.cel.optimizer.CelOptimizerImpl.optimize(CelOptimizerImpl.java:45)
... 2 more