public override void WriteDefinition(ISymbol symbol, ImmutableArray <SymbolDisplayPart> parts) { if (_definitionWriter == null) { _attributeStringBuilder = new StringBuilder(); var stringWriter = new StringWriter(_attributeStringBuilder); _definitionWriter = new SymbolDefinitionTextWriter(stringWriter, Filter, Format, DocumentationProvider); } _definitionWriter.WriteDefinition(symbol, parts); WriteValue(_attributeStringBuilder.ToString()); _attributeStringBuilder.Clear(); }
public override void WriteAttribute(AttributeData attribute) { if (_definitionWriter == null) { _attributeStringBuilder = new StringBuilder(); var stringWriter = new StringWriter(_attributeStringBuilder); _definitionWriter = new SymbolDefinitionTextWriter(stringWriter, Filter, Format, DocumentationProvider); } _definitionWriter.WriteAttribute(attribute); WriteValue(_attributeStringBuilder.ToString()); _attributeStringBuilder.Clear(); }
public override void Close() { if (_writer != null) { try { _writer.Flush(); } finally { try { ((IDisposable)_writer).Dispose(); _definitionWriter.Dispose(); } finally { _writer = null; _definitionWriter = null; } } } }