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 LitteralName;
  7. private string LitteralValue;
  8. public IntegerLiteral(string LitteralName, string LitteralValue) : base(NodeType.IntegerLiteral)
  9. {
  10. this.LitteralValue = LitteralValue;
  11. this.LitteralName = LitteralName;
  12. }
  13. public override void PrintLeft(TextWriter Writer)
  14. {
  15. if (LitteralName.Length > 3)
  16. {
  17. Writer.Write("(");
  18. Writer.Write(LitteralName);
  19. Writer.Write(")");
  20. }
  21. if (LitteralValue[0] == 'n')
  22. {
  23. Writer.Write("-");
  24. Writer.Write(LitteralValue.Substring(1));
  25. }
  26. else
  27. {
  28. Writer.Write(LitteralValue);
  29. }
  30. if (LitteralName.Length <= 3)
  31. {
  32. Writer.Write(LitteralName);
  33. }
  34. }
  35. }
  36. }