如何测试c ++方法是否在clang中是const限定的?
例如::
class Inner{
public:
int i;
Inner();
float inner_method() const;
};
Run Code Online (Sandbox Code Playgroud)
我正在使用clang-c库,我尝试clang_isConstQualifiedType在inner_method节点上使用.但是这会返回false.
我不介意答案是否使用clang c ++标头.
在 C++ 接口中,检查这一点的方法是 usingCXXMethodDecl::getTypeQualifiers()或 using FunctionProtoType::getTypeQuals()(取决于您是否有声明或类型)。该Qualifiers::Const位指示方法(或方法类型)是否为 const。
在 libclang C API 中,此信息似乎仅用于 的实现getCursorUSR,其结果并不打算被解析,因此使用 C++ API 或提交补丁以将此功能添加到 C API 是最好的选择。
| 归档时间: |
|
| 查看次数: |
906 次 |
| 最近记录: |