public override void VisitFieldElement(FieldElement element)
{
this.WriteComments(element.HeaderComments);
this.WriteAttributes(element);
WriteAccess(element.Access);
WriteMemberAttributes(element.MemberModifiers);
if (element.IsVolatile)
{
Writer.Write(CSharpKeyword.Volatile);
Writer.Write(' ');
}
if (element[CSharpExtendedProperties.Fixed] is bool &&
(bool)element[CSharpExtendedProperties.Fixed])
{
Writer.Write(CSharpKeyword.Fixed);
Writer.Write(' ');
}
Writer.Write(element.Type);
Writer.Write(' ');
Writer.Write(element.Name);
if (!string.IsNullOrEmpty(element.InitialValue))
{
Writer.Write(' ');
Writer.Write(CSharpSymbol.Assignment);
Writer.Write(' ');
if (element.InitialValue.IndexOf("\n") >= 0)
{
string initialValue = element.InitialValue;
int lineFeedIndex = initialValue.IndexOf('\n');
if (lineFeedIndex > 0)
{
string initialValueFirstLine = initialValue.Substring(0, lineFeedIndex + 1);
initialValue = initialValue.Substring(lineFeedIndex + 1);
Writer.Write(initialValueFirstLine);
}
WriteTextBlock(initialValue);
}
else
{
Writer.Write(element.InitialValue);
}
}
Writer.Write(CSharpSymbol.EndOfStatement);
if (element.TrailingComment != null)
{
Writer.Write(' ');
int tabCountTemp = this.TabCount;
this.TabCount = 0;
element.TrailingComment.Accept(this);
this.TabCount = tabCountTemp;
}
}