Upsilon/Upsilon/Binder/BoundExpressions/BoundLiteralExpression.cs

30 lines
791 B
C#

using System.Collections.Generic;
using Upsilon.BaseTypes;
using Upsilon.Evaluator;
using Upsilon.Text;
namespace Upsilon.Binder
{
public class BoundLiteralExpression : BoundExpression
{
public BoundLiteralExpression(ScriptType value, TextSpan span) : base(span)
{
Value = value;
}
public override BoundKind Kind => BoundKind.BoundLiteralExpression;
public override IEnumerable<BoundNode> GetChildren()
{
yield break;
}
public override TypeContainer ValueType => Value.Type;
internal override ScriptType Evaluate(EvaluationScope scope, Diagnostics diagnostics, ref EvaluationState state)
{
return Value;
}
public ScriptType Value { get; }
}
}