Lines Matching defs:HandlerType
673 bool Sema::handlerCanCatch(QualType HandlerType, QualType ExceptionType) {
677 // HandlerType must be ExceptionType or derived from it, or pointer or
679 const ReferenceType *RefTy = HandlerType->getAs<ReferenceType>();
681 HandlerType = RefTy->getPointeeType();
684 if (Context.hasSameUnqualifiedType(ExceptionType, HandlerType))
688 if (HandlerType->isPointerType() || HandlerType->isMemberPointerType()) {
689 if (RefTy && (!HandlerType.isConstQualified() ||
690 HandlerType.isVolatileQualified()))
707 if (IsQualificationConversion(ExceptionType, HandlerType, false,
709 IsFunctionConversion(ExceptionType, HandlerType, Result))
713 if (!ExceptionType->isPointerType() || !HandlerType->isPointerType())
720 HandlerType = Context.getUnqualifiedArrayType(
721 HandlerType->getPointeeType(), HQuals);
725 if (HandlerType->isVoidType() && ExceptionType->isObjectType())
733 if (!ExceptionType->isRecordType() || !HandlerType->isRecordType())
737 if (!IsDerivedFrom(SourceLocation(), ExceptionType, HandlerType, Paths) ||
738 Paths.isAmbiguous(Context.getCanonicalType(HandlerType)))
742 switch (CheckBaseClassAccess(SourceLocation(), HandlerType, ExceptionType,