Clang 将callExpr.getArg类型强制转换为decl

Clang 将callExpr.getArg类型强制转换为decl,clang,llvm-c++-api,Clang,Llvm C++ Api,我想实现一个基于Clang的解释器。我遇到了一个问题。我创建一个map来存储vardecl及其对应的int值。但是当我访问callExpr时,函数callExpr.getArg的返回类型是expr,我想将其强制转换为decl类型。我怎样才能解决这个问题 范例 int a = 10; int main(){ PRINT(a) //self-define function } mymapdecl[a]=10,但PRINTExpr.getArg类型为expr。 我使用dyn\u cast(左)获

我想实现一个基于Clang的解释器。我遇到了一个问题。我创建一个
map
来存储vardecl及其对应的int值。但是当我访问callExpr时,函数callExpr.getArg的返回类型是expr,我想将其强制转换为decl类型。我怎样才能解决这个问题

范例

int a = 10;
int main(){
  PRINT(a) //self-define function
}
mymapdecl[a]=10,但PRINTExpr.getArg类型为expr。 我使用
dyn\u cast(左)
获取DeclRefExpr类型,但它返回空指针