Files
stgsharp/内核源代码/StgSharp.Script/Express/Builtin/ExpIfToken.cs
T

53 lines
1.3 KiB
C#

using StgSharp.Script.Express;
using System;
using System.Collections.Generic;
using System.Text;
namespace StgSharp.Script.Express
{
public sealed class ExpIfToken : ExpToken
{
private ExpToken _rule;
private List<ExpToken> _trueOp;
private List<ExpToken> _falseOp;
public ExpIfToken(string name, ExpSchema context, ExpToken rule,
IEnumerable<ExpToken> operationIfTrue,
IEnumerable<ExpToken> operationIfFalse):
base(name,context)
{
_rule = rule;
if (operationIfFalse == null)
{
_trueOp = new List<ExpToken>();
}
else
{
_trueOp = new List<ExpToken>(operationIfFalse);
}
if (operationIfFalse == null)
{
_falseOp = new List<ExpToken>();
}
else
{
_falseOp = new List<ExpToken>(operationIfFalse);
}
}
public void AddTrueOperation(ExpToken expressionRoot)
{
AssertSchemaInclude(expressionRoot);
_trueOp.Add(expressionRoot);
}
public void AddFalseOperation(ExpToken expressionRoot)
{
AssertSchemaInclude(expressionRoot);
_falseOp.Add(expressionRoot);
}
}
}