internal override HxlLangElement ConvertToElement() { // TODO Default var names HxlForElement e = (HxlForElement)this.OwnerDocument.CreateElement("c:for"); e.Var = this.Var; e.To = Expression.Parse(this.Value); return(e); }
public IEnumerable <string> Start(HxlForElement e) { yield return(EmitVarLoopStatus(e)); // TODO Expression.ToString() not currently correct, and implicit conversion is probably required on text yield return(string.Format("for (var {0} = {1}; {0} <= {2}; {0} += {3}) {{", e.Var, e.From.ToString().Trim('\''), e.To.ToString().Trim('\''), e.Step.ToString().Trim('\''))); yield return(EmitVarLoopStatusCurrent(e)); }
void IHxlLanguageVisitor.Visit(HxlForElement element) { VisitFor(element); }
protected virtual void VisitFor(HxlForElement element) { DefaultVisit(element); }
public IEnumerable <string> End(HxlForElement e) { yield return(EmitVarLoopStatusIncrement(e)); yield return("}"); }