public override RuntimeValueNode Evaluate() { var l = new RuntimeExpression( Operator.Left, RuntimeScope ).Evaluate(); var res = l.OpEqual(WrapBool(true, l)); if ((bool)res.Value) { return(WrapBool(true, res)); } var r = new RuntimeExpression( Operator.Right, RuntimeScope ).Evaluate(); res = r.OpEqual(WrapBool(true, r)); if ((bool)res.Value) { return(WrapBool(true, res)); } return(WrapBool(false, r)); }
public override RuntimeValueNode Evaluate() { var l = new RuntimeExpression( Operator.Left, RuntimeScope ).Evaluate(); var r = new RuntimeExpression( Operator.Right, RuntimeScope ).Evaluate(); RuntimeValueNode res; res = l.OpEqual(r); if ((bool)res.Value) { return(res); } res = l.OpSmaller(r); if ((bool)res.Value) { return(res); } return(res); }
public override RuntimeValueNode Evaluate() { var l = new RuntimeExpression( Operator.Left, RuntimeScope ).Evaluate(); var r = new RuntimeExpression( Operator.Right, RuntimeScope ).Evaluate(); return(l.OpEqual(r)); }
public override RuntimeValueNode Evaluate() { var l = new RuntimeExpression( Operator.Left, RuntimeScope ).Evaluate(); var r = new RuntimeExpression( Operator.Right, RuntimeScope ).Evaluate(); var res = l.OpEqual(r); return(new RuntimeBoolValueNode( new Parser.Syntax.Expressions.Nodes.Value.BoolValueNode( res.DefiningToken, !(bool)res.Value ), res.RuntimeScope )); }