코드에서 특정 메서드 호출을 검색하기 위해 Clang 도구 템플릿 (here)을 적용합니다. 나중에 해당 호출을 다시 작성하기 위해 메서드를 호출 한 개체의 형식뿐만 아니라 메서드가 호출 된 매개 변수의 형식을 얻고 싶습니다. 출력합니다clang 일치 콜백에서 메서드 호출 매개 변수 얻기
class AddListenerPrinter : public MatchFinder::MatchCallback
{
public :
virtual void run(const MatchFinder::MatchResult &Result) {
if (const auto *FS = Result.Nodes.getNodeAs<clang::MemberExpr>("ListeningBound"))
{
FS->dump();
}
}
};
가 :
나는 다음 다시 호출하는 정규 찾기 위해 관리 내가 어떤 방법을 찾을 수 없습니다 지금MemberExpr 0x7fb05b07b948 '<bound member function type>' .addListener 0x7fb05b077670
`-MemberExpr 0x7fb05b07b918 'class MyCore' lvalue ->mCore 0x7fb05b078e30
`-CXXThisExpr 0x7fb05b07b900 'class MyComponent *' this
객체의 유형을 검색을 메서드가 (여기
class MyCore
) 또는 메서드 인수의 형식 (여기
class MyComponent
)으로 호출되었습니다.
어떻게하면됩니까?