0
0
Fork 0
mirror of https://github.com/ryujinx-mirror/ryujinx.git synced 2024-10-19 13:21:40 +00:00
ryujinx-fork/Ryujinx.HLE/HOS/Diagnostics/Demangler/Ast/ArrayType.cs

59 lines
1.4 KiB
C#
Raw Normal View History

using System.IO;
namespace Ryujinx.HLE.HOS.Diagnostics.Demangler.Ast
{
public class ArrayType : BaseNode
{
private BaseNode Base;
private BaseNode DimensionExpression;
private string DimensionString;
public ArrayType(BaseNode Base, BaseNode DimensionExpression = null) : base(NodeType.ArrayType)
{
this.Base = Base;
this.DimensionExpression = DimensionExpression;
}
public ArrayType(BaseNode Base, string DimensionString) : base(NodeType.ArrayType)
{
this.Base = Base;
this.DimensionString = DimensionString;
}
public override bool HasRightPart()
{
return true;
}
public override bool IsArray()
{
return true;
}
public override void PrintLeft(TextWriter Writer)
{
Base.PrintLeft(Writer);
}
public override void PrintRight(TextWriter Writer)
{
// FIXME: detect if previous char was a ].
Writer.Write(" ");
Writer.Write("[");
if (DimensionString != null)
{
Writer.Write(DimensionString);
}
else if (DimensionExpression != null)
{
DimensionExpression.Print(Writer);
}
Writer.Write("]");
Base.PrintRight(Writer);
}
}
}