reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

gen/tools/clang/include/clang/AST/AttrImpl.inc
  656     return alignmentType->getType()->isDependentType();
tools/clang/include/clang/AST/ASTContext.h
 2069     return Ty->isObjCNSObjectType();
 2108     if (Ty->isIncompleteType() || Ty->isDependentType())
 2108     if (Ty->isIncompleteType() || Ty->isDependentType())
 2336     auto SubTnullability = SubT->getNullability(*this);
 2337     auto SuperTnullability = SuperT->getNullability(*this);
 2686     llvm::APSInt Res(64, !Type->isSignedIntegerOrEnumerationType());
tools/clang/include/clang/AST/Decl.h
 2373     return getType()->castAs<FunctionType>()->getReturnType();
 2386     return T->castAs<FunctionType>()->getReturnType();
 2393     const auto *FPT = T->getAs<FunctionProtoType>();
 2403     return getType()->castAs<FunctionType>()->getCallResultType(
tools/clang/include/clang/AST/DeclCXX.h
 1945   bool isConst() const { return getType()->castAs<FunctionType>()->isConst(); }
 1946   bool isVolatile() const { return getType()->castAs<FunctionType>()->isVolatile(); }
 2059     return getType()->castAs<FunctionProtoType>()->getMethodQuals();
 2074     return getType()->castAs<FunctionProtoType>()->getRefQualifier();
 2728     return getType()->castAs<FunctionType>()->getReturnType();
tools/clang/include/clang/AST/DeclObjC.h
  895       return getType()->isBlockPointerType() ? Copy : Retain;
 1566       return TInfo->getType()->castAs<ObjCObjectType>();
tools/clang/include/clang/AST/DeclTemplate.h
 1372     return ParameterPack && getType()->getAs<PackExpansionType>();
tools/clang/include/clang/AST/Expr.h
  145     assert((t.isNull() || !t->isReferenceType()) &&
  405     if (const ReferenceType *RT = T->getAs<ReferenceType>())
  408                 : (RT->getPointeeType()->isFunctionType()
  482     return getType()->isPlaceholderType();
 1059            T->isDependentType() ||
 1061            T->isDependentType() ||
 1063            T->isInstantiationDependentType() ||
 2030              input->isTypeDependent() || type->isDependentType(),
 2033               type->isInstantiationDependentType()),
 2361            TInfo->getType()->isDependentType(),
 2362            TInfo->getType()->isInstantiationDependentType(),
 2363            TInfo->getType()->containsUnexpandedParameterPack()),
 2441   bool lhsIsBase() const { return getRHS()->getType()->isIntegerType(); }
 3067            tinfo->getType()->isDependentType(),
 3070             tinfo->getType()->isInstantiationDependentType()),
 3141              ty->isDependentType(),
 3144              ty->isDependentType() || (op && op->isValueDependent()),
 3145              (ty->isInstantiationDependentType() ||
 3150                ty->containsUnexpandedParameterPack()) ||
 3936          T->isDependentType(), false, false, false),
 4054            DstType->isDependentType(),
 4055            DstType->isDependentType() || SrcExpr->isValueDependent(),
 4056            (DstType->isInstantiationDependentType() ||
 4058            (DstType->containsUnexpandedParameterPack() ||
 4223       : Expr(VAArgExprClass, t, VK_RValue, OK_Ordinary, t->isDependentType(),
 4224              false, (TInfo->getType()->isInstantiationDependentType() ||
 4226              (TInfo->getType()->containsUnexpandedParameterPack() ||
 4913            false, false, ty->isInstantiationDependentType(), false) { }
 5009              T->isInstantiationDependentType(),
 5024     return cast<ConstantArrayType>(getType()->castAsArrayTypeUnsafe())
 5093            false, false, ty->isInstantiationDependentType(), false) { }
 5557            ty->isDependentType(), ty->isDependentType(),
 5557            ty->isDependentType(), ty->isDependentType(),
 5558            ty->isInstantiationDependentType() || BD->isDependentContext(),
 5614            DstType->isDependentType(),
 5615            DstType->isDependentType() || SrcExpr->isValueDependent(),
 5616            (DstType->isInstantiationDependentType() ||
 5618            (DstType->containsUnexpandedParameterPack() ||
 5880     return getPtr()->getType()->getPointeeType().isVolatileQualified();
 5944     assert(T->isDependentType() && "TypoExpr given a non-dependent type");
tools/clang/include/clang/AST/ExprCXX.h
  727              Ty->isDependentType(), SubExpr->isValueDependent(),
  776              Operand->getType()->isDependentType(),
  777              Operand->getType()->isInstantiationDependentType(),
  778              Operand->getType()->containsUnexpandedParameterPack()),
 1010              Operand->getType()->isDependentType(),
 1011              Operand->getType()->isInstantiationDependentType(),
 1012              Operand->getType()->containsUnexpandedParameterPack()),
 1103              Ty->isDependentType(), Ty->isDependentType(),
 1103              Ty->isDependentType(), Ty->isDependentType(),
 1104              Ty->isInstantiationDependentType(),
 1639     assert(!T->isDependentType());
 2064              false, Type->isInstantiationDependentType(),
 2065              Type->containsUnexpandedParameterPack()),
 2194     return getType()->castAs<PointerType>()->getPointeeType();
 2741              false, queried->getType()->isDependentType(),
 2742              (queried->getType()->isInstantiationDependentType() ||
 2744              queried->getType()->containsUnexpandedParameterPack()),
 2905     assert(E->getType()->isSpecificBuiltinType(BuiltinType::Overload));
 4648     assert(Common->isTypeDependent() && Ty->isDependentType() &&
 4757     assert(Ty->isDependentType() &&
tools/clang/include/clang/AST/ExprObjC.h
  415              EncodedType->getType()->isDependentType(),
  416              EncodedType->getType()->isDependentType(),
  417              EncodedType->getType()->isInstantiationDependentType(),
  418              EncodedType->getType()->containsUnexpandedParameterPack()),
  656     assert(t->isSpecificPlaceholderType(BuiltinType::PseudoObject));
  663              /*TypeDependent=*/false, false, st->isInstantiationDependentType(),
  664              st->containsUnexpandedParameterPack()),
  667     assert(t->isSpecificPlaceholderType(BuiltinType::PseudoObject));
  678     assert(T->isSpecificPlaceholderType(BuiltinType::PseudoObject));
  688     assert(T->isSpecificPlaceholderType(BuiltinType::PseudoObject));
  698     assert(T->isSpecificPlaceholderType(BuiltinType::PseudoObject));
  905     return getKeyExpr()->getType()->isIntegralOrEnumerationType();
tools/clang/include/clang/AST/LocInfoType.h
   38       : Type((TypeClass)LocInfo, ty, ty->isDependentType(),
   39              ty->isInstantiationDependentType(), ty->isVariablyModifiedType(),
   39              ty->isInstantiationDependentType(), ty->isVariablyModifiedType(),
   40              ty->containsUnexpandedParameterPack()),
tools/clang/include/clang/AST/RecursiveASTVisitor.h
  674   switch (T->getTypeClass()) {
tools/clang/include/clang/AST/StmtCXX.h
  373     return getPromiseDecl()->getType()->isDependentType();
tools/clang/include/clang/AST/Type.h
 2531       : Type(Complex, CanonicalPtr, Element->isDependentType(),
 2532              Element->isInstantiationDependentType(),
 2533              Element->isVariablyModifiedType(),
 2534              Element->containsUnexpandedParameterPack()),
 2561       : Type(Paren, CanonType, InnerType->isDependentType(),
 2562              InnerType->isInstantiationDependentType(),
 2563              InnerType->isVariablyModifiedType(),
 2564              InnerType->containsUnexpandedParameterPack()),
 2591       : Type(Pointer, CanonicalPtr, Pointee->isDependentType(),
 2592              Pointee->isInstantiationDependentType(),
 2593              Pointee->isVariablyModifiedType(),
 2594              Pointee->containsUnexpandedParameterPack()),
 2642       : Type(TC, CanonicalPtr, OriginalTy->isDependentType(),
 2643              OriginalTy->isInstantiationDependentType(),
 2644              OriginalTy->isVariablyModifiedType(),
 2645              OriginalTy->containsUnexpandedParameterPack()),
 2694       : Type(BlockPointer, CanonicalCls, Pointee->isDependentType(),
 2695              Pointee->isInstantiationDependentType(),
 2696              Pointee->isVariablyModifiedType(),
 2697              Pointee->containsUnexpandedParameterPack()),
 2727       : Type(tc, CanonicalRef, Referencee->isDependentType(),
 2728              Referencee->isInstantiationDependentType(),
 2729              Referencee->isVariablyModifiedType(),
 2730              Referencee->containsUnexpandedParameterPack()),
 2733     ReferenceTypeBits.InnerRef = Referencee->isReferenceType();
 2746       T = T->PointeeType->castAs<ReferenceType>();
 2815              Cls->isDependentType() || Pointee->isDependentType(),
 2817               Pointee->isInstantiationDependentType()),
 2818              Pointee->isVariablyModifiedType(),
 2820               Pointee->containsUnexpandedParameterPack())),
 2829     return PointeeType->isFunctionProtoType();
 2835     return !PointeeType->isFunctionProtoType();
 3694                      Result->isVariablyModifiedType(),
 3856       if (ArgArray[Idx]->containsUnexpandedParameterPack())
 4197       : Type(tc, can, can->isDependentType(),
 4198              can->isInstantiationDependentType(),
 4199              can->isVariablyModifiedType(),
 4224       : Type(MacroQualified, CanonTy, UnderlyingTy->isDependentType(),
 4225              UnderlyingTy->isInstantiationDependentType(),
 4226              UnderlyingTy->isVariablyModifiedType(),
 4227              UnderlyingTy->containsUnexpandedParameterPack()),
 4299       : Type(TypeOf, can, T->isDependentType(),
 4300              T->isInstantiationDependentType(),
 4301              T->isVariablyModifiedType(),
 4302              T->containsUnexpandedParameterPack()),
 4511       : Type(Attributed, canon, equivalent->isDependentType(),
 4512              equivalent->isInstantiationDependentType(),
 4513              equivalent->isVariablyModifiedType(),
 4514              equivalent->containsUnexpandedParameterPack()),
 4619              Canon->containsUnexpandedParameterPack()),
 4635     return Can->castAs<TemplateTypeParmType>()->CanTTPTInfo;
 4684       : Type(SubstTemplateTypeParm, Canon, Canon->isDependentType(),
 4685              Canon->isInstantiationDependentType(),
 4686              Canon->isVariablyModifiedType(),
 4687              Canon->containsUnexpandedParameterPack()),
 4794       if (DeducedAsType->isDependentType())
 4796       if (DeducedAsType->isInstantiationDependentType())
 4798       if (DeducedAsType->containsUnexpandedParameterPack())
 5082     assert(TST->isDependentType());
 5225                         NamedType->isDependentType(),
 5226                         NamedType->isInstantiationDependentType(),
 5227                         NamedType->isVariablyModifiedType(),
 5228                         NamedType->containsUnexpandedParameterPack()),
 5439       : Type(PackExpansion, Canon, /*Dependent=*/Pattern->isDependentType(),
 5441              /*VariablyModified=*/Pattern->isVariablyModifiedType(),
 5462   bool isSugared() const { return !Pattern->isDependentType(); }
 5680     return getBaseType()->isSpecificBuiltinType(BuiltinType::ObjCId);
 5684     return getBaseType()->isSpecificBuiltinType(BuiltinType::ObjCClass);
 5691     if (const BuiltinType *T = getBaseType()->getAs<BuiltinType>())
 5851   while (const auto *ObjT = baseType->getAs<ObjCObjectType>()) {
 5877              Pointee->isDependentType(),
 5878              Pointee->isInstantiationDependentType(),
 5879              Pointee->isVariablyModifiedType(),
 5880              Pointee->containsUnexpandedParameterPack()),
 5912     return PointeeType->castAs<ObjCObjectType>();
 6050       : Type(Atomic, Canonical, ValTy->isDependentType(),
 6051              ValTy->isInstantiationDependentType(),
 6052              ValTy->isVariablyModifiedType(),
 6053              ValTy->containsUnexpandedParameterPack()),
 6085       : Type(Pipe, CanonicalPtr, elemType->isDependentType(),
 6086              elemType->isInstantiationDependentType(),
 6087              elemType->isVariablyModifiedType(),
 6088              elemType->containsUnexpandedParameterPack()),
 6293     if (const auto *FT = PT->getPointeeType()->getAs<FunctionType>())
 6324   if (getUnqualifiedType()->isVoidType())
 6340   if (const auto *RefType = (*this)->getAs<ReferenceType>())
 6417     return T->getPointeeType()->isFunctionType();
 6424     return T->getPointeeType()->isFunctionType();
 6538     return OPT->getPointeeType()->isSpecificBuiltinType(BuiltinType::ObjCSel);
tools/clang/include/clang/AST/TypeLoc.h
  115     return (TypeLocClass) getType()->getTypeClass();
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
 3348   return (!Node.isNull() && Node->isAnyPointerType() &&
 3349           InnerMatcher.matches(Node->getPointeeType(), Finder, Builder));
 3390   return (!Node.isNull() && Node->isReferenceType() &&
 3391           InnerMatcher.matches(Node->getPointeeType(), Finder, Builder));
 5027     return Node->isIntegerType();
 5041     return Node->isUnsignedIntegerType();
 5055     return Node->isSignedIntegerType();
 5069     return Node->isAnyCharacterType();
 5089   return Node->isAnyPointerType();
 6581   if (const auto *F = Node.getType()->getAs<FunctionProtoType>())
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  142   return Node.getType()->getAs<FunctionProtoType>();
tools/clang/include/clang/Analysis/AnyCall.h
   68     K = (CE->getCallee()->getType()->getAs<BlockPointerType>()) ? Block
tools/clang/include/clang/Analysis/CFG.h
  194            E->getType().getCanonicalType()->getAsCXXRecordDecl();
tools/clang/include/clang/CodeGen/CGFunctionInfo.h
  136     assert(Ty->isIntegralOrEnumerationType() && "Unexpected QualType");
  146     assert(Ty->isIntegralOrEnumerationType() && "Unexpected QualType");
  158     assert(Ty->isIntegralOrEnumerationType() && "Unexpected QualType");
  159     if (Ty->hasSignedIntegerRepresentation())
tools/clang/include/clang/Sema/Initialization.h
  466                                       getType()->getAsArrayTypeUnsafe());
tools/clang/include/clang/Sema/Overload.h
  870         while (STy->isPointerType() || STy->isReferenceType())
  870         while (STy->isPointerType() || STy->isReferenceType())
  871           STy = STy->getPointeeType();
  872         return STy->castAs<FunctionProtoType>()->getNumParams();
tools/clang/include/clang/Sema/SemaInternal.h
   32          cast<ParmVarDecl>(FTI.Params[0].Param)->getType()->isVoidType();
tools/clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
  147             .getCanonicalType()->getAs<ObjCObjectPointerType>())
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
  142     assert(T->isIntegralOrEnumerationType() || Loc::isLocType(T));
  144                       !T->isSignedIntegerOrEnumerationType());
  200     assert(T->isScalarType());
  214                     T->isUnsignedIntegerOrEnumerationType());
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
  614     const CXXRecordDecl *LambdaDecl = LambdaVD->getType()->getAsCXXRecordDecl();
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  545     if (T->getAs<ObjCObjectType>())
  774     assert(s->getType()->isAnyPointerType() ||
  775            s->getType()->isReferenceType() ||
  776            s->getType()->isBlockPointerType());
  980     assert(ThisPointerTy->getPointeeType()->getAsCXXRecordDecl() &&
 1095     assert(!elementType.isNull() && !elementType->isVoidType() &&
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
  709   const auto *Base = BaseSpec.getType()->getAsCXXRecordDecl();
  769         T->isIntegralOrEnumerationType())
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
   53     if (!hasComparison && !RetTy->isBooleanType())
  115       assert(!Ty->isRealFloatingType());
  117                          !Ty->isSignedIntegerOrEnumerationType());
  141           Ty->isBooleanType() ? Solver->mkBoolean(Value.getBoolValue())
  159       if (CastTy->isVoidType())
  256     if (Ty->isComplexType() || Ty->isComplexIntegerType())
  256     if (Ty->isComplexType() || Ty->isComplexIntegerType())
  260     if ((Ty->isSpecificBuiltinType(BuiltinType::LongDouble) &&
  265     if (Ty->isRealFloatingType())
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
   29     if (Ty->isBooleanType())
   32     if (Ty->isRealFloatingType())
  265     if ((FromTy->isIntegralOrEnumerationType() &&
  266          ToTy->isIntegralOrEnumerationType()) ||
  267         (FromTy->isAnyPointerType() ^ ToTy->isAnyPointerType()) ||
  267         (FromTy->isAnyPointerType() ^ ToTy->isAnyPointerType()) ||
  268         (FromTy->isBlockPointerType() ^ ToTy->isBlockPointerType()) ||
  268         (FromTy->isBlockPointerType() ^ ToTy->isBlockPointerType()) ||
  269         (FromTy->isReferenceType() ^ ToTy->isReferenceType())) {
  269         (FromTy->isReferenceType() ^ ToTy->isReferenceType())) {
  271       if (FromTy->isBooleanType()) {
  279         return FromTy->isSignedIntegerOrEnumerationType()
  290     if (FromTy->isRealFloatingType() && ToTy->isRealFloatingType()) {
  290     if (FromTy->isRealFloatingType() && ToTy->isRealFloatingType()) {
  297     if (FromTy->isIntegralOrEnumerationType() && ToTy->isRealFloatingType()) {
  297     if (FromTy->isIntegralOrEnumerationType() && ToTy->isRealFloatingType()) {
  299       return FromTy->isSignedIntegerOrEnumerationType()
  304     if (FromTy->isRealFloatingType() && ToTy->isIntegralOrEnumerationType())
  304     if (FromTy->isRealFloatingType() && ToTy->isIntegralOrEnumerationType())
  305       return ToTy->isSignedIntegerOrEnumerationType()
  317     APSIntType TargetType(ToWidth, !ToTy->isSignedIntegerOrEnumerationType());
  363       if (LTy->isAnyPointerType() && RTy->isAnyPointerType() && Op == BO_Sub) {
  363       if (LTy->isAnyPointerType() && RTy->isAnyPointerType() && Op == BO_Sub) {
  368     return LTy->isRealFloatingType()
  371                            LTy->isSignedIntegerOrEnumerationType());
  477     if (Ty->isRealFloatingType()) {
  484     if (Ty->isIntegralOrEnumerationType() || Ty->isAnyPointerType() ||
  484     if (Ty->isIntegralOrEnumerationType() || Ty->isAnyPointerType() ||
  485         Ty->isBlockPointerType() || Ty->isReferenceType()) {
  485         Ty->isBlockPointerType() || Ty->isReferenceType()) {
  488       bool isSigned = Ty->isSignedIntegerOrEnumerationType();
  489       if (Ty->isBooleanType())
  538                      SymTy->isSignedIntegerOrEnumerationType());
  574     if ((LTy->isIntegralOrEnumerationType() &&
  575          RTy->isIntegralOrEnumerationType()) &&
  576         (LTy->isArithmeticType() && RTy->isArithmeticType())) {
  576         (LTy->isArithmeticType() && RTy->isArithmeticType())) {
  582     if (LTy->isRealFloatingType() || RTy->isRealFloatingType()) {
  582     if (LTy->isRealFloatingType() || RTy->isRealFloatingType()) {
  588     if ((LTy->isAnyPointerType() || RTy->isAnyPointerType()) ||
  588     if ((LTy->isAnyPointerType() || RTy->isAnyPointerType()) ||
  589         (LTy->isBlockPointerType() || RTy->isBlockPointerType()) ||
  589         (LTy->isBlockPointerType() || RTy->isBlockPointerType()) ||
  590         (LTy->isReferenceType() || RTy->isReferenceType())) {
  590         (LTy->isReferenceType() || RTy->isReferenceType())) {
  599       if ((LTy->isAnyPointerType() ^ RTy->isAnyPointerType()) ||
  599       if ((LTy->isAnyPointerType() ^ RTy->isAnyPointerType()) ||
  600           (LTy->isBlockPointerType() ^ RTy->isBlockPointerType()) ||
  600           (LTy->isBlockPointerType() ^ RTy->isBlockPointerType()) ||
  601           (LTy->isReferenceType() ^ RTy->isReferenceType())) {
  601           (LTy->isReferenceType() ^ RTy->isReferenceType())) {
  602         if (LTy->isNullPtrType() || LTy->isBlockPointerType() ||
  602         if (LTy->isNullPtrType() || LTy->isBlockPointerType() ||
  603             LTy->isReferenceType()) {
  616       if (LTy->isVoidPointerType() ^ RTy->isVoidPointerType()) {
  616       if (LTy->isVoidPointerType() ^ RTy->isVoidPointerType()) {
  619         if (RTy->isVoidPointerType())
  631         (LTy->isObjCObjectPointerType() && RTy->isObjCObjectPointerType())) {
  631         (LTy->isObjCObjectPointerType() && RTy->isObjCObjectPointerType())) {
  653     if (LTy->isPromotableIntegerType()) {
  660     if (RTy->isPromotableIntegerType()) {
  673     bool isLSignedTy = LTy->isSignedIntegerOrEnumerationType();
  674     bool isRSignedTy = RTy->isSignedIntegerOrEnumerationType();
  733     if (!LTy->isRealFloatingType()) {
  738     if (!RTy->isRealFloatingType()) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
  101             (Ty1->isIntegralOrEnumerationType() &&
  102              Ty2->isIntegralOrEnumerationType()));
  281                      integer->getType()->isUnsignedIntegerOrEnumerationType()));
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
  308     return T->isArrayType() || T->isRecordType() ||
  308     return T->isArrayType() || T->isRecordType() ||
  309            T->isAnyComplexType() || T->isVectorType();
  309            T->isAnyComplexType() || T->isVectorType();
  330     return T->isAnyPointerType() || T->isBlockPointerType() ||
  330     return T->isAnyPointerType() || T->isBlockPointerType() ||
  331            T->isReferenceType() || T->isNullPtrType();
  331            T->isReferenceType() || T->isNullPtrType();
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
   48     return !T.isNull() && !T->isVoidType();
tools/clang/lib/ARCMigrate/ObjCMT.cpp
  251       if (Receiver->getType()->isObjCBuiltinType())
  439   bool RetainableObject = ArgType->isObjCRetainableType();
  444         ArgType->getAs<ObjCObjectPointerType>()) {
  452     else if (ArgType->isBlockPointerType())
  459     return ArgType->isBlockPointerType() ? "copy" : "strong";
  502     if (!QT->isRealType())
  543   if (RT->isBlockPointerType() || RT->isFunctionPointerType())
  543   if (RT->isBlockPointerType() || RT->isFunctionPointerType())
  941     if (const EnumType *EnumTy = qt->getAs<EnumType>()) {
 1032       if (OM->getReturnType()->isObjCIdType())
 1039   if (!OM->getReturnType()->isObjCIdType())
 1058   if (!T->isAnyPointerType())
 1060   if (T->isObjCObjectPointerType() || T->isObjCBuiltinType() ||
 1060   if (T->isObjCObjectPointerType() || T->isObjCBuiltinType() ||
 1061       T->isBlockPointerType() || T->isFunctionPointerType() ||
 1061       T->isBlockPointerType() || T->isFunctionPointerType() ||
 1069   if (OrigT == T || !T->isPointerType())
 1071   const PointerType* PT = T->getAs<PointerType>();
 1073   if (UPointeeT->isRecordType()) {
 1074     const RecordType *RecordTy = UPointeeT->getAs<RecordType>();
 1173   if (GRT->isVoidType())
 1196     if (IsPrefix && GRT->isObjCRetainableType())
 1226     if (!SRT->isVoidType())
 1308       !OM->getReturnType()->isObjCIdType())
 1367   if (!Ty->isPointerType())
 1374   const PointerType* PT = Ty->getAs<PointerType>();
 1375   if (PT->getPointeeType().getUnqualifiedType()->isVoidType())
 1384   if (!AT->isAnyPointerType() && !AT->isBlockPointerType())
 1384   if (!AT->isAnyPointerType() && !AT->isBlockPointerType())
 1391       AT->isObjCObjectPointerType() || AT->isObjCBuiltinType())
 1391       AT->isObjCObjectPointerType() || AT->isObjCBuiltinType())
tools/clang/lib/ARCMigrate/TransAPIUses.cpp
   72       QualType pointee = parm->getType()->getPointeeType();
tools/clang/lib/ARCMigrate/TransARCAssign.cpp
   42     if (Exp->getType()->isDependentType())
tools/clang/lib/ARCMigrate/TransAutoreleasePool.cpp
  393     QualType pointee = Ty->getPointeeType();
  396     if (const ObjCInterfaceType *interT = pointee->getAs<ObjCInterfaceType>())
tools/clang/lib/ARCMigrate/TransBlockObjCVariable.cpp
   83           var->getType()->isObjCObjectPointerType() &&
tools/clang/lib/ARCMigrate/TransGCAttrs.cpp
  187       if (!Attr.ModifiedType->isObjCRetainableType()) {
  202           !Attr.ModifiedType->isObjCRetainableType())
  228     if (T.isNull() || !T->isObjCRetainableType())
tools/clang/lib/ARCMigrate/TransProperties.cpp
  135       if (!getPropertyType(props)->isObjCRetainableType())
tools/clang/lib/ARCMigrate/TransUnbridgedCasts.cpp
   97     if (castType->isObjCRetainableType() == castExprType->isObjCRetainableType())
   97     if (castType->isObjCRetainableType() == castExprType->isObjCRetainableType())
  100     bool exprRetainable = castExprType->isObjCIndirectLifetimeType();
  101     bool castRetainable = castType->isObjCIndirectLifetimeType();
  112     if (castType->isObjCRetainableType())
  126       if (E->getSubExpr()->getType()->isPointerType()) {
  163                 if (T->isObjCObjectPointerType())
tools/clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp
  171       if (!IVDecl->getType()->isObjCObjectPointerType())
tools/clang/lib/ARCMigrate/Transforms.cpp
   51   while (const PointerType *ptr = T->getAs<PointerType>())
   53   if (const ObjCObjectPointerType *ObjT = T->getAs<ObjCObjectPointerType>()) {
  361     if (const AttributedType *AttrT = T->getAs<AttributedType>()) {
  363         return !AttrT->getModifiedType()->isObjCRetainableType();
  366     if (T->isArrayType())
  368     else if (const PointerType *PT = T->getAs<PointerType>())
  370     else if (const ReferenceType *RT = T->getAs<ReferenceType>())
tools/clang/lib/AST/APValue.cpp
  483     if (Ty->isBooleanType())
  496     QualType ElemTy = Ty->castAs<VectorType>()->getElementType();
  513     bool IsReference = Ty->isReferenceType();
  515       = IsReference ? Ty.getNonReferenceType() : Ty->getPointeeType();
  602       if (ElemTy->getAs<RecordType>()) {
  655     const RecordDecl *RD = Ty->castAs<RecordType>()->getDecl();
tools/clang/lib/AST/ASTContext.cpp
  570       if (const auto *TT = QT->getAs<TagType>())
  597         if (const CXXRecordDecl *NonVirtualBase = Ty->getAsCXXRecordDecl()) {
  612         if (const CXXRecordDecl *VirtualBase = Ty->getAsCXXRecordDecl()) {
 1579   switch (T->castAs<BuiltinType>()->getKind()) {
 1629     if (const auto *RT = T->getAs<ReferenceType>()) {
 1636     if (T->isFunctionType())
 1638     else if (!BaseT->isIncompleteType()) {
 1706     if (const auto *RT = T->getAs<RecordType>()) {
 1759   if (const auto *TT = T->getAs<TypedefType>())
 1765   if (!T->isIncompleteType())
 1770   if (const auto *TT = T->getAs<TypedefType>())
 1775   if (const auto *TT = T->getAs<TagType>())
 2114           getTypeInfo(ED->getIntegerType()->getUnqualifiedDesugaredType());
 2240       T->isSpecificBuiltinType(BuiltinType::Double))
 2418   const RecordDecl *RD = Ty->castAs<RecordType>()->getDecl();
 2446             Context, Base.getType()->castAs<RecordType>()->getDecl());
 2455       return Layout.getBaseClassOffset(L.first->getAsCXXRecordDecl()) <
 2456              Layout.getBaseClassOffset(R.first->getAsCXXRecordDecl());
 2461           Layout.getBaseClassOffset(Base.first->getAsCXXRecordDecl()));
 2470     if (!Field->getType()->isReferenceType() &&
 2516   if (Ty->isArrayType())
 2524   if (Ty->isIntegralOrEnumerationType())
 2528   if (Ty->isPointerType())
 2531   if (Ty->isMemberPointerType()) {
 2532     const auto *MPT = Ty->getAs<MemberPointerType>();
 2536   if (Ty->isRecordType()) {
 2537     const RecordDecl *Record = Ty->castAs<RecordType>()->getDecl();
 2585   if (E->getType()->isNullPtrType()) return true;
 2587   if (E->getType()->isAnyPointerType() &&
 2790   if (const auto *ptr = T->getAs<PointerType>()) {
 2792     if (Pointee->isAnyPointerType()) {
 2834     const auto *FPT = FD->getType()->castAs<FunctionProtoType>();
 2872   const auto *Proto = Orig->castAs<FunctionProtoType>();
 2992   assert((T->isArrayType() || T->isFunctionType()) && "T does not decay");
 2992   assert((T->isArrayType() || T->isFunctionType()) && "T does not decay");
 3001   if (T->isArrayType())
 3008   if (T->isFunctionType())
 3033   assert(T->isFunctionType() && "block of function types only");
 3078   const auto *InnerRef = T->getAs<ReferenceType>();
 3114   const auto *InnerRef = T->getAs<ReferenceType>();
 3172   assert((EltTy->isDependentType() ||
 3173           EltTy->isIncompleteType() || EltTy->isConstantSizeType()) &&
 3173           EltTy->isIncompleteType() || EltTy->isConstantSizeType()) &&
 3225   if (!type->isVariablyModifiedType()) return type;
 3495   assert(vecType->isBuiltinType());
 3565   assert(vecType->isBuiltinType() || vecType->isDependentType());
 3565   assert(vecType->isBuiltinType() || vecType->isDependentType());
 3748       if (ET->getAs<PackExpansionType>())
 3837           if (ET->getAs<PackExpansionType>())
 4488   assert((Pattern->containsUnexpandedParameterPack() ||
 4489           Pattern->getContainedDeducedType()) &&
 4503     if (Canon->containsUnexpandedParameterPack()) {
 4584     if (const auto *baseObject = baseType->getAs<ObjCObjectType>())
 4686   if (type->isObjCObjectType()) {
 4696   if (type->isObjCIdType()) {
 4697     const auto *objPtr = type->castAs<ObjCObjectPointerType>();
 4704   if (type->isObjCClassType()) {
 4705     const auto *objPtr = type->castAs<ObjCObjectPointerType>();
 4751   if (!QT->isObjCQualifiedIdType())
 4754   if (const auto *OPT = QT->getAs<ObjCObjectPointerType>()) {
 4770   if (!QT->isObjCQualifiedIdType())
 4772   const auto *OPT = QT->getAs<ObjCObjectPointerType>();
 4953   if (BaseType->isDependentType()) {
 5269   const auto *T1PtrType = T1->getAs<PointerType>();
 5270   const auto *T2PtrType = T2->getAs<PointerType>();
 5277   const auto *T1MPType = T1->getAs<MemberPointerType>();
 5278   const auto *T2MPType = T2->getAs<MemberPointerType>();
 5288     const auto *T1OPType = T1->getAs<ObjCObjectPointerType>();
 5289     const auto *T2OPType = T2->getAs<ObjCObjectPointerType>();
 5523     if (const auto *DNT = T->getAs<DependentNameType>())
 5602   if (T->isArrayType() || T->isFunctionType())
 5602   if (T->isArrayType() || T->isFunctionType())
 5621   if (T->isArrayType() || T->isFunctionType())
 5621   if (T->isArrayType() || T->isFunctionType())
 5647   if (auto Nullability = Ty->getNullability(*this)) {
 5679       CA->getElementType()->getAsArrayTypeUnsafe());
 5687   if (const auto *CT = T->getAs<ComplexType>())
 5690   switch (T->castAs<BuiltinType>()->getKind()) {
 5708   if (Domain->isComplexType()) {
 5719   assert(Domain->isRealFloatingType() && "Unknown domain!");
 5797   if (getLangOpts().CPlusPlus && E->getType()->isEnumeralType())
 5832     return FT->isSignedIntegerType() ? IntTy : UnsignedIntTy;
 5847   assert(Promotable->isPromotableIntegerType());
 5848   if (const auto *ET = Promotable->getAs<EnumType>())
 5851   if (const auto *BT = Promotable->getAs<BuiltinType>()) {
 5871              FromIsSigned == PromoteTypes[Idx]->isSignedIntegerType()))
 5879   if (Promotable->isSignedIntegerType())
 5883   assert(Promotable->isUnsignedIntegerType() && PromotableSize <= IntSize);
 5893     if (T->isArrayType())
 5895     else if (const auto *PT = T->getAs<PointerType>())
 5897     else if (const auto *RT = T->getAs<ReferenceType>())
 6067   const auto *TD = T->castAs<TypedefType>();
 6070       CFConstantStringTypeDecl->getUnderlyingType()->castAs<RecordType>();
 6193   if (const CXXRecordDecl *record = Ty->getAsCXXRecordDecl()) {
 6205   if (!Ty->isObjCRetainableType()) return false;
 6227   return (Ty->isBlockPointerType() || isObjCNSObjectType(Ty) ||
 6228           Ty->isObjCObjectPointerType());
 6239   if (Ty->isRecordType()) {
 6244   } else if (Ty->isObjCObjectPointerType() || Ty->isBlockPointerType()) {
 6244   } else if (Ty->isObjCObjectPointerType() || Ty->isBlockPointerType()) {
 6273   if (!type->isIncompleteArrayType() && type->isIncompleteType())
 6273   if (!type->isIncompleteArrayType() && type->isIncompleteType())
 6279   if (sz.isPositive() && type->isIntegralOrEnumerationType())
 6282   else if (type->isArrayType())
 6290          VD->getType()->isIntegralOrEnumerationType() &&
 6326       Expr->getType()->castAs<BlockPointerType>()->getPointeeType();
 6327   QualType BlockReturnTy = BlockTy->castAs<FunctionType>()->getReturnType();
 6357             dyn_cast<ArrayType>(PType->getCanonicalTypeInternal())) {
 6362     } else if (PType->isFunctionType())
 6400             dyn_cast<ArrayType>(PType->getCanonicalTypeInternal())) {
 6405     } else if (PType->isFunctionType())
 6471             dyn_cast<ArrayType>(PType->getCanonicalTypeInternal())) {
 6476     } else if (PType->isFunctionType())
 6605     if (const auto *BT = PointeeTy->getAs<BuiltinType>()) {
 6752   const auto *BT = Enum->getIntegerType()->castAs<BuiltinType>();
 6789     if (const auto *ET = T->getAs<EnumType>())
 6792       const auto *BT = T->castAs<BuiltinType>();
 6817     const auto *CT = T->castAs<ComplexType>();
 6825     const auto *AT = T->castAs<AtomicType>();
 6838       const auto *PT = T->castAs<PointerType>();
 6845       PointeeTy = T->castAs<ReferenceType>()->getPointeeType();
 6860       while (auto PT = P->getAs<PointerType>())
 6875     if (PointeeTy->isCharType()) {
 6882     } else if (const auto *RTy = PointeeTy->getAs<RecordType>()) {
 6992     const auto *BT = T->castAs<BlockPointerType>();
 6995       const auto *FT = BT->getPointeeType()->castAs<FunctionType>();
 7017     if (Ty->isObjCIdType()) {
 7021     else if (Ty->isObjCClassType()) {
 7032     ObjCInterfaceDecl *OI = T->castAs<ObjCObjectType>()->getInterface();
 7056     const auto *OPT = T->castAs<ObjCObjectPointerType>();
 7156         CXXRecordDecl *base = BI.getType()->getAsCXXRecordDecl();
 7176       CXXRecordDecl *base = BI.getType()->getAsCXXRecordDecl();
 7913     if (Ty->isObjCObjectPointerType() || Ty->isBlockPointerType())
 7913     if (Ty->isObjCObjectPointerType() || Ty->isBlockPointerType())
 7915     else if (Ty->isPointerType())
 7916       return getObjCGCAttrKind(Ty->castAs<PointerType>()->getPointeeType());
 7921     QualType CT = Ty->getCanonicalTypeInternal();
 7924     assert(CT->isAnyPointerType() || CT->isBlockPointerType());
 7924     assert(CT->isAnyPointerType() || CT->isBlockPointerType());
 7945   assert(FirstVec->isVectorType() && "FirstVec should be a vector type");
 7946   assert(SecondVec->isVectorType() && "SecondVec should be a vector type");
 7953   const auto *First = FirstVec->castAs<VectorType>();
 7954   const auto *Second = SecondVec->castAs<VectorType>();
 8322   const auto *lhsOPT = lhs->getAs<ObjCObjectPointerType>();
 8323   const auto *rhsOPT = rhs->getAs<ObjCObjectPointerType>();
 8328   const auto *lhsBlock = lhs->getAs<BlockPointerType>();
 8329   const auto *rhsBlock = rhs->getAs<BlockPointerType>();
 8447     LHS = LHSSuperType->castAs<ObjCObjectType>();
 8497     RHS = RHSSuperType->castAs<ObjCObjectType>();
 8551       RHSSuper = RHSSuper->getSuperClassType()->castAs<ObjCObjectType>();
 8567   const auto *LHSOPT = LHS->getAs<ObjCObjectPointerType>();
 8568   const auto *RHSOPT = RHS->getAs<ObjCObjectPointerType>();
 8579                 getObjCObjectPointerType(To)->getAs<ObjCObjectPointerType>(),
 8580                 getObjCObjectPointerType(From)->getAs<ObjCObjectPointerType>());
 8609   if (const RecordType *UT = T->getAsUnionType()) {
 8648   const auto *lbase = lhs->getAs<FunctionType>();
 8649   const auto *rbase = rhs->getAs<FunctionType>();
 8798       if (const auto *Enum = paramTy->getAs<EnumType>()) {
 8804       if (paramTy->isPromotableIntegerType() ||
 8837   if (isBlockReturnType && other->isIntegerType() &&
 8852   assert(!LHS->getAs<ReferenceType>() && "LHS is a reference type?");
 8853   assert(!RHS->getAs<ReferenceType>() && "RHS is a reference type?");
 8891     if (GC_L == Qualifiers::Strong && RHSCan->isObjCObjectPointerType()) {
 8894     if (GC_R == Qualifiers::Strong && LHSCan->isObjCObjectPointerType()) {
 8902   Type::TypeClass LHSClass = LHSCan->getTypeClass();
 8903   Type::TypeClass RHSClass = RHSCan->getTypeClass();
 8928     if (const auto *ETy = LHS->getAs<EnumType>()) {
 8931     if (const EnumType* ETy = RHS->getAs<EnumType>()) {
 8936        if (LHS->isObjCIdType() && RHS->isBlockPointerType())
 8936        if (LHS->isObjCIdType() && RHS->isBlockPointerType())
 8938       if (RHS->isObjCIdType() && LHS->isBlockPointerType())
 8938       if (RHS->isObjCIdType() && LHS->isBlockPointerType())
 8972     QualType LHSPointee = LHS->castAs<PointerType>()->getPointeeType();
 8973     QualType RHSPointee = RHS->castAs<PointerType>()->getPointeeType();
 8991     QualType LHSPointee = LHS->castAs<BlockPointerType>()->getPointeeType();
 8992     QualType RHSPointee = RHS->castAs<BlockPointerType>()->getPointeeType();
 9024     QualType LHSValue = LHS->castAs<AtomicType>()->getValueType();
 9025     QualType RHSValue = RHS->castAs<AtomicType>()->getValueType();
 9135     if (areCompatVectorTypes(LHSCan->castAs<VectorType>(),
 9136                              RHSCan->castAs<VectorType>()))
 9143     if (canAssignObjCInterfaces(LHS->castAs<ObjCObjectType>(),
 9144                                 RHS->castAs<ObjCObjectType>()))
 9151               LHS->castAs<ObjCObjectPointerType>(),
 9152               RHS->castAs<ObjCObjectPointerType>(), BlockReturnType))
 9156     if (canAssignObjCInterfaces(LHS->castAs<ObjCObjectPointerType>(),
 9157                                 RHS->castAs<ObjCObjectPointerType>()))
 9229   if (RHSCan->isFunctionType()) {
 9230     if (!LHSCan->isFunctionType())
 9243       const auto *F = LHS->castAs<FunctionType>();
 9283   if (LHSCan->isObjCObjectPointerType() && RHSCan->isObjCObjectPointerType()) {
 9283   if (LHSCan->isObjCObjectPointerType() && RHSCan->isObjCObjectPointerType()) {
 9284     QualType LHSBaseQT = LHS->castAs<ObjCObjectPointerType>()->getPointeeType();
 9285     QualType RHSBaseQT = RHS->castAs<ObjCObjectPointerType>()->getPointeeType();
 9300   if (const auto *ET = T->getAs<EnumType>())
 9302   if (T->isBooleanType())
 9309   assert((T->hasSignedIntegerRepresentation() || T->isSignedFixedPointType()) &&
 9309   assert((T->hasSignedIntegerRepresentation() || T->isSignedFixedPointType()) &&
 9313   if (const auto *VTy = T->getAs<VectorType>())
 9318   if (const auto *ETy = T->getAs<EnumType>())
 9321   switch (T->castAs<BuiltinType>()->getKind()) {
 9575     if (Type->isArrayType())
 9687   assert((!RequiresICE || Type->isIntegralOrEnumerationType()) &&
 9725     if (Ty->isArrayType())
10376   QualType AtomicTy = E->getPtr()->getType()->getPointeeType();
10552   if (QT->getUnqualifiedDesugaredType()->isNullPtrType())
10555     AS = QT->getPointeeType().getAddressSpace();
10568   assert(Ty->isFixedPointType());
10570   if (Ty->isSaturatedFixedPointType()) return Ty;
10572   switch (Ty->castAs<BuiltinType>()->getKind()) {
10622   assert(Ty->isFixedPointType());
10625   switch (Ty->castAs<BuiltinType>()->getKind()) {
10668   assert(Ty->isFixedPointType());
10671   switch (Ty->castAs<BuiltinType>()->getKind()) {
10709   assert((Ty->isFixedPointType() || Ty->isIntegerType()) &&
10709   assert((Ty->isFixedPointType() || Ty->isIntegerType()) &&
10712   if (Ty->isIntegerType())
10714                                                     Ty->isSignedIntegerType());
10716   bool isSigned = Ty->isSignedFixedPointType();
10719       Ty->isSaturatedFixedPointType(),
10724   assert(Ty->isFixedPointType());
10729   assert(Ty->isFixedPointType());
10734   assert(Ty->isUnsignedFixedPointType() &&
10737   switch (Ty->castAs<BuiltinType>()->getKind()) {
tools/clang/lib/AST/ASTDiagnostic.cpp
  170     if (const TagType *UTT = Underlying->getAs<TagType>())
  182   if (const PointerType *Ty = QT->getAs<PointerType>()) {
  185   } else if (const auto *Ty = QT->getAs<ObjCObjectPointerType>()) {
  188   } else if (const LValueReferenceType *Ty = QT->getAs<LValueReferenceType>()) {
  191   } else if (const RValueReferenceType *Ty = QT->getAs<RValueReferenceType>()) {
  194   } else if (const auto *Ty = QT->getAs<ObjCObjectType>()) {
  303     if (Ty->isVectorType()) {
  304       const VectorType *VTy = Ty->getAs<VectorType>();
 1074             Ty->getAs<TemplateSpecializationType>())
 1077     const RecordType *RT = Ty->getAs<RecordType>();
 1093     return Ty->getAs<TemplateSpecializationType>();
 1180           if (ArgType->isPointerType() &&
 1181               Context.hasSameType(ArgType->getPointeeType(), VDType))
 1210         if (ArgType->isPointerType() &&
 1211             Context.hasSameType(ArgType->getPointeeType(), VDType))
 1353       TST = TST->getAliasedType()->getAs<TemplateSpecializationType>();
 1742       if (FromIntType->isBooleanType()) {
 1786       if (IntType->isBooleanType()) {
tools/clang/lib/AST/ASTImporter.cpp
 1863           ImportDefinitionIfNeeded(Base1.getType()->getAsCXXRecordDecl()))
 2328           if (!FromUT->isIncompleteType() && !FoundUT->isIncompleteType())
 2328           if (!FromUT->isIncompleteType() && !FoundUT->isIncompleteType())
 2517         if (const auto *Tag = Typedef->getUnderlyingType()->getAs<TagType>())
 2621         if (const auto *Tag = Typedef->getUnderlyingType()->getAs<TagType>())
 3119   if (const auto *FromFPT = D->getType()->getAs<FunctionProtoType>()) {
tools/clang/lib/AST/ASTImporterLookupTable.cpp
   43       if (!Ty->isDependentType()) {
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
  453   Type::TypeClass TC = T1->getTypeClass();
  455   if (T1->getTypeClass() != T2->getTypeClass()) {
  455   if (T1->getTypeClass() != T2->getTypeClass()) {
  458     if (T1->getTypeClass() == Type::FunctionProto &&
  459         T2->getTypeClass() == Type::FunctionNoProto)
  461     else if (T1->getTypeClass() == Type::FunctionNoProto &&
  462              T2->getTypeClass() == Type::FunctionProto)
  953     RecordDecl *D1 = Field1->getType()->castAs<RecordType>()->getDecl();
  954     RecordDecl *D2 = Field2->getType()->castAs<RecordType>()->getDecl();
tools/clang/lib/AST/CXXInheritance.cpp
  158       const RecordType *Ty = I.getType()->getAs<RecordType>();
  212     if (!LookupInDependent && BaseType->isDependentType())
  226         DetectedVirtual = BaseType->getAs<RecordType>();
  284             BaseSpec.getType()->getAs<TemplateSpecializationType>();
  286           if (auto *RT = BaseSpec.getType()->getAs<RecordType>())
  304             BaseSpec.getType()->castAs<RecordType>()->getDecl());
  369       if (const RecordType *Record = PE.Base->getType()->getAs<RecordType>())
  381                 HidingP.back().Base->getType()->getAs<RecordType>())
  401   return Specifier->getType()->castAs<RecordType>()->getDecl()
  411          Specifier->getType()->castAs<RecordType>()->getDecl()
  419     Specifier->getType()->castAs<RecordType>()->getDecl();
  449       Specifier->getType()->castAs<RecordType>()->getDecl();
  457       Specifier->getType()->getAs<TemplateSpecializationType>();
  459     auto *RT = Specifier->getType()->getAs<RecordType>();
  478       Specifier->getType()->castAs<RecordType>()->getDecl();
  493       Specifier->getType()->castAs<RecordType>()->getDecl();
  509     Specifier->getType()->castAs<RecordType>()->getDecl();
  610     if (const RecordType *RT = Base.getType()->getAs<RecordType>()) {
  777     assert(!I.getType()->isDependentType() &&
  781       cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
  799     assert(!I.getType()->isDependentType() &&
  803       cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
tools/clang/lib/AST/CommentSema.cpp
  593     if (ThisDeclInfo->ReturnType->isVoidType()) {
  830     if (Type->isFunctionPointerType() || Type->isBlockPointerType())
  830     if (Type->isFunctionPointerType() || Type->isBlockPointerType())
  831       Type = Type->getPointeeType();
  832     if (const auto *FT = Type->getAs<FunctionProtoType>())
  851       return QT->isFunctionPointerType();
  876   if (QT->getAs<TypedefType>())
  878   if (const auto *P = QT->getAs<PointerType>())
  879     if (P->getPointeeType()->getAs<TypedefType>())
  881   if (const auto *P = QT->getAs<BlockPointerType>())
  882     if (P->getPointeeType()->getAs<TypedefType>())
  884   return QT->isFunctionPointerType() || QT->isBlockPointerType();
  884   return QT->isFunctionPointerType() || QT->isBlockPointerType();
tools/clang/lib/AST/ComparisonCategories.cpp
   29   auto *Record = VD->getType()->getAsCXXRecordDecl();
   31       !Record->field_begin()->getType()->isIntegralOrEnumerationType())
  107   auto *RD = Ty->getAsCXXRecordDecl();
tools/clang/lib/AST/Decl.cpp
  264         if (!NTTP->getType()->isDependentType()) {
  273         if (!type->isDependentType())
  829       if (!isExternallyVisible(TypeAsWritten->getLinkage()))
  972     if (!isExternallyVisible(TypeAsWritten->getLinkage()))
 1203       VD && VD->getType()->getContainedDeducedType()
 1630         FT = dyn_cast<FunctionProtoType>(FD->getType()->castAs<FunctionType>());
 2289   if (Lang.CPlusPlus11 && getType()->isReferenceType())
 2300   if (getType()->isIntegralOrEnumerationType())
 2314   if (!Init || Init->isValueDependent() || getType()->isDependentType())
 2774   assert(T.isNull() || T->isFunctionType());
 2808   if (const auto *FT = getType()->getAs<FunctionProtoType>())
 2923   const auto *proto = getType()->castAs<FunctionProtoType>();
 2952   const auto *FPT = getType()->castAs<FunctionProtoType>();
 2982   if (Ctx.getLangOpts().AlignedAllocation && !Ty.isNull() && Ty->isAlignValT()) {
 2990   if (!IsSizedDelete && !Ty.isNull() && Ty->isReferenceType()) {
 2991     Ty = Ty->getPointeeType();
 2994     if (Ty->isNothrowT())
 3010   auto *RD = getParamDecl(1)->getType()->getAsCXXRecordDecl();
 3058   if (auto *FnTy = getType()->getAs<FunctionType>())
 3187   const auto *FPT = getType()->getAs<FunctionProtoType>();
 3946   if (const auto *Record = getType()->getAs<RecordType>())
 3973   const auto *RT = getType()->getAs<RecordType>();
 4443     if (const auto *RT = I->getType()->getAs<RecordType>())
 4731   if (auto *TT = getTypeSourceInfo()->getType()->getAs<TagType>()) {
 4747     if (auto *TT = getUnderlyingType()->getAs<TagType>()) {
tools/clang/lib/AST/DeclBase.cpp
  961   if (Ty->isFunctionPointerType())
  962     Ty = Ty->castAs<PointerType>()->getPointeeType();
  963   else if (Ty->isFunctionReferenceType())
  964     Ty = Ty->castAs<ReferenceType>()->getPointeeType();
  965   else if (BlocksToo && Ty->isBlockPointerType())
  966     Ty = Ty->castAs<BlockPointerType>()->getPointeeType();
  968   return Ty->getAs<FunctionType>();
tools/clang/lib/AST/DeclCXX.cpp
  175       if (const CXXRecordDecl *B = BaseSpec.getType()->getAsCXXRecordDecl()) {
  219     if (BaseType->isDependentType())
  222         cast<CXXRecordDecl>(BaseType->castAs<RecordType>()->getDecl());
  279     if (!hasNonLiteralTypeFieldsOrBases() && !BaseType->isLiteralType(C))
  293         if (CXXRecordDecl *VBaseDecl = VBase.getType()->getAsCXXRecordDecl())
  470     if (!Type->isDependentType())
  471       addedClassSubobject(Type->getAsCXXRecordDecl());
  640       if (auto *RD = T->getAsCXXRecordDecl())
  821           Method->getParamDecl(0)->getType()->getAs<ReferenceType>();
  993     if (T->isObjCRetainableType() || T.isObjCGCStrong()) {
 1034     if (T->isReferenceType()) {
 1047       if (T->isRValueReferenceType())
 1052       if (CXXRecordDecl *FieldType = T->getAsCXXRecordDecl()) {
 1061     if (!T->isLiteralType(Context) || T.isVolatileQualified())
 1066          Field->getType()->getAsCXXRecordDecl()->hasInClassInitializer())) {
 1091     if (T->isReferenceType())
 1098     if (const auto *RecordTy = T->getAs<RecordType>()) {
 1282       if (!T->isLiteralType(Context) ||
 1562     const RecordType *RT = I.getType()->getAs<RecordType>();
 1604     const RecordType *RT = I.getType()->getAs<RecordType>();
 1786     if (const CXXRecordDecl *RD = Base.getType()->getAsCXXRecordDecl())
 1793             Field->getType()->getBaseElementTypeUnsafe()->getAsCXXRecordDecl())
 1855   const auto *Base = BaseSpec.getType()->getAsCXXRecordDecl();
 1913         cast<CXXRecordDecl>(B.getType()->castAs<RecordType>()->getDecl());
 2027     const RecordType *RT = I.getType()->getAs<RecordType>();
 2078   if (Base->isRValue() && Base->getType()->isRecordType())
 2112       if (VD->getType()->isRecordType())
 2124     return VD->getType()->isRecordType() ? DevirtualizedMethod : nullptr;
 2131       auto *MPT = BO->getRHS()->getType()->castAs<MemberPointerType>();
 2132       if (MPT->getPointeeType()->isRecordType())
 2187       getParamDecl(UsualParams)->getType()->isAlignValT())
 2230   if (const auto *Ref = ParamType->getAs<LValueReferenceType>())
 2252   ParamType = ParamType->getPointeeType();
 2318   return CXXMethodDecl::getThisType(getType()->getAs<FunctionProtoType>(),
 2326   return CXXMethodDecl::getThisObjectType(getType()->getAs<FunctionProtoType>(),
 2509          getParamDecl(0)->getType()->isLValueReferenceType();
 2514     getParamDecl(0)->getType()->isRValueReferenceType();
 2538   const auto *ParamRefType = Param->getType()->getAs<ReferenceType>();
 2570           getType()->castAs<FunctionProtoType>()->isVariadic()) ||
 2652          getConversionType()->isBlockPointerType();
tools/clang/lib/AST/DeclObjC.cpp
 1013     if (!isInstanceMethod() || !getReturnType()->isObjCObjectPointerType())
 1023     if (!getReturnType()->isObjCObjectPointerType())
 1040     if (isInstanceMethod() || !getReturnType()->isVoidType())
 1045     if (!isInstanceMethod() || !getReturnType()->isObjCIdType())
 1054         if (!ArgT->isObjCSelType()) {
 1061           if (!ArgT->isObjCIdType()) {
tools/clang/lib/AST/DeclPrinter.cpp
  146   while (!BaseType->isSpecifierType()) {
  147     if (const PointerType *PTy = BaseType->getAs<PointerType>())
  149     else if (const BlockPointerType *BPy = BaseType->getAs<BlockPointerType>())
  153     else if (const FunctionType* FTy = BaseType->getAs<FunctionType>())
  155     else if (const VectorType *VTy = BaseType->getAs<VectorType>())
  157     else if (const ReferenceType *RTy = BaseType->getAs<ReferenceType>())
  159     else if (const AutoType *ATy = BaseType->getAs<AutoType>())
  161     else if (const ParenType *PTy = BaseType->getAs<ParenType>())
  274   if (auto *PET = T->getAs<PackExpansionType>()) {
  651   if (const FunctionType *AFT = Ty->getAs<FunctionType>()) {
 1095         if (auto T = A.getAsType()->getAs<TemplateTypeParmType>()) {
tools/clang/lib/AST/DeclTemplate.cpp
   60         if (NTTP->getType()->containsUnexpandedParameterPack())
tools/clang/lib/AST/DeclarationName.cpp
  124   if (const RecordType *ClassRec = ClassType->getAs<RecordType>()) {
  129     if (auto *InjTy = ClassType->getAs<InjectedClassNameType>()) {
  181     if (const RecordType *Rec = Type->getAs<RecordType>()) {
  211   if (!T.isNull() && T->isDependentType())
  417       return TInfo->getType()->containsUnexpandedParameterPack();
  419     return Name.getCXXNameType()->containsUnexpandedParameterPack();
  440       return TInfo->getType()->isInstantiationDependentType();
  442     return Name.getCXXNameType()->isInstantiationDependentType();
tools/clang/lib/AST/Expr.cpp
   65   if (const PointerType *PTy = DerivedType->getAs<PointerType>())
   68   if (DerivedType->isDependentType())
   71   const RecordType *Ty = DerivedType->castAs<RecordType>();
   86           E->getType()->isRecordType()) {
   89             cast<CXXRecordDecl>(E->getType()->castAs<RecordType>()->getDecl());
  100         assert(ME->getBase()->getType()->isRecordType());
  102           if (!Field->isBitField() && !Field->getType()->isReferenceType()) {
  114           BO->getRHS()->getType()->getAs<MemberPointerType>();
  138   if (E->getType()->isBooleanType()) return true;
  140   if (!E->getType()->isIntegralOrEnumerationType()) return false;
  386   if (T->isDependentType()) {
  391   } else if (T->isInstantiationDependentType()) {
  399     if (T->isDependentType()) {
  406     if (T->isInstantiationDependentType())
  426            Var->getType()->isLiteralType(Ctx) :
  427            Var->getType()->isIntegralOrEnumerationType()) &&
  429          Var->getType()->isReferenceType())) {
  445       if (TInfo->getType()->isIncompleteArrayType())
  612            FNTy->isDependentType(), FNTy->isDependentType(),
  612            FNTy->isDependentType(), FNTy->isDependentType(),
  613            FNTy->isInstantiationDependentType(),
  735     const FunctionType *AFT = Decl->getType()->getAs<FunctionType>();
  846     else if (FT && FT->getReturnType()->getAs<DecltypeType>())
  848           ->getAs<DecltypeType>()
  918   assert(type->isIntegerType() && "Illegal type in IntegerLiteral");
  941   assert(type->isFixedPointType() && "Illegal type in FixedPointLiteral");
 1499   if (const auto *FnTypePtr = CalleeType->getAs<PointerType>()) {
 1501   } else if (const auto *BPT = CalleeType->getAs<BlockPointerType>()) {
 1503   } else if (CalleeType->isSpecificPlaceholderType(BuiltinType::BoundMember)) {
 1511   const FunctionType *FnType = CalleeType->castAs<FunctionType>();
 1518   if (const TagDecl *TD = getCallReturnType(Ctx)->getAsTagDecl())
 1573          /*ValueDependent=*/tsi->getType()->isDependentType(),
 1574          tsi->getType()->isInstantiationDependentType(),
 1575          tsi->getType()->containsUnexpandedParameterPack()),
 1768     assert(getType()->isObjCObjectPointerType());
 1769     assert(getSubExpr()->getType()->isPointerType());
 1773     assert(getType()->isObjCObjectPointerType());
 1774     assert(getSubExpr()->getType()->isBlockPointerType());
 1778     assert(getType()->isMemberPointerType());
 1779     assert(getSubExpr()->getType()->isMemberPointerType());
 1786     if (!getType()->isPointerType()) {
 1787       assert(getType()->isObjCObjectPointerType() ==
 1788              getSubExpr()->getType()->isObjCObjectPointerType());
 1789       assert(getType()->isBlockPointerType() ==
 1790              getSubExpr()->getType()->isBlockPointerType());
 1795     assert(getType()->isBlockPointerType());
 1796     assert(getSubExpr()->getType()->isAnyPointerType() &&
 1797            !getSubExpr()->getType()->isBlockPointerType());
 1801     assert(getType()->isBlockPointerType());
 1802     assert(getSubExpr()->getType()->isBlockPointerType());
 1806     assert(getType()->isPointerType());
 1807     assert(getSubExpr()->getType()->isFunctionType());
 1814     if (/*isRValue()*/ !Ty->getPointeeType().isNull()) {
 1815       Ty = Ty->getPointeeType();
 1816       SETy = SETy->getPointeeType();
 1856     assert(!getType()->isBooleanType() && "unheralded conversion to bool");
 1963   auto RD = unionType->castAs<RecordType>()->getDecl();
 1990           !(T->isNullPtrType() || T->getAsCXXRecordDecl())) &&
 1990           !(T->isNullPtrType() || T->getAsCXXRecordDecl())) &&
 2110   if (LHS->getType()->isPointerType()) {
 2111     if (!RHS->getType()->isIntegerType())
 2114   } else if (RHS->getType()->isPointerType()) {
 2115     if (!LHS->getType()->isIntegerType())
 2128   const PointerType *PTy = PExp->getType()->getAs<PointerType>();
 2129   if (!PTy || !PTy->getPointeeType()->isCharType())
 2141     return Ctx.getPointerType(ArrTy->getAsArrayTypeUnsafe()->getElementType());
 2275   const ArrayType *AT = getType()->getAsArrayTypeUnsafe();
 2276   if (!AT || !AT->getElementType()->isIntegerType())
 2302   if (!getInit(0)->isRValue() && getType()->isRecordType())
 2361            ->getPointeeType()->castAs<FunctionProtoType>();
 2393     if (getType()->isVoidType())
 2526       if (Op->getCallReturnType(Ctx)->isReferenceType() ||
 2527           Op->getCallReturnType(Ctx)->isVoidType())
 2571     if (const CXXRecordDecl *Type = getType()->getAsCXXRecordDecl()) {
 2604         !ME->getType()->isVoidType() &&
 2657     if (getType()->isVoidType())
 2762       return T->isPointerType() &&
 2796     QualType type = op->getRHS()->getType()->castAs<MemberPointerType>()
 2798     assert(type->isFunctionType());
 2916         (E->getType()->isPointerType() || E->getType()->isIntegralType(Ctx)) &&
 2916         (E->getType()->isPointerType() || E->getType()->isIntegralType(Ctx)) &&
 2917         (SubExpr->getType()->isPointerType() ||
 2918          SubExpr->getType()->isIntegralType(Ctx)) &&
 3197     if (ILE->getType()->isArrayType()) {
 3206     if (ILE->getType()->isRecordType()) {
 3208       RecordDecl *RD = ILE->getType()->castAs<RecordType>()->getDecl();
 3229             bool RefType = Field->getType()->isReferenceType();
 3526     if (DCE->getTypeAsWritten()->isReferenceType() &&
 3692       if (isTypeDependent() || getType()->isIntegralType(Ctx))
 3706       if (const PointerType *PT = CE->getType()->getAs<PointerType>()) {
 3720         if (Pointee->isVoidType() && Qs.empty() && // to void*
 3721             CE->getSubExpr()->getType()->isIntegerType()) // from int
 3761   if (getType()->isNullPtrType())
 3764   if (const RecordType *UT = getType()->getAsUnionType())
 3773   if (!getType()->isIntegerType() ||
 3774       (Ctx.getLangOpts().CPlusPlus && getType()->isEnumeralType()))
 3901     return ASE->getBase()->getType()->isVectorType();
 4035   return getBase()->getType()->isPointerType();
 4039   if (const VectorType *VT = getType()->getAs<VectorType>())
 4102           Type->isDependentType(), Type->isDependentType(),
 4102           Type->isDependentType(), Type->isDependentType(),
 4103           Type->isInstantiationDependentType(),
 4104           Type->containsUnexpandedParameterPack()),
 4643   auto T = getPtr()->getType()->castAs<PointerType>()->getPointeeType();
 4644   if (auto AT = T->getAs<AtomicType>())
 4667     if (OriginalTy->isAnyPointerType())
 4668       OriginalTy = OriginalTy->getPointeeType();
 4670       assert (OriginalTy->isArrayType());
 4671       OriginalTy = OriginalTy->castAsArrayTypeUnsafe()->getElementType();
tools/clang/lib/AST/ExprCXX.cpp
  139   if (const CXXRecordDecl *RD = E->getType()->getAsCXXRecordDecl())
  175     : Expr(CXXNewExprClass, Ty, VK_RValue, OK_Ordinary, Ty->isDependentType(),
  176            Ty->isDependentType(), Ty->isInstantiationDependentType(),
  176            Ty->isDependentType(), Ty->isInstantiationDependentType(),
  177            Ty->containsUnexpandedParameterPack()),
  294              ->castAs<FunctionProtoType>()
  321   if (ArgType->isDependentType() && !ArgType->isPointerType())
  321   if (ArgType->isDependentType() && !ArgType->isPointerType())
  324   return ArgType->castAs<PointerType>()->getPointeeType();
  343             DestroyedType.getTypeSourceInfo()->getType()->isDependentType())),
  349            ScopeType->getType()->isInstantiationDependentType()) ||
  352                                              ->isInstantiationDependentType())),
  359            ScopeType->getType()->containsUnexpandedParameterPack()) ||
  362                                    ->containsUnexpandedParameterPack()))),
  732   if (Ty->isPointerType())
  733     Ty = Ty->getPointeeType();
  750   if (ThisArg->getType()->isAnyPointerType())
  751     return ThisArg->getType()->getPointeeType()->getAsCXXRecordDecl();
  751     return ThisArg->getType()->getPointeeType()->getAsCXXRecordDecl();
  753   return ThisArg->getType()->getAsCXXRecordDecl();
  836   if (const auto *SrcPTy = SrcType->getAs<PointerType>()) {
  838     DestType = DestType->castAs<PointerType>()->getPointeeType();
  841   if (DestType->isVoidType())
  845       cast<CXXRecordDecl>(SrcType->castAs<RecordType>()->getDecl());
  851       cast<CXXRecordDecl>(DestType->castAs<RecordType>()->getDecl());
  968   if (ParamTy->isPointerType())
  970   if (ParamTy->isAnyCharacterType())
  972   if (ParamTy->isIntegerType())
  974   if (ParamTy->isFloatingType())
  996            Ty->isLValueReferenceType() ? VK_LValue : Ty->isRValueReferenceType()
  996            Ty->isLValueReferenceType() ? VK_LValue : Ty->isRValueReferenceType()
 1013   assert((SubExpr->getType()->isRecordType() ||
 1014           SubExpr->getType()->isArrayType()) &&
 1100     : Expr(SC, Ty, VK_RValue, OK_Ordinary, Ty->isDependentType(),
 1101            Ty->isDependentType(), Ty->isInstantiationDependentType(),
 1101            Ty->isDependentType(), Ty->isInstantiationDependentType(),
 1102            Ty->containsUnexpandedParameterPack()),
 1178     : Expr(LambdaExprClass, T, VK_RValue, OK_Ordinary, T->isDependentType(),
 1179            T->isDependentType(), T->isDependentType(),
 1179            T->isDependentType(), T->isDependentType(),
 1283   return getType()->getAsCXXRecordDecl();
 1359            (TSI->getType()->isLValueReferenceType()
 1361                 : TSI->getType()->isRValueReferenceType() ? VK_XValue
 1364            TSI->getType()->isDependentType() ||
 1365                TSI->getType()->getContainedDeducedType(),
 1366            true, true, TSI->getType()->containsUnexpandedParameterPack()),
 1508           ((Base && Base->isTypeDependent()) || BaseType->isDependentType()),
 1510            BaseType->isInstantiationDependentType()),
 1513            BaseType->containsUnexpandedParameterPack())),
 1586       BaseType = BaseType->castAs<PointerType>()->getPointeeType();
 1588     Record = BaseType->getAsCXXRecordDecl();
 1692     if (Args[I]->getType()->isDependentType())
 1694     if (Args[I]->getType()->isInstantiationDependentType())
 1696     if (Args[I]->getType()->containsUnexpandedParameterPack())
tools/clang/lib/AST/ExprClassification.cpp
   38   assert(!TR->isReferenceType() && "Expressions can't have reference type.");
   45     if (TR->isFunctionType() || TR == Ctx.OverloadTy)
   50     else if (TR->isVoidType() && !TR.hasQualifiers())
   78   if (T->isRecordType())
   80   if (T->isArrayType())
  211     if (cast<ArraySubscriptExpr>(E)->getBase()->getType()->isVectorType())
  217       if (Base->getType()->isArrayType())
  449     islvalue = NTTParm->getType()->isReferenceType();
  472   if (T->isLValueReferenceType())
  474   const auto *RV = T->getAs<RValueReferenceType>();
  478   return RV->getPointeeType()->isFunctionType() ? Cl::CL_LValue : Cl::CL_XValue;
  505     if (Value->getType()->isReferenceType())
  556     return (E->getType()->isFunctionType() ||
  564     return (E->getType()->isFunctionType() ||
  581   if (True->getType()->isVoidType() || False->getType()->isVoidType()) {
  581   if (True->getType()->isVoidType() || False->getType()->isVoidType()) {
  624   if (Ctx.getLangOpts().CPlusPlus && E->getType()->isFunctionType())
tools/clang/lib/AST/ExprConstant.cpp
   90         if (!T->isIncompleteArrayType())
  157     if (!E->getType()->isPointerType())
  179     return E && E->getType()->isPointerType() && tryUnwrapAllocSizeCall(E);
  205       if (Type->isArrayType()) {
  218       } else if (Type->isAnyComplexType()) {
  219         const ComplexType *CT = Type->castAs<ComplexType>();
 1519       Designator = SubobjectDesignator(PointerTy->getPointeeType());
 1582         assert(getType(Base)->isPointerType() || getType(Base)->isArrayType());
 1582         assert(getType(Base)->isPointerType() || getType(Base)->isArrayType());
 1936     if (Ty->isArrayType())
 1937       return Ty->isIncompleteType() ||
 2004   bool IsReferenceType = Type->isReferenceType();
 2126   if (!E->isRValue() || E->getType()->isLiteralType(Info.Ctx))
 2170   if (const AtomicType *AT = Type->getAs<AtomicType>())
 2177     QualType EltTy = Type->castAsArrayTypeUnsafe()->getElementType();
 2197     RecordDecl *RD = Type->castAs<RecordType>()->getDecl();
 2347   bool DestSigned = DestType->isSignedIntegerOrEnumerationType();
 2374   Result.setIsUnsigned(DestType->isUnsignedIntegerOrEnumerationType());
 2375   if (DestType->isBooleanType())
 2426     QualType EltTy = VecTy->castAs<VectorType>()->getElementType();
 2670   const CXXRecordDecl *BaseDecl = Base->getType()->getAsCXXRecordDecl();
 2680   DerivedDecl = D.MostDerivedType->getAsCXXRecordDecl();
 2697     if (!HandleLValueBase(Info, E, Result, Type->getAsCXXRecordDecl(),
 2751   if (Type->isVoidType() || Type->isFunctionType()) {
 2751   if (Type->isVoidType() || Type->isFunctionType()) {
 2756   if (Type->isDependentType()) {
 2761   if (!Type->isConstantSizeType()) {
 2921     if (I->getType()->getAsCXXRecordDecl()->getCanonicalDecl() == Base)
 2949   assert(CharType->isIntegerType() && "unexpected character type");
 2952                CharType->isUnsignedIntegerType());
 2969   assert(CharType->isIntegerType() && "unexpected character type");
 2975                CharType->isUnsignedIntegerType());
 3011   CXXRecordDecl *RD = T->getBaseElementTypeUnsafe()->getAsCXXRecordDecl();
 3032   CXXRecordDecl *RD = T->getBaseElementTypeUnsafe()->getAsCXXRecordDecl();
 3103           BaseD->getType()->isReferenceType()) ||
 3195         ObjType->isRecordType() &&
 3206     if (I == N || (I == N - 1 && ObjType->isAnyComplexType())) {
 3239       if (ObjType->isRecordType() &&
 3259     if (ObjType->isArrayType()) {
 3284     } else if (ObjType->isAnyComplexType()) {
 3297           ObjType, ObjType->castAs<ComplexType>()->getElementType());
 3318       RecordDecl *RD = ObjType->castAs<RecordType>()->getDecl();
 3346       const CXXRecordDecl *Derived = ObjType->getAsCXXRecordDecl();
 3457         (ObjType->isArrayType() || ObjType->isAnyComplexType())) {
 3457         (ObjType->isArrayType() || ObjType->isAnyComplexType())) {
 3463       if (ObjType->isAnyComplexType())
 3464         ObjType = ObjType->castAs<ComplexType>()->getElementType();
 3466         ObjType = ObjType->castAsArrayTypeUnsafe()->getElementType();
 3584       } else if (BaseType->isIntegralOrEnumerationType()) {
 3602       } else if (BaseType->isFloatingType() && BaseType.isConstQualified()) {
 3670               BaseType->isIntegralOrEnumerationType()) &&
 3842     if (!SubobjType->isIntegerType()) {
 3880     if (const PointerType *PT = SubobjType->getAs<PointerType>())
 3958                    SubobjType->castAs<ComplexType>()->getElementType()
 3962                    SubobjType->castAs<ComplexType>()->getElementType()
 3976     if (!SubobjType->isIntegerType()) {
 3987     if (SubobjType->isBooleanType()) {
 4033     if (const PointerType *PT = SubobjType->getAs<PointerType>())
 4071   if (Object->getType()->isPointerType() && Object->isRValue())
 4077   if (Object->getType()->isLiteralType(Info.Ctx))
 4143     if (const PointerType *PT = LVType->getAs<PointerType>())
 4145     const CXXRecordDecl *RD = LVType->getAsCXXRecordDecl();
 4204   if (const PointerType *PT = TargetQT->getAs<PointerType>())
 4217   const CXXRecordDecl *TargetType = TargetQT->getAsCXXRecordDecl();
 4220     FinalType = D.MostDerivedType->getAsCXXRecordDecl();
 4235   if (auto *RD = T->getAsCXXRecordDecl()) {
 4257           dyn_cast_or_null<ConstantArrayType>(T->getAsArrayTypeUnsafe())) {
 5021              ? Designator.MostDerivedType->getAsCXXRecordDecl()
 5041       This.Designator.MostDerivedType->getAsCXXRecordDecl();
 5156   const CXXRecordDecl *OldClass = Path[0]->getPointeeCXXRecordDecl();
 5158     const CXXRecordDecl *NewClass = Path[I]->getPointeeCXXRecordDecl();
 5175     auto *BaseClass = BaseSpec.getType()->getAsCXXRecordDecl();
 5209   if (E->getType()->isVoidPointerType())
 5212   const CXXRecordDecl *C = E->getTypeAsWritten()->getPointeeCXXRecordDecl();
 5297     assert(SubobjType->isUnionType());
 5333       if (!FD || FD->getType()->isReferenceType())
 5342             FD->getType()->getBaseElementTypeUnsafe()->getAsCXXRecordDecl();
 5358       if (!Base->getType()->isArrayType())
 5376         assert(declaresSameEntity(Elt->getType()->getAsCXXRecordDecl(),
 5422     if (hasFields(Base.getType()->getAsCXXRecordDecl()))
 5527     if (Callee->getReturnType()->isVoidType())
 5643                                   BaseType->getAsCXXRecordDecl(), &Layout))
 5752   if (Value.isAbsent() && !T->isNullPtrType()) {
 5792   const CXXRecordDecl *RD = T->getAsCXXRecordDecl();
 5896                                 BaseType->getAsCXXRecordDecl(), &Layout))
 5975   if (ElemType->isIncompleteType() || ElemType->isFunctionType()) {
 5975   if (ElemType->isIncompleteType() || ElemType->isFunctionType()) {
 5978         << (ElemType->isIncompleteType() ? 0 : 1) << ElemType;
 5988     IsNothrow |= E->getType()->isNothrowT();
 6023   if (CXXRecordDecl *RD = T->getAsCXXRecordDecl())
 6030   if (CXXRecordDecl *RD = T->getAsCXXRecordDecl())
 6195     if (Ty->isNullPtrType())
 6235     const RecordDecl *RD = Ty->getAsRecordDecl();
 6242         CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl();
 6276         dyn_cast_or_null<ConstantArrayType>(Ty->getAsArrayTypeUnsafe());
 6407         CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl();
 6453         RepresentationType.getCanonicalType()->castAs<BuiltinType>();
 6482     switch (Can->getTypeClass()) {
 6530   if (Ty->isUnionType())
 6532   if (Ty->isPointerType())
 6534   if (Ty->isMemberPointerType())
 6539   if (RecordDecl *Record = Ty->getAsRecordDecl()) {
 6547       if (FD->getType()->isReferenceType())
 6555   if (Ty->isArrayType() &&
 6852     if (CalleeType->isSpecificBuiltinType(BuiltinType::BoundMember)) {
 6883     } else if (CalleeType->isFunctionPointerType()) {
 6897         CalleeType->getPointeeType(), FD->getType())) {
 7038     assert(!FD->getType()->isReferenceType() && "prvalue reference?");
 7039     assert(BaseTy->castAs<RecordType>()->getDecl()->getCanonicalDecl() ==
 7213       BaseTy = E->getBase()->getType()->castAs<PointerType>()->getPointeeType();
 7215       assert(E->getBase()->getType()->isRecordType());
 7231       assert(BaseTy->castAs<RecordType>()->getDecl()->getCanonicalDecl() ==
 7242     if (MD->getType()->isReferenceType()) {
 7378   assert(E->isGLValue() || E->getType()->isFunctionType() ||
 7379          E->getType()->isVoidType() || isa<ObjCSelectorExpr>(E));
 7419       if (FD->getType()->isReferenceType()) {
 7443   if (!VD->getType()->isReferenceType()) {
 7592   if (E->getBase()->getType()->isVectorType())
 7618   if (E->getSubExpr()->getType()->isAnyComplexType())
 7624   assert(E->getSubExpr()->getType()->isAnyComplexType() &&
 7788   QualType Pointee = E->getType()->castAs<PointerType>()->getPointeeType();
 7873               ->isPointerType()) {
 7901   assert(E->isRValue() && E->getType()->hasPointerRepresentation());
 7912   if (IExp->getType()->isPointerType())
 7926   QualType Pointee = PExp->getType()->castAs<PointerType>()->getPointeeType();
 7950     if (!E->getType()->isVoidPointerType()) {
 7954                                           E->getType()->getPointeeType()) &&
 7961         if (SubExpr->getType()->isVoidPointerType())
 7981     return HandleLValueBasePath(Info, E, E->getSubExpr()->getType()->
 8069   if (const ReferenceType *Ref = T->getAs<ReferenceType>())
 8121   QualType PointeeTy = E->getType()->castAs<PointerType>()->getPointeeType();
 8249                CharTy, E->getArg(0)->getType()->getPointeeType()));
 8251     if (IsRawByte && CharTy->isIncompleteType()) {
 8377     if (T->isIncompleteType()) {
 8503         !E->getPlacementArg(0)->getType()->isNothrowT())
 8585     assert(!AllocType->isArrayType() &&
 8653   if (auto *AT = AllocType->getAsArrayTypeUnsafe())
 8691   assert(E->isRValue() && E->getType()->isMemberPointerType());
 8716       const CXXRecordDecl *Derived = (*PathI)->getType()->getAsCXXRecordDecl();
 8720     const Type *FinalTy = E->getType()->castAs<MemberPointerType>()->getClass();
 8732       const CXXRecordDecl *Base = (*PathI)->getType()->getAsCXXRecordDecl();
 8807       const CXXRecordDecl *Base = I->getType()->getAsCXXRecordDecl();
 8819     if (I->getType()->isReferenceType())
 8836   const RecordDecl *RD = T->castAs<RecordType>()->getDecl();
 8881     const CXXRecordDecl *RD = E->getSubExpr()->getType()->getAsCXXRecordDecl();
 8885       const CXXRecordDecl *Base = (*PathI)->getType()->getAsCXXRecordDecl();
 8899   const RecordDecl *RD = E->getType()->castAs<RecordType>()->getDecl();
 9077   RecordDecl *Record = E->getType()->castAs<RecordType>()->getDecl();
 9083   if (!Field->getType()->isPointerType() ||
 9084       !Info.Ctx.hasSameType(Field->getType()->getPointeeType(),
 9095   if (Field->getType()->isPointerType() &&
 9096       Info.Ctx.hasSameType(Field->getType()->getPointeeType(),
 9158   assert(E->isRValue() && E->getType()->isRecordType() &&
 9213   assert(E->isRValue() && E->getType()->isRecordType());
 9231       assert(V.size() == E->getType()->castAs<VectorType>()->getNumElements());
 9255   assert(E->isRValue() && E->getType()->isVectorType() &&"not a vector rvalue");
 9260   const VectorType *VTy = E->getType()->castAs<VectorType>();
 9269     if (SETy->isIntegerType()) {
 9274     } else if (SETy->isRealFloatingType()) {
 9297     if (EltTy->isRealFloatingType()) {
 9310     } else if (EltTy->isIntegerType()) {
 9317         Elts.push_back(APValue(APSInt(Elt, EltTy->isSignedIntegerType())));
 9331   const VectorType *VT = E->getType()->castAs<VectorType>();
 9346         && E->getInit(CountInits)->getType()->isVectorType()) {
 9354     } else if (EltTy->isIntegerType()) {
 9380   const auto *VT = E->getType()->castAs<VectorType>();
 9383   if (EltTy->isIntegerType())
 9455   assert(E->isRValue() && E->getType()->isArrayType() && "not an array rvalue");
 9462   assert(ILE->isRValue() && ILE->getType()->isArrayType() &&
 9568   auto *CAT = cast<ConstantArrayType>(E->getType()->castAsArrayTypeUnsafe());
 9628   if (!Type->isRecordType())
 9652     assert(E->getType()->isIntegralOrEnumerationType() &&
 9654     assert(SI.isSigned() == E->getType()->isSignedIntegerOrEnumerationType() &&
 9666     assert(E->getType()->isIntegralOrEnumerationType() &&
 9672                             E->getType()->isUnsignedIntegerOrEnumerationType());
 9680     assert(E->getType()->isIntegralOrEnumerationType() &&
 9809     assert(E->getType()->isFixedPointType() && "Invalid evaluation result.");
 9840   assert(E->isRValue() && E->getType()->isIntegralOrEnumerationType());
 9866   if (E->getType()->isFixedPointType()) {
 9881   if (E->getType()->isIntegerType()) {
 9888   } else if (E->getType()->isFixedPointType()) {
 9902                      == E->getType()->isSignedIntegerOrEnumerationType());
 9955   assert(!T->isDependentType() && "unexpected dependent type");
 9960   switch (CanTy->getTypeClass()) {
10051     return CanTy->isMemberDataPointerType()
10059     return CanTy->isUnionType() ? GCCTypeClass::Union
10065         CanTy->castAs<AtomicType>()->getValueType(), LangOpts);
10153   if (ArgType->isIntegralOrEnumerationType() || ArgType->isFloatingType() ||
10153   if (ArgType->isIntegralOrEnumerationType() || ArgType->isFloatingType() ||
10154       ArgType->isAnyComplexType() || ArgType->isPointerType() ||
10154       ArgType->isAnyComplexType() || ArgType->isPointerType() ||
10155       ArgType->isNullPtrType()) {
10199   assert(E->isRValue() && E->getType()->hasPointerRepresentation());
10214   if (!SubExpr->getType()->hasPointerRepresentation() || !SubExpr->isRValue())
10267     if (BaseType->isIncompleteArrayType())
10270       BaseType = BaseType->castAs<PointerType>()->getPointeeType();
10275     if (BaseType->isArrayType()) {
10285     } else if (BaseType->isAnyComplexType()) {
10286       const auto *CT = BaseType->castAs<ComplexType>();
10368     if (Ty.isNull() || Ty->isIncompleteType() || Ty->isFunctionType())
10368     if (Ty.isNull() || Ty->isIncompleteType() || Ty->isFunctionType())
10711     QualType CharTy = E->getArg(0)->getType()->getPointeeType();
10806                 CharTy1, E->getArg(0)->getType()->getPointeeType()) &&
10822       if (CharTy1->isIncompleteType()) {
10826       if (CharTy2->isIncompleteType()) {
10934         QualType PointeeType = E->getArg(1)->IgnoreImpCasts()->getType()->
10936         if (!PointeeType->isIncompleteType() &&
10974     QualType ResultType = E->getArg(2)->getType()->getPointeeType();
10988                       ResultType->isSignedIntegerOrEnumerationType();
10990                       ResultType->isSignedIntegerOrEnumerationType();
11055       Temp.setIsSigned(ResultType->isSignedIntegerOrEnumerationType());
11088   if (Ty->isIncompleteType())
11150            (E->isRValue() && E->getType()->isIntegralOrEnumerationType() &&
11151             E->getLHS()->getType()->isIntegralOrEnumerationType() &&
11152             E->getRHS()->getType()->isIntegralOrEnumerationType());
11246   assert(E->getLHS()->getType()->isIntegralOrEnumerationType() &&
11247          E->getRHS()->getType()->isIntegralOrEnumerationType());
11302   assert(E->getLHS()->getType()->isIntegralOrEnumerationType() &&
11303          E->getRHS()->getType()->isIntegralOrEnumerationType());
11355                E->getType()->isUnsignedIntegerOrEnumerationType());
11435           E->getType()->isIntegralOrEnumerationType()) &&
11455   if (LHSTy->isIntegralOrEnumerationType() &&
11456       RHSTy->isIntegralOrEnumerationType()) {
11470   if (LHSTy->isFixedPointType() || RHSTy->isFixedPointType()) {
11470   if (LHSTy->isFixedPointType() || RHSTy->isFixedPointType()) {
11486   if (LHSTy->isAnyComplexType() || RHSTy->isAnyComplexType()) {
11486   if (LHSTy->isAnyComplexType() || RHSTy->isAnyComplexType()) {
11493     } else if (LHSTy->isRealFloatingType()) {
11505     if (E->getRHS()->getType()->isRealFloatingType()) {
11528   if (LHSTy->isRealFloatingType() &&
11529       RHSTy->isRealFloatingType()) {
11556   if (LHSTy->isPointerType() && RHSTy->isPointerType()) {
11556   if (LHSTy->isPointerType() && RHSTy->isPointerType()) {
11618     if (LHSTy->isVoidPointerType() && LHSOffset != RHSOffset && IsRelational)
11677       if (BaseTy->isIncompleteType())
11692   if (LHSTy->isMemberPointerType()) {
11694     assert(RHSTy->isMemberPointerType() && "invalid comparison");
11730   if (LHSTy->isNullPtrType()) {
11732     assert(RHSTy->isNullPtrType() && "missing pointer conversion");
11776   assert((!E->getLHS()->getType()->isIntegralOrEnumerationType() ||
11777           !E->getRHS()->getType()->isIntegralOrEnumerationType()) &&
11810   if (LHSTy->isPointerType() && RHSTy->isPointerType() &&
11810   if (LHSTy->isPointerType() && RHSTy->isPointerType() &&
11857     QualType ElementType = Type->castAs<PointerType>()->getPointeeType();
11914     if (Ty->isVectorType()) {
11915       unsigned n = Ty->castAs<VectorType>()->getNumElements();
11931     if (const ReferenceType *Ref = SrcTy->getAs<ReferenceType>())
11976       const RecordType *RT = CurrentType->getAs<RecordType>();
11998       const RecordType *RT = CurrentType->getAs<RecordType>();
12007       const RecordType *BaseRT = CurrentType->getAs<RecordType>();
12145         DestType->isSignedIntegerOrEnumerationType(), &Overflowed);
12231   if (E->getSubExpr()->getType()->isAnyComplexType()) {
12244   if (E->getSubExpr()->getType()->isComplexIntegerType()) {
12301   assert(DestType->isFixedPointType() &&
12404   assert(E->isRValue() && E->getType()->isRealFloatingType());
12515   if (E->getSubExpr()->getType()->isAnyComplexType()) {
12527   if (E->getSubExpr()->getType()->isAnyComplexType()) {
12636   assert(E->isRValue() && E->getType()->isAnyComplexType());
12641   QualType ElemTy = E->getType()->castAs<ComplexType>()->getElementType();
12642   if (ElemTy->isRealFloatingType()) {
12659   if (SubExpr->getType()->isRealFloatingType()) {
12668     assert(SubExpr->getType()->isIntegerType() &&
12760     QualType To = E->getType()->castAs<ComplexType>()->getElementType();
12762       = E->getSubExpr()->getType()->castAs<ComplexType>()->getElementType();
12772     QualType To = E->getType()->castAs<ComplexType>()->getElementType();
12774       = E->getSubExpr()->getType()->castAs<ComplexType>()->getElementType();
12796     QualType To = E->getType()->castAs<ComplexType>()->getElementType();
12798       = E->getSubExpr()->getType()->castAs<ComplexType>()->getElementType();
12809     QualType To = E->getType()->castAs<ComplexType>()->getElementType();
12811       = E->getSubExpr()->getType()->castAs<ComplexType>()->getElementType();
12832   if (E->getLHS()->getType()->isRealFloatingType()) {
12847   if (E->getRHS()->getType()->isRealFloatingType()) {
13081     if (E->getType()->isComplexType()) {
13120         E->getType()->castAs<AtomicType>()->getValueType());
13141   assert(E->isRValue() && E->getType()->isAtomicType());
13230       !hasVirtualDestructor(Arg->getType()->getPointeeType())) {
13232         << Arg->getType()->getPointeeType() << AllocType;
13265   assert(E->isRValue() && E->getType()->isVoidType());
13277   if (E->isGLValue() || T->isFunctionType()) {
13282   } else if (T->isVectorType()) {
13285   } else if (T->isIntegralOrEnumerationType()) {
13288   } else if (T->hasPointerRepresentation()) {
13293   } else if (T->isRealFloatingType()) {
13298   } else if (T->isAnyComplexType()) {
13303   } else if (T->isFixedPointType()) {
13305   } else if (T->isMemberPointerType()) {
13311   } else if (T->isArrayType()) {
13318   } else if (T->isRecordType()) {
13324   } else if (T->isVoidType()) {
13330   } else if (T->isAtomicType()) {
13332     if (Unqual->isArrayType() || Unqual->isRecordType()) {
13332     if (Unqual->isArrayType() || Unqual->isRecordType()) {
13366     if (T->isArrayType())
13368     else if (T->isRecordType())
13370     else if (T->isAtomicType()) {
13372       if (Unqual->isArrayType() || Unqual->isRecordType())
13372       if (Unqual->isArrayType() || Unqual->isRecordType())
13423                                 L->getType()->isUnsignedIntegerType()));
13437   if (Exp->isRValue() && (Exp->getType()->isArrayType() ||
13438                           Exp->getType()->isRecordType()) &&
13465   if (!E->getType()->isIntegralOrEnumerationType())
13480   if (!E->getType()->isFixedPointType())
13542   if (!getType()->isRealFloatingType())
13603   if (isRValue() && (getType()->isArrayType() || getType()->isRecordType()) &&
13603   if (isRValue() && (getType()->isArrayType() || getType()->isRecordType()) &&
13642       !DeclTy->isReferenceType()) {
13823   if (!E->getType()->isIntegralOrEnumerationType())
13978         if (!Dcl->getType()->isIntegralOrEnumerationType())
14029         Exp->getTypeOfArgument()->isVariableArrayType())
14133         bool DestSigned = E->getType()->isSignedIntegerOrEnumerationType();
14223   if (!E->getType()->isIntegralOrUnscopedEnumerationType()) {
14452   if (!getType()->isPointerType())
tools/clang/lib/AST/ExprObjC.cpp
  151     : Expr(ObjCMessageExprClass, T, VK, OK_Ordinary, T->isDependentType(),
  152            T->isDependentType(), T->isInstantiationDependentType(),
  152            T->isDependentType(), T->isInstantiationDependentType(),
  153            T->containsUnexpandedParameterPack()),
  361   if (const ObjCObjectPointerType *Ptr = T->getAs<ObjCObjectPointerType>())
  364   if (const ObjCObjectType *Ty = T->getAs<ObjCObjectType>())
tools/clang/lib/AST/FormatString.cpp
  327     const PointerType *PT = argTy->getAs<PointerType>();
  346       if (const EnumType *ETy = argTy->getAs<EnumType>()) {
  354       if (const BuiltinType *BT = argTy->getAs<BuiltinType>())
  369       if (const EnumType *ETy = argTy->getAs<EnumType>()) {
  382       if (const BuiltinType *BT = argTy->getAs<BuiltinType>())
  416       const PointerType *PT = argTy->getAs<PointerType>();
  420       if (const BuiltinType *BT = pointeeTy->getAs<BuiltinType>())
  436       const PointerType *PT = argTy->getAs<PointerType>();
  450       QualType PromoArg = argTy->isPromotableIntegerType()
  457       if (PromoArg->hasSignedIntegerRepresentation() &&
  465       if (argTy->isVoidPointerType()) {
  467       } if (argTy->isPointerType() || argTy->isObjCObjectPointerType() ||
  467       } if (argTy->isPointerType() || argTy->isObjCObjectPointerType() ||
  468             argTy->isBlockPointerType() || argTy->isNullPtrType()) {
  468             argTy->isBlockPointerType() || argTy->isNullPtrType()) {
  475       if (argTy->getAs<ObjCObjectPointerType>() ||
  476           argTy->getAs<BlockPointerType>())
  480       if (const PointerType *PT = argTy->getAs<PointerType>()) {
  486         if (pointee->getAsStructureType() || pointee->isVoidType())
  486         if (pointee->getAsStructureType() || pointee->isVoidType())
tools/clang/lib/AST/InheritViz.cpp
   94       static_cast<const CXXRecordDecl *>(Type->castAs<RecordType>()->getDecl());
tools/clang/lib/AST/Interp/ByteCodeEmitter.cpp
   34   if (!Ty->isVoidType() && !Ctx.classify(Ty)) {
tools/clang/lib/AST/Interp/ByteCodeExprGen.cpp
  264         if (!DE->getDecl()->getType()->isReferenceType()) {
  384       if (VT.isConstQualified() && VT->isFundamentalType())
  474     if (VD->getType()->isReferenceType())
  500     return PT->getPointeeType()->getAs<RecordType>();
  502     return Ty->getAs<RecordType>();
tools/clang/lib/AST/Interp/ByteCodeStmtGen.cpp
  108   if (F->getReturnType()->isVoidType())
tools/clang/lib/AST/Interp/Context.cpp
   69   if (T->isReferenceType() || T->isPointerType()) {
   69   if (T->isReferenceType() || T->isPointerType()) {
   73   if (T->isBooleanType())
   76   if (T->isSignedIntegerOrEnumerationType()) {
   91   if (T->isUnsignedIntegerOrEnumerationType()) {
  106   if (T->isNullPtrType())
tools/clang/lib/AST/Interp/EvalEmitter.cpp
  111     if (auto *AT = Ty->getAs<AtomicType>())
  114     if (auto *RT = Ty->getAs<RecordType>()) {
  171     if (auto *AT = Ty->getAsArrayTypeUnsafe()) {
tools/clang/lib/AST/Interp/InterpFrame.cpp
   89   if (!Ty->isReferenceType())
tools/clang/lib/AST/Interp/Program.cpp
  126   QualType ElemTy = PD->getType()->castAs<PointerType>()->getPointeeType();
  241       const RecordDecl *BD = Spec.getType()->castAs<RecordType>()->getDecl();
  253       const RecordDecl *BD = Spec.getType()->castAs<RecordType>()->getDecl();
tools/clang/lib/AST/ItaniumCXXABI.cpp
   45   const RecordType *RT = VD.getType()->getAs<RecordType>();
tools/clang/lib/AST/ItaniumMangle.cpp
  758   mangleBareFunctionType(FD->getType()->castAs<FunctionProtoType>(),
 1086   if (const auto *TST = type->getAs<TemplateSpecializationType>()) {
 1097                  type->getAs<DependentTemplateSpecializationType>()) {
 1303                        FD->getType()->castAs<FunctionType>()->getCallConv() ==
 1327       const RecordDecl *RD = VD->getType()->castAs<RecordType>()->getDecl();
 1707         if (auto *PackExpansion = T->getAs<PackExpansionType>())
 1778   const FunctionProtoType *Proto = Lambda->getLambdaTypeInfo()->getType()->
 1971   switch (Ty->getTypeClass()) {
 2439   if (!T->isInstantiationDependentType() || T->isDependentType())
 2439   if (!T->isInstantiationDependentType() || T->isDependentType())
 3047   assert(EltType->isBuiltinType() && "Neon vector element not a BuiltinType");
 3138   assert(EltType->isBuiltinType() && "Neon vector element not a BuiltinType");
 3458   if (T->isBooleanType()) {
 3470   while (const auto *RT = Base->getType()->getAs<RecordType>()) {
 3983                     !ImplicitlyConvertedToType->isIntegerType())? SAE->getType()
 4260     if (E->getType()->isSignedIntegerType())
 4281       if (IE->getSubExpr()->getType()->isSignedIntegerType())
 4440   assert(!parm->getType()->isArrayType()
 4587     bool compensateMangling = !A.getParamTypeForDecl()->isReferenceType();
 4685     if (const RecordType *RT = T->getAs<RecordType>())
 4719   return T->isSpecificBuiltinType(BuiltinType::Char_S) ||
 4720     T->isSpecificBuiltinType(BuiltinType::Char_U);
 4729   const RecordType *RT = T->getAs<RecordType>();
 4849     if (const RecordType *RT = T->getAs<RecordType>()) {
 4891       cast<FunctionProtoType>(FD->getType()->getAs<FunctionType>());
tools/clang/lib/AST/JSONNodeDumper.cpp
  274     if (const auto *TT = QT->getAs<TypedefType>())
  313         cast<CXXRecordDecl>(Base->getType()->castAs<RecordType>()->getDecl());
 1389                     /*Radix=*/10, IL->getType()->isSignedIntegerType()));
tools/clang/lib/AST/Mangle.cpp
   80   const FunctionType *FT = T->castAs<FunctionType>();
  174   const FunctionType *FT = FD->getType()->castAs<FunctionType>();
  389       auto CC = MD->getType()->castAs<FunctionProtoType>()->getCallConv();
tools/clang/lib/AST/MicrosoftCXXABI.cpp
  149         RD->bases_begin()->getType()->getAsCXXRecordDecl();
tools/clang/lib/AST/MicrosoftMangle.cpp
  512   const FunctionProtoType *FT = FD->getType()->castAs<FunctionProtoType>();
  562   if (Ty->isPointerType() || Ty->isReferenceType() ||
  562   if (Ty->isPointerType() || Ty->isReferenceType() ||
  563       Ty->isMemberPointerType()) {
  567     if (const MemberPointerType *MPT = Ty->getAs<MemberPointerType>()) {
  573       mangleQualifiers(Ty->getPointeeType().getQualifiers(), false);
  577     if (AT->getElementType()->isArrayType())
  713   mangleCallingConvention(MD->getType()->getAs<FunctionProtoType>());
  886         const CXXRecordDecl *RD = VD->getType()->getAsCXXRecordDecl();
 1365     mangleIntegerLiteral(Value, E->getType()->isBooleanType());
 1474       mangle(ND, TA.getParamTypeForDecl()->isReferenceType() ? "$E?" : "$1?");
 1480                          TA.getIntegralType()->isBooleanType());
 1484     if (const MemberPointerType *MPT = T->getAs<MemberPointerType>()) {
 1603                        ->getAs<ObjCObjectType>(),
 1712       (PointeeType.isNull() || !PointeeType->isFunctionType()))
 1752   if (const auto *DT = T->getAs<DecayedType>()) {
 1767     if (OriginalType->isArrayType())
 1898   bool IsPointer = T->isAnyPointerType() || T->isMemberPointerType() ||
 1898   bool IsPointer = T->isAnyPointerType() || T->isMemberPointerType() ||
 1899                    T->isReferenceType() || T->isBlockPointerType();
 1899                    T->isReferenceType() || T->isBlockPointerType();
 2240                                            ->getAs<LValueReferenceType>()
 2255             dyn_cast_or_null<AutoType>(ResultType->getContainedAutoType())) {
 2266       if (ResultType->isVoidType())
 2522     if (ElementTy->isConstantArrayType()) {
 2527     } else if (ElementTy->isIncompleteArrayType()) {
 2532     } else if (ElementTy->isVariableArrayType()) {
 2537     } else if (ElementTy->isDependentSizedArrayType()) {
 2567   if (const FunctionProtoType *FPT = PointeeType->getAs<FunctionProtoType>()) {
 2688   const BuiltinType *ET = T->getElementType()->getAs<BuiltinType>();
 2819   mangleFunctionType(PointeeType->castAs<FunctionProtoType>());
 3078       DeclForFPT->getType()->castAs<FunctionProtoType>(), MD);
 3093   Mangler.mangleFunctionType(DD->getType()->castAs<FunctionProtoType>(), DD);
tools/clang/lib/AST/NSAPI.cpp
  379   const BuiltinType *BT = T->getAs<BuiltinType>();
  383   const TypedefType *TDT = T->getAs<TypedefType>();
  509   while (const TypedefType *TDT = T->getAs<TypedefType>()) {
  566   while (const TypedefType *TDT = T->getAs<TypedefType>()) {
tools/clang/lib/AST/NestedNameSpecifier.cpp
  216       if (Base.getType()->isDependentType())
tools/clang/lib/AST/PrintfFormatString.cpp
  690   if (QT->isObjCRetainableType()) {
  709   if (QT->isPointerType() && (QT->getPointeeType()->isAnyCharacterType())) {
  709   if (QT->isPointerType() && (QT->getPointeeType()->isAnyCharacterType())) {
  709   if (QT->isPointerType() && (QT->getPointeeType()->isAnyCharacterType())) {
  717     if (QT->getPointeeType()->isWideCharType())
  717     if (QT->getPointeeType()->isWideCharType())
  726   if (const EnumType *ETy = QT->getAs<EnumType>())
  729   const BuiltinType *BT = QT->getAs<BuiltinType>();
  731     const VectorType *VT = QT->getAs<VectorType>();
  734       BT = QT->getAs<BuiltinType>();
  848       if (QT->isSignedIntegerType())
  854       if (QT->isUnsignedIntegerType() && !HasPlusPrefix)
  869   if (!isa<TypedefType>(QT) && QT->isCharType()) {
  878   else if (QT->isRealFloatingType()) {
  881   else if (QT->isSignedIntegerType()) {
  885   else if (QT->isUnsignedIntegerType()) {
tools/clang/lib/AST/QualTypeNames.cpp
  375     QT = getFullyQualifiedType(QT->getPointeeType(), Ctx, WithGlobalNsPrefix);
  386     QT = getFullyQualifiedType(QT->getPointeeType(), Ctx, WithGlobalNsPrefix);
  401     QT = getFullyQualifiedType(QT->getPointeeType(), Ctx, WithGlobalNsPrefix);
tools/clang/lib/AST/RecordLayoutBuilder.cpp
  189     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
  208         Context.getBaseElementType(FD->getType())->getAs<RecordType>();
  394     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
  404       const CXXRecordDecl *VBaseDecl = Base.getType()->getAsCXXRecordDecl();
  437   if (const CXXRecordDecl *RD = T->getAsCXXRecordDecl())
  443     const RecordType *RT = ElemTy->getAs<RecordType>();
  505     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
  515       const CXXRecordDecl *VBaseDecl = Base.getType()->getAsCXXRecordDecl();
  539   if (const CXXRecordDecl *RD = T->getAsCXXRecordDecl()) {
  547     const RecordType *RT = ElemTy->getAs<RecordType>();
  811     assert(!I.getType()->isDependentType() &&
  814     const CXXRecordDecl *Base = I.getType()->getAsCXXRecordDecl();
  855     const CXXRecordDecl *Base = I.getType()->getAsCXXRecordDecl();
  942     const CXXRecordDecl *BaseDecl = I.getType()->getAsCXXRecordDecl();
  967     const CXXRecordDecl *BaseDecl = I.getType()->getAsCXXRecordDecl();
 1057     const CXXRecordDecl *BaseDecl = I.getType()->getAsCXXRecordDecl();
 1133     assert(!Base.getType()->isDependentType() &&
 1136     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
 1338     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
 1345     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
 1747   auto *FieldClass = D->getType()->getAsCXXRecordDecl();
 1762   if (D->getType()->isIncompleteArrayType()) {
 1770   } else if (const ReferenceType *RT = D->getType()->getAs<ReferenceType>()) {
 1797       if (const BuiltinType *BTy = T->getAs<BuiltinType>()) {
 2442       Context.getTypeInfoInChars(FD->getType()->getUnqualifiedDesugaredType());
 2457             FD->getType()->getBaseElementTypeUnsafe()->getAs<RecordType>()) {
 2573     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
 2609     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
 2858     const CXXRecordDecl *BaseDecl = VBase.getType()->getAsCXXRecordDecl();
 2870     const CXXRecordDecl *BaseDecl = VBase.getType()->getAsCXXRecordDecl();
 2949                          Base.getType()->getAsCXXRecordDecl()))
 2961       const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
 2972     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
 3012     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
 3329       assert(!Base.getType()->isDependentType() &&
 3332         Bases.push_back(Base.getType()->getAsCXXRecordDecl());
 3367     if (auto RT = Field.getType()->getAs<RecordType>()) {
 3393       const CXXRecordDecl *VBase = Base.getType()->getAsCXXRecordDecl();
tools/clang/lib/AST/ScanfFormatString.cpp
  420   if (!QT->isPointerType())
  423   QualType PT = QT->getPointeeType();
  426   if (const EnumType *ETy = PT->getAs<EnumType>()) {
  433   const BuiltinType *BT = PT->getAs<BuiltinType>();
  438   if (PT->isAnyCharacterType()) {
  440     if (PT->isWideCharType())
  514   if (PT->isRealFloatingType())
  516   else if (PT->isSignedIntegerType())
  518   else if (PT->isUnsignedIntegerType())
tools/clang/lib/AST/Stmt.cpp
 1175         (Var->getType()->isScalarType() || (Var->getType()->isReferenceType() &&
 1175         (Var->getType()->isScalarType() || (Var->getType()->isReferenceType() &&
 1177                                                 ->castAs<ReferenceType>()
 1179                                                 ->isScalarType())) &&
tools/clang/lib/AST/StmtPrinter.cpp
 1119   bool isSigned = Node->getType()->isSignedIntegerType();
 1123   switch (Node->getType()->castAs<BuiltinType>()->getKind()) {
 1144   switch (Node->getType()->castAs<BuiltinType>()->getKind()) {
 1173   switch (Node->getType()->castAs<BuiltinType>()->getKind()) {
 1572   if (Node->getType()->getAsCXXRecordDecl()) {
 1580     if (Node->getType()->isRecordType())
 1982     auto *Proto = Method->getType()->castAs<FunctionProtoType>();
tools/clang/lib/AST/StmtProfile.cpp
 1057   ID.AddInteger(S->getType()->castAs<BuiltinType>()->getKind());
 1063   ID.AddInteger(S->getType()->castAs<BuiltinType>()->getKind());
 1076   ID.AddInteger(S->getType()->castAs<BuiltinType>()->getKind());
tools/clang/lib/AST/TemplateBase.cpp
  120     return getAsType()->isDependentType() ||
  161     return getAsType()->isInstantiationDependentType();
  227     if (getAsType()->containsUnexpandedParameterPack())
  373     return getAsType()->castAs<PackExpansionType>()->getPattern();
tools/clang/lib/AST/TextNodeDumper.cpp
  640         cast<CXXRecordDecl>(Base->getType()->castAs<RecordType>()->getDecl());
  767   bool isSigned = Node->getType()->isSignedIntegerType();
 1296   if (const auto *FPT = D->getType()->getAs<FunctionProtoType>()) {
tools/clang/lib/AST/Type.cpp
  126            et->isDependentType() || (sz && sz->isValueDependent()) ||
  128            et->isInstantiationDependentType() ||
  131            (tc == VariableArray || et->isVariablyModifiedType()),
  132            et->containsUnexpandedParameterPack() ||
  225            ElementType->isVariablyModifiedType(),
  226            ElementType->containsUnexpandedParameterPack() ||
  249            ElementType->isVariablyModifiedType(),
  250            (ElementType->containsUnexpandedParameterPack() ||
  268            PointeeType->isVariablyModifiedType(),
  269            (PointeeType->containsUnexpandedParameterPack() ||
  289     : Type(tc, canonType, vecType->isDependentType(),
  290            vecType->isInstantiationDependentType(),
  291            vecType->isVariablyModifiedType(),
  292            vecType->containsUnexpandedParameterPack()),
  430   while (const auto *PT = T->getAs<ParenType>())
  523     return PT->getPointeeType()->isVoidType();
  535     return CT->getElementType()->isFloatingType();
  552     if (Complex->getElementType()->isIntegerType())
  634             ->getAs<ObjCObjectType>();
  658     : Type(ObjCTypeParam, can, can->isDependentType(),
  659            can->isInstantiationDependentType(),
  660            can->isVariablyModifiedType(),
  670     : Type(ObjCObject, Canonical, Base->isDependentType(),
  671            Base->isInstantiationDependentType(),
  672            Base->isVariablyModifiedType(),
  673            Base->containsUnexpandedParameterPack()),
  685     if (typeArg->isDependentType())
  687     else if (typeArg->isInstantiationDependentType())
  690     if (typeArg->containsUnexpandedParameterPack())
  704   if (const auto objcObject = getBaseType()->getAs<ObjCObjectType>()) {
  722   if (const auto objcObject = getBaseType()->getAs<ObjCObjectType>()) {
  739   if (const auto objcObject = getBaseType()->getAs<ObjCObjectType>()) {
  775   return ctx.getObjCObjectPointerType(obj)->castAs<ObjCObjectPointerType>();
 1223           typeParam->getUnderlyingType()->castAs<ObjCObjectPointerType>();
 1367         newEquivType->getAs<ObjCObjectPointerType>();
 1370                                         : newEquivType->getAs<ObjCObjectType>();
 1423   if (auto subs = objectType->getObjCSubstitutions(dc))
 1486                    ->castAs<ObjCObjectType>();
 1510     objectType = superType->castAs<ObjCObjectType>();
 1564       superClassType->castAs<ObjCObjectType>(), true);
 1579       superClassType->castAs<ObjCObjectType>(), true);
 1590       unspecializedSuper->castAs<ObjCObjectType>(),
 1601       ->castAs<ObjCObjectType>(),
 1608              ->castAs<ObjCInterfaceType>();
 1682   if (const auto *RT = PointeeType->getAs<RecordType>())
 1818     return VT->getElementType()->isIntegerType();
 1937       return ET->getDecl()->getIntegerType()->isSignedIntegerType();
 1951       return ET->getDecl()->getIntegerType()->isSignedIntegerType();
 1959     return VT->getElementType()->isSignedIntegerOrEnumerationType();
 1977       return ET->getDecl()->getIntegerType()->isUnsignedIntegerType();
 1991       return ET->getDecl()->getIntegerType()->isUnsignedIntegerType();
 1999     return VT->getElementType()->isUnsignedIntegerOrEnumerationType();
 2009     return CT->getElementType()->isFloatingType();
 2015     return VT->getElementType()->isFloatingType();
 2073     if (CT->getElementType()->isRealFloatingType())
 2118   switch (CanonicalType->getTypeClass()) {
 2144              ->isIncompleteType(Def);
 2172              ->isIncompleteType(Def);
 2199   if ((*this)->isIncompleteArrayType())
 2202   if ((*this)->isIncompleteType())
 2209   switch (CanonicalType->getTypeClass()) {
 2247   if ((*this)->isArrayType())
 2252   if ((*this)->isIncompleteType())
 2259   if (CanonicalType->isDependentType())
 2268   if (CanonicalType->isScalarType() || CanonicalType->isVectorType())
 2268   if (CanonicalType->isScalarType() || CanonicalType->isVectorType())
 2270   if (const auto *RT = CanonicalType->getAs<RecordType>()) {
 2289   if ((*this)->isArrayType())
 2301   if (CanonicalType->isDependentType())
 2306   if (CanonicalType->isIncompleteType())
 2310   if (CanonicalType->isScalarType() || CanonicalType->isVectorType())
 2310   if (CanonicalType->isScalarType() || CanonicalType->isVectorType())
 2313   if (const auto *RT = CanonicalType->getAs<RecordType>()) {
 2437     return AT->getValueType()->isLiteralType(Ctx);
 2958     : FunctionType(FunctionProto, result, canonical, result->isDependentType(),
 2959                    result->isInstantiationDependentType(),
 2960                    result->isVariablyModifiedType(),
 2961                    result->containsUnexpandedParameterPack(), epi.ExtInfo) {
 2980     if (params[i]->isDependentType())
 2982     else if (params[i]->isInstantiationDependentType())
 2985     if (params[i]->containsUnexpandedParameterPack())
 3001       if (ExceptionType->isInstantiationDependentType())
 3004       if (ExceptionType->containsUnexpandedParameterPack())
 3050   } else if (getCanonicalTypeInternal()->isDependentType()) {
 3077     if (ET->isDependentType() || ET->getAs<PackExpansionType>())
 3077     if (ET->isDependentType() || ET->getAs<PackExpansionType>())
 3086     if (ET->isInstantiationDependentType())
 3113       if (!getExceptionType(I)->getAs<PackExpansionType>())
 3211            E->getType()->isVariablyModifiedType(),
 3237            E->getType()->isVariablyModifiedType(),
 3262     : Type(UnaryTransform, CanonicalType, BaseType->isDependentType(),
 3263            BaseType->isInstantiationDependentType(),
 3264            BaseType->isVariablyModifiedType(),
 3265            BaseType->containsUnexpandedParameterPack()),
 3309       if (const auto *FieldRecTy = FieldTy->getAs<RecordType>()) {
 3441          Canon.isNull()? true : Canon->isDependentType(),
 3442          Canon.isNull()? true : Canon->isInstantiationDependentType(),
 3468         Arg.getAsType()->isVariablyModifiedType())
 3823   while (const auto *AT = Type->getAs<AttributedType>()) {
 3837   switch (type->getTypeClass()) {
 4063     return OPT->getPointeeType()->isObjCIndirectLifetimeType();
 4065     return Ref->getPointeeType()->isObjCIndirectLifetimeType();
 4067     return MemPtr->getPointeeType()->isObjCIndirectLifetimeType();
 4093   return Pointee->isVoidType() || Pointee->isRecordType();
 4093   return Pointee->isVoidType() || Pointee->isRecordType();
 4100     return ptr->getPointeeType()->hasSizedVLAType();
 4102     return ref->getPointeeType()->hasSizedVLAType();
 4108     return arr->getElementType()->hasSizedVLAType();
 4128           type->getBaseElementTypeUnsafe()->getAs<RecordType>()) {
tools/clang/lib/AST/TypePrinter.cpp
  201     TC = AT->desugar()->getTypeClass();
  203     TC = Subst->getReplacementType()->getTypeClass();
  407   if (auto *Ref = T->getAs<ReferenceType>())
 1472       !T->getEquivalentType()->castAs<FunctionType>()
 1539    while (!t->isFunctionType())
 1540      t = t->getPointeeType();
 1541    OS << (t->castAs<FunctionType>()->getCallConv() == CC_AAPCS ?
tools/clang/lib/AST/VTTBuilder.cpp
   68         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
   94         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
  158         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
tools/clang/lib/AST/VTableBuilder.cpp
  233       VirtualBase = VBaseType->getAsCXXRecordDecl();
  245     const CXXRecordDecl *Base = Element.Base->getType()->getAsCXXRecordDecl();
  273   const FunctionType *BaseFT = BaseMD->getType()->getAs<FunctionType>();
  274   const FunctionType *DerivedFT = DerivedMD->getType()->getAs<FunctionType>();
  347     const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
  383     const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
  724     const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
  745     const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
 1737     const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
 1811     const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
 1840     const CXXRecordDecl *BaseDecl = B.getType()->getAsCXXRecordDecl();
 2301     RD->vbases_begin()->getType()->getAsCXXRecordDecl();
 2649         return Bases.count(Specifier->getType()->getAsCXXRecordDecl());
 2672                           *CurRD = CurTy->getAsCXXRecordDecl();
 2887     if (B.isVirtual() && B.getType()->getAsCXXRecordDecl() == Base)
 3262     const CXXRecordDecl *Base = B.getType()->getAsCXXRecordDecl();
 3315       VBasesSeen.insert(VB.getType()->getAsCXXRecordDecl());
 3391     const CXXRecordDecl *Base = BS.getType()->getAsCXXRecordDecl();
 3438           return BS.getType()->getAsCXXRecordDecl() == Base;
 3692     const CXXRecordDecl *CurVBase = VB.getType()->getAsCXXRecordDecl();
tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp
  837         TemplateType->getAliasedType()->getAs<TemplateSpecializationType>();
tools/clang/lib/Analysis/BodyFarm.cpp
   37   const BlockPointerType *BPT = Ty->getAs<BlockPointerType>();
   44   BPT->getPointeeType()->getAs<FunctionProtoType>();
   45   return FT && FT->getReturnType()->isVoidType() && FT->getNumParams() == 0;
  256   if (Ty->isRValueReferenceType()) {
  259   } else if (Ty->isLValueReferenceType() &&
  260              Call->getType()->isFunctionType()) {
  263   } else if (Ty->isLValueReferenceType()
  264              && Call->getType()->isPointerType()
  265              && Call->getType()->getPointeeType()->isFunctionType()){
  265              && Call->getType()->getPointeeType()->isFunctionType()){
  329   if (!Callback->getType()->isReferenceType()) {
  333   if (!Flag->getType()->isReferenceType()) {
  341   CXXRecordDecl *CallbackRecordDecl = CallbackType->getAsCXXRecordDecl();
  343   auto *FlagRecordDecl = FlagType->getAsRecordDecl();
  387                                ->getAs<FunctionProtoType>();
  388   } else if (!CallbackType->getPointeeType().isNull()) {
  390         CallbackType->getPointeeType()->getAs<FunctionProtoType>();
  390         CallbackType->getPointeeType()->getAs<FunctionProtoType>();
  392     CallbackFunctionType = CallbackType->getAs<FunctionProtoType>();
  422     if (!CallbackFunctionType->getParamType(ParamIdx - 2)->isReferenceType()) {
  485   const PointerType *PredicatePtrTy = PredicateQPtrTy->getAs<PointerType>();
  489   if (!PredicateTy->isIntegerType())
  604   bool isBoolean = ResultTy->isBooleanType();
  605   if (!isBoolean && !ResultTy->isIntegralType(C))
  618   const PointerType *PT = TheValueTy->getAs<PointerType>();
  775   if (!IVar->getType()->isObjCLifetimeType() &&
  794   if (!Prop->getType()->isReferenceType())
tools/clang/lib/Analysis/CFG.cpp
  729       if (Arg->getType()->getAsCXXRecordDecl() && !Arg->isGLValue())
  941     bool IntLarger = IntLiteral->getType()->isUnsignedIntegerType() ||
 1443       assert(!CO->getType()->getAsCXXRecordDecl() || CO->isGLValue() ||
 1860     if (Ty->isReferenceType()) {
 1865     if (Ty->getAsCXXRecordDecl()->isAnyDestructorNoReturn())
 1889     const CXXRecordDecl *CD = VI.getType()->getAsCXXRecordDecl();
 1899       const CXXRecordDecl *CD = BI.getType()->getAsCXXRecordDecl();
 1917     if (const CXXRecordDecl *CD = QT->getAsCXXRecordDecl())
 1977   if (QT->isReferenceType()) {
 2009   if (const CXXRecordDecl *CD = QT->getAsCXXRecordDecl())
 2551   if (Ty->isFunctionPointerType() || Ty->isBlockPointerType())
 2551   if (Ty->isFunctionPointerType() || Ty->isBlockPointerType())
 2552     Ty = Ty->getPointeeType();
 2554   const FunctionType *FT = Ty->getAs<FunctionType>();
 4526     CXXRecordDecl *RD = Context->getBaseElementType(DTy)->getAsCXXRecordDecl();
 4970       if (ty->isReferenceType()) {
 4984       const CXXRecordDecl *classDecl = ty->getAsCXXRecordDecl();
 4993           astContext.getBaseElementType(DTy)->getAsCXXRecordDecl();
 5303     OS << I->getTypeSourceInfo()->getType()->getAsCXXRecordDecl()->getName();
 5480     if (T->isReferenceType())
 5534     OS << "~" << BS->getType()->getAsCXXRecordDecl()->getName() << "()";
 5541     const Type *T = FD->getType()->getBaseElementTypeUnsafe();
tools/clang/lib/Analysis/CocoaConventions.cpp
   27   while (const TypedefType *TD = RetTy->getAs<TypedefType>()) {
   41   const PointerType* PT = RetTy->castAs<PointerType>();
   42   if (!PT || !PT->getPointeeType().getUnqualifiedType()->isVoidType())
   66   if (!Ty->isObjCObjectPointerType())
   69   const ObjCObjectPointerType *PT = Ty->getAs<ObjCObjectPointerType>();
tools/clang/lib/Analysis/ConstructionContext.cpp
   54   if (!BTE && !(MTE->getType().getCanonicalType()->getAsCXXRecordDecl()
  112                             ->getAsCXXRecordDecl()->hasTrivialDestructor());
  122               ->getAsCXXRecordDecl()->hasTrivialDestructor());
  155              ->getAsCXXRecordDecl()->hasTrivialDestructor());
  193     assert(BTE->getType().getCanonicalType()->getAsCXXRecordDecl()
tools/clang/lib/Analysis/Consumed.cpp
  144   if (QT->isPointerType() || QT->isReferenceType())
  144   if (QT->isPointerType() || QT->isReferenceType())
  147   if (const CXXRecordDecl *RD = QT->getAsCXXRecordDecl())
  154   if (QT->isPointerType() || QT->isReferenceType())
  154   if (QT->isPointerType() || QT->isReferenceType())
  157   if (const CXXRecordDecl *RD = QT->getAsCXXRecordDecl())
  164   if (const CXXRecordDecl *RD = QT->getPointeeCXXRecordDecl())
  182   return ParamType->isRValueReferenceType();
  190   return ParamType->isPointerType() || ParamType->isReferenceType();
  190   return ParamType->isPointerType() || ParamType->isReferenceType();
  197       QT->getAsCXXRecordDecl()->getAttr<ConsumableAttr>();
  652              (!ParamType->getPointeeType().isConstQualified() ||
  687   if (RetType->isReferenceType())
  688     RetType = RetType->getPointeeType();
  774   QualType ThisType = Constructor->getThisType()->getPointeeType();
  866            isConsumableType(ParamType->getPointeeType()))
  867     ParamState = mapConsumableAttrState(ParamType->getPointeeType());
  868   else if (ParamType->isReferenceType() &&
  869            isConsumableType(ParamType->getPointeeType()))
 1202     ReturnType = Constructor->getThisType()->getPointeeType();
 1207     const CXXRecordDecl *RD = ReturnType->getAsCXXRecordDecl();
 1406         D->getCallResultType()->isVoidType())
tools/clang/lib/Analysis/ExprMutationAnalyzer.cpp
  411     if (const auto *T = ParmType->getAs<PackExpansionType>())
  416     if (const auto *RefType = ParmType->getAs<RValueReferenceType>()) {
  418           RefType->getPointeeType()->getAs<TemplateTypeParmType>()) {
tools/clang/lib/Analysis/LiveVariables.cpp
  368   return VD && !VD->getType()->isReferenceType() &&
  385         Killed = !BD->getType()->isReferenceType();
  464   if (subEx->getType()->isVariableArrayType()) {
tools/clang/lib/Analysis/RetainSummaryManager.cpp
  165   return isOSObjectSubclass(QT->getPointeeCXXRecordDecl());
  208     QualType PT = Param->getType()->getPointeeType();
  210       if (CXXRecordDecl *RD = PT->getAsCXXRecordDecl())
  221   const auto *RD = QT->getAsCXXRecordDecl();
  238   if (RetTy->isPointerType()) {
  239     const CXXRecordDecl *PD = RetTy->getPointeeType()->getAsCXXRecordDecl();
  239     const CXXRecordDecl *PD = RetTy->getPointeeType()->getAsCXXRecordDecl();
  300     return RetTy->isObjCIdType() ? getUnarySummary(FT, DoNothing)
  402   if (RetTy->isPointerType()) {
  507   const auto *FT = FD->getType()->castAs<FunctionType>();
  724   if (ResultTy->isObjCIdType()) {
  727   } else if (ResultTy->isPointerType()) {
  934       bool ShouldSplit = !QT.isNull() && !QT->isVoidType();
 1129     if (const auto *PT = ReceiverType->getAs<ObjCObjectPointerType>())
tools/clang/lib/Analysis/ThreadSafety.cpp
 1230   if (const auto *RT = VDT->getAs<RecordType>()) {
 1234   } else if (const auto *TT = VDT->getAs<TypedefType>()) {
 1238   } else if (VDT->isPointerType() || VDT->isReferenceType())
 1238   } else if (VDT->isPointerType() || VDT->isReferenceType())
 1239     return ClassifyDiagnostic(VDT->getPointeeType());
 1708     if (VD && VD->isLocalVarDecl() && VD->getType()->isReferenceType()) {
 2027     if (Qt->isReferenceType())
 2159         auto *RD = E->getType()->getAsCXXRecordDecl();
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp
  325   if (VD && VD->getType()->isAnyPointerType())
tools/clang/lib/Analysis/UninitializedValues.cpp
   48     return ty->isScalarType() || ty->isVectorType() || ty->isRecordType();
   48     return ty->isScalarType() || ty->isVectorType() || ty->isRecordType();
   48     return ty->isScalarType() || ty->isVectorType() || ty->isRecordType();
  374   if (VD->getType()->isRecordType())
  465   return QT->isAnyPointerType() && QT->getPointeeType().isConstQualified();
  465   return QT->isAnyPointerType() && QT->getPointeeType().isConstQualified();
  472     if (!CE->getArg(0)->getType()->isRecordType())
  499     if (CSE->getType()->isVoidType()) {
tools/clang/lib/CodeGen/CGAtomic.cpp
   50         if (auto *ATy = AtomicTy->getAs<AtomicType>())
  111         ValueTy = lvalue.getType()->castAs<VectorType>()->getElementType();
  593     Op = E->getValueType()->isSignedIntegerType() ? llvm::AtomicRMWInst::Min
  599     Op = E->getValueType()->isSignedIntegerType() ? llvm::AtomicRMWInst::Max
  747   QualType AtomicTy = E->getPtr()->getType()->getPointeeType();
  749   if (const AtomicType *AT = AtomicTy->getAs<AtomicType>())
  827     if (MemTy->isPointerType()) {
  835           getContext().getTypeSizeInChars(MemTy->getPointeeType());
  890   else if (!RValTy->isVoidType())
  973       auto AS = PT->castAs<PointerType>()->getPointeeType().getAddressSpace();
  990       MemTy->isPointerType() ? getContext().getIntPtrType() : MemTy;
 1117       LibCallName = E->getValueType()->isSignedIntegerType()
 1125       LibCallName = E->getValueType()->isSignedIntegerType()
 1197     if (RValTy->isVoidType())
 1248     if (RValTy->isVoidType())
 1320   if (RValTy->isVoidType())
 1476   if (LV.getType()->isAtomicType()) {
 1900   if (lvalue.getType()->isAtomicType()) {
 2025     if (!init->getType()->isAtomicType()) {
tools/clang/lib/CodeGen/CGBlocks.cpp
  389     type->getBaseElementTypeUnsafe()->getAs<RecordType>();
  615     } else if (VT->isObjCRetainableType()) {
  618        if (VT->isObjCInertUnsafeUnretainedType()) {
  630       if (!VT->getAsCXXRecordDecl()->isExternallyVisible())
  641       if (const CXXRecordDecl *record = VT->getAsCXXRecordDecl()) {
 1114     } else if (type->isReferenceType()) {
 1132                type->isBlockPointerType()) {
 1256   const auto *BPT = E->getCallee()->getType()->castAs<BlockPointerType>();
 1275     EmitCallArgs(Args, FnType->getAs<FunctionProtoType>(), E->arguments());
 1295     EmitCallArgs(Args, FnType->getAs<FunctionProtoType>(), E->arguments());
 1301   const FunctionType *FuncTy = FnType->castAs<FunctionType>();
 1343           capture.fieldType()->isReferenceType()) &&
 1346   if (capture.fieldType()->isReferenceType())
 1706   bool isBlockPointer = T->isBlockPointerType();
 1727     if (!T->isObjCRetainableType())
 1802   if (const auto *RD = T->getAsCXXRecordDecl())
 1804       return DD->getType()->castAs<FunctionProtoType>()->canThrow();
 2136   if (T->isBlockPointerType())
 2168     if (T->isObjCRetainableType() && !T.getQualifiers().hasObjCLifetime() &&
 2622   if (const CXXRecordDecl *record = type->getAsCXXRecordDecl()) {
 2640   if (!type->isObjCRetainableType()) return nullptr;
 2664       if (type->isBlockPointerType()) {
 2679   if (type->isBlockPointerType()) {
 2682              type->isObjCObjectPointerType()) {
 2878           if (!type->isObjCObjectPointerType() && !type->isBlockPointerType())
 2878           if (!type->isObjCObjectPointerType() && !type->isBlockPointerType())
tools/clang/lib/CodeGen/CGBuiltin.cpp
  121   assert(E->getArg(0)->getType()->isPointerType());
  123                                   E->getArg(0)->getType()->getPointeeType()));
  182   assert(E->getArg(0)->getType()->isPointerType());
  184                                   E->getArg(0)->getType()->getPointeeType()));
  271   assert(E->getArg(0)->getType()->isPointerType());
  273       E->getType(), E->getArg(0)->getType()->getPointeeType()));
  297   assert(E->getArg(0)->getType()->isPointerType());
  310   assert(E->getArg(0)->getType()->isPointerType());
  324   QualType ElTy = E->getArg(0)->getType()->getPointeeType();
  338   QualType ElTy = E->getArg(0)->getType()->getPointeeType();
  496   assert(Type->isIntegerType() && "Given type is not an integer.");
  497   unsigned Width = Type->isBooleanType() ? 1 : context.getTypeInfo(Type).Width;
  498   bool Signed = Type->isSignedIntegerType();
 1253       if (TheExpr->getType()->isObjCRetainableType()) {
 1390       ResultArg->getType()->getPointeeType().isVolatileQualified();
 1400   RecordDecl *RD = RType->castAs<RecordType>()->getDecl()->getDefinition();
 1452     if (CanonicalType->isRecordType()) {
 1486   const auto *Record = Ty->getAsCXXRecordDecl();
 1856     QualType Arg0Type = Arg0->getType()->getPointeeType();
 2108     if (!ArgType->isIntegralOrEnumerationType() && !ArgType->isFloatingType() &&
 2108     if (!ArgType->isIntegralOrEnumerationType() && !ArgType->isFloatingType() &&
 2109         !ArgType->isObjCObjectPointerType() && !ArgType->isBlockPointerType())
 2109         !ArgType->isObjCObjectPointerType() && !ArgType->isBlockPointerType())
 2120     if (ArgType->isObjCObjectPointerType()) {
 2692     QualType ArgTy = Arg->getType()->getPointeeType();
 2841     QualType ElTy = E->getArg(0)->getType()->getPointeeType();
 2897         PtrTy->castAs<PointerType>()->getPointeeType().isVolatileQualified();
 2980         PtrTy->castAs<PointerType>()->getPointeeType().isVolatileQualified();
 3219         ResultArg->getType()->castAs<PointerType>()->getPointeeType();
 3294       ResultArg->getType()->getPointeeType().isVolatileQualified();
 3373         E->getCallee()->getType()->castAs<FunctionProtoType>(), E, false);
 3376         E->getCallee()->getType()->castAs<FunctionProtoType>(), E, true);
 3695     const auto *PipeTy = E->getArg(0)->getType()->castAs<PipeType>();
 3725         E->getType()->getPointeeType().getAddressSpace()));
 3815     if (E->getArg(3)->getType()->isBlockPointerType()) {
 3862         EventWaitList = E->getArg(4)->getType()->isArrayType()
 4031       if (Arg0Ty->isArrayType())
 4069       if (Arg1Ty->isArrayType())
 4200     if (!BuiltinRetType->isVoidType())
tools/clang/lib/CodeGen/CGCXX.cpp
   83         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
  107   if (BaseD->getType()->castAs<FunctionType>()->getCallConv() !=
  108       D->getType()->castAs<FunctionType>()->getCallConv())
  283   const RecordType *RT = T->getAs<RecordType>();
tools/clang/lib/CodeGen/CGCXXABI.cpp
   48     MPT->getPointeeType()->getAs<FunctionProtoType>();
  244     derivedType->castAs<MemberPointerType>()->getClass()->getAsCXXRecordDecl();
tools/clang/lib/CodeGen/CGCall.cpp
   77     RecTy = Context.getTagDeclType(RD)->getCanonicalTypeInternal();
   88   return MD->getType()->getCanonicalTypeUnqualified()
   97   return RetTy->getCanonicalTypeUnqualified().getUnqualifiedType();
  438   CanQualType FTy = FD->getType()->getCanonicalTypeUnqualified();
  909   if (const RecordType *RT = Ty->getAs<RecordType>()) {
  953   if (const ComplexType *CT = Ty->getAs<ComplexType>()) {
 1033           GetAddressOfBaseClass(This, Ty->getAsCXXRecordDecl(), &BS, &BS + 1,
 1076           GetAddressOfBaseClass(This, Ty->getAsCXXRecordDecl(), &BS, &BS + 1,
 1508   if (const BuiltinType *BT = ResultType->getAs<BuiltinType>()) {
 1525   if (const ComplexType *CT = ResultType->getAs<ComplexType>()) {
 1526     if (const BuiltinType *BT = CT->getElementType()->getAs<BuiltinType>()) {
 1671   const FunctionProtoType *FPT = MD->getType()->getAs<FunctionProtoType>();
 1855           getContext(), FuncAttrs, Fn->getType()->getAs<FunctionProtoType>());
 1989   if (const auto *RefTy = RetTy->getAs<ReferenceType>()) {
 1991     if (!PTy->isIncompleteType() && PTy->isConstantSizeType())
 1991     if (!PTy->isIncompleteType() && PTy->isConstantSizeType())
 2099     if (const auto *RefTy = ParamType->getAs<ReferenceType>()) {
 2101       if (!PTy->isIncompleteType() && PTy->isConstantSizeType())
 2101       if (!PTy->isIncompleteType() && PTy->isConstantSizeType())
 2116       if (!hasUsedSRet && RetTy->isVoidType()) {
 2125       auto PTy = ParamType->getPointeeType();
 2126       if (!PTy->isIncompleteType() && PTy->isConstantSizeType()) {
 2126       if (!PTy->isIncompleteType() && PTy->isConstantSizeType()) {
 2193   if (!ArgType->isAnyPointerType() && !ArgType->isBlockPointerType())
 2193   if (!ArgType->isAnyPointerType() && !ArgType->isBlockPointerType())
 2375               if (!ETy->isIncompleteType() && ETy->isConstantSizeType() &&
 2375               if (!ETy->isIncompleteType() && ETy->isConstantSizeType() &&
 2422           QualType pointeeTy = Ty->getPointeeType();
 2423           assert(pointeeTy->isPointerType());
 2910              RT->isObjCRetainableType());
 3029   const CXXRecordDecl *RD = type->getAsCXXRecordDecl();
 3070   if (type->isReferenceType()) {
 3080              type->isObjCRetainableType()) {
 3095       type->castAs<RecordType>()->getDecl()->isParamDestroyedInCallee() &&
 3220       CRE->getSubExpr()->getType()->castAs<PointerType>()->getPointeeType();
 3369     auto Nullability = PVD->getType()->getNullability(getContext());
 3505       const CXXDestructorDecl *Dtor = Ty->getAsCXXRecordDecl()->getDestructor();
 3566   assert(type->isReferenceType() == E->isGLValue() &&
 3580       type->castAs<RecordType>()->getDecl()->isParamDestroyedInCallee()) {
 3590     if (const auto *RD = type->getAsCXXRecordDecl())
 3633   if (Arg->getType()->isIntegerType() &&
 4051           QualType pointeeTy = I->Ty->getPointeeType();
tools/clang/lib/CodeGen/CGClass.cpp
  165         cast<CXXRecordDecl>(Base->getType()->castAs<RecordType>()->getDecl());
  284         (*Start)->getType()->castAs<RecordType>()->getDecl());
  745   if (Ctor->getType()->castAs<FunctionProtoType>()->isVariadic())
 1056             FieldType->isReferenceType()))
 1361       cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 1371         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 1387   const RecordType *RT = FieldBaseElementType->getAs<RecordType>();
 1821           cast<CXXRecordDecl>(Base.getType()->castAs<RecordType>()->getDecl());
 1849     CXXRecordDecl *BaseClassDecl = Base.getType()->getAsCXXRecordDecl();
 1873     const RecordType *RT = type->getAsUnionType();
 2020   const RecordType *rtype = type->castAs<RecordType>();
 2067   const FunctionProtoType *FPT = D->getType()->castAs<FunctionProtoType>();
 2262   if (!RetType->isVoidType())
 2304   const FunctionProtoType *FPT = D->getType()->castAs<FunctionProtoType>();
 2346     assert((*I)->getType()->isPointerType() &&
 2446   CXXRecordDecl *ClassDecl = T->getAsCXXRecordDecl();
 2537         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 2635       RD->bases_begin()->getType()->getAsCXXRecordDecl());
 2676   auto *ClassTy = T->getAs<RecordType>();
 2847     callOperator->getType()->castAs<FunctionProtoType>();
 2850   if (!resultType->isVoidType() &&
 2864   if (!resultType->isVoidType() && returnSlot.isNull()) {
 2865     if (getLangOpts().ObjCAutoRefCount && resultType->isObjCRetainableType()) {
 2876   const CXXRecordDecl *Lambda = variable->getType()->getAsCXXRecordDecl();
tools/clang/lib/CodeGen/CGCoroutine.cpp
  135             CE->getMethodDecl()->getType()->getAs<FunctionProtoType>())
  278   if (RV && RV->getType()->isVoidType()) {
  302   assert(getCoroutineSuspendExprReturnType(getContext(), E)->isReferenceType() &&
  312   assert(getCoroutineSuspendExprReturnType(getContext(), E)->isReferenceType() &&
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 1289   if (!type->isIncompleteArrayType()) {
 1380   if (name.empty() && !type->isRecordType())
 1467   const FunctionProtoType *Func = Method->getType()->getAs<FunctionProtoType>();
 1488   const CXXRecordDecl *RD = ThisPtr->getPointeeCXXRecordDecl();
 1666     if (Method->getType()->castAs<FunctionProtoType>()->getContainedAutoType())
 1706         cast<CXXRecordDecl>(BI.getType()->castAs<RecordType>()->getDecl());
 2072   llvm::DIType *Res = CreateTypeDefinition(Ty->castAs<EnumType>());
 2147   llvm::DIType *Res = CreateTypeDefinition(Ty->castAs<RecordType>());
 2539     if (!FType->isIncompleteArrayType()) {
 2639     if (Ty->getElementType()->isIncompleteType())
 2738       Ty->getPointeeType()->getAs<FunctionProtoType>();
 2813   bool IsSigned = ED->getIntegerType()->isSignedIntegerType();
 2857     switch (T->getTypeClass()) {
 3005   switch (Ty->getTypeClass()) {
 3279   if (T->isIncompleteArrayType()) {
 3342   CallingConv CC = FD->getType()->castAs<FunctionType>()->getCallConv();
 3476   const auto *FTy = FnType->getAs<FunctionType>();
 4411   if (T->isUnionType() && DeclName.empty()) {
 4412     const RecordDecl *RD = T->castAs<RecordType>()->getDecl();
 4568             FD->getType()->castAs<FunctionProtoType>()->getContainedAutoType())
tools/clang/lib/CodeGen/CGDecl.cpp
  155     if (Ty->isVariablyModifiedType())
  175     if (D.getType()->isSamplerT())
  228   assert(Ty->isConstantSizeType() && "VLAs can't be static");
  392   if (D.getType()->isVariablyModifiedType())
  724   auto Nullability = LHS.getType()->getNullability(getContext());
 1389   if (Ty->isVariablyModifiedType())
 1406   } else if (Ty->isConstantSizeType()) {
 1415     if (D.getInit() && (Ty->isArrayType() || Ty->isRecordType()) &&
 1415     if (D.getInit() && (Ty->isArrayType() || Ty->isRecordType()) &&
 1418            getContext().getBaseElementType(Ty)->isObjCObjectPointerType()) &&
 1452       if (const RecordType *RecordTy = Ty->getAs<RecordType>()) {
 1871   if (type->isReferenceType()) {
 1890     if (type->isAtomicType()) {
 1934       assert(!type->isArrayType());
 1935       CXXDestructorDecl *dtor = type->getAsCXXRecordDecl()->getDestructor();
 1960       assert(!type->isArrayType());
 2147   assert(!elementType->isArrayType());
 2400         Ty->castAs<RecordType>()->getDecl()->isParamDestroyedInCallee()) {
 2510     auto Nullability = Ty->getNullability(getContext());
tools/clang/lib/CodeGen/CGDeclCXX.cpp
   33   assert(!D.getType()->isReferenceType() &&
  105   const CXXRecordDecl *Record = Type->getAsCXXRecordDecl();
  204   if (!T->isReferenceType()) {
tools/clang/lib/CodeGen/CGException.cpp
  427     if (ThrowType->isObjCObjectPointerType()) {
  457   const FunctionProtoType *Proto = FD->getType()->getAs<FunctionProtoType>();
  534   const FunctionProtoType *Proto = FD->getType()->getAs<FunctionProtoType>();
  578       if (CaughtType->isObjCObjectPointerType())
 1803     if (VD->getType()->isVariablyModifiedType()) {
 1903                             FilterExpr->getType()->isSignedIntegerType());
tools/clang/lib/CodeGen/CGExpr.cpp
  166   if (const MemberPointerType *MPT = E->getType()->getAs<MemberPointerType>()) {
  173   if (!E->getType()->isAnyComplexType())
  320           E->getType()->getBaseElementTypeUnsafe()->getAs<RecordType>()) {
  336     if (E->getType()->isArrayType()) {
  384         (Ty->isArrayType() || Ty->isRecordType()) &&
  384         (Ty->isArrayType() || Ty->isRecordType()) &&
  480     if (opaque->getType()->isRecordType()) {
  599   if (sanitizePerformTypeCheck() && !E->getType()->isFunctionType()) {
  639   CXXRecordDecl *RD = Ty->getAsCXXRecordDecl();
  713       !Ty->isIncompleteType()) {
  744     if (!Ty->isIncompleteType() && !AlignVal)
  861   const ArrayType *AT = E->getType()->castAsArrayTypeUnsafe();
  930   if (const VectorType *VT = Base->getType()->getAs<VectorType>()) {
  941       const ArrayType *AT = IndexedType->castAsArrayTypeUnsafe();
  950   QualType EltTy{Base->getType()->getPointeeOrArrayElementType(), 0};
  971   bool IndexSigned = IndexType->isSignedIntegerOrEnumerationType();
 1000     QualType ElemTy = E->getType()->castAs<ComplexType>()->getElementType();
 1023   if (CGF && E->getType()->isVariablyModifiedType())
 1040   assert(E->getType()->isPointerType() ||
 1041          E->getType()->isObjCObjectPointerType());
 1054       if (auto PtrTy = CE->getSubExpr()->getType()->getAs<PointerType>()) {
 1055         if (PtrTy->getPointeeType()->isVoidType())
 1086           if (auto PT = E->getType()->getAs<PointerType>())
 1112       auto Derived = CE->getSubExpr()->getType()->getPointeeCXXRecordDecl();
 1145   if (Ty->isVoidType())
 1151       ConvertType(Ty->castAs<ComplexType>()->getElementType());
 1259     if (const AtomicType *AT = Ty->getAs<AtomicType>())
 1261     if (!Ty->isAnyComplexType())
 1385   assert(!type->isReferenceType());
 1532   if (Ty->isBooleanType())
 1535   if (const EnumType *ET = Ty->getAs<EnumType>())
 1536     return ET->getDecl()->getIntegerType()->isBooleanType();
 1538   if (const AtomicType *AT = Ty->getAs<AtomicType>())
 1547   const EnumType *ET = Ty->getAs<EnumType>();
 1597   bool NeedsEnumCheck = HasEnumCheck && Ty->getAs<EnumType>();
 1642     if (Ty->isVectorType()) {
 1668   if (Ty->isAtomicType() || LValueIsSuitableForInlineAtomic(AtomicLValue)) {
 1723     if (Ty->isVectorType()) {
 1747   if (Ty->isAtomicType() ||
 1794     assert(!LV.getType()->isFunctionType());
 1860   const VectorType *ExprVT = LV.getType()->getAs<VectorType>();
 1883   const VectorType *ExprVT = LV.getType()->getAs<VectorType>();
 1903   assert((LV.getType()->isIntegerType() || LV.getType()->isPointerType()) &&
 1903   assert((LV.getType()->isIntegerType() || LV.getType()->isPointerType()) &&
 2101   if (const VectorType *VTy = Dst.getType()->getAs<VectorType>()) {
 2163   assert((Dst.getType()->isIntegerType() || Dst.getType()->isPointerType()) &&
 2163   assert((Dst.getType()->isIntegerType() || Dst.getType()->isPointerType()) &&
 2195     if (IsMemberAccess && ExpTy->isPointerType()) {
 2199       ExpTy = ExpTy->castAs<PointerType>()->getPointeeType();
 2200       if (ExpTy->isRecordType()) {
 2208     LV.setObjCArray(E->getType()->isArrayType());
 2219     LV.setObjCArray(E->getType()->isArrayType());
 2234       if (ExpTy->isPointerType())
 2235         ExpTy = ExpTy->castAs<PointerType>()->getPointeeType();
 2236       if (ExpTy->isRecordType())
 2279     LV.setObjCArray(E->getType()->isArrayType());
 2316   return CGF.EmitLoadOfPointer(Addr, PtrTy->castAs<PointerType>());
 2327   CharUnits Align = getNaturalTypeAlignment(RefLVal.getType()->getPointeeType(),
 2338   return MakeAddrLValue(PointeeAddr, RefLVal.getType()->getPointeeType(),
 2388   LValue LV = VD->getType()->isReferenceType() ?
 2406             FD->getType()->getAs<FunctionProtoType>()) {
 2532         (VD->getType()->isReferenceType() ||
 2540       if (!VD->getType()->isReferenceType()) {
 2571           if (VD->getType()->isReferenceType())
 2644     LValue LV = VD->getType()->isReferenceType() ?
 2651                      !VD->getType()->isReferenceType() &&
 2687     QualType T = E->getSubExpr()->getType()->getPointeeType();
 2716       assert(E->getSubExpr()->getType()->isArithmeticType());
 2720     QualType T = ExprTy->castAs<ComplexType>()->getElementType();
 2736     if (E->getType()->isAnyComplexType())
 2799   if (T->isIntegerType()) {
 2802                (T->isSignedIntegerType() ? 1 : 0);
 2803   } else if (T->isFloatingType()) {
 3317   assert(E->getType()->isArrayType() &&
 3331   if (!E->getType()->isVariableArrayType()) {
 3342   QualType EltType = E->getType()->castAsArrayTypeUnsafe()->getElementType();
 3359   if (SubExpr->getType()->isVariableArrayType())
 3464     bool IdxSigned = IdxTy->isSignedIntegerOrEnumerationType();
 3480   if (E->getBase()->getType()->isVectorType() &&
 3498     QualType EltType = LV.getType()->castAs<VectorType>()->getElementType();
 3533   } else if (const ObjCObjectType *OIT = E->getType()->getAs<ObjCObjectType>()){
 3568     assert(Array->getType()->isArrayType() &&
 3615     if (BaseTy->isArrayType()) {
 3626       if (!BaseTy->isVariableArrayType()) {
 3653     ResultExprTy = BaseTy->getPointeeType();
 3662           LowerBound->getType()->hasSignedIntegerRepresentation());
 3694                       LowerBound->getType()->hasSignedIntegerRepresentation())
 3700                       Length->getType()->hasSignedIntegerRepresentation())
 3714       QualType ArrayTy = BaseTy->isPointerType()
 3728             Length->getType()->hasSignedIntegerRepresentation());
 3770     assert(Array->getType()->isArrayType() &&
 3811     const PointerType *PT = E->getBase()->getType()->getAs<PointerType>();
 3817     assert(E->getBase()->getType()->isVectorType());
 3821     assert(E->getBase()->getType()->isVectorType() &&
 3870     QualType PtrTy = BaseExpr->getType()->getPointeeType();
 4031           rec->hasAttr<MayAliasAttr>() || FieldType->isVectorType()) {
 4093     if (FieldType->isReferenceType())
 4106   if (FieldType->isReferenceType()) {
 4115     FieldType = FieldType->getPointeeType();
 4143   if (!FieldType->isReferenceType())
 4167   if (E->getType()->isVariablyModifiedType())
 4366       E->getSubExpr()->getType()->getAs<RecordType>();
 4386     const RecordType *DerivedClassTy = E->getType()->getAs<RecordType>();
 4497     if (FD->getType()->isReferenceType())
 4511   if (E->getCallee()->getType()->isBlockPointerType())
 4588   if (auto ptrType = E->getType()->getAs<PointerType>()) {
 4595   assert(functionType->isFunctionType());
 4602   CGCalleeInfo calleeInfo(functionType->getAs<FunctionProtoType>(), GD);
 4664   assert(E->getCallReturnType(getContext())->isReferenceType() &&
 4677   assert(E->getType()->getAsCXXRecordDecl()->hasTrivialDestructor()
 4715   assert(E->getMethodDecl()->getReturnType()->isReferenceType() &&
 4749     ObjectTy = BaseExpr->getType()->getPointeeType();
 4777   assert(CalleeType->isFunctionPointerType() &&
 4969     = E->getRHS()->getType()->getAs<MemberPointerType>();
tools/clang/lib/CodeGen/CGExprAgg.cpp
  222   if (LV.getType()->isAtomicType() || CGF.LValueIsSuitableForInlineAtomic(LV)) {
  233   const RecordType *RecordTy = T->getAs<RecordType>();
  396   RecordDecl *Record = E->getType()->castAs<RecordType>()->getDecl();
  404   if (!Field->getType()->isPointerType() ||
  405       !Ctx.hasSameType(Field->getType()->getPointeeType(),
  428   if (Field->getType()->isPointerType() &&
  429       Ctx.hasSameType(Field->getType()->getPointeeType(),
  752     assert(atomicType->isAtomicType());
  754                           atomicType->castAs<AtomicType>()->getValueType()));
  889   if (E->getCallReturnType(CGF.getContext())->isReferenceType()) {
  926   if (const ComplexType *CT = ArgTy->getAs<ComplexType>())
  929   if (const auto *MPT = ArgTy->getAs<MemberPointerType>()) {
  957   if (ArgTy->hasFloatingRepresentation())
  960   if (ArgTy->isIntegralOrEnumerationType() || ArgTy->isPointerType()) {
  960   if (ArgTy->isIntegralOrEnumerationType() || ArgTy->isPointerType()) {
  962         ArgTy->hasSignedIntegerRepresentation() ? InstInfo.SCmp : InstInfo.UCmp;
  985   if (ArgTy->isVectorType())
  988   if (!ArgTy->isIntegralOrEnumerationType() && !ArgTy->isRealFloatingType() &&
  988   if (!ArgTy->isIntegralOrEnumerationType() && !ArgTy->isRealFloatingType() &&
  989       !ArgTy->isNullPtrType() && !ArgTy->isPointerType() &&
  989       !ArgTy->isNullPtrType() && !ArgTy->isPointerType() &&
  990       !ArgTy->isMemberPointerType() && !ArgTy->isAnyComplexType()) {
  990       !ArgTy->isMemberPointerType() && !ArgTy->isAnyComplexType()) {
  993   bool IsComplex = ArgTy->isAnyComplexType();
 1023   if (ArgTy->isNullPtrType()) {
 1159     if (LHS.getType()->isAtomicType() ||
 1178   if (LHS.getType()->isAtomicType() ||
 1401   } else if (type->isReferenceType()) {
 1482   if (E->getType()->isArrayType()) {
 1488   assert(E->getType()->isRecordType() && "Only support structs/unions here!");
 1495   RecordDecl *record = E->getType()->castAs<RecordType>()->getDecl();
 1517       auto *BaseRD = Base.getType()->getAsCXXRecordDecl();
 1574     if (field->getType()->isIncompleteArrayType())
 1763   if (const RecordType *RT = E->getType()->getAs<RecordType>()) {
 1776         if (Field->getType()->isIncompleteArrayType() ||
 1785         if (Field->getType()->isReferenceType())
 1816                        .getBaseElementType(E->getType())->getAs<RecordType>()) {
 1876   if (!FD->hasAttr<NoUniqueAddressAttr>() || !FD->getType()->isRecordType())
 1917   assert(!Ty->isAnyComplexType() && "Shouldn't happen for complex");
 1923     if (const RecordType *RT = Ty->getAs<RecordType>()) {
 1995   } else if (const RecordType *RecordTy = Ty->getAs<RecordType>()) {
 2002   } else if (Ty->isArrayType()) {
 2004     if (const RecordType *RecordTy = BaseType->getAs<RecordType>()) {
tools/clang/lib/CodeGen/CGExprCXX.cpp
   55   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
   83   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
   99   assert(ThisTy->getAsCXXRecordDecl() == DtorDecl->getParent() &&
  132       const PointerType *PTy = BaseExpr->getType()->getAs<PointerType>();
  171   if (const PointerType *PTy = T->getAs<PointerType>())
  173   const RecordType *Ty = T->castAs<RecordType>();
  251       EmitCallArgs(*RtlArgs, MD->getType()->castAs<FunctionProtoType>(),
  364           IsArrow ? Base->getType()->getPointeeType() : Base->getType();
  421   const auto *MPT = MemFnExpr->getType()->castAs<MemberPointerType>();
  422   const auto *FPT = MPT->getPointeeType()->castAs<FunctionProtoType>();
  710     = (*e->getArraySize())->getType()->isSignedIntegerOrEnumerationType();
 1032           cast<ConstantArrayType>(ILE->getType()->getAsArrayTypeUnsafe())
 1057             AllocType->getAsArrayTypeUnsafe())) {
 1106     while (Init && Init->getType()->isConstantArrayType()) {
 1187     if (const RecordType *RType = ILE->getType()->getAs<RecordType>()) {
 1341   const FunctionProtoType *FPT = FD->getType()->castAs<FunctionProtoType>();
 1355   if (AI != AE && (*AI)->isIntegerType()) {
 1360   if (AI != AE && (*AI)->isAlignValT()) {
 1416           OperatorDelete->getType()->getAs<FunctionProtoType>();
 1547           cast<ConstantArrayType>(ILE->getType()->getAsArrayTypeUnsafe())
 1587       allocator->getType()->castAs<FunctionProtoType>();
 1606                    AlignValT->castAs<EnumType>()->getDecl()->getIntegerType(),
 1759     DeleteFD->getType()->getAs<FunctionProtoType>();
 1848   auto *Dtor = ElementType->getAsCXXRecordDecl()->getDestructor();
 1876   if (const RecordType *RT = ElementType->getAs<RecordType>()) {
 2040   if (DeleteTy->isConstantArrayType()) {
 2170   if (DestTy->isPointerType())
 2192   const PointerType *DestPTy = DestTy->getAs<PointerType>();
 2198     isDynamicCastToVoid = DestPTy->getPointeeType()->isVoidType();
 2199     SrcRecordTy = SrcTy->castAs<PointerType>()->getPointeeType();
 2204     DestRecordTy = DestTy->castAs<ReferenceType>()->getPointeeType();
 2219   assert(SrcRecordTy->isRecordType() && "source type must be a record type!");
 2225       CGM.getCXXABI().shouldDynamicCastCallBeNullChecked(SrcTy->isPointerType(),
 2246     assert(DestRecordTy->isRecordType() &&
tools/clang/lib/CodeGen/CGExprComplex.cpp
  233     assert(E->getType()->isAnyComplexType() && "Expected complex type!");
  234     QualType Elem = E->getType()->castAs<ComplexType>()->getElementType();
  239     assert(E->getType()->isAnyComplexType() && "Expected complex type!");
  240     QualType Elem = E->getType()->castAs<ComplexType>()->getElementType();
  348   if (lvalue.getType()->isAtomicType())
  373   if (lvalue.getType()->isAtomicType() ||
  407   if (E->getCallReturnType(CGF.getContext())->isReferenceType())
  427   SrcType = SrcType->castAs<ComplexType>()->getElementType();
  428   DestType = DestType->castAs<ComplexType>()->getElementType();
  443   DestType = DestType->castAs<ComplexType>()->getElementType();
  619            Op.Ty->castAs<ComplexType>()->getElementType());
  621            Op.Ty->castAs<ComplexType>()->getElementType());
  623            Op.Ty->castAs<ComplexType>()->getElementType());
  625            Op.Ty->castAs<ComplexType>()->getElementType());
  637       4, Op.Ty->castAs<ComplexType>()->getElementType());
  645   CGCallee Callee = CGCallee::forDirect(Func, FQTy->getAs<FunctionProtoType>());
  854     if (Op.Ty->castAs<ComplexType>()->getElementType()->isUnsignedIntegerType()) {
  854     if (Op.Ty->castAs<ComplexType>()->getElementType()->isUnsignedIntegerType()) {
  871   if (E->getLHS()->getType()->isRealFloatingType())
  875   if (E->getRHS()->getType()->isRealFloatingType())
  892   if (const AtomicType *AT = LHSTy->getAs<AtomicType>())
  904   if (E->getRHS()->getType()->isRealFloatingType()) {
  919   if (LHSTy->isAnyComplexType()) {
  926     if (LHSTy->isRealFloatingType()) {
  939   if (LHSTy->isAnyComplexType()) {
 1078   QualType Ty = E->getType()->castAs<ComplexType>()->getElementType();
 1091       CGF.ConvertType(E->getType()->castAs<ComplexType>()->getElementType());
tools/clang/lib/CodeGen/CGExprConstant.cpp
  614   if (Type->isRecordType())
  662   RecordDecl *RD = ILE->getType()->castAs<RecordType>()->getDecl();
  699         (Field->getType()->isArrayType() || Field->getType()->isRecordType())) {
  699         (Field->getType()->isArrayType() || Field->getType()->isRecordType())) {
  784       const CXXRecordDecl *BD = Base->getType()->getAsCXXRecordDecl();
  842   RecordDecl *RD = Type->castAs<RecordType>()->getDecl();
  865   const RecordDecl *RD = ValTy->castAs<RecordType>()->getDecl();
 1036       assert(E->getType()->isUnionType() &&
 1073       LangAS destAS = E->getType()->getPointeeType().getAddressSpace();
 1074       LangAS srcAS = subExpr->getType()->getPointeeType().getAddressSpace();
 1238     if (ILE->getType()->isArrayType())
 1241     if (ILE->getType()->isRecordType())
 1262     if (auto *RT = destType->getAs<RecordType>())
 1273         CGM.getContext().getBaseElementType(Ty)->castAs<RecordType>();
 1589   if (auto AT = type->getAs<AtomicType>()) {
 1602     if (Ty->isRecordType())
 1626   if (destType->isReferenceType())
 1671   if (auto AT = destType->getAs<AtomicType>()) {
 1704   if (destType->isReferenceType())
 2213         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 2240       if (const auto *FieldRD = Field->getType()->getAsRecordDecl())
 2250         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 2295   if (T->getAs<PointerType>())
 2315   if (const RecordType *RT = T->getAs<RecordType>())
 2318   assert(T->isMemberDataPointerType() &&
 2321   return getCXXABI().EmitNullMemberPointer(T->castAs<MemberPointerType>());
tools/clang/lib/CodeGen/CGExprScalar.cpp
  104         LHSCI, RHSCI, Opcode, Ty->hasSignedIntegerRepresentation(), Result);
  139       return LHSType->isFixedPointType() || RHSType->isFixedPointType();
  139       return LHSType->isFixedPointType() || RHSType->isFixedPointType();
  149   return E->getType()->isNullPtrType();
  160   if (!BaseTy->isPromotableIntegerType() ||
  203       !LHSTy->isUnsignedIntegerType() || !RHSTy->isUnsignedIntegerType())
  203       !LHSTy->isUnsignedIntegerType() || !RHSTy->isUnsignedIntegerType())
  270       if (VD->getType()->isReferenceType()) {
  521         E->getMethodDecl()->getReturnType()->isReferenceType())
  577     if (E->getCallReturnType(CGF.getContext())->isReferenceType())
  621     if (E->getType()->isVoidType())
  713     if (Ops.Ty->isSignedIntegerOrEnumerationType()) {
  728     if (Ops.Ty->isUnsignedIntegerType() &&
  855   if (SrcType->isRealFloatingType())
  861   assert((SrcType->isIntegerType() || isa<llvm::PointerType>(Src->getType())) &&
  874   assert(SrcType->isFloatingType() && "not a conversion from floating point");
  890   bool Unsigned = DstType->isUnsignedIntegerOrEnumerationType();
  918   if (OrigSrcType->isHalfType()) {
  955   bool SrcSigned = SrcType->isSignedIntegerOrEnumerationType();
  956   bool DstSigned = DstType->isSignedIntegerOrEnumerationType();
  987   if (!(SrcType->isIntegerType() && DstType->isIntegerType()))
  987   if (!(SrcType->isIntegerType() && DstType->isIntegerType()))
  996   assert(!DstType->isBooleanType() && "we should not get here with booleans.");
 1001   bool SrcSigned = SrcType->isSignedIntegerOrEnumerationType();
 1002   bool DstSigned = DstType->isSignedIntegerOrEnumerationType();
 1039   bool SrcSigned = SrcType->isSignedIntegerOrEnumerationType();
 1040   bool DstSigned = DstType->isSignedIntegerOrEnumerationType();
 1055     bool VSigned = VType->isSignedIntegerOrEnumerationType();
 1098   if (!(SrcType->isIntegerType() && DstType->isIntegerType()))
 1098   if (!(SrcType->isIntegerType() && DstType->isIntegerType()))
 1101   bool SrcSigned = SrcType->isSignedIntegerOrEnumerationType();
 1102   bool DstSigned = DstType->isSignedIntegerOrEnumerationType();
 1181   if (SrcType->isFixedPointType()) {
 1182     if (DstType->isBooleanType())
 1189     if (DstType->isFixedPointType() || DstType->isIntegerType())
 1189     if (DstType->isFixedPointType() || DstType->isIntegerType())
 1194   } else if (DstType->isFixedPointType()) {
 1195     if (SrcType->isIntegerType())
 1210   if (DstType->isVoidType()) return nullptr;
 1217   if (DstType->isBooleanType())
 1223   if (SrcType->isHalfType() && !CGF.getContext().getLangOpts().NativeHalfType) {
 1264     assert(SrcType->isIntegerType() && "Not ptr->ptr or int->ptr conversion?");
 1268     bool InputSigned = SrcType->isSignedIntegerOrEnumerationType();
 1282   if (DstType->isExtVectorType() && !SrcType->isVectorType()) {
 1282   if (DstType->isExtVectorType() && !SrcType->isVectorType()) {
 1285     assert(DstType->castAs<ExtVectorType>()->getElementType().getTypePtr() ==
 1341       OrigSrcType->isFloatingType())
 1346   if (DstType->isHalfType() && !CGF.getContext().getLangOpts().NativeHalfType) {
 1361     bool InputSigned = SrcType->isSignedIntegerOrEnumerationType();
 1362     if (SrcType->isBooleanType() && Opts.TreatBooleanAsSigned) {
 1373     if (DstType->isSignedIntegerOrEnumerationType())
 1416                                   DstTy->isIntegerType());
 1507   SrcTy = SrcTy->castAs<ComplexType>()->getElementType();
 1510   if (DstTy->isBooleanType()) {
 1585   if (E->getType()->isVoidType())
 1655   assert(SrcType->isVectorType() &&
 1657   assert(DstType->isVectorType() &&
 1667   QualType SrcEltType = SrcType->castAs<VectorType>()->getElementType(),
 1668            DstEltType = DstType->castAs<VectorType>()->getElementType();
 1678   if (DstEltType->isBooleanType()) {
 1694     bool InputSigned = SrcEltType->isSignedIntegerOrEnumerationType();
 1703     if (DstEltType->isSignedIntegerOrEnumerationType())
 1742   if (!E->getBase()->getType()->isVectorType())
 2004       if (auto PT = DestTy->getAs<PointerType>())
 2052         CGF, Visit(E), E->getType()->getPointeeType().getAddressSpace(),
 2053         DestTy->getPointeeType().getAddressSpace(), ConvertType(DestTy));
 2062     const CXXRecordDecl *DerivedClassDecl = DestTy->getPointeeCXXRecordDecl();
 2075                         Derived.getPointer(), DestTy->getPointeeType());
 2079           DestTy->getPointeeType(), Derived.getPointer(),
 2114     const MemberPointerType *MPT = CE->getType()->getAs<MemberPointerType>();
 2166     bool InputSigned = E->getType()->isSignedIntegerOrEnumerationType();
 2181     assert(!DestTy->isBooleanType() && "bool should use PointerToBool");
 2212     assert(E->getType()->isFixedPointType() &&
 2214     assert(DestTy->isBooleanType() && "Expected dest type to be boolean type");
 2219     assert(E->getType()->isFixedPointType() &&
 2221     assert(DestTy->isIntegerType() && "Expected dest type to be an integer");
 2226     assert(E->getType()->isIntegerType() &&
 2228     assert(DestTy->isFixedPointType() &&
 2261     const MemberPointerType *MPT = E->getType()->getAs<MemberPointerType>();
 2279     assert((DestTy->isEventT() || DestTy->isQueueT() ||
 2279     assert((DestTy->isEventT() || DestTy->isQueueT() ||
 2280             DestTy->isOCLIntelSubgroupAVCType()) &&
 2296                                            !E->getType()->isVoidType());
 2361   if (const AtomicType *atomicTy = type->getAs<AtomicType>()) {
 2363     if (isInc && type->isBooleanType()) {
 2379     if (!type->isBooleanType() && type->isIntegerType() &&
 2379     if (!type->isBooleanType() && type->isIntegerType() &&
 2380         !(type->isUnsignedIntegerType() &&
 2417   if (isInc && type->isBooleanType()) {
 2421   } else if (type->isIntegerType()) {
 2424     if (E->canOverflow() && type->isSignedIntegerOrEnumerationType()) {
 2426     } else if (E->canOverflow() && type->isUnsignedIntegerType() &&
 2436   } else if (const PointerType *ptr = type->getAs<PointerType>()) {
 2452     } else if (type->isFunctionType()) {
 2476   } else if (type->isVectorType()) {
 2477     if (type->hasIntegerRepresentation()) {
 2489   } else if (type->isRealFloatingType()) {
 2493     if (type->isHalfType() && !CGF.getContext().getLangOpts().NativeHalfType) {
 2529     if (type->isHalfType() && !CGF.getContext().getLangOpts().NativeHalfType) {
 2542     const ObjCObjectPointerType *OPT = type->castAs<ObjCObjectPointerType>();
 2612   if (E->getType()->isExtVectorType()) {
 2656       bool IdxSigned = IdxExpr->getType()->isSignedIntegerOrEnumerationType();
 2674       RecordDecl *RD = CurrentType->castAs<RecordType>()->getDecl();
 2707       RecordDecl *RD = CurrentType->castAs<RecordType>()->getDecl();
 2714       const RecordType *BaseRT = CurrentType->getAs<RecordType>();
 2758                 E->getTypeOfArgument()->getPointeeType()))
 2770   if (Op->getType()->isAnyComplexType()) {
 2787   if (Op->getType()->isAnyComplexType()) {
 2831   if (E->getComputationResultType()->isAnyComplexType())
 2845   if (const AtomicType *atomicTy = LHSTy->getAs<AtomicType>()) {
 2847     if (!type->isBooleanType() && type->isIntegerType() &&
 2847     if (!type->isBooleanType() && type->isIntegerType() &&
 2848         !(type->isUnsignedIntegerType() &&
 2973       Ops.Ty->hasSignedIntegerRepresentation() &&
 2998         Ops.Ty->isIntegerType() &&
 3003                Ops.Ty->isRealFloatingType() &&
 3029   else if (Ops.Ty->hasUnsignedIntegerRepresentation())
 3039       Ops.Ty->isIntegerType() &&
 3046   if (Ops.Ty->hasUnsignedIntegerRepresentation())
 3056   bool isSigned = Ops.Ty->isSignedIntegerOrEnumerationType();
 3175   bool isSigned = indexOperand->getType()->isSignedIntegerOrEnumerationType();
 3220     = pointerOperand->getType()->getAs<PointerType>();
 3223                                         ->castAs<ObjCObjectPointerType>()
 3260   if (elementType->isVoidType() || elementType->isFunctionType()) {
 3260   if (elementType->isVoidType() || elementType->isFunctionType()) {
 3345   if (op.Ty->isSignedIntegerOrEnumerationType()) {
 3360   if (op.Ty->isUnsignedIntegerType() &&
 3490     if (op.Ty->isSignedIntegerOrEnumerationType()) {
 3505     if (op.Ty->isUnsignedIntegerType() &&
 3540   QualType elementType = expr->getLHS()->getType()->getPointeeType();
 3563     if (elementType->isVoidType() || elementType->isFunctionType())
 3563     if (elementType->isVoidType() || elementType->isFunctionType())
 3598                       Ops.Ty->hasSignedIntegerRepresentation() &&
 3677   if (Ops.Ty->hasUnsignedIntegerRepresentation())
 3733   if (const MemberPointerType *MPT = LHSTy->getAs<MemberPointerType>()) {
 3740   } else if (!LHSTy->isAnyComplexType() && !RHSTy->isAnyComplexType()) {
 3740   } else if (!LHSTy->isAnyComplexType() && !RHSTy->isAnyComplexType()) {
 3747     if (LHSTy->isVectorType() && !E->getType()->isVectorType()) {
 3747     if (LHSTy->isVectorType() && !E->getType()->isVectorType()) {
 3757       QualType ElTy = LHSTy->castAs<VectorType>()->getElementType();
 3758       const BuiltinType *BTy = ElTy->getAs<BuiltinType>();
 3825     } else if (LHSTy->hasSignedIntegerRepresentation()) {
 3851     if (LHSTy->isVectorType())
 3858     if (auto *CTy = LHSTy->getAs<ComplexType>()) {
 3866     if (auto *CTy = RHSTy->getAs<ComplexType>()) {
 3880     if (CETy->isRealFloatingType()) {
 3964   if (E->getType()->isVectorType()) {
 4048   if (E->getType()->isVectorType()) {
 4179       if (!Result && !E->getType()->isVoidType())
 4189       && condExpr->getType()->isVectorType()) {
 4295   if (Ty->isVariablyModifiedType())
 4464   assert(SrcTy->isAnyComplexType() && hasScalarEvaluationKind(DstTy) &&
tools/clang/lib/CodeGen/CGGPUBuiltin.cpp
   80                E->getDirectCallee()->getType()->getAs<FunctionProtoType>(),
tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp
   41     const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
  162     if (FT->isBlockPointerType())
  443         SourceLocation Loc = QT->castAs<RecordType>()->getDecl()->getLocation();
  650     if (Size < CharUnits::fromQuantity(16) || EltTy->getAs<RecordType>()) {
tools/clang/lib/CodeGen/CGObjC.cpp
   87   if (ValueType->isObjCBoxableRecordType()) {
  217     = ResultType->getAsObjCInterfacePointerType();
  268   if (!ExpT->isObjCRetainableType())
  344   assert(E->getType()->isObjCRetainableType());
  385         ResultType->isObjCObjectPointerType()) {
  393             Args.size() == 1 && Args.front().getType()->isPointerType() &&
  405     if (ResultType->isObjCObjectPointerType() &&
  412     if (ResultType->isObjCObjectPointerType() &&
  419     if (ResultType->isVoidType() &&
  445       !OME->getType()->isObjCObjectPointerType() || !Sel.isUnarySelector() ||
  467        !SelfInClassMethod) || !SubOME->getType()->isObjCObjectPointerType() ||
  476     const ObjCObjectType *ObjTy = ReceiverType->getAs<ObjCObjectType>();
  543     const ObjCObjectType *ObjTy = ReceiverType->getAs<ObjCObjectType>();
  906     if (const RecordType *recordType = ivarType->getAs<RecordType>())
 1165       if (propType->isReferenceType()) {
 1455   if (ivarRef.getType()->isObjCObjectPointerType()) {
 1456     if (argLoad.getType()->isObjCObjectPointerType())
 1458     else if (argLoad.getType()->isBlockPointerType())
 1462   } else if (ivarRef.getType()->isBlockPointerType()) {
 1463      if (argLoad.getType()->isBlockPointerType())
 1467   } else if (ivarRef.getType()->isPointerType()) {
 2114   if (type->isBlockPointerType())
 2304   bool isBlock = type->isBlockPointerType();
 2368   if (!type->isBlockPointerType())
 2852   assert(e->getType()->isBlockPointerType());
 2994     assert(e->getSubExpr()->getType()->hasPointerRepresentation());
 3409   if (!hasImmediateRetain && e->getType()->isBlockPointerType()) {
 3490   if (!Ty->isRecordType())
 3545   UnaryOperator DST(&DstExpr, UO_Deref, DestTy->getPointeeType(),
 3550   UnaryOperator SRC(&SrcExpr, UO_Deref, SrcTy->getPointeeType(),
 3556       C, OO_Equal, CalleeExp->getCallee(), Args, DestTy->getPointeeType(),
 3575   if (!Ty->isRecordType())
 3629   UnaryOperator SRC(&SrcExpr, UO_Deref, SrcTy->getPointeeType(),
tools/clang/lib/CodeGen/CGObjCGNU.cpp
 2360   if (T->isObjCIdType() || T->isObjCQualifiedIdType()) {
 2360   if (T->isObjCIdType() || T->isObjCQualifiedIdType()) {
 2373   const ObjCObjectPointerType *OPT = T->getAs<ObjCObjectPointerType>();
 2391   if (T->isObjCIdType() ||
 2392       T->isObjCQualifiedIdType()) {
 2405     T->getAs<ObjCObjectPointerType>();
 2645   bool isPointerSizedReturn = (ResultType->isAnyPointerType() ||
 2646       ResultType->isIntegralOrEnumerationType() || ResultType->isVoidType());
 2646       ResultType->isIntegralOrEnumerationType() || ResultType->isVoidType());
 4043     ObjectTy->castAs<ObjCObjectType>()->getInterface();
tools/clang/lib/CodeGen/CGObjCMac.cpp
  240         Ctx.getPointerDiffType()->getCanonicalTypeUnqualified(), Ctx.BoolTy};
  256         Ctx.getPointerDiffType()->getCanonicalTypeUnqualified(),
  284     Params.push_back(Ctx.getPointerDiffType()->getCanonicalTypeUnqualified());
 1769     if (result.isScalar() && resultType->isVoidType()) {
 1898   if (T->isObjCIdType() ||
 1899       T->isObjCQualifiedIdType()) {
 1903   if (T->isObjCClassType() ||
 1904       T->isObjCQualifiedClassType()) {
 1908   if (T->isObjCObjectPointerType())
 2276   if (FQT->isObjCObjectPointerType() || FQT->isBlockPointerType())
 2276   if (FQT->isObjCObjectPointerType() || FQT->isBlockPointerType())
 2281     if (const PointerType *PT = FQT->getAs<PointerType>())
 2418     assert(!type->isArrayType() && "array variable should not be caught");
 2419     if (const RecordType *record = type->getAs<RecordType>()) {
 2448   if (FQT->isObjCObjectPointerType() || FQT->isBlockPointerType())
 2448   if (FQT->isObjCObjectPointerType() || FQT->isBlockPointerType())
 2510     if (FQT->isRecordType() || FQT->isUnionType()) {
 2510     if (FQT->isRecordType() || FQT->isUnionType()) {
 2511       if (FQT->isUnionType())
 2514       BuildRCBlockVarRecordLayout(FQT->getAs<RecordType>(),
 2529       if (FQT->isRecordType() && ElCount) {
 2531         const RecordType *RT = FQT->getAs<RecordType>();
 2937     assert(!type->isArrayType() && "array variable should not be caught");
 2939       if (const RecordType *record = type->getAs<RecordType>()) {
 2970   assert(!T->isArrayType() && "__block array variable should not be caught");
 2974   if (const RecordType *record = T->getAs<RecordType>()) {
 3472   if (auto recType = type->getAs<RecordType>()) {
 4614         OPT = CatchParam->getType()->getAs<ObjCObjectPointerType>();
 4903     ObjectTy->castAs<ObjCObjectType>()->getInterface();
 5219   assert(!fieldType->isArrayType() && "ivar of non-constant array type?");
 5226   if (auto recType = fieldType->getAs<RecordType>()) {
 7055   ObjCInterfaceDecl *ID = ObjectTy->castAs<ObjCObjectType>()->getInterface();
 7632   if (T->isObjCIdType() || T->isObjCQualifiedIdType()) {
 7632   if (T->isObjCIdType() || T->isObjCQualifiedIdType()) {
 7646   const ObjCObjectPointerType *PT = T->getAs<ObjCObjectPointerType>();
tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp
   99   const PipeType *PipeTy = PipeArg->getType()->getAs<PipeType>();
  109   const PipeType *PipeTy = PipeArg->getType()->getAs<PipeType>();
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
  148             PartIDVar->getType()->castAs<PointerType>());
  165             PartIDVar->getType()->castAs<PointerType>());
  868   const ArrayType *ArrayTy = Type->getAsArrayTypeUnsafe();
 1000   if (!PrivateType->isVariablyModifiedType()) {
 1038   if (!PrivateType->isVariablyModifiedType()) {
 1107   while ((BaseTy->isPointerType() || BaseTy->isReferenceType()) &&
 1107   while ((BaseTy->isPointerType() || BaseTy->isReferenceType()) &&
 1109     if (const auto *PtrTy = BaseTy->getAs<PointerType>()) {
 1115     BaseTy = BaseTy->getPointeeType();
 1131   while ((BaseTy->isPointerType() || BaseTy->isReferenceType()) &&
 1131   while ((BaseTy->isPointerType() || BaseTy->isReferenceType()) &&
 1139     BaseTy = BaseTy->getPointeeType();
 1207       getThreadIDVariable()->getType()->castAs<PointerType>());
 1382     return CGF.EmitLoadOfPointerLValue(AddrIn, PtrTy->castAs<PointerType>())
 1387     return CGF.EmitLoadOfPointerLValue(AddrOut, PtrTy->castAs<PointerType>())
 1443   assert(ThreadIDVar->getType()->isPointerType() &&
 1497                                     TaskTVar->getType()->castAs<PointerType>())
 1504   assert(!ThreadIDVar->getType()->isPointerType() &&
 1545   const auto *RD = cast<RecordDecl>(Ty->getAsTagDecl());
 1560   const auto *RD = cast<RecordDecl>(Ty->getAsTagDecl());
 1661   auto Fields = cast<RecordDecl>(IdentQTy->getAsTagDecl())->field_begin();
 4532       KmpTaskTWithPrivatesPtrQTy->castAs<PointerType>());
 4534       cast<RecordDecl>(KmpTaskTWithPrivatesQTy->getAsTagDecl());
 4537   const auto *KmpTaskTQTyRD = cast<RecordDecl>(KmpTaskTQTy->getAsTagDecl());
 4630       KmpTaskTWithPrivatesPtrQTy->castAs<PointerType>());
 4632       cast<RecordDecl>(KmpTaskTWithPrivatesQTy->getAsTagDecl());
 4636        cast<RecordDecl>(FI->getType()->getAsTagDecl())->fields()) {
 4729       TaskPrivatesArg.getType()->castAs<PointerType>());
 4730   const auto *PrivatesQTyRD = cast<RecordDecl>(PrivatesQTy->getAsTagDecl());
 4738         RefLVal.getAddress(), RefLVal.getType()->castAs<PointerType>());
 4776   FI = cast<RecordDecl>(FI->getType()->getAsTagDecl())->field_begin();
 4808         if (Type->isArrayType()) {
 4912       KmpTaskTWithPrivatesPtrQTy->castAs<PointerType>());
 4930         KmpTaskTWithPrivatesPtrQTy->castAs<PointerType>());
 4952   const auto *PrivateRD = cast<RecordDecl>(FI->getType()->getAsTagDecl());
 5023   const auto *KmpTaskTQTyRD = cast<RecordDecl>(KmpTaskTQTy->getAsTagDecl());
 5122   if (!SharedsTy->getAsStructureType()->getDecl()->field_empty()) {
 5153       (*FI)->getType()->getAsUnionType()->getDecl();
 5218       KmpDependInfoRD = cast<RecordDecl>(KmpDependInfoTy->getAsTagDecl());
 5479   const ArrayType *ArrayTy = Type->getAsArrayTypeUnsafe();
 5610     if (PrivTy->isVariablyModifiedType()) {
 5628     if ((*IPriv)->getType()->isArrayType()) {
 5655   if (PrivateRef->getType()->isArrayType()) {
 5738     if (E->getType()->isVariablyModifiedType())
 5756     if ((*IPriv)->getType()->isVariablyModifiedType()) {
 5913         if ((*IPriv)->getType()->isArrayType()) {
 5937         if ((*IPriv)->getType()->isArrayType()) {
 6577                        VD->getType()->isReferenceType()) &&
 7174     if (const auto *RefTy = ExprTy->getAs<ReferenceType>())
 7193       if (const auto *PTy = BaseTy->getAs<PointerType>()) {
 7535       if (Ty->isAnyPointerType() && std::next(I) != CE) {
 7536         BP = CGF.EmitLoadOfPointer(BP, Ty->castAs<PointerType>());
 7598                        ->isAnyPointerType()) ||
 7599           I->getAssociatedExpression()->getType()->isAnyPointerType();
 7767       if (Cap.getCapturedVar()->getType()->isAnyPointerType())
 7815       const auto *Base = I.getType()->getAsCXXRecordDecl();
 7828       const auto *Base = I.getType()->getAsCXXRecordDecl();
 8171                          ->getAsCXXRecordDecl();
 8197       if (LC.getCaptureKind() != LCK_ByRef && !VD->getType()->isPointerType())
 8347               VD->getType().getCanonicalType()->getAsCXXRecordDecl())
 8350         const auto *RD = VD->getType().getCanonicalType()->getAsRecordDecl();
 8486       if (!RI.getType()->isAnyPointerType()) {
 8528         if (I != FirstPrivateDecls.end() && ElementType->isAnyPointerType()) {
 8928         .EmitLoadOfPointerLValue(PtrCurrent, PtrTy->castAs<PointerType>())
 9618   if (const auto *RD = RDTy->getBaseElementTypeUnsafe()->getAsCXXRecordDecl()) {
10268   if (!RetType.isNull() && !RetType->isVoidType()) {
10288   CDT = CDT->getCanonicalTypeUnqualified();
10289   if (CDT->isRecordType() || CDT->isUnionType())
10289   if (CDT->isRecordType() || CDT->isUnionType())
10382   if (QT->isVoidType())
10408   if (QT->isFloatingType())
10411   if (QT->isIntegerType())
10414   if (QT->isPointerType())
10426   if (getAArch64MTV(QT, Kind) && QT.getCanonicalType()->isPointerType()) {
10427     QualType PTy = QT.getCanonicalType()->getPointeeType();
10449   if (!RetType->isVoidType()) {
10828     RD = cast<RecordDecl>(KmpDimTy->getAsTagDecl());
10981   if (CVD->getType()->isVariablyModifiedType()) {
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
  262     if (Type->isLValueReferenceType())
  344                !FD->getType()->isAnyPointerType()))
  347         if (!FD->getType()->isReferenceType()) {
  348           assert(!VD->getType()->isVariablyModifiedType() &&
  358         VD->getType()->isReferenceType())
  361     if (VD->getType()->isVariablyModifiedType())
  368     if (VD->getType()->isLValueReferenceType())
  373         AllEscaped = VD->getType()->isLValueReferenceType();
 2320             Rec.second.FD->getType()->castAsArrayTypeUnsafe()->getElementType();
 2823   if (CastTy->isIntegerType() && ValTy->isIntegerType())
 2823   if (CastTy->isIntegerType() && ValTy->isIntegerType())
 2825                                      CastTy->hasSignedIntegerRepresentation());
 2998           C.getPointerType(Private->getType())->castAs<PointerType>());
 3014           C.getPointerType(Private->getType())->castAs<PointerType>());
 3021           C.getPointerType(Private->getType())->castAs<PointerType>());
 3029           C.getPointerType(Private->getType())->castAs<PointerType>());
 3789     if ((*IPriv)->getType()->isVariablyModifiedType()) {
 3989     if ((*IPriv)->getType()->isVariablyModifiedType()) {
 4293     if (E->getType()->isVariablyModifiedType())
 4311     if ((*IPriv)->getType()->isVariablyModifiedType()) {
 4444   if (!NativeParam->getType()->isReferenceType())
 4482          NativeParam->getType()->isReferenceType() &&
 4643           !CI->getCapturedVar()->getType()->isAnyPointerType()) {
 4859                          ->getAsCXXRecordDecl();
 4864     if (VD->getType().getCanonicalType()->isReferenceType())
 4888       if (VD->getType().getCanonicalType()->isReferenceType())
tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
  227   Info.IsSigned = FD->getType()->isSignedIntegerOrEnumerationType();
  315         if (const auto *FieldRD = Field->getType()->getAsRecordDecl())
  495     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
  521       const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
  534     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
  562     if (!hasOwnStorage(Base.getType()->getAsCXXRecordDecl(), Query))
  706   bool IsSigned = FD->getType()->isSignedIntegerOrEnumerationType();
tools/clang/lib/CodeGen/CGStmt.cpp
 1097   } else if (!ReturnValue.isValid() || (RV && RV->getType()->isVoidType())) {
 1104   } else if (FnRetTy->isReferenceType()) {
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
  304       if (!CurField->getType()->isAnyPointerType()) {
  346   if (T->isLValueReferenceType())
  350   if (T->isPointerType())
  351     return C.getPointerType(getCanonicalParamType(C, T->getPointeeType()));
  352   if (const ArrayType *A = T->getAsArrayTypeUnsafe()) {
  426         ((I->capturesVariableByCopy() && !ArgType->isAnyPointerType()) ||
  439     if (ArgType->isVariablyModifiedType())
  496     if (I->capturesVariableByCopy() && FD->getType()->isAnyPointerType()) {
  521       if (ArgLVal.getType()->isLValueReferenceType()) {
  523       } else if (!VarTy->isVariablyModifiedType() || !VarTy->isPointerType()) {
  523       } else if (!VarTy->isVariablyModifiedType() || !VarTy->isPointerType()) {
  524         assert(ArgLVal.getType()->isPointerType());
  526             ArgAddr, ArgLVal.getType()->castAs<PointerType>());
  534       assert(!FD->getType()->isAnyPointerType() &&
  646   const ArrayType *ArrayTy = OriginalType->getAsArrayTypeUnsafe();
  703   if (OriginalType->isArrayType()) {
  768           !FD->getType()->isReferenceType() &&
  778           FD && FD->getType()->isReferenceType() &&
  815         if (Type->isArrayType()) {
 1084         if (const auto *RefTy = PrivateVD->getType()->getAs<ReferenceType>())
 1158     if (isaOMPArraySectionExpr && Type->isVariablyModifiedType()) {
 1166     } else if ((isaOMPArraySectionExpr && Type->isScalarType()) ||
 1537                     E->getType()->getPointeeType()))
 1622     assert(!E->getType().getNonReferenceType()->isRecordType() &&
 1875   const bool IVSigned = IVExpr->getType()->hasSignedIntegerRepresentation();
 2038   const bool IVSigned = IVExpr->getType()->hasSignedIntegerRepresentation();
 2094   const bool IVSigned = IVExpr->getType()->hasSignedIntegerRepresentation();
 2422       const bool IVSigned = IVExpr->getType()->hasSignedIntegerRepresentation();
 3470       const bool IVSigned = IVExpr->getType()->hasSignedIntegerRepresentation();
 3661         DestType->castAs<ComplexType>()->getElementType();
 3668     QualType SrcElementType = SrcType->castAs<ComplexType>()->getElementType();
 3670         DestType->castAs<ComplexType>()->getElementType();
 3786     RMWOp = X.getType()->hasSignedIntegerRepresentation()
 3793     RMWOp = X.getType()->hasSignedIntegerRepresentation()
 3834         X.getType()->hasSignedIntegerRepresentation());
tools/clang/lib/CodeGen/CGVTables.cpp
   72   bool NullCheckValue = !ResultType->isReferenceType();
   90   auto ClassDecl = ResultType->getPointeeType()->getAsCXXRecordDecl();
   90   auto ClassDecl = ResultType->getPointeeType()->getAsCXXRecordDecl();
  160   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
  253     ResultType = MD->getType()->castAs<FunctionProtoType>()->getReturnType();
  338   const FunctionProtoType *FPT = MD->getType()->getAs<FunctionProtoType>();
  364   if (!ResultType->isVoidType() &&
  380   if (!ResultType->isVoidType() && Slot.isNull())
  507       MD->getType()->castAs<FunctionType>());
 1054     if (B.getType()->getAsCXXRecordDecl()->isDynamicClass())
 1056                     GetVCallVisibilityLevel(B.getType()->getAsCXXRecordDecl()));
 1059     if (B.getType()->getAsCXXRecordDecl()->isDynamicClass())
 1061                     GetVCallVisibilityLevel(B.getType()->getAsCXXRecordDecl()));
tools/clang/lib/CodeGen/CGValue.h
  229     assert((!Alignment.isZero() || Type->isIncompleteType()) &&
tools/clang/lib/CodeGen/CodeGenFunction.cpp
  108   return getNaturalTypeAlignment(T->getPointeeType(), BaseInfo, TBAAInfo,
  122   if (auto TT = T->getAs<TypedefType>()) {
  134   if (T->isIncompleteType()) {
  141     if (forPointeeType && (RD = T->getAsCXXRecordDecl())) {
  191     switch (type->getTypeClass()) {
  548     const ExtVectorType *HintEltQTy = HintQTy->getAs<ExtVectorType>();
  550         HintQTy->isSignedIntegerType() ||
  551         (HintEltQTy && HintEltQTy->getElementType()->isSignedIntegerType());
  620     auto *PT = MD->parameters()[1]->getType()->getAs<PointerType>();
  806     auto Nullability = FnRetTy->getNullability(getContext());
  856       if (const auto *SrcFnTy = FD->getType()->getAs<FunctionType>())
  895   if (RetTy->isVoidType()) {
  934         RetTy->isObjCRetainableType())
  964         if (!LambdaThisCaptureField->getType()->isPointerType()) {
 1005                     getContext().getTypeAlignInChars(ThisTy->getPointeeType()),
 1025     if (Ty->isVariablyModifiedType())
 1134   if (const RecordType *RT = T.getCanonicalType()->getAs<RecordType>()) {
 1218       !FD->getReturnType()->isVoidType() && Builder.GetInsertBlock()) {
 1622     if (const RecordType *RT = Ty->getAs<RecordType>()) {
 1856   assert(type->isVariablyModifiedType() &&
 1864     assert(type->isVariablyModifiedType());
 1941               size->getType()->isSignedIntegerType()) {
 1997   } while (type->isVariablyModifiedType());
 2001   if (getContext().getBuiltinVaListType()->isArrayType())
 2358   if (Ty->getPointeeType().isVolatileQualified())
tools/clang/lib/CodeGen/CodeGenFunction.h
  853       if (VarTy->isReferenceType()) {
 1097              expr->getType()->isFunctionType() ||
 2314     if (const RecordType *RT = T->getAs<RecordType>()) {
 4268                 ((*I)->isVariablyModifiedType() ||
 4269                  (*I).getNonReferenceType()->isObjCRetainableType() ||
tools/clang/lib/CodeGen/CodeGenModule.cpp
 1005         FD->getType()->castAs<FunctionType>()->getCallConv() == CC_X86RegCall) {
 1298       if (ty->isPointerType()) {
 1299         QualType pointeeTy = ty->getPointeeType();
 1340         bool isPipe = ty->isPipeType();
 1341         if (ty->isImageType() || isPipe)
 1351                          ->getAs<PipeType>()
 1365                              ->getAs<PipeType>()
 1377         if (ty->isImageType()) {
 1399       if (ty->isImageType() || ty->isPipeType()) {
 1399       if (ty->isImageType() || ty->isPipeType()) {
 1474       CollectMostBases(B.getType()->getAsCXXRecordDecl());
 2274     if (Ty->isRecordType()) {
 2566   if (const auto *RT = T->getBaseElementTypeUnsafe()->getAs<RecordType>())
 3382   if (!Ty.isConstant(Context) && !Ty->isReferenceType())
 3387           = Context.getBaseElementType(Ty)->getAsCXXRecordDecl())
 3539           Context.getBaseElementType(D->getType())->getAsCXXRecordDecl();
 3862   if (getLangOpts().OpenCL && ASTTy->isSamplerT())
 3909     assert(!ASTTy->isIncompleteType() && "Unexpected incomplete type");
 3918       if (D->getType()->isReferenceType())
 4148     if (const auto *RT = VarType->getAs<RecordType>()) {
 4846   assert(!E->getType()->isPointerType() && "Strings are always arrays");
 5738   if (ForEH && Ty->isObjCObjectPointerType() &&
 5770   if (isExternallyVisible(T->getLinkage())) {
 5799   if (!Ty->isPointerType())
 5804           Ty->getPointeeType().getCVRQualifiers()));
 5809   if (auto *FnType = Ty->getAs<FunctionProtoType>()) {
 5819   if (auto *FnType = Ty->getAs<FunctionNoProtoType>())
tools/clang/lib/CodeGen/CodeGenTBAA.cpp
   97   if (QTy->isReferenceType())
   99   if (const RecordType *TTy = QTy->getAs<RecordType>()) {
  220   if (AccessType->isIncompleteType())
  245   if (const RecordType *TTy = QTy->getAs<RecordType>()) {
tools/clang/lib/CodeGen/CodeGenTypes.cpp
  138       if (!isSafeToConvert(I.getType()->castAs<RecordType>()->getDecl(), CGT,
  160   if (const auto *AT = T->getAs<AtomicType>())
  164   if (const auto *RT = T->getAs<RecordType>())
  197   if (const auto *MPT = Ty->getAs<MemberPointerType>())
  201   const TagType *TT = Ty->getAs<TagType>();
  323     if (const RecordType *RT = FT->getReturnType()->getAs<RecordType>())
  327         if (const RecordType *RT = FPT->getParamType(i)->getAs<RecordType>())
  704   return isPaddedAtomicType(type->castAs<AtomicType>());
  747       ConvertRecordDeclType(I.getType()->castAs<RecordType>()->getDecl());
  793   assert((T->isAnyPointerType() || T->isBlockPointerType()) && "Invalid type");
  793   assert((T->isAnyPointerType() || T->isBlockPointerType()) && "Invalid type");
  798   if (T->getAs<PointerType>())
  812   if (const RecordType *RT = T->getAs<RecordType>()) {
  818   if (const MemberPointerType *MPT = T->getAs<MemberPointerType>())
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
  582     MPT->getPointeeType()->getAs<FunctionProtoType>();
  852     E->getType()->castAs<MemberPointerType>();
  903     E->getType()->castAs<MemberPointerType>();
  996     const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
 1020   const MemberPointerType *MPT = MPType->castAs<MemberPointerType>();
 1181         cast<CXXRecordDecl>(ElementType->castAs<RecordType>()->getDecl());
 1265   if (const RecordType *RecordTy = ThrowType->getAs<RecordType>()) {
 1343           PathElement.Base->getType()->getAsCXXRecordDecl());
 1384       cast<CXXRecordDecl>(SrcRecordTy->castAs<RecordType>()->getDecl());
 1411   const CXXRecordDecl *SrcDecl = SrcRecordTy->getAsCXXRecordDecl();
 1412   const CXXRecordDecl *DestDecl = DestRecordTy->getAsCXXRecordDecl();
 1427   if (DestTy->isReferenceType()) {
 1450       cast<CXXRecordDecl>(SrcRecordTy->castAs<RecordType>()->getDecl());
 1877       auto *BRD = B.getType()->getAsCXXRecordDecl();
 1896     auto *BRD = B.getType()->getAsCXXRecordDecl();
 2521   if (RetQT->isReferenceType())
 2705     if (VD->getType()->isReferenceType()) {
 2726   if (VD->getType()->isReferenceType())
 2896     const CXXRecordDecl *RD = Ty->getAsCXXRecordDecl();
 3139       cast<CXXRecordDecl>(Base->getType()->castAs<RecordType>()->getDecl());
 3290   switch (Ty->getLinkage()) {
 3363     llvmVisibility = CodeGenModule::GetLLVMVisibility(Ty->getVisibility());
 3368     auto RD = Ty->getAsCXXRecordDecl();
 3406   switch (Ty->getTypeClass()) {
 3603       cast<CXXRecordDecl>(Base->getType()->castAs<RecordType>()->getDecl());
 3702         cast<CXXRecordDecl>(Base.getType()->castAs<RecordType>()->getDecl());
 3751   if (auto *Proto = Type->getAs<FunctionProtoType>()) {
 3866   if (CanTy->getVisibility() != DefaultVisibility)
 4103     bool EndCatchMightThrow = CaughtType->isRecordType();
 4116       if (!PointeeType->isRecordType()) {
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp
   87         CD->getType()->castAs<FunctionProtoType>()->isVariadic())
  335       const CXXRecordDecl *VBase = I.getType()->getAsCXXRecordDecl();
  895   const CXXRecordDecl *SrcDecl = SrcRecordTy->getAsCXXRecordDecl();
  909     const CXXRecordDecl *BaseDecl = Base.getType()->getAsCXXRecordDecl();
  927   const CXXRecordDecl *SrcDecl = SrcRecordTy->getAsCXXRecordDecl();
  961   const CXXRecordDecl *SrcDecl = SrcRecordTy->getAsCXXRecordDecl();
  995       llvm::ConstantInt::get(CGF.Int32Ty, DestTy->isReferenceType())};
 1178     const CXXRecordDecl *VBase = S.getType()->getAsCXXRecordDecl();
 1213       MD->getType()->castAs<FunctionProtoType>()->getCallConv();
 1278   const FunctionProtoType *FPT = CD->getType()->castAs<FunctionProtoType>();
 1461     const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
 1554   const FunctionProtoType *FPT = D->getType()->castAs<FunctionProtoType>();
 2098     const CXXRecordDecl *VBase = I.getType()->getAsCXXRecordDecl();
 2717   const MemberPointerType *DstTy = MPType->castAs<MemberPointerType>();
 2738             ->castAs<MemberPointerType>();
 2754         if (BS.getType()->getAsCXXRecordDecl()->getCanonicalDecl() ==
 2779   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
 3093     E->getSubExpr()->getType()->castAs<MemberPointerType>();
 3094   const MemberPointerType *DstTy = E->getType()->castAs<MemberPointerType>();
 3289       E->getSubExpr()->getType()->castAs<MemberPointerType>();
 3290   const MemberPointerType *DstTy = E->getType()->castAs<MemberPointerType>();
 3329     MPT->getPointeeType()->castAs<FunctionProtoType>();
 3481   switch (Ty->getLinkage()) {
 3535     serializeClassHierarchy(Classes, Base.getType()->getAsCXXRecordDecl());
 3757   QualType PointeeType = T->getPointeeType();
 3766   if (const auto *MPTy = T->getAs<MemberPointerType>())
 3772   if (T->isPointerType())
 3788   bool IsReference = CatchHandlerType->isReferenceType();
 3974   const auto *FPT = CD->getType()->castAs<FunctionProtoType>();
 4004   assert(!T->isReferenceType());
 4006   CXXRecordDecl *RD = T->getAsCXXRecordDecl();
 4047   if (T->isPointerType())
 4048     PointeeType = T->getPointeeType();
 4049   if (const CXXRecordDecl *RD = PointeeType->getAsCXXRecordDecl()) {
 4086   assert(!T->isReferenceType());
 4107   bool IsPointer = T->isPointerType();
 4109     MostDerivedClass = T->getPointeeType()->getAsCXXRecordDecl();
 4109     MostDerivedClass = T->getPointeeType()->getAsCXXRecordDecl();
 4111     MostDerivedClass = T->getAsCXXRecordDecl();
 4163   if (IsPointer && T->getPointeeType()->isObjectType())
 4163   if (IsPointer && T->getPointeeType()->isObjectType())
 4174   if (T->isNullPtrType())
 4244   if (const CXXRecordDecl *RD = T->getAsCXXRecordDecl())
tools/clang/lib/CodeGen/SwiftCallingConv.cpp
   67   if (auto recType = type->getAs<RecordType>()) {
   71   } else if (type->isArrayType()) {
   84   } else if (auto complexType = type->getAs<ComplexType>()) {
   92   } else if (type->getAs<MemberPointerType>()) {
  139       auto baseRecord = baseSpecifier.getType()->getAsCXXRecordDecl();
  164       auto baseRecord = vbaseSpecifier.getType()->getAsCXXRecordDecl();
tools/clang/lib/CodeGen/TargetInfo.cpp
   76          T->isMemberFunctionPointerType();
  152   const RecordType *RT = T->getAs<RecordType>();
  162   if (const auto *RT = Ty->getAs<RecordType>())
  175   if (const RecordType *UT = Ty->getAsUnionType()) {
  494   const RecordType *RT = FT->getAs<RecordType>();
  512   const RecordType *RT = T->getAs<RecordType>();
  540   const RecordType *RT = T->getAs<RecordType>();
  698   if (const EnumType *EnumTy = Ty->getAs<EnumType>())
  701   return (Ty->isPromotableIntegerType() ? ABIArgInfo::getExtend(Ty)
  706   if (RetTy->isVoidType())
  713   if (const EnumType *EnumTy = RetTy->getAs<EnumType>())
  716   return (RetTy->isPromotableIntegerType() ? ABIArgInfo::getExtend(RetTy)
  895   } else if (const EnumType *EnumTy = Ty->getAs<EnumType>()) {
  898   } else if (Ty->isFloatingType()) {
  903   return (Ty->isPromotableIntegerType() ? ABIArgInfo::getExtend(Ty)
  908   if (RetTy->isVoidType())
  916   if (const EnumType *EnumTy = RetTy->getAs<EnumType>())
  919   return (RetTy->isPromotableIntegerType() ? ABIArgInfo::getExtend(RetTy)
  953   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
  962   } else if (const VectorType *VT = Ty->getAs<VectorType>()) {
 1246   if (Ty->isVectorType()) {
 1257   if (Ty->getAs<BuiltinType>() || Ty->hasPointerRepresentation() ||
 1257   if (Ty->getAs<BuiltinType>() || Ty->hasPointerRepresentation() ||
 1258       Ty->isAnyComplexType() || Ty->isEnumeralType() ||
 1258       Ty->isAnyComplexType() || Ty->isEnumeralType() ||
 1259       Ty->isBlockPointerType() || Ty->isMemberPointerType())
 1259       Ty->isBlockPointerType() || Ty->isMemberPointerType())
 1267   const RecordType *RT = Ty->getAs<RecordType>();
 1288   if (const ComplexType *CTy = Ty->getAs<ComplexType>())
 1294   if (!Ty->getAs<BuiltinType>() && !Ty->hasPointerRepresentation() &&
 1294   if (!Ty->getAs<BuiltinType>() && !Ty->hasPointerRepresentation() &&
 1295       !Ty->isEnumeralType() && !Ty->isBlockPointerType())
 1295       !Ty->isEnumeralType() && !Ty->isBlockPointerType())
 1326     if (!addBaseAndFieldSizes(Context, Base.getType()->getAsCXXRecordDecl(),
 1341   const RecordType *RT = Ty->getAs<RecordType>();
 1381   if (RetTy->isVoidType())
 1393   if (const VectorType *VT = RetTy->getAs<VectorType>()) {
 1419     if (const RecordType *RT = RetTy->getAs<RecordType>()) {
 1426     if (!IsRetSmallStructInRegABI && !RetTy->isAnyComplexType())
 1457   if (const EnumType *EnumTy = RetTy->getAs<EnumType>())
 1460   return (RetTy->isPromotableIntegerType() ? ABIArgInfo::getExtend(RetTy)
 1465   return Ty->getAs<VectorType>() && Context.getTypeSize(Ty) == 128;
 1469   const RecordType *RT = Ty->getAs<RecordType>();
 1625     return (Ty->isIntegralOrEnumerationType() || Ty->isPointerType() ||
 1625     return (Ty->isIntegralOrEnumerationType() || Ty->isPointerType() ||
 1626         Ty->isReferenceType());
 1639   const RecordType *RT = Ty->getAs<RecordType>();
 1659       if (Ty->isBuiltinType() || Ty->isVectorType())
 1659       if (Ty->isBuiltinType() || Ty->isVectorType())
 1708   if (const VectorType *VT = Ty->getAs<VectorType>()) {
 1726   if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 1731   if (Ty->isPromotableIntegerType()) {
 1759     if ((Ty->isVectorType() || Ty->isBuiltinType()) &&
 1759     if ((Ty->isVectorType() || Ty->isBuiltinType()) &&
 1778     if (IsHva && !Ty->isVectorType() && !Ty->isBuiltinType()) {
 1778     if (IsHva && !Ty->isVectorType() && !Ty->isBuiltinType()) {
 2570   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 2600   if (const EnumType *ET = Ty->getAs<EnumType>()) {
 2606   if (Ty->hasPointerRepresentation()) {
 2611   if (Ty->isMemberPointerType()) {
 2612     if (Ty->isMemberFunctionPointerType()) {
 2634   if (const VectorType *VT = Ty->getAs<VectorType>()) {
 2653       if (ElementType->isSpecificBuiltinType(BuiltinType::Double))
 2660           (ElementType->isSpecificBuiltinType(BuiltinType::LongLong) ||
 2661            ElementType->isSpecificBuiltinType(BuiltinType::ULongLong) ||
 2662            ElementType->isSpecificBuiltinType(BuiltinType::Long) ||
 2663            ElementType->isSpecificBuiltinType(BuiltinType::ULong)))
 2678           (ElementType->isSpecificBuiltinType(BuiltinType::Int128) ||
 2679            ElementType->isSpecificBuiltinType(BuiltinType::UInt128)))
 2702   if (const ComplexType *CT = Ty->getAs<ComplexType>()) {
 2706     if (ET->isIntegralOrEnumerationType()) {
 2782   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 2810         assert(!I.isVirtual() && !I.getType()->isDependentType() &&
 2813             cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 2908     if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 2911     return (Ty->isPromotableIntegerType() ? ABIArgInfo::getExtend(Ty)
 2919   if (const VectorType *VecTy = Ty->getAs<VectorType>()) {
 2926         (EltTy->isSpecificBuiltinType(BuiltinType::Int128) ||
 2927          EltTy->isSpecificBuiltinType(BuiltinType::UInt128)))
 2946     if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 2949     return (Ty->isPromotableIntegerType() ? ABIArgInfo::getExtend(Ty)
 3065   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 3072         assert(!I.isVirtual() && !I.getType()->isDependentType() &&
 3075             cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 3328       if (const EnumType *EnumTy = RetTy->getAs<EnumType>())
 3331       if (RetTy->isIntegralOrEnumerationType() &&
 3332           RetTy->isPromotableIntegerType())
 3473       if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 3476       if (Ty->isIntegralOrEnumerationType() &&
 3477           Ty->isPromotableIntegerType())
 3548   auto RT = Ty->getAs<RecordType>();
 3571     if (FD->getType()->isRecordType() && !FD->getType()->isUnionType()) {
 3571     if (FD->getType()->isRecordType() && !FD->getType()->isUnionType()) {
 3920   if (!Ty->isBuiltinType() && !Ty->isVectorType() &&
 3920   if (!Ty->isBuiltinType() && !Ty->isVectorType() &&
 3932   if (Ty->isVoidType())
 3935   if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 3942   const RecordType *RT = Ty->getAs<RecordType>();
 3963         if (IsReturnType || Ty->isBuiltinType() || Ty->isVectorType())
 3963         if (IsReturnType || Ty->isBuiltinType() || Ty->isVectorType())
 3970           (IsReturnType || Ty->isBuiltinType() || Ty->isVectorType())) {
 3970           (IsReturnType || Ty->isBuiltinType() || Ty->isVectorType())) {
 3975       } else if (!Ty->isBuiltinType() && !Ty->isVectorType()) {
 3975       } else if (!Ty->isBuiltinType() && !Ty->isVectorType()) {
 3982   if (Ty->isMemberPointerType()) {
 3990   if (RT || Ty->isAnyComplexType() || Ty->isMemberPointerType()) {
 3990   if (RT || Ty->isAnyComplexType() || Ty->isMemberPointerType()) {
 4000   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 4113   if (isAggregateTypeForABI(Ty) || Ty->isMemberPointerType()) {
 4157   if (const ComplexType *CTy = Ty->getAs<ComplexType>())
 4160   if (Ty->isVectorType())
 4194   if (const ComplexType *CTy = Ty->getAs<ComplexType>()) {
 4208   bool isI64 = Ty->isIntegerType() && getContext().getTypeSize(Ty) == 64;
 4210       Ty->isIntegerType() || Ty->isPointerType() || Ty->isAggregateType();
 4210       Ty->isIntegerType() || Ty->isPointerType() || Ty->isAggregateType();
 4210       Ty->isIntegerType() || Ty->isPointerType() || Ty->isAggregateType();
 4211   bool isF64 = Ty->isFloatingType() && getContext().getTypeSize(Ty) == 64;
 4215   bool isIndirect = Ty->isAggregateType();
 4403       if (VT->getElementType()->isSpecificBuiltinType(BuiltinType::Double)) {
 4406       } else if (VT->getElementType()->
 4515   if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 4519   if (Ty->isPromotableIntegerType())
 4524   if (const BuiltinType *BT = Ty->getAs<BuiltinType>())
 4540   if (const ComplexType *CTy = Ty->getAs<ComplexType>())
 4550   } else if (Ty->isVectorType()) {
 4606   } else if (const RecordType *RT = Ty->getAs<RecordType>()) {
 4662     if (const ComplexType *CT = Ty->getAs<ComplexType>()) {
 4699   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 4710   if (const VectorType *VT = Ty->getAs<VectorType>()) {
 4735   if (Ty->isAnyComplexType())
 4740   if (Ty->isVectorType() && !IsQPXVectorTy(Ty)) {
 4804   if (RetTy->isVoidType())
 4807   if (RetTy->isAnyComplexType())
 4812   if (RetTy->isVectorType() && !IsQPXVectorTy(RetTy)) {
 4871   if (const ComplexType *CTy = Ty->getAs<ComplexType>()) {
 5137     if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 5140     return (Ty->isPromotableIntegerType() && isDarwinPCS()
 5204   if (RetTy->isVoidType())
 5208   if (RetTy->isVectorType() && getContext().getTypeSize(RetTy) > 128)
 5213     if (const EnumType *EnumTy = RetTy->getAs<EnumType>())
 5216     return (RetTy->isPromotableIntegerType() && isDarwinPCS()
 5255   if (const VectorType *VT = Ty->getAs<VectorType>()) {
 5283   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 5286   } else if (const VectorType *VT = Ty->getAs<VectorType>()) {
 5881   if ((Ty->isFloat16Type() || Ty->isHalfType()) &&
 5881   if ((Ty->isFloat16Type() || Ty->isHalfType()) &&
 5891     if (const EnumType *EnumTy = Ty->getAs<EnumType>()) {
 5895     return (Ty->isPromotableIntegerType() ? ABIArgInfo::getExtend(Ty)
 5992   if (Ty->isVectorType())
 5996   if (Ty->isRealFloatingType())
 6000   if (Ty->getAs<BuiltinType>() || Ty->isPointerType())
 6000   if (Ty->getAs<BuiltinType>() || Ty->isPointerType())
 6004   if (const ComplexType *CT = Ty->getAs<ComplexType>())
 6011   const RecordType *RT = Ty->getAs<RecordType>();
 6071   if (RetTy->isVoidType())
 6074   if (const VectorType *VT = RetTy->getAs<VectorType>()) {
 6080         (VT->getElementType()->isFloat16Type() ||
 6081          VT->getElementType()->isHalfType()))
 6088   if ((RetTy->isFloat16Type() || RetTy->isHalfType()) &&
 6088   if ((RetTy->isFloat16Type() || RetTy->isHalfType()) &&
 6098     if (const EnumType *EnumTy = RetTy->getAs<EnumType>())
 6101     return RetTy->isPromotableIntegerType() ? ABIArgInfo::getExtend(RetTy)
 6114     if (RetTy->isAnyComplexType())
 6177   if (const VectorType *VT = Ty->getAs<VectorType> ()) {
 6182         (VT->getElementType()->isFloat16Type() ||
 6183          VT->getElementType()->isHalfType()))
 6216   } else if (const RecordType *RT = Ty->getAs<RecordType>()) {
 6233     if (const VectorType *VT = Ty->getAs<VectorType>())
 6234       return (VT->getElementType()->isFloat16Type() ||
 6235               VT->getElementType()->isHalfType());
 6257   if (const BuiltinType *BT = Ty->getAs<BuiltinType>()) {
 6262   } else if (const VectorType *VT = Ty->getAs<VectorType>()) {
 6369   if (!Context.getTargetInfo().hasFloat16Type() && T->isFloat16Type())
 6372       (T->isFloat128Type() ||
 6373        (T->isRealFloatingType() && Context.getTypeSize(T) == 128)))
 6375   if (!Context.getTargetInfo().hasInt128Type() && T->isIntegerType() &&
 6378   if (const auto *AT = T->getAsArrayTypeUnsafe())
 6380   const auto *RT = T->getAs<RecordType>();
 6411   if (RetTy->isVoidType())
 6420   if (!RetTy->isScalarType())
 6424   if (const EnumType *EnumTy = RetTy->getAs<EnumType>())
 6427   return (RetTy->isPromotableIntegerType() ? ABIArgInfo::getExtend(RetTy)
 6433   if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 6440   return (Ty->isPromotableIntegerType() ? ABIArgInfo::getExtend(Ty)
 6586   if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 6590   if (Ty->isPromotableIntegerType())
 6594   if (const BuiltinType *BT = Ty->getAs<BuiltinType>())
 6606   return (Ty->isAnyComplexType() ||
 6607           Ty->isVectorType() ||
 6613           Ty->isVectorType() &&
 6618   if (const BuiltinType *BT = Ty->getAs<BuiltinType>())
 6631   if (const RecordType *RT = Ty->getAsStructureType()) {
 6830   if (RetTy->isVoidType())
 6863   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 7048   if (Ty->isComplexType())
 7051   const RecordType *RT = Ty->getAs<RecordType>();
 7072     const BuiltinType *BT = Ty->getAs<BuiltinType>();
 7117   if (isAggregateTypeForABI(Ty) || Ty->isVectorType()) {
 7138   if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 7142   if (Ty->isIntegralOrEnumerationType())
 7151   const RecordType *RT = RetTy->getAs<RecordType>();
 7171         const BuiltinType *BT = b->getType()->getAs<BuiltinType>();
 7194   if (RetTy->isVoidType())
 7202   if (isAggregateTypeForABI(RetTy) || RetTy->isVectorType()) {
 7204       if (RetTy->isAnyComplexType())
 7210           (RetTy->isVectorType() && !RetTy->hasFloatingRepresentation())) {
 7210           (RetTy->isVectorType() && !RetTy->hasFloatingRepresentation())) {
 7222   if (const EnumType *EnumTy = RetTy->getAs<EnumType>())
 7225   if (RetTy->isPromotableIntegerType())
 7228   if ((RetTy->isUnsignedIntegerOrEnumerationType() ||
 7229       RetTy->isSignedIntegerOrEnumerationType()) && Size == 32 && !IsO32)
 7256   if ((Ty->isIntegerType() &&
 7258       (Ty->isPointerType() && PtrWidth < SlotSizeInBits)) {
 7261                                             Ty->isSignedIntegerType());
 7285     llvm::Type *IntTy = (OrigTy->isIntegerType() ? Temp.getElementType()
 7288     if (OrigTy->isPointerType())
 7302   if (Ty->isUnsignedIntegerOrEnumerationType() && TySize == 32)
 7472     if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 7475     return (Ty->isPromotableIntegerType() ? ABIArgInfo::getExtend(Ty)
 7501   if (RetTy->isVoidType())
 7505   if (RetTy->isVectorType() && getContext().getTypeSize(RetTy) > 64)
 7510     if (const EnumType *EnumTy = RetTy->getAs<EnumType>())
 7513     return (RetTy->isPromotableIntegerType() ? ABIArgInfo::getExtend(RetTy)
 7616   const RecordType *RT = Ty->getAs<RecordType>();
 7650   if (const auto *EnumTy = Ty->getAs<EnumType>())
 7654   if (Ty->isPromotableIntegerType()) {
 7717   if (const VectorType *VT = Ty->getAs<VectorType>()) {
 7731   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 7780       if (const RecordType *RT = RetTy->getAs<RecordType>()) {
 7847     if (const RecordType *RT = Ty->getAs<RecordType>()) {
 8135   if (Ty->isAnyComplexType()) {
 8305   if (Ty->isVoidType())
 8316   if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 8320   if (Size < 64 && Ty->isIntegerType())
 8536   const RecordType *RT = Ty->getAs<RecordType>();
 8547   if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 8572   return Ty->isPromotableIntegerType() ?
 8580   if (RetTy->isAnyComplexType())
 9185   if (const ArrayType *AT = QT->getAsArrayTypeUnsafe())
 9192   if (const BuiltinType *BT = QT->getAs<BuiltinType>())
 9195   if (const PointerType *PT = QT->getAs<PointerType>())
 9198   if (const EnumType *ET = QT->getAs<EnumType>())
 9201   if (const RecordType *RT = QT->getAsStructureType())
 9204   if (const RecordType *RT = QT->getAsUnionType())
 9207   if (const FunctionType *FT = QT->getAs<FunctionType>())
 9228     if (const ArrayType *AT = QT->getAsArrayTypeUnsafe()) {
 9327   bool IsInt = Ty->isIntegralOrEnumerationType();
 9328   bool IsFloat = Ty->isRealFloatingType();
 9356   if (auto CTy = Ty->getAs<ComplexType>()) {
 9384   if (const auto *RTy = Ty->getAs<RecordType>()) {
 9534   if (IsFixed && Ty->isFloatingType() && FLen >= Size && ArgFPRsLeft) {
 9541   if (IsFixed && Ty->isComplexType() && FLen && ArgFPRsLeft >= 2) {
 9542     QualType EltTy = Ty->castAs<ComplexType>()->getElementType();
 9549   if (IsFixed && FLen && Ty->isStructureOrClassType()) {
 9586   if (!isAggregateTypeForABI(Ty) && !Ty->isVectorType()) {
 9588     if (const EnumType *EnumTy = Ty->getAs<EnumType>())
 9593     if (Size < XLen && Ty->isIntegralOrEnumerationType() && !MustUseStack) {
 9622   if (RetTy->isVoidType())
 9658   if (XLen == 64 && Ty->isUnsignedIntegerOrEnumerationType() && TySize == 32)
tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp
  141   const ObjCObjectType *ObjTy = ClassRec->getAs<ObjCObjectType>();
  842   bool LitIsFloat = ArgTy->isFloatingType();
  946   if (T->isObjCObjectPointerType()) {
  953   } else if (!T->isPointerType()) {
 1009       if (MK == NSAPI::NSNumberWithBool && OrigTy->isBooleanType())
 1016         if (OrigTy->getAs<EnumType>() || isEnumConstant(OrigArg))
 1018         if ((MK==NSAPI::NSNumberWithInteger) == OrigTy->isSignedIntegerType() &&
 1132   if (OrigTy->isArrayType())
 1142   if (const PointerType *PT = OrigTy->getAs<PointerType>()) {
tools/clang/lib/Frontend/ASTUnit.cpp
 2089                                Context.getPreferredType()->isAnyPointerType());
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  232           else if (TD->getUnderlyingType()->isFunctionPointerType())
  508         const auto *BPT = T->castAs<BlockPointerType>();
  523       if (T->isObjCQualifiedIdType()) {
  528       else if (T->isObjCQualifiedClassType())
  530       else if (T->isObjCObjectPointerType() &&
  531                T->getPointeeType()->isObjCQualifiedInterfaceType()) {
  531                T->getPointeeType()->isObjCQualifiedInterfaceType()) {
  533               T->getAsObjCInterfacePointerType()) {
  552       if (const PointerType *PT = OCT->getAs<PointerType>()) {
  554             PT->getPointeeType()->isObjCQualifiedIdType())
  622   const PointerType *PT = funcType->getAs<PointerType>();
  854   if (!isa<TypedefType>(IvarT) && IvarT->isRecordType()) {
  855     RecordDecl *RD = IvarT->castAs<RecordType>()->getDecl();
 1206   if (T->isObjCQualifiedIdType())
 1208   else if (T->isFunctionPointerType() ||
 1209            T->isBlockPointerType()) {
 1214     if (const PointerType* PT = retType->getAs<PointerType>())
 1216     else if (const BlockPointerType *BPT = retType->getAs<BlockPointerType>())
 1218     if ((FPRetType = PointeeTy->getAs<FunctionType>())) {
 1291     if (PDecl->getType()->isObjCQualifiedIdType()) {
 1699     if (ElementType->isObjCQualifiedIdType() ||
 1700         ElementType->isObjCQualifiedInterfaceType())
 1715     if (VD->getType()->isObjCQualifiedIdType() ||
 1716         VD->getType()->isObjCQualifiedInterfaceType())
 1962       if (const ObjCObjectPointerType *Ptr = t->getAs<ObjCObjectPointerType>()) {
 2106   const auto *FT = msgSendType->castAs<FunctionType>();
 2142   if (T->isObjCQualifiedIdType())
 2144   if (const PointerType *PT = T->getAs<PointerType>()) {
 2145     if (PT->getPointeeType()->isObjCQualifiedIdType())
 2148   if (T->isObjCObjectPointerType()) {
 2149     T = T->getPointeeType();
 2150     return T->isObjCQualifiedInterfaceType();
 2152   if (T->isArrayType()) {
 2201     const FunctionType *funcType = FD->getType()->getAs<FunctionType>();
 2273   const Type* TypePtr = QT->getAs<Type>();
 2279     TypePtr = QT->getAs<Type>();
 2376   const FunctionType *funcType = FD->getType()->getAs<FunctionType>();
 2654     if (SubExpr->getType()->isIntegralType(*Context) && type->isBooleanType())
 2654     if (SubExpr->getType()->isIntegralType(*Context) && type->isBooleanType())
 2687   const FunctionType *FT = msgSendType->getAs<FunctionType>();
 2754     expType->getPointeeType()->castAs<ObjCObjectType>()->getInterface();
 2754     expType->getPointeeType()->castAs<ObjCObjectType>()->getInterface();
 2808   const FunctionType *FT = msgSendType->castAs<FunctionType>();
 2896   expType->getPointeeType()->castAs<ObjCObjectType>()->getInterface();
 2896   expType->getPointeeType()->castAs<ObjCObjectType>()->getInterface();
 2930     if (const PointerType* PT = T->getAs<PointerType>()) {
 2959   const FunctionType *FT = msgSendType->castAs<FunctionType>();
 3215     if (resultType->isRecordType())
 3217     else if (resultType->isRealFloatingType())
 3311       = Exp->getClassReceiver()->castAs<ObjCObjectType>()->getInterface();
 3404     CastKind CK = recExpr->getType()->isObjCObjectPointerType()
 3405                     ? CK_BitCast : recExpr->getType()->isBlockPointerType()
 3436       if (SubExpr->getType()->isIntegralType(*Context) &&
 3437           type->isBooleanType()) {
 3439       } else if (type->isObjCObjectPointerType()) {
 3440         if (SubExpr->getType()->isBlockPointerType()) {
 3442         } else if (SubExpr->getType()->isPointerType()) {
 3455       if (CE->getType()->isObjCQualifiedIdType()) {
 3459         if (userExpr->getType()->isIntegralType(*Context)) {
 3461         } else if (userExpr->getType()->isBlockPointerType()) {
 3463         } else if (userExpr->getType()->isPointerType()) {
 3492       QualType t = PI->getType()->isObjCQualifiedIdType()
 3532   const FunctionType *FT = msgSendType->castAs<FunctionType>();
 3634   if (Type->isArrayType()) {
 3638   else if (Type->isRecordType()) {
 3639     RecordDecl *RD = Type->castAs<RecordType>()->getDecl();
 3661   else if (Type->isEnumeralType()) {
 3662     EnumDecl *ED = Type->castAs<EnumType>()->getDecl();
 3704   else if (EleboratedType && Type->isArrayType()) {
 3727   if (Type->isArrayType())
 3733   if (Type->isRecordType()) {
 3734     TD = Type->castAs<RecordType>()->getDecl();
 3736   else if (Type->isEnumeralType()) {
 3737     TD = Type->castAs<EnumType>()->getDecl();
 4151     else if (VD->getType()->isBlockPointerType())
 4168     else if (VD->getType()->isBlockPointerType())
 4357       if (VD->getType()->isObjCObjectPointerType() ||
 4358           VD->getType()->isBlockPointerType())
 4507   if (T->isFunctionPointerType()) {
 4509     if (const PointerType* PT = T->getAs<PointerType>()) {
 4511       if (const FunctionType *FT = PointeeTy->getAs<FunctionType>()) {
 4555     CPT = DRE->getType()->getAs<BlockPointerType>();
 4557     CPT = MExpr->getType()->getAs<BlockPointerType>();
 4563     CPT = IEXPR->getType()->getAs<BlockPointerType>();
 4578     CPT = IRE->getType()->getAs<BlockPointerType>();
 4581     CPT = POE->getType()->castAs<BlockPointerType>();
 4586   const FunctionType *FT = CPT->getPointeeType()->getAs<FunctionType>();
 4727   const Type* TypePtr = QT->getAs<Type>();
 4802   const PointerType *PT = QT->getAs<PointerType>();
 4804     FTP = PT->getPointeeType()->getAs<FunctionProtoType>();
 4806     const BlockPointerType *BPT = QT->getAs<BlockPointerType>();
 4808     FTP = BPT->getPointeeType()->getAs<FunctionProtoType>();
 4820   const PointerType *PT = QT->getAs<PointerType>();
 4822     FTP = PT->getPointeeType()->getAs<FunctionProtoType>();
 4824     const BlockPointerType *BPT = QT->getAs<BlockPointerType>();
 4826     FTP = BPT->getPointeeType()->getAs<FunctionProtoType>();
 4830       if (I->isObjCQualifiedIdType())
 4832       if (I->isObjCObjectPointerType() &&
 4833           I->getPointeeType()->isObjCQualifiedInterfaceType())
 4833           I->getPointeeType()->isObjCQualifiedInterfaceType())
 5066     if (Ty->isBlockPointerType())
 5130     if (Ty->isBlockPointerType() || Ty->isFunctionPointerType())
 5130     if (Ty->isBlockPointerType() || Ty->isFunctionPointerType())
 5181           BlockDeclRefs[i]->getType()->isObjCObjectPointerType() ||
 5182           BlockDeclRefs[i]->getType()->isBlockPointerType())
 5228           InnerBlockDeclRefs[i]->getType()->isObjCObjectPointerType() ||
 5229           InnerBlockDeclRefs[i]->getType()->isBlockPointerType())
 5588         else if (ND->getType()->isFunctionPointerType())
 5605         else if (TD->getUnderlyingType()->isFunctionPointerType())
 5632     if (CE->getCallee()->getType()->isBlockPointerType()) {
 5670     if (FD->getType()->isObjCQualifiedIdType() ||
 5671         FD->getType()->isObjCQualifiedInterfaceType())
 5747       else if (VD->getType()->isFunctionPointerType()) {
 5754       } else if (VD->getType()->isRecordType()) {
 5755         RecordDecl *RD = VD->getType()->castAs<RecordType>()->getDecl();
 5783         else if (TD->getUnderlyingType()->isFunctionPointerType())
 7452     if (BaseExpr->getType()->isObjCObjectPointerType()) {
 7454         dyn_cast<ObjCInterfaceType>(BaseExpr->getType()->getPointeeType());
 7495       if (!isa<TypedefType>(IvarT) && IvarT->isRecordType()) {
 7496         RecordDecl *RD = IvarT->castAs<RecordType>()->getDecl();
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  419         const auto *BPT = T->castAs<BlockPointerType>();
  433       if (T->isObjCQualifiedIdType())
  435       else if (T->isObjCQualifiedClassType())
  437       else if (T->isObjCObjectPointerType() &&
  438                T->getPointeeType()->isObjCQualifiedInterfaceType()) {
  438                T->getPointeeType()->isObjCQualifiedInterfaceType()) {
  440               T->getAsObjCInterfacePointerType()) {
  459       if (const PointerType *PT = OCT->getAs<PointerType>()) {
  461             PT->getPointeeType()->isObjCQualifiedIdType())
  558   const PointerType *PT = funcType->getAs<PointerType>();
 1038   if (T->isObjCQualifiedIdType())
 1040   else if (T->isFunctionPointerType() ||
 1041            T->isBlockPointerType()) {
 1046     if (const PointerType* PT = retType->getAs<PointerType>())
 1048     else if (const BlockPointerType *BPT = retType->getAs<BlockPointerType>())
 1050     if ((FPRetType = PointeeTy->getAs<FunctionType>())) {
 1123     if (PDecl->getType()->isObjCQualifiedIdType()) {
 1490     if (ElementType->isObjCQualifiedIdType() ||
 1491         ElementType->isObjCQualifiedInterfaceType())
 1506     if (VD->getType()->isObjCQualifiedIdType() ||
 1507         VD->getType()->isObjCQualifiedInterfaceType())
 1685   CastKind CK = syncExpr->getType()->isObjCObjectPointerType()
 1687                 syncExpr->getType()->isBlockPointerType()
 1856                    t->getAs<ObjCObjectPointerType>()) {
 2021   const auto *FT = msgSendType->castAs<FunctionType>();
 2058   if (T->isObjCQualifiedIdType())
 2060   if (const PointerType *PT = T->getAs<PointerType>()) {
 2061     if (PT->getPointeeType()->isObjCQualifiedIdType())
 2064   if (T->isObjCObjectPointerType()) {
 2065     T = T->getPointeeType();
 2066     return T->isObjCQualifiedInterfaceType();
 2068   if (T->isArrayType()) {
 2117     const FunctionType *funcType = FD->getType()->getAs<FunctionType>();
 2185   const Type* TypePtr = QT->getAs<Type>();
 2191     TypePtr = QT->getAs<Type>();
 2288   const FunctionType *funcType = FD->getType()->getAs<FunctionType>();
 2608   const auto *FT = msgSendType->castAs<FunctionType>();
 2642     if (resultType->isRecordType())
 2644     else if (resultType->isRealFloatingType())
 2740         Exp->getClassReceiver()->castAs<ObjCObjectType>()->getInterface();
 2833     CastKind CK = recExpr->getType()->isObjCObjectPointerType()
 2834                     ? CK_BitCast : recExpr->getType()->isBlockPointerType()
 2865       if (SubExpr->getType()->isIntegralType(*Context) &&
 2866           type->isBooleanType()) {
 2868       } else if (type->isObjCObjectPointerType()) {
 2869         if (SubExpr->getType()->isBlockPointerType()) {
 2871         } else if (SubExpr->getType()->isPointerType()) {
 2884       if (CE->getType()->isObjCQualifiedIdType()) {
 2888         if (userExpr->getType()->isIntegralType(*Context)) {
 2890         } else if (userExpr->getType()->isBlockPointerType()) {
 2892         } else if (userExpr->getType()->isPointerType()) {
 2921       QualType t = PI->getType()->isObjCQualifiedIdType()
 2961   const auto *FT = msgSendType->castAs<FunctionType>();
 3361     else if (VD->getType()->isBlockPointerType())
 3378     else if (VD->getType()->isBlockPointerType())
 3566           VD->getType()->isObjCObjectPointerType() ||
 3567           VD->getType()->isBlockPointerType())
 3723     CPT = DRE->getType()->getAs<BlockPointerType>();
 3725     CPT = MExpr->getType()->getAs<BlockPointerType>();
 3731     CPT = IEXPR->getType()->getAs<BlockPointerType>();
 3746     CPT = IRE->getType()->getAs<BlockPointerType>();
 3749     CPT = POE->getType()->castAs<BlockPointerType>();
 3754   const FunctionType *FT = CPT->getPointeeType()->getAs<FunctionType>();
 3896   const Type* TypePtr = QT->getAs<Type>();
 3956   const PointerType *PT = QT->getAs<PointerType>();
 3958     FTP = PT->getPointeeType()->getAs<FunctionProtoType>();
 3960     const BlockPointerType *BPT = QT->getAs<BlockPointerType>();
 3962     FTP = BPT->getPointeeType()->getAs<FunctionProtoType>();
 3974   const PointerType *PT = QT->getAs<PointerType>();
 3976     FTP = PT->getPointeeType()->getAs<FunctionProtoType>();
 3978     const BlockPointerType *BPT = QT->getAs<BlockPointerType>();
 3980     FTP = BPT->getPointeeType()->getAs<FunctionProtoType>();
 3984       if (I->isObjCQualifiedIdType())
 3986       if (I->isObjCObjectPointerType() &&
 3987           I->getPointeeType()->isObjCQualifiedInterfaceType())
 3987           I->getPointeeType()->isObjCQualifiedInterfaceType())
 4223     if (Ty->isBlockPointerType())
 4263     if (Ty->isBlockPointerType() || Ty->isFunctionPointerType())
 4263     if (Ty->isBlockPointerType() || Ty->isFunctionPointerType())
 4335           BlockDeclRefs[i]->getType()->isObjCObjectPointerType() ||
 4336           BlockDeclRefs[i]->getType()->isBlockPointerType())
 4381           InnerBlockDeclRefs[i]->getType()->isObjCObjectPointerType() ||
 4382           InnerBlockDeclRefs[i]->getType()->isBlockPointerType())
 4690         else if (ND->getType()->isFunctionPointerType())
 4707         else if (TD->getUnderlyingType()->isFunctionPointerType())
 4734     if (CE->getCallee()->getType()->isBlockPointerType()) {
 4768     if (FD->getType()->isObjCQualifiedIdType() ||
 4769         FD->getType()->isObjCQualifiedInterfaceType())
 4845       else if (VD->getType()->isFunctionPointerType()) {
 4852       } else if (VD->getType()->isRecordType()) {
 4853         RecordDecl *RD = VD->getType()->castAs<RecordType>()->getDecl();
 4881         else if (TD->getUnderlyingType()->isFunctionPointerType())
 5805     if (BaseExpr->getType()->isObjCObjectPointerType()) {
 5807       dyn_cast<ObjCInterfaceType>(BaseExpr->getType()->getPointeeType());
 5846     if (BaseExpr->getType()->isObjCObjectPointerType()) {
 5848       dyn_cast<ObjCInterfaceType>(BaseExpr->getType()->getPointeeType());
tools/clang/lib/Index/IndexBody.cpp
  102                 if (auto *CXXRD = BaseTy->getPointeeCXXRecordDecl())
  276         if (const auto *Ptr = recT->getAs<ObjCObjectPointerType>())
  279           addReceivers(recT->getAs<ObjCObjectType>());
tools/clang/lib/Index/IndexDecl.cpp
  391           if (auto *TT = TInfo->getType()->getAs<TypedefType>()) {
tools/clang/lib/Index/IndexSymbol.cpp
   36   if (!D->getReturnType()->isVoidType())
tools/clang/lib/Index/IndexTypeSourceInfo.cpp
   59       TagDecl *Underlying = ND->getUnderlyingType()->getAsTagDecl();
   66       if (auto *CD = TL.getType()->getAsCXXRecordDecl()) {
tools/clang/lib/Index/USRGeneration.cpp
  651     if (const PackExpansionType *Expansion = T->getAs<PackExpansionType>()) {
  656     if (const BuiltinType *BT = T->getAs<BuiltinType>()) {
  780     if (const PointerType *PT = T->getAs<PointerType>()) {
  785     if (const ObjCObjectPointerType *OPT = T->getAs<ObjCObjectPointerType>()) {
  790     if (const RValueReferenceType *RT = T->getAs<RValueReferenceType>()) {
  795     if (const ReferenceType *RT = T->getAs<ReferenceType>()) {
  800     if (const FunctionProtoType *FT = T->getAs<FunctionProtoType>()) {
  813     if (const BlockPointerType *BT = T->getAs<BlockPointerType>()) {
  818     if (const ComplexType *CT = T->getAs<ComplexType>()) {
  823     if (const TagType *TT = T->getAs<TagType>()) {
  828     if (const ObjCInterfaceType *OIT = T->getAs<ObjCInterfaceType>()) {
  833     if (const ObjCObjectType *OIT = T->getAs<ObjCObjectType>()) {
  840     if (const TemplateTypeParmType *TTP = T->getAs<TemplateTypeParmType>()) {
  845                                     = T->getAs<TemplateSpecializationType>()) {
  853     if (const DependentNameType *DNT = T->getAs<DependentNameType>()) {
  859     if (const InjectedClassNameType *InjT = T->getAs<InjectedClassNameType>()) {
  863     if (const auto *VT = T->getAs<VectorType>()) {
  864       Out << (T->isExtVectorType() ? ']' : '[');
tools/clang/lib/Parse/ParseCXXInlineMethods.cpp
  114         FnD->getAsFunction()->getReturnType()->getContainedAutoType()) &&
tools/clang/lib/Parse/ParseDecl.cpp
 2406           getCurScope(), ThisVarDecl->getType()->getCanonicalTypeInternal(),
 2426             getCurScope(), ThisVarDecl->getType()->getCanonicalTypeInternal(),
tools/clang/lib/Parse/ParseExpr.cpp
 1026           if (Typ.get()->isObjCObjectOrInterfaceType()) {
 1495       if (!Ty.isNull() && Ty->isFunctionType()) {
 2551           if (QT->isVectorType())
tools/clang/lib/Parse/ParseExprCXX.cpp
 1852           getCurScope(), TypeRep.get()->getCanonicalTypeInternal(),
 3028             getCurScope(), TypeRep.get()->getCanonicalTypeInternal(),
tools/clang/lib/Parse/ParseObjc.cpp
 1630       if (!BaseT.isNull() && BaseT->acceptsObjCTypeParams()) {
 2988   if (!Type.get().isNull() && Type.get()->isObjCObjectOrInterfaceType()) {
tools/clang/lib/Parse/ParseOpenMP.cpp
  440           getCurScope(), OmpPrivParm->getType()->getCanonicalTypeInternal(),
tools/clang/lib/Parse/Parser.cpp
 1647         (Ty.get()->isObjCObjectType() ||
 1648          Ty.get()->isObjCObjectPointerType())) {
 1896           (Ty.get()->isObjCObjectType() ||
 1897            Ty.get()->isObjCObjectPointerType())) {
tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
  345       if (const auto *Ty = FD->getTypeSourceInfo()->getType()->
  370   const auto *FPT = FD->getType()->castAs<FunctionProtoType>();
  650       ReturnsVoid = FD->getReturnType()->isVoidType();
  654     ReturnsVoid = MD->getReturnType()->isVoidType();
  659           BlockType->getPointeeType()->getAs<FunctionType>()) {
  659           BlockType->getPointeeType()->getAs<FunctionType>()) {
  660       if (FT->getReturnType()->isVoidType())
  756   if (VariableTy->isBlockPointerType() &&
 1013     if (VD->getType()->isBlockPointerType() && !VD->hasAttr<BlocksAttr>())
tools/clang/lib/Sema/CodeCompleteConsumer.cpp
  499     return Function->getType()->getAs<FunctionType>();
  504         ->getAs<FunctionType>();
tools/clang/lib/Sema/DeclSpec.cpp
  373         return E->getType()->isFunctionType();
  389       return QT->isFunctionType();
tools/clang/lib/Sema/JumpDiagnostics.cpp
  138     if (VD->getType()->isVariablyModifiedType())
  211     if (TD->getUnderlyingType()->isVariablyModifiedType())
tools/clang/lib/Sema/Sema.cpp
  464   Optional<NullabilityKind> ExprNullability = SrcType->getNullability(Context);
  468   Optional<NullabilityKind> TypeNullability = DstType->getNullability(Context);
  485   if (E->IgnoreParenImpCasts()->getType()->isNullPtrType())
  561   switch (ScalarTy->getScalarTypeKind()) {
  651          !isExternalFormalLinkage(VD->getType()->getLinkage()) &&
  732       S.Diag(VD->getLocation(), isExternallyVisible(VD->getType()->getLinkage())
  833       if (CXXRecordDecl *FriendD = TSI->getType()->getAsCXXRecordDecl())
 1684   if (const CXXRecordDecl *RD = T->getAsCXXRecordDecl())
 1686       auto *FPT = DD->getType()->getAs<FunctionProtoType>();
 1724     if (VD->getType()->isStructureOrClassType())
 2010   QualType PointeeTy = ExprTy->getPointeeType();
 2012     FunTy = PointeeTy->getAs<FunctionType>();
 2014     FunTy = ExprTy->getAs<FunctionType>();
 2286   if (QT->isExtVectorType()) {
 2287     auto TypePtr = QT->castAs<ExtVectorType>()->getElementType().getTypePtr();
tools/clang/lib/Sema/SemaAccess.cpp
  301       if (const RecordType *RT = T->getAs<RecordType>()) {
  304                    = T->getAs<InjectedClassNameType>()) {
  307         assert(T->isDependentType() && "non-dependent base wasn't a record?");
  548     return MatchesFriend(S, EC, T->getType()->getCanonicalTypeUnqualified());
  654       if (const RecordType *RT = T->getAs<RecordType>()) {
  657                    = T->getAs<InjectedClassNameType>()) {
  660         assert(T->isDependentType() && "non-dependent base wasn't a record?");
 1554     BaseType = BaseType->castAs<PointerType>()->getPointeeType();
 1755   const RecordType *RT = ObjectExpr->getType()->castAs<RecordType>();
 1837   BaseD = cast<CXXRecordDecl>(Base->castAs<RecordType>()->getDecl());
 1838   DerivedD = cast<CXXRecordDecl>(Derived->castAs<RecordType>()->getDecl());
tools/clang/lib/Sema/SemaAttr.cpp
  141   CXXRecordDecl *RD = Canonical->getAsCXXRecordDecl();
tools/clang/lib/Sema/SemaCUDA.cpp
  305     const RecordType *BaseType = B->getType()->getAs<RecordType>();
  348         Context.getBaseElementType(F->getType())->getAs<RecordType>();
  470         if (CXXRecordDecl *RD = BS.getType()->getAsCXXRecordDecl())
  479                                     ->getBaseElementTypeUnsafe()
  508           Context, VD->getType()->isReferenceType());
  512       if (CXXRecordDecl *RD = VD->getType()->getAsCXXRecordDecl())
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
   32   const Type *Ty = T->getCanonicalTypeInternal().getTypePtr();
   54   if (!T->isDependentType())
   55     if (const TagType *Tag = T->getAs<TagType>())
  213   tag = type->getAsTagDecl();
  331   if (T->isDependentType())
  334     if (TD->getUnderlyingType()->isRecordType())
  336     if (TD->getUnderlyingType()->isEnumeralType()) {
  397     isDependent = ObjectType->isDependentType();
  506     isDependent = ObjectType->isDependentType();
  759     if (T->isEnumeralType())
  858   if (!T->isDependentType() && !T->getAs<TagType>()) {
  858   if (!T->isDependentType() && !T->getAs<TagType>()) {
  962   if (!T->isDependentType() && !T->getAs<TagType>()) {
  962   if (!T->isDependentType() && !T->getAs<TagType>()) {
tools/clang/lib/Sema/SemaCast.cpp
   63             src.get()->getType()->getAsPlaceholderType()) {
  266       DestType->isDependentType() || Ex.get()->isTypeDependent();
  355   if (!Operand->isTypeDependent() && !TSI->getType()->isDependentType()) {
  388   if (!destType->isRecordType() && !srcType->isRecordType())
  388   if (!destType->isRecordType() && !srcType->isRecordType())
  459   if (auto Ptr = From->getAs<PointerType>()) {
  464   if (auto Ptr = To->getAs<PointerType>()) {
  469     auto RecFrom = From->getAs<RecordType>();
  470     auto RecTo = To->getAs<RecordType>();
  517     if (T->isAnyPointerType()) return Ptr;
  518     if (T->isMemberPointerType()) return MemPtr;
  519     if (T->isBlockPointerType()) return BlockPtr;
  522     if (T->isConstantArrayType() || T->isIncompleteArrayType()) return Array;
  522     if (T->isConstantArrayType() || T->isIncompleteArrayType()) return Array;
  529     return T->getPointeeType();
  534   if (T2->isReferenceType()) {
  539     T2 = T2->getPointeeType();
  602   if (!DestType->isReferenceType()) {
  603     assert((SrcType->isAnyPointerType() || SrcType->isMemberPointerType() ||
  603     assert((SrcType->isAnyPointerType() || SrcType->isMemberPointerType() ||
  604             SrcType->isBlockPointerType()) &&
  606     assert((DestType->isAnyPointerType() || DestType->isMemberPointerType() ||
  606     assert((DestType->isAnyPointerType() || DestType->isMemberPointerType() ||
  607             DestType->isBlockPointerType()) &&
  636     if (UnwrappedSrcType->isObjCObjectType() ||
  637         UnwrappedDestType->isObjCObjectType())
  725   const PointerType *DestPointer = DestType->getAs<PointerType>();
  729   } else if ((DestReference = DestType->getAs<ReferenceType>())) {
  738   const RecordType *DestRecord = DestPointee->getAs<RecordType>();
  739   if (DestPointee->isVoidType()) {
  762     if (const PointerType *SrcPointer = SrcType->getAs<PointerType>()) {
  785   const RecordType *SrcRecord = SrcPointee->getAs<RecordType>();
  802   assert((DestRecord || DestPointee->isVoidType()) &&
  848   if (!Self.getLangOpts().RTTI && !DestPointee->isVoidType()) {
  889   const CXXRecordDecl *SrcPointeeRD = SrcType->getPointeeCXXRecordDecl();
  891     SrcPointeeRD ? SrcPointeeRD : SrcType->getAsCXXRecordDecl();
  899   const CXXRecordDecl *DestRD = DestType->getPointeeCXXRecordDecl();
  931       const CXXRecordDecl *BaseRD = IElem->Base->getType()->getAsCXXRecordDecl();
 1030   if (DestType->isVoidType()) {
 1046   if (ValueKind == VK_RValue && !DestType->isRecordType() &&
 1083   auto *SrcPtrType = SrcType->getAs<PointerType>();
 1086   auto *DestPtrType = DestType->getAs<PointerType>();
 1161   if (const EnumType *Enum = SrcType->getAs<EnumType>()) {
 1163       if (DestType->isBooleanType()) {
 1166       } else if (DestType->isIntegralType(Self.Context)) {
 1169       } else if (DestType->isRealFloatingType()) {
 1184   if (DestType->isEnumeralType()) {
 1185     if (SrcType->isIntegralOrEnumerationType()) {
 1188     } else if (SrcType->isRealFloatingType())   {
 1212   if (const PointerType *SrcPointer = SrcType->getAs<PointerType>()) {
 1214     if (SrcPointee->isVoidType()) {
 1215       if (const PointerType *DestPointer = DestType->getAs<PointerType>()) {
 1217         if (DestPointee->isIncompleteOrObjectType()) {
 1243             DestPointee->isFunctionType()) {
 1249       else if (DestType->isObjCObjectPointerType()) {
 1255       else if (CStyle && DestType->isBlockPointerType()) {
 1263   if (SrcType->isObjCObjectPointerType() &&
 1264       DestType->isObjCObjectPointerType()) {
 1276   if (auto SrcPointer = SrcType->getAs<PointerType>())
 1277     if (auto DestPointer = DestType->getAs<PointerType>())
 1278       if (SrcPointer->getPointeeType()->getAs<RecordType>() &&
 1279           DestPointer->getPointeeType()->getAs<RecordType>())
 1294   const RValueReferenceType *R = DestType->getAs<RValueReferenceType>();
 1359   const ReferenceType *DestReference = DestType->getAs<ReferenceType>();
 1396   const PointerType *DestPointer = DestType->getAs<PointerType>();
 1401   const PointerType *SrcPointer = SrcType->getAs<PointerType>();
 1535   const MemberPointerType *DestMemPtr = DestType->getAs<MemberPointerType>();
 1552   const MemberPointerType *SrcMemPtr = SrcType->getAs<MemberPointerType>();
 1652   if (DestType->isRecordType()) {
 1683   if (InitSeq.Failed() && (CStyle || !DestType->isReferenceType()))
 1710   if (const ReferenceType *DestTypeTmp =DestType->getAs<ReferenceType>()) {
 1731       if (!SrcType->isRecordType()) {
 1760   if (!DestType->isPointerType() &&
 1761       !DestType->isMemberPointerType() &&
 1762       !DestType->isObjCObjectPointerType()) {
 1772   if (DestType->isFunctionPointerType() ||
 1773       DestType->isMemberFunctionPointerType()) {
 1818     if (!SrcType->getAs<PointerType>() || !DestType->getAs<PointerType>()) {
 1818     if (!SrcType->getAs<PointerType>() || !DestType->getAs<PointerType>()) {
 1821     SrcTy = SrcType->getPointeeType();
 1822     DestTy = DestType->getPointeeType();
 1824     if (!DestType->getAs<ReferenceType>()) {
 1828     DestTy = DestType->getPointeeType();
 1836   if (DestTy->isAnyCharacterType() || DestTy->isVoidType() ||
 1836   if (DestTy->isAnyCharacterType() || DestTy->isVoidType() ||
 1837       SrcTy->isAnyCharacterType() || SrcTy->isVoidType()) {
 1837       SrcTy->isAnyCharacterType() || SrcTy->isVoidType()) {
 1841   if (SrcTy->getAs<TagType>() || DestTy->getAs<TagType>()) {
 1841   if (SrcTy->getAs<TagType>() || DestTy->getAs<TagType>()) {
 1846   if ((SrcTy->isUnsignedIntegerType() && DestTy->isSignedIntegerType()) ||
 1846   if ((SrcTy->isUnsignedIntegerType() && DestTy->isSignedIntegerType()) ||
 1847       (SrcTy->isSignedIntegerType() && DestTy->isUnsignedIntegerType())) {
 1847       (SrcTy->isSignedIntegerType() && DestTy->isUnsignedIntegerType())) {
 1861   if (const PointerType *SrcPtrTy = SrcType->getAs<PointerType>())
 1865         DT = DestType->getPointeeType();
 1866       if (!DT.getUnqualifiedType()->isVoidType())
 1881       !SrcType->isFunctionPointerType() || !DstType->isFunctionPointerType())
 1881       !SrcType->isFunctionPointerType() || !DstType->isFunctionPointerType())
 1884       SrcType->castAs<PointerType>()->getPointeeType()->castAs<FunctionType>();
 1884       SrcType->castAs<PointerType>()->getPointeeType()->castAs<FunctionType>();
 1886       DstType->castAs<PointerType>()->getPointeeType()->castAs<FunctionType>();
 1886       DstType->castAs<PointerType>()->getPointeeType()->castAs<FunctionType>();
 1971   if (CStyle && SrcType->isIntegralType(Self.Context)
 1972       && !SrcType->isBooleanType()
 1973       && !SrcType->isEnumeralType()
 1982     unsigned Diag = DestType->isVoidPointerType() ?
 2038   if (const ReferenceType *DestTypeTmp = DestType->getAs<ReferenceType>()) {
 2086   const MemberPointerType *DestMemPtr = DestType->getAs<MemberPointerType>(),
 2087                           *SrcMemPtr = SrcType->getAs<MemberPointerType>();
 2127   if (SrcType->isNullPtrType() && DestType->isIntegralType(Self.Context)) {
 2127   if (SrcType->isNullPtrType() && DestType->isIntegralType(Self.Context)) {
 2143   bool destIsVector = DestType->isVectorType();
 2144   bool srcIsVector = SrcType->isVectorType();
 2149     if ((!destIsVector && !DestType->isIntegralType(Self.Context)) ||
 2150         (!srcIsVector && !SrcType->isIntegralType(Self.Context)))
 2182     if (SrcType->isIntegralOrEnumerationType() ||
 2183         SrcType->isAnyPointerType() ||
 2184         SrcType->isMemberPointerType() ||
 2185         SrcType->isBlockPointerType()) {
 2191   bool destIsPtr = DestType->isAnyPointerType() ||
 2192                    DestType->isBlockPointerType();
 2193   bool srcIsPtr = SrcType->isAnyPointerType() ||
 2194                   SrcType->isBlockPointerType();
 2201   if (DestType->isIntegralType(Self.Context)) {
 2207                               !DestType->isBooleanType();
 2218   if (SrcType->isIntegralOrEnumerationType()) {
 2237   if ((SrcType->isBlockPointerType() && DestType->isObjCObjectPointerType()) ||
 2237   if ((SrcType->isBlockPointerType() && DestType->isObjCObjectPointerType()) ||
 2238       (DestType->isBlockPointerType() && SrcType->isObjCObjectPointerType()))
 2238       (DestType->isBlockPointerType() && SrcType->isObjCObjectPointerType()))
 2251     assert(SrcType->isPointerType() && DestType->isPointerType());
 2251     assert(SrcType->isPointerType() && DestType->isPointerType());
 2253         !DestType->getPointeeType().getQualifiers().isAddressSpaceSupersetOf(
 2254             SrcType->getPointeeType().getQualifiers())) {
 2259   } else if (DestType->isObjCObjectPointerType()) {
 2261   } else if (DestType->isBlockPointerType()) {
 2262     if (!SrcType->isBlockPointerType()) {
 2273   if (CStyle && DestType->isObjCObjectPointerType()) {
 2284   if (SrcType->isFunctionPointerType()) {
 2285     if (DestType->isFunctionPointerType()) {
 2304   if (DestType->isFunctionPointerType()) {
 2332   auto SrcPtrType = SrcType->getAs<PointerType>();
 2335   auto DestPtrType = DestType->getAs<PointerType>();
 2421   if (DestType->isVoidType()) {
 2438   if (DestType->isDependentType() || SrcExpr.get()->isTypeDependent() ||
 2444   if (ValueKind == VK_RValue && !DestType->isRecordType() &&
 2452   if (const VectorType *vecTy = DestType->getAs<VectorType>())
 2454         && (SrcExpr.get()->getType()->isIntegerType()
 2455             || SrcExpr.get()->getType()->isFloatingType())) {
 2556   if (DestType.getUnqualifiedType()->isVoidType())
 2558   if ((SrcType->isAnyPointerType() || SrcType->isBlockPointerType())
 2558   if ((SrcType->isAnyPointerType() || SrcType->isBlockPointerType())
 2559       && (DestType->isAnyPointerType() || DestType->isBlockPointerType()))
 2559       && (DestType->isAnyPointerType() || DestType->isBlockPointerType()))
 2561   if (SrcType->isIntegerType() && DestType->isIntegerType() &&
 2561   if (SrcType->isIntegerType() && DestType->isIntegerType() &&
 2562       (SrcType->isBooleanType() == DestType->isBooleanType()) &&
 2562       (SrcType->isBooleanType() == DestType->isBooleanType()) &&
 2563       (SrcType->isEnumeralType() == DestType->isEnumeralType()))
 2563       (SrcType->isEnumeralType() == DestType->isEnumeralType()))
 2565   if (SrcType->isRealFloatingType() && DestType->isRealFloatingType())
 2565   if (SrcType->isRealFloatingType() && DestType->isRealFloatingType())
 2567   if (SrcType->isEnumeralType() && DestType->isEnumeralType())
 2567   if (SrcType->isEnumeralType() && DestType->isEnumeralType())
 2569   if (SrcType->isComplexType() && DestType->isComplexType())
 2569   if (SrcType->isComplexType() && DestType->isComplexType())
 2571   if (SrcType->isComplexIntegerType() && DestType->isComplexIntegerType())
 2571   if (SrcType->isComplexIntegerType() && DestType->isComplexIntegerType())
 2593   if (DestType->isVoidType()) {
 2619   assert(!SrcType->isPlaceholderType());
 2631   if (!DestType->isScalarType() && !DestType->isVectorType()) {
 2631   if (!DestType->isScalarType() && !DestType->isVectorType()) {
 2632     const RecordType *DestRecordTy = DestType->getAs<RecordType>();
 2659     if (Self.getLangOpts().OpenCL && DestType->isEventT()) {
 2685   if (!SrcType->isScalarType() && !SrcType->isVectorType()) {
 2685   if (!SrcType->isScalarType() && !SrcType->isVectorType()) {
 2693   if (DestType->isExtVectorType()) {
 2698   if (const VectorType *DestVecTy = DestType->getAs<VectorType>()) {
 2700           (SrcType->isIntegerType() || SrcType->isFloatingType())) {
 2700           (SrcType->isIntegerType() || SrcType->isFloatingType())) {
 2709   if (SrcType->isVectorType()) {
 2728   if (!DestType->isArithmeticType()) {
 2729     if (!SrcType->isIntegralType(Self.Context) && SrcType->isArithmeticType()) {
 2729     if (!SrcType->isIntegralType(Self.Context) && SrcType->isArithmeticType()) {
 2738   } else if (!SrcType->isArithmeticType()) {
 2739     if (!DestType->isIntegralType(Self.Context) &&
 2740         DestType->isArithmeticType()) {
 2751     if (DestType->isHalfType()) {
 2765     const PointerType *CastPtr = DestType->getAs<PointerType>();
 2767       if (const PointerType *ExprPtr = SrcType->getAs<PointerType>()) {
 2770         if (CastPtr->getPointeeType()->isObjCLifetimeType() &&
 2771             ExprPtr->getPointeeType()->isObjCLifetimeType() &&
 2850   if (!((SrcType->isAnyPointerType() && DestType->isAnyPointerType()) ||
 2850   if (!((SrcType->isAnyPointerType() && DestType->isAnyPointerType()) ||
 2851         DestType->isLValueReferenceType()))
tools/clang/lib/Sema/SemaChecking.cpp
  137   if (!Ty->isIntegerType()) {
  212     if (!Ty->isIntegerType()) {
  231     const auto *PtrTy = Ty->getAs<PointerType>();
  232     if (!(PtrTy && PtrTy->getPointeeType()->isIntegerType() &&
  265   if (CE->getCallee()->getType()->isBlockPointerType()) {
  288   if (!ChainResult.get()->getType()->isPointerType()) {
  478   return Arg->getType()->isBlockPointerType();
  487       BPT->getPointeeType()->castAs<FunctionProtoType>()->getParamTypes();
  494     if (!(*I)->isPointerType() || !(*I)->getPointeeType()->isVoidType() ||
  494     if (!(*I)->isPointerType() || !(*I)->getPointeeType()->isVoidType() ||
  494     if (!(*I)->isPointerType() || !(*I)->getPointeeType()->isVoidType() ||
  495         (*I)->getPointeeType().getQualifiers().getAddressSpace() !=
  586       BPT->getPointeeType()->castAs<FunctionProtoType>()->getNumParams();
  644   if (!Arg0->getType()->isQueueT()) {
  652   if (!Arg1->getType()->isIntegerType()) {
  679     if (BPT->getPointeeType()->castAs<FunctionProtoType>()->getNumParams() > 0) {
  703     if (!Arg3->getType()->isIntegerType()) {
  716         !Arg4->getType()->getPointeeOrArrayElementType()->isClkEventT()) {
  727         !(Arg5->getType()->isPointerType() &&
  728           Arg5->getType()->getPointeeType()->isClkEventT())) {
  728           Arg5->getType()->getPointeeType()->isClkEventT())) {
  757   if (!Arg0->getType()->isPipeType()) {
  809   const PointerType *ArgTy = ArgIdx->getType()->getAs<PointerType>();
  814           EltTy, ArgTy->getPointeeType()->getCanonicalTypeInternal())) {
  847     if (!Call->getArg(1)->getType()->isReserveIDT()) {
  856     if (!Arg2->getType()->isIntegerType() &&
  857         !Arg2->getType()->isUnsignedIntegerType()) {
  890   if (!Call->getArg(1)->getType()->isIntegerType() &&
  891       !Call->getArg(1)->getType()->isUnsignedIntegerType()) {
  919   if (!Call->getArg(1)->getType()->isReserveIDT()) {
  938   if (!Call->getArg(0)->getType()->isPipeType()) {
  962   if (!RT->isPointerType() || RT->getPointeeType()
  962   if (!RT->isPointerType() || RT->getPointeeType()
  969   if (RT->getPointeeType().getAddressSpace() != LangAS::opencl_generic) {
  976   RT = RT->getPointeeType();
 1008     if (const ArrayType *Ty = ArgTy->getAsArrayTypeUnsafe())
 1010     if (ArgTy->isFunctionType()) {
 1019     if (!ParamTy->isPointerType())
 1021     if (ParamTy->isFunctionPointerType())
 1023     if (ParamTy->isVoidPointerType())
 1039   if (S.RequireCompleteType(TheCall->getBeginLoc(), ParamTy->getPointeeType(),
 1043   assert(ParamTy->getPointeeType()->isObjectType() &&
 1043   assert(ParamTy->getPointeeType()->isObjectType() &&
 1379     if (!PtrArgType->isPointerType() ||
 1380         !PtrArgType->getPointeeType()->isRecordType()) {
 1380         !PtrArgType->getPointeeType()->isRecordType()) {
 1390     if (!FnPtrArgType->isPointerType()) {
 1398         FnPtrArgType->getPointeeType()->getAs<FunctionType>();
 1398         FnPtrArgType->getPointeeType()->getAs<FunctionType>();
 1416           !PT->isPointerType() || !PT->getPointeeType()->isCharType() ||
 1416           !PT->isPointerType() || !PT->getPointeeType()->isCharType() ||
 1416           !PT->isPointerType() || !PT->getPointeeType()->isCharType() ||
 1417           !PT->getPointeeType().isConstQualified()) {
 1760   const PointerType *pointerType = PointerArg->getType()->getAs<PointerType>();
 1794   if (!ValType->isIntegerType() && !ValType->isAnyPointerType() &&
 1794   if (!ValType->isIntegerType() && !ValType->isAnyPointerType() &&
 1795       !ValType->isBlockPointerType() && !ValType->isFloatingType()) {
 1795       !ValType->isBlockPointerType() && !ValType->isFloatingType()) {
 1971   if (Arg->getType()->getAsPlaceholderType() ||
 4113         = Expr->IgnoreImplicit()->getType()->getNullability(S.Context)) {
 4120   if (const RecordType *UT = Expr->getType()->getAsUnionType()) {
 4198   if (auto nullability = type->getNullability(ctx))
 4265         if (auto pointerType = type->getAs<PointerType>())
 4267         else if (auto blockType = type->getAs<BlockPointerType>())
 4272         Proto = type->getAs<FunctionProtoType>();
 4449   if (!Ty->isBlockPointerType() && !Ty->isFunctionPointerType() &&
 4449   if (!Ty->isBlockPointerType() && !Ty->isFunctionPointerType() &&
 4450       !Ty->isFunctionProtoType())
 4456   } else if (Ty->isBlockPointerType()) {
 4693   const PointerType *pointerType = Ptr->getType()->getAs<PointerType>();
 4704     if (!AtomTy->isAtomicType()) {
 4716     ValType = AtomTy->castAs<AtomicType>()->getValueType();
 4728     if (IsAddSub && !ValType->isIntegerType()
 4729         && !ValType->isPointerType()) {
 4735       const BuiltinType *BT = ValType->getAs<BuiltinType>();
 4742     if (!IsAddSub && !IsMinMax && !ValType->isIntegerType()) {
 4747     if (IsC11 && ValType->isPointerType() &&
 4748         RequireCompleteType(Ptr->getBeginLoc(), ValType->getPointeeType(),
 4752   } else if (IsN && !ValType->isIntegerType() && !ValType->isPointerType()) {
 4752   } else if (IsN && !ValType->isIntegerType() && !ValType->isPointerType()) {
 4761       !AtomTy->isScalarType()) {
 4865         if (Form == Init || (Form == Arithmetic && ValType->isIntegerType()))
 4883                   ValArg->getType()->getAs<PointerType>()) {
 5049   const PointerType *pointerType = FirstArg->getType()->getAs<PointerType>();
 5057   if (!ValType->isIntegerType() && !ValType->isAnyPointerType() &&
 5057   if (!ValType->isIntegerType() && !ValType->isAnyPointerType() &&
 5058       !ValType->isBlockPointerType()) {
 5420   const PointerType *pointerType = PointerArg->getType()->getAs<PointerType>();
 5431   if (!ValType->isIntegerType() && !ValType->isAnyPointerType() &&
 5431   if (!ValType->isIntegerType() && !ValType->isAnyPointerType() &&
 5432       !ValType->isBlockPointerType() && !ValType->isFloatingType() &&
 5432       !ValType->isBlockPointerType() && !ValType->isFloatingType() &&
 5433       !ValType->isVectorType()) {
 5525       CC = FD->getType()->castAs<FunctionType>()->getCallConv();
 5647   else if (IsCRegister || Type->isReferenceType() ||
 5648            Type->isSpecificBuiltinType(BuiltinType::Float) || [=] {
 5651              if (!Type->isPromotableIntegerType())
 5653              if (!Type->isEnumeralType())
 5655              const EnumDecl *ED = Type->castAs<EnumType>()->getDecl();
 5660     if (Type->isReferenceType())  Reason = 1;
 5751   if (Res.isNull() || !Res->isRealFloatingType())
 5782   if (!OrigArg->getType()->isRealFloatingType())
 5793       if (CastArg->getType()->isSpecificBuiltinType(BuiltinType::Float)) {
 5795             (Cast->getType()->isSpecificBuiltinType(BuiltinType::Double) ||
 5796              Cast->getType()->isSpecificBuiltinType(BuiltinType::Float) ||
 5797              Cast->getType()->isSpecificBuiltinType(BuiltinType::LongDouble)) &&
 5844   if ((!Arg1Ty->isVectorType() && !Arg1Ty->isDependentType()) ||
 5844   if ((!Arg1Ty->isVectorType() && !Arg1Ty->isDependentType()) ||
 5845       (!Arg2Ty->isVectorType() && !Arg2Ty->isDependentType())) {
 5845       (!Arg2Ty->isVectorType() && !Arg2Ty->isDependentType())) {
 5888     if (!LHSType->isVectorType() || !RHSType->isVectorType())
 5888     if (!LHSType->isVectorType() || !RHSType->isVectorType())
 5895     numElements = LHSType->castAs<VectorType>()->getNumElements();
 5902       if (!RHSType->hasIntegerRepresentation() ||
 5903           RHSType->castAs<VectorType>()->getNumElements() != numElements)
 5916       QualType eltType = LHSType->castAs<VectorType>()->getElementType();
 5964   if (!SrcTy->isVectorType() && !SrcTy->isDependentType())
 5964   if (!SrcTy->isVectorType() && !SrcTy->isDependentType())
 5968   if (!DstTy->isVectorType() && !DstTy->isDependentType())
 5968   if (!DstTy->isVectorType() && !DstTy->isDependentType())
 5972   if (!SrcTy->isDependentType() && !DstTy->isDependentType()) {
 5972   if (!SrcTy->isDependentType() && !DstTy->isDependentType()) {
 5973     unsigned SrcElts = SrcTy->castAs<VectorType>()->getNumElements();
 5974     unsigned DstElts = DstTy->castAs<VectorType>()->getNumElements();
 6355     if (!FirstArgType->isAnyPointerType())
 6364     if (!SecArgType->isIntegerType())
 6382     if (!FirstArgType->isAnyPointerType())
 6404     if (!FirstArgType->isAnyPointerType())
 6409     if (!SecArgType->isIntegerType())
 6426     if (!FirstArgType->isAnyPointerType())
 6455     if (!ArgTypeA->isAnyPointerType() && !isNull(ArgA))
 6459     if (!ArgTypeB->isAnyPointerType() && !isNull(ArgB))
 6464     if (ArgTypeA->isAnyPointerType() && !isNull(ArgA) &&
 6465         ArgTypeB->isAnyPointerType() && !isNull(ArgB)) {
 6466       QualType pointeeA = ArgTypeA->getPointeeType();
 6467       QualType pointeeB = ArgTypeB->getPointeeType();
 6478     if (!ArgTypeA->isAnyPointerType() && !ArgTypeB->isAnyPointerType())
 6478     if (!ArgTypeA->isAnyPointerType() && !ArgTypeB->isAnyPointerType())
 6895       } else if (const PointerType *PT = T->getAs<PointerType>()) {
 6898       } else if (T->isObjCObjectPointerType()) {
 7901   const RecordType *RT = Ty->getAs<RecordType>();
 8216   while (const TypedefType *UserTy = TyTy->getAs<TypedefType>()) {
 8276       From->isPromotableIntegerType() &&
 8281   if (const auto *VecTy = From->getAs<ExtVectorType>())
 8283   if (const auto *VecTy = To->getAs<ExtVectorType>())
 8365   if (auto EnumTy = ExprTy->getAs<EnumType>()) {
 8376     if (ExprTy->isIntegralOrUnscopedEnumerationType() &&
 8377         !ExprTy->isCharType()) {
 8561       if (ExprTy->isObjCObjectType())
 8922   const FunctionProtoType *FT = BuiltinType->getAs<FunctionProtoType>();
 8960   if (T->isIntegralOrEnumerationType())
 8962   if (T->isRealFloatingType())
 8964   if (T->isAnyComplexType())
 9074   if (S.getLangOpts().CPlusPlus && !ArgType->isAnyComplexType()) {
 9076     if (ArgType->isIntegralOrEnumerationType()) {
 9078     } else if (ArgType->isRealFloatingType()) {
 9180   if (ArgType->isUnsignedIntegerType()) {
 9192   if (ArgType->isPointerType() || ArgType->canDecayToPointerType()) {
 9192   if (ArgType->isPointerType() || ArgType->canDecayToPointerType()) {
 9194     if (ArgType->isFunctionType())
 9196     else if (ArgType->isArrayType())
 9264   if (!ArgType->isUnsignedIntegerType()) return;
 9346   const Type *Ty = T->getBaseElementTypeUnsafe();
 9421     for (const FieldDecl *FD : FT->castAs<RecordType>()->getDecl()->fields())
 9463     for (const FieldDecl *FD : FT->castAs<RecordType>()->getDecl()->fields())
 9611   if (BId == Builtin::BIbzero && !FirstArgTy->getAs<PointerType>())
 9620     if (const PointerType *DestPtrTy = DestTy->getAs<PointerType>()) {
 9625       if (PointeeTy->isVoidType())
 9650           if (!PointeeTy->isIncompleteType() &&
 9691         if (PointeeTy->isRecordType() &&
 9701     } else if (DestTy->isArrayType()) {
 9738     else if (const auto *RT = PointeeTy->getAs<RecordType>()) {
 9797   } else if (!Ty->isVariableArrayType()) {
 9997         = FD->getType()->castAs<FunctionProtoType>();
10074                           T->getCanonicalTypeInternal().getTypePtr());
10195   return IntRange(MaxWidth, Ty->isUnsignedIntegerOrEnumerationType());
10200   if (const AtomicType *AtomicRHS = Ty->getAs<AtomicType>())
10352       if (BO->getLHS()->getType()->isPointerType())
10428                     BitField->getType()->isUnsignedIntegerOrEnumerationType());
10501   return E->getType()->isIntegerType() &&
10502          (!E->getType()->isSignedIntegerType() ||
10503           !E->IgnoreParenImpCasts()->getType()->isSignedIntegerType());
10640   return E->getType()->isEnumeralType();
10676   if (Constant->getType()->isEnumeralType() &&
10683   if (const auto *AT = OtherT->getAs<AtomicType>())
10691                               OtherT->isSpecificBuiltinType(BuiltinType::SChar);
10696       !OtherT->isBooleanType() && Other->isKnownToHaveBooleanValue();
10797   if (T->isIntegralType(S.Context)) {
10823   if (!T->hasUnsignedIntegerRepresentation()) {
10846   if (LHS->getType()->hasSignedIntegerRepresentation()) {
10847     assert(!RHS->getType()->hasSignedIntegerRepresentation() &&
10851   } else if (RHS->getType()->hasSignedIntegerRepresentation()) {
10905   if (BitfieldType->isBooleanType())
10908   if (BitfieldType->isEnumeralType()) {
10909     EnumDecl *BitfieldEnumDecl = BitfieldType->castAs<EnumType>()->getDecl();
10922   if (Bitfield->getType()->isBooleanType())
10941     if (const auto *EnumTy = OriginalInit->getType()->getAs<EnumType>()) {
10943       bool SignedBitfield = BitfieldType->isSignedIntegerType();
11006   TruncatedValue.setIsSigned(BitfieldType->isSignedIntegerType());
11048   if (E->getLHS()->getType()->isAtomicType())
11075   return Ty->isSpecificBuiltinType(BuiltinType::SChar) &&
11097   const bool IsBool = T->isSpecificBuiltinType(BuiltinType::Bool);
11127                             T->hasUnsignedIntegerRepresentation());
11219   if (E->getLHS()->getType()->isAtomicType())
11223   const auto *ResultBT = E->getLHS()->getType()->getAs<BuiltinType>();
11226                         ->getAs<BuiltinType>();
11315   if (T->isAnyPointerType() || T->isBlockPointerType() ||
11315   if (T->isAnyPointerType() || T->isBlockPointerType() ||
11316       T->isMemberPointerType() || !T->isScalarType() || T->isNullPtrType())
11316       T->isMemberPointerType() || !T->isScalarType() || T->isNullPtrType())
11316       T->isMemberPointerType() || !T->isScalarType() || T->isNullPtrType())
11361         ICE->getSubExpr()->getType()->getAs<ObjCObjectPointerType>())
11367   if (ElementType->getAs<ObjCObjectPointerType>() &&
11390   const auto *TargetObjCPtr = TargetType->getAs<ObjCObjectPointerType>();
11419   const auto *TargetObjCPtr = TargetType->getAs<ObjCObjectPointerType>();
11457   if (CC.isValid() && T->isCharType()) {
11484   const auto *LHSEnumType = LHSStrippedType->getAs<EnumType>();
11487   const auto *RHSEnumType = RHSStrippedType->getAs<EnumType>();
11523       else if (E->getType()->isSignedIntegerType())
11708             InnerE->getType()->isBooleanType()) {
11999   if (T->isBooleanType())
12027   if (E->IgnoreParenImpCasts()->getType()->isAtomicType())
12053           << OrigE->getSourceRange() << T->isBooleanType()
12088     if (!CE->getType()->isVoidType() && E->getType()->isAtomicType())
12088     if (!CE->getType()->isVoidType() && E->getType()->isAtomicType())
12146       if (U->getSubExpr()->getType()->isAtomicType())
12157   if (!E->getType()->isIntegerType()) {
12177     if (!DRE->getDecl()->getType()->isReferenceType())
12180     if (!M->getMemberDecl()->getType()->isReferenceType())
12183     if (!Call->getCallReturnType(SemaRef.Context)->isReferenceType())
12335   const bool IsArray = T->isArrayType();
12336   const bool IsFunction = T->isFunctionType();
12388     if (!ReturnType->isPointerType()) {
12391         if (!ReturnType->isIntegerType())
12400     if (!ReturnType->isSpecificBuiltinType(BuiltinType::Bool))
13012   if (!PType->isVariablyModifiedType())
13082       if (CXXRecordDecl *ClassDecl = Param->getType()->getAsCXXRecordDecl()) {
13141   if (T->isDependentType() || Op->getType()->isDependentType())
13141   if (T->isDependentType() || Op->getType()->isDependentType())
13145   const PointerType *DestPtr = T->getAs<PointerType>();
13150   if (DestPointee->isIncompleteType()) return;
13155   const PointerType *SrcPtr = Op->getType()->getAs<PointerType>();
13163   if (SrcPointee->isIncompleteType()) return;
13243       BaseExpr->getType()->getPointeeOrArrayElementType();
13987           LHSType->isObjCRetainableType())
14344   const Type::TypeClass TC1 = T1->getTypeClass();
14345   const Type::TypeClass TC2 = T2->getTypeClass();
14355     if (!T1->isStandardLayoutType() || !T2->isStandardLayoutType())
14355     if (!T1->isStandardLayoutType() || !T2->isStandardLayoutType())
14518   const BuiltinType *BT1 = T1->getAs<BuiltinType>();
14522   const BuiltinType *BT2 = T2->getAs<BuiltinType>();
14572       if (ICE->getType()->isVoidPointerType() &&
14579   if (IsPointerAttr && ArgumentType->isVoidPointerType())
14609       if ((IsPointerAttr && IsSameCharType(ArgumentType->getPointeeType(),
14610                                            RequiredType->getPointeeType())) ||
14616                                      ArgumentType->getPointeeType(),
14617                                      RequiredType->getPointeeType());
14658            (T->isPointerType() && (T->getPointeeType()->isIncompleteType() ||
14686       BaseType = BaseType->getPointeeType();
14687     RecordDecl *RD = BaseType->castAs<RecordType>()->getDecl();
14740     if (!VD->getType()->isReferenceType())
tools/clang/lib/Sema/SemaCodeComplete.cpp
  415   if (LHSType->isPointerType()) {
  455     if (LHSType->isIntegralOrEnumerationType())
  471     if (LHSType->isIntegralOrEnumerationType())
  494     if (!ContextType.isNull() && ContextType->isPointerType())
  495       return ContextType->getPointeeType();
  907     if (const auto *Ref = T->getAs<ReferenceType>()) {
  912     if (const auto *Pointer = T->getAs<PointerType>()) {
  913       if (Pointer->getPointeeType()->isFunctionType()) {
  921     if (const auto *Block = T->getAs<BlockPointerType>()) {
  926     if (const auto *Function = T->getAs<FunctionType>()) {
 1414     if (VD->getType()->isIntegralOrEnumerationType())
 1502   switch (T->getTypeClass()) {
 1530   return T->isDependentType() || T->isRecordType();
 1530   return T->isDependentType() || T->isRecordType();
 1564   return T->isObjCObjectType() || T->isObjCObjectPointerType() ||
 1564   return T->isObjCObjectType() || T->isObjCObjectPointerType() ||
 1565          T->isObjCIdType() ||
 1566          (SemaRef.getLangOpts().CPlusPlus && T->isRecordType());
 1604         assert(ThisType->isPointerType());
 1605         BaseType = ThisType->getPointeeType();
 1607           NamingClass = BaseType->getAsCXXRecordDecl();
 2305     if (ReturnType.isNull() || ReturnType->isVoidType()) {
 2318       if (ReturnType->isBooleanType()) {
 2749   if (Param->getType()->isDependentType() ||
 2750       !Param->getType()->isBlockPointerType()) {
 2843   if (!ResultType->isVoidType() || SuppressBlock)
 2963   if (const auto *Proto = Function->getType()->getAs<FunctionProtoType>())
 3074   const auto *Proto = Function->getType()->getAs<FunctionProtoType>();
 3173     if (const auto *RecordTy = Ty->getAs<RecordType>())
 3175     else if (const auto *InjectedTy = Ty->getAs<InjectedClassNameType>())
 3477         ObjCSubsts = CCContext.getBaseType()->getObjCSubstitutions(Method);
 3479       if (ParamType->isBlockPointerType() && !DeclaringEntity)
 4102     Results.setObjectTypeQualifiers(ThisType->getPointeeType().getQualifiers(),
 4207     if (!T.get().isNull() && T.get()->isObjCObjectOrInterfaceType())
 4268   if (auto *Specialization = T->getAs<TemplateSpecializationType>()) {
 4274     return Argument.getAsType()->getAs<FunctionProtoType>();
 4277   if (T->isPointerType())
 4278     T = T->getPointeeType();
 4279   return T->getAs<FunctionProtoType>();
 4370     PreferredTypeIsPointer = Data.PreferredType->isAnyPointerType() ||
 4371                              Data.PreferredType->isMemberPointerType() ||
 4372                              Data.PreferredType->isBlockPointerType();
 4373     if (Data.PreferredType->isEnumeralType()) {
 4374       EnumDecl *Enum = Data.PreferredType->castAs<EnumType>()->getDecl();
 4557                      (BlockLoc.getTypePtr()->getReturnType()->isVoidType()
 4603             M->getReturnType()->isVoidType() || M->isInstanceMethod())
 4680       bool IsDependent = BaseType->isDependentType();
 4711     if (const auto *Ptr = ConvertedBaseType->getAs<PointerType>())
 4718     if (ConvertedBaseType->isObjCObjectPointerType() ||
 4719         ConvertedBaseType->isObjCObjectOrInterfaceType()) {
 4746       if (const PointerType *Ptr = BaseType->getAs<PointerType>()) {
 4749       } else if (BaseType->isObjCObjectPointerType())
 4755     if (const RecordType *Record = BaseType->getAs<RecordType>()) {
 4760                    BaseType->getAs<TemplateSpecializationType>()) {
 4768     } else if (const auto *ICNT = BaseType->getAs<InjectedClassNameType>()) {
 4772     } else if (!IsArrow && BaseType->isObjCObjectPointerType()) {
 4777               BaseType->getAsObjCInterfacePointerType()) {
 4786       for (auto *I : BaseType->getAs<ObjCObjectPointerType>()->quals())
 4791     } else if ((IsArrow && BaseType->isObjCObjectPointerType()) ||
 4792                (!IsArrow && BaseType->isObjCObjectType())) {
 4796               BaseType->getAs<ObjCObjectPointerType>())
 4799         Class = BaseType->getAs<ObjCObjectType>()->getInterface();
 4971   if (!type->isEnumeralType()) {
 4980   EnumDecl *Enum = type->castAs<EnumType>()->getDecl();
 5152           !FD->getType()->getAs<FunctionProtoType>())
 5160     } else if (auto DC = NakedFn->getType()->getAsCXXRecordDecl()) {
 5181       if (!T->getPointeeType().isNull())
 5182         T = T->getPointeeType();
 5184       if (auto FP = T->getAs<FunctionProtoType>()) {
 5189       } else if (auto FT = T->getAs<FunctionType>())
 5209       isCompleteType(Loc, Type) ? Type->getAsCXXRecordDecl() : nullptr;
 5645     const auto *RD = Base.getType()->getAsCXXRecordDecl();
 5653     const CXXRecordDecl *RD = FD->getType()->getAsCXXRecordDecl();
 6434             Msg->getClassReceiver()->getAs<ObjCObjectType>())
 6440     if (const ObjCObjectPointerType *Ptr = T->getAs<ObjCObjectPointerType>())
 6666               Context.getTypeDeclType(TD)->getAs<ObjCObjectType>())
 6741       if (const ObjCObjectType *Interface = T->getAs<ObjCObjectType>())
 6863   if (ReceiverType->isObjCIdType() || ReceiverType->isObjCClassType()) {
 6863   if (ReceiverType->isObjCIdType() || ReceiverType->isObjCClassType()) {
 6865       if (ReceiverType->isObjCClassType())
 6909   if (ReceiverType->isObjCClassType() ||
 6910       ReceiverType->isObjCQualifiedClassType()) {
 6919                ReceiverType->getAsObjCQualifiedIdType()) {
 6927                ReceiverType->getAsObjCInterfacePointerType()) {
 6938   else if (ReceiverType->isObjCIdType()) {
 7586   bool ReturnTypeMatchesVoid = ReturnType.isNull() || ReturnType->isVoidType();
 7605         (ReturnType->isIntegerType() || ReturnType->isBooleanType())) ||
 7605         (ReturnType->isIntegerType() || ReturnType->isBooleanType())) ||
 7606        (ReturnType.isNull() && (Property->getType()->isIntegerType() ||
 7607                                 Property->getType()->isBooleanType())))) {
 7652           Property->getType()->getAs<ObjCObjectPointerType>()) {
 7677       (ReturnType.isNull() || ReturnType->isIntegerType())) {
 7699       (ReturnType.isNull() || ReturnType->isObjCObjectPointerType())) {
 7722        (ReturnType->isObjCObjectPointerType() &&
 7723         ReturnType->getAs<ObjCObjectPointerType>()->getInterfaceDecl() &&
 7724         ReturnType->getAs<ObjCObjectPointerType>()
 7945        (ReturnType->isObjCObjectPointerType() &&
 7946         ReturnType->getAs<ObjCObjectPointerType>()->getInterfaceDecl() &&
 7947         ReturnType->getAs<ObjCObjectPointerType>()
 7968       (ReturnType.isNull() || ReturnType->isObjCObjectPointerType())) {
 8109        (ReturnType->isObjCObjectPointerType() &&
 8110         ReturnType->getAs<ObjCObjectPointerType>()->getInterfaceDecl() &&
 8111         ReturnType->getAs<ObjCObjectPointerType>()
 8133       (ReturnType.isNull() || ReturnType->isIntegerType() ||
 8134        ReturnType->isBooleanType())) {
 8271       if (!Method->getReturnType()->isVoidType()) {
tools/clang/lib/Sema/SemaCoroutine.cpp
   52   const FunctionProtoType *FnType = FD->getType()->castAs<FunctionProtoType>();
   86       QualType T = MD->getThisType()->castAs<PointerType>()->getPointeeType();
  105   auto *RD = CoroTrait->getAsCXXRecordDecl();
  129   if (!PromiseType->getAsCXXRecordDecl()) {
  241   if (FD->getReturnType()->isUndeducedType())
  363         << NameInfo.getName() << Base->getType()->getAsCXXRecordDecl()
  377   if (RetType->isReferenceType())
  426   if (!AwaitReady->getType()->isDependentType()) {
  441   if (!AwaitSuspend->getType()->isDependentType()) {
  452       if (RetType->isReferenceType() ||
  453           (!RetType->isBooleanType() && !RetType->isVoidType())) {
  453           (!RetType->isBooleanType() && !RetType->isVoidType())) {
  485       return MD->isInstance() && MD->getThisType()->isDependentType();
  490   QualType T = FD->getType()->isDependentType() || IsThisDependentType
  523     if (PD->getType()->isDependentType())
  700   if (E->getType()->isPlaceholderType()) {
  718   if (E->getType()->isPlaceholderType()) {
  726   if (Promise->getType()->isDependentType()) {
  732   auto *RD = Promise->getType()->getAsCXXRecordDecl();
  756   if (E->getType()->isPlaceholderType()) {
  762   if (E->getType()->isDependentType()) {
  817   if (E->getType()->isPlaceholderType()) {
  823   if (E->getType()->isDependentType()) {
  860   if (E && E->getType()->isPlaceholderType() &&
  861       !E->getType()->isSpecificPlaceholderType(BuiltinType::Overload)) {
  885   if (E && (isa<InitListExpr>(E) || !E->getType()->isVoidType())) {
  939   auto *PointeeRD = PromiseType->getAsCXXRecordDecl();
  998           Fn.CoroutinePromise->getType()->isDependentType()) {
 1006     PromiseRecordDecl = Fn.CoroutinePromise->getType()->getAsCXXRecordDecl();
 1168     if (PD->getType()->isDependentType())
 1230     const auto *FT = OperatorNew->getType()->getAs<FunctionProtoType>();
 1421   assert(!GroType->isDependentType() &&
 1425   assert(!FnRetType->isDependentType() &&
 1428   if (FnRetType->isVoidType()) {
 1438   if (GroType->isVoidType()) {
 1533     if (PD->getType()->isDependentType())
 1543     if (PD->getType()->getAsCXXRecordDecl() ||
 1544         PD->getType()->isRValueReferenceType())
tools/clang/lib/Sema/SemaDecl.cpp
  188     if (auto *BaseTT = Base.getType()->getAs<TagType>())
  190     else if (auto *TST = Base.getType()->getAs<TemplateSpecializationType>()) {
  298     if (ObjectType->isRecordType())
 2093                                            R->isFunctionProtoType());
 2176   if (NewType->isVariablyModifiedType()) {
 2188       !OldType->isDependentType() &&
 2189       !NewType->isDependentType() &&
 2224         if (!T->isPointerType())
 2226         if (!T->isVoidPointerType()) {
 2227           QualType PT = T->castAs<PointerType>()->getPointeeType();
 2228           if (!PT->isStructureType())
 2960   if (auto Oldnullability = OldParam->getType()->getNullability(S.Context)) {
 2961     if (auto Newnullability = NewParam->getType()->getNullability(S.Context)) {
 3026   const AttributedType *AT = T->getAs<AttributedType>();
 3028     AT = AT->getModifiedType()->getAs<AttributedType>();
 3290         First->getType().getCanonicalType()->castAs<FunctionType>();
 3371     const FunctionType *AdjustedType = New->getType()->getAs<FunctionType>();
 3431       if (NewDeclaredReturnType->isObjCObjectPointerType() &&
 3432           OldDeclaredReturnType->isObjCObjectPointerType())
 3455       AutoType *OldAT = Old->getReturnType()->getContainedAutoType();
 3569       auto *OldType = OldQType->castAs<FunctionProtoType>();
 3616     const FunctionType *OldFuncType = OldQType->getAs<FunctionType>();
 3617     const FunctionType *NewFuncType = NewQType->getAs<FunctionType>();
 3662       New->getType()->getAs<FunctionProtoType>() &&
 3667       = Old->getType()->getAs<FunctionProtoType>();
 3669       = New->getType()->getAs<FunctionProtoType>();
 3846     if (New->getType()->isUndeducedType()) {
 3858     else if (Old->getType()->isArrayType() && New->getType()->isArrayType()) {
 3858     else if (Old->getType()->isArrayType() && New->getType()->isArrayType()) {
 3891     else if (New->getType()->isObjCObjectPointerType() &&
 3892                Old->getType()->isObjCObjectPointerType()) {
 3908     if ((New->getType()->isDependentType() ||
 3909          Old->getType()->isDependentType()) && New->isLocalVarDecl()) {
 3913       if (!New->getType()->isDependentType() && MergeTypeWithOld)
 4530                    DS.getRepAsType().get()->getAsStructureType())
 4532       else if (const RecordType *UT = DS.getRepAsType().get()->getAsUnionType())
 5259     if (Ty->isPointerType() || Ty->isReferenceType())
 5259     if (Ty->isPointerType() || Ty->isReferenceType())
 5260       Ty = Ty->getPointeeType();
 5261     else if (Ty->isArrayType())
 5262       Ty = Ty->castAsArrayTypeUnsafe()->getElementType();
 5328     if (T.isNull() || !T->isDependentType()) break;
 5619               R->isFunctionType())) {
 5676   if (!R->isFunctionType() && DiagnoseClassNameShadow(DC, NameInfo))
 5686       (TemplateParamLists.size() == 0 || R->isFunctionType()))
 5704   } else if (R->isFunctionType()) {
 5741   if (T->isDependentType())
 5770   if (VLATy->getElementType()->isVariablyModifiedType())
 5941   if (T->isVariablyModifiedType()) {
 5957         else if (T->isVariableArrayType())
 6099     if (!type->isObjCLifetimeType())
 6102     lifetime = type->getObjCARCImplicitLifetime();
 6504     if (R->isImageType() || R->isPipeType()) {
 6504     if (R->isImageType() || R->isPipeType()) {
 6517       if (R->isReserveIDT() || R->isClkEventT() || R->isEventT()) {
 6517       if (R->isReserveIDT() || R->isClkEventT() || R->isEventT()) {
 6517       if (R->isReserveIDT() || R->isClkEventT() || R->isEventT()) {
 6527     while (NR->isPointerType()) {
 6528       if (NR->isFunctionPointerType()) {
 6533       NR = NR->getPointeeType();
 6539       if (Context.getBaseElementType(R)->isHalfType()) {
 6545     if (R->isSamplerT()) {
 6568     if (R->isEventT()) {
 6647     if (R->getContainedDeducedType())
 6788     if (R->getContainedDeducedType())
 7014       if (!R->isIntegralType(Context) && !R->isPointerType()) {
 7014       if (!R->isIntegralType(Context) && !R->isPointerType()) {
 7542   if (T->isUndeducedType())
 7548   if (T->isObjCObjectType()) {
 7583     if (T->isBlockPointerType()) {
 7607       if (!T->isSamplerT() &&
 7680   bool isVM = T->isVariablyModifiedType();
 7686       (T->isVariableArrayType() && NewVD->hasGlobalStorage())) {
 7700     if ((!FixedTInfo || FixedT.isNull()) && T->isVariableArrayType()) {
 7733   if (T->isVoidType()) {
 7756   if (NewVD->isConstexpr() && !T->isDependentType() &&
 7806         Specifier->getType()->castAs<RecordType>()->getDecl();
 8164       (!R->getAsAdjusted<FunctionType>() && R->isFunctionProtoType());
 8164       (!R->getAsAdjusted<FunctionType>() && R->isFunctionProtoType());
 8191           D.getIdentifierLoc(), R->castAs<FunctionType>()->getReturnType(),
 8325   if (PT->isPointerType()) {
 8326     QualType PointeeType = PT->getPointeeType();
 8327     if (PointeeType->isPointerType())
 8344   if (PT->isImageType())
 8347   if (PT->isBooleanType() || PT->isEventT() || PT->isReserveIDT())
 8347   if (PT->isBooleanType() || PT->isEventT() || PT->isReserveIDT())
 8347   if (PT->isBooleanType() || PT->isEventT() || PT->isReserveIDT())
 8353   if (!S.getOpenCLOptions().isEnabled("cl_khr_fp16") && PT->isHalfType())
 8356   if (PT->isRecordType())
 8360   if (PT->isArrayType()) {
 8361     const Type *UnderlyingTy = PT->getPointeeOrArrayElementType();
 8413     if (!PT->isHalfType()) {
 8418       while ((Typedef = PT->getAs<TypedefType>())) {
 8449   assert((PT->isArrayType() || PT->isRecordType()) && "Unexpected type.");
 8449   assert((PT->isArrayType() || PT->isRecordType()) && "Unexpected type.");
 8451       PT->getPointeeOrArrayElementType()->getAs<RecordType>();
 8477       assert((FieldTy->isArrayType() || FieldTy->isRecordType()) &&
 8477       assert((FieldTy->isArrayType() || FieldTy->isRecordType()) &&
 8479       const Type *FieldRecTy = FieldTy->getPointeeOrArrayElementType();
 8512           << PT->isUnionType()
 8533         << QT->isPointerType()
 8570   assert(R->isFunctionType());
 8762           NewFD->getReturnType()->isUndeducedType())
 8769         NewFD->getReturnType()->isUndeducedType()) {
 8777           NewFD->getType()->castAs<FunctionProtoType>();
 8905     const FunctionProtoType *FPT = R->getAs<FunctionProtoType>();
 8998   } else if (const FunctionProtoType *FT = R->getAs<FunctionProtoType>()) {
 9016     assert(R->isFunctionNoProtoType() && NewFD->getNumParams() == 0 &&
 9031       NewFD->getReturnType()->isVariablyModifiedType()) {
 9101     const FunctionType *FT = NewFD->getType()->castAs<FunctionType>();
 9189         (NewFD->getType()->isDependentType() || DC->isDependentContext() ||
 9370       !NewFD->getType()->getAs<FunctionProtoType>()) {
 9376     const FunctionType *FT = NewFD->getType()->getAs<FunctionType>();
 9422       if (!R->getAs<FunctionType>()->getReturnType()->isScalarType())
 9422       if (!R->getAs<FunctionType>()->getReturnType()->isScalarType())
 9453     if (!NewFD->getReturnType()->isVoidType()) {
 9494       if(const PipeType *PipeTy = PT->getAs<PipeType>()) {
 9496           if (ElemTy->isReferenceType() || ElemTy->isPointerType()) {
 9496           if (ElemTy->isReferenceType() || ElemTy->isPointerType()) {
 9613   if (NewT->isDependentType() &&
 9619   if (OldT->isDependentType() && OldD->isLocalExternDecl())
 9745   if (OldFD && !OldFD->getType()->getAs<FunctionProtoType>()) {
 9751   if (!NewFD->getType()->getAs<FunctionProtoType>())
 9789   if (NewReturnType->isUndeducedType())
 9821             OldFD->getType()->getAs<FunctionProtoType>(), OldFD->getLocation(),
 9822             NewFD->getType()->getAs<FunctionProtoType>(), NewFD->getLocation()))
10238   assert(!NewFD->getReturnType()->isVariablyModifiedType() &&
10327         MD->getType()->castAs<FunctionProtoType>();
10441       if (!ClassType->isDependentType()) {
10526       if (R->isIncompleteType() && !R->isVoidType())
10526       if (R->isIncompleteType() && !R->isVoidType())
10529       else if (!R.isPODType(Context) && !R->isVoidType() &&
10530                !R->isObjCObjectPointerType())
10548         if (auto *RT = T->getAs<ReferenceType>())
10550         else if (T->isAnyPointerType())
10551           T = T->getPointeeType();
10552         else if (auto *MPT = T->getAs<MemberPointerType>())
10554         if (auto *FPT = T->getAs<FunctionProtoType>())
10560       auto *FPT = NewFD->getType()->castAs<FunctionProtoType>();
10613   assert(T->isFunctionType() && "function decl is not of function type");
10614   const FunctionType* FT = T->castAs<FunctionType>();
10733   assert(T->isFunctionType() && "function decl is not of function type");
10734   const FunctionType *FT = T->castAs<FunctionType>();
10738   if (FT->getReturnType()->isIntegralOrEnumerationType() ||
10739       FT->getReturnType()->isAnyPointerType() ||
10740       FT->getReturnType()->isNullPtrType())
10793         isRecordType = VD->getType()->isRecordType();
10794         isReferenceType = VD->getType()->isReferenceType();
10831         if (FD->getType()->isReferenceType())
10951       if (E->getType()->canDecayToPointerType()) return;
11058                  DRE->getDecl()->getType()->isRecordType()) {
11084     if (!DirectInit && !cast<VarDecl>(OrigDecl)->getType()->isRecordType())
11120   DeducedType *Deduced = Type->getContainedDeducedType();
11208       DeduceInit->getType()->isConstantArrayType())
11237       !DeducedType.isNull() && DeducedType->isObjCIdType()) {
11354     const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
11358         if (auto *OrigRD = OrigTy->getAsRecordDecl())
11419     const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
11423         if (auto *OrigRD = OrigTy->getAsRecordDecl())
11485     const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
11489         if (auto *OrigRD = OrigTy->getAsRecordDecl())
11573   if (VDecl->getType()->isUndeducedType()) {
11602   if (!VDecl->getType()->isDependentType()) {
11677   if (getLangOpts().DebuggerCastResultToId && DclT->isObjCObjectPointerType() &&
11732     if (!VDecl->hasLocalStorage() || VDecl->getType()->isRecordType() ||
11733         VDecl->getType()->isReferenceType()) {
11812     } else if (!getLangOpts().C99 && VDecl->getType()->isAggregateType() &&
11850     if (DclT->isDependentType()) {
11864     } else if (DclT->isIntegralOrEnumerationType()) {
11875       else if (Init->getType()->isScopedEnumeralType() &&
11892     } else if (DclT->isFloatingType()) { // also permits complex, which is ok
11914     } else if (getLangOpts().CPlusPlus11 && DclT->isLiteralType(Context)) {
12007   if (Ty->isDependentType()) return;
12044     if (Type->isUndeducedType() &&
12108       if (!Type->isDependentType() && Var->isLocalVarDecl() &&
12115       if (!Type->isDependentType() && !Var->isInvalidDecl() &&
12120       if (!Type->isDependentType() && !Var->isInvalidDecl() &&
12165     if (Type->isIncompleteArrayType()) {
12174     if (Type->isReferenceType()) {
12184     if (Type->isDependentType())
12221             = Context.getBaseElementType(Type)->getAs<RecordType>()) {
12345     if (var->getTypeSourceInfo()->getType()->isBlockPointerType() &&
12405             Context, var->getType()->isReferenceType(), &CacheCulprit);
12477   if (type->isDependentType()) return;
12542       CXXRecordDecl *RD = baseType->getAsCXXRecordDecl();
12552   if (const RecordType *recordType = baseType->getAs<RecordType>())
12563   if (VD->getType()->isDependentType())
12765       !VD->getType()->isIntegralOrEnumerationType())
12797   return VD && !VD->getType()->hasAutoForTrailingReturnType();
12844                        ->hasAutoForTrailingReturnType()
12882       DeducedType *DT = D->getType()->getContainedDeducedType();
13124   if (!ReturnTy->isDependentType() && ReturnTy.isPODType(Context)) {
13135     if (T->isDependentType() || !T.isPODType(Context))
13151       T->isObjCLifetimeType()) {
13158     if (T->isArrayType()) {
13170       lifetime = T->getObjCARCImplicitLifetime();
13201   if (T->isObjCObjectType()) {
13219         (T->isArrayType() || T.getAddressSpace() == LangAS::opencl_private))) {
13327     return Prev->getType()->isFunctionNoProtoType();
13563   if (!ResultType->isDependentType() && !ResultType->isVoidType() &&
13563   if (!ResultType->isDependentType() && !ResultType->isVoidType() &&
13612   if (const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>())
13672         return Ty.isNull() || !Ty->isUndeducedType();
13693     if (FD->getReturnType()->getContainedDeducedType())
13778           FD->getReturnType()->isUndeducedType()) {
13782         if (!FD->getReturnType()->getAs<AutoType>()) {
13808             FD->getType()->getAs<FunctionProtoType>();
13840       if (FD->getReturnType()->isRecordType() &&
14229             FD->getParamDecl(FormatIdx)->getType()->isObjCObjectPointerType())
14310     const auto *FPT = FD->getType()->getAs<FunctionProtoType>();
14407   if (T->isDependentType())
14410   if (const BuiltinType *BT = T->getAs<BuiltinType>())
14431     if (!EnumUnderlyingTy->isDependentType() &&
14432         !Prev->getIntegerType()->isDependentType() &&
15104         if (const TagType *TT = TD->getUnderlyingType()->getAs<TagType>()) {
15303               auto *TD = Context.getTagDeclType(PrevTagDecl)->getAsTagDecl();
15778   if (!FieldTy->isDependentType() && !FieldTy->isIntegralOrEnumerationType()) {
15778   if (!FieldTy->isDependentType() && !FieldTy->isIntegralOrEnumerationType()) {
15817   if (!FieldTy->isDependentType()) {
15845     if (BitfieldIsOverwide && !FieldTy->isBooleanType()) {
15996   if (!EltTy->isDependentType()) {
16003       EltTy->isIncompleteType(&Def);
16012   if (T.getQualifiers().hasAddressSpace() || T->isDependentAddressSpaceType() ||
16013       T->getBaseElementTypeUnsafe()->isDependentAddressSpaceType()) {
16022     if (T->isEventT() || T->isImageType() || T->isSamplerT() ||
16022     if (T->isEventT() || T->isImageType() || T->isSamplerT() ||
16022     if (T->isEventT() || T->isImageType() || T->isSamplerT() ||
16023         T->isBlockPointerType()) {
16044   if (!InvalidDecl && T->isVariablyModifiedType()) {
16091     if (T->isReferenceType())
16128       if (const RecordType *RT = EltTy->getAs<RecordType>()) {
16144       if (EltTy->isReferenceType()) {
16181   if (FD->isInvalidDecl() || FD->getType()->isDependentType())
16185   if (const RecordType *RT = EltTy->getAs<RecordType>()) {
16279   if (T->isReferenceType()) {
16285   else if (T->isVariablyModifiedType()) {
16526         if (!BaseElem->isDependentType() && BaseElem.isDestructedType()) {
16602       if (FD->getType()->isObjCObjectPointerType() ||
16607         if (BaseType->isRecordType() &&
16608             BaseType->castAs<RecordType>()->getDecl()->hasObjectMember())
16610         else if (BaseType->isObjCObjectPointerType() ||
16638       if (const auto *RT = FT->getAs<RecordType>()) {
16766           if (FieldType->isIncompleteType() ||
16856   assert((T->isIntegralType(Context) || T->isEnumeralType()) &&
16856   assert((T->isIntegralType(Context) || T->isEnumeralType()) &&
16861     if (T->isSignedIntegerOrEnumerationType())
16873   assert((T->isIntegralType(Context) ||
16874          T->isEnumeralType()) && "Integral type required!");
16885   QualType *Types = T->isSignedIntegerOrEnumerationType()? SignedIntegralTypes
16949                                   EltTy->isBooleanType() ? CK_IntegralToBoolean
17039         EnumVal.setIsSigned(EltTy->isSignedIntegerOrEnumerationType());
17059   if (!EltTy->isDependentType()) {
17063     EnumVal.setIsSigned(EltTy->isSignedIntegerOrEnumerationType());
17428     if (BestType->isPromotableIntegerType())
17535       NewSign = BestType->isSignedIntegerOrEnumerationType();
tools/clang/lib/Sema/SemaDeclAttr.cpp
  151   const auto *PT = T->getAs<ObjCObjectPointerType>();
  167   const auto *PT = T->getAs<PointerType>();
  171   const auto *RT = PT->getPointeeType()->getAs<RecordType>();
  459   return QT->isBooleanType() || QT->isIntegerType();
  459   return QT->isBooleanType() || QT->isIntegerType();
  486           BaseSpecifier.getType()->getAsRecordDecl(), OO_Star);
  489           BaseSpecifier.getType()->getAsRecordDecl(), OO_Arrow);
  505   if (QT->isAnyPointerType())
  508   if (const auto *RT = QT->getAs<RecordType>()) {
  526   if (const auto *RT = QT->getAs<RecordType>())
  530   if (const auto *PT = QT->getAs<PointerType>())
  531     return PT->getPointeeType()->getAs<RecordType>();
  578   const auto *TD = Ty->getAs<TypedefType>();
  773   if (!QT->isDependentType() && !typeHasCapability(S, QT)) {
  854   if (!Param->getType()->isIntegerType() && !Param->getType()->isCharType()) {
  854   if (!Param->getType()->isIntegerType() && !Param->getType()->isCharType()) {
  869   if (!FD->getReturnType()->isPointerType()) {
 1029     assert(E->getType()->getPointeeCXXRecordDecl() == ClassType &&
 1096   if (!cast<ParmVarDecl>(D)->getType()->isPointerType()) {
 1126   QualType ThisType = MD->getThisType()->getPointeeType();
 1128   if (const CXXRecordDecl *RD = ThisType->getAsCXXRecordDecl()) {
 1307     bool BitfieldByteAligned = (!FD->getType()->isDependentType() &&
 1308                                 !FD->getType()->isIncompleteType() &&
 1336     if (!VD->getType()->getAs<ObjCObjectPointerType>()) {
 1343     if (!PD->getType()->getAs<ObjCObjectPointerType>()) {
 1397   if (!QT->isObjCIdType() && !QT->isObjCObjectType()) {
 1397   if (!QT->isObjCIdType() && !QT->isObjCObjectType()) {
 1399            QT->isBuiltinType() ? diag::err_iboutletcollection_builtintype
 1409     if (T->isReferenceType())
 1417   if (const RecordType *UT = T->getAsUnionType()) {
 1422         if (QT->isAnyPointerType() || QT->isBlockPointerType())
 1422         if (QT->isAnyPointerType() || QT->isBlockPointerType())
 1428   return T->isAnyPointerType() || T->isBlockPointerType();
 1428   return T->isAnyPointerType() || T->isBlockPointerType();
 1476       if (T->isDependentType() || S.isValidPointerAttrType(T))
 1602   if (!ResultType->isDependentType() &&
 1616   if (!Ty->isDependentType() && !Ty->isIntegralType(Context)) {
 1616   if (!Ty->isDependentType() && !Ty->isIntegralType(Context)) {
 1693         if (!T->isAnyPointerType() && !T->isBlockPointerType())
 1693         if (!T->isAnyPointerType() && !T->isBlockPointerType())
 1697         if (!T->isIntegerType())
 1872   if (ResultType->isAnyPointerType() || ResultType->isBlockPointerType()) {
 1872   if (ResultType->isAnyPointerType() || ResultType->isBlockPointerType()) {
 2005     if (!VD || (!VD->getType()->isBlockPointerType() &&
 2006                 !VD->getType()->isFunctionPointerType())) {
 2063     if ((count == 1) || !I->getType()->isVectorType()) {
 2569       !M->getReturnType()->isObjCObjectPointerType()) {
 2582     if (!T->isCARCBridgableType()) {
 2589     if (!T->isCARCBridgableType()) {
 2609     if (!T->isObjCObjectPointerType()) {
 2680     const FunctionType *FT = FD->getType()->castAs<FunctionType>();
 2702     if (Ty->isBlockPointerType() || Ty->isFunctionPointerType()) {
 2702     if (Ty->isBlockPointerType() || Ty->isFunctionPointerType()) {
 2703       const FunctionType *FT = Ty->isFunctionPointerType()
 2705        : Ty->castAs<BlockPointerType>()->getPointeeType()->getAs<FunctionType>();
 2705        : Ty->castAs<BlockPointerType>()->getPointeeType()->getAs<FunctionType>();
 2707         int m = Ty->isFunctionPointerType() ? 0 : 1;
 2726       D->getFunctionType()->getReturnType()->isVoidType() &&
 2732     if (MD->getReturnType()->isVoidType()) {
 2840   if (!ParmType->isExtVectorType() && !ParmType->isFloatingType() &&
 2840   if (!ParmType->isExtVectorType() && !ParmType->isFloatingType() &&
 2841       (ParmType->isBooleanType() ||
 2842        !ParmType->isIntegralType(S.getASTContext()))) {
 3114       (!Ty->isPointerType() ||
 3115        !Ty->castAs<PointerType>()->getPointeeType()->isCharType())) {
 3115        !Ty->castAs<PointerType>()->getPointeeType()->isCharType())) {
 3124       (!Ty->isPointerType() ||
 3125        !Ty->castAs<PointerType>()->getPointeeType()->isCharType())) {
 3125        !Ty->castAs<PointerType>()->getPointeeType()->isCharType())) {
 3181   if (!T->getAs<RecordType>()) {
 3300   } else if (!Ty->isPointerType() ||
 3301              !Ty->castAs<PointerType>()->getPointeeType()->isCharType()) {
 3301              !Ty->castAs<PointerType>()->getPointeeType()->isCharType()) {
 3445       CalleeType->getPointeeType()->getUnqualifiedDesugaredType();
 3487   if (TD && TD->getUnderlyingType()->isUnionType())
 3488     RD = TD->getUnderlyingType()->getAsUnionType()->getDecl();
 3514   if (FirstType->hasFloatingRepresentation() || FirstType->isVectorType()) {
 3514   if (FirstType->hasFloatingRepresentation() || FirstType->isVectorType()) {
 3517       << FirstType->isVectorType() << FirstType;
 3521   if (FirstType->isIncompleteType())
 3527     if (FieldType->isIncompleteType())
 3586   if (!T->isDependentType() && !T->isAnyPointerType() &&
 3586   if (!T->isDependentType() && !T->isAnyPointerType() &&
 3587       !T->isReferenceType() && !T->isMemberPointerType()) {
 3587       !T->isReferenceType() && !T->isMemberPointerType()) {
 3688       if (!TND->getUnderlyingType()->isDependentType()) {
 3774   if (DiagTy->isDependentType() || DiagTy->isIncompleteType())
 3774   if (DiagTy->isDependentType() || DiagTy->isIncompleteType())
 3959   if (OldTy->isDependentType()) {
 3967   if (const auto *VT = OldTy->getAs<VectorType>())
 3973   if ((isa<EnumDecl>(D) || OldElemTy->getAs<EnumType>()) &&
 3979       OldElemTy->isIntegralOrEnumerationType() || OldElemTy->getAs<EnumType>();
 3979       OldElemTy->isIntegralOrEnumerationType() || OldElemTy->getAs<EnumType>();
 3981   if (!OldElemTy->getAs<BuiltinType>() && !OldElemTy->isComplexType() &&
 3981   if (!OldElemTy->getAs<BuiltinType>() && !OldElemTy->isComplexType() &&
 3988     if (!OldElemTy->isComplexType())
 3991     if (!OldElemTy->isFloatingType())
 3999                                               OldElemTy->isSignedIntegerType());
 4016   } else if (const auto *OldVT = OldTy->getAs<VectorType>()) {
 4227   if (!FD->getReturnType()->isVoidType() &&
 4228       !FD->getReturnType()->getAs<AutoType>() &&
 4229       !FD->getReturnType()->isInstantiationDependentType()) {
 4371     if (ParmType->isVoidType())
 4373     else if (ParmType->isReferenceType())
 4375     else if (ParmType->isArrayType())
 4583   if (!Ty->hasPointerRepresentation())
 4584     return Ty->isDependentType();
 4585   return Ty->getPointeeType().getAddressSpace() == LangAS::Default;
 4590   if (const auto *PtrType = Ty->getAs<PointerType>()) {
 4592   } else if (const auto *RefType = Ty->getAs<ReferenceType>()) {
 4595     return Ty->isDependentType();
 4602   if (const auto *PtrType = Ty->getAs<PointerType>()) {
 4604   } else if (const auto *RefType = Ty->getAs<ReferenceType>()) {
 4607     return Ty->isDependentType();
 4785         !getFunctionOrMethodParamType(D, ArgumentIdxAST)->isPointerType())
 4867   return QT->isDependentType() || QT->isObjCRetainableType();
 4867   return QT->isDependentType() || QT->isObjCRetainableType();
 4871   return QT->isDependentType() || QT->isObjCObjectPointerType() ||
 4871   return QT->isDependentType() || QT->isObjCObjectPointerType() ||
 4872          QT->isObjCNSObjectType();
 4876   return QT->isDependentType() || QT->isPointerType() ||
 4876   return QT->isDependentType() || QT->isPointerType() ||
 4881   if (QT->isDependentType())
 4883   QualType PT = QT->getPointeeType();
 4884   return !PT.isNull() && PT->getAsCXXRecordDecl() != nullptr;
 4960   QualType PT = QT->getPointeeType();
 4984     ReturnType = Param->getType()->getPointeeType();
 5107   if (!resultType->isReferenceType() &&
 5108       (!resultType->isPointerType() || resultType->isObjCRetainableType())) {
 5108       (!resultType->isPointerType() || resultType->isObjCRetainableType())) {
 5158     if (!T->isVoidPointerType()) {
 5268   if (!QT->isDependentType() &&
 5269       !QT->isObjCLifetimeType()) {
 5279   if (Lifetime == Qualifiers::OCL_None && !QT->isDependentType())
 5280     Lifetime = QT->getObjCARCImplicitLifetime();
 5284     assert(QT->isDependentType() &&
 5471   if (!getFunctionOrMethodResultType(D)->isVoidType()) {
 5544   if (!getFunctionOrMethodResultType(D)->isVoidType()) {
 5578   if (!getFunctionOrMethodResultType(D)->isVoidType()) {
 5598   if (!getFunctionOrMethodParamType(D, 0)->isPointerType()) {
 5613       (!getFunctionOrMethodParamType(D, 1)->isUnsignedIntegerType() ||
 5738   if (!getFunctionOrMethodResultType(D)->isVoidType()) {
 5911   if (VD && VD->getType()->isFunctionPointerType())
 5915   if (TD && (TD->getUnderlyingType()->isFunctionPointerType() ||
 5916     TD->getUnderlyingType()->isFunctionType()))
 6333   if (!Ty->isObjCRetainableType()) {
 6347     LifetimeQual = Ty->getObjCARCImplicitLifetime();
 6411     while (const auto *TT = T->getAs<TypedefType>()) {
 6429     if (!RetTy->isPointerType() && !RetTy->isReferenceType()) {
 6429     if (!RetTy->isPointerType() && !RetTy->isReferenceType()) {
 7354     if (const auto *FT = FDTy->getAs<FunctionProtoType>()) {
 7558       if (const auto *TT = TD->getUnderlyingType()->getAs<TagType>()) {
 8255       if (!ReceiverTy.isNull() && ReceiverTy->getAsObjCInterfaceType())
 8256         ID = ReceiverTy->getAsObjCInterfaceType()->getInterface();
tools/clang/lib/Sema/SemaDeclCXX.cpp
  159     = Method->getType()->getAs<FunctionProtoType>();
  810     if (R->isFunctionType())
 1007   CXXRecordDecl *RD = TraitTy->getAsCXXRecordDecl();
 1139     if (auto *RD = DecompType->getAsCXXRecordDecl())
 1170     if (!Src->getType()->isLValueReferenceType())
 1260     return Specifier->getType()->getAsCXXRecordDecl()->hasDirectFields();
 1309     ClassWithFields = BaseType->getAsCXXRecordDecl();
 1363         << DecompType << FD->getType()->isUnionType();
 1420   if (DecompType->isDependentType()) {
 1438   if (auto *VT = DecompType->getAs<VectorType>()) {
 1443   if (auto *CT = DecompType->getAs<ComplexType>()) {
 1469   CXXRecordDecl *RD = DecompType->getAsCXXRecordDecl();
 1502   if (const ReferenceType *R = NewType->getAs<ReferenceType>()) {
 1504     OldType = OldType->getAs<ReferenceType>()->getPointeeType();
 1505   } else if (const PointerType *P = NewType->getAs<PointerType>()) {
 1507     OldType = OldType->getAs<PointerType>()->getPointeeType();
 1508   } else if (const MemberPointerType *M = NewType->getAs<MemberPointerType>()) {
 1510     OldType = OldType->getAs<MemberPointerType>()->getPointeeType();
 1513   if (!NewType->isFunctionProtoType())
 1520         OldType->getAs<FunctionProtoType>(), Old->getLocation(),
 1521         NewType->getAs<FunctionProtoType>(), New->getLocation())) {
 1585   if (T->isDependentType())
 1594     return !T->isLiteralType(SemaRef.Context);
 1606         T->getBaseElementTypeUnsafe()->getAsCXXRecordDecl();
 1637   const FunctionProtoType *FT = FD->getType()->getAs<FunctionProtoType>();
 1790       if (TN->getUnderlyingType()->isVariablyModifiedType()) {
 1847         if (!VD->getType()->isDependentType() &&
 1928       (Field->getType()->isUnionType()
 1929            ? !Field->getType()->getAsCXXRecordDecl()->hasVariantMembers()
 1930            : Field->getType()->getAsCXXRecordDecl()->isEmpty()))
 1948     const RecordDecl *RD = Field->getType()->castAs<RecordType>()->getDecl();
 2243                 (Dcl->getReturnType()->isVoidType() ||
 2244                  Dcl->getReturnType()->isDependentType());
 2379       CXXRecordDecl *Base = I.getType()->getAsCXXRecordDecl();
 2423       !TInfo->getType()->containsUnexpandedParameterPack()) {
 2431   if (BaseType->isDependentType()) {
 2435     if (CXXRecordDecl *BaseDecl = BaseType->getAsCXXRecordDecl()) {
 2456   if (!BaseType->isRecordType()) {
 2463   if (BaseType->isUnionType()) {
 2472               BaseType->getAsCXXRecordDecl())) {
 2489   RecordDecl *BaseDecl = BaseType->castAs<RecordType>()->getDecl();
 2604   if (auto Rec = Type->getAs<RecordType>()) {
 2665       if (const RecordType *Record = NewBaseType->getAs<RecordType>()) {
 2693     if (BaseType->isDependentType())
 2741   CXXRecordDecl *DerivedRD = Derived->getAsCXXRecordDecl();
 2745   CXXRecordDecl *BaseRD = Base->getAsCXXRecordDecl();
 2769   CXXRecordDecl *DerivedRD = Derived->getAsCXXRecordDecl();
 2773   CXXRecordDecl *BaseRD = Base->getAsCXXRecordDecl();
 2974        MD->getType()->isDependentType()))
 3071   const Type *T = FD.getType()->getBaseElementTypeUnsafe();
 3102     const auto Base = Specifier->getType()->getAsCXXRecordDecl();
 3124     auto Base = P.back().Base->getType()->getAsCXXRecordDecl();
 3492         if (FD->getType()->isReferenceType())
 3566           if (T->isPointerType() &&
 3567               BaseClasses.count(T->getPointeeType())) {
 3569                 << T->getPointeeType() << FoundVD;
 3577       const bool IsReference = FoundVD->getType()->isReferenceType();
 3756             if (!FD->getType()->isReferenceType())
 3891   if (!FD->getType()->isDependentType() && !InitExpr->isTypeDependent()) {
 4243   if (Member->getType()->isDependentType() || Init->isTypeDependent()) {
 4357   if (!BaseType->isDependentType() && !BaseType->isRecordType())
 4357   if (!BaseType->isDependentType() && !BaseType->isRecordType())
 4367   bool Dependent = BaseType->isDependentType() || Init->isTypeDependent();
 4372     if (!BaseType->containsUnexpandedParameterPack())  {
 4585   return Referenced->getType()->isRValueReferenceType();
 4678   if (FieldBaseElementType->isRecordType()) {
 4710     if (FieldBaseElementType->isReferenceType()) {
 4815     CXXRecordDecl *FieldRD = Field->getType()->getAsCXXRecordDecl();
 4840   if (T->isIncompleteArrayType())
 5007         = Info.AllBaseFields.lookup(VBase.getType()->getAs<RecordType>())) {
 5046           = Info.AllBaseFields.lookup(Base.getType()->getAs<RecordType>())) {
 5087       if (F->getType()->isIncompleteArrayType()) {
 5120   if (const RecordType *RT = Field->getType()->getAs<RecordType>()) {
 5391     const RecordType* RT = FieldType->getAs<RecordType>();
 5424     const RecordType *RT = Base.getType()->getAs<RecordType>();
 5459     const RecordType *RT = VBase.getType()->castAs<RecordType>();
 5506   const auto *RD = Context.getBaseElementType(T)->getAsCXXRecordDecl();
 5530   DiagnoseAbstractType(T->getAsCXXRecordDecl());
 5676     if (T->isArrayType()) {
 5680     CanQualType CT = T->getCanonicalTypeUnqualified().getUnqualifiedType();
 6312       if (F->getType()->isReferenceType() ||
 6313           (F->getType().isConstQualified() && F->getType()->isScalarType())) {
 6321           << F->getType()->isReferenceType()
 6746     const RecordType *BaseType = B.getType()->getAs<RecordType>();
 6768     if (const RecordType *RecordTy = BaseType->getAs<RecordType>()) {
 6819   const FunctionProtoType *FPT = MD->getType()->castAs<FunctionProtoType>();
 6834     MD->getCanonicalDecl()->getType()->castAs<FunctionProtoType>();
 6897   const FunctionProtoType *Type = MD->getType()->getAs<FunctionProtoType>();
 6935   if (ExpectedParams && ArgType->isReferenceType()) {
 6937     QualType ReferentType = ArgType->getPointeeType();
 7084       const auto *FPT = MD->getType()->castAs<FunctionProtoType>();
 7106       if (FD->getType()->isReferenceType())
 7109         Classes.push_back(FD->getType()->getAsCXXRecordDecl());
 7214               MD->getParamDecl(0)->getType()->getAs<ReferenceType>())
 7478   CXXRecordDecl *BaseClass = Base->getType()->getAsCXXRecordDecl();
 7508   CXXRecordDecl *FieldRecord = FieldType->getAsCXXRecordDecl();
 7516     if (FieldType->isReferenceType() && !FD->hasInClassInitializer()) {
 7540     if (FieldType->isRValueReferenceType()) {
 7548     if (FieldType->isReferenceType()) {
 7580         CXXRecordDecl *UnionFieldRecord = UnionFieldType->getAsCXXRecordDecl();
 7937   CXXRecordDecl *SubRD = SubType->getAsCXXRecordDecl();
 7996       if (!checkTrivialClassMembers(S, FieldType->getAsCXXRecordDecl(),
 8068     const ReferenceType *RT = Param0->getType()->getAs<ReferenceType>();
 8085       Param0->getType()->getAs<RValueReferenceType>();
 8209         Specifier->getType()->castAs<RecordType>()->getDecl();
 8339     if ((!B.getType()->isDependentType() &&
 8340          !B.getType()->getAsCXXRecordDecl()->canPassInRegisters()) ||
 8356     if (const auto *RT = FT->getBaseElementTypeUnsafe()->getAs<RecordType>())
 8676   const FunctionProtoType *Proto = R->getAs<FunctionProtoType>();
 8748         if (!declaresSameEntity(ParamType->getAsCXXRecordDecl(), RD)) {
 8790   if (const TypedefType *TT = DeclaratorType->getAs<TypedefType>())
 8794              DeclaratorType->getAs<TemplateSpecializationType>())
 8874   const FunctionProtoType *Proto = R->getAs<FunctionProtoType>();
 8948   const FunctionProtoType *Proto = R->getAs<FunctionProtoType>();
 9021     } else if (!Proto->getReturnType()->isDependentType()) {
 9041   if (ConvType->isArrayType()) {
 9045   } else if (ConvType->isFunctionType()) {
 9088   if (const ReferenceType *ConvTypeRef = ConvType->getAs<ReferenceType>())
 9093   else if (ConvType->isRecordType()) {
 9101   } else if (ConvType->isVoidType()) {
 9238     } else if (!RetTy.hasQualifiers() && RetTy->isDependentType()) {
 9576     CXXRecordDecl *Base = BaseSpec.getType()->getAsCXXRecordDecl();
 9590       !FIt->getType()->isIntegralOrEnumerationType()) {
 9658   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 9668                  Ty->getAs<TemplateSpecializationType>()) {
 9765   if (const ReferenceType *RT = ArgType->getAs<ReferenceType>())
10190     if (B.getType()->getAsCXXRecordDecl() == Base)
10292   CanQualType CanonicalDesiredBase = DesiredBase->getCanonicalTypeUnqualified()
10295     CanQualType BaseType = Base.getType()->getCanonicalTypeUnqualified();
11217   auto *RT = Base->getType()->getAs<RecordType>();
11245                             ->getAs<RecordType>()) {
11510                        Constructor->getType()->castAs<FunctionProtoType>());
11587   const FunctionProtoType *FPT = TInfo->getType()->castAs<FunctionProtoType>();
11646                        Constructor->getType()->castAs<FunctionProtoType>());
11674       auto *BaseRD = B.getType()->getAsCXXRecordDecl();
11794                        Destructor->getType()->castAs<FunctionProtoType>());
11874   const FunctionProtoType *DtorType = Destructor->getType()->
12048   const Type *E = T->getBaseElementTypeUnsafe();
12127   if (const RecordType *RecordTy = T->getAs<RecordType>()) {
12305   if (T->isArrayType() && !T.isConstQualified() && !T.isVolatileQualified() &&
12465                        CopyAssignOperator->getType()->castAs<FunctionProtoType>());
12493                                 = OtherRefType->getAs<LValueReferenceType>()) {
12515     if (!BaseType->isRecordType()) {
12562     if (Field->getType()->isReferenceType()) {
12572     if (!BaseType->getAs<RecordType>() && BaseType.isConstQualified()) {
12585     if (FieldType->isIncompleteArrayType()) {
12747       CXXRecordDecl *Base = BaseSpec->getType()->getAsCXXRecordDecl();
12783                   Existing->getType()->getAsCXXRecordDecl()->getCanonicalDecl())
12787                   BI.getType()->getAsCXXRecordDecl()->getCanonicalDecl())
12842                        MoveAssignOperator->getType()->castAs<FunctionProtoType>());
12852   QualType OtherRefType = Other->getType()->
12882     if (!BaseType->isRecordType()) {
12930     if (Field->getType()->isReferenceType()) {
12940     if (!BaseType->getAs<RecordType>() && BaseType.isConstQualified()) {
12953     if (FieldType->isIncompleteArrayType()) {
13127                        CopyConstructor->getType()->castAs<FunctionProtoType>());
13259                        MoveConstructor->getType()->castAs<FunctionProtoType>());
13290   assert(!Conv->getReturnType()->isUndeducedType());
13323   Invoker->setType(Conv->getReturnType()->getPointeeType());
13492              DeclInitType->getBaseElementTypeUnsafe()->getAsCXXRecordDecl()) &&
13595   if (!VD->getType()->isArrayType()) {
13646     = Constructor->getType()->getAs<FunctionProtoType>();
13710       FnDecl->getType()->getAs<FunctionType>()->getReturnType();
13713   if (ResultType->isDependentType())
13720     if (auto *PtrTy = ResultType->getAs<PointerType>()) {
13745   if (FirstParamType->isDependentType())
13753             FnDecl->getParamDecl(0)->getType()->getAs<PointerType>()) {
13872       if (ParamType->isDependentType() || ParamType->isRecordType() ||
13872       if (ParamType->isDependentType() || ParamType->isRecordType() ||
13873           ParamType->isEnumeralType()) {
13939       FnDecl->getType()->getAs<FunctionProtoType>()->isVariadic()) {
13965     if (!ParamType->isSpecificBuiltinType(BuiltinType::Int) &&
13966         !ParamType->isDependentType())
14001           PmArgs->getType()->getAs<TemplateTypeParmType>();
14063     if (ParamType->isSpecificBuiltinType(BuiltinType::ULongLong) ||
14064         ParamType->isSpecificBuiltinType(BuiltinType::LongDouble) ||
14070     } else if (const PointerType *Ptr = ParamType->getAs<PointerType>()) {
14083     } else if (ParamType->isRealFloatingType()) {
14088     } else if (ParamType->isIntegerType()) {
14109     const PointerType *PT = FirstParamType->getAs<PointerType>();
14267   if (ExDeclType->isArrayType())
14269   else if (ExDeclType->isFunctionType())
14276   if (!ExDeclType->isDependentType() && ExDeclType->isRValueReferenceType()) {
14276   if (!ExDeclType->isDependentType() && ExDeclType->isRValueReferenceType()) {
14281   if (ExDeclType->isVariablyModifiedType()) {
14289   if (const PointerType *Ptr = BaseType->getAs<PointerType>()) {
14293   } else if (const ReferenceType *Ref = BaseType->getAs<ReferenceType>()) {
14299   if (!Invalid && (Mode == 0 || !BaseType->isVoidType()) &&
14300       !BaseType->isDependentType() && RequireCompleteType(Loc, BaseType, DK))
14303   if (!Invalid && !ExDeclType->isDependentType() &&
14313     if (const ReferenceType *RT = T->getAs<ReferenceType>())
14316     if (T->isObjCObjectType()) {
14319     } else if (T->isObjCObjectPointerType()) {
14334   if (!Invalid && !ExDeclType->isDependentType()) {
14335     if (const RecordType *recordType = ExDeclType->getAs<RecordType>()) {
14539     if (!T->isElaboratedTypeSpecifier()) {
14542       if (const RecordType *RT = T->getAs<RecordType>()) {
14564     } else if (T->getAs<EnumType>()) {
14783   if (TempParams.size() && !T->isElaboratedTypeSpecifier()) {
14838   if (!TInfo->getType()->isFunctionType()) {
15309   const auto *NewFT = New->getType()->getAs<FunctionProtoType>();
15310   const auto *OldFT = Old->getType()->getAs<FunctionProtoType>();
15357   QualType NewTy = New->getType()->getAs<FunctionType>()->getReturnType();
15358   QualType OldTy = Old->getType()->getAs<FunctionType>()->getReturnType();
15361       NewTy->isDependentType() || OldTy->isDependentType())
15361       NewTy->isDependentType() || OldTy->isDependentType())
15368   if (const PointerType *NewPT = NewTy->getAs<PointerType>()) {
15369     if (const PointerType *OldPT = OldTy->getAs<PointerType>()) {
15373   } else if (const ReferenceType *NewRT = NewTy->getAs<ReferenceType>()) {
15374     if (const ReferenceType *OldRT = OldTy->getAs<ReferenceType>()) {
15400     if (const RecordType *RT = NewClassTy->getAs<RecordType>()) {
15748       ResolveExceptionSpec(Loc, I->getType()->castAs<FunctionProtoType>());
15779         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
15826                   ->getAs<RecordType>()) {
16092             NoexceptExpr->getType()->getCanonicalTypeUnqualified() ==
tools/clang/lib/Sema/SemaDeclObjC.cpp
   52       method->getReturnType()->castAs<ObjCObjectPointerType>()->getObjectType();
   78         receiverClass = receiverTypeIfCall->castAs<ObjCObjectPointerType>()
  346   if (const PointerType *PT = T->getAs<PointerType>()) {
  348   } else if (const ReferenceType *RT = T->getAs<ReferenceType>()) {
  373   if (!ResultType->isDependentType() && !ResultType->isVoidType() &&
  373   if (!ResultType->isDependentType() && !ResultType->isVoidType() &&
  588         if (T->isObjCObjectType()) {
  589           if (NamedDecl *IDecl = T->castAs<ObjCObjectType>()->getInterface()) {
  678     if (typeBound->isObjCObjectPointerType()) {
  680     } else if (typeBound->isObjCObjectType()) {
 1118     if (T->isObjCObjectType())
 1119       if (const ObjCObjectType *OPT = T->getAs<ObjCObjectType>()) {
 1153     if (T->isObjCObjectType()) {
 1154       if (NamedDecl *IDecl = T->castAs<ObjCObjectType>()->getInterface()) {
 1369         if (type->isObjCObjectPointerType() ||
 1370             type->isBlockPointerType() ||
 1371             type->isDependentType() ||
 1372             type->isObjCObjectType())
 1433       if (const auto *objcObjectType = base->getAs<ObjCObjectType>()) {
 1588     if (type->getAs<ObjCInterfaceType>()) {
 2336       *MethodImpl->getReturnType()->getNullability(S.Context);
 2338       *MethodDecl->getReturnType()->getNullability(S.Context);
 2365           MethodImpl->getReturnType()->getAs<ObjCObjectPointerType>()) {
 2367             MethodDecl->getReturnType()->getAs<ObjCObjectPointerType>()) {
 2428            *ImplTy->getNullability(S.Context),
 2432            *IfaceTy->getNullability(S.Context),
 2449         ImplTy->getAs<ObjCObjectPointerType>()) {
 2451           IfaceTy->getAs<ObjCObjectPointerType>()) {
 2535   if (unmatched->getReturnType()->isObjCObjectPointerType()) {
 3050       if (!TDD || !TDD->getUnderlyingType()->isObjCObjectType()) {
 3433   return (chosen->getReturnType()->isIntegerType());
 3672   else if (!ObjectType->isObjCObjectPointerType())
 3675            ObjectType->getAsObjCInterfacePointerType()) {
 3679   else if (ObjectType->isObjCIdType() || ObjectType->isObjCQualifiedIdType())
 3679   else if (ObjectType->isObjCIdType() || ObjectType->isObjCQualifiedIdType())
 3681   else if (ObjectType->isObjCClassType() || ObjectType->isObjCQualifiedClassType())
 3681   else if (ObjectType->isObjCClassType() || ObjectType->isObjCQualifiedClassType())
 3771     if (IvarTy->isIncompleteArrayType() &&
 3773         IvarTy->isObjCLifetimeType()) {
 3801   if (T->isIncompleteArrayType())
 3803   const auto *RecordTy = T->getAs<RecordType>();
 3844     if (IvarTy->isIncompleteArrayType()) {
 3849     } else if (const RecordType *RecordTy = IvarTy->getAs<RecordType>()) {
 4142                                 = ResultType->getAs<ObjCObjectPointerType>()) {
 4422   auto nullability = type->getNullability(S.Context);
 4423   auto prevNullability = prevType->getNullability(S.Context);
 4506     if (P->getType()->isVectorType()) {
 4513     if (Method->getReturnType()->isVectorType()) {
 4534       << T << (Method->getReturnType()->isVectorType() ? /*return value*/ 1
 4767         !ObjCMethod->getReturnType()->isObjCIndependentClassType())
 4869   } else if (T->isDependentType()) {
 4871   } else if (T->isObjCQualifiedIdType()) {
 4874   } else if (T->isObjCIdType()) {
 4876   } else if (!T->isObjCObjectPointerType()) {
 4879   } else if (!T->castAs<ObjCObjectPointerType>()->getInterfaceType()) {
 4960     if (QT->isRecordType())
tools/clang/lib/Sema/SemaExceptionSpec.cpp
   28   if (const PointerType *PtrTy = T->getAs<PointerType>())
   30   else if (const ReferenceType *RefTy = T->getAs<ReferenceType>())
   32   else if (const MemberPointerType *MPTy = T->getAs<MemberPointerType>())
   34   return T->getAs<FunctionProtoType>();
  114   if (T->isArrayType())
  116   else if (T->isFunctionType())
  121   if (const PointerType *PT = T->getAs<PointerType>()) {
  127     if (PointeeT->isVoidType())
  129   } else if (const ReferenceType *RT = T->getAs<ReferenceType>()) {
  156   if (!(PointeeT->isRecordType() &&
  157         PointeeT->castAs<RecordType>()->isBeingDefined()) &&
  173   if (const PointerType *PT = T->getAs<PointerType>())
  175   else if (const MemberPointerType *PT = T->getAs<MemberPointerType>())
  180   const FunctionProtoType *FnT = T->getAs<FunctionProtoType>();
  199       SourceDecl->getType()->castAs<FunctionProtoType>();
  212     SourceDecl->getType()->castAs<FunctionProtoType>();
  237   auto EST = MD->getType()->castAs<FunctionProtoType>()->getExceptionSpecType();
  266   auto *Ty = Decl->getTypeSourceInfo()->getType()->castAs<FunctionProtoType>();
  301         Old->getType()->getAs<FunctionProtoType>(), Old->getLocation(),
  302         New->getType()->getAs<FunctionProtoType>(), New->getLocation(),
  325     New->getType()->castAs<FunctionProtoType>();
  347     Old->getType()->castAs<FunctionProtoType>();
  608       if (CXXRecordDecl *ExRecord = Exception->getAsCXXRecordDecl()) {
  662   const ReferenceType *RefTy = HandlerType->getAs<ReferenceType>();
  671   if (HandlerType->isPointerType() || HandlerType->isMemberPointerType()) {
  671   if (HandlerType->isPointerType() || HandlerType->isMemberPointerType()) {
  678     if (ExceptionType->isNullPtrType())
  696     if (!ExceptionType->isPointerType() || !HandlerType->isPointerType())
  696     if (!ExceptionType->isPointerType() || !HandlerType->isPointerType())
  702         ExceptionType->getPointeeType(), EQuals);
  704         HandlerType->getPointeeType(), HQuals);
  708     if (HandlerType->isVoidType() && ExceptionType->isObjectType())
  708     if (HandlerType->isVoidType() && ExceptionType->isObjectType())
  716   if (!ExceptionType->isRecordType() || !HandlerType->isRecordType())
  716   if (!ExceptionType->isRecordType() || !HandlerType->isRecordType())
  818     if (const ReferenceType *RefTy = SubI->getAs<ReferenceType>())
  942   if (New->getType()->castAs<FunctionProtoType>()->getExceptionSpecType() ==
  967                                   Old->getType()->castAs<FunctionProtoType>(),
  969                                   New->getType()->castAs<FunctionProtoType>(),
  995     if (T->isSpecificPlaceholderType(BuiltinType::BoundMember)) {
 1004               ->castAs<MemberPointerType>()->getPointeeType();
 1016   if ((FT = T->getAs<FunctionProtoType>())) {
 1017   } else if (const PointerType *PT = T->getAs<PointerType>())
 1018     FT = PT->getPointeeType()->getAs<FunctionProtoType>();
 1019   else if (const ReferenceType *RT = T->getAs<ReferenceType>())
 1020     FT = RT->getPointeeType()->getAs<FunctionProtoType>();
 1021   else if (const MemberPointerType *MT = T->getAs<MemberPointerType>())
 1022     FT = MT->getPointeeType()->getAs<FunctionProtoType>();
 1023   else if (const BlockPointerType *BT = T->getAs<BlockPointerType>())
 1024     FT = BT->getPointeeType()->getAs<FunctionProtoType>();
 1040   if (!DC->getTypeAsWritten()->isReferenceType())
 1057   const RecordType *RT = Op->getType()->getAs<RecordType>();
 1154     if (DTy.isNull() || DTy->isDependentType()) {
 1159       if (const RecordType *RT = DTy->getAs<RecordType>()) {
tools/clang/lib/Sema/SemaExpr.cpp
   65     if (getLangOpts().CPlusPlus14 && FD->getReturnType()->isUndeducedType() &&
  268     if (getLangOpts().CPlusPlus14 && FD->getReturnType()->isUndeducedType() &&
  362     if (const PointerType *ptr = type->getAs<PointerType>()) {
  363       fn = ptr->getPointeeType()->getAs<FunctionType>();
  366     } else if (const BlockPointerType *ptr = type->getAs<BlockPointerType>()) {
  367       fn = ptr->getPointeeType()->castAs<FunctionType>();
  442   if (E->getType()->isPlaceholderType()) {
  451   if (Ty->isFunctionType()) {
  459   } else if (Ty->isArrayType()) {
  512     BaseType = BaseType->getPointeeType();
  513   if (const ObjCObjectType *OTy = BaseType->getAs<ObjCObjectType>())
  556   if (E->getType()->isPlaceholderType()) {
  574        T->isDependentType() ||
  575        T->isRecordType()))
  583   if (T->isVoidType())
  588       T->isHalfType()) {
  624   if (T->isMemberPointerType() &&
  640   CastKind CK = T->isNullPtrType() ? CK_NullToPointer : CK_LValueToRValue;
  646   if (const AtomicType *Atomic = T->getAs<AtomicType>()) {
  672   if (Ty->isFunctionType()) {
  700   if (Ty->isHalfType() && !getLangOpts().NativeHalfType)
  705   if (Ty->isIntegralOrUnscopedEnumerationType()) {
  725     if (Ty->isPromotableIntegerType()) {
  751   const BuiltinType *BTy = Ty->getAs<BuiltinType>();
  791   if (Ty->isIncompleteType()) {
  800     if (Ty->isVoidType())
  803     if (Ty->isObjCObjectType())
  819   if (getLangOpts().CPlusPlus11 && !Ty->isDependentType())
  820     if (CXXRecordDecl *Record = Ty->getAsCXXRecordDecl())
  826   if (getLangOpts().ObjCAutoRefCount && Ty->isObjCLifetimeType())
  829   if (Ty->isObjCObjectType())
  853     if (Ty->isRecordType()) {
  874     else if (Ty->isObjCObjectType())
  889   if (const BuiltinType *PlaceholderTy = E->getType()->getAsPlaceholderType()) {
  955   if (IntTy->isComplexType() || IntTy->isRealFloatingType()) return true;
  955   if (IntTy->isComplexType() || IntTy->isRealFloatingType()) return true;
  957   if (IntTy->isIntegerType()) {
  963     assert(IntTy->isComplexIntegerType());
 1032   if (IntTy->isIntegerType()) {
 1041   assert(IntTy->isComplexIntegerType());
 1062   bool LHSFloat = LHSType->isRealFloatingType();
 1063   bool RHSFloat = RHSType->isRealFloatingType();
 1082     if (LHSType->isHalfType() && !S.getLangOpts().NativeHalfType)
 1103   if (!LHSType->isFloatingType() || !RHSType->isFloatingType() ||
 1103   if (!LHSType->isFloatingType() || !RHSType->isFloatingType() ||
 1107   assert(LHSType->isFloatingType() && RHSType->isFloatingType() &&
 1107   assert(LHSType->isFloatingType() && RHSType->isFloatingType() &&
 1110   auto *LHSComplex = LHSType->getAs<ComplexType>();
 1111   auto *RHSComplex = RHSType->getAs<ComplexType>();
 1159   bool LHSSigned = LHSType->hasSignedIntegerRepresentation();
 1160   bool RHSSigned = RHSType->hasSignedIntegerRepresentation();
 1208   const ComplexType *LHSComplexInt = LHSType->getAsComplexIntegerType();
 1209   const ComplexType *RHSComplexInt = RHSType->getAsComplexIntegerType();
 1251   const auto *BTy = Ty->getAs<BuiltinType>();
 1299   assert((LHSTy->isFixedPointType() || RHSTy->isFixedPointType()) &&
 1299   assert((LHSTy->isFixedPointType() || RHSTy->isFixedPointType()) &&
 1301   assert((LHSTy->isFixedPointOrIntegerType() ||
 1302           RHSTy->isFixedPointOrIntegerType()) &&
 1310   if (RHSTy->isSignedFixedPointType() && LHSTy->isUnsignedFixedPointType())
 1310   if (RHSTy->isSignedFixedPointType() && LHSTy->isUnsignedFixedPointType())
 1312   else if (RHSTy->isUnsignedFixedPointType() && LHSTy->isSignedFixedPointType())
 1312   else if (RHSTy->isUnsignedFixedPointType() && LHSTy->isSignedFixedPointType())
 1328   if (LHSTy->isSaturatedFixedPointType() || RHSTy->isSaturatedFixedPointType())
 1328   if (LHSTy->isSaturatedFixedPointType() || RHSTy->isSaturatedFixedPointType())
 1358   if (const AtomicType *AtomicLHS = LHSType->getAs<AtomicType>())
 1367   if (!LHSType->isArithmeticType() || !RHSType->isArithmeticType())
 1367   if (!LHSType->isArithmeticType() || !RHSType->isArithmeticType())
 1372   if (LHSType->isPromotableIntegerType())
 1392   if (LHSType->isComplexType() || RHSType->isComplexType())
 1392   if (LHSType->isComplexType() || RHSType->isComplexType())
 1397   if (LHSType->isRealFloatingType() || RHSType->isRealFloatingType())
 1397   if (LHSType->isRealFloatingType() || RHSType->isRealFloatingType())
 1402   if (LHSType->isComplexIntegerType() || RHSType->isComplexIntegerType())
 1402   if (LHSType->isComplexIntegerType() || RHSType->isComplexIntegerType())
 1406   if (LHSType->isFixedPointType() || RHSType->isFixedPointType())
 1406   if (LHSType->isFixedPointType() || RHSType->isFixedPointType())
 1483       if (Types[i]->getType()->containsUnexpandedParameterPack())
 1486       if (Types[i]->getType()->isDependentType()) {
 1492         if (Types[i]->getType()->isIncompleteType())
 1494         else if (!Types[i]->getType()->isObjectType())
 1496         else if (Types[i]->getType()->isVariablyModifiedType())
 1509           if (Types[j] && !Types[j]->getType()->isDependentType() &&
 1610     if (ArgTy[ArgIdx]->isArrayType())
 1744     bool CharIsUnsigned = CharTy->isUnsignedIntegerType();
 1800     if (VD->getType()->isReferenceType() &&
 2128     RD = ThisType->getPointeeType()->getAsCXXRecordDecl();
 2128     RD = ThisType->getPointeeType()->getAsCXXRecordDecl();
 2200       Name.getCXXNameType()->isDependentType()) {
 2679     auto FromPtrType = FromType->getAs<PointerType>();
 2682                             ? FromType->getPointeeType().getAddressSpace()
 2698     DestRecordType = DestType->getPointeeType();
 2700     if (FromType->getAs<PointerType>()) {
 2701       FromRecordType = FromType->getPointeeType();
 2712   if (DestType->isDependentType() || FromType->isDependentType())
 2712   if (DestType->isDependentType() || FromType->isDependentType())
 2744     assert(QType->isRecordType() && "lookup done with non-record type");
 2746     QualType QRecordType = QualType(QType->getAs<RecordType>(), 0);
 2996     if (auto *FPT = type->getAs<FunctionProtoType>()) {
 3047       if (const ReferenceType *reftype = type->getAs<ReferenceType>()) {
 3068           type->isVoidType()) {
 3116       const FunctionType *fty = type->castAs<FunctionType>();
 3370   if (!QT->isIntegerType() || QT->isBooleanType() || QT->isCharType()) {
 3370   if (!QT->isIntegerType() || QT->isBooleanType() || QT->isCharType()) {
 3370   if (!QT->isIntegerType() || QT->isBooleanType() || QT->isCharType()) {
 3580         const BuiltinType *BTy = Ty->getAs<BuiltinType>();
 3740   if (!(T->isArithmeticType() || T->isVoidType() || T->isVectorType())) {
 3740   if (!(T->isArithmeticType() || T->isVoidType() || T->isVectorType())) {
 3740   if (!(T->isArithmeticType() || T->isVoidType() || T->isVectorType())) {
 3746   assert((T->isVoidType() || !T->isIncompleteType()) &&
 3746   assert((T->isVoidType() || !T->isIncompleteType()) &&
 3760   if (T->isFunctionType() &&
 3771   if (T->isVoidType()) {
 3787   if (!S.LangOpts.ObjCRuntime.allowsSizeofAlignof() && T->isObjCObjectType()) {
 3825   assert(!ExprTy->isReferenceType());
 3864   assert(!ExprTy->isReferenceType());
 3866   if (ExprTy->isFunctionType()) {
 3887         if (Type->isPointerType() && OType->isArrayType()) {
 3887         if (Type->isPointerType() && OType->isArrayType()) {
 3928   if (ExprType->isDependentType())
 3937   if (const ReferenceType *Ref = ExprType->getAs<ReferenceType>())
 3960   if (ExprType->isFunctionType()) {
 4022     if (!FD->getType()->isReferenceType())
 4041   assert(T->isVariablyModifiedType());
 4140   } while (!T.isNull() && T->isVariablyModifiedType());
 4154   if (!T->isDependentType() &&
 4158   if (T->isVariablyModifiedType() && FunctionScopes.size() > 1) {
 4159     if (auto *TT = T->getAs<TypedefType>()) {
 4219   if (ExprKind == UETT_SizeOf && E->getType()->isVariableArrayType()) {
 4264   if (const ComplexType *CT = V.get()->getType()->getAs<ComplexType>())
 4268   if (V.get()->getType()->isArithmeticType())
 4311   assert(op->getType()->isObjCObjectPointerType());
 4317     << op->getType()->castAs<ObjCObjectPointerType>()->getPointeeType()
 4325     return MSProp->getPropertyDecl()->getType()->isArrayType();
 4333       base->getType()->isSpecificPlaceholderType(BuiltinType::OMPArraySection))
 4359   if (base->getType()->isNonOverloadPlaceholderType()) {
 4368   if (idx->getType()->isNonOverloadPlaceholderType()) {
 4405       (base->getType()->isRecordType() ||
 4406        (!base->getType()->isObjCObjectPointerType() &&
 4407         idx->getType()->isRecordType()))) {
 4440   if (ResultTy->hasAttr(attr::NoDeref)) {
 4459     if (Ptr->getPointeeType()->hasAttr(attr::NoDeref))
 4468   if (Base->getType()->isPlaceholderType() &&
 4469       !Base->getType()->isSpecificPlaceholderType(
 4476   if (LowerBound && LowerBound->getType()->isNonOverloadPlaceholderType()) {
 4485   if (Length && Length->getType()->isNonOverloadPlaceholderType()) {
 4508   if (OriginalTy->isAnyPointerType()) {
 4509     ResultTy = OriginalTy->getPointeeType();
 4510   } else if (OriginalTy->isArrayType()) {
 4511     ResultTy = OriginalTy->getAsArrayTypeUnsafe()->getElementType();
 4527     if (LowerBound->getType()->isSpecificBuiltinType(BuiltinType::Char_S) ||
 4528         LowerBound->getType()->isSpecificBuiltinType(BuiltinType::Char_U))
 4541     if (Length->getType()->isSpecificBuiltinType(BuiltinType::Char_S) ||
 4542         Length->getType()->isSpecificBuiltinType(BuiltinType::Char_U))
 4551   if (ResultTy->isFunctionType()) {
 4561   if (LowerBound && !OriginalTy->isAnyPointerType()) {
 4589              (OriginalTy.isNull() || (!OriginalTy->isConstantArrayType() &&
 4590                                       !OriginalTy->isVariableArrayType()))) {
 4595         << (!OriginalTy.isNull() && OriginalTy->isArrayType());
 4599   if (!Base->getType()->isSpecificPlaceholderType(
 4625       if (Op->getType()->isArrayType() && !Op->isLValue())
 4631   if (!LHSExp->getType()->getAs<VectorType>()) {
 4650   if (LHSTy->isDependentType() || RHSTy->isDependentType()) {
 4650   if (LHSTy->isDependentType() || RHSTy->isDependentType()) {
 4654   } else if (const PointerType *PTy = LHSTy->getAs<PointerType>()) {
 4659                LHSTy->getAs<ObjCObjectPointerType>()) {
 4670   } else if (const PointerType *PTy = RHSTy->getAs<PointerType>()) {
 4676                RHSTy->getAs<ObjCObjectPointerType>()) {
 4686   } else if (const VectorType *VTy = LHSTy->getAs<VectorType>()) {
 4707   } else if (LHSTy->isArrayType()) {
 4721     ResultType = LHSTy->getAs<PointerType>()->getPointeeType();
 4722   } else if (RHSTy->isArrayType()) {
 4732     ResultType = RHSTy->getAs<PointerType>()->getPointeeType();
 4738   if (!IndexExpr->getType()->isIntegerType() && !IndexExpr->isTypeDependent())
 4742   if ((IndexExpr->getType()->isSpecificBuiltinType(BuiltinType::Char_S) ||
 4743        IndexExpr->getType()->isSpecificBuiltinType(BuiltinType::Char_U))
 4751   if (ResultType->isFunctionType()) {
 4757   if (ResultType->isVoidType() && !getLangOpts().CPlusPlus) {
 4765   } else if (!ResultType->isDependentType() &&
 4773   if (LHSExp->IgnoreParenImpCasts()->getType()->isVariablyModifiedType() &&
 4776             LHSExp->IgnoreParenImpCasts()->getType()->getAs<TypedefType>()) {
 4942     else if (Fn && Fn->getType()->isBlockPointerType())
 5043   unsigned FnKind = Fn->getType()->isBlockPointerType()
 5426     if (!ParamType->isPointerType() ||
 5428         !ArgType->isPointerType() ||
 5429         !ArgType->getPointeeType().getQualifiers().hasAddressSpace()) {
 5434     QualType PointeeType = ParamType->getPointeeType();
 5439     LangAS AS = ArgType->getPointeeType().getAddressSpace();
 5659     if (Fn->getType()->isRecordType())
 5817       Fn->getType()->isSpecificBuiltinType(BuiltinType::BuiltinFn)) {
 5839     if (const PointerType *PT = Fn->getType()->getAs<PointerType>()) {
 5842       FuncT = PT->getPointeeType()->getAs<FunctionType>();
 5847                    Fn->getType()->getAs<BlockPointerType>()) {
 5848       FuncT = BPT->getPointeeType()->castAs<FunctionType>();
 5927       if (!FuncT->getReturnType()->isVoidType() &&
 5928           !FuncT->getReturnType()->getAs<AutoType>() &&
 5929           !FuncT->getReturnType()->isInstantiationDependentType())
 5961         Proto = Def->getType()->getAs<FunctionProtoType>();
 5970         Proto = FDecl->getType()->getAs<FunctionProtoType>();
 6052   if (literalType->isArrayType()) {
 6058     if (literalType->isVariableArrayType())
 6061   } else if (!literalType->isDependentType() &&
 6101       (getLangOpts().CPlusPlus && !(isFileScope && literalType->isArrayType()))
 6117         !literalType->isDependentType()) // C99 6.5.2.5p3
 6223     if (InitArgList[I]->getType()->isNonOverloadPlaceholderType()) {
 6242   assert(E.get()->getType()->isBlockPointerType());
 6258   if (type->isObjCObjectPointerType()) {
 6260   } else if (type->isBlockPointerType()) {
 6264     assert(type->isPointerType());
 6280   switch (Type::ScalarTypeKind SrcKind = SrcTy->getScalarTypeKind()) {
 6287     switch (DestTy->getScalarTypeKind()) {
 6289       LangAS SrcAS = SrcTy->getPointeeType().getAddressSpace();
 6290       LangAS DestAS = DestTy->getPointeeType().getAddressSpace();
 6321     switch (DestTy->getScalarTypeKind()) {
 6345     switch (DestTy->getScalarTypeKind()) {
 6361                       DestTy->castAs<ComplexType>()->getElementType(),
 6366                       DestTy->castAs<ComplexType>()->getElementType(),
 6377     switch (DestTy->getScalarTypeKind()) {
 6386                               DestTy->castAs<ComplexType>()->getElementType(),
 6391                               DestTy->castAs<ComplexType>()->getElementType(),
 6409     switch (DestTy->getScalarTypeKind()) {
 6415       QualType ET = SrcTy->castAs<ComplexType>()->getElementType();
 6425                               SrcTy->castAs<ComplexType>()->getElementType(),
 6443     switch (DestTy->getScalarTypeKind()) {
 6449       QualType ET = SrcTy->castAs<ComplexType>()->getElementType();
 6459                               SrcTy->castAs<ComplexType>()->getElementType(),
 6483   if (const VectorType *vecType = type->getAs<VectorType>()) {
 6486     assert(eltType->isScalarType());
 6492   if (!type->isRealType()) return false;
 6507   assert(destTy->isVectorType() || srcTy->isVectorType());
 6507   assert(destTy->isVectorType() || srcTy->isVectorType());
 6514   if (srcTy->isScalarType() && destTy->isExtVectorType()) return false;
 6514   if (srcTy->isScalarType() && destTy->isExtVectorType()) return false;
 6515   if (destTy->isScalarType() && srcTy->isExtVectorType()) return false;
 6515   if (destTy->isScalarType() && srcTy->isExtVectorType()) return false;
 6534   assert(destTy->isVectorType() || srcTy->isVectorType());
 6534   assert(destTy->isVectorType() || srcTy->isVectorType());
 6541     if (!srcTy->isIntegralOrEnumerationType()) {
 6542       auto *Vec = srcTy->getAs<VectorType>();
 6543       if (!Vec || !Vec->getElementType()->isIntegralOrEnumerationType())
 6546     if (!destTy->isIntegralOrEnumerationType()) {
 6547       auto *Vec = destTy->getAs<VectorType>();
 6548       if (!Vec || !Vec->getElementType()->isIntegralOrEnumerationType())
 6563   assert(VectorTy->isVectorType() && "Not a vector type!");
 6565   if (Ty->isVectorType() || Ty->isIntegralType(Context)) {
 6565   if (Ty->isVectorType() || Ty->isIntegralType(Context)) {
 6568                   Ty->isVectorType() ?
 6582   QualType DestElemTy = VectorTy->castAs<VectorType>()->getElementType();
 6587   assert(DestElemTy->isFloatingType() ||
 6588          DestElemTy->isIntegralOrEnumerationType());
 6591   if (VectorTy->isExtVectorType() && SplattedExpr->getType()->isBooleanType()) {
 6591   if (VectorTy->isExtVectorType() && SplattedExpr->getType()->isBooleanType()) {
 6594     if (DestElemTy->isFloatingType()) {
 6616   assert(DestTy->isExtVectorType() && "Not an extended vector type!");
 6624   if (SrcTy->isVectorType()) {
 6639   if (SrcTy->isPointerType())
 6682        && castType->isVectorType() && (PE || PLE)) {
 6689       if (!E->getType()->isVectorType())
 6710   if (getLangOpts().CPlusPlus && !castType->isVoidType() &&
 6747   assert(Ty->isVectorType() && "Expected vector type");
 6750   const VectorType *VTy = Ty->castAs<VectorType>();
 6874   if (S.getLangOpts().OpenCL && CondTy->isFloatingType()) {
 6881   if (CondTy->isScalarType()) return false;
 6894     if (!LHSExpr->getType()->isVoidType())
 6897     if (!RHSExpr->getType()->isVoidType())
 6909   if ((!PointerTy->isAnyPointerType() && !PointerTy->isBlockPointerType()) ||
 6909   if ((!PointerTy->isAnyPointerType() && !PointerTy->isBlockPointerType()) ||
 6935   if (const BlockPointerType *LHSBTy = LHSTy->getAs<BlockPointerType>()) {
 6937     rhptee = RHSTy->castAs<BlockPointerType>()->getPointeeType();
 6940     lhptee = LHSTy->castAs<PointerType>()->getPointeeType();
 6941     rhptee = RHSTy->castAs<PointerType>()->getPointeeType();
 7056   if (!LHSTy->isBlockPointerType() || !RHSTy->isBlockPointerType()) {
 7056   if (!LHSTy->isBlockPointerType() || !RHSTy->isBlockPointerType()) {
 7057     if (LHSTy->isVoidPointerType() || RHSTy->isVoidPointerType()) {
 7057     if (LHSTy->isVoidPointerType() || RHSTy->isVoidPointerType()) {
 7083   QualType lhptee = LHSTy->castAs<PointerType>()->getPointeeType();
 7084   QualType rhptee = RHSTy->castAs<PointerType>()->getPointeeType();
 7087   if (lhptee->isVoidType() && rhptee->isIncompleteOrObjectType()) {
 7087   if (lhptee->isVoidType() && rhptee->isIncompleteOrObjectType()) {
 7098   if (rhptee->isVoidType() && lhptee->isIncompleteOrObjectType()) {
 7098   if (rhptee->isVoidType() && lhptee->isIncompleteOrObjectType()) {
 7117   if (!PointerExpr->getType()->isPointerType() ||
 7118       !Int.get()->getType()->isIntegerType())
 7161   if (!LHSType->isIntegerType() && !LHSType->isRealFloatingType()) {
 7161   if (!LHSType->isIntegerType() && !LHSType->isRealFloatingType()) {
 7167   if (!RHSType->isIntegerType() && !RHSType->isRealFloatingType()) {
 7167   if (!RHSType->isIntegerType() && !RHSType->isRealFloatingType()) {
 7178   if (LHSType->isRealFloatingType() || RHSType->isRealFloatingType())
 7178   if (LHSType->isRealFloatingType() || RHSType->isRealFloatingType())
 7204   const VectorType *CV = CondTy->getAs<VectorType>();
 7237   const VectorType *CondTy = Cond->getType()->getAs<VectorType>();
 7240   if (EleTy->isIntegerType()) return false;
 7255   const VectorType *CV = CondTy->getAs<VectorType>();
 7256   const VectorType *RV = VecResTy->getAs<VectorType>();
 7294   if (LHS.get()->getType()->isVectorType() ||
 7295       RHS.get()->getType()->isVectorType()) {
 7316     if (Ty->isBlockPointerType()) {
 7349   if (getLangOpts().OpenCL && Cond.get()->getType()->isVectorType())
 7360   if (LHS.get()->getType()->isVectorType() ||
 7361       RHS.get()->getType()->isVectorType())
 7391   if (LHSTy->isArithmeticType() && RHSTy->isArithmeticType()) {
 7391   if (LHSTy->isArithmeticType() && RHSTy->isArithmeticType()) {
 7400   if (const RecordType *LHSRT = LHSTy->getAs<RecordType>()) {    // C99 6.5.15p3
 7401     if (const RecordType *RHSRT = RHSTy->getAs<RecordType>())
 7411   if (LHSTy->isVoidType() || RHSTy->isVoidType()) {
 7411   if (LHSTy->isVoidType() || RHSTy->isVoidType()) {
 7430   if (LHSTy->isBlockPointerType() || RHSTy->isBlockPointerType())
 7430   if (LHSTy->isBlockPointerType() || RHSTy->isBlockPointerType())
 7435   if (LHSTy->isPointerType() && RHSTy->isPointerType())
 7435   if (LHSTy->isPointerType() && RHSTy->isPointerType())
 7471   if (LHSTy->isObjCClassType() &&
 7476   if (RHSTy->isObjCClassType() &&
 7482   if (LHSTy->isObjCIdType() &&
 7487   if (RHSTy->isObjCIdType() &&
 7504   if (LHSTy->isObjCObjectPointerType() && RHSTy->isObjCObjectPointerType()) {
 7504   if (LHSTy->isObjCObjectPointerType() && RHSTy->isObjCObjectPointerType()) {
 7510     const ObjCObjectPointerType *LHSOPT = LHSTy->castAs<ObjCObjectPointerType>();
 7511     const ObjCObjectPointerType *RHSOPT = RHSTy->castAs<ObjCObjectPointerType>();
 7543     } else if (LHSTy->isObjCIdType() || RHSTy->isObjCIdType()) {
 7543     } else if (LHSTy->isObjCIdType() || RHSTy->isObjCIdType()) {
 7560   if (LHSTy->isVoidPointerType() && RHSTy->isObjCObjectPointerType()) {
 7560   if (LHSTy->isVoidPointerType() && RHSTy->isObjCObjectPointerType()) {
 7569     QualType lhptee = LHSTy->castAs<PointerType>()->getPointeeType();
 7570     QualType rhptee = RHSTy->castAs<ObjCObjectPointerType>()->getPointeeType();
 7580   if (LHSTy->isObjCObjectPointerType() && RHSTy->isVoidPointerType()) {
 7580   if (LHSTy->isObjCObjectPointerType() && RHSTy->isVoidPointerType()) {
 7589     QualType lhptee = LHSTy->castAs<ObjCObjectPointerType>()->getPointeeType();
 7590     QualType rhptee = RHSTy->castAs<PointerType>()->getPointeeType();
 7684   if (E->getType()->isBooleanType())
 7690   if (E->getType()->isPointerType())
 7741   if (!ResTy->isAnyPointerType())
 7745     Optional<NullabilityKind> Kind = Ty->getNullability(Ctx);
 7778   while (ResTy->getNullability(Ctx))
 7847     if (commonExpr->isRValue() && (commonExpr->getType()->isRecordType() ||
 7848                                    commonExpr->getType()->isArrayType())) {
 8091   if (LHSType->isObjCBuiltinType()) {
 8093     if (LHSType->isObjCClassType() && !RHSType->isObjCBuiltinType() &&
 8093     if (LHSType->isObjCClassType() && !RHSType->isObjCBuiltinType() &&
 8094         !RHSType->isObjCQualifiedClassType())
 8098   if (RHSType->isObjCBuiltinType()) {
 8099     if (RHSType->isObjCClassType() && !LHSType->isObjCBuiltinType() &&
 8099     if (RHSType->isObjCClassType() && !LHSType->isObjCBuiltinType() &&
 8100         !LHSType->isObjCQualifiedClassType())
 8104   QualType lhptee = LHSType->castAs<ObjCObjectPointerType>()->getPointeeType();
 8105   QualType rhptee = RHSType->castAs<ObjCObjectPointerType>()->getPointeeType();
 8109       !LHSType->isObjCQualifiedIdType())
 8114   if (LHSType->isObjCQualifiedIdType() || RHSType->isObjCQualifiedIdType())
 8114   if (LHSType->isObjCQualifiedIdType() || RHSType->isObjCQualifiedIdType())
 8136   if (const VectorType *VT = QT->getAs<VectorType>())
 8195   if (const ReferenceType *LHSTypeRef = LHSType->getAs<ReferenceType>()) {
 8205   if (LHSType->isExtVectorType()) {
 8206     if (RHSType->isExtVectorType())
 8208     if (RHSType->isArithmeticType()) {
 8218   if (LHSType->isVectorType() || RHSType->isVectorType()) {
 8218   if (LHSType->isVectorType() || RHSType->isVectorType()) {
 8219     if (LHSType->isVectorType() && RHSType->isVectorType()) {
 8219     if (LHSType->isVectorType() && RHSType->isVectorType()) {
 8240     if (LHSType->isScalarType()) {
 8241       const VectorType *VecType = RHSType->getAs<VectorType>();
 8261   if (getLangOpts().CPlusPlus && RHSType->getAs<ComplexType>() &&
 8262       !LHSType->getAs<ComplexType>())
 8266   if (LHSType->isArithmeticType() && RHSType->isArithmeticType() &&
 8266   if (LHSType->isArithmeticType() && RHSType->isArithmeticType() &&
 8267       !(getLangOpts().CPlusPlus && LHSType->isEnumeralType())) {
 8278       LangAS AddrSpaceR = RHSType->getPointeeType().getAddressSpace();
 8289     if (RHSType->isIntegerType()) {
 8298       if (LHSPointer->getPointeeType()->isVoidType()) {
 8304       if (RHSType->isObjCClassType() &&
 8316     if (RHSType->getAs<BlockPointerType>()) {
 8317       if (LHSPointer->getPointeeType()->isVoidType()) {
 8319         LangAS AddrSpaceR = RHSType->getAs<BlockPointerType>()
 8334     if (RHSType->isBlockPointerType()) {
 8335       LangAS AddrSpaceL = LHSType->getAs<BlockPointerType>()
 8338       LangAS AddrSpaceR = RHSType->getAs<BlockPointerType>()
 8346     if (RHSType->isIntegerType()) {
 8352     if (getLangOpts().ObjC && RHSType->isObjCIdType()) {
 8358     if (const PointerType *RHSPT = RHSType->getAs<PointerType>())
 8359       if (RHSPT->getPointeeType()->isVoidType()) {
 8370     if (RHSType->isObjCObjectPointerType()) {
 8382     if (RHSType->isIntegerType()) {
 8393       if (RHSType->isVoidPointerType()) {
 8398       if (LHSType->isObjCClassType() &&
 8408     if (RHSType->isBlockPointerType() &&
 8409         LHSType->isBlockCompatibleObjCPointerType(Context)) {
 8428     if (LHSType->isIntegerType()) {
 8445     if (LHSType->isIntegerType()) {
 8461   if (LHSType->isSamplerT() && RHSType->isIntegerType()) {
 8461   if (LHSType->isSamplerT() && RHSType->isIntegerType()) {
 8496   const RecordType *UT = ArgType->getAsUnionType();
 8505     if (it->getType()->isPointerType()) {
 8509       if (RHSType->isPointerType())
 8510         if (RHSType->castAs<PointerType>()->getPointeeType()->isVoidType()) {
 8510         if (RHSType->castAs<PointerType>()->getPointeeType()->isVoidType()) {
 8556   if (const auto *LHSPtrType = LHSType->getAs<PointerType>()) {
 8557     if (const auto *RHSPtrType = RHS.get()->getType()->getAs<PointerType>()) {
 8558       if (RHSPtrType->getPointeeType()->hasAttr(attr::NoDeref) &&
 8559           !LHSPtrType->getPointeeType()->hasAttr(attr::NoDeref)) {
 8568     if (!LHSType->isRecordType() && !LHSType->isAtomicType()) {
 8568     if (!LHSType->isRecordType() && !LHSType->isAtomicType()) {
 8615   if ((LHSType->isPointerType() || LHSType->isObjCObjectPointerType() ||
 8615   if ((LHSType->isPointerType() || LHSType->isObjCObjectPointerType() ||
 8616        LHSType->isBlockPointerType()) &&
 8631   if (LHSType->isQueueT() && RHS.get()->isNullPointerConstant(
 8643   if (!LHSType->isReferenceType()) {
 8746   bool LHSNatVec = LHSType->isVectorType();
 8747   bool RHSNatVec = RHSType->isVectorType();
 8786   if (vectorEltTy->isIntegralType(S.Context)) {
 8787     if (S.getLangOpts().OpenCL && (scalarTy->isRealFloatingType() ||
 8788         (scalarTy->isIntegerType() &&
 8793     if (!scalarTy->isIntegralType(S.Context))
 8796   } else if (vectorEltTy->isRealFloatingType()) {
 8797     if (scalarTy->isRealFloatingType()) {
 8805     else if (scalarTy->isIntegralType(S.Context))
 8825   const auto *VecTy = E->getType()->getAs<VectorType>();
 8837   auto Cast = ElementType->isIntegerType() ? CK_IntegralCast : CK_FloatingCast;
 8853   bool IntSigned = IntTy->hasSignedIntegerRepresentation();
 8854   bool OtherIntSigned = OtherIntTy->hasSignedIntegerRepresentation();
 8899     Float.convertFromAPInt(Result, IntTy->hasSignedIntegerRepresentation(),
 8902                              !IntTy->hasSignedIntegerRepresentation());
 8929   const VectorType *VT = VectorTy->getAs<VectorType>();
 8938   if (!VectorEltTy->isArithmeticType() || !ScalarTy->isArithmeticType())
 8938   if (!VectorEltTy->isArithmeticType() || !ScalarTy->isArithmeticType())
 8952   if (VectorEltTy->isIntegralType(S.Context) &&
 8953       ScalarTy->isIntegralType(S.Context) &&
 8960   } else if (VectorEltTy->isRealFloatingType()) {
 8961     if (ScalarTy->isRealFloatingType()) {
 8982     } else if (ScalarTy->isIntegralType(S.Context)) {
 9018   const VectorType *LHSVecType = LHSType->getAs<VectorType>();
 9019   const VectorType *RHSVecType = RHSType->getAs<VectorType>();
 9054         LHSVecType->getElementType()->isIntegerType() &&
 9062         RHSVecType->getElementType()->isIntegerType()) {
 9114     } else if (OtherType->isExtVectorType() || OtherType->isVectorType() ||
 9114     } else if (OtherType->isExtVectorType() || OtherType->isVectorType() ||
 9115                (OtherType->isScalarType() && VT->getNumElements() == 1)) {
 9125   if ((!RHSVecType && !RHSType->isRealType()) ||
 9126       (!LHSVecType && !LHSType->isRealType())) {
 9183   if ((!LHSNull && !RHSNull) || NonNullType->isBlockPointerType() ||
 9184       NonNullType->isMemberPointerType() || NonNullType->isFunctionType())
 9184       NonNullType->isMemberPointerType() || NonNullType->isFunctionType())
 9198   if (LHSNull == RHSNull || NonNullType->isAnyPointerType() ||
 9199       NonNullType->canDecayToPointerType())
 9226   if (LHSTy->isPointerType() && !RHSTy->isPointerType()) {
 9226   if (LHSTy->isPointerType() && !RHSTy->isPointerType()) {
 9227     if (!S.Context.hasSameUnqualifiedType(LHSTy->getPointeeType(), RHSTy))
 9239         ArrayElemTy->isDependentType() || RHSTy->isDependentType() ||
 9239         ArrayElemTy->isDependentType() || RHSTy->isDependentType() ||
 9240         ArrayElemTy->isCharType() ||
 9273   if (LHS.get()->getType()->isVectorType() ||
 9274       RHS.get()->getType()->isVectorType())
 9284   if (compType.isNull() || !compType->isArithmeticType())
 9297   if (LHS.get()->getType()->isVectorType() ||
 9298       RHS.get()->getType()->isVectorType()) {
 9299     if (LHS.get()->getType()->hasIntegerRepresentation() &&
 9300         RHS.get()->getType()->hasIntegerRepresentation())
 9311   if (compType.isNull() || !compType->isIntegerType())
 9354   assert(LHS->getType()->isAnyPointerType());
 9355   assert(RHS->getType()->isAnyPointerType());
 9359     << 1 /* two pointers */ << LHS->getType()->getPointeeType()
 9363     << RHS->getType()->getPointeeType()
 9370   assert(Pointer->getType()->isAnyPointerType());
 9374     << 0 /* one pointer */ << Pointer->getType()->getPointeeType()
 9385   if (const AtomicType *ResAtomicType = ResType->getAs<AtomicType>())
 9388   assert(ResType->isAnyPointerType() && !ResType->isDependentType());
 9388   assert(ResType->isAnyPointerType() && !ResType->isDependentType());
 9389   QualType PointeeTy = ResType->getPointeeType();
 9406   if (const AtomicType *ResAtomicType = ResType->getAs<AtomicType>())
 9409   if (!ResType->isAnyPointerType()) return true;
 9411   QualType PointeeTy = ResType->getPointeeType();
 9412   if (PointeeTy->isVoidType()) {
 9416   if (PointeeTy->isFunctionType()) {
 9437   bool isLHSPointer = LHSExpr->getType()->isAnyPointerType();
 9438   bool isRHSPointer = RHSExpr->getType()->isAnyPointerType();
 9442   if (isLHSPointer) LHSPointeeTy = LHSExpr->getType()->getPointeeType();
 9443   if (isRHSPointer) RHSPointeeTy = RHSExpr->getType()->getPointeeType();
 9447     const PointerType *lhsPtr = LHSExpr->getType()->castAs<PointerType>();
 9448     const PointerType *rhsPtr = RHSExpr->getType()->castAs<PointerType>();
 9459   bool isLHSVoidPtr = isLHSPointer && LHSPointeeTy->isVoidType();
 9460   bool isRHSVoidPtr = isRHSPointer && RHSPointeeTy->isVoidType();
 9469   bool isLHSFuncPtr = isLHSPointer && LHSPointeeTy->isFunctionType();
 9470   bool isRHSFuncPtr = isRHSPointer && RHSPointeeTy->isFunctionType();
 9500       IndexExpr->getType()->isIntegralOrUnscopedEnumerationType();
 9537   if (!StringType->isAnyPointerType())
 9541   if (!StringType->getPointeeType()->isAnyCharacterType())
 9541   if (!StringType->getPointeeType()->isAnyCharacterType())
 9548   if (!CharType->isAnyCharacterType() &&
 9549       CharType->isIntegerType() &&
 9573   assert(LHSExpr->getType()->isAnyPointerType());
 9574   assert(RHSExpr->getType()->isAnyPointerType());
 9586   if (LHS.get()->getType()->isVectorType() ||
 9587       RHS.get()->getType()->isVectorType()) {
 9607   if (!compType.isNull() && compType->isArithmeticType()) {
 9617   if (PExp->getType()->isPointerType()) {
 9619   } else if (PExp->getType()->isObjCObjectPointerType()) {
 9623     if (PExp->getType()->isPointerType()) {
 9625     } else if (PExp->getType()->isObjCObjectPointerType()) {
 9631   assert(PExp->getType()->isAnyPointerType());
 9633   if (!IExp->getType()->isIntegerType())
 9665       if (LHSTy->isPromotableIntegerType())
 9680   if (LHS.get()->getType()->isVectorType() ||
 9681       RHS.get()->getType()->isVectorType()) {
 9697   if (!compType.isNull() && compType->isArithmeticType()) {
 9703   if (LHS.get()->getType()->isAnyPointerType()) {
 9704     QualType lpointee = LHS.get()->getType()->getPointeeType();
 9707     if (LHS.get()->getType()->isObjCObjectPointerType() &&
 9712     if (RHS.get()->getType()->isIntegerType()) {
 9741           = RHS.get()->getType()->getAs<PointerType>()) {
 9768       if (!rpointee->isVoidType() && !rpointee->isFunctionType()) {
 9768       if (!rpointee->isVoidType() && !rpointee->isFunctionType()) {
 9786   if (const EnumType *ET = T->getAs<EnumType>())
 9831       LHSType->hasUnsignedIntegerRepresentation() ||
 9881       !LHS.get()->getType()->isVectorType()) {
 9899   const VectorType *LHSVecTy = LHSType->getAs<VectorType>();
 9904   const VectorType *RHSVecTy = RHSType->getAs<VectorType>();
 9908   if (!LHSEleType->isIntegerType()) {
 9914   if (!RHSEleType->isIntegerType()) {
 9943       const BuiltinType *LHSBT = LHSEleType->getAs<clang::BuiltinType>();
 9944       const BuiltinType *RHSBT = RHSEleType->getAs<clang::BuiltinType>();
 9969   if (LHS.get()->getType()->isVectorType() ||
 9970       RHS.get()->getType()->isVectorType()) {
 9975       if (auto LHSVecType = LHS.get()->getType()->getAs<VectorType>())
 9978       if (auto RHSVecType = RHS.get()->getType()->getAs<VectorType>())
10004   if (!LHSType->hasIntegerRepresentation() ||
10005       !RHSType->hasIntegerRepresentation())
10027   const EnumType *LHSEnumType = LHSStrippedType->getAs<EnumType>();
10030   const EnumType *RHSEnumType = RHSStrippedType->getAs<EnumType>();
10075   assert(LHSType->isPointerType() || RHSType->isPointerType() ||
10075   assert(LHSType->isPointerType() || RHSType->isPointerType() ||
10076          LHSType->isMemberPointerType() || RHSType->isMemberPointerType());
10076          LHSType->isMemberPointerType() || RHSType->isMemberPointerType());
10080     if ((LHSType->isAnyPointerType() || LHSType->isMemberPointerType()) &&
10080     if ((LHSType->isAnyPointerType() || LHSType->isMemberPointerType()) &&
10081         (RHSType->isAnyPointerType() || RHSType->isMemberPointerType()))
10081         (RHSType->isAnyPointerType() || RHSType->isMemberPointerType()))
10118     LHS->getType()->getAs<ObjCObjectPointerType>();
10128   if (!RHS->getType()->isObjCObjectPointerType())
10152   if (!T->isObjCObjectPointerType())
10156   if (!R->isScalarType())
10306   return D->getType()->isArrayType() && !D->isWeak();
10318   if (LHSType->hasFloatingRepresentation() ||
10319       (LHSType->isBlockPointerType() && !BinaryOperator::isEqualityOp(Opc)) ||
10326   if (Opc == BO_Cmp && LHSType->isArrayType() && RHSType->isArrayType())
10326   if (Opc == BO_Cmp && LHSType->isArrayType() && RHSType->isArrayType())
10517   if (LHSStrippedType->isBooleanType() != RHSStrippedType->isBooleanType()) {
10517   if (LHSStrippedType->isBooleanType() != RHSStrippedType->isBooleanType()) {
10522   int NumEnumArgs = (int)LHSStrippedType->isEnumeralType() +
10523                     RHSStrippedType->isEnumeralType();
10525     bool LHSIsEnum = LHSStrippedType->isEnumeralType();
10527     if (OtherTy->hasFloatingRepresentation()) {
10541         LHSStrippedType->castAs<EnumType>()->getDecl()->getIntegerType();
10542     assert(IntType->isArithmeticType());
10547     if (IntType->isPromotableIntegerType())
10562   assert(Type->isArithmeticType() || Type->isEnumeralType());
10562   assert(Type->isArithmeticType() || Type->isEnumeralType());
10574     if (const ComplexType *CT = Type->getAs<ComplexType>()) {
10575       if (CT->getElementType()->hasFloatingRepresentation())
10579     if (Type->isIntegralOrEnumerationType())
10581     if (Type->hasFloatingRepresentation())
10602   assert(Type->isArithmeticType() || Type->isEnumeralType());
10602   assert(Type->isArithmeticType() || Type->isEnumeralType());
10606   if (Type->isAnyComplexType() && BinaryOperator::isRelationalOp(Opc))
10610   if (Type->hasFloatingRepresentation() && BinaryOperator::isEqualityOp(Opc))
10618   if (!NullE.get()->getType()->isAnyPointerType())
10621   if (!E.get()->getType()->isAnyPointerType() &&
10651     return Ty->isPointerType() || Ty->isMemberPointerType();
10651     return Ty->isPointerType() || Ty->isMemberPointerType();
10682   if (LHS.get()->getType()->isVectorType() ||
10683       RHS.get()->getType()->isVectorType())
10691   if ((LHSType->isArithmeticType() || LHSType->isEnumeralType()) &&
10691   if ((LHSType->isArithmeticType() || LHSType->isEnumeralType()) &&
10692       (RHSType->isArithmeticType() || RHSType->isEnumeralType()))
10692       (RHSType->isArithmeticType() || RHSType->isEnumeralType()))
10709     assert(!CompositeTy->isReferenceType());
10718     if (CompositeTy->isFunctionPointerType() ||
10719         CompositeTy->isMemberPointerType() || CompositeTy->isNullPtrType())
10719         CompositeTy->isMemberPointerType() || CompositeTy->isNullPtrType())
10727     if (CompositeTy->isPointerType()) {
10750   if ((LHSType->isIntegerType() && !LHSIsNull) ||
10751       (RHSType->isIntegerType() && !RHSIsNull)) {
10760         ((LHSType->isFunctionPointerType() && RHSType->isVoidPointerType()) ||
10760         ((LHSType->isFunctionPointerType() && RHSType->isVoidPointerType()) ||
10761          (RHSType->isFunctionPointerType() && LHSType->isVoidPointerType()))) {
10761          (RHSType->isFunctionPointerType() && LHSType->isVoidPointerType()))) {
10784     if ((int)LHSType->isPointerType() + (int)RHSType->isPointerType() >=
10784     if ((int)LHSType->isPointerType() + (int)RHSType->isPointerType() >=
10786         (!LangOpts.ObjCAutoRefCount || !(LHSType->isObjCObjectPointerType() ||
10787                                          RHSType->isObjCObjectPointerType()))) {
10792   } else if (LHSType->isPointerType() &&
10793              RHSType->isPointerType()) { // C99 6.5.8p2
10797       LHSType->castAs<PointerType>()->getPointeeType().getCanonicalType();
10799       RHSType->castAs<PointerType>()->getPointeeType().getCanonicalType();
10805       if (IsRelational && LCanPointeeTy->isFunctionType()) {
10811                (LCanPointeeTy->isVoidType() || RCanPointeeTy->isVoidType())) {
10811                (LCanPointeeTy->isVoidType() || RCanPointeeTy->isVoidType())) {
10813       if ((LCanPointeeTy->isFunctionType() || RCanPointeeTy->isFunctionType())
10813       if ((LCanPointeeTy->isFunctionType() || RCanPointeeTy->isFunctionType())
10824         const PointerType *LHSPtr = LHSType->castAs<PointerType>();
10825         if (!LHSPtr->isAddressSpaceOverlapping(*RHSType->castAs<PointerType>())) {
10849       if (LHSType->isNullPtrType()) {
10853       if (RHSType->isNullPtrType()) {
10861     if (!IsRelational && RHSType->isNullPtrType() &&
10862         (LHSType->isObjCObjectPointerType() || LHSType->isBlockPointerType())) {
10862         (LHSType->isObjCObjectPointerType() || LHSType->isBlockPointerType())) {
10866     if (!IsRelational && LHSType->isNullPtrType() &&
10867         (RHSType->isObjCObjectPointerType() || RHSType->isBlockPointerType())) {
10867         (RHSType->isObjCObjectPointerType() || RHSType->isBlockPointerType())) {
10873         ((LHSType->isNullPtrType() && RHSType->isPointerType()) ||
10873         ((LHSType->isNullPtrType() && RHSType->isPointerType()) ||
10874          (RHSType->isNullPtrType() && LHSType->isPointerType()))) {
10874          (RHSType->isNullPtrType() && LHSType->isPointerType()))) {
10888           if (RHSType->isNullPtrType())
10901         (LHSType->isMemberPointerType() || RHSType->isMemberPointerType())) {
10901         (LHSType->isMemberPointerType() || RHSType->isMemberPointerType())) {
10910   if (!IsRelational && LHSType->isBlockPointerType() &&
10911       RHSType->isBlockPointerType()) {
10912     QualType lpointee = LHSType->castAs<BlockPointerType>()->getPointeeType();
10913     QualType rpointee = RHSType->castAs<BlockPointerType>()->getPointeeType();
10927       && ((LHSType->isBlockPointerType() && RHSType->isPointerType())
10927       && ((LHSType->isBlockPointerType() && RHSType->isPointerType())
10928           || (LHSType->isPointerType() && RHSType->isBlockPointerType()))) {
10928           || (LHSType->isPointerType() && RHSType->isBlockPointerType()))) {
10930       if (!((RHSType->isPointerType() && RHSType->castAs<PointerType>()
10930       if (!((RHSType->isPointerType() && RHSType->castAs<PointerType>()
10931              ->getPointeeType()->isVoidType())
10932             || (LHSType->isPointerType() && LHSType->castAs<PointerType>()
10932             || (LHSType->isPointerType() && LHSType->castAs<PointerType>()
10933                 ->getPointeeType()->isVoidType())))
10940                               RHSType->isPointerType() ? CK_BitCast
10944                               LHSType->isPointerType() ? CK_BitCast
10949   if (LHSType->isObjCObjectPointerType() ||
10950       RHSType->isObjCObjectPointerType()) {
10951     const PointerType *LPT = LHSType->getAs<PointerType>();
10952     const PointerType *RPT = RHSType->getAs<PointerType>();
10954       bool LPtrToVoid = LPT ? LPT->getPointeeType()->isVoidType() : false;
10955       bool RPtrToVoid = RPT ? RPT->getPointeeType()->isVoidType() : false;
10981     if (LHSType->isObjCObjectPointerType() &&
10982         RHSType->isObjCObjectPointerType()) {
10996     if (!IsRelational && LHSType->isBlockPointerType() &&
10997         RHSType->isBlockCompatibleObjCPointerType(Context)) {
11002                LHSType->isBlockCompatibleObjCPointerType(Context) &&
11003                RHSType->isBlockPointerType()) {
11009   if ((LHSType->isAnyPointerType() && RHSType->isIntegerType()) ||
11009   if ((LHSType->isAnyPointerType() && RHSType->isIntegerType()) ||
11010       (LHSType->isIntegerType() && RHSType->isAnyPointerType())) {
11010       (LHSType->isIntegerType() && RHSType->isAnyPointerType())) {
11016     } else if ((LHSIsNull && LHSType->isIntegerType()) ||
11017                (RHSIsNull && RHSType->isIntegerType())) {
11040     if (LHSType->isIntegerType())
11051       && LHSType->isBlockPointerType() && RHSType->isIntegerType()) {
11051       && LHSType->isBlockPointerType() && RHSType->isIntegerType()) {
11056       && LHSType->isIntegerType() && RHSType->isBlockPointerType()) {
11056       && LHSType->isIntegerType() && RHSType->isBlockPointerType()) {
11062     if (LHSType->isClkEventT() && RHSType->isClkEventT()) {
11062     if (LHSType->isClkEventT() && RHSType->isClkEventT()) {
11066     if (LHSType->isQueueT() && RHSType->isQueueT()) {
11066     if (LHSType->isQueueT() && RHSType->isQueueT()) {
11070     if (LHSIsNull && RHSType->isQueueT()) {
11075     if (LHSType->isQueueT() && RHSIsNull) {
11090   const VectorType *VTy = V->castAs<VectorType>();
11145       vType->castAs<VectorType>()->getVectorKind() == VectorType::AltiVecVector)
11155       LHSType->hasFloatingRepresentation()) {
11156     assert(RHS.get()->getType()->hasFloatingRepresentation());
11288       !getLangOpts().OpenCLCPlusPlus && vType->hasFloatingRepresentation())
11294       !(isa<ExtVectorType>(vType->getAs<VectorType>())))
11308   if (LHS.get()->getType()->isVectorType() ||
11309       RHS.get()->getType()->isVectorType()) {
11310     if (LHS.get()->getType()->hasIntegerRepresentation() &&
11311         RHS.get()->getType()->hasIntegerRepresentation())
11332   if (!compType.isNull() && compType->isIntegralOrUnscopedEnumerationType())
11342   if (LHS.get()->getType()->isVectorType() || RHS.get()->getType()->isVectorType())
11342   if (LHS.get()->getType()->isVectorType() || RHS.get()->getType()->isVectorType())
11360   if (!EnumConstantInBoolContext && LHS.get()->getType()->isIntegerType() &&
11361       !LHS.get()->getType()->isBooleanType() &&
11362       RHS.get()->getType()->isIntegerType() && !RHS.get()->isValueDependent() &&
11372       if ((getLangOpts().Bool && !RHS.get()->getType()->isBooleanType() &&
11399       if (LHS.get()->getType()->isFloatingType() ||
11400           RHS.get()->getType()->isFloatingType())
11412     if (!LHS.get()->getType()->isScalarType() ||
11413         !RHS.get()->getType()->isScalarType())
11493   if (IsDereference && Ty->isPointerType())
11494     Ty = Ty->getPointeeType();
11668       if (const auto *FieldRecTy = FieldTy->getAs<RecordType>()) {
11682   assert(Ty->isRecordType() && "lvalue was not record?");
11684   const RecordType *RTy = Ty.getCanonicalType()->getAs<RecordType>();
11856     if (const ReferenceType *RefTy = LHSDecl->getType()->getAs<ReferenceType>())
11891     LHSType->isHalfType()) {
11910           RHSType->isObjCObjectPointerType()) ||
11912           LHSType->isObjCObjectPointerType())))
11916         LHSType->isObjCObjectType())
12017     if (CE->getCastKind() == CK_Dependent && E->getType()->isVoidType() &&
12018         CE->getSubExpr()->getType()->isDependentType()) {
12101     if (!RHS.get()->getType()->isVoidType())
12126   if (const AtomicType *ResAtomicType = ResType->getAs<AtomicType>())
12131   if (S.getLangOpts().CPlusPlus && ResType->isBooleanType()) {
12141   } else if (S.getLangOpts().CPlusPlus && ResType->isEnumeralType()) {
12145   } else if (ResType->isRealType()) {
12147   } else if (ResType->isPointerType()) {
12151   } else if (ResType->isObjCObjectPointerType()) {
12157   } else if (ResType->isAnyComplexType()) {
12161   } else if (ResType->isPlaceholderType()) {
12166   } else if (S.getLangOpts().AltiVec && ResType->isVectorType()) {
12168   } else if (S.getLangOpts().ZVector && ResType->isVectorType() &&
12169              (ResType->castAs<VectorType>()->getVectorKind() !=
12172   } else if(S.getLangOpts().OpenCL && ResType->isVectorType() &&
12173             ResType->castAs<VectorType>()->getElementType()->isIntegerType()) {
12173             ResType->castAs<VectorType>()->getElementType()->isIntegerType()) {
12233       if (ICE->getSubExpr()->getType()->isArrayType())
12286   if (const BuiltinType *PTy = OrigOp.get()->getType()->getAsPlaceholderType()){
12323   assert(!OrigOp.get()->getType()->isPlaceholderType());
12419     if (!op->getType()->isFunctionType()) {
12456           if (dcl->getType()->isReferenceType()) {
12493   if (op->getType()->isObjCObjectType())
12538   if (const PointerType *PT = OpTy->getAs<PointerType>())
12543              OpTy->getAs<ObjCObjectPointerType>())
12567   if (S.getLangOpts().CPlusPlus && Result->isVoidType())
12668   if (const ReferenceType *RefTy = LHSDecl->getType()->getAs<ReferenceType>())
12689   if (LHS->IgnoreParenCasts()->getType()->isObjCObjectPointerType()) {
12693   else if (RHS->IgnoreParenCasts()->getType()->isObjCObjectPointerType()) {
12765   return convertVector(BO, ResultTy->castAs<VectorType>()->getElementType(), S);
12839     if (LHSTy->isAtomicType() || RHSTy->isAtomicType()) {
12839     if (LHSTy->isAtomicType() || RHSTy->isAtomicType()) {
12850     if (LHSTy->isImageType() || RHSTy->isImageType() ||
12850     if (LHSTy->isImageType() || RHSTy->isImageType() ||
12851         LHSTy->isSamplerT() || RHSTy->isSamplerT() ||
12851         LHSTy->isSamplerT() || RHSTy->isSamplerT() ||
12852         LHSTy->isPipeType() || RHSTy->isPipeType() ||
12852         LHSTy->isPipeType() || RHSTy->isPipeType() ||
12853         LHSTy->isBlockPointerType() || RHSTy->isBlockPointerType()) {
12853         LHSTy->isBlockPointerType() || RHSTy->isBlockPointerType()) {
12945     assert(ResultTy.isNull() || ResultTy->getAsCXXRecordDecl());
13265   if ((Opc == BO_Shl && LHSExpr->getType()->isIntegralType(Self.getASTContext()))
13351   if (const BuiltinType *pty = LHSExpr->getType()->getAsPlaceholderType()) {
13369           RHSExpr->getType()->isOverloadableType())
13401   if (const BuiltinType *pty = RHSExpr->getType()->getAsPlaceholderType()) {
13407            LHSExpr->getType()->isOverloadableType()))
13415         LHSExpr->getType()->isOverloadableType())
13431     if (LHSExpr->getType()->isOverloadableType() ||
13432         RHSExpr->getType()->isOverloadableType())
13441   if (T.isNull() || T->isDependentType())
13444   if (!T->isPromotableIntegerType())
13463     if ((Opc != UO_AddrOf && Ty->isAtomicType()) ||
13466         (Ty->isImageType() || Ty->isSamplerT() || Ty->isPipeType()
13466         (Ty->isImageType() || Ty->isSamplerT() || Ty->isPipeType()
13466         (Ty->isImageType() || Ty->isSamplerT() || Ty->isPipeType()
13467         || Ty->isBlockPointerType())) {
13521     if (resultType->isDependentType())
13523     if (resultType->isArithmeticType()) // C99 6.5.3.3p1
13525     else if (resultType->isVectorType() &&
13528               resultType->castAs<VectorType>()->getVectorKind() !=
13533              resultType->isPointerType())
13544     if (resultType->isDependentType())
13547     if (resultType->isComplexType() || resultType->isComplexIntegerType())
13547     if (resultType->isComplexType() || resultType->isComplexIntegerType())
13551     else if (resultType->hasIntegerRepresentation())
13553     else if (resultType->isExtVectorType() && Context.getLangOpts().OpenCL) {
13556       QualType T = resultType->castAs<ExtVectorType>()->getElementType();
13557       if (!T->isIntegerType())
13573     if (resultType->isHalfType() && !Context.getLangOpts().NativeHalfType) {
13578     if (resultType->isDependentType())
13580     if (resultType->isScalarType() && !isScopedEnumerationType(resultType)) {
13591         if (!resultType->isIntegerType() && !resultType->isPointerType())
13591         if (!resultType->isIntegerType() && !resultType->isPointerType())
13595     } else if (resultType->isExtVectorType()) {
13601         QualType T = resultType->castAs<ExtVectorType>()->getElementType();
13602         if (!T->isIntegerType())
13626     if (Opc == UO_Real || Input.get()->getType()->isAnyComplexType()) {
13643     assert(!Input.get()->getType()->isDependentType() &&
13661   if (Opc == UO_Deref && UO->getType()->hasAttr(attr::NoDeref) &&
13715   if (const BuiltinType *pty = Input->getType()->getAsPlaceholderType()) {
13739   if (getLangOpts().CPlusPlus && Input->getType()->isOverloadableType() &&
13860   bool Dependent = ArgTy->isDependentType();
13866   if (!Dependent && !ArgTy->isRecordType())
13884       if (!CurrentType->isDependentType()) {
13901           !Idx->getType()->isIntegerType())
13913     if (CurrentType->isDependentType()) {
13927     const RecordType *RC = CurrentType->getAs<RecordType>();
14073                  CondIsTrue, resType->isDependentType(), ValueDependent);
14134   assert(T->isFunctionType() &&
14162   const FunctionType *Fn = T->getAs<FunctionType>();
14194   } else if (const FunctionProtoType *Fn = T->getAs<FunctionProtoType>()) {
14267     const FunctionType *FTy = BSI->FunctionType->castAs<FunctionType>();
14316   if (getLangOpts().CPlusPlus && RetTy->isRecordType() &&
14341               Cap.getCaptureType()->getAs<RecordType>()) {
14467     if (VaListType->isArrayType()) {
14477     } else if (VaListType->isRecordType() && getLangOpts().CPlusPlus) {
14502   if (!TInfo->getType()->isDependentType()) {
14516            TInfo->getType()->isObjCLifetimeType()
14526     if (TInfo->getType()->isPromotableIntegerType()) {
14531     if (TInfo->getType()->isSpecificBuiltinType(BuiltinType::Float))
14582   const ObjCObjectPointerType *PT = DstType->getAs<ObjCObjectPointerType>();
14614   if (!DstType->isFunctionPointerType() ||
14615       !SrcExpr->getType()->isFunctionType())
14668     else if (SrcType->isFunctionPointerType() &&
14669              DstType->isFunctionPointerType())
14674     CheckInferredResultType = DstType->isObjCObjectPointerType() &&
14675       SrcType->isObjCObjectPointerType();
14693     if (SrcType->isArrayType()) SrcType = Context.getArrayDecayedType(SrcType);
14695     Qualifiers lhq = SrcType->getPointeeType().getQualifiers();
14696     Qualifiers rhq = DstType->getPointeeType().getQualifiers();
14737     if (SrcType->isObjCQualifiedIdType()) {
14739                 SrcType->castAs<ObjCObjectPointerType>();
14745             DstType->castAs<ObjCObjectPointerType>()->getInterfaceType())
14748     else if (DstType->isObjCQualifiedIdType()) {
14750         DstType->castAs<ObjCObjectPointerType>();
14756             SrcType->castAs<ObjCObjectPointerType>()->getInterfaceType())
14917                  << ConvTy->isEnumeralType() << ConvTy;
14928                  << ConvTy->isEnumeralType() << ConvTy;
14942     if (!E->getType()->isIntegralOrUnscopedEnumerationType())
14944   } else if (!E->getType()->isIntegralOrUnscopedEnumerationType()) {
15043       if (E->getOpcode() == UO_AddrOf && E->getType()->isMemberPointerType())
15102     if (const auto *Ptr = Ty->getAs<PointerType>())
15109     if (Inner->hasAttr(attr::NoDeref))
15231   if (!E->getType()->isVariablyModifiedType())
15282   CallingConv CC = FD->getType()->castAs<FunctionType>()->getCallConv();
15313       CallingConv CC = FD->getType()->castAs<FunctionType>()->getCallConv();
15479   const FunctionProtoType *FPT = Func->getType()->getAs<FunctionProtoType>();
15764   if (Var->getType()->isVariablyModifiedType() && IsBlock) {
15774   if (const RecordType *VTTy = Var->getType()->getAs<RecordType>()) {
15802       Var->getType()->isBlockPointerType()) {
15824   if (!Invalid && !S.getLangOpts().OpenCL && CaptureType->isArrayType()) {
15850   if (const auto *PT = CaptureType->getAs<PointerType>()) {
15853     if (!Invalid && PointeeTy->getAs<ObjCObjectPointerType>() &&
15865   if (HasBlocksAttr || CaptureType->isReferenceType() ||
15968     if (const ReferenceType *RefType = CaptureType->getAs<ReferenceType>()){
15969       if (!RefType->getPointeeType()->isFunctionType())
15988       if (!CaptureType->isDependentType() &&
16009     if (!LSI->Mutable && !CaptureType->isReferenceType())
16118     if (Var->getType()->isVariablyModifiedType()) {
16138           if (IsOpenMPPrivateDecl && Var->getType()->isVariablyModifiedType()) {
16357       if (VD->getType()->isReferenceType())
16359       if (auto *RD = VD->getType()->getAsCXXRecordDecl())
16367       if (VD->getType()->isReferenceType())
16418     if (!OldBase->getType()->isArrayType())
16637   if (E->getType().isVolatileQualified() || E->getType()->getAs<RecordType>())
16848         if (!Var->getType()->isReferenceType() ||
17046       if (const RecordType *DestroyedRec = Destroyed->getAs<RecordType>()) {
17142   if (ReturnType->isVoidType() || !ReturnType->isIncompleteType())
17142   if (ReturnType->isVoidType() || !ReturnType->isIncompleteType())
17288     if (!T->isScalarType()) { // C99 6.8.4.1p1
17468       const PointerType *Ptr = DestType->getAs<PointerType>();
17523   } else if (const PointerType *Ptr = CalleeType->getAs<PointerType>()) {
17527     CalleeType = CalleeType->castAs<BlockPointerType>()->getPointeeType();
17530   const FunctionType *FnType = CalleeType->castAs<FunctionType>();
17533   if (DestType->isArrayType() || DestType->isFunctionType()) {
17533   if (DestType->isArrayType() || DestType->isFunctionType()) {
17539       << DestType->isFunctionType() << DestType;
17619   if (DestType->isArrayType() || DestType->isFunctionType()) {
17619   if (DestType->isArrayType() || DestType->isFunctionType()) {
17621       << DestType->isFunctionType() << DestType;
17647     DestType = DestType->castAs<PointerType>()->getPointeeType();
17683     if (const PointerType *Ptr = Type->getAs<PointerType>()) {
17691     if (!Type->isFunctionType()) {
17696     if (const FunctionProtoType *FT = Type->getAs<FunctionProtoType>()) {
17701       const FunctionType *FnType = FDT->castAs<FunctionType>();
17740     if (const ReferenceType *RefTy = Type->getAs<ReferenceType>()) {
17742     } else if (Type->isFunctionType()) {
17769   if (!CastType->isVoidType() &&
17867   const BuiltinType *placeholderType = E->getType()->getAsPlaceholderType();
17971     return E->getType()->isIntegralOrEnumerationType();
tools/clang/lib/Sema/SemaExprCXX.cpp
  211       isDependent = SearchType->isDependentType();
  225     isDependent = SearchType->isDependentType();
  226     assert((isDependent || !SearchType->isIncompleteType()) &&
  260       if (SearchType.isNull() || SearchType->isDependentType() ||
  296       if (const RecordType *Record = MemberOfType->getAs<RecordType>()) {
  315             = MemberOfType->getAs<TemplateSpecializationType>()) {
  396   if (!SearchType.isNull() && !SearchType->isDependentType() &&
  449   if (T->getAs<RecordType>() &&
  453   if (T->isVariablyModifiedType())
  470     if (E->getType()->isPlaceholderType()) {
  477     if (const RecordType *RecordT = T->getAs<RecordType>()) {
  520   if (E->getType()->isVariablyModifiedType())
  596   if (QT->isPointerType() || QT->isReferenceType())
  596   if (QT->isPointerType() || QT->isReferenceType())
  597     Ty = QT->getPointeeType().getTypePtr();
  598   else if (QT->isArrayType())
  632   if (!Operand->getType()->isDependentType()) {
  652   if (!E->getType()->isDependentType()) {
  819     CXXRecordDecl *BaseDecl = BS.getType()->getAsCXXRecordDecl();
  868   if (const PointerType* Ptr = Ty->getAs<PointerType>()) {
  872   if (!isPointer || !Ty->isVoidType()) {
  885   CXXRecordDecl *RD = Ty->getAsCXXRecordDecl();
  974   QualType ClassType = ThisTy->getPointeeType();
 1247       CaptureType = ThisTy->getPointeeType();
 1287   CXXRecordDecl *Class = BaseType->getAsCXXRecordDecl();
 1329   if (Ty->isDependentType() || CallExpr::hasAnyTypeDependentArguments(Exprs)) {
 1358   DeducedType *Deduced = Ty->getContainedDeducedType();
 1380   if (Ty->isArrayType()) {
 1389   if (Ty->isFunctionType())
 1396   if (!Ty->isVoidType() &&
 1508           FD->getParamDecl(NumBaseParams)->getType()->isAlignValT()) {
 1603     allocType->getBaseElementTypeUnsafe()->getAs<RecordType>();
 1825   auto *Deduced = AllocType->getContainedDeducedType();
 1891       AllocType->isObjCLifetimeType()) {
 1893                                     AllocType->getObjCARCImplicitLifetime());
 1899       (*ArraySize)->getType()->isNonOverloadPlaceholderType()) {
 1921           (*ArraySize)->getType()->getAs<RecordType>())
 1955                    << ConvTy->isEnumeralType() << ConvTy;
 1966                    << ConvTy->isEnumeralType() << ConvTy;
 1976                    << T << ConvTy->isEnumeralType() << ConvTy;
 1989     if (!SizeType->isIntegralOrUnscopedEnumerationType())
 2013         if (!AllocType->isDependentType()) {
 2041       AllocType->isDependentType() ? 0 : Context.getTypeAlign(AllocType);
 2047   if (!AllocType->isDependentType() &&
 2058   if (ArraySize && !AllocType->isDependentType())
 2065         OperatorNew->getType()->getAs<FunctionProtoType>();
 2112   if (!AllocType->isDependentType() &&
 2189   if (AllocType->isFunctionType())
 2192   else if (AllocType->isReferenceType())
 2195   else if (!AllocType->isDependentType() &&
 2201   else if (AllocType->isVariablyModifiedType())
 2213           BaseAllocType->isObjCLifetimeType())
 2302                  C.Function->getParamDecl(1)->getType()->isAlignValT();
 2406     if (AllocElemType->isRecordType() && NewScope != AFS_Global)
 2407       LookupQualifiedName(R, AllocElemType->getAsCXXRecordDecl());
 2468   if (AllocElemType->isRecordType() && DeleteScope != AFS_Global) {
 2470         cast<CXXRecordDecl>(AllocElemType->castAs<RecordType>()->getDecl());
 2519         = OperatorNew->getType()->getAs<FunctionProtoType>();
 3250         if (const PointerType *ConvPtrType = ConvType->getAs<PointerType>())
 3251           if (ConvPtrType->getPointeeType()->isIncompleteOrObjectType())
 3305     QualType Pointee = Type->castAs<PointerType>()->getPointeeType();
 3316     if (Pointee->isVoidType() && !isSFINAEContext()) {
 3322     } else if (Pointee->isFunctionType() || Pointee->isVoidType()) {
 3322     } else if (Pointee->isFunctionType() || Pointee->isVoidType()) {
 3325     } else if (!Pointee->isDependentType()) {
 3330         if (const RecordType *RT = PointeeElem->getAs<RecordType>())
 3335     if (Pointee->isArrayType() && !ArrayForm) {
 3420     if (!IsVirtualDelete && !ParamType->getPointeeType()->isVoidType()) {
 3420     if (!IsVirtualDelete && !ParamType->getPointeeType()->isVoidType()) {
 3597   QualType ClassType = dtor->getThisType()->getPointeeType();
 3640   if (T->isFunctionType())
 3644   else if (T->isArrayType())
 3700     if (const PointerType *ToPtrType = ToType->getAs<PointerType>())
 3702           = ToPtrType->getPointeeType()->getAs<BuiltinType>()) {
 3763     assert(!From->getType()->isPointerType() && "Arg can't have pointer type!");
 3796   if (CCK == CCK_ForBuiltinOverloadedOp && !From->getType()->isRecordType())
 3905     assert(!ToType->isReferenceType());
 3945   if (const AtomicType *ToAtomic = ToType->getAs<AtomicType>()) {
 3954     if (const AtomicType *FromAtomic = FromType->getAs<AtomicType>()) {
 4017     if (ToType->isBooleanType()) {
 4018       assert(FromType->castAs<EnumType>()->getDecl()->isFixed() &&
 4037     QualType FromEl = From->getType()->castAs<ComplexType>()->getElementType();
 4038     QualType ToEl = ToType->castAs<ComplexType>()->getElementType();
 4040     if (FromEl->isRealFloatingType()) {
 4041       if (ToEl->isRealFloatingType())
 4045     } else if (ToEl->isRealFloatingType()) {
 4056     if (ToType->isRealFloatingType())
 4084       if (From->getType()->isObjCObjectPointerType() &&
 4085           ToType->isObjCObjectPointerType())
 4139     if (From->getType()->isHalfType()) {
 4177     if (const ComplexType *ToComplex = ToType->getAs<ComplexType>()) {
 4179       bool isFloatingComplex = ElType->isRealFloatingType();
 4184       } else if (From->getType()->isRealFloatingType()) {
 4188         assert(From->getType()->isIntegerType());
 4199       const ComplexType *FromComplex = From->getType()->getAs<ComplexType>();
 4203       bool isFloatingComplex = ElType->isRealFloatingType();
 4214       } else if (ToType->isRealFloatingType()) {
 4219         assert(ToType->isIntegerType());
 4229         ToType->castAs<BlockPointerType>()->getPointeeType().getAddressSpace();
 4231         FromType->castAs<BlockPointerType>()->getPointeeType().getAddressSpace();
 4291         ToType->isReferenceType() ? From->getValueKind() : VK_RValue;
 4295     if (ToType->isReferenceType() &&
 4296         ToType->getPointeeType().getAddressSpace() !=
 4300     if (ToType->isPointerType() &&
 4301         ToType->getPointeeType().getAddressSpace() !=
 4302             From->getType()->getPointeeType().getAddressSpace())
 4329         ToAtomicType->castAs<AtomicType>()->getValueType(), From->getType()));
 4412     if (const auto *RD = ArgTy->getAsCXXRecordDecl())
 4422     if (ArgTy->getAsCXXRecordDecl())
 4449     ArgTy = QualType(ArgTy->getBaseElementTypeUnsafe(), 0);
 4458     if (ArgTy->isIncompleteArrayType() || ArgTy->isVoidType())
 4458     if (ArgTy->isIncompleteArrayType() || ArgTy->isVoidType())
 4491           Operator->getType()->getAs<FunctionProtoType>();
 4504   assert(!T->isDependentType() && "Cannot evaluate traits of dependent type");
 4512     return T->isVoidType();
 4514     return T->isIntegralType(C);
 4516     return T->isFloatingType();
 4518     return T->isArrayType();
 4520     return T->isPointerType();
 4522     return T->isLValueReferenceType();
 4524     return T->isRValueReferenceType();
 4526     return T->isMemberFunctionPointerType();
 4528     return T->isMemberDataPointerType();
 4530     return T->isEnumeralType();
 4532     return T->isUnionType();
 4534     return T->isClassType() || T->isStructureType() || T->isInterfaceType();
 4534     return T->isClassType() || T->isStructureType() || T->isInterfaceType();
 4534     return T->isClassType() || T->isStructureType() || T->isInterfaceType();
 4536     return T->isFunctionType();
 4541     return T->isReferenceType();
 4543     return T->isArithmeticType() && !T->isEnumeralType();
 4543     return T->isArithmeticType() && !T->isEnumeralType();
 4545     return T->isFundamentalType();
 4547     return T->isObjectType();
 4553     if (T->isObjCLifetimeType()) {
 4566     return T->isScalarType();
 4568     return T->isCompoundType();
 4570     return T->isMemberPointerType();
 4583     return T->isStandardLayoutType();
 4587     return T->isLiteralType(C);
 4589     if (const CXXRecordDecl *RD = T->getAsCXXRecordDecl())
 4593     if (const CXXRecordDecl *RD = T->getAsCXXRecordDecl())
 4597     if (const CXXRecordDecl *RD = T->getAsCXXRecordDecl())
 4604     return T->isAggregateType() || T->isVectorType() || T->isExtVectorType() ||
 4604     return T->isAggregateType() || T->isVectorType() || T->isExtVectorType() ||
 4604     return T->isAggregateType() || T->isVectorType() || T->isExtVectorType() ||
 4605            T->isAnyComplexType();
 4613     if (const CXXRecordDecl *RD = T->getAsCXXRecordDecl())
 4619     return !T->isEnumeralType() && (T->isFloatingType() || T->isSignedIntegerType());
 4619     return !T->isEnumeralType() && (T->isFloatingType() || T->isSignedIntegerType());
 4619     return !T->isEnumeralType() && (T->isFloatingType() || T->isSignedIntegerType());
 4621     return T->isUnsignedIntegerType();
 4645     if (CXXRecordDecl *RD = C.getBaseElementType(T)->getAsCXXRecordDecl())
 4655     if (CXXRecordDecl *RD = C.getBaseElementType(T)->getAsCXXRecordDecl())
 4664     if (T.isPODType(C) || T->isReferenceType())
 4666     if (CXXRecordDecl *RD = T->getAsCXXRecordDecl())
 4676     if (CXXRecordDecl *RD = C.getBaseElementType(T)->getAsCXXRecordDecl())
 4696     if (CXXRecordDecl *RD = T->getAsCXXRecordDecl())
 4705     if (T->isReferenceType())
 4709     if (T->isObjCLifetimeType() &&
 4716     if (T->isIncompleteType() || T->isFunctionType())
 4716     if (T->isIncompleteType() || T->isFunctionType())
 4728     if (auto *RD = C.getBaseElementType(T)->getAsCXXRecordDecl()) {
 4741             Destructor->getType()->getAs<FunctionProtoType>();
 4756     if (T.isPODType(C) || T->isReferenceType())
 4760     if (T->isObjCLifetimeType() &&
 4764     if (CXXRecordDecl *RD = C.getBaseElementType(T)->getAsCXXRecordDecl())
 4778     if (T->isReferenceType())
 4780     if (T.isPODType(C) || T->isObjCLifetimeType())
 4783     if (const RecordType *RT = T->getAs<RecordType>())
 4796     if (const RecordType *RT = C.getBaseElementType(T)->getAs<RecordType>())
 4808     if (T.isPODType(C) || T->isReferenceType() || T->isObjCLifetimeType())
 4808     if (T.isPODType(C) || T->isReferenceType() || T->isObjCLifetimeType())
 4810     if (CXXRecordDecl *RD = T->getAsCXXRecordDecl()) {
 4830               = Constructor->getType()->getAs<FunctionProtoType>();
 4850     if (T.isPODType(C) || T->isObjCLifetimeType())
 4852     if (CXXRecordDecl *RD = C.getBaseElementType(T)->getAsCXXRecordDecl()) {
 4869               = Constructor->getType()->getAs<FunctionProtoType>();
 4886     if (CXXRecordDecl *RD = T->getAsCXXRecordDecl())
 4898     return !T->isIncompleteType();
 4944       if (ArgTy->isVoidType() || ArgTy->isIncompleteArrayType())
 4944       if (ArgTy->isVoidType() || ArgTy->isIncompleteArrayType())
 4954     if (T->isIncompleteType() || T->isFunctionType())
 4954     if (T->isIncompleteType() || T->isFunctionType())
 4958     CXXRecordDecl *RD = T->getAsCXXRecordDecl();
 4967       if (ArgTy->isObjectType() || ArgTy->isFunctionType())
 4967       if (ArgTy->isObjectType() || ArgTy->isFunctionType())
 4998       if (!T->isReferenceType())
 5038     if (Args[I]->getType()->isDependentType()) {
 5072   assert(!LhsT->isDependentType() && !RhsT->isDependentType() &&
 5072   assert(!LhsT->isDependentType() && !RhsT->isDependentType() &&
 5082     const RecordType *lhsRecord = LhsT->getAs<RecordType>();
 5083     const RecordType *rhsRecord = RhsT->getAs<RecordType>();
 5085       const ObjCObjectType *LHSObjTy = LhsT->getAs<ObjCObjectType>();
 5086       const ObjCObjectType *RHSObjTy = RhsT->getAs<ObjCObjectType>();
 5163     if (RhsT->isFunctionType() || RhsT->isArrayType())
 5163     if (RhsT->isFunctionType() || RhsT->isArrayType())
 5167     if (RhsT->isVoidType())
 5168       return LhsT->isVoidType();
 5175     if (LhsT->isObjectType() || LhsT->isFunctionType())
 5175     if (LhsT->isObjectType() || LhsT->isFunctionType())
 5214     if (!LhsT->isVoidType() && !LhsT->isIncompleteArrayType() &&
 5214     if (!LhsT->isVoidType() && !LhsT->isIncompleteArrayType() &&
 5218     if (!RhsT->isVoidType() && !RhsT->isIncompleteArrayType() &&
 5218     if (!RhsT->isVoidType() && !RhsT->isIncompleteArrayType() &&
 5224     if (LhsT->isVoidType() || RhsT->isVoidType())
 5224     if (LhsT->isVoidType() || RhsT->isVoidType())
 5229     if (LhsT->isObjectType() || LhsT->isFunctionType())
 5229     if (LhsT->isObjectType() || LhsT->isFunctionType())
 5231     if (RhsT->isObjectType() || RhsT->isFunctionType())
 5231     if (RhsT->isObjectType() || RhsT->isFunctionType())
 5294   assert(!T->isDependentType() && "Cannot evaluate traits of dependent type");
 5298     if (T->isArrayType()) {
 5322     if (T->isArrayType()) {
 5334       if (Matched && T->isArrayType()) {
 5355   if (!T->isDependentType())
 5394   } else if (Queried->getType()->isPlaceholderType()) {
 5410   assert(!LHS.get()->getType()->isPlaceholderType() &&
 5411          !RHS.get()->getType()->isPlaceholderType() &&
 5433   const MemberPointerType *MemPtr = RHSType->getAs<MemberPointerType>();
 5454     if (const PointerType *Ptr = LHSType->getAs<PointerType>())
 5514   if (const FunctionProtoType *Proto = Result->getAs<FunctionProtoType>()) {
 5549   if (Result->isFunctionType()) {
 5610   const RecordType *FRec = FTy->getAs<RecordType>();
 5611   const RecordType *TRec = TTy->getAs<RecordType>();
 5774   bool LVoid = LTy->isVoidType();
 5775   bool RVoid = RTy->isVoidType();
 5811       (LTy->isRecordType() || RTy->isRecordType())) {
 5811       (LTy->isRecordType() || RTy->isRecordType())) {
 5896     if (LTy->isFunctionPointerType() || LTy->isMemberFunctionPointerType()) {
 5896     if (LTy->isFunctionPointerType() || LTy->isMemberFunctionPointerType()) {
 5913   if (!Same && (LTy->isRecordType() || RTy->isRecordType())) {
 5913   if (!Same && (LTy->isRecordType() || RTy->isRecordType())) {
 5938     if (LTy->isRecordType()) {
 5960     if (LTy->isFunctionPointerType() || LTy->isMemberFunctionPointerType()) {
 5960     if (LTy->isFunctionPointerType() || LTy->isMemberFunctionPointerType()) {
 5970   if (LTy->isVectorType() || RTy->isVectorType())
 5970   if (LTy->isVectorType() || RTy->isVectorType())
 5978   if (LTy->isArithmeticType() && RTy->isArithmeticType()) {
 5978   if (LTy->isArithmeticType() && RTy->isArithmeticType()) {
 6122   bool T1IsPointerLike = T1->isAnyPointerType() || T1->isMemberPointerType() ||
 6122   bool T1IsPointerLike = T1->isAnyPointerType() || T1->isMemberPointerType() ||
 6123                          T1->isNullPtrType();
 6124   bool T2IsPointerLike = T2->isAnyPointerType() || T2->isMemberPointerType() ||
 6124   bool T2IsPointerLike = T2->isAnyPointerType() || T2->isMemberPointerType() ||
 6125                          T2->isNullPtrType();
 6137       E2 = ImpCastExprToType(E2, T1, T1->isMemberPointerType()
 6145       E1 = ImpCastExprToType(E1, T2, T2->isMemberPointerType()
 6154   assert(!T1->isNullPtrType() && !T2->isNullPtrType() &&
 6154   assert(!T1->isNullPtrType() && !T2->isNullPtrType() &&
 6198     if ((Ptr1 = Composite1->getAs<PointerType>()) &&
 6199         (Ptr2 = Composite2->getAs<PointerType>())) {
 6215     if ((MemPtr1 = Composite1->getAs<MemberPointerType>()) &&
 6216         (MemPtr2 = Composite2->getAs<MemberPointerType>())) {
 6248     if (auto *FPT1 = Composite1->getAs<FunctionProtoType>()) {
 6249       if (auto *FPT2 = Composite2->getAs<FunctionProtoType>()) {
 6370       E->getType()->isObjCRetainableType()) {
 6388       if (const PointerType *Ptr = T->getAs<PointerType>())
 6390       else if (const BlockPointerType *Ptr = T->getAs<BlockPointerType>())
 6392       else if (const MemberPointerType *MemPtr = T->getAs<MemberPointerType>())
 6395       const FunctionType *FTy = T->getAs<FunctionType>();
 6449     if (!ReturnsRetained && E->getType()->isObjCARCImplicitlyUnretainedType())
 6658       Bind->getType()->getBaseElementTypeUnsafe()->getAsCXXRecordDecl();
 6719   if (BaseType->isDependentType()) {
 6724       if (const PointerType *Ptr = BaseType->getAs<PointerType>())
 6745     while (BaseType->isRecordType()) {
 6797       if (BaseType->isPointerType())
 6798         BaseType = BaseType->getPointeeType();
 6806   if (BaseType->isObjCObjectPointerType())
 6807     BaseType = BaseType->getPointeeType();
 6820   if (!BaseType->isRecordType()) {
 6831   if (!BaseType->isDependentType() &&
 6861     if (const PointerType *Ptr = ObjectType->getAs<PointerType>()) {
 6884   if (auto *RD = DestructedType->getAsCXXRecordDecl()) {
 6892   return DestructedType->isDependentType() || DestructedType->isScalarType() ||
 6892   return DestructedType->isDependentType() || DestructedType->isScalarType() ||
 6893          DestructedType->isVectorType();
 6910   if (!ObjectType->isDependentType() && !ObjectType->isScalarType() &&
 6910   if (!ObjectType->isDependentType() && !ObjectType->isScalarType() &&
 6911       !ObjectType->isVectorType()) {
 6912     if (getLangOpts().MSVCCompat && ObjectType->isVoidType())
 6928     if (!DestructedType->isDependentType() && !ObjectType->isDependentType()) {
 6928     if (!DestructedType->isDependentType() && !ObjectType->isDependentType()) {
 6933         if (OpKind == tok::period && ObjectType->isPointerType() &&
 6935                                            ObjectType->getPointeeType())) {
 6990     if (!ScopeType->isDependentType() && !ObjectType->isDependentType() &&
 6990     if (!ScopeType->isDependentType() && !ObjectType->isDependentType() &&
 7038     if (ObjectType->isRecordType())
 7040     else if (ObjectType->isDependentType())
 7056          (!SS.isSet() && ObjectType->isDependentType()))) {
 7194       Method->getConversionType()->isBlockPointerType()) {
 7238                         Method->getType()->castAs<FunctionProtoType>()))
 7348     if (!getLangOpts().CPlusPlus && E->getType()->isFunctionType())
 7386   if (const EnumType *T = E->getType()->getAs<EnumType>()) {
 7399   if (!E->getType()->isVoidType())
 7438   if (Var->getType()->isDependentType() || Init->isValueDependent()) {
tools/clang/lib/Sema/SemaExprMember.cpp
  307   const ExtVectorType *vecType = baseType->getAs<ExtVectorType>();
  497     const PointerType *PT = BaseType->getAs<PointerType>();
  499                PT->getPointeeType()->isRecordType())) {
  507   assert(BaseType->isDependentType() ||
  558     assert(BaseType->isDependentType());
  753   if (BaseType->isDependentType() ||
  766     if (IsArrow) RecordTy = RecordTy->getAs<PointerType>()->getPointeeType();
  768             *this, R, nullptr, RecordTy->getAs<RecordType>(), OpLoc, IsArrow,
  815     assert(baseVariable->getType()->isRecordType());
  848     bool baseObjectIsPointer = baseObjectExpr->getType()->isPointerType();
  972     assert(BaseType->isPointerType());
  973     BaseType = BaseType->castAs<PointerType>()->getPointeeType();
 1009                        : BaseType->castAs<RecordType>()->getDecl());
 1193     = base.get()->getType()->getAs<ObjCObjectPointerType>();
 1209   opty = redef->getAs<ObjCObjectPointerType>();
 1218   return T->isRecordType();
 1221   if (const PointerType *PT = T->getAs<PointerType>())
 1222     return PT->getPointeeType()->isRecordType();
 1229   if (IsArrow && !Base->getType()->isFunctionType())
 1258   assert(!BaseType->isDependentType());
 1268     if (const PointerType *Ptr = BaseType->getAs<PointerType>())
 1271                = BaseType->getAs<ObjCObjectPointerType>())
 1273     else if (BaseType->isRecordType()) {
 1287     } else if (BaseType->isFunctionType()) {
 1297   if (const RecordType *RTy = BaseType->getAs<RecordType>()) {
 1311   if (const ObjCObjectType *OTy = BaseType->getAs<ObjCObjectType>()) {
 1474   if (!IsArrow && (OPT = BaseType->getAs<ObjCObjectPointerType>())) {
 1597   if (BaseType->isExtVectorType()) {
 1624   if (IsArrow && BaseType->isSpecificBuiltinType(BuiltinType::ObjCSel) &&
 1625       !S.Context.getObjCSelRedefinitionType()->isObjCSelType()) {
 1642   if (const PointerType *Ptr = BaseType->getAs<PointerType>()) {
 1643     if (!IsArrow && Ptr->getPointeeType()->isRecordType() &&
 1720   if (Base->getType()->isDependentType() || Name.isDependentName() ||
 1749       if (Ptr->getPointeeType()->hasAttr(attr::NoDeref))
 1777   if (const ReferenceType *Ref = MemberType->getAs<ReferenceType>()) {
 1782     if (IsArrow) BaseType = BaseType->getAs<PointerType>()->getPointeeType();
tools/clang/lib/Sema/SemaExprObjC.cpp
  157   if (!ReturnType->isObjCObjectPointerType()) {
  398   if (S.getLangOpts().CPlusPlus && Element->getType()->isRecordType()) {
  418   if (!Element->getType()->isObjCObjectPointerType() &&
  419       !Element->getType()->isBlockPointerType()) {
  514   if (const PointerType *PT = ValueType->getAs<PointerType>()) {
  592           BoxingMethod->getReturnType()->getNullability(Context);
  598   } else if (ValueType->isBuiltinType()) {
  633   } else if (const EnumType *ET = ValueType->getAs<EnumType>()) {
  643   } else if (ValueType->isObjCBoxableRecordType()) {
  740   if (ValueType->isObjCBoxableRecordType()) {
  846     const PointerType *PtrT = T->getAs<PointerType>();
  859     if (!Method->parameters()[1]->getType()->isIntegerType()) {
  875   QualType RequiredType = ObjectsType->castAs<PointerType>()->getPointeeType();
  963     const PointerType *PtrValue = ValueT->getAs<PointerType>();
  977     const PointerType *PtrKey = KeyT->getAs<PointerType>();
 1015     if (!CountType->isIntegerType()) {
 1030   QualType ValueT = ValuesT->castAs<PointerType>()->getPointeeType();
 1032   QualType KeyT = KeysT->castAs<PointerType>()->getPointeeType();
 1081   if (EncodedType->isDependentType())
 1084     if (!EncodedType->getAsArrayTypeUnsafe() && //// Incomplete array is handled.
 1085         !EncodedType->isVoidType()) // void is handled too.
 1319                              ->getNullability(Context)){
 1353   if (ReceiverType->getAsObjCInterfaceType())
 1357   if (ReceiverType->isObjCClassType() ||
 1358       ReceiverType->isObjCQualifiedClassType())
 1387       assert(ReceiverType->isObjCClassType() && "expected a Class self");
 1398         if (auto Nullability = resultType->getNullability(Context))
 1410   if (!resultType->canHaveNullability())
 1415   if (auto nullability = ReceiverType->getNullability(Context))
 1419   if (auto nullability = resultType->getNullability(Context))
 1449   } while (resultType->getNullability(Context));
 1611       if (ReceiverType->isObjCObjectPointerType()) {
 1613             ReceiverType->getAs<ObjCObjectPointerType>()->getInterfaceDecl()) {
 1654     = ReceiverType->getObjCSubstitutions(Method->getDeclContext());
 1717       if (typeArgs && Args[i]->isRValue() && paramType->isBlockPointerType() &&
 1718           Args[i]->getType()->isBlockPointerType() &&
 1719           origParamType->isObjCObjectPointerType()) {
 1779   const ObjCObjectType *objType = type->castAs<ObjCObjectType>();
 1977         T->getAsObjCInterfacePointerType()) {
 2025             return HandleExprPropertyRefExpr(T->castAs<ObjCObjectPointerType>(),
 2347     const auto *OPT = ReceiverType->getAs<ObjCObjectPointerType>();
 2356     const auto *IT = ReceiverType->getAs<ObjCInterfaceType>();
 2367   if (Ret->isRecordType() || Ret->isVectorType() || Ret->isExtVectorType()) {
 2367   if (Ret->isRecordType() || Ret->isVectorType() || Ret->isExtVectorType()) {
 2367   if (Ret->isRecordType() || Ret->isVectorType() || Ret->isExtVectorType()) {
 2371         << (!Ret->isRecordType()
 2373                 : Ret->isUnionType() ? /*Union*/ 1 : /*Struct*/ 0);
 2471   if (ReceiverType->isDependentType()) {
 2485   const ObjCObjectType *ClassType = ReceiverType->getAs<ObjCObjectType>();
 2536   if (Method && !Method->getReturnType()->isVoidType() &&
 2737     if (ReceiverType->isObjCRetainableType()) {
 2741                (ReceiverType->isPointerType() ||
 2742                 ReceiverType->isIntegerType())) {
 2748       if (ReceiverType->isPointerType()) {
 2774   if (ReceiverType->isObjCIdType() && !isImplicit)
 2785     bool receiverIsIdLike = ReceiverType->isObjCIdOrObjectKindOfType(Context,
 2787     if (receiverIsIdLike || ReceiverType->isBlockPointerType() ||
 2807     } else if (ReceiverType->isObjCClassOrClassKindOfType() ||
 2808                ReceiverType->isObjCQualifiedClassType()) {
 2813       if (!ReceiverType->isObjCClassOrClassKindOfType()) {
 2815           = ReceiverType->getAsObjCQualifiedClassType();
 2883                                    = ReceiverType->getAsObjCQualifiedIdType()) {
 2891                    = ReceiverType->getAsObjCInterfacePointerType()) {
 2984             OCIType = ReceiverType->getAsObjCInterfacePointerType()) {
 3025   bool ClassMessage = (ReceiverType->isObjCClassType() ||
 3026                        ReceiverType->isObjCQualifiedClassType());
 3033   if (Method && !Method->getReturnType()->isVoidType() &&
 3144       if (const auto *OPT = ReceiverType->getAs<ObjCObjectPointerType>()) {
 3274   if (const ReferenceType *ref = type->getAs<ReferenceType>()) {
 3281     if (const PointerType *ptr = type->getAs<PointerType>()) {
 3286         if (type->isVoidType()) return ACTC_voidPtr;
 3287         if (type->isRecordType()) return ACTC_coreFoundation;
 3289     } else if (const ArrayType *array = type->getAsArrayTypeUnsafe()) {
 3290       type = QualType(array->getElementType()->getBaseElementTypeUnsafe(), 0);
 3298     if (type->isObjCARCBridgableType())
 3303   if (type->isObjCARCBridgableType())
 3343       return type->isCARCBridgableType();
 3648   if (QT->isPointerType()) {
 3649     QT = QT->getPointeeType();
 3650     if (const RecordType *RT = QT->getAs<RecordType>())
 3697     srcKind = (castExprType->isPointerType() ? 1 : 0);
 3700     srcKind = (castExprType->isBlockPointerType() ? 2 : 3);
 3720       << unsigned(castType->isBlockPointerType()) // to ObjC|block type
 3760       << unsigned(castExprType->isBlockPointerType()) // of ObjC|block type
 3823                   castType->getAsObjCInterfacePointerType()) {
 3831                     << T << Target->getName() << castType->getPointeeType();
 3833             } else if (castType->isObjCIdType() ||
 3850         } else if (!castType->isObjCIdType()) {
 3889                   castExpr->getType()->getAsObjCInterfacePointerType()) {
 3898                     << castExpr->getType()->getPointeeType() << T;
 3902             } else if (castExpr->getType()->isObjCIdType() ||
 4202   if (const ReferenceType *ref = castType->getAs<ReferenceType>())
 4246   if (castACTC == ACTC_none && castType->isIntegralType(Context))
 4387       canExprType->isObjCObjectPointerType()) {
 4389         canExprType->getAs<ObjCObjectPointerType>())
 4448   if (T->isDependentType() || SubExpr->isTypeDependent()) {
 4451   } else if (T->isObjCARCBridgableType() && FromType->isCARCBridgableType()) {
 4451   } else if (T->isObjCARCBridgableType() && FromType->isCARCBridgableType()) {
 4453     CK = (T->isBlockPointerType() ? CK_AnyPointerToBlockPointerCast
 4464         << (T->isBlockPointerType()? 1 : 0)
 4485   } else if (T->isCARCBridgableType() && FromType->isObjCARCBridgableType()) {
 4485   } else if (T->isCARCBridgableType() && FromType->isObjCARCBridgableType()) {
 4505         << (FromType->isBlockPointerType()? 1 : 0)
tools/clang/lib/Sema/SemaFixItUtils.cpp
  201   if (T->isScalarType()) {
  208   const CXXRecordDecl *RD = T->getAsCXXRecordDecl();
tools/clang/lib/Sema/SemaInit.cpp
   71   if (isa<ObjCEncodeExpr>(Init) && AT->getElementType()->isCharType())
   85     if (ElemTy->isChar8Type())
   91     if (ElemTy->isCharType())
   96     if (ElemTy->isChar8Type())
  109     if (ElemTy->isCharType() || ElemTy->isChar8Type())
  109     if (ElemTy->isCharType() || ElemTy->isChar8Type())
  117     if (ElemTy->isCharType() || ElemTy->isChar8Type())
  117     if (ElemTy->isCharType() || ElemTy->isChar8Type())
  125     if (ElemTy->isCharType() || ElemTy->isChar8Type())
  125     if (ElemTy->isCharType() || ElemTy->isChar8Type())
  192       cast<ConstantArrayType>(Str->getType()->getAsArrayTypeUnsafe());
  496       Entity.getType()->getBaseElementTypeUnsafe()->isRecordType();
  647     if (const RecordType *RType = ILE->getType()->getAs<RecordType>())
  684     if (Field->getType()->isReferenceType()) {
  769   if (const RecordType *RType = ILE->getType()->getAs<RecordType>()) {
  844   } else if (const VectorType *VType = ILE->getType()->getAs<VectorType>()) {
  977   RecordDecl *structDecl = DeclType->castAs<RecordType>()->getDecl();
 1007       Entity.getParent()->getType()->castAs<RecordType>()->getDecl();
 1031   if (T->isArrayType())
 1033   else if (T->isRecordType())
 1035   else if (T->isVectorType())
 1036     maxElements = T->castAs<VectorType>()->getNumElements();
 1077     if (!VerifyOnly && (T->isArrayType() || T->isRecordType()) &&
 1077     if (!VerifyOnly && (T->isArrayType() || T->isRecordType()) &&
 1092     auto *CXXRD = T->getAsCXXRecordDecl();
 1179     if (!ExprTy->isArrayType())
 1189   if (Index < IList->getNumInits() && !T->isIncompleteType()) {
 1192           (SemaRef.getLangOpts().OpenCL && T->isVectorType());
 1206       int initKind = T->isArrayType() ? 0 :
 1207                      T->isVectorType() ? 1 :
 1208                      T->isScalarType() ? 2 :
 1209                      T->isUnionType() ? 3 :
 1220     if (T->isScalarType() && IList->getNumInits() == 1 &&
 1226     auto *CXXRD = T->getAsCXXRecordDecl();
 1253   if (DeclType->isAnyComplexType() && SubobjectIsDesignatorContext) {
 1258   } else if (DeclType->isScalarType()) {
 1261   } else if (DeclType->isVectorType()) {
 1264   } else if (DeclType->isRecordType()) {
 1265     assert(DeclType->isAggregateType() &&
 1267     RecordDecl *RD = DeclType->castAs<RecordType>()->getDecl();
 1276   } else if (DeclType->isArrayType()) {
 1283   } else if (DeclType->isVoidType() || DeclType->isFunctionType()) {
 1283   } else if (DeclType->isVoidType() || DeclType->isFunctionType()) {
 1290   } else if (DeclType->isReferenceType()) {
 1293   } else if (DeclType->isObjCObjectType()) {
 1297   } else if (DeclType->isOCLIntelSubgroupAVCType()) {
 1317   if (ElemType->isReferenceType())
 1353         (ElemType->isExtVectorType() && !Entity.getType()->isExtVectorType())
 1353         (ElemType->isExtVectorType() && !Entity.getType()->isExtVectorType())
 1385   } else if (ElemType->isScalarType() || ElemType->isAtomicType()) {
 1385   } else if (ElemType->isScalarType() || ElemType->isAtomicType()) {
 1408     assert((ElemType->isRecordType() || ElemType->isVectorType() ||
 1408     assert((ElemType->isRecordType() || ElemType->isVectorType() ||
 1409             ElemType->isOpenCLSpecificType()) && "Unexpected type");
 1445   if ((!SemaRef.getLangOpts().OpenCL && ElemType->isVectorType()) ||
 1446       ElemType->isAggregateType()) {
 1493   QualType elementType = DeclType->castAs<ComplexType>()->getElementType();
 1639   const VectorType *VT = DeclType->castAs<VectorType>();
 1656     if (!isa<InitListExpr>(Init) && Init->getType()->isVectorType()) {
 1709     const VectorType *T = Entity.getType()->castAs<VectorType>();
 1728       if (elementType->isFloatingType())
 1730       else if (elementType->isSignedIntegerType())
 1732       else if (elementType->isUnsignedIntegerType())
 1759     if (!IType->isVectorType()) {
 1765       const VectorType *IVT = IType->castAs<VectorType>();
 1768       if (IType->isExtVectorType())
 1801   auto *CXXRD = ElementType->getAsCXXRecordDecl();
 1928   if (!hadError && DeclType->isIncompleteArrayType() && !VerifyOnly) {
 1998   RecordDecl *structDecl = DeclType->castAs<RecordType>()->getDecl();
 2009   if (DeclType->isUnionType() && IList->getNumInits() == 0) {
 2010     RecordDecl *RD = DeclType->castAs<RecordType>()->getDecl();
 2085   RecordDecl *RD = DeclType->castAs<RecordType>()->getDecl();
 2137     if (InitializedSomething && DeclType->isUnionType())
 2141     if (Field->getType()->isIncompleteArrayType())
 2178     if (DeclType->isUnionType() && StructuredList) {
 2188       Field != FieldEnd && !Field->getType()->isIncompleteArrayType() &&
 2189       !DeclType->isUnionType()) {
 2204   if (!StructuredList && Field != FieldEnd && !DeclType->isUnionType() &&
 2205       !Field->getType()->isIncompleteArrayType()) {
 2229   if (Field == FieldEnd || !Field->getType()->isIncompleteArrayType() ||
 2482     const RecordType *RT = CurrentObjectType->getAs<RecordType>();
 2666     if (Field->getType()->isIncompleteArrayType()) {
 2866     if (CharTy->isPromotableIntegerType())
 3046   if (!ResultType->isArrayType())
 3062   } else if (const VectorType *VType = CurrentObjectType->getAs<VectorType>()) {
 3064   } else if (CurrentObjectType->isRecordType()) {
 3228   } else if (const VectorType *VT = Parent.getType()->getAs<VectorType>()) {
 3232     const ComplexType *CT = Parent.getType()->getAs<ComplexType>();
 3785     assert(Entity.getType()->isObjCRetainableType() &&
 3795     if (!Entity.getType()->isObjCRetainableType())
 3939     auto *SourceRD = Initializer->getType()->getAsCXXRecordDecl();
 4030   const RecordType *DestRecordType = DestType->getAs<RecordType>();
 4167     } else if (!UnqualifiedTargetType->isRecordType()) {
 4210   QualType cv1T1 = DestType->castAs<ReferenceType>()->getPointeeType();
 4256     if (DestType->isRValueReferenceType() ||
 4276   if (S.getLangOpts().CPlusPlus && DestType->isScalarType() &&
 4277       !DestType->isAnyComplexType() && InitList->getNumInits() > 1) {
 4281   if (DestType->isReferenceType()) {
 4287   if (DestType->isRecordType() &&
 4305     if (DestType->isRecordType()) {
 4344   if ((DestType->isRecordType() && !DestType->isAggregateType()) ||
 4344   if ((DestType->isRecordType() && !DestType->isAggregateType()) ||
 4352         CXXRecordDecl *RD = DestType->getAsCXXRecordDecl();
 4374   if (S.getLangOpts().CPlusPlus && !DestType->isAggregateType() &&
 4383     auto *ET = DestType->getAs<EnumType>();
 4388         (E->getType()->isIntegralOrEnumerationType() ||
 4389          E->getType()->isFloatingType())) {
 4406       ICS.Standard.Second = E->getType()->isFloatingType()
 4432     if (InitList->getInit(0)->getType()->isRecordType()) {
 4467   QualType cv1T1 = DestType->castAs<ReferenceType>()->getPointeeType();
 4498   if (AllowRValues && (T1RecordType = T1->getAs<RecordType>()) &&
 4529   if ((T2RecordType = T2->getAs<RecordType>()) &&
 4557            Conv->getConversionType()->isLValueReferenceType())) {
 4594   if (cv3T3->isLValueReferenceType())
 4596   else if (const auto *RRef = cv3T3->getAs<RValueReferenceType>())
 4597     VK = RRef->getPointeeType()->isFunctionType() ? VK_LValue : VK_XValue;
 4665   QualType cv1T1 = DestType->castAs<ReferenceType>()->getPointeeType();
 4704   bool isLValueRef = DestType->isLValueReferenceType();
 4725   bool T1Function = T1->isFunctionType();
 4762     if (RefRelationship == Sema::Ref_Incompatible && T2->isRecordType() &&
 4834         (S.getLangOpts().CPlusPlus17 || T2->isRecordType() ||
 4835          T2->isArrayType())))) {
 4837     if (InitCategory.isPRValue() && T2->isRecordType()) {
 4893   if (T2->isRecordType()) {
 5022   if (const RecordType *RT = T->getAs<RecordType>()) {
 5098   if (DestType->isRecordType() && S.getLangOpts().CPlusPlus) {
 5131   assert(!DestType->isReferenceType() && "References are handled elsewhere");
 5133   assert((DestType->isRecordType() || SourceType->isRecordType()) &&
 5133   assert((DestType->isRecordType() || SourceType->isRecordType()) &&
 5146   if (const RecordType *DestRecordType = DestType->getAs<RecordType>()) {
 5179   if (const RecordType *SourceRecordType = SourceType->getAs<RecordType>()) {
 5269   if (ConvType->getAs<RecordType>()) {
 5280         Function->getReturnType()->isReferenceType() ||
 5311          Entity.getType()->isPointerType() &&
 5473   if (!S.getLangOpts().OpenCL || !DestType->isSamplerT() ||
 5475       !Initializer->getType()->isSamplerT()))
 5502   if (DestType->isEventT() || DestType->isQueueT()) {
 5502   if (DestType->isEventT() || DestType->isQueueT()) {
 5515       DestType->isOCLIntelSubgroupAVCType()) {
 5516     if (DestType->isOCLIntelSubgroupAVCMcePayloadType() ||
 5517         DestType->isOCLIntelSubgroupAVCMceResultType())
 5600     if (Args[I]->getType()->isNonOverloadPlaceholderType()) {
 5618   if (DestType->isDependentType() ||
 5653   if (DestType->isReferenceType()) {
 5754         Initializer->getType()->isArrayType()) {
 5773     } else if (DestAT->getElementType()->isCharType())
 5812   if (DestType->isRecordType()) {
 5848   if (!SourceType.isNull() && SourceType->isRecordType()) {
 5852     if (const AtomicType *Atomic = DestType->getAs<AtomicType>()) {
 5913     else if (Initializer->getType()->isFunctionType() &&
 6112   if (const RecordType *Record = T->getAs<RecordType>())
 6259   const RecordType *Record = CurInitExpr->getType()->getAs<RecordType>();
 6704   if (auto *RD = Type->getAsCXXRecordDecl())
 6736   if (Callee->getReturnType()->isPointerType() ||
 6747   } else if (Callee->getReturnType()->isReferenceType()) {
 6763   const auto *RD = FD->getParamDecl(0)->getType()->getPointeeCXXRecordDecl();
 6769   if (FD->getReturnType()->isPointerType() ||
 6776   } else if (FD->getReturnType()->isReferenceType()) {
 6967       if (!VD->getType()->isReferenceType()) {
 7004     if (!C->getTrueExpr()->getType()->isVoidType())
 7007     if (!C->getFalseExpr()->getType()->isVoidType())
 7136     if (ILE->getType()->isArrayType()) {
 7144     if (CXXRecordDecl *RD = ILE->getType()->getAsCXXRecordDecl()) {
 7151           ILE->getInitializedFieldInUnion()->getType()->isReferenceType())
 7167           if (I->getType()->isReferenceType())
 7230     if (!BO->getType()->isPointerType() || (BOK != BO_Add && BOK != BO_Sub))
 7233     if (BO->getLHS()->getType()->isPointerType())
 7236     else if (BO->getRHS()->getType()->isPointerType())
 7247     if (!C->getTrueExpr()->getType()->isVoidType())
 7250     if (!C->getFalseExpr()->getType()->isVoidType())
 7472           bool IsPointer = !Member->getType()->isReferenceType();
 7507             << Entity.getType()->isReferenceType() << DRE->getDecl()
 7519          << Entity.getType()->isReferenceType() << DiagRange;
 7549             << VD->getType()->isReferenceType()
 7589   if (!DestType->isRecordType())
 7626     if (!SourceType->isRecordType())
 7642     if (!ArgStripped->isRValue() || !ArgStripped->getType()->isRecordType())
 7732     auto PointeeTy = Ty->getPointeeType();
 7733     auto ExprPointeeTy = E->getType()->getPointeeType();
 7764         << DestType << (bool)DestType->getAs<RecordType>()
 7773     if (ResultType && !Entity.getType()->isDependentType() &&
 7825   if (S.getLangOpts().CPlusPlus11 && Entity.getType()->isReferenceType() &&
 7843       ETy->isAtomicType() && !HasGlobalAS &&
 7988       if (CurInit.get()->getType()->isFunctionProtoType()) {
 8011           Step->Type, CurInit.get(), Entity.getType()->isLValueReferenceType());
 8097         CreatedObject = Conversion->getReturnType()->isRecordType();
 8117         if (const RecordType *Record = T->getAs<RecordType>()) {
 8153               CurInit.get()->getType()->getAs<PointerType>()) {
 8154         if (const auto *ToPtrType = Step->Type->getAs<PointerType>()) {
 8155           if (FromPtrType->getPointeeType()->hasAttr(attr::NoDeref) &&
 8156               !ToPtrType->getPointeeType()->hasAttr(attr::NoDeref)) {
 8208           ResultType->getNonReferenceType()->isIncompleteArrayType()) {
 8209         if ((*ResultType)->isRValueReferenceType())
 8211         else if ((*ResultType)->isLValueReferenceType())
 8213             (*ResultType)->castAs<LValueReferenceType>()->isSpelledAsLValue());
 8238       bool UseTemporary = Entity.getType()->isReferenceType();
 8284       bool UseTemporary = Entity.getType()->isReferenceType();
 8483       assert(Step->Type->isSamplerT() &&
 8489         if (!SourceType->isSamplerT() && !SourceType->isIntegerType()) {
 8489         if (!SourceType->isSamplerT() && !SourceType->isIntegerType()) {
 8523         if (!SourceType->isIntegerType() ||
 8561       assert((Step->Type->isEventT() || Step->Type->isQueueT() ||
 8561       assert((Step->Type->isEventT() || Step->Type->isQueueT() ||
 8562               Step->Type->isOCLIntelSubgroupAVCType()) &&
 8598   if (T->isReferenceType()) {
 8604   CXXRecordDecl *RD = T->getBaseElementTypeUnsafe()->getAsCXXRecordDecl();
 8638   if (destType.getNonReferenceType()->isObjCObjectPointerType() &&
 8639       op->getType()->isObjCObjectPointerType()) {
 8668   if (DestType->isReferenceType()) {
 8672     QualType T = DestType->castAs<ReferenceType>()->getPointeeType();
 8717              DestType->isReferenceType());
 8920       << DestType.getNonReferenceType()->isIncompleteType()
 8978       << (DestType->isRecordType()) << DestType << Args[0]->getSourceRange();
 9029               = Entity.getBaseSpecifier()->getType()->castAs<RecordType>()
 9044                                  = Entity.getType()->getAs<RecordType>())
 9109           << DestType << (bool)DestType->getAs<RecordType>();
 9556   if (const TypedefType *TT = EntityType->getAs<TypedefType>()) {
 9563   } else if (const BuiltinType *BT = EntityType->getAs<BuiltinType>())
 9672       TSInfo->getType()->getContainedDeducedType());
 9837       auto *RD = E->getType()->getAsCXXRecordDecl();
tools/clang/lib/Sema/SemaLambda.cpp
  372     const FunctionProtoType *FPT = MethodType->castAs<FunctionProtoType>();
  374     if (Result->isUndeducedType()) {
  504     if (!LSI->ReturnType->isDependentType() &&
  505         !LSI->ReturnType->isVoidType()) {
  626   if (const EnumType *ET = E->getType()->getAs<EnumType>()) {
  676     assert(returnType->isIntegralOrUnscopedEnumerationType());
  677     assert(retValue->getType()->isIntegralOrUnscopedEnumerationType());
  695   assert(CSI.ReturnType.isNull() || !CSI.ReturnType->isUndeducedType());
  735   if (CSI.ReturnType->isDependentType())
  767       auto RetTyNullability = ReturnType->getNullability(Ctx);
  768       auto BlockNullability = CSI.ReturnType->getNullability(Ctx);
  879   LSI->addCapture(Var, /*isBlock*/false, Var->getType()->isReferenceType(),
  962     if (MethodTyInfo->getType()->containsUnexpandedParameterPack())
 1090           !C->InitCaptureType.get()->getAs<PackExpansionType>())
 1290       CallOperator->getType()->castAs<FunctionProtoType>());
 1441       CallOperator->getType()->castAs<FunctionProtoType>());
 1565                          ? getCurrentThisType()->getPointeeType()
 1571   const Type *BaseT = T->getBaseElementTypeUnsafe();
 1622   if (!FieldType->isDependentType()) {
 1628       FieldType->isIncompleteType(&Def);
tools/clang/lib/Sema/SemaLookup.cpp
  431     if (EVD->getType()->isIncompleteType() &&
  432         !DVD->getType()->isIncompleteType()) {
  797           FunctionList[Index]->isFunctionProtoType());
 1021       R.getLookupName().getCXXNameType()->isDependentType() ||
 1037       R.getLookupName().getCXXNameType()->getContainedDeducedType();
 1073       = ConvTemplate->getTemplatedDecl()->getType()->getAs<FunctionProtoType>();
 2133   RecordDecl *BaseRecord = Specifier->getType()->castAs<RecordType>()->getDecl();
 2510         BaseSpec.getType()->castAs<RecordType>()->getDecl());
 2782       const RecordType *BaseType = Base.getType()->getAs<RecordType>();
 2822   const Type *T = Ty->getCanonicalTypeInternal().getTypePtr();
 3412           FD->getParamDecl(0)->getType()->getAs<PointerType>())
 3838         if (BaseType->isDependentType()) {
 3844           const auto *TST = BaseType->getAs<TemplateSpecializationType>();
 3854           const auto *Record = BaseType->getAs<RecordType>();
 5226         if (ValType->isAnyPointerType() || ValType->isReferenceType())
 5226         if (ValType->isAnyPointerType() || ValType->isReferenceType())
 5227           ValType = ValType->getPointeeType();
 5228         if (const FunctionProtoType *FPT = ValType->getAs<FunctionProtoType>())
tools/clang/lib/Sema/SemaObjCProperty.cpp
   56       type->isObjCRetainableType()) {
  509         PIDecl->getType()->getAs<ObjCObjectPointerType>() &&
  592                 !T->isObjCRetainableType());
  600           T->getAs<ObjCObjectPointerType>()) {
  610   if (T->isObjCObjectType()) {
  641   if (T->isArrayType() || T->isFunctionType()) {
  641   if (T->isArrayType() || T->isFunctionType()) {
  746       assert(ivarType->isObjCARCImplicitlyUnretainedType());
 1195         PropertyIvarType->isObjCRetainableType()) {
 1231                 PropertyIvarType->getAs<ObjCObjectPointerType>()) {
 1269           PropertyIvarType->isObjCRetainableType()) {
 1303         const RecordType *RecordTy = PropertyIvarType->getAs<RecordType>();
 1339                                   PropertyIvarType->getAs<ObjCObjectPointerType>(),
 1340                                   IvarType->getAs<ObjCObjectPointerType>());
 1361             lhsType->isArithmeticType()) {
 1378       if ((property->getType()->isObjCObjectPointerType() ||
 1408         Ivar->getType()->isRecordType()) {
 1462         Ivar->getType()->isRecordType()) {
 1495               if (property->getType()->isReferenceType()) {
 1667              PropertyRValueType->getAs<ObjCObjectPointerType>()) &&
 1668         (getterObjCPtr = GetterType->getAs<ObjCObjectPointerType>()))
 1681       if (lhsType != rhsType && lhsType->isArithmeticType())
 2557       !PropertyTy->isObjCRetainableType() &&
 2570       PropertyTy->isObjCRetainableType() &&
 2571       !PropertyTy->isObjCARCImplicitlyUnretainedType()) {
 2654     if (auto nullability = PropertyTy->getNullability(Context)) {
 2670   if (!getOwnershipRule(Attributes) && PropertyTy->isObjCRetainableType()) {
 2677     } else if (PropertyTy->isObjCObjectPointerType()) {
 2679           (PropertyTy->isObjCClassType() ||
 2680            PropertyTy->isObjCQualifiedClassType());
 2707       && PropertyTy->isBlockPointerType())
 2712            PropertyTy->isBlockPointerType())
tools/clang/lib/Sema/SemaOpenMP.cpp
 1250                                 ? Type->getAsCXXRecordDecl()
 1708   if ((Ty->isFloat16Type() && !Context.getTargetInfo().hasFloat16Type()) ||
 1709       ((Ty->isFloat128Type() ||
 1710         (Ty->isRealFloatingType() && Context.getTypeSize(Ty) == 128)) &&
 1712       (Ty->isIntegerType() && Context.getTypeSize(Ty) == 128 &&
 1786     if (Ty->isReferenceType())
 1787       Ty = Ty->castAs<ReferenceType>()->getPointeeType();
 1833       IsByRef = !(Ty->isPointerType() && IsVariableAssociatedWithSection);
 1839            !Ty->isAnyPointerType()) ||
 1840           !Ty->isScalarType() ||
 1847   if (IsByRef && Ty.getNonReferenceType()->isScalarType()) {
 2058       if (D->getType()->isScalarType() &&
 2435     if (QType->isDependentType() || QType->isInstantiationDependentType()) {
 2435     if (QType->isDependentType() || QType->isInstantiationDependentType()) {
 2450     if (VD->getType()->isReferenceType()) {
 2858                   VD->getType().getNonReferenceType()->getAsCXXRecordDecl())
 2862               (VD->getType().getNonReferenceType()->isScalarType() &&
 3557       Ref->getType()->isPointerType()) {
 3604                              ->getAsCXXRecordDecl()) {
 4927                    CanonPVD->getType()->hasIntegerRepresentation()) {
 5075       !ER.get()->IgnoreParenImpCasts()->getType()->isFunctionType()) {
 5428   return LCDecl->getType()->isDependentType() ||
 5501     bool IsUnsigned = !NewStep->getType()->hasSignedIntegerRepresentation();
 5558     if (Data.first && VD->getType()->isRecordType()) {
 5682         if (Var->hasInit() && !Var->getType()->isReferenceType()) {
 5950   if (VarType->isIntegerType() || VarType->isPointerType() ||
 5950   if (VarType->isIntegerType() || VarType->isPointerType() ||
 6124     if (!Diff.isUsable() && VarType->getAsCXXRecordDecl()) {
 6165   bool UseVarType = VarType->hasIntegerRepresentation() &&
 6167   if (!Type->isIntegerType() || UseVarType) {
 6170     bool IsSigned = UseVarType ? VarType->hasSignedIntegerRepresentation()
 6171                                : Type->hasSignedIntegerRepresentation();
 6189           NewSize, Type->hasSignedIntegerRepresentation() ||
 6207   if (LCDecl->getType()->isRecordType())
 6273   if (!VarType->isAnyPointerType() &&
 6277   } else if (VarType->isAnyPointerType() &&
 6422   if (VarType->isIntegerType() || VarType->isPointerType() ||
 6422   if (VarType->isIntegerType() || VarType->isPointerType() ||
 6436     if (!Diff.isUsable() && VarType->getAsCXXRecordDecl()) {
 6606     if (!VarType->isDependentType() && !VarType->isIntegerType() &&
 6606     if (!VarType->isDependentType() && !VarType->isIntegerType() &&
 6607         !VarType->isPointerType() &&
 6608         !(SemaRef.getLangOpts().CPlusPlus && VarType->isOverloadableType())) {
 6784   if (VarRef.get()->getType()->isOverloadableType() ||
 6785       NewStart.get()->getType()->isOverloadableType() ||
 6786       Update.get()->getType()->isOverloadableType()) {
 7087             LastIteration32.get()->getType()->hasSignedIntegerRepresentation(),
 7259       RealVType->hasUnsignedIntegerRepresentation() &&
 8340     if (AtomicBody->getType()->isScalarType() ||
 8498         if ((X->isInstantiationDependent() || X->getType()->isScalarType()) &&
 8499             (V->isInstantiationDependent() || V->getType()->isScalarType())) {
 8511               (X->isInstantiationDependent() || X->getType()->isScalarType())
 8561         if ((X->isInstantiationDependent() || X->getType()->isScalarType()) &&
 8562             (E->isInstantiationDependent() || E->getType()->isScalarType())) {
 8573               (X->isInstantiationDependent() || X->getType()->isScalarType())
11061              << ConvTy->isEnumeralType() << ConvTy;
11070              << ConvTy->isEnumeralType() << ConvTy;
12070     if (!Type->isAnyPointerType() && Type->isVariablyModifiedType() &&
12070     if (!Type->isAnyPointerType() && Type->isVariablyModifiedType() &&
12356     if (!Type->isAnyPointerType() && Type->isVariablyModifiedType() &&
12356     if (!Type->isAnyPointerType() && Type->isVariablyModifiedType() &&
12383     if (Type->isArrayType()) {
12835   if (SemaRef.CurContext->isDependentContext() || Ty->isDependentType() ||
12836       Ty->isInstantiationDependentType() ||
12837       Ty->containsUnexpandedParameterPack() ||
12840                (D->getType()->isDependentType() ||
12841                 D->getType()->isInstantiationDependentType() ||
12842                 D->getType()->containsUnexpandedParameterPack());
12872   if (const auto *TyRec = Ty->getAs<RecordType>()) {
13194       if (const auto *ATy = BaseType->getAsArrayTypeUnsafe())
13197         Type = BaseType->getPointeeType();
13224         if (VD->getType()->isReferenceType() && VDDef && VDDef->hasInit()) {
13312           !(Type->isScalarType() ||
13313             (S.getLangOpts().CPlusPlus && Type->isArithmeticType()))) {
13326           !S.getLangOpts().CPlusPlus && Type->isFloatingType()) {
13367          D->getType().getNonReferenceType()->isVariablyModifiedType())) {
13415         if (Type->isScalarType() || Type->isAnyComplexType())
13415         if (Type->isScalarType() || Type->isAnyComplexType())
13420         if (Type->isScalarType() || Type->isAnyComplexType()) {
13420         if (Type->isScalarType() || Type->isAnyComplexType()) {
13428         if (auto *ComplexTy = OrigType->getAs<ComplexType>())
13430         if (Type->isRealFloatingType()) {
13436         } else if (Type->isScalarType()) {
13442         if (Init && OrigType->isAnyComplexType()) {
13456         if (Type->isIntegerType() || Type->isPointerType()) {
13456         if (Type->isIntegerType() || Type->isPointerType()) {
13457           bool IsSigned = Type->hasSignedIntegerRepresentation();
13467           if (Type->isPointerType()) {
13475         } else if (Type->isRealFloatingType()) {
13761       !Type->isReferenceType()) {
14141     if (Type->isDependentType() || Type->isInstantiationDependentType()) {
14141     if (Type->isDependentType() || Type->isInstantiationDependentType()) {
14259     if (!Type->isAnyPointerType() && Type->isVariablyModifiedType()) {
14259     if (!Type->isAnyPointerType() && Type->isVariablyModifiedType()) {
14447            !ASE->getBase()->getType().getNonReferenceType()->isPointerType() &&
14448            !ASE->getBase()->getType().getNonReferenceType()->isArrayType())) {
14519   if (QTy->isIncompleteType(&ND)) {
14569   if (BaseQTy->isPointerType())
14734       if (CurType->isUnionType()) {
14758       if (!E->getType()->isAnyPointerType() && !E->getType()->isArrayType()) {
14758       if (!E->getType()->isAnyPointerType() && !E->getType()->isArrayType()) {
14799       if (CurType->isReferenceType())
14800         CurType = CurType->getPointeeType();
14802       bool IsPointer = CurType->isAnyPointerType();
14804       if (!IsPointer && !CurType->isArrayType()) {
14962           if (Type.isNull() || Type->isAnyPointerType() ||
15014         if (DerivedType->isAnyPointerType()) {
15058                                      ->isAnyPointerType()) {
15124   if (Type->isArrayType()) {
15125     assert(Type->getAsArrayTypeUnsafe() && "Expect to get a valid array type");
15126     Type = Type->getAsArrayTypeUnsafe()->getElementType().getCanonicalType();
15154   if (SemaRef.CurContext->isDependentContext() || Type->isDependentType() ||
15155       Type->isInstantiationDependentType() ||
15156       Type->containsUnexpandedParameterPack() ||
15159                (D->getType()->isDependentType() ||
15160                 D->getType()->isInstantiationDependentType() ||
15161                 D->getType()->containsUnexpandedParameterPack());
15177   if (!Type->isStructureOrClassType() && !Type->isUnionType() &&
15177   if (!Type->isStructureOrClassType() && !Type->isUnionType() &&
15563   if (ReductionType->isFunctionType()) {
15567   if (ReductionType->isReferenceType()) {
15571   if (ReductionType->isArrayType()) {
15826   if (!MapperType->isStructureOrClassType() && !MapperType->isUnionType()) {
15826   if (!MapperType->isStructureOrClassType() && !MapperType->isUnionType()) {
16328     if ((E || !VD->getType()->isIncompleteType()) &&
16412     if (!Type->isPointerType()) {
16488     if (!Type.getNonReferenceType()->isPointerType() &&
16489         !Type.getNonReferenceType()->isArrayType()) {
tools/clang/lib/Sema/SemaOverload.cpp
   63   if (auto *FPT = Fn->getType()->getAs<FunctionProtoType>())
  223   if (getToType(1)->isBooleanType() &&
  224       (getFromType()->isPointerType() ||
  225        getFromType()->isMemberPointerType() ||
  226        getFromType()->isObjCObjectPointerType() ||
  227        getFromType()->isBlockPointerType() ||
  228        getFromType()->isNullPtrType() ||
  251   if (Second == ICK_Pointer_Conversion && FromType->isAnyPointerType())
  252     if (const PointerType* ToPtrType = ToType->getAs<PointerType>())
  253       return ToPtrType->getPointeeType()->isVoidType();
  316   if (auto *ET = ToType->getAs<EnumType>())
  322     if (FromType->isRealFloatingType())
  324     if (FromType->isIntegralOrUnscopedEnumerationType())
  338     if (FromType->isRealFloatingType() && ToType->isIntegralType(Ctx)) {
  338     if (FromType->isRealFloatingType() && ToType->isIntegralType(Ctx)) {
  340     } else if (FromType->isIntegralOrUnscopedEnumerationType() &&
  341                ToType->isRealFloatingType()) {
  380     if (FromType->isRealFloatingType() && ToType->isRealFloatingType() &&
  380     if (FromType->isRealFloatingType() && ToType->isRealFloatingType() &&
  417     assert(FromType->isIntegralOrUnscopedEnumerationType());
  418     assert(ToType->isIntegralOrUnscopedEnumerationType());
  419     const bool FromSigned = FromType->isSignedIntegerOrEnumerationType();
  421     const bool ToSigned = ToType->isSignedIntegerOrEnumerationType();
  922   if (const BuiltinType *placeholder =  E->getType()->getAsPlaceholderType()) {
 1090       !New->getType()->isDependentType()) {
 1397   if (ToType->getAs<RecordType>() && FromType->getAs<RecordType>() &&
 1397   if (ToType->getAs<RecordType>() && FromType->getAs<RecordType>() &&
 1556       FromFn = QT->getAs<FunctionType>();
 1580   if (!ToType->isVectorType() && !FromType->isVectorType())
 1580   if (!ToType->isVectorType() && !FromType->isVectorType())
 1588   if (ToType->isExtVectorType()) {
 1591     if (FromType->isExtVectorType())
 1595     if (FromType->isArithmeticType()) {
 1605   if (ToType->isVectorType() && FromType->isVectorType()) {
 1605   if (ToType->isVectorType() && FromType->isVectorType()) {
 1645       (FromType->isRecordType() || ToType->isRecordType()))
 1645       (FromType->isRecordType() || ToType->isRecordType()))
 1671           if (!ToType->isBooleanType())
 1711       !FromType->isFunctionType() && !FromType->isArrayType() &&
 1711       !FromType->isFunctionType() && !FromType->isArrayType() &&
 1718     if (const AtomicType *Atomic = FromType->getAs<AtomicType>())
 1726   } else if (FromType->isArrayType()) {
 1749   } else if (FromType->isFunctionType() && argIsLValue) {
 1792   } else if (ToType->isBooleanType() &&
 1793              (FromType->isArithmeticType() ||
 1794               FromType->isAnyPointerType() ||
 1795               FromType->isBlockPointerType() ||
 1796               FromType->isMemberPointerType() ||
 1797               FromType->isNullPtrType())) {
 1801   } else if (FromType->isIntegralOrUnscopedEnumerationType() &&
 1802              ToType->isIntegralType(S.Context)) {
 1806   } else if (FromType->isAnyComplexType() && ToType->isAnyComplexType()) {
 1806   } else if (FromType->isAnyComplexType() && ToType->isAnyComplexType()) {
 1810   } else if ((FromType->isAnyComplexType() && ToType->isArithmeticType()) ||
 1810   } else if ((FromType->isAnyComplexType() && ToType->isArithmeticType()) ||
 1811              (ToType->isAnyComplexType() && FromType->isArithmeticType())) {
 1811              (ToType->isAnyComplexType() && FromType->isArithmeticType())) {
 1815   } else if (FromType->isRealFloatingType() && ToType->isRealFloatingType()) {
 1815   } else if (FromType->isRealFloatingType() && ToType->isRealFloatingType()) {
 1833   } else if ((FromType->isRealFloatingType() &&
 1834               ToType->isIntegralType(S.Context)) ||
 1835              (FromType->isIntegralOrUnscopedEnumerationType() &&
 1836               ToType->isRealFloatingType())) {
 1873   } else if (ToType->isEventT() &&
 1878   } else if (ToType->isQueueT() &&
 1883   } else if (ToType->isSamplerT() &&
 1978   const RecordType *UT = ToType->getAsUnionType();
 1999   const BuiltinType *To = ToType->getAs<BuiltinType>();
 2010   if (FromType->isPromotableIntegerType() && !FromType->isBooleanType() &&
 2010   if (FromType->isPromotableIntegerType() && !FromType->isBooleanType() &&
 2011       !FromType->isEnumeralType()) {
 2013         (FromType->isSignedIntegerType() ||
 2041   if (const EnumType *FromEnumType = FromType->getAs<EnumType>()) {
 2058     if (ToType->isIntegerType() &&
 2081   if (FromType->isAnyCharacterType() && !FromType->isCharType() &&
 2081   if (FromType->isAnyCharacterType() && !FromType->isCharType() &&
 2082       ToType->isIntegerType()) {
 2085     bool FromIsSigned = FromType->isSignedIntegerType();
 2099            FromIsSigned == PromoteTypes[Idx]->isSignedIntegerType())) {
 2125       if (FromType->isIntegralType(Context) &&
 2132             (FromType->isSignedIntegerType() && BitWidth <= ToSize)) {
 2138         if (FromType->isUnsignedIntegerType() && BitWidth <= ToSize) {
 2149   if (FromType->isBooleanType() && To->getKind() == BuiltinType::Int) {
 2160   if (const BuiltinType *FromBuiltin = FromType->getAs<BuiltinType>())
 2161     if (const BuiltinType *ToBuiltin = ToType->getAs<BuiltinType>()) {
 2194   const ComplexType *FromComplex = FromType->getAs<ComplexType>();
 2198   const ComplexType *ToComplex = ToType->getAs<ComplexType>();
 2224   if (ToType->isObjCIdType() || ToType->isObjCQualifiedIdType())
 2224   if (ToType->isObjCIdType() || ToType->isObjCQualifiedIdType())
 2263       Expr->getType()->isIntegerType() && !Expr->getType()->isEnumeralType())
 2263       Expr->getType()->isIntegerType() && !Expr->getType()->isEnumeralType())
 2297   if (ToType->isObjCObjectPointerType() &&
 2304   if (FromType->isBlockPointerType() && ToType->isPointerType() &&
 2304   if (FromType->isBlockPointerType() && ToType->isPointerType() &&
 2305       ToType->castAs<PointerType>()->getPointeeType()->isVoidType()) {
 2305       ToType->castAs<PointerType>()->getPointeeType()->isVoidType()) {
 2311   if (ToType->isBlockPointerType() &&
 2319   if (ToType->isNullPtrType() &&
 2325   const PointerType* ToTypePtr = ToType->getAs<PointerType>();
 2338   if (FromType->isObjCObjectPointerType() && ToPointeeType->isVoidType() &&
 2338   if (FromType->isObjCObjectPointerType() && ToPointeeType->isVoidType() &&
 2341                                       FromType->getAs<ObjCObjectPointerType>(),
 2346   const PointerType *FromTypePtr = FromType->getAs<PointerType>();
 2360   if (FromPointeeType->isIncompleteOrObjectType() &&
 2361       ToPointeeType->isVoidType()) {
 2370   if (getLangOpts().MSVCCompat && FromPointeeType->isFunctionType() &&
 2371       ToPointeeType->isVoidType()) {
 2401   if (getLangOpts().CPlusPlus && FromPointeeType->isRecordType() &&
 2402       ToPointeeType->isRecordType() &&
 2411   if (FromPointeeType->isVectorType() && ToPointeeType->isVectorType() &&
 2411   if (FromPointeeType->isVectorType() && ToPointeeType->isVectorType() &&
 2450     ToType->getAs<ObjCObjectPointerType>();
 2452     FromType->getAs<ObjCObjectPointerType>();
 2490   if (const PointerType *ToCPtr = ToType->getAs<PointerType>())
 2493             ToType->getAs<BlockPointerType>()) {
 2502   else if (FromType->getAs<BlockPointerType>() &&
 2513   if (const PointerType *FromCPtr = FromType->getAs<PointerType>())
 2516            FromType->getAs<BlockPointerType>())
 2523   if (FromPointeeType->isPointerType() && ToPointeeType->isPointerType() &&
 2523   if (FromPointeeType->isPointerType() && ToPointeeType->isPointerType() &&
 2534   if (FromPointeeType->getAs<ObjCObjectPointerType>() &&
 2535       ToPointeeType->getAs<ObjCObjectPointerType>() &&
 2549     = FromPointeeType->getAs<FunctionProtoType>();
 2551     = ToPointeeType->getAs<FunctionProtoType>();
 2627   if (const PointerType *ToPointer = ToType->getAs<PointerType>())
 2633   if (!ToPointee->isObjCLifetimeType() ||
 2640   if (const PointerType *FromPointer = FromType->getAs<PointerType>())
 2646   if (!FromPointee->isObjCLifetimeType() ||
 2681         ToType->getAs<BlockPointerType>())
 2688       FromType->getAs<BlockPointerType>())
 2697     = FromPointeeType->getAs<FunctionProtoType>();
 2699     = ToPointeeType->getAs<FunctionProtoType>();
 2725     if ((!getLangOpts().CPlusPlus || !RHS->isRecordType()) &&
 2783   if (auto *FPT = FromType->getAs<FunctionProtoType>())
 2786   if (auto *MPT = FromType->getAs<MemberPointerType>())
 2787     return MPT->getPointeeType()->getAs<FunctionProtoType>();
 2804   if (FromType->isMemberPointerType() && ToType->isMemberPointerType()) {
 2804   if (FromType->isMemberPointerType() && ToType->isMemberPointerType()) {
 2805     const MemberPointerType *FromMember = FromType->getAs<MemberPointerType>(),
 2806                             *ToMember = ToType->getAs<MemberPointerType>();
 2816   if (FromType->isPointerType())
 2817     FromType = FromType->getPointeeType();
 2818   if (ToType->isPointerType())
 2819     ToType = ToType->getPointeeType();
 2826   if (FromType->isInstantiationDependentType() &&
 2827       !FromType->getAs<TemplateSpecializationType>()) {
 2927   if (Diagnose && !IsCStyleOrFunctionalCast && !FromType->isAnyPointerType() &&
 2938   if (const PointerType *ToPtrType = ToType->getAs<PointerType>()) {
 2939     if (const PointerType *FromPtrType = FromType->getAs<PointerType>()) {
 2943       if (FromPointeeType->isRecordType() && ToPointeeType->isRecordType() &&
 2943       if (FromPointeeType->isRecordType() && ToPointeeType->isRecordType() &&
 2964           FromPointeeType->isFunctionType() && ToPointeeType->isVoidType()) {
 2964           FromPointeeType->isFunctionType() && ToPointeeType->isVoidType()) {
 2972                ToType->getAs<ObjCObjectPointerType>()) {
 2974           FromType->getAs<ObjCObjectPointerType>()) {
 2980     } else if (FromType->isBlockPointerType()) {
 2985   } else if (ToType->isBlockPointerType()) {
 2986     if (!FromType->isBlockPointerType())
 3007   const MemberPointerType *ToTypePtr = ToType->getAs<MemberPointerType>();
 3020   const MemberPointerType *FromTypePtr = FromType->getAs<MemberPointerType>();
 3050   const MemberPointerType *FromPtrType = FromType->getAs<MemberPointerType>();
 3060   const MemberPointerType *ToPtrType = ToType->getAs<MemberPointerType>();
 3068   assert(FromClass->isRecordType() && "Pointer into non-class.");
 3069   assert(ToClass->isRecordType() && "Pointer into non-class.");
 3154     if (ToType.getUnqualifiedType()->isVoidType())
 3223   const AtomicType *ToAtomic = ToType->getAs<AtomicType>();
 3246       Constructor->getType()->getAs<FunctionProtoType>();
 3304     User.After.setFromType(ThisType->castAs<PointerType>()->getPointeeType());
 3346   if (const RecordType *ToRecordType = ToType->getAs<RecordType>()) {
 3356         (From->getType()->getAs<RecordType>() &&
 3430                  From->getType()->getAs<RecordType>()) {
 3495       User.After.setFromType(ThisType->castAs<PointerType>()->getPointeeType());
 3594     bool Block1 = Conv1->getConversionType()->isBlockPointerType();
 3595     bool Block2 = Conv2->getConversionType()->isBlockPointerType();
 3804   if (!FromType->isEnumeralType())
 3807   EnumDecl *Enum = FromType->getAs<EnumType>()->getDecl();
 3909     QualType FromPointee1 = FromType1->getPointeeType().getUnqualifiedType();
 3910     QualType FromPointee2 = FromType2->getPointeeType().getUnqualifiedType();
 3920       = FromType1->getAs<ObjCObjectPointerType>();
 3922       = FromType2->getAs<ObjCObjectPointerType>();
 4180       FromType1->isPointerType() && FromType2->isPointerType() &&
 4180       FromType1->isPointerType() && FromType2->isPointerType() &&
 4181       ToType1->isPointerType() && ToType2->isPointerType()) {
 4181       ToType1->isPointerType() && ToType2->isPointerType()) {
 4183         FromType1->castAs<PointerType>()->getPointeeType().getUnqualifiedType();
 4185         ToType1->castAs<PointerType>()->getPointeeType().getUnqualifiedType();
 4187         FromType2->castAs<PointerType>()->getPointeeType().getUnqualifiedType();
 4189         ToType2->castAs<PointerType>()->getPointeeType().getUnqualifiedType();
 4209       = FromType1->getAs<ObjCObjectPointerType>();
 4211       = FromType2->getAs<ObjCObjectPointerType>();
 4213       = ToType1->getAs<ObjCObjectPointerType>();
 4215       = ToType2->getAs<ObjCObjectPointerType>();
 4294       FromType1->isMemberPointerType() && FromType2->isMemberPointerType() &&
 4294       FromType1->isMemberPointerType() && FromType2->isMemberPointerType() &&
 4295       ToType1->isMemberPointerType() && ToType2->isMemberPointerType()) {
 4295       ToType1->isMemberPointerType() && ToType2->isMemberPointerType()) {
 4297                                         FromType1->getAs<MemberPointerType>();
 4299                                           ToType1->getAs<MemberPointerType>();
 4301                                           FromType2->getAs<MemberPointerType>();
 4303                                           ToType2->getAs<MemberPointerType>();
 4360   if (CXXRecordDecl *Record = T->getAsCXXRecordDecl())
 4380   assert(!OrigT1->isReferenceType() &&
 4382   assert(!OrigT2->isReferenceType() && "T2 cannot be a reference type");
 4404   else if (UnqualT1->isObjCObjectOrInterfaceType() &&
 4405            UnqualT2->isObjCObjectOrInterfaceType() &&
 4408   else if (UnqualT2->isFunctionType() &&
 4469   assert(T2->isRecordType() && "Can only find conversions of record types.");
 4471     = dyn_cast<CXXRecordDecl>(T2->castAs<RecordType>()->getDecl());
 4503       if (!ConvTemplate && DeclType->isRValueReferenceType()) {
 4505           = Conv->getConversionType()->getAs<LValueReferenceType>();
 4506         if (RefType && !RefType->getPointeeType()->isFunctionType())
 4526         Conv->getConversionType()->getAs<ReferenceType>();
 4529            !RefType->getPointeeType()->isFunctionType()))
 4598   assert(DeclType->isReferenceType() && "Reference init needs a reference");
 4604   QualType T1 = DeclType->castAs<ReferenceType>()->getPointeeType();
 4618   bool isRValRef = DeclType->isRValueReferenceType();
 4659       ICS.Standard.BindsToFunctionLvalue = T2->isFunctionType();
 4680     if (!SuppressUserConversions && T2->isRecordType() &&
 4702        (InitCategory.isPRValue() && (T2->isRecordType() || T2->isArrayType())) ||
 4702        (InitCategory.isPRValue() && (T2->isRecordType() || T2->isArrayType())) ||
 4703        (InitCategory.isLValue() && T2->isFunctionType()))) {
 4722       !(InitCategory.isPRValue() || T2->isRecordType());
 4724     ICS.Standard.BindsToFunctionLvalue = T2->isFunctionType();
 4744       T2->isRecordType() && S.isCompleteType(DeclLoc, T2) &&
 4760   if (T1->isFunctionType())
 4797       (T1->isRecordType() || T2->isRecordType()))
 4797       (T1->isRecordType() || T2->isRecordType()))
 4834             ->getAs<LValueReferenceType>();
 4842     if (DeclType->isRValueReferenceType() && LValRefType) {
 4898     if (ToType->isRecordType()) {
 4909     if (ToType->isArrayType()) {
 4940   if (ToType->isArrayType())
 4983   if (ToType->isRecordType() && !ToType->isAggregateType()) {
 4983   if (ToType->isRecordType() && !ToType->isAggregateType()) {
 4997   if (ToType->isAggregateType()) {
 5023   if (ToType->isReferenceType()) {
 5028     QualType T1 = ToType->castAs<ReferenceType>()->getPointeeType();
 5074     if (ToType->isRValueReferenceType() ||
 5079       SCS.IsLvalueReference = ToType->isLValueReferenceType();
 5093   if (!ToType->isRecordType()) {
 5136   if (ToType->isReferenceType())
 5186   if (const PointerType *PT = FromType->getAs<PointerType>()) {
 5194   assert(FromType->isRecordType());
 5299     Method->getThisType()->castAs<PointerType>()->getPointeeType();
 5302   if (const PointerType *PT = From->getType()->getAs<PointerType>()) {
 5435     return SCS.getFromType()->isIntegralOrUnscopedEnumerationType() &&
 5436            SCS.getToType(2)->isBooleanType();
 5442     return SCS.getFromType()->isNullPtrType();
 5629   assert(T->isIntegralOrEnumerationType() && "unexpected converted const type");
 5703   return AllowScopedEnumerations ? T->isIntegralOrEnumerationType()
 5704                                  : T->isIntegralOrUnscopedEnumerationType();
 5875   const RecordType *RecordTy = T->getAs<RecordType>();
 6046   if (T1->isDependentType() || (!T2.isNull() && T2->isDependentType()))
 6046   if (T1->isDependentType() || (!T2.isNull() && T2->isDependentType()))
 6049   if (T1->isRecordType() || (!T2.isNull() && T2->isRecordType()))
 6049   if (T1->isRecordType() || (!T2.isNull() && T2->isRecordType()))
 6052   const FunctionProtoType *Proto = Fn->getType()->getAs<FunctionProtoType>();
 6056   if (T1->isEnumeralType()) {
 6065   if (!T2.isNull() && T2->isEnumeralType()) {
 6089     = dyn_cast<FunctionProtoType>(Function->getType()->getAs<FunctionType>());
 6182         Constructor->getParamDecl(0)->getType()->isReferenceType()) {
 6183       QualType P = Constructor->getParamDecl(0)->getType()->getPointeeType();
 6378           if (ReturnT->isObjCIdType())
 6586           if (!ObjectType.isNull() && ObjectType->isPointerType())
 6676     = dyn_cast<FunctionProtoType>(Method->getType()->getAs<FunctionType>());
 6979     if (!ParamType->isDependentType()) {
 7056   if (getLangOpts().CPlusPlus14 && ConvType->isUndeducedType()) {
 7100   if (const PointerType *FromPtrType = ImplicitParamType->getAs<PointerType>())
 7103     = cast<CXXRecordDecl>(ImplicitParamType->castAs<RecordType>()->getDecl());
 7187     if (ToType->isRValueReferenceType() &&
 7449   if (const RecordType *T1Rec = T1->getAs<RecordType>()) {
 7645   const PointerType *PointerTy = Ty->getAs<PointerType>();
 7648     const ObjCObjectPointerType *PTy = Ty->castAs<ObjCObjectPointerType>();
 7659   if (PointeeTy->isArrayType())
 7676          (!(PointeeTy->isAnyPointerType() || PointeeTy->isReferenceType()))))
 7676          (!(PointeeTy->isAnyPointerType() || PointeeTy->isReferenceType()))))
 7712   const MemberPointerType *PointerTy = Ty->getAs<MemberPointerType>();
 7720   if (PointeeTy->isArrayType())
 7757   if (const ReferenceType *RefTy = Ty->getAs<ReferenceType>())
 7761   if (Ty->isArrayType())
 7768   const RecordType *TyRec = Ty->getAs<RecordType>();
 7773     HasArithmeticOrEnumeralTypes || Ty->isArithmeticType();
 7775   if (Ty->isObjCIdType() || Ty->isObjCClassType())
 7775   if (Ty->isObjCIdType() || Ty->isObjCClassType())
 7777   else if (Ty->getAs<PointerType>() || Ty->getAs<ObjCObjectPointerType>()) {
 7777   else if (Ty->getAs<PointerType>() || Ty->getAs<ObjCObjectPointerType>()) {
 7782   } else if (Ty->isMemberPointerType()) {
 7786   } else if (Ty->isEnumeralType()) {
 7789   } else if (Ty->isVectorType()) {
 7794   } else if (Ty->isNullPtrType()) {
 7859         ArgExpr->getType()->getAs<MemberPointerType>())
 7862       TyRec = ArgExpr->getType()->getAs<RecordType>();
 7879         if (const ReferenceType *ResTypeRef = CanTy->getAs<ReferenceType>())
 7887           if (const PointerType *ResTypePtr = CanTy->getAs<PointerType>())
 7890                 CanTy->getAs<MemberPointerType>())
 8003     if (HasRestrict && CandidateTy->isAnyPointerType() &&
 8093       if (!(*Ptr)->getPointeeType()->isObjectType())
 8093       if (!(*Ptr)->getPointeeType()->isObjectType())
 8120       QualType PointeeTy = ParamTy->getPointeeType();
 8121       if (!PointeeTy->isObjectType() && !PointeeTy->isFunctionType())
 8121       if (!PointeeTy->isObjectType() && !PointeeTy->isFunctionType())
 8124       if (const FunctionProtoType *Proto =PointeeTy->getAs<FunctionProtoType>())
 8284           if (!FirstParamType->isEnumeralType() ||
 8285               !SecondParamType->isEnumeralType())
 8359         QualType PointeeTy = (*Ptr)->getPointeeType();
 8360         if (!PointeeTy->isObjectType())
 8565       else if (!(*Ptr)->getPointeeType()->isObjectType())
 8565       else if (!(*Ptr)->getPointeeType()->isObjectType())
 8796       QualType PointeeType = (*Ptr)->getPointeeType();
 8797       if (!PointeeType->isObjectType())
 8809       QualType PointeeType = (*Ptr)->getPointeeType();
 8810       if (!PointeeType->isObjectType())
 8835       C1 = QualType(Q1.strip(C1Ty->getPointeeType()), 0);
 8911           if (!(*Enum)->castAs<EnumType>()->getDecl()->isScoped())
10048   if (const PointerType *PTy = TempFromTy->getAs<PointerType>())
10050   if (TempFromTy->isIncompleteType()) {
10064   if (const PointerType *FromPtrTy = FromTy->getAs<PointerType>()) {
10065     if (const PointerType *ToPtrTy = ToTy->getAs<PointerType>()) {
10068           !FromPtrTy->getPointeeType()->isIncompleteType() &&
10069           !ToPtrTy->getPointeeType()->isIncompleteType() &&
10075                                     = FromTy->getAs<ObjCObjectPointerType>()) {
10077                                         = ToTy->getAs<ObjCObjectPointerType>())
10084   } else if (const ReferenceType *ToRefTy = ToTy->getAs<ReferenceType>()) {
10086         !FromTy->isIncompleteType() &&
10087         !ToRefTy->getPointeeType()->isIncompleteType() &&
10090     } else if (ToTy->isLValueReferenceType() && !FromExpr->isLValue() &&
10186   const FunctionProtoType *FnTy = Fn->getType()->getAs<FunctionProtoType>();
10543               Meth->getParamDecl(0)->getType()->getAs<ReferenceType>()) {
10701       << Fn->getParamDecl(0)->getType()->isRValueReferenceType();
10726         FnType->getAs<LValueReferenceType>()) {
10730                FnType->getAs<RValueReferenceType>()) {
10734   if (const PointerType *FnTypePtr = FnType->getAs<PointerType>()) {
10739   FnType = QualType(FnType->getAs<FunctionType>(), 0);
10992     if (const PointerType *ConvPtrType = ConvType->getAs<PointerType>())
10994     ParamTypes = ConvType->castAs<FunctionProtoType>()->getParamTypes();
10999         Cand->Function->getType()->castAs<FunctionProtoType>()->getParamTypes();
11022       if (ParamTypes[ParamIdx]->isDependentType())
11258     PossiblyAFunctionType->getAs<PointerType>())
11261     PossiblyAFunctionType->getAs<ReferenceType>())
11264     PossiblyAFunctionType->getAs<MemberPointerType>())
11273   if (S.getLangOpts().CPlusPlus14 && FD->getReturnType()->isUndeducedType() &&
11277   auto *FPT = FD->getType()->castAs<FunctionProtoType>();
11316             !!TargetType->getAs<MemberPointerType>()),
11325     if (TargetFunctionType->isFunctionType()) {
11416     return TargetFunctionType->isFunctionType();
11724     if (auto *FPT = Fn->getType()->getAs<FunctionProtoType>())
11800   if (DoFunctionPointerConverion && Fixed->getType()->isFunctionType())
11994     if (!dyn_cast<FunctionProtoType>(Func->getType()->getAs<FunctionType>()))
12415       if (!Arg->getType()->isFunctionType())
12650                             FnDecl->getType()->castAs<FunctionProtoType>()))
12781   if (Opc == BO_Assign && !Args[0]->getType()->isOverloadableType())
12872             !FnDecl->getReturnType()->isBooleanType()) {
13059       if (Args[0]->getType()->isRecordType() &&
13064         if (Args[0]->getType()->isIncompleteType()) {
13234                               Method->getType()->castAs<FunctionProtoType>()))
13321       op->getRHS()->getType()->castAs<MemberPointerType>()->getPointeeType();
13323     const FunctionProtoType *proto = fnType->castAs<FunctionProtoType>();
13333       objectType = objectType->castAs<PointerType>()->getPointeeType();
13503   const auto *Proto = Method->getType()->getAs<FunctionProtoType>();
13598   assert(Object.get()->getType()->isRecordType() &&
13600   const RecordType *Record = Object.get()->getType()->getAs<RecordType>();
13663       if (const PointerType *ConvPtrType = ConvType->getAs<PointerType>())
13666       if (const FunctionProtoType *Proto = ConvType->getAs<FunctionProtoType>())
13765     Method->getType()->getAs<FunctionProtoType>();
13870   assert(Base->getType()->isRecordType() &&
13887   const RecordType *BaseRecord = Base->getType()->getAs<RecordType>();
13924       if (BaseType->isRecordType() && !BaseType->isPointerType()) {
13924       if (BaseType->isRecordType() && !BaseType->isPointerType()) {
13977                         Method->getType()->castAs<FunctionProtoType>()))
14238   if (auto *FPT = Fn->getType()->getAs<FunctionProtoType>())
tools/clang/lib/Sema/SemaPseudoObject.cpp
  242       assert(!ty->isIncompleteType());
  243       assert(!ty->isDependentType());
  245       if (const CXXRecordDecl *ClassDecl = ty->getAsCXXRecordDecl())
  486   if (!captureSetValueAsResult() && !result.get()->getType()->isVoidType() &&
  535       !result.get()->getType()->isVoidType() &&
  541       !resultType->isDependentType()
  559       PRE->getBase()->getType()->castAs<ObjCObjectPointerType>();
  578         PRE->getSuperReceiverType()->getAs<ObjCObjectPointerType>())
  776   if (!S.getLangOpts().CPlusPlus || !op->getType()->isRecordType()) {
  782     if (!S.getLangOpts().CPlusPlus || !paramType->isRecordType()) {
  850     if (result.get()->getType()->isObjCIdType()) {
  852             = propType->getAs<ObjCObjectPointerType>()) {
  884   if (!resultType->isLValueReferenceType()) return false;
 1056   if (T->isIntegralOrEnumerationType())
 1061   const RecordType *RecordTy = T->getAs<RecordType>();
 1063       (T->isObjCObjectPointerType() || T->isVoidPointerType()))
 1063       (T->isObjCObjectPointerType() || T->isVoidPointerType()))
 1095       if (CT->isIntegralOrEnumerationType()) {
 1099       else if (CT->isObjCIdType() ||CT->isBlockPointerType()) {
 1099       else if (CT->isObjCIdType() ||CT->isBlockPointerType()) {
 1154       BaseT->getAs<ObjCObjectPointerType>()) {
 1216     if (!BaseT->isObjCIdType()) {
 1229     if ((arrayRef && !T->isIntegralOrEnumerationType()) ||
 1230         (!arrayRef && !T->isObjCObjectPointerType())) {
 1239     if (!R->isObjCObjectPointerType()) {
 1258       BaseT->getAs<ObjCObjectPointerType>()) {
 1331     if (!BaseT->isObjCIdType()) {
 1346     if (!T->isIntegralOrEnumerationType()) {
 1354     if (!T->isObjCObjectPointerType()) {
 1365       if (!T->isObjCObjectPointerType()) {
 1599   if (RHS->getType()->isNonOverloadPlaceholderType()) {
tools/clang/lib/Sema/SemaStmt.cpp
  282     if (E->getType()->isVoidType())
  314     if (const TagDecl *TD = ILE->getType()->getAsTagDecl()) {
  349       if (const CXXRecordDecl *RD = CE->getType()->getAsCXXRecordDecl())
  444     if (CondType->isDependentType() || E->isTypeDependent())
  690         << ConvTy->isEnumeralType() << ConvTy;
  701       << ConvTy->isEnumeralType() << ConvTy;
  719       !Cond->getType()->isIntegralOrEnumerationType())
  736     assert(CondExpr->getType()->isIntegralOrEnumerationType() &&
  825   const EnumType *CondEnumType = CondType->getAs<EnumType>();
  826   const EnumType *CaseEnumType = CaseType->getAs<EnumType>();
  880   bool CondIsSigned = CondType->isSignedIntegerOrEnumerationType();
  889     = CondTypeBeforePromotion->isSignedIntegerOrEnumerationType();
 1130     const EnumType *ET = CondTypeBeforePromotion->getAs<EnumType>();
 1265   if (const EnumType *ET = DstType->getAs<EnumType>())
 1267         SrcType->isIntegerType()) {
 1272         bool DstIsSigned = DstType->isSignedIntegerOrEnumerationType();
 1848     collection->getType()->getAs<ObjCObjectPointerType>();
 1930       if (FirstType->getContainedAutoType()) {
 1964     if (!FirstType->isDependentType() &&
 1965         !FirstType->isObjCObjectPointerType() &&
 1966         !FirstType->isBlockPointerType())
 1987   if (Decl->getType()->isUndeducedType()) {
 1999   if ((!isa<InitListExpr>(Init) && Init->getType()->isVoidType()) ||
 2072           && Collection->getType()->getAs<ObjCObjectPointerType>() != nullptr;
 2233   if (CXXRecordDecl *D = RangeType->getAsCXXRecordDecl()) {
 2384                                     LoopVar->getType()->isUndeducedType());
 2390   if (RangeVarType->isDependentType()) {
 2437     if (const ArrayType *UnqAT = RangeType->getAsArrayTypeUnsafe()) {
 2545             if (PointerTy->isPointerType() && ArrayTy->isArrayType()) {
 2545             if (PointerTy->isPointerType() && ArrayTy->isArrayType()) {
 2751     ReturnsReference = ReturnType->isReferenceType();
 2839   if (VariableType->isIncompleteType())
 2846   if (VariableType->isReferenceType()) {
 2986   if (!ReturnType.isNull() && !ReturnType->isDependentType()) {
 2987     if (!ReturnType->isRecordType())
 2991     if (!(CESK & CES_AllowDifferentTypes) && !VDType->isDependentType() &&
 3019   if (!VD->getType()->isDependentType() && VD->hasAttr<AlignedAttr>() &&
 3077             FD->getParamDecl(0)->getType()->getAs<RValueReferenceType>();
 3186         if (QT->isLValueReferenceType()) {
 3230       FD->getTypeSourceInfo()->getType()->castAs<FunctionProtoType>();
 3231   return FPT->getReturnType()->isUndeducedType();
 3268     AutoType *AT = CurCap->ReturnType->getContainedAutoType();
 3314     if (CurBlock->FunctionType->castAs<FunctionType>()->getNoReturnAttr()) {
 3324             ->castAs<FunctionType>()
 3335   if (FnRetType->isDependentType()) {
 3338   } else if (FnRetType->isVoidType()) {
 3342            RetValExp->getType()->isVoidType()))) {
 3344           RetValExp->getType()->isVoidType())
 3497     if (!OrigResultType.getType()->getAs<AutoType>()) {
 3510     if (FD->hasAttr<CUDAGlobalAttr>() && !Deduced->isVoidType()) {
 3522     AutoType *NewAT = Deduced->getContainedAutoType();
 3621       FnRetType->getContainedAutoType()) {
 3636     if (AutoType *AT = FnRetType->getContainedAutoType()) {
 3647   bool HasDependentReturnType = FnRetType->isDependentType();
 3650   if (FnRetType->isVoidType()) {
 3674         if (RetValExp->getType()->isVoidType()) {
 3860     if (!ThrowType->isDependentType() &&
 3861         !ThrowType->isObjCObjectPointerType()) {
 3862       const PointerType *PT = ThrowType->getAs<PointerType>();
 3863       if (!PT || !PT->getPointeeType()->isVoidType())
 3899   if (!type->isDependentType() &&
 3900       !type->isObjCObjectPointerType()) {
 3901     const PointerType *pointerType = type->getAs<PointerType>();
 3902     if (!pointerType || !pointerType->getPointeeType()->isVoidType()) {
 3968     if (QT->isPointerType())
 3971     if (IsPointer || QT->isReferenceType())
 3972       QT = QT->getPointeeType();
 4109     if (auto *RD = Underlying->getAsCXXRecordDecl()) {
 4193   if(!FilterExpr->getType()->isIntegerType()) {
tools/clang/lib/Sema/SemaStmtAsm.cpp
  410       if (InputExpr->getType()->isVoidType()) {
  586     if (InTy->isIntegerType() || InTy->isPointerType())
  586     if (InTy->isIntegerType() || InTy->isPointerType())
  588     else if (InTy->isRealFloatingType())
  593     if (OutTy->isIntegerType() || OutTy->isPointerType())
  593     if (OutTy->isIntegerType() || OutTy->isPointerType())
  595     else if (OutTy->isRealFloatingType())
  646         (OutTy->isBooleanType() ? CK_IntegralToBoolean : CK_IntegralCast);
  702   if (T->isFunctionType() || T->isDependentType())
  702   if (T->isFunctionType() || T->isDependentType())
  749   if (T->isDependentType()) {
  754   if (T->isFunctionType()) {
  777       FoundDecl = PT->getPointeeType()->getAsTagDecl();
  791       RT = VD->getType()->getAs<RecordType>();
  796       if (const auto *PT = QT->getAs<PointerType>())
  798       RT = QT->getAs<RecordType>();
  802       RT = TD->getType()->getAs<RecordType>();
  839   if (T->isDependentType()) {
  849   const RecordType *RT = T->getAs<RecordType>();
tools/clang/lib/Sema/SemaTemplate.cpp
  347     IsDependent = !LookupCtx && ObjectType->isDependentType();
  348     assert((IsDependent || !ObjectType->isIncompleteType() ||
  349             ObjectType->castAs<TagType>()->isBeingDefined()) &&
  366     if (ObjectType->isObjCObjectOrInterfaceType() ||
  367         ObjectType->isVectorType()) {
  589     LookupCtx = ME->getBase()->getType()->getAsCXXRecordDecl();
 1046   if (TSI->getType()->isUndeducedType()) {
 1062   if (T->isVariablyModifiedType()) {
 1074   if (T->isIntegralOrEnumerationType() ||
 1076       T->isPointerType() ||
 1078       T->isReferenceType() ||
 1080       T->isMemberPointerType() ||
 1082       T->isNullPtrType() ||
 1084       T->isUndeducedType()) {
 1095   if (T->isArrayType() || T->isFunctionType())
 1095   if (T->isArrayType() || T->isFunctionType())
 1104   if (T->isDependentType())
 1174   if (TInfo->getType()->isUndeducedType()) {
 1177       << QualType(TInfo->getType()->getContainedAutoType(), 0);
 1647   assert(T->isDependentType() && "Class template type is not dependent?");
 2503         !TL.getType()->isDependentType())
 2639     if (CXXRecordDecl *Record = T->getAsCXXRecordDecl()) {
 2662                                      = T->getAs<TemplateSpecializationType>()) {
 2674                           = T->getAs<DependentTemplateSpecializationType>()) {
 2683     if (const DependentNameType *DependentName = T->getAs<DependentNameType>()){
 2692     if (const EnumType *EnumT = T->getAs<EnumType>()) {
 2769     if (CXXRecordDecl *Record = T->getAsCXXRecordDecl()) {
 2799                                      = T->getAs<TemplateSpecializationType>()) {
 2804     } else if (T->getAs<DependentTemplateSpecializationType>()) {
 2863       if (IsFriend && T->isDependentType()) {
 3002     if (!Converted[1].getAsType()->isIntegralType(Context)) {
 3335         if (CanonType != Injected->getCanonicalTypeInternal())
 3605   if (const RecordType *RT = Result->getAs<RecordType>()) {
 3661         Arg.getAsType()->getAs<TemplateTypeParmType>();
 4586       ArgType->isObjCLifetimeType() &&
 4629   if (ArgType->getType()->isInstantiationDependentType()) {
 4914     if (NTTPType->isInstantiationDependentType() &&
 4928       if (auto *PET = NTTPType->getAs<PackExpansionType>()) {
 5050       if (T->isFunctionType())
 5734   if (Arg->isVariablyModifiedType()) {
 5747   if (LangOpts.CPlusPlus11 || Arg->hasUnnamedOrLocalType()) {
 5815   if (Arg->getType()->isNullPtrType())
 5863   if (ParamType->isPointerType() &&
 5864       !ParamType->castAs<PointerType>()->getPointeeType()->isFunctionType() &&
 5864       !ParamType->castAs<PointerType>()->getPointeeType()->isFunctionType() &&
 5870     if (const ReferenceType *ParamRef = ParamType->getAs<ReferenceType>()) {
 5871       if (!ParamRef->getPointeeType()->isFunctionType()) {
 5900       if (ParamType->isReferenceType())
 5956       else if (Arg->getType()->isPointerType()) {
 6017   if (ParamType->isPointerType() || ParamType->isNullPtrType()) {
 6017   if (ParamType->isPointerType() || ParamType->isNullPtrType()) {
 6106     if (ParamType->isPointerType() && !AddressTaken)
 6108     else if (AddressTaken && ParamType->isReferenceType()) {
 6129     if (Var->getType()->isReferenceType()) {
 6146     if (ParamType->isReferenceType()) {
 6166     } else if (!AddressTaken && ParamType->isPointerType()) {
 6167       if (Var->getType()->isArrayType()) {
 6252     if (VD->getType()->isMemberPointerType()) {
 6343   if (getLangOpts().CPlusPlus17 && ParamType->isUndeducedType()) {
 6399     if ((ParamType->isDependentType() || Arg->isTypeDependent()) &&
 6400         !Arg->getType()->getContainedAutoType()) {
 6419   if (ParamType->isDependentType() || Arg->isTypeDependent() ||
 6427         ParamType->isLValueReferenceType() ? VK_LValue :
 6428         ParamType->isRValueReferenceType() ? VK_XValue : VK_RValue);
 6468       assert(ParamType->isNullPtrType());
 6475       assert(ParamType->isIntegralOrEnumerationType());
 6479       assert(ParamType->isMemberPointerType());
 6498       assert(ParamType->isPointerType() || ParamType->isReferenceType() ||
 6498       assert(ParamType->isPointerType() || ParamType->isReferenceType() ||
 6499              ParamType->isNullPtrType());
 6518           VD && VD->getType()->isArrayType() &&
 6520           !Value.isLValueOnePastTheEnd() && ParamType->isPointerType()) {
 6530       assert((VD || !ParamType->isReferenceType()) &&
 6532       assert((!VD || !ParamType->isNullPtrType()) &&
 6560   if (ParamType->isIntegralOrEnumerationType()) {
 6596       if (const EnumType *Enum = IntegerType->getAs<EnumType>())
 6620     if (!ArgType->isIntegralOrEnumerationType()) {
 6651     } else if (ParamType->isBooleanType()) {
 6655                !ParamType->isEnumeralType()) {
 6677     if (const EnumType *Enum = IntegerType->getAs<EnumType>())
 6680     if (ParamType->isBooleanType()) {
 6686       Value.setIsSigned(IntegerType->isSignedIntegerOrEnumerationType());
 6695       Value.setIsSigned(IntegerType->isSignedIntegerOrEnumerationType());
 6698       if (IntegerType->isUnsignedIntegerOrEnumerationType()
 6708       if (IntegerType->isUnsignedIntegerOrEnumerationType())
 6723                                  ParamType->isEnumeralType()
 6739       (ParamType->isPointerType() &&
 6740        ParamType->castAs<PointerType>()->getPointeeType()->isFunctionType()) ||
 6740        ParamType->castAs<PointerType>()->getPointeeType()->isFunctionType()) ||
 6745       (ParamType->isReferenceType() &&
 6746        ParamType->castAs<ReferenceType>()->getPointeeType()->isFunctionType()) ||
 6746        ParamType->castAs<ReferenceType>()->getPointeeType()->isFunctionType()) ||
 6752       (ParamType->isMemberPointerType() &&
 6753        ParamType->castAs<MemberPointerType>()->getPointeeType()
 6754          ->isFunctionType())) {
 6769     if (!ParamType->isMemberPointerType()) {
 6783   if (ParamType->isPointerType()) {
 6788     assert(ParamType->getPointeeType()->isIncompleteOrObjectType() &&
 6788     assert(ParamType->getPointeeType()->isIncompleteOrObjectType() &&
 6798   if (const ReferenceType *ParamRefType = ParamType->getAs<ReferenceType>()) {
 6805     assert(ParamRefType->getPointeeType()->isIncompleteOrObjectType() &&
 6830   if (ParamType->isNullPtrType()) {
 6856   assert(ParamType->isMemberPointerType() && "Only pointers to members remain");
 6948   if (ParamType->isArrayType())
 6950   else if (ParamType->isFunctionType())
 6959                              ParamType->getAs<MemberPointerType>()
 6976     if (ParamType->isMemberPointerType()) {
 7020   if (ParamType->isPointerType()) {
 7027     if (!Context.hasSameUnqualifiedType(ParamType->getPointeeType(), T) &&
 7028         (T->isFunctionType() || T->isArrayType())) {
 7028         (T->isFunctionType() || T->isArrayType())) {
 7046   if (const ReferenceType *TargetRef = ParamType->getAs<ReferenceType>()) {
 7078   if (const EnumType *ET = OrigT->getAs<EnumType>())
 7082   if (T->isAnyCharacterType()) {
 7084     if (T->isWideCharType())
 7086     else if (T->isChar8Type() && getLangOpts().Char8)
 7088     else if (T->isChar16Type())
 7090     else if (T->isChar32Type())
 7097   } else if (T->isBooleanType()) {
 7100   } else if (T->isNullPtrType()) {
 7106   if (OrigT->isEnumeralType()) {
 7177         (OldNTTP->getType()->isDependentType() ||
 7178          NewNTTP->getType()->isDependentType()))
 7540   if (!TL.getType()->isDependentType())
 8426           const FunctionProtoType *FPT = FT->castAs<FunctionProtoType>();
 8940             B.getType()->getAsCXXRecordDecl()))
 9417   if (D.getDeclSpec().hasConstexprSpecifier() && R->isFunctionType())
 9442   if (!R->isFunctionType()) {
 9484       if (R->isUndeducedType()) {
 9660   if (auto *FPT = R->getAs<FunctionProtoType>())
 9669           Specialization->getType()->getAs<FunctionProtoType>(),
10145       return T.isNull() || !T->isDependentType();
10198   if (!T || !T->getType()->isDependentType())
10257     if (NewTSI->getType()->isUndeducedType()) {
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
  611   switch (T->getTypeClass()) {
 1182   if (auto *ParamRef = Param->getAs<RValueReferenceType>()) {
 1185     auto *TypeParm = ParamRef->getPointeeType()->getAs<TemplateTypeParmType>();
 1240     const ReferenceType *ParamRef = Param->getAs<ReferenceType>();
 1245     const ReferenceType *ArgRef = Arg->getAs<ReferenceType>();
 1305     if ((TDF & TDF_TopLevelParameterTypeList) && !Param->isFunctionType()) {
 1318       if (isForwardingReference(Param, 0) && Arg->isLValueReferenceType())
 1319         Param = Param->getPointeeType();
 1331         = Param->getAs<TemplateTypeParmType>()) {
 1334     if (Arg->isPlaceholderType() ||
 1364     if (Arg->isFunctionType() && Param.hasQualifiers()) {
 1388     if (ParamQs.hasObjCLifetime() && !DeducedType->isObjCLifetimeType() &&
 1389         !DeducedType->isDependentType()) {
 1400         DeducedType->isObjCLifetimeType() &&
 1461     if (!Param->isDependentType()) {
 1473   } else if (!Param->isDependentType()) {
 1484   switch (Param->getTypeClass()) {
 1518       if (const ComplexType *ComplexArg = Arg->getAs<ComplexType>())
 1528       if (const AtomicType *AtomicArg = Arg->getAs<AtomicType>())
 1539       if (const PointerType *PointerArg = Arg->getAs<PointerType>()) {
 1542                    = Arg->getAs<ObjCObjectPointerType>()) {
 1558           Arg->getAs<LValueReferenceType>();
 1570           Arg->getAs<RValueReferenceType>();
 1756       const RecordType *RecordT = Arg->getAs<RecordType>();
 1837           assert(Base.getType()->isRecordType() &&
 1839           ToVisit.push_back(Base.getType()->getAs<RecordType>());
 1867       if (ParamPointeeType->isFunctionType())
 1871       if (ArgPointeeType->isFunctionType())
 2922         = T->getAs<TemplateSpecializationType>())
 2933   if (T->getAs<InjectedClassNameType>())
 3051     = Function->getType()->getAs<FunctionProtoType>();
 3098       if (Function->hasAttr<CUDAGlobalAttr>() && !ResultType->isVoidType()) {
 3183   if (const ReferenceType *DeducedARef = DeducedA->getAs<ReferenceType>())
 3185   if (const ReferenceType *ARef = A->getAs<ReferenceType>())
 3194       = OriginalParamType->getAs<ReferenceType>()) {
 3202     if (A->isFunctionType() && S.IsFunctionConversion(A, DeducedA, Tmp))
 3240   if ((A->isAnyPointerType() || A->isMemberPointerType()) &&
 3240   if ((A->isAnyPointerType() || A->isMemberPointerType()) &&
 3252       = OriginalParamType->getAs<PointerType>()) {
 3253     if (const PointerType *DeducedAPtr = DeducedA->getAs<PointerType>()) {
 3254       if (const PointerType *APtr = A->getAs<PointerType>()) {
 3255         if (A->getPointeeType()->isRecordType()) {
 3255         if (A->getPointeeType()->isRecordType()) {
 3267   if (A->isRecordType() && isSimpleTemplateIdType(OriginalParamType) &&
 3453   if (S.getLangOpts().CPlusPlus14 && Fn->getReturnType()->isUndeducedType() &&
 3496   if (!ParamType->isFunctionType() &&
 3497       !ParamType->isFunctionPointerType() &&
 3498       !ParamType->isMemberFunctionPointerType()) {
 3545     if (!ParamWasReference && ParamType->isPointerType() &&
 3546         ArgType->isFunctionType())
 3593   const ReferenceType *ParamRefType = ParamType->getAs<ReferenceType>();
 3610     if (ArgType->isIncompleteArrayType()) {
 3627     if (ArgType->isArrayType())
 3632     else if (ArgType->isFunctionType())
 3655   if (ArgType->isPointerType() || ArgType->isMemberPointerType() ||
 3655   if (ArgType->isPointerType() || ArgType->isMemberPointerType() ||
 3656       ArgType->isObjCObjectPointerType())
 3666                               ParamType->getAs<PointerType>()->getPointeeType())))
 3719   if (ElTy->isDependentType()) {
 3829     const auto *Proto = Function->getType()->castAs<FunctionProtoType>();
 3967   const auto *FunctionTypeP = FunctionType->castAs<FunctionProtoType>();
 3968   const auto *ArgFunctionTypeP = ArgFunctionType->castAs<FunctionProtoType>();
 4074       Function->getReturnType()->getContainedAutoType()) {
 4099       Specialization->getReturnType()->isUndeducedType() &&
 4106       Specialization->getType()->castAs<FunctionProtoType>();
 4162   if (const ReferenceType *PRef = P->getAs<ReferenceType>())
 4168   if (const ReferenceType *ARef = A->getAs<ReferenceType>()) {
 4173     if (!FromType->getAs<ReferenceType>()) {
 4182     assert(!A->isReferenceType() && "Reference types were handled above");
 4187     if (P->isArrayType())
 4192     else if (P->isFunctionType())
 4229   if (ToType->isReferenceType())
 4238   if ((P->isPointerType() && A->isPointerType()) ||
 4238   if ((P->isPointerType() && A->isPointerType()) ||
 4239       (P->isMemberPointerType() && A->isMemberPointerType()))
 4239       (P->isMemberPointerType() && A->isMemberPointerType()))
 4421   if (Init->getType()->isNonOverloadPlaceholderType()) {
 4432       (Type.getType()->isDependentType() || Init->isTypeDependent())) {
 4444   if (const AutoType *AT = Type.getType()->getAs<AutoType>()) {
 4518     if (!Type.getType().getNonReferenceType()->getAs<AutoType>())
 4588   if (TypeToReplaceAuto->isDependentType())
 4591                           TypeToReplaceAuto->containsUnexpandedParameterPack()})
 4599   if (TypeToReplaceAuto->isDependentType())
 4603                    TypeToReplaceAuto->containsUnexpandedParameterPack()})
 4633   assert(FD->getReturnType()->isUndeducedType());
 4650       if (CallOp->getReturnType()->isUndeducedType()) {
 4659     assert(!CallOp->getReturnType()->isUndeducedType() &&
 4664         CallOp->getType()->castAs<FunctionProtoType>());
 4665     if (FD->getReturnType()->getAs<PointerType>())
 4668       assert(FD->getReturnType()->getAs<BlockPointerType>());
 4681   bool StillUndeduced = FD->getReturnType()->isUndeducedType();
 4721   const FunctionProtoType *Proto1 = FD1->getType()->getAs<FunctionProtoType>();
 4722   const FunctionProtoType *Proto2 = FD2->getType()->getAs<FunctionProtoType>();
 5089   auto *TST1 = T1->castAs<TemplateSpecializationType>();
 5354   if (!T->isDependentType())
 5358   switch (T->getTypeClass()) {
 5453           !Proto->getParamType(I)->getAs<PackExpansionType>()) {
 5707   if (!T->isDependentType())
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
 1028   if (T->isInstantiationDependentType() || T->isVariablyModifiedType())
 1028   if (T->isInstantiationDependentType() || T->isVariablyModifiedType())
 1116       if (const TagType *Tag = T->getAs<TagType>())
 1155   if (const TagType *TT = T->getAs<TagType>()) {
 1292           TargetType->isReferenceType() ? VK_LValue : VK_RValue, NTTP,
 1364     assert(!type->isDependentType() && "param type still dependent");
 1656   if (!T->getType()->isInstantiationDependentType() &&
 1657       !T->getType()->isVariablyModifiedType())
 1676   if (!TL.getType()->isInstantiationDependentType() &&
 1677       !TL.getType()->isVariablyModifiedType()) {
 1705   if (!T->isInstantiationDependentType() && !T->isVariablyModifiedType())
 1705   if (!T->isInstantiationDependentType() && !T->isVariablyModifiedType())
 1713   if (T->getType()->isInstantiationDependentType() ||
 1714       T->getType()->isVariablyModifiedType())
 1824     if (NewDI->getType()->containsUnexpandedParameterPack()) {
 1848   if (NewDI->getType()->isVoidType()) {
 1945     if (!Base.getType()->isDependentType()) {
 1946       if (const CXXRecordDecl *RD = Base.getType()->getAsCXXRecordDecl()) {
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  711   if (DI->getType()->isInstantiationDependentType() ||
  712       DI->getType()->isVariablyModifiedType()) {
  727   const DecltypeType *DT = DI->getType()->getAs<DecltypeType>();
  752   if (const TagType *oldTagType = D->getUnderlyingType()->getAs<TagType>()) {
  755       TagDecl *newTag = DI->getType()->castAs<TagType>()->getDecl();
  777   if (D->getUnderlyingType()->getAs<DependentNameType>())
  882   if (DI->getType()->isFunctionType()) {
  940   if (DI->getType()->isInstantiationDependentType() ||
  941       DI->getType()->isVariablyModifiedType())  {
  947     } else if (DI->getType()->isFunctionType()) {
 1023   if (DI->getType()->isVariablyModifiedType()) {
 1027   } else if (DI->getType()->isInstantiationDependentType())  {
 1033     } else if (DI->getType()->isFunctionType()) {
 1186       assert(!D->getIntegerType()->isDependentType()
 1747     = D->getType()->castAs<FunctionProtoType>();
 1749     = TInfo->getType()->castAs<FunctionProtoType>();
 3033       D->getType()->isDependentType() ||
 3034       D->getType()->isInstantiationDependentType() ||
 3035       D->getType()->containsUnexpandedParameterPack();
 3133       D->getType()->isDependentType() ||
 3134       D->getType()->isInstantiationDependentType() ||
 3135       D->getType()->containsUnexpandedParameterPack();
 3437   if (DI->getType()->isFunctionType()) {
 3778   if (DI->getType()->isFunctionType()) {
 3932       if (!PatternDecl->getType()->isDependentType()) {
 3952           PatternParam->getType()->castAs<PackExpansionType>()->getPattern();
 3956         if (!PatternDecl->getType()->isDependentType()) {
 3977   const FunctionProtoType *Proto = Decl->getType()->castAs<FunctionProtoType>();
 4012   SubstExceptionSpec(Decl, Template->getType()->castAs<FunctionProtoType>(),
 4053   const FunctionProtoType *Proto = Tmpl->getType()->getAs<FunctionProtoType>();
 4077         = New->getType()->getAs<FunctionProtoType>();
 4297       !PatternDecl->getReturnType()->getContainedAutoType())
 4591   } else if (NewVar->getType()->isUndeducedType()) {
 4608       OldVar->getType()->isDependentType())
 5326       !cast<ParmVarDecl>(D)->getType()->isInstantiationDependentType())
 5457           auto *SubstRecord = T->getAsCXXRecordDecl();
 5502         const RecordType *Tag = T->getAs<RecordType>();
tools/clang/lib/Sema/SemaTemplateVariadic.cpp
  144       if ((!T.isNull() && T->containsUnexpandedParameterPack()) || InLambda)
  154            TL.getType()->containsUnexpandedParameterPack()) ||
  387   if (!T->getType()->containsUnexpandedParameterPack())
  451     if (!NameInfo.getName().getCXXNameType()->containsUnexpandedParameterPack())
  610   if (!Pattern->containsUnexpandedParameterPack() &&
  611       !Pattern->getContainedDeducedType()) {
  843     if (!T.isNull() && T->containsUnexpandedParameterPack())
  911         if (ParamTy->containsUnexpandedParameterPack()) return true;
  918                   ->containsUnexpandedParameterPack())
  927         if (!T.isNull() && T->containsUnexpandedParameterPack())
 1095     if (auto *Subst = Arg.getAsType()->getAs<SubstTemplateTypeParmPackType>())
tools/clang/lib/Sema/SemaType.cpp
  267       if (auto *AttrTy = TypeWithAuto->getAs<AttributedType>()) {
  736   if (!declarator.getNumTypeObjects() && declSpecType->isFunctionType())
  837   const auto *objcObjectType = type->getAs<ObjCObjectType>();
  911     if (typeArg->getAs<PackExpansionType>())
  937     if (const auto *typeArgObjC = typeArg->getAs<ObjCObjectPointerType>()) {
  948       const auto *boundObjC = bound->getAs<ObjCObjectPointerType>();
  975     if (typeArg->isBlockPointerType()) {
  986       if (bound->isBlockCompatibleObjCPointerType(S.Context))
 1003     if (typeArg->isDependentType()) {
 1557     if (!Result->isDependentType())
 1558       if (const TagType *TT = Result->getAs<TagType>())
 1703     if (TypeQuals && Result->isFunctionType()) {
 1721     if (TypeQuals && Result->isReferenceType()) {
 1773   if (T->isReferenceType()) {
 1784     if (T->isAnyPointerType() || T->isReferenceType() ||
 1784     if (T->isAnyPointerType() || T->isReferenceType() ||
 1785         T->isMemberPointerType()) {
 1787       if (T->isObjCObjectPointerType())
 1789       else if (const MemberPointerType *PTy = T->getAs<MemberPointerType>())
 1792         EltTy = T->getPointeeType();
 1796       if (!EltTy->isIncompleteOrObjectType()) {
 1800     } else if (!T->isDependentType()) {
 1820   if (T->isReferenceType())
 1836   if (CVRAU & DeclSpec::TQ_atomic && !T->isAtomicType()) {
 1868   if (!type->isObjCLifetimeType() ||
 1884   } else if (type->isObjCARCImplicitlyUnretainedType()) {
 1957   const FunctionProtoType *FPT = T->getAs<FunctionProtoType>();
 1969   const FunctionProtoType *FPT = T->getAs<FunctionProtoType>();
 1994   if (T->isReferenceType()) {
 2001   if (T->isFunctionType() && getLangOpts().OpenCL) {
 2009   assert(!T->isObjCObjectType() && "Should build ObjCObjectPointerType");
 2044   bool LValueRef = SpelledAsLValue || T->getAs<LValueReferenceType>();
 2063   if (T->isVoidType()) {
 2159     if (T->isReferenceType()) {
 2165     if (T->isVoidType() || T->isIncompleteArrayType()) {
 2165     if (T->isVoidType() || T->isIncompleteArrayType()) {
 2177       if (const MemberPointerType *MPTy = T->getAs<MemberPointerType>())
 2189   if (T->isFunctionType()) {
 2195   if (const RecordType *EltTy = T->getAs<RecordType>()) {
 2200   } else if (T->isObjCObjectType()) {
 2225       !ArraySize->getType()->isIntegralOrUnscopedEnumerationType()) {
 2239   } else if ((!T->isDependentType() && !T->isIncompleteType() &&
 2239   } else if ((!T->isDependentType() && !T->isIncompleteType() &&
 2240               !T->isConstantSizeType()) ||
 2245         !ArraySize->getType()->isIntegralOrUnscopedEnumerationType()) {
 2281     } else if (!T->isDependentType() && !T->isVariablyModifiedType() &&
 2281     } else if (!T->isDependentType() && !T->isVariablyModifiedType() &&
 2282                !T->isIncompleteType() && !T->isUndeducedType()) {
 2282                !T->isIncompleteType() && !T->isUndeducedType()) {
 2297   if (getLangOpts().OpenCL && T->isVariableArrayType()) {
 2302   if (T->isVariableArrayType() && !Context.getTargetInfo().isVLASupported()) {
 2314     if (T->isVariableArrayType()) {
 2329   if (T->isVariableArrayType()) {
 2339     if (ArrType->isBlockPointerType() || ArrType->isPipeType() ||
 2339     if (ArrType->isBlockPointerType() || ArrType->isPipeType() ||
 2340         ArrType->isSamplerT() || ArrType->isImageType()) {
 2340         ArrType->isSamplerT() || ArrType->isImageType()) {
 2353   if (!CurType->isDependentType() &&
 2354       (!CurType->isBuiltinType() || CurType->isBooleanType() ||
 2354       (!CurType->isBuiltinType() || CurType->isBooleanType() ||
 2355        (!CurType->isIntegerType() && !CurType->isRealFloatingType()))) {
 2355        (!CurType->isIntegerType() && !CurType->isRealFloatingType()))) {
 2372   if (CurType->isDependentType())
 2413   if ((!T->isDependentType() && !T->isIntegerType() &&
 2413   if ((!T->isDependentType() && !T->isIntegerType() &&
 2414        !T->isRealFloatingType()) ||
 2415       T->isBooleanType()) {
 2452   if (T->isArrayType() || T->isFunctionType()) {
 2452   if (T->isArrayType() || T->isFunctionType()) {
 2454       << T->isFunctionType() << T;
 2459   if (T->isHalfType() && !getLangOpts().HalfArgsAndReturns) {
 2467   if (T->isObjCObjectType()) {
 2553     if (ParamType->isVoidType()) {
 2556     } else if (ParamType->isHalfType() && !getLangOpts().HalfArgsAndReturns) {
 2608   if (T->isReferenceType()) {
 2614   if (T->isVoidType()) {
 2620   if (!Class->isDependentType() && !Class->isRecordType()) {
 2620   if (!Class->isDependentType() && !Class->isRecordType()) {
 2630   if (T->isFunctionType())
 2650   if (!T->isFunctionType()) {
 2740     if (!declSpecType->isObjCRetainableType()) return;
 2748     if (declSpecType->isObjCARCImplicitlyUnretainedType())
 2760     if (!isBlockPointer && !declSpecType->isObjCObjectType())
 2874       unsigned AtomicQual = RetTy->isAtomicType() ? DeclSpec::TQ_atomic : 0;
 2955   if (DeducedType *Deduced = T->getContainedDeducedType()) {
 3232   if (RT->isVoidType())
 3236   if (!RT->isRecordType() && FTI.NumParams > 1)
 3240   if (RT->isReferenceType() && FTI.NumParams != 1)
 3300     const CXXRecordDecl *RD = RT->getAsCXXRecordDecl();
 3340       (T->isRecordType() || T->isDependentType()) &&
 3340       (T->isRecordType() || T->isDependentType()) &&
 3424   auto *RD = T->getAsCXXRecordDecl();
 3615   if (type->isDependentType())
 3656     if (auto ptrType = type->getAs<PointerType>()) {
 3668     if (type->getAs<BlockPointerType>()) {
 3674     if (type->getAs<MemberPointerType>()) {
 3680     if (auto objcObjectPtr = type->getAs<ObjCObjectPointerType>()) {
 3696     if (auto objcClass = type->getAs<ObjCInterfaceType>()) {
 3709     if (auto recordType = type->getAs<RecordType>()) {
 4035   bool IsQualifiedFunction = T->isFunctionProtoType() &&
 4036       (!T->castAs<FunctionProtoType>()->getMethodQuals().empty() ||
 4037        T->castAs<FunctionProtoType>()->getRefQualifier() != RQ_None);
 4043   if (auto *DT = T->getAs<DeducedType>()) {
 4044     const AutoType *AT = T->getAs<AutoType>();
 4130     if (T->canHaveNullability(/*ResultIfUnknown*/false) &&
 4131         !T->getNullability(S.Context)) {
 4266     auto *typedefTy = T->getAs<TypedefType>();
 4276       typedefTy = typedefTy->desugar()->getAs<TypedefType>();
 4345     if (T->canHaveNullability(/*ResultIfUnknown*/false) &&
 4346         !T->getNullability(S.Context)) {
 4353         if (T->isBlockPointerType())
 4355         else if (T->isMemberPointerType())
 4370         T->isArrayType() && !T->getNullability(S.Context) && !isVaList(T) &&
 4370         T->isArrayType() && !T->getNullability(S.Context) && !isVaList(T) &&
 4428       if (LangOpts.ObjC && T->getAs<ObjCObjectType>()) {
 4439         if (T->isImageType() || T->isSamplerT() || T->isPipeType() ||
 4439         if (T->isImageType() || T->isSamplerT() || T->isPipeType() ||
 4439         if (T->isImageType() || T->isSamplerT() || T->isPipeType() ||
 4440             T->isBlockPointerType()) {
 4516       const AutoType *AT = T->getContainedAutoType();
 4606       if (!D.isInvalidType() && (T->isArrayType() || T->isFunctionType()) &&
 4606       if (!D.isInvalidType() && (T->isArrayType() || T->isFunctionType()) &&
 4615         S.Diag(DeclType.Loc, diagID) << T->isFunctionType() << T;
 4622       if (T->isHalfType()) {
 4639         if (T->isBlockPointerType() || T->isImageType() || T->isSamplerT() ||
 4639         if (T->isBlockPointerType() || T->isImageType() || T->isSamplerT() ||
 4639         if (T->isBlockPointerType() || T->isImageType() || T->isSamplerT() ||
 4640             T->isPipeType()) {
 4660       if (T->isObjCObjectType()) {
 4687       if ((T.getCVRQualifiers() || T->isAtomicType()) &&
 4689             (T->isDependentType() || T->isRecordType()))) {
 4689             (T->isDependentType() || T->isRecordType()))) {
 4690         if (T->isVoidType() && !S.getLangOpts().CPlusPlus &&
 4816           if (ParamTy->isVoidType()) {
 4837           } else if (ParamTy->isHalfType()) {
 4853             if (ParamTy->isPromotableIntegerType()) {
 4856             } else if (const BuiltinType* BTy = ParamTy->getAs<BuiltinType>()) {
 5080   if (LangOpts.CPlusPlus && T->isFunctionType()) {
 5081     const FunctionProtoType *FnTy = T->getAs<FunctionProtoType>();
 5183       T->isObjectType())
 5212       if (!T->containsUnexpandedParameterPack()) {
 5230       if (T->containsUnexpandedParameterPack())
 5302   if (declSpecTy->isObjCRetainableType() &&
 5387     if (declSpecTy->isObjCRetainableType())
 5389     if (declSpecTy->isObjCObjectType() && hasIndirection)
 5473       if (TInfo->getType()->getAs<ElaboratedType>()) {
 5838   assert(LocT->getTypeClass() != T->getTypeClass() &&
 5952   if (T->getAs<DependentAddressSpaceType>()) {
 5978   if (Type->isFunctionType()) {
 6072   if (!type->isDependentType() && !type->isUndeducedType()) {
 6072   if (!type->isDependentType() && !type->isUndeducedType()) {
 6073     if (const PointerType *ptr = type->getAs<PointerType>()) {
 6075       if (pointee->isObjCRetainableType() || pointee->isPointerType())
 6075       if (pointee->isObjCRetainableType() || pointee->isPointerType())
 6081     } else if (!type->isObjCRetainableType()) {
 6237           type->getAs<ObjCObjectPointerType>()) {
 6260   if (!type->isPointerType() &&
 6261       !type->isObjCObjectPointerType() &&
 6262       !type->isBlockPointerType())
 6506     if (Type->isMemberPointerType())
 6587   if (auto existingNullability = desugared->getNullability(S.Context)) {
 6594       if (auto typedefType = desugared->getAs<TypedefType>()) {
 6611   if (!desugared->canHaveNullability() &&
 6612       !(allowOnArrayType && desugared->isArrayType())) {
 6623     if (desugared->isArrayType())
 6624       pointeeType = desugared->getArrayElementTypeNoTypeQual();
 6626       pointeeType = desugared->getPointeeType().getTypePtr();
 6663   const ObjCObjectPointerType *ptrType = type->getAs<ObjCObjectPointerType>();
 6665                                           : type->getAs<ObjCObjectType>();
 6686     if (auto nullability = type->getNullability(S.Context)) {
 6998                ->getAs<FunctionType>());
 7077   while ((AT = T->getAs<AttributedType>()) &&
 7078          AT->getAs<TypedefType>() == T->getAs<TypedefType>()) {
 7209   const BuiltinType *BTy = Ty->getAs<BuiltinType>();
 7314   if (!(CurType->isImageType() || CurType->isPipeType())) {
 7314   if (!(CurType->isImageType() || CurType->isPipeType())) {
 7320   if (const TypedefType* TypedefTy = CurType->getAs<TypedefType>()) {
 7324     if (BaseTy->isPipeType()) {
 7332     } else if (const BuiltinType* ImgType = BaseTy->getAs<BuiltinType>()) {
 7358   } else if (CurType->isPipeType()) {
 7360       QualType ElemType = CurType->getAs<PipeType>()->getElementType();
 7433       (T->isVoidType() && !IsPointee) ||
 7438       (T->isDependentType() && !T->isPointerType() && !T->isReferenceType()) ||
 7438       (T->isDependentType() && !T->isPointerType() && !T->isReferenceType()) ||
 7438       (T->isDependentType() && !T->isPointerType() && !T->isReferenceType()) ||
 7441       T->isDecltypeType() ||
 7455       (D.getContext() == DeclaratorContext::FileContext && T->isSamplerT()))
 7643       if (type->canHaveNullability() || type->isDependentType() ||
 7643       if (type->canHaveNullability() || type->isDependentType() ||
 7644           type->isArrayType() ||
 7795   if (T->isIncompleteArrayType()) {
 7832   if (const TagType *Tag = T->getAs<TagType>()) {
 7989   if (const MemberPointerType *MPTy = T->getAs<MemberPointerType>()) {
 8007   bool Incomplete = T->isIncompleteType(&Def);
 8060       if (!T->isIncompleteType())
 8112       if (!T->isIncompleteType())
 8185   assert(!T->isDependentType() && "type should not be dependent");
 8188   if ((isCompleteType(Loc, ElemType) || ElemType->isVoidType()) &&
 8189       T->isLiteralType(Context))
 8194   if (T->isVariableArrayType())
 8197   const RecordType *RT = ElemType->getAs<RecordType>();
 8231       if (!I.getType()->isLiteralType(Context)) {
 8238       if (!I->getType()->isLiteralType(Context) ||
 8305     if (const TagType *TT = T->getAs<TagType>())
 8400     if (!BaseType->isDependentType() && !BaseType->isEnumeralType()) {
 8400     if (!BaseType->isDependentType() && !BaseType->isEnumeralType()) {
 8405       if (!BaseType->isDependentType()) {
 8409         if (BaseType->isIncompleteType(&FwdDecl)) {
 8415         EnumDecl *ED = BaseType->getAs<EnumType>()->getDecl();
 8431   if (!T->isDependentType()) {
 8438     if (T->isArrayType())
 8440     else if (T->isFunctionType())
 8442     else if (T->isReferenceType())
 8444     else if (T->isAtomicType())
tools/clang/lib/Sema/TreeTransform.h
 1062                 T.isNull() ? nullptr : T->getContainedDeducedType())) {
 2089               RangeExpr->getType()->isObjCObjectPointerType()) {
 2307       assert(Member->getType()->isRecordType() &&
 2330     if (isArrow && !BaseType->isPointerType())
 3734       if (TL.getType()->isDependentType() || TL.getType()->isRecordType() ||
 3734       if (TL.getType()->isDependentType() || TL.getType()->isRecordType() ||
 3736            TL.getType()->isEnumeralType())) {
 3739         if (TL.getType()->isEnumeralType())
 4381   if (T->isFunctionType()) {
 4392   if (T->isReferenceType()) {
 4402     if (!T->isObjCLifetimeType() && !T->isDependentType())
 4402     if (!T->isObjCLifetimeType() && !T->isDependentType())
 4587   if (PointeeType->getAs<ObjCObjectType>()) {
 4608   TLB.TypeWasModifiedSafely(Result->getPointeeType());
 4672       Result->castAs<ReferenceType>()->getPointeeTypeAsWritten());
 4738   const MemberPointerType *MPT = Result->getAs<MemberPointerType>();
 5299           if (NewType->containsUnexpandedParameterPack()) {
 5508             T->getAs<PackExpansionType>()) {
 5736   if (Result->isDependentType()) {
 5964     const PipeType *PT = Result->castAs<PipeType>();
 6180           NamedT->getAs<TemplateSpecializationType>()) {
 6240       if (!modifiedType->canHaveNullability()) {
 6327   if (const ElaboratedType* ElabT = Result->getAs<ElaboratedType>()) {
 6513                                     ->castAs<PackExpansionType>();
 7240       assert(!Promise->getType()->isDependentType() &&
10681     if (E->isArray() && !E->getAllocatedType()->isDependentType()) {
10684       if (const RecordType *RecordT = ElementType->getAs<RecordType>()) {
10754       if (const RecordType *DestroyedRec = Destroyed->getAs<RecordType>()) {
10805   } else if (!ObjectType.isNull() && ObjectType->isDependentType()) {
11052       if (To->containsUnexpandedParameterPack()) {
11413               C->getLocation(), OldVD->getType()->isReferenceType(),
11806     ObjectType = BaseType->castAs<PointerType>()->getPointeeType();
12022             VD->getType()->isReferenceType() ? VK_LValue : VK_RValue,
13066       else if (ThisT->getAs<UnresolvedUsingType>())
13217     if (!First->getType()->isOverloadableType() &&
13218         !Second->getType()->isOverloadableType())
13225     if (!First->getType()->isOverloadableType() ||
13236     if (!First->getType()->isOverloadableType() &&
13237         !Second->getType()->isOverloadableType()) {
13324       (!isArrow && !BaseType->getAs<RecordType>()) ||
13325       (isArrow && BaseType->getAs<PointerType>() &&
13326        !BaseType->castAs<PointerType>()->getPointeeType()
13327                                               ->template getAs<RecordType>())){
13343     if (!ScopeType->getType()->getAs<TagType>()) {
tools/clang/lib/Serialization/ASTReader.cpp
 4824         if (const TypedefType *Typedef = FileType->getAs<TypedefType>())
 4827           const TagType *Tag = FileType->getAs<TagType>();
 4845         if (const TypedefType *Typedef = Jmp_bufType->getAs<TypedefType>())
 4848           const TagType *Tag = Jmp_bufType->getAs<TagType>();
 4866         if (const TypedefType *Typedef = Sigjmp_bufType->getAs<TypedefType>())
 4869           const TagType *Tag = Sigjmp_bufType->getAs<TagType>();
 4902         if (const TypedefType *Typedef = Ucontext_tType->getAs<TypedefType>())
 4905           const TagType *Tag = Ucontext_tType->getAs<TagType>();
 7504     TypesLoaded[Index]->setFromAST();
 9881       auto *DT = FD->getReturnType()->getContainedDeducedType();
11103                     FirstParamType->getAs<DecayedType>()) {
11116                     SecondParamType->getAs<DecayedType>()) {
11866                   FirstParamType->getAs<DecayedType>()) {
11878                   SecondParamType->getAs<DecayedType>()) {
12158         auto *FPT = Update.second->getType()->castAs<FunctionProtoType>();
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  845       FD->getTypeSourceInfo()->getType()->castAs<FunctionType>()
  846                              ->getReturnType()->getContainedAutoType()) {
 1401   if (VD->hasAttr<BlocksAttr>() && VD->getType()->getAsCXXRecordDecl()) {
 3024       auto *XFPT = XT->getAs<FunctionProtoType>();
 3025       auto *YFPT = YT->getAs<FunctionProtoType>();
 3440   auto *DT = T->getContainedDeducedType();
 3475   auto *FPT = FD->getType()->getAs<FunctionProtoType>();
 3476   auto *PrevFPT = PrevFD->getType()->getAs<FunctionProtoType>();
 4445       auto *FPT = FD->getType()->castAs<FunctionProtoType>();
tools/clang/lib/Serialization/ASTWriter.cpp
  163         switch (T->getTypeClass()) {
 5369             cast<FunctionDecl>(D)->getType()->castAs<FunctionProtoType>(),
 6415                                       ->castAs<FunctionProtoType>()
tools/clang/lib/Serialization/ASTWriterDecl.cpp
  984   if (D->hasAttr<BlocksAttr>() && D->getType()->getAsCXXRecordDecl()) {
 1043       !(D->hasAttr<BlocksAttr>() && D->getType()->getAsCXXRecordDecl()) &&
tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
  332         if (elemType->isIncompleteType())
tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
  481   if (!T->isIntegralOrEnumerationType())
  751     if (ArgTy->isObjCObjectPointerType())
  755     if (ArgTy->isBlockPointerType())
  831   const ObjCObjectPointerType *PT = T->getAs<ObjCObjectPointerType>();
tools/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp
   44   if (Ty->isBooleanType()) // C++ or C99
   47   if (const TypedefType *TT = Ty->getAs<TypedefType>())
tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
 2035   QualType CharPtrTy = SearchStrPtr->getType()->getPointeeType();
 2101   if (!CE->getArg(2)->getType()->isPointerType())
 2244     if (!T->isIntegralOrEnumerationType() && !T->isPointerType())
 2244     if (!T->isIntegralOrEnumerationType() && !T->isPointerType())
 2285     if (!D->getType()->isArrayType())
tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
  160   if (ParamDecl->getType()->isPointerType()) {
  163   } else if (ParamDecl->getType()->isReferenceType()) {
  169   if(!ParamDecl->getType()->getPointeeType().isConstQualified())
  208     if (const RecordType *RT = T->getAsStructureType()) {
  215         if (T->getAsStructureType()) {
  520   if (ResTy->isReferenceType()) {
tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
   50   const RecordType *RT = ToPointeeTy->getAs<RecordType>();
   62   const Type *ElemType = Last->getType()->getArrayElementTypeNoTypeQual();
   99   if (ToPointeeTy->isIncompleteType())
tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp
   54   if (!ToPointeeTy->isStructureOrClassType())
   58   if (OrigPointeeTy->isVoidType())
   62   if (!OrigPointeeTy->isRecordType()) {
   83     if (!VD || VD->getType()->isReferenceType())
   86     if (ToPointeeTy->isIncompleteType() ||
   87         OrigPointeeTy->isIncompleteType())
tools/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
  108       CastInfo ? CastInfo->to()->getPointeeCXXRecordDecl()->getNameAsString()
  109                : CastToTy->getPointeeCXXRecordDecl()->getNameAsString();
  143   if (alignTowards->isLValueReferenceType() &&
  147   } else if (alignTowards->isLValueReferenceType())
  149   else if (alignTowards->isRValueReferenceType())
  173     if (CastToTy->isPointerType()) {
  174       if (!CastFromTy->isPointerType())
  177       if (!CastFromTy->isReferenceType())
  223   if (CastFromTy->isPointerType())
  225   else if (CastFromTy->isReferenceType())
  403     if (!(ParamT->isPointerType() && ResultT->isPointerType()) &&
  403     if (!(ParamT->isPointerType() && ResultT->isPointerType()) &&
  404         !(ParamT->isReferenceType() && ResultT->isReferenceType()))
  404         !(ParamT->isReferenceType() && ResultT->isReferenceType()))
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
   80   if (!T->isObjCRetainableType())
  934   if (!M.getArgExpr(0)->getType()->isObjCRetainableType())
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp
   33   if (Derived->isAnyPointerType() &&  Ancestor->isAnyPointerType())
   33   if (Derived->isAnyPointerType() &&  Ancestor->isAnyPointerType())
tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
  280   drLHS = drLHS && drLHS->getType()->isRealFloatingType() ? drLHS : nullptr;
  281   drRHS = drRHS && drRHS->getType()->isRealFloatingType() ? drRHS : nullptr;
  334   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  344     const PointerType *PT = FPT->getParamType(i)->getAs<PointerType>();
  353   if (!FPT->getParamType(2)->isIntegralOrUnscopedEnumerationType())
  376   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  386     const PointerType *PT = FPT->getParamType(i)->getAs<PointerType>();
  395   if (!FPT->getParamType(2)->isIntegralOrUnscopedEnumerationType())
  419   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  428   const PointerType *PT = FPT->getParamType(0)->getAs<PointerType>();
  436   if (!FPT->getParamType(1)->isIntegralOrUnscopedEnumerationType())
  461   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  470   const PointerType *PT = FPT->getParamType(0)->getAs<PointerType>();
  497   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  506   if (!FPT->getParamType(0)->isIntegralOrUnscopedEnumerationType())
  510   const PointerType *PT = FPT->getParamType(1)->getAs<PointerType>();
  541   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  550   const PointerType *PT = FPT->getParamType(0)->getAs<PointerType>();
  807   const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>();
  819     const PointerType *PT = FPT->getParamType(i)->getAs<PointerType>();
  841   const FunctionProtoType *FTP = FD->getType()->getAs<FunctionProtoType>();
  848     const PointerType *PT = FTP->getParamType(0)->getAs<PointerType>();
  852     if (! PT->getPointeeType()->isIntegralOrUnscopedEnumerationType())
  884   const FunctionProtoType *FTP = FD->getType()->getAs<FunctionProtoType>();
  959   const FunctionProtoType *FTP = FD->getType()->getAs<FunctionProtoType>();
  970     if (!FTP->getParamType(i)->isIntegralOrUnscopedEnumerationType())
tools/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp
   55   if (T->isPointerType()) {
tools/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp
  137   if (!DestType->isRealType() || !SubType->isIntegerType())
  137   if (!DestType->isRealType() || !SubType->isIntegerType())
  140   const bool isFloat = DestType->isFloatingType();
  157     if (DestType->isSignedIntegerType())
  167   if (SubType->isSignedIntegerType())
  189   if (!CastType->isUnsignedIntegerType() || !SubType->isSignedIntegerType())
  189   if (!CastType->isUnsignedIntegerType() || !SubType->isSignedIntegerType())
tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
  275     if (VD->getType()->getAs<ReferenceType>())
  342           if (T->isPointerType() || T->isObjCObjectPointerType()) {
  342           if (T->isPointerType() || T->isObjCObjectPointerType()) {
  386           if (V->getType()->getAs<ReferenceType>())
  435                   if (isa<ParmVarDecl>(VD) && VD->getType()->isScalarType())
  498       if (FD->getType()->isReferenceType())
tools/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp
   73   const auto *BaseClass = BaseClassRegion->getValueType()->getAsCXXRecordDecl();
   75       DerivedClassRegion->getSymbol()->getType()->getPointeeCXXRecordDecl();
tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
  115     return DRE->getDecl()->getType()->isReferenceType();
  257   if (!TVR->getValueType()->isReferenceType())
tools/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
   66   if (!B->getRHS()->getType()->isScalarType())
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
  173   const auto *DynObjCType = DynType->getAs<ObjCObjectPointerType>();
  174   const auto *StaticObjCType = StaticType->getAs<ObjCObjectPointerType>();
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
  311           = MsgE->getClassReceiver()->getAs<ObjCObjectType>())
  317           = MsgE->getSuperType()->getAs<ObjCObjectType>())
  351       CastE->getType()->getAs<ObjCObjectPointerType>();
  359     OldDTy->getAs<ObjCObjectPointerType>();
  397       To->getObjectType()->getSuperClassType()->castAs<ObjCObjectType>();
  401   const auto *SuperPtrOfTo = SuperPtrOfToQual->castAs<ObjCObjectPointerType>();
  528   const auto *OrigObjectPtrType = OriginType->getAs<ObjCObjectPointerType>();
  529   const auto *DestObjectPtrType = DestType->getAs<ObjCObjectPointerType>();
  655       ReceiverType->getAs<ObjCObjectPointerType>();
  664     if (ReceiverType->isObjCIdType() || ReceiverType->isObjCClassType() ||
  664     if (ReceiverType->isObjCIdType() || ReceiverType->isObjCClassType() ||
  777     const auto *ParamObjectPtrType = ParamType->getAs<ObjCObjectPointerType>();
  779         stripCastsAndSugar(Arg)->getType()->getAs<ObjCObjectPointerType>();
  830     const auto *ReceiverClassType = ReceiverType->castAs<ObjCObjectType>();
  838         ReceiverClassPointerType->castAs<ObjCObjectPointerType>();
  886   const auto *ResultPtrType = ResultType->getAs<ObjCObjectPointerType>();
tools/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp
  121   if (!T->isEnumeralType())
  128   const EnumDecl *ED = T->castAs<EnumType>()->getDecl();
tools/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp
   43   if (!T->isPointerType())
tools/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp
  229     auto *RefTy = CtorDecl->getParamDecl(0)->getType()->getAs<ReferenceType>();
  231         RefTy->getPointeeType()->getCanonicalTypeUnqualified() == BoolTy) {
tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
  570   if (!ArgTy->isPointerType())
  573   QualType ValTy = ArgTy->getPointeeType();
  577   if (ValTy->isVoidType())
tools/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
  230     if ((DeclRef1->getType()->hasFloatingRepresentation()) &&
  231         (DeclRef2->getType()->hasFloatingRepresentation())) {
  244   } else if (LHS->getType()->hasFloatingRepresentation()) {
tools/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
  160       if (!ParamTy->isReferenceType() ||
  161           ParamTy->getPointeeType().isConstQualified())
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
  408               Call.getArgExpr(0)->getType()->isIntegralOrEnumerationType()) {
  415               Call.getArgExpr(1)->getType()->isIntegralOrEnumerationType()) {
  544             Param->getType()->getAs<SubstTemplateTypeParmType>();
  595               Call.getArgExpr(0)->getType()->isIntegralOrEnumerationType()) {
  603               Call.getArgExpr(1)->getType()->isIntegralOrEnumerationType()) {
 1645   if (Type->isPointerType())
 1648   const auto *CRD = Type->getUnqualifiedDesugaredType()->getAsCXXRecordDecl();
 1919   if (const auto *RefT = Type->getAs<ReferenceType>()) {
 1923   return Type->getUnqualifiedDesugaredType()->getAsCXXRecordDecl();
 2109   assert(T->isSignedIntegerOrEnumerationType());
tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
  282   const ObjCObjectPointerType *IvTy = IvQTy->getAs<ObjCObjectPointerType>();
tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
   30   const RecordType *RT = T->getAs<RecordType>();
   50   if (const ElaboratedType *QT = T->getAs<ElaboratedType>())
   53   const TypedefType *TT = T->getAs<TypedefType>();
   82   const TemplateSpecializationType *TS = T->getAs<TemplateSpecializationType>();
   96   const TemplateSpecializationType *TS = T->getAs<TemplateSpecializationType>();
  203     if (const RecordType *baseT = T->getAs<RecordType>()) {
  249   if (const RecordType *RT = T->getAs<RecordType>()) {
tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
  903   const ObjCObjectPointerType *PT = T->getAs<ObjCObjectPointerType>();
tools/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
  165              .getCanonicalType()->isSignedIntegerType())
tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp
  165         CE.getArgExpr(1)->getType()->getPointeeType());
  172           CE.getArgExpr(1)->getType()->getPointeeType(), Idx, SuperRegion,
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
 1296   QualType Result = T, PointeeType = T->getPointeeType();
 1299     PointeeType = PointeeType->getPointeeType();
 1312   if (!NE->getAllocatedType()->getAsCXXRecordDecl())
 1320     QualType CtorParamPointeeT = CtorParam->getType()->getPointeeType();
 1326     if (CtorParamPointeeT->getAsCXXRecordDecl())
 1872   if (SymBase->getType()->isFunctionPointerType()) {
tools/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp
  135       if (!E->getType()->isIntegralOrEnumerationType())
tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
  139   if (B->isVoidPointerType() && A->getAs<PointerType>())
  139   if (B->isVoidPointerType() && A->getAs<PointerType>())
  149     if (const PointerType *ptrA = A->getAs<PointerType>())
  150       if (const PointerType *ptrB = B->getAs<PointerType>()) {
  164   while (const ArrayType *AT = T->getAsArrayTypeUnsafe()) {
  184       if (!CastedType->isPointerType())
  186       QualType PointeeType = CastedType->getPointeeType();
  187       if (PointeeType->isVoidType())
  192         if (!(*ai)->getType()->isIntegralOrUnscopedEnumerationType())
tools/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
  266     if (Sym->getType()->isRValueReferenceType())
tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
   56   if (!D->getReturnType()->isVoidType())
  103   if (!D->getReturnType()->isVoidType())
  282   const PointerType* PPT = T->getAs<PointerType>();
  287     PPT->getPointeeType()->getAs<ObjCObjectPointerType>();
  302   const PointerType* PPT = T->getAs<PointerType>();
  305   const TypedefType* TT = PPT->getPointeeType()->getAs<TypedefType>();
tools/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
   86         HasParam ? parms[idx]->getType()->isReferenceType() : false;
  113       const RecordType *UT = T->getAsUnionType();
tools/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp
  131   if (Ty->isPointerType() && Ty->getPointeeType()->isCharType())
  131   if (Ty->isPointerType() && Ty->getPointeeType()->isCharType())
  131   if (Ty->isPointerType() && Ty->getPointeeType()->isCharType())
tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
  528   if (!RetExpr->getType()->isAnyPointerType())
  587     OS << (RetExpr->getType()->isObjCObjectPointerType() ? "nil" : "Null");
  664     if (!Param->getType()->isAnyPointerType() &&
  665         !Param->getType()->isReferenceType())
  687       OS << (Param->getType()->isObjCObjectPointerType() ? "nil" : "Null");
  722           Param->getType()->isReferenceType()) {
  754   if (!ReturnType->isAnyPointerType())
  822   if (!RetType->isAnyPointerType())
  935   if (!OriginType->isAnyPointerType())
  937   if (!DestType->isAnyPointerType())
 1061   if (!LocType->isAnyPointerType())
 1108     OS << (LocType->isObjCObjectPointerType() ? "nil" : "Null");
tools/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp
  136     assert(ObjT.getCanonicalType()->isPointerType());
  138         ObjT->getPointeeType().getCanonicalType().getUnqualifiedType());
tools/clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp
  115   if (Ty->getPointeeType().getObjCLifetime() != Qualifiers::OCL_Autoreleasing)
tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
   54       if (const Type *TElem = PointeeT->getArrayElementTypeNoTypeQual())
tools/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp
   47   if (!T->isObjCObjectPointerType())
   50   const std::string &PropTypeName(T->getPointeeType().getCanonicalType()
tools/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
   87         return visitRecord(CXXRD->bases().begin()->getType()->getAsRecordDecl(),
  115     const ArrayType *ArrTy = VD->getType()->getAsArrayTypeUnsafe();
  123     const RecordType *RT = ArrTy->getElementType()->getAs<RecordType>();
  180       if (Ty->isIncompleteArrayType())
tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp
  298   if (!UOp->isIncrementDecrementOp() || !UOp->getType()->isPointerType())
  312   if (SubsExpr->getBase()->getType()->isVectorType())
  327   if (Rhs->getType()->isIntegerType() && Lhs->getType()->isPointerType()) {
  327   if (Rhs->getType()->isIntegerType() && Lhs->getType()->isPointerType()) {
  334   if (Lhs->getType()->isIntegerType() && Rhs->getType()->isPointerType()) {
  334   if (Lhs->getType()->isIntegerType() && Rhs->getType()->isPointerType()) {
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
  190   if (QT->isObjCObjectPointerType()) {
  301   if (Ty->isObjCRetainableType())
  400     if (const ObjCObjectPointerType *PT = RetTy->getAs<ObjCObjectPointerType>())
  427   QualType PT = QT->getPointeeType();
  429     if (PT->getAsCXXRecordDecl())
  540     if (!CE.getResultType()->isScalarType()) {
  851       if (Sym->getType()->getPointeeCXXRecordDecl())
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
   84   QualType PT = QT->getPointeeType();
   85   if (!PT.isNull() && !QT->getAs<TypedefType>())
   86     if (const auto *RD = PT->getAsCXXRecordDecl())
  299     if (!RT.isNull() && !RT->isVoidType()) {
tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp
   57     if (!RT.isNull() && RT->isVoidType())
   64         RetE->getType()->isVoidType())
   74   if (RT->isReferenceType()) {
tools/clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
   42   return CD && CD->getConversionType()->isBooleanType();
tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
  129     const auto *T = C.getVariable()->getType()->getAs<TypedefType>();
  275   if (isa<CXXConstructExpr>(RetE) && RetE->getType()->isRecordType())
tools/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
  175       assert(!T->isVoidType() &&
  180       assert(T->isIntegralOrEnumerationType() &&
tools/clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp
  109   if (Call.getResultType()->isVoidType())
tools/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp
  159     if (!ExprRetType->isAnyPointerType())
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObject.h
  325   return T->isBuiltinType() || T->isEnumeralType() ||
  325   return T->isBuiltinType() || T->isEnumeralType() ||
  326          T->isFunctionType() || T->isAtomicType() ||
  326          T->isFunctionType() || T->isAtomicType() ||
  327          T->isVectorType() || T->isScalarType();
  327          T->isVectorType() || T->isScalarType();
  331   return T->isAnyPointerType() || T->isReferenceType();
  331   return T->isAnyPointerType() || T->isReferenceType();
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
   85     assert(T->getAsCXXRecordDecl());
   96     Out << BaseClassT->getAsCXXRecordDecl()->getName() << "::";
  278   assert(R->getValueType()->isRecordType() &&
  279          !R->getValueType()->isUnionType() &&
  282   const RecordDecl *RD = R->getValueType()->getAsRecordDecl()->getDefinition();
  311     if (T->isStructureOrClassType()) {
  317     if (T->isUnionType()) {
  326     if (T->isArrayType()) {
  378   assert(R->getValueType()->isUnionType() &&
  467   if (R && !R->getValueType()->getAsCXXRecordDecl())
tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp
   51     if (getDecl()->getType()->isPointerType())
   73     if (getDecl()->getType()->isIntegerType())
  177   QualType PointeeT = DynT->getPointeeType();
  179   if (PointeeT->isStructureOrClassType()) {
  185   if (PointeeT->isUnionType()) {
  197   if (PointeeT->isArrayType()) {
  259     if (isDereferencableType(DynT->getPointeeType()))
  277     if (T->isVoidPointerType())
  279     T = T->getPointeeType();
tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
  190     if (!QT->isIntegerType()) {
tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
  174         Ty->isPointerType() && Ty->getPointeeType()->isRecordType();
  174         Ty->isPointerType() && Ty->getPointeeType()->isRecordType();
  174         Ty->isPointerType() && Ty->getPointeeType()->isRecordType();
tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp
  308       if ((*I)->getType()->isVoidPointerType())
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
   75   if (B->isAdditiveOp() && B->getType()->isPointerType()) {
   76     if (B->getLHS()->getType()->isPointerType()) {
   78     } else if (B->getRHS()->getType()->isPointerType()) {
  120           (U->isIncrementDecrementOp() && U->getType()->isPointerType())) {
  482   return !Ty->getPointeeType().isNull() &&
  483          Ty->getPointeeType().getCanonicalType().isConstQualified();
  509       if (const RecordDecl *RRD = II.getType()->getAsRecordDecl())
  526     if (const RecordDecl *RRD = FT->getAsRecordDecl())
  531     QualType PT = FT->getPointeeType();
  532     if (PT.isNull() || PT->isVoidType() || !VR)
  535     if (const RecordDecl *RRD = PT->getAsRecordDecl())
  589     bool ParamIsReferenceType = PVD->getType()->isReferenceType();
  599       QualType PT = T->getPointeeType();
  600       if (PT.isNull() || PT->isVoidType())
  603       if (const RecordDecl *RD = PT->getAsRecordDecl())
  750     Sep = DR->getValueType()->isAnyPointerType() ? "->" : ".";
 1068         if (RetE->getType()->isObjCObjectPointerType()) {
 1255         if (TR->getValueType()->isObjCObjectPointerType()) {
 1294     if (Param->getType()->isObjCObjectPointerType())
 1322         if (TR->getValueType()->isObjCObjectPointerType()) {
 1838       if (!VD->getType()->isReferenceType())
 2043       if (SR->getSymbol()->getType()->getPointeeType()->isVoidType())
 2043       if (SR->getSymbol()->getType()->getPointeeType()->isVoidType())
 2373     if (OriginalTy->isPointerType()) {
 2379     else if (OriginalTy->isObjCObjectPointerType()) {
 2630   if (Ty->isPointerType()) {
 2635   if (Ty->isObjCObjectPointerType()) {
 2640   if (!Ty->isIntegralOrEnumerationType())
 2648     if (Ty->isBooleanType())
 2653     if (Ty->isBooleanType())
 2791     if (!(T->isAnyPointerType() || T->isReferenceType())) {
 2791     if (!(T->isAnyPointerType() || T->isReferenceType())) {
 2798     if (T->getPointeeType().isConstQualified())
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
   98   if (T->isBlockPointerType() ||
   99       T->isFunctionPointerType() ||
  100       T->isObjCSelType())
  106   if (T->isAnyPointerType() || T->isReferenceType())
  106   if (T->isAnyPointerType() || T->isReferenceType())
  107     T = T->getPointeeType();
  109   if (const RecordType *RT = T->getAsStructureType()) {
  113       if (FieldT->isBlockPointerType() || FieldT->isFunctionPointerType())
  113       if (FieldT->isBlockPointerType() || FieldT->isFunctionPointerType())
  121   if (const auto *PT = T->getAs<PointerType>()) {
  125     return PointeeTy->isVoidType();
  262   QualType PointeeTy = Ty->getPointeeType();
  267   if (PointeeTy->isAnyPointerType())
  479       if (const FunctionType *FT = Ty->getAs<FunctionType>())
  481       if (!Ty->isDependentType())
  696     if (T->isPointerType()) // Arrow or implicit-this syntax?
  697       T = T->getPointeeType();
  698     const CXXRecordDecl *ParentRecord = T->getAsCXXRecordDecl();
  745   QualType RegionType = DynType.getType()->getPointeeType();
  748   const CXXRecordDecl *RD = RegionType->getAsCXXRecordDecl();
 1370   } else if (CE->getCallee()->getType()->isBlockPointerType()) {
tools/clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
  102   const auto *AttrType = Type->getAs<AttributedType>();
tools/clang/lib/StaticAnalyzer/Core/DynamicType.cpp
  100     assert((CastToTy->isAnyPointerType() || CastToTy->isReferenceType()) &&
  100     assert((CastToTy->isAnyPointerType() || CastToTy->isReferenceType()) &&
  160       Out << '\"' << DTI.getType()->getPointeeType().getAsString()
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  333            Result->getType()->isMemberPointerType());
  858       if (Init->getType()->isArrayType()) {
  866         if (!Field->getType()->isReferenceType())
  960   if (varType->isReferenceType()) {
  998     const CXXRecordDecl *RD = BTy->getAsCXXRecordDecl();
 1480                                       ->getType()->isRecordType()))
 2005     if (!T->isIntegralOrEnumerationType())
 2020   if (!bitsInit || !T->isIntegralOrEnumerationType() ||
 2133         if (Ex->getType()->isIntegralOrEnumerationType()) {
 2407   if (CondExpr->getType()->getAs<EnumType>()) {
 2430     assert(Ex->isGLValue() || VD->getType()->isVoidType());
 2460     bool IsReference = VInfo->second->isReferenceType();
 2522   bool IsVectorType = A->getBase()->getType()->isVectorType();
 2540       if (T->isVoidType())
 2607       if (M->isGLValue() || M->getType()->isArrayType()) {
 2613           assert(M->getType()->isArrayType());
 2621         if (field->getType()->isReferenceType()) {
 2697       if (const auto *RD = VR->getValueType()->getAsCXXRecordDecl())
tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
   33       Ty->isIntegralOrEnumerationType() &&
  263   if (T->isLValueReferenceType()) {
  264     assert(!CastE->getType()->isLValueReferenceType());
  266   } else if (T->isRValueReferenceType()) {
  267     assert(!CastE->getType()->isRValueReferenceType());
  465           if (T->isReferenceType()) {
  661   if (B->getType()->isVectorType()) {
  743       (T->isArrayType() || T->isRecordType() || T->isVectorType() ||
  743       (T->isArrayType() || T->isRecordType() || T->isVectorType() ||
  743       (T->isArrayType() || T->isRecordType() || T->isVectorType() ||
  744        T->isAnyComplexType())) {
  853     assert(OOE->getType()->castAs<BuiltinType>()->isInteger());
  854     assert(IV.isSigned() == OOE->getType()->isSignedIntegerType());
  880       if (!T->isIncompleteType() && !T->isConstantSizeType()) {
  880       if (!T->isIncompleteType() && !T->isConstantSizeType()) {
  881         assert(T->isVariableArrayType() && "Unknown non-constant-sized type.");
  886       } else if (T->getAs<ObjCObjectType>()) {
  947       if (Ex->getType()->isAnyComplexType()) {
  964       if (Ex->getType()->isAnyComplexType()) {
 1039           } else if (Ex->getType()->isFloatingType()) {
 1106     if (U->getType()->isAnyPointerType())
 1108     else if (U->getType()->isIntegralOrEnumerationType())
 1117     if (U->getType()->isBooleanType() && U->isIncrementOp())
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
  175                            MR, NE->getType()->getPointeeType())));
  287           if (!VD->getType()->isReferenceType()) {
  612   const CXXRecordDecl *RecordDecl = ObjectType->getAsCXXRecordDecl();
  718       if (const auto *ProtoType = Ty->getAs<FunctionProtoType>())
  793       if (const auto *ProtoType = Ty->getAs<FunctionProtoType>())
  808       QualType ObjTy = CNE->getType()->getPointeeType();
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
  138   if (ExpectedTy->isObjCObjectPointerType() &&
  139       ActualTy->isObjCObjectPointerType())
  143   const CXXRecordDecl *ExpectedClass = ExpectedTy->getPointeeCXXRecordDecl();
  144   const CXXRecordDecl *ActualClass = ActualTy->getPointeeCXXRecordDecl();
  149         !Paths.isAmbiguous(ActualTy->getCanonicalTypeUnqualified())) {
tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
  172   if (T->isIncompleteType())
  912           if (!T->getAs<FunctionType>())
 1058   const CXXRecordDecl *Class = Super->getValueType()->getAsCXXRecordDecl();
 1066     if (I.getType()->getAsCXXRecordDecl()->getCanonicalDecl() == BaseClass)
 1102   const auto *PT = thisPointerTy->getAs<PointerType>();
 1111                                PT != D->getThisType()->getAs<PointerType>())) {
 1251         if (elemType->isIncompleteType()) {
 1287     if (I.getType()->getAsCXXRecordDecl() == Base)
 1353         Ty = SR->getSymbol()->getType()->getPointeeType();
 1357       const CXXRecordDecl *Child = Ty->getAsCXXRecordDecl();
 1403       if (EleTy->isIncompleteType()) {
tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
  254     if (Loc::isLocType(T) || T->isIntegralOrEnumerationType())
  270   if (!T.isNull() && (T->isIntegralOrEnumerationType() || Loc::isLocType(T))) {
tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
  457   bool IsUnsigned = T->isUnsignedIntegerType();
  505   if (T->isReferenceType())
  533             T->isSignedIntegerOrEnumerationType())
tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
  108   if (!T->isIntegralOrEnumerationType())
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
 1083     if (const auto *RD = TO->getValueType()->getAsCXXRecordDecl()) {
 1169   if (T->isRecordType()) {
 1473         T = TR->getLocationType()->getPointeeType();
 1475         T = SR->getSymbol()->getType()->getPointeeType();
 1478     assert(!T->isVoidType() && "Attempting to dereference a void pointer!");
 1491   if (RTy->isAnyComplexType())
 1502   if (RTy->isStructureOrClassType())
 1506   if (RTy->isUnionType())
 1509   if (RTy->isArrayType()) {
 1510     if (RTy->isConstantArrayType())
 1517   if (RTy->isVectorType())
 1606       !RegionTy->isVoidPointerType()) {
 1757     if (baseT->isScalarType()) {
 1759       if (elemT->isScalarType()) {
 1942         if (typedSuperR->getValueType()->isVectorType())
 2111   const RecordDecl *RD = R->getValueType()->castAs<RecordType>()->getDecl();
 2176     if (Ty->isArrayType())
 2178     if (Ty->isStructureOrClassType())
 2180     if (Ty->isVectorType())
 2182     if (Ty->isUnionType())
 2190     if (T->isAnyPointerType() || T->isReferenceType())
 2190     if (T->isAnyPointerType() || T->isReferenceType())
 2191       T = T->getPointeeType();
 2212   else if (T->isIntegralOrEnumerationType())
 2214   else if (T->isStructureOrClassType() || T->isArrayType()) {
 2214   else if (T->isStructureOrClassType() || T->isArrayType()) {
 2273     if (ElementTy->isStructureOrClassType())
 2275     else if (ElementTy->isArrayType())
 2294   const VectorType *VT = T->castAs<VectorType>(); // Use castAs for typedefs.
 2320     if (ElemType->isArrayType())
 2322     else if (ElemType->isStructureOrClassType())
 2351     if (!(Ty->isScalarType() || Ty->isReferenceType()))
 2351     if (!(Ty->isScalarType() || Ty->isReferenceType()))
 2377   assert(T->isStructureOrClassType());
 2379   const RecordType* RT = T->castAs<RecordType>();
 2443       assert(BTy->isStructureOrClassType() && "Base classes must be classes!");
 2445       const CXXRecordDecl *BRD = BTy->getAsCXXRecordDecl();
 2471     if (FTy->isArrayType())
 2473     else if (FTy->isStructureOrClassType())
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
   56   if (type->isIntegralOrEnumerationType())
   59   if (type->isArrayType() || type->isRecordType() || type->isVectorType() ||
   59   if (type->isArrayType() || type->isRecordType() || type->isVectorType() ||
   59   if (type->isArrayType() || type->isRecordType() || type->isVectorType() ||
   60       type->isAnyComplexType())
  121   if (T->isNullPtrType())
  141   if (T->isNullPtrType())
  158   if (type->isNullPtrType())
  176   if (type->isNullPtrType())
  197   if (T->isNullPtrType())
  225   if (T->isNullPtrType())
  477   if (ToTy->isVoidType())
  501                     castTy->isUnsignedIntegerType());
  531   if (castTy->isBooleanType()) {
  537         !originalTy->isIntegralOrEnumerationType() &&
  538         !originalTy->isMemberPointerType())
  555   if (!castTy->isVariableArrayType() && !originalTy->isVariableArrayType())
  555   if (!castTy->isVariableArrayType() && !originalTy->isVariableArrayType())
  561   if (castTy->isIntegralOrEnumerationType() && Loc::isLocType(originalTy))
  565   if (Loc::isLocType(castTy) && originalTy->isIntegralOrEnumerationType()) {
  578   if (originalTy->isBlockPointerType() || originalTy->isFunctionPointerType()) {
  578   if (originalTy->isBlockPointerType() || originalTy->isFunctionPointerType()) {
  592     if (castTy->isPointerType() || castTy->isReferenceType())
  592     if (castTy->isPointerType() || castTy->isReferenceType())
  597     assert(castTy->isIntegralOrEnumerationType());
  609     if (castTy->isIntegralOrEnumerationType())
  641     assert(Loc::isLocType(originalTy) || originalTy->isFunctionType() ||
  642            originalTy->isBlockPointerType() || castTy->isReferenceType());
  642            originalTy->isBlockPointerType() || castTy->isReferenceType());
tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
  111   if (castTy->isBooleanType()) {
  118   if (!isLocType && !castTy->isIntegralOrEnumerationType())
  138   if (Loc::isLocType(castTy) || castTy->isReferenceType())
  143   if (castTy->isUnionType())
  148   if (castTy->isBooleanType()) {
  174   if (castTy->isIntegralOrEnumerationType()) {
  303       if (RHS.isSigned() && !SymbolType->isSignedIntegerOrEnumerationType())
  336   assert(T->isSignedIntegerOrEnumerationType() &&
  485   if (!SingleTy->isSignedIntegerOrEnumerationType())
  526         if (resultTy->isIntegralOrEnumerationType())
  701             assert(resultTy->isBooleanType() ||
  703             assert(symIntExpr->getType()->isBooleanType() ||
 1149       QualType pointeeType = resultTy->getPointeeType();
 1192       if (resultTy->isAnyPointerType())
 1193         elementType = resultTy->getPointeeType();
 1199     if (elementType->isVoidType())
tools/clang/lib/StaticAnalyzer/Core/Store.cpp
   78   if (CastToTy->isObjCObjectPointerType())
   81   if (CastToTy->isBlockPointerType()) {
   96   QualType PointeeTy = CastToTy->getPointeeType();
  200       if (!PointeeTy->isIncompleteType()) {
  237   const CXXRecordDecl *RD = TVR->getValueType()->getAsCXXRecordDecl();
  241   const CXXRecordDecl *Expected = Ty->getPointeeCXXRecordDecl();
  243     Expected = Ty->getAsCXXRecordDecl();
  279   const CXXRecordDecl *BaseDecl = BaseType->getPointeeCXXRecordDecl();
  281     BaseDecl = BaseType->getAsCXXRecordDecl();
  288       if (SR->getSymbol()->getType()->getPointeeCXXRecordDecl() == BaseDecl)
  308     return TVR->getValueType()->getAsCXXRecordDecl();
  310     return SR->getSymbol()->getType()->getPointeeCXXRecordDecl();
  323   TargetType = TargetType->getPointeeType();
  325   const CXXRecordDecl *TargetClass = TargetType->getAsCXXRecordDecl();
  326   if (!TargetClass && !TargetType->isVoidType())
  339     if (!TargetType->isVoidType() && MRClass->hasDefinition()) {
  355     if (TargetType->isVoidType())
  384     const CXXRecordDecl *SourceClass = T->getPointeeCXXRecordDecl();
  409   if (castTy->isFloatingType()) {
  411     if (Sym && !Sym->getType()->isFloatingType())
  423   if (castTy->isPointerType() && !castTy->isVoidPointerType())
  423   if (castTy->isPointerType() && !castTy->isVoidPointerType())
tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
  354   if (T->isIntegralOrEnumerationType())
  357   if (T->isRecordType() && !T->isUnionType())
  357   if (T->isRecordType() && !T->isUnionType())
tools/clang/lib/Tooling/Refactoring/Extract/Extract.cpp
  164     if (IsExpr && !ReturnType->isVoidType())
tools/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
  452     if (const auto* TT = Loc.getType()->getAs<clang::TypedefType>())
  454     if (const auto *RD = Loc.getType()->getAsCXXRecordDecl())
  457             llvm::dyn_cast_or_null<EnumDecl>(Loc.getType()->getAsTagDecl()))
tools/clang/lib/Tooling/Transformer/Stencil.cpp
  208             E->getType()->isAnyPointerType()
tools/clang/tools/extra/clang-change-namespace/ChangeNamespace.cpp
  918   if (auto *Typedef = Type.getType()->getAs<TypedefType>()) {
  923                  Type.getType()->getAs<TemplateSpecializationType>()) {
tools/clang/tools/extra/clang-doc/Serialize.cpp
  218   if (const RecordDecl *D = T->getAsRecordDecl())
  336     if (const auto *Ty = B.getType()->getAs<TemplateSpecializationType>()) {
  442     if (const RecordType *Ty = B.getType()->getAs<RecordType>()) {
  451         if (const auto *Ty = B.getType()->getAs<TemplateSpecializationType>()) {
tools/clang/tools/extra/clang-include-fixer/IncludeFixer.cpp
  156   std::string QueryString = QualType(T->getUnqualifiedDesugaredType(), 0)
tools/clang/tools/extra/clang-tidy/abseil/DurationConversionCastCheck.cpp
   53   if (MatchedCast->getTypeAsWritten()->isIntegerType() &&
   68   if (MatchedCast->getTypeAsWritten()->isRealFloatingType() &&
tools/clang/tools/extra/clang-tidy/boost/UseToStringCheck.cpp
   49   if (CharType->isSpecificBuiltinType(BuiltinType::Char_S) ||
   50       CharType->isSpecificBuiltinType(BuiltinType::Char_U))
   52   else if (CharType->isSpecificBuiltinType(BuiltinType::WChar_S) ||
   53            CharType->isSpecificBuiltinType(BuiltinType::WChar_U))
tools/clang/tools/extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
   40         if (LeftVar->hasInit() && LeftVar->getType()->isReferenceType()) {
tools/clang/tools/extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
   88     return T->isIntegerType() ? Context.getIntWidth(T) : 1024U;
  212         dyn_cast<BuiltinType>(CastType->getUnqualifiedDesugaredType());
  214         dyn_cast<BuiltinType>(CalcType->getUnqualifiedDesugaredType());
tools/clang/tools/extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
   33            auto *BaseDecl = Base.getType()->getAsCXXRecordDecl();
   44     const auto *BaseDecl = Base.getType()->getAsCXXRecordDecl();
tools/clang/tools/extra/clang-tidy/bugprone/StringIntegerAssignmentCheck.cpp
  153   bool IsWideCharType = CharType->isWideCharType();
  154   if (!CharType->isCharType() && !IsWideCharType)
tools/clang/tools/extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
  101   assert(IntExprType->isIntegerType());
  103   return IntExprType->isUnsignedIntegerType()
  122     if (!RHSEType->isIntegerType() || !LHSEType->isIntegerType())
  122     if (!RHSEType->isIntegerType() || !LHSEType->isIntegerType())
  125     bool RHSEIsConstantValue = RHSEType->isEnumeralType() ||
  128     bool LHSEIsConstantValue = LHSEType->isEnumeralType() ||
tools/clang/tools/extra/clang-tidy/bugprone/UndefinedMemoryManipulationCheck.cpp
   52     if (!DestType->getPointeeType().isNull())
   53       DestType = DestType->getPointeeType();
   60     if (!SourceType->getPointeeType().isNull())
   61       SourceType = SourceType->getPointeeType();
tools/clang/tools/extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
   43                               ->getAs<FunctionType>()
   47                                  ->getAs<FunctionType>()
   51   if (DerivedReturnTy->isDependentType() || BaseReturnTy->isDependentType())
   51   if (DerivedReturnTy->isDependentType() || BaseReturnTy->isDependentType())
   61   if (!(BaseReturnTy->isPointerType() && DerivedReturnTy->isPointerType()) &&
   61   if (!(BaseReturnTy->isPointerType() && DerivedReturnTy->isPointerType()) &&
   62       !(BaseReturnTy->isReferenceType() && DerivedReturnTy->isReferenceType()))
   62       !(BaseReturnTy->isReferenceType() && DerivedReturnTy->isReferenceType()))
   68   QualType DTy = DerivedReturnTy->getPointeeType().getCanonicalType();
   69   QualType BTy = BaseReturnTy->getPointeeType().getCanonicalType();
   71   const CXXRecordDecl *DRD = DTy->getAsCXXRecordDecl();
   72   const CXXRecordDecl *BRD = BTy->getAsCXXRecordDecl();
  125   if (const auto *Decayed = Type->getAs<DecayedType>())
  240     if (const auto *BaseRD = BaseSpec.getType()->getAsCXXRecordDecl()) {
tools/clang/tools/extra/clang-tidy/cert/PostfixOperatorCheck.cpp
   50   if (const auto *RefType = ReturnType->getAs<ReferenceType>()) {
   55     if (Location.isMacroID() || ReturnType->getAs<TypedefType>() ||
   56         RefType->getPointeeTypeAsWritten()->getAs<TypedefType>())
   63     if (!ReturnType->getPointeeType().isConstQualified())
   73   if (ReturnType.isConstQualified() || ReturnType->isBuiltinType() ||
   74       ReturnType->isPointerType())
   82   if (!Location.isMacroID() && !ReturnType->getAs<TypedefType>())
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/InitVariablesCheck.cpp
   74   if (TypePtr->isIntegerType())
   76   else if (TypePtr->isFloatingType()) {
   79   } else if (TypePtr->isAnyPointerType()) {
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
  295   bool DestSigned = DestType->isSignedIntegerOrEnumerationType();
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeCstyleCastCheck.cpp
   23   while (SourceType->isPointerType() && DestType->isPointerType()) {
   23   while (SourceType->isPointerType() && DestType->isPointerType()) {
   24     SourceType = SourceType->getPointeeType();
   25     DestType = DestType->getPointeeType();
   56     const auto *SourceDecl = SourceType->getPointeeCXXRecordDecl();
   58       SourceDecl = SourceType->getAsCXXRecordDecl();
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
   39       if (const CXXRecordDecl *R = F->getType()->getAsCXXRecordDecl())
  166   if (const auto *RT = Type.getCanonicalType()->getAs<RecordType>())
  323   if (T->isIncompleteArrayType())
  337   if (const CXXRecordDecl *ClassDecl = Type->getAsCXXRecordDecl()) {
  348   if (QT->isPointerType())
  461     if (F->getType()->isEnumeralType() ||
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeStaticCastDowncastCheck.cpp
   35   const auto *SourceDecl = SourceType->getPointeeCXXRecordDecl();
   37     SourceDecl = SourceType->getAsCXXRecordDecl();
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp
   91     if (const auto *BaseRecordType = Base.getType()->getAs<RecordType>()) {
tools/clang/tools/extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
   74     const auto *Ty = I.getType()->getAs<RecordType>();
  107       const auto *Ty = I.getType()->getAs<RecordType>();
  116       const auto *Ty = V.getType()->getAs<RecordType>();
tools/clang/tools/extra/clang-tidy/fuchsia/TrailingReturnCheck.cpp
   22   return Node.getType()->castAs<FunctionProtoType>()->hasTrailingReturn();
tools/clang/tools/extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
   37   while ((SourceType->isPointerType() && DestType->isPointerType()) ||
   37   while ((SourceType->isPointerType() && DestType->isPointerType()) ||
   38          (SourceType->isReferenceType() && DestType->isReferenceType())) {
   38          (SourceType->isReferenceType() && DestType->isReferenceType())) {
   39     SourceType = SourceType->getPointeeType();
   40     DestType = DestType->getPointeeType();
   42       return (SourceType->isPointerType() == DestType->isPointerType()) &&
   42       return (SourceType->isPointerType() == DestType->isPointerType()) &&
   43              (SourceType->isReferenceType() == DestType->isReferenceType());
   43              (SourceType->isReferenceType() == DestType->isReferenceType());
   50   while ((T1->isPointerType() && T2->isPointerType()) ||
   50   while ((T1->isPointerType() && T2->isPointerType()) ||
   51          (T1->isReferenceType() && T2->isReferenceType())) {
   51          (T1->isReferenceType() && T2->isReferenceType())) {
   52     T1 = T1->getPointeeType();
   53     T2 = T2->getPointeeType();
   72     return T->isFunctionType() || T->isFunctionPointerType() ||
   72     return T->isFunctionType() || T->isFunctionPointerType() ||
   73            T->isMemberFunctionPointerType();
   90       DestTypeAsWritten->isRecordType() &&
   91       !DestTypeAsWritten->isElaboratedTypeSpecifier();
  187     if (DestType->isReferenceType()) {
  202     if ((SourceType->isBuiltinType() || SourceType->isEnumeralType()) &&
  202     if ((SourceType->isBuiltinType() || SourceType->isEnumeralType()) &&
  203         (DestType->isBuiltinType() || DestType->isEnumeralType())) {
  203         (DestType->isBuiltinType() || DestType->isEnumeralType())) {
  211       if (SourceType->isVoidPointerType())
tools/clang/tools/extra/clang-tidy/google/ExplicitConstructorCheck.cpp
   75   if (const auto *TS = Type->getAs<TemplateSpecializationType>()) {
   79   if (const auto *RT = Type->getAs<RecordType>()) {
tools/clang/tools/extra/clang-tidy/google/NonConstReferences.cpp
   82   if (ReferencedType->isFunctionProtoType())
   86   if (ReferencedType->isDependentType())
  111           return T->isReferenceType() &&
tools/clang/tools/extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
   84   if (T->isBooleanType())
   86   else if (T->isIntegralType(Context))
tools/clang/tools/extra/clang-tidy/llvm/TwineLocalCheck.cpp
   47     if (VD->getType()->getCanonicalTypeUnqualified() ==
   48         C->getType()->getCanonicalTypeUnqualified()) {
tools/clang/tools/extra/clang-tidy/misc/MisplacedConstCheck.cpp
   35   if (!QT->isPointerType())
   42       QualType(QT->getPointeeType().getTypePtr(), Qualifiers::Const));
tools/clang/tools/extra/clang-tidy/misc/NewDeleteOverloadsCheck.cpp
   55   const auto *FPT = Node.getType()->castAs<FunctionProtoType>();
  119     if (BS.getType()->isDependentType())
  121     if (const auto *BaseRD = BS.getType()->getAsCXXRecordDecl())
tools/clang/tools/extra/clang-tidy/misc/RedundantExpressionCheck.cpp
  462   return ParamType->isReferenceType() &&
  481       !OperatorDecl->getType()->castAs<FunctionType>()->isConst())
tools/clang/tools/extra/clang-tidy/misc/StaticAssertCheck.cpp
  104   if (IsAlwaysFalse && (!CastExpr || CastExpr->getType()->isPointerType())) {
tools/clang/tools/extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
   75   if (qualType->isPointerType()) {
  142   if (const auto *PT = caughtType.getCanonicalType()->getAs<PointerType>()) {
  148     if (!PT->getPointeeType()->isAnyCharacterType())
  150   } else if (!caughtType->isReferenceType()) {
tools/clang/tools/extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
  119       if (const auto *ET = ECD->getType()->getAs<EnumType>())
  135       if (auto *RD = Used->getAsType()->getAsCXXRecordDecl())
tools/clang/tools/extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.cpp
   57   bool Fix = HasReplacement && !TL->getType()->isDependentType();
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertCheck.cpp
  402          !Cast->getType().isNull() && Cast->getType()->isFundamentalType()))
  440       if (!CType->isPointerType())
  442       CType = CType->getPointeeType();
  539     if (AliasVarType->isReferenceType()) {
  618   if (!Descriptor.ElemType.isNull() && Descriptor.ElemType->isFundamentalType())
  695       if (!Type->isPointerType()) {
  698       Type = Type->getPointeeType();
  740           CanonicalInitVarType->getPointeeType().isConstQualified();
  741       Descriptor.ElemType = CanonicalInitVarType->getPointeeType();
  790     if (CanonicalBeginType->isPointerType() &&
  791         CanonicalInitVarType->isPointerType()) {
  795               CanonicalBeginType->getPointeeType(),
  796               CanonicalInitVarType->getPointeeType()))
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertUtils.cpp
  256   return Idx && Idx->getType()->isIntegerType() &&
  371     if (!DeclarationType.isNull() && DeclarationType->isReferenceType())
  572     if (!ExprType->isPointerType())
tools/clang/tools/extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
  125   if (New->getType()->getPointeeType()->getContainedAutoType())
  125   if (New->getType()->getPointeeType()->getContainedAutoType())
  409       if (const CXXRecordDecl *RD = New->getType()->getPointeeCXXRecordDecl()) {
tools/clang/tools/extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
   23   if (auto PT = QT->getAs<PointerType>()) {
   26   if (auto *MPT = QT->getAs<MemberPointerType>()) {
   29   if (auto FP = QT->getAs<FunctionProtoType>()) {
tools/clang/tools/extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
   21   switch (InitType->getScalarTypeKind()) {
   32     switch (InitType->castAs<BuiltinType>()->getKind()) {
   50     switch (InitType->castAs<BuiltinType>()->getKind()) {
   61         InitType->castAs<ComplexType>()->getElementType());
   64     switch (InitType->castAs<BuiltinType>()->getKind()) {
  259   bool CanAssign = UseAssignment && (!ValueInit || !Init->getInit()->getType()->isEnumeralType());
tools/clang/tools/extra/clang-tidy/modernize/UseNodiscardCheck.cpp
   54   return Node.getReturnType()->isTemplateTypeParmType() ||
   55          Node.getReturnType()->isInstantiationDependentType();
   62   return Node->isInstantiationDependentType();
   71   return (Node->isTemplateTypeParmType() || Node->isPointerType() ||
   71   return (Node->isTemplateTypeParmType() || Node->isPointerType() ||
   72           (Node->isReferenceType() &&
   74           Node->isInstantiationDependentType());
tools/clang/tools/extra/clang-tidy/modernize/UseNoexceptCheck.cpp
   68     FnTy = FuncDecl->getType()->getAs<FunctionProtoType>();
   75                ->getAs<Type>()
   77                ->getAs<FunctionProtoType>();
tools/clang/tools/extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
  251   if (Type->isPointerType())
  253                            Type->castAs<PointerType>()->getPointeeType());
  254   if (Type->isReferenceType())
  256                            Type->castAs<ReferenceType>()->getPointeeType());
  401   if (F->getDeclaredReturnType()->isFunctionPointerType() ||
  402       F->getDeclaredReturnType()->isMemberFunctionPointerType() ||
  403       F->getDeclaredReturnType()->isMemberPointerType() ||
  404       F->getDeclaredReturnType()->getAs<DecltypeType>() != nullptr) {
tools/clang/tools/extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
  102       FunctorParentLoc.getType()->castAs<TemplateSpecializationType>();
  108     if (ParentArgType->isRecordType() &&
  109         ParentArgType->getAsCXXRecordDecl() ==
  110             Functor->getAsType()->getAsCXXRecordDecl())
tools/clang/tools/extra/clang-tidy/modernize/UseUsingCheck.cpp
   95   if (MatchedDecl->getUnderlyingType()->isArrayType() || StartLoc.isMacroID())
tools/clang/tools/extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp
   21   if (const auto *LeftRefType = Left->getAs<ReferenceType>())
   23   if (const auto *RightRefType = Right->getAs<ReferenceType>())
   25   return Left->getCanonicalTypeUnqualified() ==
   26          Right->getCanonicalTypeUnqualified();
tools/clang/tools/extra/clang-tidy/performance/MoveConstArgCheck.cpp
   79     if (const CXXRecordDecl *R = Arg->getType()->getAsCXXRecordDecl()) {
tools/clang/tools/extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
   60   const auto *RD = QT->getAsCXXRecordDecl();
tools/clang/tools/extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp
   45     const auto *ProtoType = Decl->getType()->getAs<FunctionProtoType>();
tools/clang/tools/extra/clang-tidy/portability/SIMDIntrinsicsCheck.cpp
   28   bool IsVector = Node.getReturnType()->isVectorType();
   31     if (Type->isPointerType())
   32       Type = Type->getPointeeType();
   33     if (Type->isVectorType())
tools/clang/tools/extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
  121   if (E->getType()->isPointerType())
tools/clang/tools/extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
   47     return Type->isUnsignedIntegerType() ? "0u" : "0";
  202       (DestType->isPointerType() || DestType->isMemberPointerType()) &&
  202       (DestType->isPointerType() || DestType->isMemberPointerType()) &&
  207   if (DestType->isFloatingType()) {
  214   if (DestType->isUnsignedIntegerType()) {
tools/clang/tools/extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
   62     const auto *Pointee = T->getPointeeType()->castAs<FunctionType>();
  150   if (FirstDecl->getType()->isFunctionPointerType())
tools/clang/tools/extra/clang-tidy/readability/NamedParameterCheck.cpp
   56         Parm->getType()->isSpecificBuiltinType(BuiltinType::Int))
   65     if (auto Typedef = Parm->getType()->getAs<clang::TypedefType>())
   70     if (Parm->getType().getCanonicalType()->isNullPtrType())
tools/clang/tools/extra/clang-tidy/readability/NonConstParameterCheck.cpp
   94     if ((T->isPointerType() && !T->getPointeeType().isConstQualified()) ||
   94     if ((T->isPointerType() && !T->getPointeeType().isConstQualified()) ||
   95         T->isArrayType())
  103   if (!T->isPointerType() || T->getPointeeType().isConstQualified() ||
  103   if (!T->isPointerType() || T->getPointeeType().isConstQualified() ||
  104       !(T->getPointeeType()->isIntegerType() ||
  104       !(T->getPointeeType()->isIntegerType() ||
  105         T->getPointeeType()->isFloatingType()))
  105         T->getPointeeType()->isFloatingType()))
  163     if (T->isPointerType() && T->getPointeeType().isConstQualified())
  163     if (T->isPointerType() && T->getPointeeType().isConstQualified())
  179       if (T->isPointerType() && !T->getPointeeType().isConstQualified())
  179       if (T->isPointerType() && !T->getPointeeType().isConstQualified())
tools/clang/tools/extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
  155         ImpCast->getSubExpr()->getType()->isBooleanType()) {
  168   return !E->getType()->isBooleanType();
tools/clang/tools/extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
   20   if (const ElaboratedType *ElType = QType->getAs<ElaboratedType>()) {
   63       BaseExpr->getType()->isPointerType()
   64           ? BaseExpr->getType()->getPointeeType().getUnqualifiedType()
tools/clang/tools/extra/clang-tidy/readability/UniqueptrDeleteReleaseCheck.cpp
   50   if (PtrExpr->getType()->isDependentType())
tools/clang/tools/extra/clang-tidy/utils/ExceptionAnalyzer.cpp
  127   if (const auto *FPT = Func->getType()->getAs<FunctionProtoType>()) {
  146           ThrownExpr->getType()->getUnqualifiedDesugaredType();
  150                          ->getUnqualifiedDesugaredType();
  152           ThrownExpr->getType()->getUnqualifiedDesugaredType());
  172             Catch->getCaughtType()->getUnqualifiedDesugaredType();
  176                            ->getUnqualifiedDesugaredType();
tools/clang/tools/extra/clang-tidy/utils/TypeTraits.cpp
   22   auto *Record = Type->getAsCXXRecordDecl();
   29   auto *Record = Type->getAsCXXRecordDecl();
   43   if (Type->isDependentType() || Type->isIncompleteType())
   43   if (Type->isDependentType() || Type->isIncompleteType())
   48          !Type->isObjCLifetimeType();
   96   if (Type->isArrayType())
  102   if (Type->isIncompleteType())
  116       if (Type->isObjCLifetimeType())
  123   if (CanonicalType->isDependentType())
  127   if (CanonicalType->isScalarType() || CanonicalType->isVectorType())
  127   if (CanonicalType->isScalarType() || CanonicalType->isVectorType())
  130   if (const auto *RT = CanonicalType->getAs<RecordType>()) {
  139   auto *Record = Type->getAsCXXRecordDecl();
  145   auto *Record = Type->getAsCXXRecordDecl();
tools/clang/tools/extra/clangd/ExpectedTypes.cpp
   23   if (T.isNull() || T->isDependentType())
   28   if (T->isBooleanType())
   30   if (T->isIntegerType() && !T->isEnumeralType())
   30   if (T->isIntegerType() && !T->isEnumeralType())
   32   if (T->isFloatingType() && !T->isComplexType())
   32   if (T->isFloatingType() && !T->isComplexType())
   36   if (T->isArrayType()) // Decay arrays to pointers.
   37     return Ctx.getPointerType(QualType(T->getArrayElementTypeNoTypeQual(), 0))
   58   if (auto FuncT = T->getAs<FunctionType>()) {
tools/clang/tools/extra/clangd/Selection.cpp
  132       OS << TL->getType()->getTypeClassName() << "TypeLoc";
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp
  260     auto *AT = D->getType()->getContainedAutoType();
tools/clang/tools/extra/clangd/XRefs.cpp
  575       while (!QT->getPointeeType().isNull())
  576         QT = QT->getPointeeType();
  578       if (const auto *CD = QT->getAsCXXRecordDecl())
  783     if (auto *AT = D->getType()->getContainedAutoType()) {
  812     const AutoType *AT = D->getReturnType()->getContainedAutoType();
tools/clang/tools/libclang/CIndex.cpp
  562     if (const ObjCObjectType *ObjT = A->getInterface()->getAs<ObjCObjectType>())
  792   if (const FunctionType *AFT = Ty->getAs<FunctionType>()) {
 1556     if (const TypedefType *Typedef = VisitType->getAs<TypedefType>())
 3911     if (rettype->isVectorType() || callExpr->getNumArgs() > 1)
 3914     if (rettype->isIntegralType(ctx) || rettype->isRealFloatingType()) {
 3914     if (rettype->isIntegralType(ctx) || rettype->isRealFloatingType()) {
 3916           !callExpr->getArg(0)->getType()->isIntegralType(ctx))
tools/clang/tools/libclang/CIndexCodeCompletion.cpp
  616         if (const TagType *Tag = baseType->getAs<TagType>())
  621                  baseType->getAs<ObjCObjectPointerType>())
  624         else if (const ObjCObjectType *Obj = baseType->getAs<ObjCObjectType>())
  628                  baseType->getAs<InjectedClassNameType>())
tools/clang/tools/libclang/CXCursor.cpp
 1133   if (const ElaboratedType *ElabT = Ty->getAs<ElaboratedType>()) {
 1139   if (const TypedefType *Typedef = Ty->getAs<TypedefType>())
 1141   if (const TagType *Tag = Ty->getAs<TagType>())
 1143   if (const TemplateTypeParmType *TemplP = Ty->getAs<TemplateTypeParmType>())
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
  317     if (const ObjCObjectType *ObjectTy = Ty->getAs<ObjCObjectType>()) {
  347     if (const TypedefType *TDT = T->getAs<TypedefType>()) {
  350           TST = T->getAs<TemplateSpecializationType>()) {
  352     } else if (const RecordType *RT = T->getAs<RecordType>()) {
tools/clang/tools/libclang/CXType.cpp
  130     if (auto *ATT = T->getAs<AttributedType>()) {
  138     if (auto *PTT = T->getAs<ParenType>()) {
  154     if (const DecayedType *DT = T->getAs<DecayedType>()) {
  179   if (const auto *Specialization = Type->getAs<TemplateSpecializationType>())
  182   if (const auto *RecordDecl = Type->getAsCXXRecordDecl()) {
  433   const TypedefType *TT = T->getAs<TypedefType>();
  633   if (const FunctionProtoType *FD = T->getAs<FunctionProtoType>())
  636   if (T->getAs<FunctionNoProtoType>())
  647   if (const FunctionType *FD = T->getAs<FunctionType>()) {
  681   if (const FunctionProtoType *FD = T->getAs<FunctionProtoType>()) {
  685   if (T->getAs<FunctionNoProtoType>()) {
  697   if (const FunctionProtoType *FD = T->getAs<FunctionProtoType>()) {
  713   if (const FunctionType *FD = T->getAs<FunctionType>())
  766   if (const auto *FD = T->getAs<FunctionProtoType>())
  891   return QT->isIncompleteArrayType() || !QT->isIncompleteType();
  891   return QT->isIncompleteArrayType() || !QT->isIncompleteType();
  902   if (QT->isReferenceType())
  906   if (QT->isDependentType())
  934   if (QT->isReferenceType())
  942   if (QT->isIncompleteType())
  944   if (QT->isDependentType())
  946   if (!QT->isConstantSizeType())
  954   if (QT->isVoidType() || QT->isFunctionType())
  954   if (QT->isVoidType() || QT->isFunctionType())
  960   return QT->isIncompleteType() && !QT->isIncompleteArrayType();
  960   return QT->isIncompleteType() && !QT->isIncompleteArrayType();
  968     if (FQT->isDependentType())
  971     if (const RecordType *ChildType = I->getType()->getAs<RecordType>()) {
  998   if (RT->isIncompleteType())
 1000   if (RT->isDependentType())
 1045   if (auto *ATT = T->getAs<AttributedType>())
 1074   const FunctionProtoType *FD = QT->getAs<FunctionProtoType>();
 1309   if (auto nullability = T->getNullability(Ctx)) {
tools/clang/unittests/AST/ASTImporterTest.cpp
 4235   ASSERT_TRUE(ToD->getUnderlyingType()->isIncompleteType());
 4247   ASSERT_FALSE(FromD->getUnderlyingType()->isIncompleteType());
 4251   EXPECT_FALSE(ImportedD->getUnderlyingType()->isIncompleteType());
tools/clang/unittests/AST/ASTTraverserTest.cpp
  230   ASSERT_TRUE(TL.getType()->isPointerType());
tools/clang/unittests/AST/SourceLocationTest.cpp
  687       if (TL.getType()->isPointerType()) {
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp
  333     if (expr_qual_type->getAs<ObjCObjectType>() != nullptr)
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
  351               ClangUtil::GetQualType(clang_type)->getAs<TagType>();
  389             ClangUtil::GetQualType(clang_type)->getAs<TagType>();
 1841         const RecordType *base_record_type = base_type->getAs<RecordType>();
 2079       copied_qual_type->getCanonicalTypeInternal().isNull())
 2230     } else if (const TagType *tag_type = qual_type->getAs<TagType>()) {
 2237                    qual_type->getAs<ObjCObjectType>()) {
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
  267   context = clang::TagDecl::castToDeclContext(parent_qt->getAsTagDecl());
  472     if (auto *tag = qt->getAsTagDecl()) {
  518     clang::TagDecl *tag = qt->getAsTagDecl();
  559       clang::TagDecl *tag = qt->getAsTagDecl();
  637   clang::TagDecl *tag = qt->getAsTagDecl();
  972     clang::TagDecl *tag = qt->getAsTagDecl();
tools/lldb/source/Symbol/ClangASTContext.cpp
  174                 specifier->getType()->getAs<clang::RecordType>()->getDecl())) {
 1742           base_class->getType()->getAs<RecordType>()->getDecl());
 1776   return !ClangASTContext::RecordHasFields(b->getType()->getAsCXXRecordDecl());
 2561   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 2597   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 2610     clang::CXXRecordDecl *cxx_record_decl = qual_type->getAsCXXRecordDecl();
 2753   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 2790   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 2830   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 2919   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 2923         qual_type->getAs<clang::VectorType>();
 2935         qual_type->getAs<clang::ExtVectorType>();
 2972   return GetQualType(type).getUnqualifiedType()->isCharType();
 3015     if (qual_type->isFunctionType()) {
 3027     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 3072   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 3077           qual_type->getAsCXXRecordDecl();
 3100             if (field_qual_type->isFloatingType()) {
 3101               if (field_qual_type->isComplexType())
 3115             } else if (field_qual_type->isVectorType() ||
 3116                        field_qual_type->isExtVectorType()) {
 3196     if (qual_type->isFunctionPointerType())
 3199     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 3239     if (qual_type->isBlockPointerType()) {
 3242             qual_type->getAs<clang::BlockPointerType>();
 3251     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 3297       llvm::dyn_cast<clang::BuiltinType>(qual_type->getCanonicalTypeInternal());
 3313         GetCanonicalQualType(type)->getCanonicalTypeInternal());
 3329     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 3401     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 3488     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 3545             qual_type->getCanonicalTypeInternal())) {
 3555                        qual_type->getCanonicalTypeInternal())) {
 3563                    qual_type->getCanonicalTypeInternal())) {
 3618     return ClangUtil::GetCanonicalQualType(type)->isObjCObjectOrInterfaceType();
 3626   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 3634   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 3641     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 3672     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 3687                 qual_type->getPointeeType().getTypePtrOrNull()) {
 3752           pointee_qual_type.getCanonicalType()->getTypeClass();
 3770               pointee_qual_type->getAsCXXRecordDecl();
 3832   return GetQualType(type)->getTypeClass() == clang::Type::Typedef;
 3838   return GetCanonicalQualType(type)->isVoidType();
 3858       clang::CXXRecordDecl *cxx_record_decl = qual_type->getAsCXXRecordDecl();
 3874   return !qual_type.isNull() && qual_type->getAsCXXRecordDecl() != nullptr;
 3894   if (!qual_type.isNull() && qual_type->isObjCObjectPointerType()) {
 3896       if (!qual_type->isObjCClassType() && !qual_type->isObjCIdType()) {
 3896       if (!qual_type->isObjCClassType() && !qual_type->isObjCIdType()) {
 3932         qual_type->getAs<clang::TypedefType>();
 3954   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 3958         qual_type->getAs<clang::AttributedType>()
 3963         qual_type->getCanonicalTypeInternal());
 4021           this, qual_type->getPointeeType().getAsOpaquePtr());
 4028         qual_type->getCanonicalTypeInternal());
 4031       if (complex_element_type->isIntegerType())
 4033       else if (complex_element_type->isFloatingType())
 4109           this, qual_type->getPointeeType().getAsOpaquePtr());
 4121           this, qual_type->getPointeeType().getAsOpaquePtr());
 4125     if (qual_type->getAsCXXRecordDecl())
 4162         qual_type->getCanonicalTypeInternal());
 4184   if (qual_type->isAnyPointerType()) {
 4185     if (qual_type->isObjCObjectPointerType())
 4187     if (qual_type->getPointeeCXXRecordDecl())
 4190     clang::QualType pointee_type(qual_type->getPointeeType());
 4191     if (pointee_type->getPointeeCXXRecordDecl())
 4193     if (pointee_type->isObjCObjectOrInterfaceType())
 4195     if (pointee_type->isObjCClassType())
 4201     if (qual_type->isObjCObjectOrInterfaceType())
 4203     if (qual_type->getAsCXXRecordDecl())
 4205     switch (qual_type->getTypeClass()) {
 4269   switch (qual_type->getTypeClass()) {
 4307     if (qual_type->isComplexType())
 4474   if (qual_type->isPointerType())
 4476         GetFullyUnqualifiedType_Impl(ast, qual_type->getPointeeType()));
 4536     switch (qual_type->getTypeClass()) {
 4553           qual_type->getAs<clang::ObjCObjectPointerType>();
 4625     switch (qual_type->getTypeClass()) {
 4663           qual_type->getAs<clang::ObjCObjectPointerType>();
 4813     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 4899       if (const clang::RecordType *rt = qual_type->getAs<clang::RecordType>())
 4901       if (const clang::EnumType *et = qual_type->getAs<clang::EnumType>())
 4959     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 5001         if (qual_type->isIncompleteArrayType())
 5003               qual_type->getArrayElementTypeNoTypeQual()
 5006       if (qual_type->isObjCObjectOrInterfaceType())
 5011       if (qual_type->isFunctionProtoType())
 5036   switch (qual_type->getTypeClass()) {
 5220     if (qual_type->isComplexType())
 5224           qual_type->getAsComplexIntegerType();
 5323   switch (qual_type->getTypeClass()) {
 5405     if (qual_type->isComplexType())
 5506   if (qual_type->isIncompleteArrayType())
 5521   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 5558                         ->getAs<clang::RecordType>()
 5716     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 5818   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 5871         qual_type->getAs<clang::ObjCObjectPointerType>();
 5968   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 6020         qual_type->getAs<clang::ObjCObjectPointerType>();
 6094   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 6099           qual_type->getAsCXXRecordDecl();
 6112           qual_type->getAsObjCQualifiedInterfaceType();
 6125           qual_type->getAs<clang::ObjCInterfaceType>();
 6169   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 6174           qual_type->getAsCXXRecordDecl();
 6214   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 6219           qual_type->getAsCXXRecordDecl();
 6234                           ->getAs<clang::RecordType>()
 6260           qual_type->getAsObjCQualifiedInterfaceType();
 6282           qual_type->getAs<clang::ObjCInterfaceType>();
 6337   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 6342           qual_type->getAsCXXRecordDecl();
 6357                           ->getAs<clang::RecordType>()
 6412   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 6580       parent_qual_type->getTypeClass();
 6632                 base_class->getType()->getAs<clang::RecordType>()->getDecl());
 6640                   base_class->getType()->getAs<clang::RecordType>()->getDecl());
 6913       const clang::ArrayType *array = GetQualType(type)->getAsArrayTypeUnsafe();
 7154     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 7227                           ->getAs<clang::RecordType>()
 7425     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 7450                         ->getAs<clang::RecordType>()
 7648   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 7653           qual_type->getAsCXXRecordDecl();
 7703   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 7709         qual_type->getAsCXXRecordDecl();
 7852   return GetCanonicalQualType(type)->getAsCXXRecordDecl();
 7907               field->getType()->getAs<clang::TagType>()) {
 7982           field_qual_type->getAs<clang::RecordType>();
 8052     if (last_field_pos->getType()->isIncompleteArrayType())
 8133       record_qual_type->getAsCXXRecordDecl();
 8697   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 8700     clang::CXXRecordDecl *cxx_record_decl = qual_type->getAsCXXRecordDecl();
 8770     const clang::TagType *tag_type = qual_type->getAs<clang::TagType>();
 8780         qual_type->getAs<clang::ObjCObjectType>();
 8799     const clang::TagType *tag_type = qual_type->getAs<clang::TagType>();
 8817     const clang::EnumType *enutype = qual_type->getAs<clang::EnumType>();
 8842               if (enum_decl->getIntegerType()->isSignedIntegerType())
 9015   switch (qual_type->getTypeClass()) {
 9039                   base_class->getType()->getAs<clang::RecordType>()->getDecl());
 9198         element_qual_type->getCanonicalTypeInternal().getTypePtr();
 9426     if (qual_type->isSignedIntegerOrEnumerationType())
 9475     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 9649     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 9670           qual_type->getAs<clang::TypedefType>();
 9746     const clang::Type::TypeClass type_class = qual_type->getTypeClass();
 9750           qual_type->getAsCXXRecordDecl();
tools/lldb/source/Symbol/ClangASTImporter.cpp
  350             QualType::getFromOpaquePtr(type)->getTypeClassName(),
  356   if (auto *t = QualType::getFromOpaquePtr(type)->getAs<TagType>())
  414   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
  418         qual_type->getAsCXXRecordDecl();
  490   const clang::Type::TypeClass type_class = qual_type->getTypeClass();
  494         qual_type->getAsCXXRecordDecl();
  706   if (const TagType *tag_type = type->getAs<TagType>()) {
  739   if (const ObjCObjectType *objc_object_type = type->getAs<ObjCObjectType>()) {
  776   if (const TagType *tag_type = type->getAs<TagType>()) {
  784   if (const ObjCObjectType *objc_object_type = type->getAs<ObjCObjectType>()) {
  791   if (const ArrayType *array_type = type->getAsArrayTypeUnsafe()) {
  794   if (const AtomicType *atomic_type = type->getAs<AtomicType>()) {
tools/lldb/source/Symbol/ClangUtil.cpp
   56   return qual_type->getAsTagDecl();
tools/lldb/tools/lldb-instr/Instrument.cpp
  200       ShouldInsertDummy |= T->isFunctionPointerType() || T->isVoidPointerType();
  200       ShouldInsertDummy |= T->isFunctionPointerType() || T->isVoidPointerType();
  248     bool ShouldRecordResult = ReturnType->isStructureOrClassType() ||
  249                               ReturnType->getPointeeCXXRecordDecl();