public void CheckSemantics(ParsingContext context) { if (InnerExpression is IExpectedTypeExpression) { (InnerExpression as IExpectedTypeExpression).ExpectedType = context.GetResolvedType(ParameterType); } InnerExpression.CheckSemantics(context); if (InnerExpression.ExpressionType != typeof(double) && ExpressionHelper.IsNumeric(InnerExpression.ExpressionType)) { InnerExpression = new ConvertToDoubleExpression(InnerExpression); } if (InnerExpression.ExpressionType.IsEnum && ParameterType.Equals(typeof(string))) { InnerExpression = new ConvertToStringExpression(InnerExpression); } }