我正在尝试解释 Clang AST 的部分内容,如下图所示。简而言之,我想做的是检查两个变量在不同的程序点是否相同。检查 AST 后,我注意到 AST 部分之间唯一的共同点是蓝色圆圈部分。
谁能帮我看看这些十六进制数字在 AST 中对应什么?
据我所知,第一个块对应于变量声明,第二个块对应于表达式。 Stmt 和 Expr 类上是否有可以调用来获取这些十六进制数字的方法?
这些确实是原始指针值。
您很可能需要检查DeclRefExpr
节点及其引用的相应声明(即getDecl
方法)。指向其声明的指针是您要查找的十六进制数字。
与 Clang 一起快乐黑客!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)