Browse Source

Small cleanup to the TextGenerator class.

pull/12/merge
triton 12 years ago
parent
commit
411aeeba8c
  1. 36
      src/Generator/Utils/TextGenerator.cs

36
src/Generator/Utils/TextGenerator.cs

@ -7,19 +7,17 @@ namespace CppSharp @@ -7,19 +7,17 @@ namespace CppSharp
{
public class TextGenerator
{
private const uint DefaultIndent = 4;
private const uint MaxIndent = 80;
public StringBuilder stringBuilder;
private bool isStartOfLine;
private bool needsNewLine;
const uint DefaultIndent = 4;
public StringBuilder StringBuilder;
protected bool IsStartOfLine;
protected bool NeedsNewLine;
protected readonly Stack<uint> CurrentIndent;
public TextGenerator()
{
stringBuilder = new StringBuilder();
isStartOfLine = false;
StringBuilder = new StringBuilder();
IsStartOfLine = false;
CurrentIndent = new Stack<uint>();
}
@ -33,13 +31,13 @@ namespace CppSharp @@ -33,13 +31,13 @@ namespace CppSharp
foreach(var line in msg.SplitAndKeep(Environment.NewLine))
{
if (isStartOfLine && !string.IsNullOrWhiteSpace(line))
stringBuilder.Append(new string(' ', (int) CurrentIndent.Sum(u => u)));
if (IsStartOfLine && !string.IsNullOrWhiteSpace(line))
StringBuilder.Append(new string(' ', (int) CurrentIndent.Sum(u => u)));
if (line.Length > 0)
isStartOfLine = line.EndsWith(Environment.NewLine);
IsStartOfLine = line.EndsWith(Environment.NewLine);
stringBuilder.Append(line);
StringBuilder.Append(line);
}
}
@ -58,26 +56,26 @@ namespace CppSharp @@ -58,26 +56,26 @@ namespace CppSharp
public void NewLine()
{
stringBuilder.AppendLine(string.Empty);
isStartOfLine = true;
StringBuilder.AppendLine(string.Empty);
IsStartOfLine = true;
}
public void NewLineIfNeeded()
{
if (!needsNewLine) return;
if (!NeedsNewLine) return;
NewLine();
needsNewLine = false;
NeedsNewLine = false;
}
public void NeedNewLine()
{
needsNewLine = true;
NeedsNewLine = true;
}
public void ResetNewLine()
{
needsNewLine = false;
NeedsNewLine = false;
}
public void PushIndent(uint indent = DefaultIndent)
@ -104,7 +102,7 @@ namespace CppSharp @@ -104,7 +102,7 @@ namespace CppSharp
public override string ToString()
{
return stringBuilder.ToString();
return StringBuilder.ToString();
}
public static implicit operator string(TextGenerator tg)

Loading…
Cancel
Save