public int TransformSpecialConstant(SpecialConstant expr) { ExtractCILIndex(expr); object value = expr.Eval(_eval); Emit(ISet.LdConst(value), expr, 0, expr.ResultType); return(0); }
/// <summary> /// Transforms a special constant expression. The default implementation clones it. /// </summary> /// <param name="expr">special constant expression</param> /// <returns>transformation result</returns> public virtual Expression TransformSpecialConstant(SpecialConstant expr) { return(expr); }
public bool TransformSpecialConstant(SpecialConstant expr) { return(true); }
public Expression TransformSpecialConstant(SpecialConstant expr) { return(SpecialConstant.ScalarZero); }
public string GetSpecialConstantSymbol(SpecialConstant.Kind constant) { switch (constant) { case SpecialConstant.Kind.E: return "MATH_E"; case SpecialConstant.Kind.False: return "false"; case SpecialConstant.Kind.PI: return "MATH_PI"; case SpecialConstant.Kind.ScalarOne: return "1.0"; case SpecialConstant.Kind.ScalarZero: return "0.0"; case SpecialConstant.Kind.True: return "true"; default: throw new NotImplementedException(); } }
/// <summary> /// Transforms a special constant expression. The default implementation clones it. /// </summary> /// <param name="expr">special constant expression</param> /// <returns>transformation result</returns> public virtual Expression TransformSpecialConstant(SpecialConstant expr) { return expr; }