Ryujinx/Ryujinx.HLE/HOS/Diagnostics/Demangler/Ast/BinaryExpression.cs

41 lines
1,004 B
C#
Raw Normal View History

using System.IO;
namespace Ryujinx.HLE.HOS.Diagnostics.Demangler.Ast
{
public class BinaryExpression : BaseNode
{
2018-12-01 21:01:59 +01:00
private BaseNode _leftPart;
private string _name;
private BaseNode _rightPart;
2018-12-01 21:01:59 +01:00
public BinaryExpression(BaseNode leftPart, string name, BaseNode rightPart) : base(NodeType.BinaryExpression)
{
2018-12-01 21:01:59 +01:00
this._leftPart = leftPart;
this._name = name;
this._rightPart = rightPart;
}
2018-12-01 21:01:59 +01:00
public override void PrintLeft(TextWriter writer)
{
2018-12-01 21:01:59 +01:00
if (_name.Equals(">"))
{
2018-12-01 21:01:59 +01:00
writer.Write("(");
}
2018-12-01 21:01:59 +01:00
writer.Write("(");
_leftPart.Print(writer);
writer.Write(") ");
2018-12-01 21:01:59 +01:00
writer.Write(_name);
2018-12-01 21:01:59 +01:00
writer.Write(" (");
_rightPart.Print(writer);
writer.Write(")");
2018-12-01 21:01:59 +01:00
if (_name.Equals(">"))
{
2018-12-01 21:01:59 +01:00
writer.Write(")");
}
}
}
}