gpt4 book ai didi

c++ - 如何在 Clang 中获取条件右括号的位置?

转载 作者:太空狗 更新时间:2023-10-29 22:56:08 26 4
gpt4 key购买 nike

我正在使用 clang 库进行一些 C++ AST 操作。我想获取 IfStmt 条件右括号的位置。我试过:

auto condLocEnd = statement->getCond()->getLocEnd();
auto condLoc = Lexer::findLocationAfterToken(condLocEnd, tok::r_paren, sm, LangOptions(), false);

不幸的是,当条件包含宏时,condLoc 无效。例如:if(p == NULL)。我不知道如何获取位置。如何获取?

最佳答案

感谢 cfe-dev 邮件列表,我找到了这个答案 https://stackoverflow.com/a/24223347 .我需要获取条件表达式的 LocEnd() 的扩展位置。

关于c++ - 如何在 Clang 中获取条件右括号的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49025193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com