IntegerLiteral.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System.IO;
  2. namespace Ryujinx.HLE.HOS.Diagnostics.Demangler.Ast
  3. {
  4. public class IntegerLiteral : BaseNode
  5. {
  6. private string _literalName;
  7. private string _literalValue;
  8. public IntegerLiteral(string literalName, string literalValue) : base(NodeType.IntegerLiteral)
  9. {
  10. _literalValue = literalValue;
  11. _literalName = literalName;
  12. }
  13. public override void PrintLeft(TextWriter writer)
  14. {
  15. if (_literalName.Length > 3)
  16. {
  17. writer.Write("(");
  18. writer.Write(_literalName);
  19. writer.Write(")");
  20. }
  21. if (_literalValue[0] == 'n')
  22. {
  23. writer.Write("-");
  24. writer.Write(_literalValue.Substring(1));
  25. }
  26. else
  27. {
  28. writer.Write(_literalValue);
  29. }
  30. if (_literalName.Length <= 3)
  31. {
  32. writer.Write(_literalName);
  33. }
  34. }
  35. }
  36. }