public override IPhpValue Simplify(IPhpExpressionSimplifier s)
 {
     Debug.Assert(Condition != null, "Condition != null");
     var condition = SimplifyForFieldAcces(Condition, s);
     var whenTrue = SimplifyForFieldAcces(WhenTrue, s);
     var whenFalse = SimplifyForFieldAcces(WhenFalse, s);
     var newNode = new PhpConditionalExpression(condition, whenTrue, whenFalse);
     return EqualCode(this, newNode) ? this : newNode;
 }
        public override IPhpValue Simplify(IPhpExpressionSimplifier s)
        {
            Debug.Assert(Condition != null, "Condition != null");
            var condition = SimplifyForFieldAcces(Condition, s);
            var whenTrue  = SimplifyForFieldAcces(WhenTrue, s);
            var whenFalse = SimplifyForFieldAcces(WhenFalse, s);
            var newNode   = new PhpConditionalExpression(condition, whenTrue, whenFalse);

            return(EqualCode(this, newNode) ? this : newNode);
        }