From 46a11460d4701f66926f70b5dc394d209e877854 Mon Sep 17 00:00:00 2001 From: Thomas Guillemard Date: Sat, 15 Sep 2018 15:29:18 +0200 Subject: Rewrite the C++ Demangler (#416) * Rewrite the C++ Demangler This new Demangler provides support to almost every possible mangled symbols and should behaves like GNU c++filt. It works on 98.9% of the sdk's symbols and 99.5% of Puyo Puyo Tetris's symbols. * Fix code style * Fix noexcept enclosed expression parsing issues * fix code style issues --- .../Demangler/Ast/ArraySubscriptingExpression.cs | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Ryujinx.HLE/HOS/Diagnostics/Demangler/Ast/ArraySubscriptingExpression.cs (limited to 'Ryujinx.HLE/HOS/Diagnostics/Demangler/Ast/ArraySubscriptingExpression.cs') diff --git a/Ryujinx.HLE/HOS/Diagnostics/Demangler/Ast/ArraySubscriptingExpression.cs b/Ryujinx.HLE/HOS/Diagnostics/Demangler/Ast/ArraySubscriptingExpression.cs new file mode 100644 index 00000000..435789e0 --- /dev/null +++ b/Ryujinx.HLE/HOS/Diagnostics/Demangler/Ast/ArraySubscriptingExpression.cs @@ -0,0 +1,25 @@ +using System.IO; + +namespace Ryujinx.HLE.HOS.Diagnostics.Demangler.Ast +{ + public class ArraySubscriptingExpression : BaseNode + { + private BaseNode LeftNode; + private BaseNode Subscript; + + public ArraySubscriptingExpression(BaseNode LeftNode, BaseNode Subscript) : base(NodeType.ArraySubscriptingExpression) + { + this.LeftNode = LeftNode; + this.Subscript = Subscript; + } + + public override void PrintLeft(TextWriter Writer) + { + Writer.Write("("); + LeftNode.Print(Writer); + Writer.Write(")["); + Subscript.Print(Writer); + Writer.Write("]"); + } + } +} \ No newline at end of file -- cgit v1.2.3