VarDecl이 함수에서 초기화되었고, 그렇다면 FunctionDecl 또는 문자열로 함수 이름을 가져올 수 있는지 궁금합니다.VarDecl의 기능을 찾는 방법은 무엇입니까?
Ive는 http://clang.llvm.org/doxygen/classclang_1_1ValueDecl.html을 통해 보았지만 아무것도 찾을 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.
///This function will be called whenever a variable is found in the ASTReader
static void RegisterVarDecl(void *v)
{
VarDecl* var = (VarDecl*)v;
if (var->isLocalVarDecl()){
variables_.push_back(new string(var->getNameAsString().c_str()));
}
}
이 함수와 그 함수의 인수를 반환
static void RegisterFunctionDecl(void * v)
{
FunctionDecl* func = (FunctionDecl*)v;
funcs_.push_back(new string(func->getNameInfo().getName().getAsString()));
if (func->getNumParams() > 0){
for (int i = 0; i < func->getNumParams(); ++i){
params_.push_back(new string(func->getParamDecl(i)->getNameAsString()));
}
}
num_params_.push_back(func->getNumParams());
}
동안 잘 나를 위해 변수의 이름을 반환합니다.
FunctionDecl에 VarDecls가 존재하는지 또는 VarDecl이 속하는 FunctionDecl을 찾을 수 있는지를 지정하는 방법이 있는지 궁금합니다.
간단한 예제를 추가해 주시겠습니까? 달성하려는 것은 무엇입니까? – JDS