腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如何
使用
clang
ast
matcher
来
匹配
typedef
、
、
、
我正在为
clang
-tidy编写一个检查器,它检查int和指针之间的类型转换。
typedef
uintptr_t myType;char* ptr = (char*)val; 我的问题是,我
匹配
了CStyleCastExpr并得到了
匹配
结果,但我无法获得强制转换的源类型,我
使用
CStyleCastExpr.getSubExpr().getType().getXXXXType(),我得到了val的类型是myType或long/int,但不是我<e
浏览 55
提问于2019-03-13
得票数 1
1
回答
为什么这个
Clang
ASTMatcher会导致错误的多态转换?
、
、
我正在编写一个工具,
使用
clang
作为前端,并
匹配
一些
AST
节点。= decl(hasType(builtinType().bind("non-
typedef
"))).bind("non-
typedef
-decl"); Finder->addMatcher(<MatcherT, P1, ReturnTypesF>::operator
clang
::
ast
_matchers::intern
浏览 0
提问于2018-01-18
得票数 4
回答已采纳
2
回答
Clang
匹配
方法调用类、派生类或ty胡枝子
、
、
我有一个
匹配
器,可以很好地
匹配
从该类派生的一个或多个类的实例的operator()调用。例如,它与以下最后一行相
匹配
:MyBase b;
使用
类似于:
typedef
MyBase MyTypedef;t(parameters); 我似乎无法找到正确的方法
来
指定这个
匹配
。尝试
使
浏览 11
提问于2022-10-02
得票数 1
回答已采纳
2
回答
clang
查询和CXXMemberCallExpr
匹配
器
、
、
、
我试图找到
如何
使用
使用
CXXMemberCallExpr的
clang
查询
匹配
器。
clang
-query> match CXXMemberCallExpr() 1:2:
Matcher
not found: CXXMembe
浏览 1
提问于2014-10-01
得票数 2
回答已采纳
1
回答
如何
将
Clang
中的TemplateTypeParm节点与
AST
_Matchers
匹配
?
、
、
、
、
示例:我可以
使用
AliasOfType检索
AST
中的
clang
我想用一个AliasedType检索
clang
::
ast
_matchers::。AliasedType` dependent depth 0 index 0因此,从直觉
浏览 12
提问于2019-06-20
得票数 1
回答已采纳
1
回答
clang
::
ast
_matchers::thisPointerType对重载函数的模糊调用
、
、
、
我正在从事一个涉及
Clang
的项目。这是我要买的一台
AST
对讲机。每当我通过
clang
-query
clang
-query 运行完全相同的广播
匹配
程序时,就会工作!
clang
-query也会检查语法,但是这里没有报告语法错误。它运行
ast
并按预期成功
匹配
所需的表达式。。
AST
_
MATCHER
_P_OVERLOAD(CXXMemberCallExpr, thisPointerType,function
AST<
浏览 4
提问于2020-09-23
得票数 2
回答已采纳
1
回答
如何
使用
clang
++编译?
、
、
、
、
" vtable for
clang
::
ast
_matchers::internal::
matcher
_isPublicMatcherin matchers_rewriter-b01682.o vtable for
clang
::
ast
_matchers::internal::
matcher</
浏览 9
提问于2015-10-21
得票数 1
回答已采纳
1
回答
特定节点上的
AST
匹配
器
、
、
我编写了一个
AST
匹配
器
来
查找特定类型的语句。在
匹配
的节点中,我计算了该节点的相邻兄弟姐妹。现在,我需要在邻居节点上运行
matcher
来
验证它们是否满足我的条件。
clang
匹配
器逐个
匹配
整个树节点。我希望对特定节点运行
matcher
,如果该节点符合我所需的条件,则返回true。这个是可能的吗?
浏览 3
提问于2020-02-27
得票数 2
回答已采纳
1
回答
Clang
MatchResult没有绑定
AST
节点吗?
、
、
我正在编写我的第一个
AST
Matcher
来
检测指针到整数的转换,但是MatchResult中的BoundedNodes的大小是0。这怎麽可能?为什么
AST
Matcher
会在MatchResult为空的情况下调用我的回调?有没有可能一段代码与某个
Matcher
匹配
,而不显示为
AST
中的节点?这是我的全部代码: class PtoICallback : public
clang
::
ast
_matchers::Matc
浏览 60
提问于2020-12-24
得票数 0
回答已采纳
1
回答
如何
使用
constructor获得所有构造函数初始化器?
我是
Clang
ASTMatcher的新手。我读过一些教程,并试图得到所有的c‘’tor初始化。
匹配
码
clang
::
ast
_matchers::ctorInitializer().bind("ctor_init");::Stmt* stmt
浏览 4
提问于2014-07-31
得票数 1
回答已采纳
1
回答
使用
clang
AST
Matcher
匹配
私有类成员
、
、
、
我正在编写一个
Clang
工具,用于静态分析源文件,并
匹配
和重命名类的所有私有成员。考虑一个例子:private: int a; // <- I
matcher
来访问我想要修改的
AST
节点。
匹配
器返回指向MemberExpr对象的指针。我试图通过检查isArrow()谓词
来
浏览 1
提问于2015-01-18
得票数 3
回答已采纳
2
回答
解析数据结构
clang
/LLVM
、
、
、
假设我有:
typedef
float* P_Float; M_Int a;} Foo;解析
AST
,对于非常简单的例子来说,可能是最好的方法,但是当代码变得更复杂时,也许用IR代码以更低级的方式工作更好?
浏览 44
提问于2017-02-10
得票数 1
1
回答
AST
匹配
器:
如何
匹配
构造函数中的un双param
、
、
、
、
我有一个问题要与构造函数中的uninit双字段
匹配
。我在
clang
-query中键入以下命令has(fieldDecl(hasType(asString("double"))).bind换句话说,
如何
指定fieldDecl和memberExpr的连接? 我找到了一个
匹配
init_param_的方法,但是
如何
找不到
匹配
字段呢?hasDeclaration(fieldDecl(h
浏览 11
提问于2022-01-29
得票数 0
1
回答
如何
从typedefDecl获取underly cxxRecordDecl
我有一段代码: int a;} S, *PS;|-CXXRecordDecl 0x3dfde48ElaboratedType 0x3dfdfc0 'struct S1' sugar -RecordType 0x3dfddc0 'struct S1‘`-CXXRecord 0x3dfdd28 'S1’ 如果我
使用
typedefDecl(),我可以
匹配
S和P
浏览 25
提问于2017-12-06
得票数 0
回答已采纳
1
回答
如何
使用
AST
Matcher
在
Clang
AST
中查找BlockDecl节点?
、
、
为此,我
使用
了
Clang
AST
Matcher
。查找我创建的所有自引用的
匹配
器如下:现在我只需要将这个
匹配
器应用于块。但是我不知道该怎么做。有谁有什么想法吗?
浏览 30
提问于2017-08-31
得票数 1
1
回答
Clang
AST
Matcher
:
如何
匹配
lambda捕获的变量?
、
、
、
如何
匹配
lambda中定义在lambda外部并通过引用捕获的变量?因此,我希望
匹配
器仅在集被lambda捕获时才
匹配
。
浏览 13
提问于2019-04-11
得票数 2
1
回答
类父声明的适当
AST
匹配
器
、
、
给定一个类层次结构:class B {};class D : public C {};
使用
关联的MatchCallback,我可以dump()类
来
验证它与正确的节点
匹配
。但是,我没有找到一种方法
来
绑定到public A,甚至更好的是,
浏览 3
提问于2015-05-29
得票数 4
回答已采纳
2
回答
如何
为
AST
Matcher
设置LangOptions (bool vs _Bool)
、
、
、
、
有没有办法设置LangOptions的
AST
匹配
器?我们有以下
匹配
器:using namespace
clang
::
ast
_matchers; } 它与此方法不
匹配
void Met
浏览 23
提问于2020-02-27
得票数 1
回答已采纳
1
回答
有什么方法可以“重新启动
匹配
”与libclang
匹配
后,已经
匹配
的东西?
、
我设置了一个
matcher
来
获取带有注释的类:但是,似乎没有任何方法
来
匹配
注释的确切字符串。因此,在我的MatchCallback::run方法中,我通过获取属性、dyn_casting到AnnotateAttr和检查注释字符串ref
来
检查属性字符串: auto &a
浏览 3
提问于2016-06-28
得票数 2
回答已采纳
1
回答
重写与特定ASTMatcher
匹配
的代码
^^^^^^^^ => rename to gender_ ^^^^^^ => rename to age_在阅读了一些教程之后,我找到了
如何
使用
我的ASTMatcher程序
clang
::
ast
_matchers::fieldDecl().bind("field_declOptionsParser.getCompilations(),
浏览 2
提问于2014-08-05
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Java正则表达式匹配所有特殊字符的方法详解
Java实现关键字模糊查询的高效方法及实践
范型编程-前言
给JAVA程序员的正则表达式入门课
Java网络爬虫-你必须要了解的正则表达式
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券