public override IDerivation Expand(DerivationContext aContext) { IDerivation lExpandList = RightPhrase.Expand(aContext); List <IDerivation> lReplacePoints = PlaceHolders.GetList(Name); foreach (TextDerivation lPoint in lReplacePoints) { if (Add) { lPoint.Text += lExpandList.ToString(); } else { lPoint.Text = lExpandList.ToString(); } } return(lExpandList); }
public virtual IDerivation Visit(PlaceHolderAssignPhrase aPlaceHolderAssignPhrase, DerivationContext aContext) { IDerivation lExpandList = aPlaceHolderAssignPhrase.RightPhrase.Accept(aContext); List <IDerivation> lReplacePoints = PlaceHolders.GetList(aPlaceHolderAssignPhrase.Name); foreach (TextDerivation lPoint in lReplacePoints) { if (aPlaceHolderAssignPhrase.Add) { lPoint.Text += lExpandList.ToString(); } else { lPoint.Text = lExpandList.ToString(); } } return(lExpandList); }