本文整理汇总了C++中clang::QualType::getTypePtrOrNull方法的典型用法代码示例。如果您正苦于以下问题:C++ QualType::getTypePtrOrNull方法的具体用法?C++ QualType::getTypePtrOrNull怎么用?C++ QualType::getTypePtrOrNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类clang::QualType
的用法示例。
在下文中一共展示了QualType::getTypePtrOrNull方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleParmVarDecl
bool WebCLRestrictor::handleParmVarDecl(clang::ParmVarDecl *decl)
{
const clang::TypeSourceInfo *info = decl->getTypeSourceInfo();
if (!info) {
error(decl->getSourceRange().getBegin(), "Invalid parameter type.\n");
return true;
}
clang::SourceLocation typeLocation = info->getTypeLoc().getBeginLoc();
const clang::QualType qualType = info->getType();
const clang::Type *type = qualType.getTypePtrOrNull();
if (!info) {
error(typeLocation, "Invalid parameter type.\n");
return true;
}
const clang::DeclContext *context = decl->getParentFunctionOrMethod();
if (!context) {
error(typeLocation, "Invalid parameter context.\n");
return true;
}
clang::FunctionDecl *function = clang::FunctionDecl::castFromDeclContext(context);
if (!function) {
error(typeLocation, "Invalid parameter context.\n");
return true;
}
checkStructureParameter(function, typeLocation, type);
check3dImageParameter(function, typeLocation, type);
checkUnsupportedBuiltinParameter(function, typeLocation, qualType);
return true;
}
示例2: sizeOfPointer
int TypeUtils::sizeOfPointer(const clang::CompilerInstance &ci, clang::QualType qt)
{
if (!qt.getTypePtrOrNull())
return -1;
// HACK: What's a better way of getting the size of a pointer ?
auto &astContext = ci.getASTContext();
return astContext.getTypeSize(astContext.getPointerType(qt));
}
示例3: isQObject
bool QtUtils::isQObject(clang::QualType qt)
{
qt = TypeUtils::pointeeQualType(qt);
const auto t = qt.getTypePtrOrNull();
return t ? isQObject(t->getAsCXXRecordDecl()) : false;
}