1 # This file holds test cases for the D demangler.
2 # Each test case looks like this:
4 # input to be demangled
7 # See demangle-expected for documentation of supported options.
9 # A line starting with `#' is ignored.
10 # However, blank lines in this file are NOT ignored.
21 _D8demangle4testPFLAiYi
86 demangle.test(idouble)
94 demangle.test(cdouble)
102 demangle.test(ushort)
117 _D8demangle4testFOaZv
118 demangle.test(shared(char))
121 _D8demangle4testFxaZv
122 demangle.test(const(char))
125 _D8demangle4testFyaZv
126 demangle.test(immutable(char))
129 _D8demangle4testFNgaZv
130 demangle.test(inout(char))
133 _D8demangle4testFOxaZv
134 demangle.test(shared(const(char)))
137 _D8demangle4testFONgaZv
138 demangle.test(shared(inout(char)))
141 _D8demangle4testFAaZv
142 demangle.test(char[])
145 _D8demangle4testFAAaZv
146 demangle.test(char[][])
149 _D8demangle4testFAAAaZv
150 demangle.test(char[][][])
153 _D8demangle4testFG42aZv
154 demangle.test(char[42])
157 _D8demangle4testFG42G42aZv
158 demangle.test(char[42][42])
161 _D8demangle4testFG42G42G42aZv
162 demangle.test(char[42][42][42])
165 _D8demangle4testFG1234567890aZv
166 demangle.test(char[1234567890])
169 _D8demangle4testFHaaZv
170 demangle.test(char[char])
173 _D8demangle4testFHHaaaZv
174 demangle.test(char[char[char]])
177 _D8demangle4testFPaZv
181 _D8demangle4testFPPaZv
182 demangle.test(char**)
185 _D8demangle4testFPPPaZv
186 demangle.test(char***)
189 _D8demangle4testFNhG8gZv
190 demangle.test(__vector(byte[8]))
193 _D8demangle4testFNhG16gZv
194 demangle.test(__vector(byte[16]))
197 _D8demangle4testFNhG32gZv
198 demangle.test(__vector(byte[32]))
201 _D8demangle4testFNhG4sZv
202 demangle.test(__vector(short[4]))
205 _D8demangle4testFNhG8sZv
206 demangle.test(__vector(short[8]))
209 _D8demangle4testFNhG16sZv
210 demangle.test(__vector(short[16]))
213 _D8demangle4testFNhG2iZv
214 demangle.test(__vector(int[2]))
217 _D8demangle4testFNhG4iZv
218 demangle.test(__vector(int[4]))
221 _D8demangle4testFNhG8iZv
222 demangle.test(__vector(int[8]))
225 _D8demangle4testFNhG1lZv
226 demangle.test(__vector(long[1]))
229 _D8demangle4testFNhG2lZv
230 demangle.test(__vector(long[2]))
233 _D8demangle4testFNhG4lZv
234 demangle.test(__vector(long[4]))
237 _D8demangle4testFNhG2fZv
238 demangle.test(__vector(float[2]))
241 _D8demangle4testFNhG4fZv
242 demangle.test(__vector(float[4]))
245 _D8demangle4testFNhG8fZv
246 demangle.test(__vector(float[8]))
249 _D8demangle4testFNhG1dZv
250 demangle.test(__vector(double[1]))
253 _D8demangle4testFNhG2dZv
254 demangle.test(__vector(double[2]))
257 _D8demangle4testFNhG4dZv
258 demangle.test(__vector(double[4]))
261 _D8demangle4testFI5identZv
265 _D8demangle4testFI5ident4testZv
266 demangle.test(ident.test)
269 _D8demangle4testFC5classZv
273 _D8demangle4testFC5class4testZv
274 demangle.test(class.test)
277 _D8demangle4testFS6structZv
278 demangle.test(struct)
281 _D8demangle4testFS6struct4testZv
282 demangle.test(struct.test)
285 _D8demangle4testFE4enumZv
289 _D8demangle4testFE4enum4testZv
290 demangle.test(enum.test)
293 _D8demangle4testFT7typedefZv
294 demangle.test(typedef)
297 _D8demangle4testFT7typedef4testZv
298 demangle.test(typedef.test)
301 _D8demangle4testFJaZv
302 demangle.test(out char)
305 _D8demangle4testFKaZv
306 demangle.test(ref char)
309 _D8demangle4testFLaZv
310 demangle.test(lazy char)
313 _D8demangle4testFMaZv
314 demangle.test(scope char)
318 demangle.test(char...)
322 demangle.test(char, ...)
325 _D8demangle4testFaaYv
326 demangle.test(char, char, ...)
329 _D8demangle4testFaaZv
330 demangle.test(char, char)
333 _D8demangle4testFB0Zv
334 demangle.test(Tuple!())
337 _D8demangle4testFB1aZv
338 demangle.test(Tuple!(char))
341 _D8demangle4testFB2aaZv
342 demangle.test(Tuple!(char, char))
345 _D8demangle4testFB3aaaZv
346 demangle.test(Tuple!(char, char, char))
349 _D8demangle4testFB2OaaZv
350 demangle.test(Tuple!(shared(char), char))
353 _D8demangle4testFB3aDFZaaZv
354 demangle.test(Tuple!(char, char() delegate, char))
357 _D8demangle4testFDFZaZv
358 demangle.test(char() delegate)
361 _D8demangle4testFDUZaZv
362 demangle.test(extern(C) char() delegate)
365 _D8demangle4testFDWZaZv
366 demangle.test(extern(Windows) char() delegate)
369 _D8demangle4testFDVZaZv
370 demangle.test(extern(Pascal) char() delegate)
373 _D8demangle4testFDRZaZv
374 demangle.test(extern(C++) char() delegate)
377 _D8demangle4testFFZaZv
378 demangle.test(char() function)
381 _D8demangle4testFUZaZv
382 demangle.test(extern(C) char() function)
385 _D8demangle4testFWZaZv
386 demangle.test(extern(Windows) char() function)
389 _D8demangle4testFVZaZv
390 demangle.test(extern(Pascal) char() function)
393 _D8demangle4testFRZaZv
394 demangle.test(extern(C++) char() function)
397 _D8demangle4testFDFNaZaZv
398 demangle.test(char() pure delegate)
401 _D8demangle4testFDFNbZaZv
402 demangle.test(char() nothrow delegate)
405 _D8demangle4testFDFNcZaZv
406 demangle.test(char() ref delegate)
409 _D8demangle4testFDFNdZaZv
410 demangle.test(char() @property delegate)
413 _D8demangle4testFDFNeZaZv
414 demangle.test(char() @trusted delegate)
417 _D8demangle4testFDFNfZaZv
418 demangle.test(char() @safe delegate)
421 _D8demangle4testFDFNiZaZv
422 demangle.test(char() @nogc delegate)
425 _D8demangle4testFDFNaNbZaZv
426 demangle.test(char() pure nothrow delegate)
429 _D8demangle4testFDFNbNaZaZv
430 demangle.test(char() nothrow pure delegate)
433 _D8demangle4testFDFNdNfNaZaZv
434 demangle.test(char() @property @safe pure delegate)
437 _D8demangle4testFFNaZaZv
438 demangle.test(char() pure function)
441 _D8demangle4testFFNbZaZv
442 demangle.test(char() nothrow function)
445 _D8demangle4testFFNcZaZv
446 demangle.test(char() ref function)
449 _D8demangle4testFFNdZaZv
450 demangle.test(char() @property function)
453 _D8demangle4testFFNeZaZv
454 demangle.test(char() @trusted function)
457 _D8demangle4testFFNfZaZv
458 demangle.test(char() @safe function)
461 _D8demangle4testFFNiZaZv
462 demangle.test(char() @nogc function)
465 _D8demangle4testFFNaNbZaZv
466 demangle.test(char() pure nothrow function)
469 _D8demangle4testFFNbNaZaZv
470 demangle.test(char() nothrow pure function)
473 _D8demangle4testFFNdNfNaZaZv
474 demangle.test(char() @property @safe pure function)
477 _D8demangle4test6__initZ
481 _D8demangle4test6__vtblZ
482 vtable for demangle.test
485 _D8demangle4test7__ClassZ
486 ClassInfo for demangle.test
489 _D8demangle4test11__InterfaceZ
490 Interface for demangle.test
493 _D8demangle4test12__ModuleInfoZ
494 ModuleInfo for demangle.test
497 _D8demangle4test6__ctorMFZv
501 _D8demangle4test6__dtorMFZv
502 demangle.test.~this()
505 _D8demangle4test6__postblitMFZv
506 demangle.test.this(this)
509 _D8demangle4testFHAbaZv
510 demangle.test(char[bool[]])
513 _D8demangle4testFHG42caZv
514 demangle.test(char[creal[42]])
517 _D8demangle4testFAiXv
518 demangle.test(int[]...)
521 _D8demangle4testFLAiXv
522 demangle.test(lazy int[]...)
525 _D8demangle4testFAiYv
526 demangle.test(int[], ...)
529 _D8demangle4testFLAiYv
530 demangle.test(lazy int[], ...)
533 _D8demangle4testFLilZv
534 demangle.test(lazy int, long)
537 _D8demangle4testFLliZv
538 demangle.test(lazy long, int)
541 _D8demangle4testFLC6ObjectLDFLiZiZi
542 demangle.test(lazy Object, lazy int(lazy int) delegate)
545 _D8demangle9__T4testZv
549 _D8demangle11__T4testTaZv
553 _D8demangle13__T4testTaTaZv
554 demangle.test!(char, char)
557 _D8demangle15__T4testTaTaTaZv
558 demangle.test!(char, char, char)
561 _D8demangle16__T4testTaTOiTaZv
562 demangle.test!(char, shared(int), char)
565 _D8demangle17__T4testS6symbolZv
566 demangle.test!(symbol)
569 _D8demangle21__T4testS6symbol3fooZv
570 demangle.test!(symbol.foo)
573 _D8demangle25__T4testS6symbol3foo3barZv
574 demangle.test!(symbol.foo.bar)
577 _D8demangle19__T4testTaS6symbolZv
578 demangle.test!(char, symbol)
581 _D8demangle19__T4testS6symbolTaZv
582 demangle.test!(symbol, char)
585 _D8demangle13__T4testVPinZv
589 _D8demangle14__T4testVg123Zv
593 _D8demangle14__T4testVi123Zv
597 _D8demangle14__T4testVs123Zv
601 _D8demangle14__T4testVh123Zv
605 _D8demangle14__T4testVk123Zv
609 _D8demangle14__T4testVt123Zv
613 _D8demangle14__T4testVl123Zv
617 _D8demangle14__T4testVm123Zv
618 demangle.test!(123uL)
621 _D8demangle15__T4testViN123Zv
625 _D8demangle15__T4testVkN123Zv
626 demangle.test!(-123u)
629 _D8demangle15__T4testVlN123Zv
630 demangle.test!(-123L)
633 _D8demangle15__T4testVmN123Zv
634 demangle.test!(-123uL)
637 _D8demangle12__T4testVb1Zv
641 _D8demangle12__T4testVb0Zv
642 demangle.test!(false)
645 _D8demangle13__T4testVa10Zv
646 demangle.test!('\x0a')
649 _D8demangle13__T4testVa32Zv
653 _D8demangle13__T4testVa65Zv
657 _D8demangle14__T4testVa126Zv
661 _D8demangle15__T4testVu1000Zv
662 demangle.test!('\u03e8')
665 _D8demangle17__T4testVw100000Zv
666 demangle.test!('\U000186a0')
669 _D8demangle17__T4testVde0A8P6Zv
670 demangle.test!(42.0000)
673 _D8demangle16__T4testVdeA8P2Zv
674 demangle.test!(42.0000)
677 _D8demangle18__T4testVdeN0A8P6Zv
678 demangle.test!(-42.0000)
681 _D8demangle31__T4testVde0F6E978D4FDF3B646P7Zv
682 demangle.test!(123.456)
685 _D8demangle15__T4testVdeNANZv
689 _D8demangle15__T4testVdeINFZv
693 _D8demangle16__T4testVdeNINFZv
697 _D8demangle23__T4testVfe0FFFFFFP128Zv
698 demangle.test!(3.40282e+38)
701 _D8demangle32__T4testVde0FFFFFFFFFFFFF8P1024Zv
702 demangle.test!(1.79769e+308)
705 _D8demangle19__T4testVfe08PN125Zv
706 demangle.test!(1.17549e-38)
709 _D8demangle20__T4testVde08PN1021Zv
710 demangle.test!(2.22507e-308)
713 _D8demangle51__T4testVrc0C4CCCCCCCCCCCCCDP4c0B666666666666666P6Zv
714 demangle.test!(12.3000+45.6000i)
717 _D8demangle52__T4testVrcN0C4CCCCCCCCCCCCCDP4c0B666666666666666P6Zv
718 demangle.test!(-12.3000+45.6000i)
721 _D8demangle22__T4testVG3ua3_616263Zv
722 demangle.test!("abc")
725 _D8demangle22__T4testVG3ud3_616263Zv
726 demangle.test!("abc"d)
729 _D8demangle22__T4testVG3uw3_616263Zv
730 demangle.test!("abc"w)
733 _D8demangle22__T4testVAiA4i1i2i3i4Zv
734 demangle.test!([1, 2, 3, 4])
737 _D8demangle25__T4testVAdA2e08P1eN08P1Zv
738 demangle.test!([1.00000, -1.00000])
741 _D8demangle23__T4testVHiiA2i1i2i3i4Zv
742 demangle.test!([1:2, 3:4])
745 _D8demangle39__T4testVHAxaiA2a3_616263i1a3_646566i2Zv
746 demangle.test!(["abc":1, "def":2])
749 _D8demangle28__T4testVS8demangle1SS2i1i2Zv
750 demangle.test!(demangle.S(1, 2))
753 _D8demangle35__T4testVS8demangle1SS2i1a3_616263Zv
754 demangle.test!(demangle.S(1, "abc"))
779 _D8demangle8demangleFAaZAa
780 demangle.demangle(char[])
783 _D6object6Object8opEqualsFC6ObjectZi
784 object.Object.opEquals(Object)
787 _D6object6Object8opAssignFC6ObjectZi
788 object.Object.opAssign(Object)
803 _D4test34__T3barVG3uw3_616263VG3wd3_646566Z1xi
804 test.bar!("abc"w, "def"d).x
807 _D6plugin8generateFiiZAya
808 plugin.generate(int, int)
811 _D6plugin8generateFiiZAxa
812 plugin.generate(int, int)
815 _D6plugin8generateFiiZAOa
816 plugin.generate(int, int)
819 _D8demangle3fnAFZv3fnBMFZv
823 _D8demangle4mainFZv1S3fnCFZv
824 demangle.main().S.fnC()
827 _D8demangle4mainFZv1S3fnDMFZv
828 demangle.main().S.fnD()
831 _D8demangle4mainFZv5localMFZi
832 demangle.main().local()
835 _D3std5ascii9uppercaseyAa
839 _D3std6stream9BOMEndianyG5E3std6system6Endian
843 _D3std8internal7uni_tab10unicodeNkoyS3std8internal3uni12CodepointSet
844 std.internal.uni_tab.unicodeNko
847 _D2gc2gc2GC6addrOfMFPvZPv
848 gc.gc.GC.addrOf(void*)
851 _D3std7process10setCLOEXECFibZv
852 std.process.setCLOEXEC(int, bool)
855 _D3std6digest2md3MD53putMFNaNbNeMAxhXv
856 std.digest.md.MD5.put(scope const(ubyte)[]...)
859 _D3std6mmfile6MmFile13opIndexAssignMFhmZh
860 std.mmfile.MmFile.opIndexAssign(ubyte, ulong)
863 _D3std7process18escapeShellCommandFxAAaXAya
864 std.process.escapeShellCommand(const(char[][])...)
867 _D4core4sync5mutex5Mutex6__ctorMFC6ObjectZC4core4sync5mutex5Mutex
868 core.sync.mutex.Mutex.this(Object)
871 _D6object14TypeInfo_Array8argTypesMFNbNfJC8TypeInfoJC8TypeInfoZi
872 object.TypeInfo_Array.argTypes(out TypeInfo, out TypeInfo)
875 _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZi7tryExecMFMDFZvZv
876 rt.dmain2._d_run_main(int, char**, extern(C) int(char[][]) function*).tryExec(scope void() delegate)
879 _D6object9Exception6__ctorMFNaNbNfAyaAyamC6object9ThrowableZC9Exception
880 object.Exception.this(immutable(char)[], immutable(char)[], ulong, object.Throwable)
883 _D3gcc3deh17parse_lsda_headerFPS3gcc6unwind7generic15_Unwind_ContextPhPS3gcc3deh16lsda_header_infoZPh
884 gcc.deh.parse_lsda_header(gcc.unwind.generic._Unwind_Context*, ubyte*, gcc.deh.lsda_header_info*)
887 _D3std6socket23UnknownAddressReference6__ctorMFPS4core3sys5posix3sys6socket8sockaddrkZC3std6socket23UnknownAddressReference
888 std.socket.UnknownAddressReference.this(core.sys.posix.sys.socket.sockaddr*, uint)
891 _D8demangle20__T2fnVAiA4i1i2i3i4Z2fnFZv
892 demangle.fn!([1, 2, 3, 4]).fn()
895 _D8demangle10__T2fnVi1Z2fnFZv
899 _D8demangle26__T2fnVS8demangle1SS2i1i2Z2fnFZv
900 demangle.fn!(demangle.S(1, 2)).fn()
903 _D8demangle13__T2fnVeeNANZ2fnFZv
904 demangle.fn!(NaN).fn()
907 _D8demangle14__T2fnVeeNINFZ2fnFZv
908 demangle.fn!(-Inf).fn()
911 _D8demangle13__T2fnVeeINFZ2fnFZv
912 demangle.fn!(Inf).fn()
915 _D8demangle21__T2fnVHiiA2i1i2i3i4Z2fnFZv
916 demangle.fn!([1:2, 3:4]).fn()
919 _D8demangle2fnFNgiZNgi
920 demangle.fn(inout(int))
923 _D8demangle29__T2fnVa97Va9Va0Vu257Vw65537Z2fnFZv
924 demangle.fn!('a', '\x09', '\x00', '\u0101', '\U00010001').fn()
927 _D2gc11gctemplates56__T8mkBitmapTS3std5range13__T4iotaTiTiZ4iotaFiiZ6ResultZ8mkBitmapFNbNiNfPmmZv
928 gc.gctemplates.mkBitmap!(std.range.iota!(int, int).iota(int, int).Result).mkBitmap(ulong*, ulong)
931 _D8serenity9persister6Sqlite70__T15SqlitePersisterTS8serenity9persister6Sqlite11__unittest6FZv4TestZ15SqlitePersister12__T7opIndexZ7opIndexMFmZS8serenity9persister6Sqlite11__unittest6FZv4Test
932 serenity.persister.Sqlite.SqlitePersister!(serenity.persister.Sqlite.__unittest6().Test).SqlitePersister.opIndex!().opIndex(ulong)
935 _D4test4mainFZv5localMFZi