EnumeratorStatement
using CLanguage.Compiler;
using System;
using System.Runtime.CompilerServices;
namespace CLanguage.Syntax
{
[System.Runtime.CompilerServices.NullableContext(1)]
[System.Runtime.CompilerServices.Nullable(0)]
public class EnumeratorStatement : Statement
{
public string Name { get; }
[System.Runtime.CompilerServices.Nullable(2)]
[field: System.Runtime.CompilerServices.Nullable(2)]
public Expression LiteralValue {
[System.Runtime.CompilerServices.NullableContext(2)]
get;
}
public override bool AlwaysReturns => false;
public EnumeratorStatement(string left, [System.Runtime.CompilerServices.Nullable(2)] Expression right = null)
{
if (left == null)
throw new ArgumentNullException("left");
Name = left;
LiteralValue = right;
}
public override string ToString()
{
return string.Format("{0} = {1}", new object[2] {
Name,
LiteralValue
});
}
protected override void DoEmit(EmitContext ec)
{
}
public override void AddDeclarationToBlock(BlockContext context)
{
}
}
}