public BoundNumberLiteralExpression(NumberLiteralExpressionSyntax syntax, bool hasValue, bool hasErrors, decimal value) : base(hasValue, hasErrors) { Debug.Assert(!syntax.IsDefault(), "'syntax' must not be null."); Debug.Assert(!value.IsDefault(), "'value' must not be null."); this.Syntax = syntax; this.Value = value; }
private BaseBoundExpression BindNumberLiteralExpression(NumberLiteralExpressionSyntax syntax) { string value = syntax.NumberToken.Text; if (decimal.TryParse(value, out decimal result)) { return(new BoundNumberLiteralExpression(syntax, hasValue: true, hasErrors: false, result)); } this.diagnostics.ReportValueIsNotANumber(syntax.Range, value); return(new BoundInvalidExpression(syntax, hasValue: true, hasErrors: true)); }