使用 libtooling 测试 class 是否可复制构造

Testing if class is copy constructable using libtooling

我想用libtooling来测试CXXRecordDecl定义的是否可复制构造。

我已经试过了:

不幸的是,如果 class 的复制构造函数被隐式删除,那么这两个表达式 return true。如果 class 继承自不可复制的 class 或具有不可复制的成员变量,则会发生这种情况。

测试 class 是否可复制构造的逻辑非常重要,并且必须存在于 某处 clang如何测试 class 是否可以用 libtooling 复制构造?

将评论转化为答案:

您可以使用 CXXRecordDecl::ctor_begin

检索构造函数

并检查 CXXConstructorDecl::isDeleted()