public TemplateElement GetElement(TemplateFragment fragment) { if (fragment == null) { throw new ArgumentNullException("fragment"); } TemplateFragmentPlainText text = fragment as TemplateFragmentPlainText; if (text != null) { return(new TemplateElementText(text.Data)); } TemplateElement ret = null; TemplateFragmentMacro macro = fragment as TemplateFragmentMacro; if (macro != null) { ret = ProcessMacro(macro); } if (ret == null) { throw new InvalidOperationException( String.Format("Failed to generate a template element from fragment {0} at {1}:{2},{3}", fragment, fragment.InFile, fragment.LineStart, fragment.ColumnStart) ); } return(ret); }
public override void Append (char ch) { List <TemplateFragment> fragments = Fragments; int count = fragments.Count; TemplateFragment fragment = null; if (count != 0) fragment = fragments [count - 1]; if (!(fragment is TemplateFragmentPlainText)) { fragment = new TemplateFragmentPlainText (InFile); fragments.Add (fragment); } fragment.Append (ch); }
public override void Append(char ch) { List <TemplateFragment> fragments = Fragments; int count = fragments.Count; TemplateFragment fragment = null; if (count != 0) { fragment = fragments [count - 1]; } if (!(fragment is TemplateFragmentPlainText)) { fragment = new TemplateFragmentPlainText(InFile); fragments.Add(fragment); } fragment.Append(ch); }