From c8ef98b3a8b83664e5a46a3ba0aca7f511bd0fa5 Mon Sep 17 00:00:00 2001 From: Geod24 Date: Tue, 4 Aug 2020 15:55:51 +0900 Subject: [PATCH] Add demangling support for 'in' storage class --- src/core/demangle.d | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/core/demangle.d b/src/core/demangle.d index 3a58c21461..aef562601c 100644 --- a/src/core/demangle.d +++ b/src/core/demangle.d @@ -923,7 +923,6 @@ pure @safe: return dst[beg .. len]; case 'F': case 'U': case 'W': case 'V': case 'R': // TypeFunction return parseTypeFunction( name ); - case 'I': // TypeIdent (I LName) case 'C': // TypeClass (C LName) case 'S': // TypeStruct (S LName) case 'E': // TypeEnum (E LName) @@ -1241,6 +1240,11 @@ pure @safe: } switch ( front ) { + case 'I': // in (I Type) + popFront(); + put("in "); + parseType(); + continue; case 'J': // out (J Type) popFront(); put( "out " ); @@ -2437,6 +2441,7 @@ else ["printf", "printf"], ["_foo", "_foo"], ["_D88", "_D88"], + ["_D3fooQeFIAyaZv", "void foo.foo(in immutable(char)[])" ], ["_D4test3fooAa", "char[] test.foo"], ["_D8demangle8demangleFAaZAa", "char[] demangle.demangle(char[])"], ["_D6object6Object8opEqualsFC6ObjectZi", "int object.Object.opEquals(Object)"],