private void WriteChained(ChainedCodeFragment fragment, IOutputCache output) { this.progressedChainedCodeFragments.Add(fragment.First()); bool isFirst = true; foreach (ChainedCodeFragment codeFragment in fragment.First().Yield().Cast <ChainedCodeFragment>()) { if (!isFirst) { output.Add(codeFragment.Separator); } isFirst = false; this.Write(codeFragment, output); //output.Add(codeFragment, this); if (codeFragment.NewLineAfter) { output.BreakLine(); } if (codeFragment.CloseAfter) { output.CloseLine(); } if (codeFragment.BreakAfter) { output.BreakLine().ExtraIndent(); } } }
private bool IsProcessed(ChainedCodeFragment fragment) { return(this.progressedChainedCodeFragments.Contains(fragment.First())); }