Add Ryujinx CodeGenerator.cs

This commit is contained in:
TSR Berry 2022-12-15 16:40:04 +01:00
parent 64525347b8
commit 33cd96ba0e
No known key found for this signature in database
GPG key ID: 52353C0A4CCA15E2

View file

@ -0,0 +1,58 @@
using System.Text;
namespace Ryujinx.CustomTasks.Helper
{
class CodeGenerator
{
private const string Indent = " ";
private readonly StringBuilder _sb;
private string _currentIndent;
public CodeGenerator()
{
_sb = new StringBuilder();
}
public void EnterScope(string header = null)
{
if (header != null)
{
AppendLine(header);
}
AppendLine("{");
IncreaseIndentation();
}
public void LeaveScope()
{
DecreaseIndentation();
AppendLine("}");
}
public void IncreaseIndentation()
{
_currentIndent += Indent;
}
public void DecreaseIndentation()
{
_currentIndent = _currentIndent.Substring(0, _currentIndent.Length - Indent.Length);
}
public void AppendLine()
{
_sb.AppendLine();
}
public void AppendLine(string text)
{
_sb.AppendLine(_currentIndent + text);
}
public override string ToString()
{
return _sb.ToString();
}
}
}