public override object VisitPrimitiveExpression(ICSharpCode.NRefactory.Ast.PrimitiveExpression primitiveExpression, object data) { //Tim: perhaps this is too low in the tree? Resulting in having this run almost all the time? if (primitiveExpression.LiteralFormat == ICSharpCode.NRefactory.Parser.LiteralFormat.CharLiteral) { var regex = new Regex("\\\\u"); if (regex.IsMatch(primitiveExpression.StringValue)) { UnlockWith(primitiveExpression); } } return(base.VisitPrimitiveExpression(primitiveExpression, data)); }
private expression convert_primitive_expression(ICSharpCode.NRefactory.Ast.PrimitiveExpression expr) { TypeCode code = Type.GetTypeCode(expr.Value.GetType()); switch (code) { case TypeCode.Boolean: return(new bool_const((bool)expr.Value)); case TypeCode.Byte: case TypeCode.SByte: case TypeCode.Int16: case TypeCode.UInt16: case TypeCode.Int32: return(new int32_const(Convert.ToInt32(expr.Value))); case TypeCode.UInt32: case TypeCode.Int64: return(new int64_const(Convert.ToInt64(expr.Value))); case TypeCode.UInt64: return(new uint64_const(Convert.ToUInt64(expr.Value))); case TypeCode.Char: return(new char_const((char)expr.Value)); case TypeCode.String: return(new string_const((string)expr.Value)); case TypeCode.Double: case TypeCode.Single: return(new double_const(Convert.ToDouble(expr.Value))); default: return(null); } }
public override object VisitPrimitiveExpression(ICSharpCode.NRefactory.Ast.PrimitiveExpression primitiveExpression, object data) { return((bool)primitiveExpression.Value); }