<div dir="ltr">Hey guys,<div><br></div><div>I'm wondering if there is a way to write an llvm pass to get the class name of the functions. I am not talking about the simple self-written functions like foo::bar(...), but those STL container functions like _ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_, demangles as std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const. In this case, the class name should be std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, and the function name is operator().</div><div><br></div><div>I have tried to do this with clang tools, but the template parameters are not expanded and you can get pretty less information, which is not what I am looking for.</div><div><br></div><div>PS. This is specifically for C++.</div><div><br></div><div>Any help would be appreciated!</div><div><br></div><div>Jason</div></div>