forked from Mirror/Ryujinx
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
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);
|
|
}
|
|
}
|
|
}
|
|
} |