正在跳过IfStatements中的语句
Skipping statements inside an IfStatements
本文关键字:语句 IfStatements 更新时间:2023-10-16
我创建了一个if(isa<IfStmt>(s))
和if(isa<ReturnStmt>(s))
,如果找到它,就会打印一些东西。我创建了这个简单的c++代码,它在if语句中包含return语句
#include <stdlib.h>
int main(int argc, char** argv) {
int a = atoi(argv[1]);
if(a == 0)
return 1;
else
return 10;
return 0;
}
是否可以跳过/忽略if-elset语句中的return语句
clang-query test.cpp --
match returnStmt(unless(hasAncestor(ifStmt()))
为了解决这样的问题,AST匹配器的引用和clang的-ast-dump
参数是您的朋友。以及clang-query
本身,因为它接受与clang
的C++API基本相同的DSL。
相关文章:
- 我的简单if-else语句是如何无法访问的代码
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 为什么是0;C++中的有效语句
- Insert函数不适用于2 if语句C++
- If语句未被求值C++
- C++嵌套if语句,基本货币交换
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 是否可以使用if constexpr删除控制流语句
- 无法理解此 return 语句的功能,没有它就会发生运行时错误
- 我似乎对if/else的基本语句有问题:/
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- If语句在c++中被忽略
- 比较if语句中的数组值和int值
- 以在Qt中的IF语句中设置时间延迟
- Craps游戏问题,忽略if语句
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 如何编写一个使用n倍三元条件语句的C++布尔函数
- c++:定义if语句中的模板
- 正在跳过IfStatements中的语句