1
Vote

Logical operation gives expressionCompile Exception

description

I have a formula : E or (A And (B Or C Or D))
And I pass boolean values to all parameters
But I get a expressionCompile exception and an indication that a double and a boolean cannot be evaluated.

{"AndOrElement: Operation 'Or' is not defined for types 'Double' and 'Boolean'"}
TypeMismatch

at Ciloci.Flee.ExpressionElement.ThrowCompileException(String messageKey, CompileExceptionReason reason, Object[] arguments)
at Ciloci.Flee.BinaryExpressionElement.ThrowOperandTypeMismatch(Object operation, Type leftType, Type rightType)
at Ciloci.Flee.BinaryExpressionElement.ValidateInternal(Object op)
at Ciloci.Flee.BinaryExpressionElement.Configure(ExpressionElement leftChild, ExpressionElement rightChild, Object op)
at Ciloci.Flee.BinaryExpressionElement.CreateElement(IList childValues, Type elementType)
at Ciloci.Flee.FleeExpressionAnalyzer.AddBinaryOp(Production node, Type elementType)
at Ciloci.Flee.FleeExpressionAnalyzer.ExitOrExpression(Production node)
at Ciloci.Flee.ExpressionAnalyzer.Exit(Node node)
at Ciloci.Flee.PerCederberg.Grammatica.Runtime.Parser.ExitNode(Node node)
at Ciloci.Flee.PerCederberg.Grammatica.Runtime.RecursiveDescentParser.ParseAlternative(ProductionPatternAlternative alt)
at Ciloci.Flee.PerCederberg.Grammatica.Runtime.RecursiveDescentParser.ParsePattern(ProductionPattern pattern)
at Ciloci.Flee.PerCederberg.Grammatica.Runtime.RecursiveDescentParser.ParseElement(Production node, ProductionPatternElement elem)
at Ciloci.Flee.PerCederberg.Grammatica.Runtime.RecursiveDescentParser.ParseAlternative(ProductionPatternAlternative alt)
at Ciloci.Flee.PerCederberg.Grammatica.Runtime.RecursiveDescentParser.ParsePattern(ProductionPattern pattern)
at Ciloci.Flee.PerCederberg.Grammatica.Runtime.RecursiveDescentParser.ParseElement(Production node, ProductionPatternElement elem)
at Ciloci.Flee.PerCederberg.Grammatica.Runtime.RecursiveDescentParser.ParseAlternative(ProductionPatternAlternative alt)
at Ciloci.Flee.PerCederberg.Grammatica.Runtime.RecursiveDescentParser.ParsePattern(ProductionPattern pattern)
at Ciloci.Flee.PerCederberg.Grammatica.Runtime.RecursiveDescentParser.ParseStart()
at Ciloci.Flee.PerCederberg.Grammatica.Runtime.Parser.Parse()
at Ciloci.Flee.ExpressionContext.DoParse()
at Ciloci.Flee.ExpressionContext.Parse(String expression, IServiceProvider services)
at Ciloci.Flee.Expression1.Compile(String expression, ExpressionOptions options)
at Ciloci.Flee.Expression
1..ctor(String expression, ExpressionContext context, Boolean isGeneric)
at Ciloci.Flee.ExpressionContext.CompileGeneric[TResultType](String expression)
at ICeTechControlLibrary.Converters.BoolExpressionConverter.Convert(Object[] values, Type targetType, Object parameter, CultureInfo culture) in c:\Users\stuyckp\Documents\Visual Studio 2013\Projects\WPF\ICeTechControlLibrary\ICeTechControlLibrary\Converters\ExpressionConverter.cs:line 27
at System.Windows.Data.MultiBindingExpression.TransferValue()
at System.Windows.Data.MultiBindingExpression.Transfer()
at System.Windows.Data.MultiBindingExpression.UpdateTarget(Boolean includeInnerBindings)
at System.Windows.Data.MultiBindingExpression.AttachToContext(Boolean lastChance)
at System.Windows.Data.MultiBindingExpression.MS.Internal.Data.IDataBindEngineClient.AttachToContext(Boolean lastChance)
at MS.Internal.Data.DataBindEngine.Task.Run(Boolean lastChance)
at MS.Internal.Data.DataBindEngine.Run(Object arg)
at MS.Internal.Data.DataBindEngine.OnLayoutUpdated(Object sender, EventArgs e)
at System.Windows.ContextLayoutManager.fireLayoutUpdateEvent()
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

comments