Ryujinx/Ryujinx.HLE/HOS/Diagnostics/Demangler/Ast/IntegerLiteral.cs
2018-12-01 14:03:56 -06:00

41 lines
1 KiB
C#

using System.IO;
namespace Ryujinx.HLE.HOS.Diagnostics.Demangler.Ast
{
public class IntegerLiteral : BaseNode
{
private string _literalName;
private string _literalValue;
public IntegerLiteral(string literalName, string literalValue) : base(NodeType.IntegerLiteral)
{
this._literalValue = literalValue;
this._literalName = literalName;
}
public override void PrintLeft(TextWriter writer)
{
if (_literalName.Length > 3)
{
writer.Write("(");
writer.Write(_literalName);
writer.Write(")");
}
if (_literalValue[0] == 'n')
{
writer.Write("-");
writer.Write(_literalValue.Substring(1));
}
else
{
writer.Write(_literalValue);
}
if (_literalName.Length <= 3)
{
writer.Write(_literalName);
}
}
}
}