- Notifications
You must be signed in to change notification settings - Fork 28
Closed
Description
Describe the bug
ConstantFoldingOptimizer doesn't work for some expressions. e.g. "my_var in ['H', 'O']"
To Reproduce
Clone this repository, that reproduce the bug.
https://github.com/bugs84/CelOptimizerIssue
Current issue
Program ends with following exception:
Exception in thread "main" java.lang.NoSuchMethodError: 'com.google.protobuf.Internal$LongList dev.cel.expr.UnknownSet.mutableCopy(com.google.protobuf.Internal$LongList)' at dev.cel.expr.UnknownSet.access$600(UnknownSet.java:14) at dev.cel.expr.UnknownSet$Builder.ensureExprsIsMutable(UnknownSet.java:456) at dev.cel.expr.UnknownSet$Builder.addAllExprs(UnknownSet.java:539) at dev.cel.runtime.InterpreterUtil.createUnknownExprValue(InterpreterUtil.java:95) at dev.cel.runtime.InterpreterUtil.createUnknownExprValue(InterpreterUtil.java:84) at dev.cel.runtime.InterpreterUtil.valueOrUnknown(InterpreterUtil.java:146) at dev.cel.runtime.RuntimeUnknownResolver.resolveSimpleName(RuntimeUnknownResolver.java:114) at dev.cel.runtime.DefaultInterpreter$ExecutionFrame.resolveSimpleName(DefaultInterpreter.java:975) at dev.cel.runtime.DefaultInterpreter$ExecutionFrame.access$200(DefaultInterpreter.java:936) at dev.cel.runtime.DefaultInterpreter$DefaultInterpretable.resolveIdent(DefaultInterpreter.java:274) at dev.cel.runtime.DefaultInterpreter$DefaultInterpretable.evalIdent(DefaultInterpreter.java:262) at dev.cel.runtime.DefaultInterpreter$DefaultInterpretable.evalInternal(DefaultInterpreter.java:193) at dev.cel.runtime.DefaultInterpreter$DefaultInterpretable.evalCall(DefaultInterpreter.java:387) at dev.cel.runtime.DefaultInterpreter$DefaultInterpretable.evalInternal(DefaultInterpreter.java:199) at dev.cel.runtime.DefaultInterpreter$DefaultInterpretable.evalTrackingUnknowns(DefaultInterpreter.java:179) at dev.cel.runtime.DefaultInterpreter$DefaultInterpretable.eval(DefaultInterpreter.java:170) at dev.cel.runtime.CelRuntime$Program.evalInternal(CelRuntime.java:146) at dev.cel.runtime.CelRuntime$Program.evalInternal(CelRuntime.java:121) at dev.cel.runtime.CelRuntime$Program.evalInternal(CelRuntime.java:116) at dev.cel.runtime.CelRuntime$Program.eval(CelRuntime.java:49) at dev.cel.common.ast.CelExprUtil.evaluateExpr(CelExprUtil.java:42) at dev.cel.optimizer.optimizers.ConstantFoldingOptimizer.maybeFold(ConstantFoldingOptimizer.java:251) at dev.cel.optimizer.optimizers.ConstantFoldingOptimizer.optimize(ConstantFoldingOptimizer.java:113) at dev.cel.optimizer.CelOptimizerImpl.optimize(CelOptimizerImpl.java:45) at HelloWorld.run(HelloWorld.java:62) at HelloWorld.main(HelloWorld.java:73) Metadata
Metadata
Assignees
Labels
No labels