53 lines
1.3 KiB
C#
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);
|
|
}
|
|
|
|
}
|
|
}
|