fb1d9493a3
* Rename enum fields * Naming conventions * Remove unneeded ".this" * Remove unneeded semicolons * Remove unused Usings * Don't use var * Remove unneeded enum underlying types * Explicitly label class visibility * Remove unneeded @ prefixes * Remove unneeded commas * Remove unneeded if expressions * Method doesn't use unsafe code * Remove unneeded casts * Initialized objects don't need an empty constructor * Remove settings from DotSettings * Revert "Explicitly label class visibility" This reverts commit ad5eb5787cc5b27a4631cd46ef5f551c4ae95e51. * Small changes * Revert external enum renaming * Changes from feedback * Apply previous refactorings to the merged code
55 lines
1.4 KiB
C#
55 lines
1.4 KiB
C#
using System.IO;
|
|
|
|
namespace Ryujinx.HLE.HOS.Diagnostics.Demangler.Ast
|
|
{
|
|
public class NewExpression : BaseNode
|
|
{
|
|
private NodeArray _expressions;
|
|
private BaseNode _typeNode;
|
|
private NodeArray _initializers;
|
|
|
|
private bool _isGlobal;
|
|
private bool _isArrayExpression;
|
|
|
|
public NewExpression(NodeArray expressions, BaseNode typeNode, NodeArray initializers, bool isGlobal, bool isArrayExpression) : base(NodeType.NewExpression)
|
|
{
|
|
_expressions = expressions;
|
|
_typeNode = typeNode;
|
|
_initializers = initializers;
|
|
|
|
_isGlobal = isGlobal;
|
|
_isArrayExpression = isArrayExpression;
|
|
}
|
|
|
|
public override void PrintLeft(TextWriter writer)
|
|
{
|
|
if (_isGlobal)
|
|
{
|
|
writer.Write("::operator ");
|
|
}
|
|
|
|
writer.Write("new ");
|
|
|
|
if (_isArrayExpression)
|
|
{
|
|
writer.Write("[] ");
|
|
}
|
|
|
|
if (_expressions.Nodes.Count != 0)
|
|
{
|
|
writer.Write("(");
|
|
_expressions.Print(writer);
|
|
writer.Write(")");
|
|
}
|
|
|
|
_typeNode.Print(writer);
|
|
|
|
if (_initializers.Nodes.Count != 0)
|
|
{
|
|
writer.Write("(");
|
|
_initializers.Print(writer);
|
|
writer.Write(")");
|
|
}
|
|
}
|
|
}
|
|
} |