@@ -80,14 +80,40 @@ macro_rules! demangles {
8080 } ;
8181}
8282
83+ macro_rules! demangles_no_param_and_no_return_type {
84+ ( $mangled: ident , $demangled: expr ) => {
85+ demangles_no_param_and_no_return_type!( $mangled, stringify!( $mangled) , $demangled) ;
86+ } ;
87+ ( $name: ident , $mangled: expr , $demangled: expr ) => {
88+ #[ test]
89+ fn $name( ) {
90+ let options = DemangleOptions { no_params: true , no_return_type: true } ;
91+ assert_demangles_as( $mangled, $demangled, Some ( options) ) ;
92+ }
93+ } ;
94+ }
95+
96+ macro_rules! demangles_no_return_type {
97+ ( $mangled: ident , $demangled: expr ) => {
98+ demangles_no_return_type!( $mangled, stringify!( $mangled) , $demangled) ;
99+ } ;
100+ ( $name: ident , $mangled: expr , $demangled: expr ) => {
101+ #[ test]
102+ fn $name( ) {
103+ let options = DemangleOptions { no_params: false , no_return_type: true } ;
104+ assert_demangles_as( $mangled, $demangled, Some ( options) ) ;
105+ }
106+ } ;
107+ }
108+
83109macro_rules! demangles_no_param {
84110 ( $mangled: ident , $demangled: expr ) => {
85111 demangles_no_param!( $mangled, stringify!( $mangled) , $demangled) ;
86112 } ;
87113 ( $name: ident , $mangled: expr , $demangled: expr ) => {
88114 #[ test]
89115 fn $name( ) {
90- let options = DemangleOptions { no_params: true } ;
116+ let options = DemangleOptions { no_params: true , no_return_type : false } ;
91117 assert_demangles_as( $mangled, $demangled, Some ( options) ) ;
92118 }
93119 } ;
@@ -458,18 +484,45 @@ demangles!(
458484 _ZNSt6vectorIN3xxx6xxxxxx15xxxxxxxxxxxxxxxESaIS2_EE12emplace_backIIS2_EEEvDpOT_,
459485 "void std::vector<xxx::xxxxxx::xxxxxxxxxxxxxxx, std::allocator<xxx::xxxxxx::xxxxxxxxxxxxxxx> >::emplace_back<xxx::xxxxxx::xxxxxxxxxxxxxxx>(xxx::xxxxxx::xxxxxxxxxxxxxxx&&)"
460486) ;
461- demangles_no_param ! (
487+ demangles_no_param_and_no_return_type ! (
462488 _ZN2js9LifoAlloc21newArrayUninitializedI17OffsetAndDefIndexEEPT_m,
463489 "js::LifoAlloc::newArrayUninitialized<OffsetAndDefIndex>"
464490) ;
465- demangles_no_param ! (
491+ demangles_no_param_and_no_return_type ! (
466492 _Z4callIXadL_Z5helloiEEEvi,
467493 "call<&hello(int)>"
468494) ;
469- demangles_no_param ! (
495+ demangles_no_param_and_no_return_type ! (
470496 _ZNK5Hello6methodEv,
471497 "Hello::method"
472498) ;
499+
500+ demangles_no_return_type ! (
501+ _ZL15draw_quad_spansIjEviPN4glsl11vec2_scalarEtPDv16_fR7TextureiS6_RK8ClipRect,
502+ "draw_quad_spans<unsigned int>(int, glsl::vec2_scalar*, unsigned short, float __vector(16)*, Texture&, int, Texture&, ClipRect const&)"
503+ ) ;
504+
505+ demangles_no_return_type ! (
506+ _ZL13draw_elementsItEviiR6BuffermR11VertexArrayR7TextureiS5_,
507+ "draw_elements<unsigned short>(int, int, Buffer&, unsigned long, VertexArray&, Texture&, int, Texture&)"
508+ ) ;
509+
510+ demangles_no_return_type ! (
511+ _ZL12check_depth8ILi515ELb0EEitPtRDv8_s,
512+ "check_depth8<515, false>(unsigned short, unsigned short*, short __vector(8)&)"
513+ ) ;
514+
515+ demangles_no_return_type ! (
516+ _ZN7mozilla6detail23RunnableMethodArgumentsIJNS_2wr10WrWindowIdEbEE5applyINS2_12RenderThreadEMS6_FvS3_bEEEDTcl9applyImplfp_fp0_dtdefpT10mArgumentstlNSt3__116integer_sequenceImJLm0ELm1EEEEEEEPT_T0_,
517+ "mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId, bool>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool))"
518+ ) ;
519+
520+ demangles_no_param ! (
521+ _ZN7mozilla6detail23RunnableMethodArgumentsIJNS_2wr10WrWindowIdEbEE5applyINS2_12RonderThroudEMS6_FvS3_bEEEDTcl9applyImplfp_fp0_dtdefpT10mArgumentstlNSt3__116integer_sequenceImJLm0ELm1EEEEEEEPT_T0_,
522+ "decltype ((applyImpl)({parm#1}, {parm#2}, (*this).mArguments, std::__1::integer_sequence<unsigned long, (unsigned long)0, (unsigned long)1>{})) mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId, bool>::apply<mozilla::wr::RonderThroud, void (mozilla::wr::RonderThroud::*)(mozilla::wr::WrWindowId, bool)>"
523+ ) ;
524+
525+
473526demangles ! (
474527 _ZZN17TestLargestRegion18TestNonRectangularEvENUt_D2Ev,
475528 "TestLargestRegion::TestNonRectangular()::{unnamed type#1}::~TestNonRectangular()"
0 commit comments