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
77 lines
No EOL
1.7 KiB
C#
77 lines
No EOL
1.7 KiB
C#
using System.IO;
|
|
|
|
namespace Ryujinx.HLE.HOS.Diagnostics.Demangler.Ast
|
|
{
|
|
public class EncodedFunction : BaseNode
|
|
{
|
|
private BaseNode _name;
|
|
private BaseNode _params;
|
|
private BaseNode _cv;
|
|
private BaseNode _ref;
|
|
private BaseNode _attrs;
|
|
private BaseNode _ret;
|
|
|
|
public EncodedFunction(BaseNode name, BaseNode Params, BaseNode cv, BaseNode Ref, BaseNode attrs, BaseNode ret) : base(NodeType.NameType)
|
|
{
|
|
_name = name;
|
|
_params = Params;
|
|
_cv = cv;
|
|
_ref = Ref;
|
|
_attrs = attrs;
|
|
_ret = ret;
|
|
}
|
|
|
|
public override void PrintLeft(TextWriter writer)
|
|
{
|
|
if (_ret != null)
|
|
{
|
|
_ret.PrintLeft(writer);
|
|
|
|
if (!_ret.HasRightPart())
|
|
{
|
|
writer.Write(" ");
|
|
}
|
|
}
|
|
|
|
_name.Print(writer);
|
|
|
|
}
|
|
|
|
public override bool HasRightPart()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public override void PrintRight(TextWriter writer)
|
|
{
|
|
writer.Write("(");
|
|
|
|
if (_params != null)
|
|
{
|
|
_params.Print(writer);
|
|
}
|
|
|
|
writer.Write(")");
|
|
|
|
if (_ret != null)
|
|
{
|
|
_ret.PrintRight(writer);
|
|
}
|
|
|
|
if (_cv != null)
|
|
{
|
|
_cv.Print(writer);
|
|
}
|
|
|
|
if (_ref != null)
|
|
{
|
|
_ref.Print(writer);
|
|
}
|
|
|
|
if (_attrs != null)
|
|
{
|
|
_attrs.Print(writer);
|
|
}
|
|
}
|
|
}
|
|
} |