mirror of
https://github.com/actions/runner.git
synced 2026-07-08 06:14:20 +08:00
65 lines
1.5 KiB
C#
65 lines
1.5 KiB
C#
using System;
|
|
using System.ComponentModel;
|
|
using System.Runtime.Serialization;
|
|
using GitHub.DistributedTask.Expressions2.Sdk;
|
|
using GitHub.Services.WebApi.Internal;
|
|
|
|
namespace GitHub.DistributedTask.ObjectTemplating.Tokens
|
|
{
|
|
[DataContract]
|
|
[ClientIgnore]
|
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
|
public sealed class StringToken : LiteralToken, IString
|
|
{
|
|
public StringToken(
|
|
Int32? fileId,
|
|
Int32? line,
|
|
Int32? column,
|
|
String value)
|
|
: base(TokenType.String, fileId, line, column)
|
|
{
|
|
m_value = value;
|
|
}
|
|
|
|
public String Value
|
|
{
|
|
get
|
|
{
|
|
if (m_value == null)
|
|
{
|
|
m_value = String.Empty;
|
|
}
|
|
|
|
return m_value;
|
|
}
|
|
}
|
|
|
|
public override TemplateToken Clone(Boolean omitSource)
|
|
{
|
|
return omitSource ? new StringToken(null, null, null, m_value) : new StringToken(FileId, Line, Column, m_value);
|
|
}
|
|
|
|
public override String ToString()
|
|
{
|
|
return m_value ?? String.Empty;
|
|
}
|
|
|
|
String IString.GetString()
|
|
{
|
|
return Value;
|
|
}
|
|
|
|
[OnSerializing]
|
|
private void OnSerializing(StreamingContext context)
|
|
{
|
|
if (m_value?.Length == 0)
|
|
{
|
|
m_value = null;
|
|
}
|
|
}
|
|
|
|
[DataMember(Name = "lit", EmitDefaultValue = false)]
|
|
private String m_value;
|
|
}
|
|
}
|