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.DimensionString = DimensionString;
public override bool HasRightPart()
return true;
public override bool IsArray()
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);