internal ConditionTemplateElement BeginCondition() { var conditionTemplateElement = new ConditionTemplateElement(); _elements.Add(conditionTemplateElement); _blocks.Push(conditionTemplateElement); return(conditionTemplateElement); }
internal void EvalCondition(ConditionTemplateElement element) { var condition = (bool)_model.GetValue(element.ValueAccess); if (condition) { foreach (TemplateElement inner in element.Inner) { inner.Accept(this); } } }
public IState Next(Token token) { if (token.TokenType == TokenType.Identifier) { return(new IdentifierState(token.Content, _builder)); } if (token.TokenType == TokenType.BeginIf) { ConditionTemplateElement conditionTemplateElement = _builder.BeginCondition(); return(new BeginIfState(conditionTemplateElement, _builder)); } if (token.TokenType == TokenType.EndIf) { return(new EndIfState(_builder)); } throw new ParsingException(this, token); }
internal BeginIfState(ConditionTemplateElement conditionTemplateElement, TemplateModelBuilder builder) { _conditionTemplateElement = conditionTemplateElement; _builder = builder; }