1
Clang을 사용하여 AST 방문자를 구현했습니다. 이 코드를 사용하여 correclty라는 함수 호출 이름을 검색 할 수 있습니다.AST visitor clang을 사용하여 함수 선언 유형 가져 오기
virtual bool VisitFunctionDecl(FunctionDecl *func)
{
numFunctions++;
string funcName = func->getNameInfo().getName().getAsString();
string funcType = func->getType().getAsString();
APIs << funcType << endl;
APIs << "\n" << funcName <<": ";
return true;
}
기능 선언 유형도 추출하고 싶습니다. 예 : int my_func (int a, int b) {..} int 형식을 추출하려고합니다. 구현 된 방법은 이름을 제외한 전체 함수 선언을 반환합니다. funcType의 위 코드는 int (int a, int b)를 반환합니다.
어떻게 해결할 수 있습니까 ?? 감사합니다.
getReturnType()을 사용하려고하는데 문서에서 FunctionDecl 클래스의 클래스에이 메서드가 있다는 것을 알았지 만 컴파일러에서이 코드를 제공합니다 오류 : 'class clang :: FunctionDecl'에 'getReturnType' –
당신이 옳았어요! llvm/clang 3.4를 사용하고 있기 때문에 getReturnType()은 존재하지 않지만 getResultType()은 존재합니다. 그것의 동일한 기능. –