Beispiel #1
0
        public int TransformSpecialConstant(SpecialConstant expr)
        {
            ExtractCILIndex(expr);
            object value = expr.Eval(_eval);

            Emit(ISet.LdConst(value), expr, 0, expr.ResultType);
            return(0);
        }
Beispiel #2
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);
 }
Beispiel #5
0
 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;
 }