示例#1
0
 internal override bool OptimizeAst(ref Expression ex, ref string error)
 {
     if (!InnerExpression.OptimizeAst(ref ex, ref error))
     {
         return(false);
     }
     ex = InnerExpression;
     return(true);
 }
示例#2
0
 internal override bool OptimizeAst(ref Expression ex, ref string error)
 {
     // Optimize our children first
     if (!InnerExpression.OptimizeAst(ref InnerExpression, ref error))
     {
         return(false);
     }
     // optimize the case that we are a negative literal
     if (ex is Literal l)
     {
         ex = new Literal(Start, -l.Value);
     }
     return(true);
 }