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 ad5eb5787c
.
* Small changes
* Revert external enum renaming
* Changes from feedback
* Apply previous refactorings to the merged code
55 lines
No EOL
1.4 KiB
C#
55 lines
No EOL
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(")");
|
|
}
|
|
}
|
|
}
|
|
} |