clang将callExpr.getArg类型转换为decl

问题描述

我想实现一个基于Clang.i的解释器,遇到问题。我创建了一个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_cast<DeclRefExpr>(left)获取DeclRefExpr类型,但是它返回空指针。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)