Files
runner/src/Sdk/WorkflowParser/ObjectTemplating/Tokens/NumberToken.cs
T
2025-11-07 20:18:52 +00:00

41 lines
1.1 KiB
C#

using System;
using System.Globalization;
using System.Runtime.Serialization;
using GitHub.Actions.Expressions.Sdk;
namespace GitHub.Actions.WorkflowParser.ObjectTemplating.Tokens
{
[DataContract]
public sealed class NumberToken : LiteralToken, INumber
{
public NumberToken(
Int32? fileId,
Int32? line,
Int32? column,
Double value)
: base(TokenType.Number, fileId, line, column)
{
m_value = value;
}
public Double Value => m_value;
public override TemplateToken Clone(Boolean omitSource)
{
return omitSource ? new NumberToken(null, null, null, m_value) : new NumberToken(FileId, Line, Column, m_value);
}
public override String ToString()
{
return m_value.ToString("G15", CultureInfo.InvariantCulture);
}
Double INumber.GetNumber()
{
return Value;
}
[DataMember(Name = "num", EmitDefaultValue = false)]
private Double m_value;
}
}