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

Declarations

gen/tools/clang/include/clang/AST/TypeNodes.inc
   60 TYPE(Record, TagType)

References

include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  218   static typename cast_retty<To, From>::ret_type doit(From &Val) {
  219     return cast_convert_val<To, SimpleFrom,
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  248                                typename cast_retty<X, const Y>::ret_type>::type
  252       X, const Y, typename simplify_type<const Y>::SimpleType>::doit(Val);
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  258   return cast_convert_val<X, Y,
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  309   return cast<X>(Val);
  331                             typename cast_retty<X, const Y>::ret_type>::type
  333   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  333   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  338   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  338   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
tools/clang/include/clang/AST/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  479     : public DynCastPtrConverter<T, Type> {};
tools/clang/include/clang/AST/CXXInheritance.h
  146   const RecordType *DetectedVirtual = nullptr;
  222   const RecordType* getDetectedVirtual() const {
tools/clang/include/clang/AST/CanonicalType.h
   76   CanQual(const CanQual<U> &Other,
   77           typename std::enable_if<std::is_base_of<T, U>::value, int>::type = 0);
   77           typename std::enable_if<std::is_base_of<T, U>::value, int>::type = 0);
   83   const T *getTypePtr() const { return cast<T>(Stored.getTypePtr()); }
   83   const T *getTypePtr() const { return cast<T>(Stored.getTypePtr()); }
   87   const T *getTypePtrOrNull() const {
   88     return cast_or_null<T>(Stored.getTypePtrOrNull());
  120   template<typename U> CanProxy<U> getAs() const;
  126   CanProxy<T> operator->() const;
  157   CanQual<T> getUnqualifiedType() const;
  167   bool isMoreQualifiedThan(CanQual<T> Other) const {
  173   bool isAtLeastAsQualifiedAs(CanQual<T> Other) const {
  185   static CanQual<T> getFromOpaquePtr(void *Ptr);
  192   static CanQual<T> CreateUnsafe(QualType Other);
  241   CanQual<T> Stored;
  245   const T *getTypePtr() const { return Stored.getTypePtr(); }
  254   operator const T*() const { return this->Stored.getTypePtrOrNull(); }
  258   template<typename U> CanProxy<U> getAs() const {
  259     return this->Stored.template getAs<U>();
  321   const CanProxyAdaptor<T> *operator->() const {
  347 class CanProxy : public CanProxyAdaptor<T> {
  353   CanProxy(CanQual<T> Stored) { this->Stored = Stored; }
  356   operator CanQual<T>() const { return this->Stored; }
  554 struct CanProxyAdaptor<RecordType> : public CanProxyBase<RecordType> {
  644   CanQual<T> Result;
  658   if (isa<U>(Stored.getTypePtr()))
  659     return CanQual<U>::CreateUnsafe(Stored);
tools/clang/include/clang/AST/Type.h
 2181   const RecordType *getAsStructureType() const;
 2183   const RecordType *getAsUnionType() const;
 6472   return isa<RecordType>(CanonicalType);
tools/clang/include/clang/AST/TypeLoc.h
  486     return TypeClass::classof(Ty);
  498   const TypeClass *getTypePtr() const {
  499     return cast<TypeClass>(Base::getTypePtr());
  720                                                        RecordType> {
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
 5822 extern const AstTypeMatcher<RecordType> recordType;
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  302   virtual bool matches(const T &Node,
  309     return matches(DynNode.getUnchecked<T>(), Finder, Builder);
  345   DynTypedMatcher(MatcherInterface<T> *Implementation)
  346       : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
  436     return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  445   template <typename T> Matcher<T> convertTo() const {
  447     return unconditionalConvertTo<T>();
  479 class WrapperMatcherInterface : public MatcherInterface<T> {
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  520             std::is_same<T, QualType>::value &&
  529     static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
  534   bool matches(const T &Node,
  581     return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  654   static yes& test(Inner *I, decltype(I->getDecl()) * = nullptr);
  660   static const bool value = sizeof(test<Ty>(nullptr)) == sizeof(yes);
  751 class HasDeclarationMatcher : public WrapperMatcherInterface<T> {
  759   bool matches(const T &Node, ASTMatchFinder *Finder,
 1067   using head = T1;
 1073   using tail = TypeList<Ts...>;
 1084       std::is_base_of<typename AnyTypeList::head, T>::value ||
 1085       TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
 1118              MemberExpr, QualType, RecordType, TagType,
 1202   operator Matcher<T>() const {
 1203     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1243   operator Matcher<T>() const {
 1245                ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
 1246         .template unconditionalConvertTo<T>();
 1255 class BindableMatcher : public Matcher<T> {
 1257   explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
 1258   explicit BindableMatcher(MatcherInterface<T> *Implementation)
 1265   Matcher<T> bind(StringRef ID) const {
 1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
 1376 BindableMatcher<T> makeAllOfComposite(
 1377     ArrayRef<const Matcher<T> *> InnerMatchers) {
 1388   using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
 1395           ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1397           .template unconditionalConvertTo<T>());
 1408     ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
 1557     : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
 1558                               makeDynCastAllOfComposite<SourceT, TargetT>> {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  199   ast_matchers::internal::Matcher<T> getTypedMatcher() const {
  202         ->template convertTo<T>();
  227       : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
  228   typedef ast_matchers::internal::Matcher<T> MatcherT;
  232     return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Sema/Sema.h
 5156   void FinalizeVarWithDestructor(VarDecl *VD, const RecordType *DeclInitType);
tools/clang/lib/ARCMigrate/ObjCMT.cpp
 1074     const RecordType *RecordTy = UPointeeT->getAs<RecordType>();
 1074     const RecordType *RecordTy = UPointeeT->getAs<RecordType>();
tools/clang/lib/AST/APValue.cpp
  602       if (ElemTy->getAs<RecordType>()) {
  655     const RecordDecl *RD = Ty->castAs<RecordType>()->getDecl();
tools/clang/lib/AST/ASTContext.cpp
 1706     if (const auto *RT = T->getAs<RecordType>()) {
 1706     if (const auto *RT = T->getAs<RecordType>()) {
 2122     const auto *RT = cast<RecordType>(TT);
 2122     const auto *RT = cast<RecordType>(TT);
 2219   if (const auto *RT = T->getAs<RecordType>()) {
 2219   if (const auto *RT = T->getAs<RecordType>()) {
 2418   const RecordDecl *RD = Ty->castAs<RecordType>()->getDecl();
 2446             Context, Base.getType()->castAs<RecordType>()->getDecl());
 2537     const RecordDecl *Record = Ty->castAs<RecordType>()->getDecl();
 4021   auto *newType = new (*this, TypeAlignment) RecordType(Decl);
 4021   auto *newType = new (*this, TypeAlignment) RecordType(Decl);
 6069   const auto *TagType =
 6070       CFConstantStringTypeDecl->getUnderlyingType()->castAs<RecordType>();
 6882     } else if (const auto *RTy = PointeeTy->getAs<RecordType>()) {
 6882     } else if (const auto *RTy = PointeeTy->getAs<RecordType>()) {
 6945     RecordDecl *RDecl = cast<RecordType>(CT)->getDecl();
 8609   if (const RecordType *UT = T->getAsUnionType()) {
tools/clang/lib/AST/ASTDiagnostic.cpp
 1077     const RecordType *RT = Ty->getAs<RecordType>();
 1077     const RecordType *RT = Ty->getAs<RecordType>();
tools/clang/lib/AST/ASTImporter.cpp
  338     ExpectedType VisitRecordType(const RecordType *T);
 1345 ExpectedType ASTNodeImporter::VisitRecordType(const RecordType *T) {
 1559       auto *RT = dyn_cast<RecordType>(LeafT);
tools/clang/lib/AST/ASTImporterLookupTable.cpp
   44         if (const auto *RTy = dyn_cast<RecordType>(Ty))
   44         if (const auto *RTy = dyn_cast<RecordType>(Ty))
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
  953     RecordDecl *D1 = Field1->getType()->castAs<RecordType>()->getDecl();
  954     RecordDecl *D2 = Field2->getType()->castAs<RecordType>()->getDecl();
 1645     if (const auto *RecType = dyn_cast<RecordType>(FieldType)) {
 1645     if (const auto *RecType = dyn_cast<RecordType>(FieldType)) {
tools/clang/lib/AST/CXXInheritance.cpp
  158       const RecordType *Ty = I.getType()->getAs<RecordType>();
  158       const RecordType *Ty = I.getType()->getAs<RecordType>();
  226         DetectedVirtual = BaseType->getAs<RecordType>();
  286           if (auto *RT = BaseSpec.getType()->getAs<RecordType>())
  304             BaseSpec.getType()->castAs<RecordType>()->getDecl());
  369       if (const RecordType *Record = PE.Base->getType()->getAs<RecordType>())
  369       if (const RecordType *Record = PE.Base->getType()->getAs<RecordType>())
  380         if (const RecordType *Record =
  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();
  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>()) {
  610     if (const RecordType *RT = Base.getType()->getAs<RecordType>()) {
  781       cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
  803       cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
tools/clang/lib/AST/Decl.cpp
 3946   if (const auto *Record = getType()->getAs<RecordType>())
 3946   if (const auto *Record = getType()->getAs<RecordType>())
 3973   const auto *RT = getType()->getAs<RecordType>();
 3973   const auto *RT = getType()->getAs<RecordType>();
 4443     if (const auto *RT = I->getType()->getAs<RecordType>())
 4443     if (const auto *RT = I->getType()->getAs<RecordType>())
tools/clang/lib/AST/DeclCXX.cpp
  222         cast<CXXRecordDecl>(BaseType->castAs<RecordType>()->getDecl());
 1098     if (const auto *RecordTy = T->getAs<RecordType>()) {
 1098     if (const auto *RecordTy = T->getAs<RecordType>()) {
 1562     const RecordType *RT = I.getType()->getAs<RecordType>();
 1562     const RecordType *RT = I.getType()->getAs<RecordType>();
 1604     const RecordType *RT = I.getType()->getAs<RecordType>();
 1604     const RecordType *RT = I.getType()->getAs<RecordType>();
 1913         cast<CXXRecordDecl>(B.getType()->castAs<RecordType>()->getDecl());
 2027     const RecordType *RT = I.getType()->getAs<RecordType>();
 2027     const RecordType *RT = I.getType()->getAs<RecordType>();
tools/clang/lib/AST/DeclarationName.cpp
  124   if (const RecordType *ClassRec = ClassType->getAs<RecordType>()) {
  124   if (const RecordType *ClassRec = ClassType->getAs<RecordType>()) {
  181     if (const RecordType *Rec = Type->getAs<RecordType>()) {
  181     if (const RecordType *Rec = Type->getAs<RecordType>()) {
tools/clang/lib/AST/Expr.cpp
   71   const RecordType *Ty = DerivedType->castAs<RecordType>();
   71   const RecordType *Ty = DerivedType->castAs<RecordType>();
   89             cast<CXXRecordDecl>(E->getType()->castAs<RecordType>()->getDecl());
 1963   auto RD = unionType->castAs<RecordType>()->getDecl();
 3208       RecordDecl *RD = ILE->getType()->castAs<RecordType>()->getDecl();
 3764   if (const RecordType *UT = getType()->getAsUnionType())
tools/clang/lib/AST/ExprCXX.cpp
  845       cast<CXXRecordDecl>(SrcType->castAs<RecordType>()->getDecl());
  851       cast<CXXRecordDecl>(DestType->castAs<RecordType>()->getDecl());
tools/clang/lib/AST/ExprClassification.cpp
  651   if (const RecordType *R = CT->getAs<RecordType>())
  651   if (const RecordType *R = CT->getAs<RecordType>())
tools/clang/lib/AST/ExprConstant.cpp
 2197     RecordDecl *RD = Type->castAs<RecordType>()->getDecl();
 3318       RecordDecl *RD = ObjType->castAs<RecordType>()->getDecl();
 6392   Optional<APValue> visit(const RecordType *RTy, CharUnits Offset) {
 8836   const RecordDecl *RD = T->castAs<RecordType>()->getDecl();
 8899   const RecordDecl *RD = E->getType()->castAs<RecordType>()->getDecl();
 9077   RecordDecl *Record = E->getType()->castAs<RecordType>()->getDecl();
11976       const RecordType *RT = CurrentType->getAs<RecordType>();
11976       const RecordType *RT = CurrentType->getAs<RecordType>();
11998       const RecordType *RT = CurrentType->getAs<RecordType>();
11998       const RecordType *RT = CurrentType->getAs<RecordType>();
12007       const RecordType *BaseRT = CurrentType->getAs<RecordType>();
12007       const RecordType *BaseRT = CurrentType->getAs<RecordType>();
tools/clang/lib/AST/InheritViz.cpp
   94       static_cast<const CXXRecordDecl *>(Type->castAs<RecordType>()->getDecl());
tools/clang/lib/AST/Interp/ByteCodeExprGen.cpp
  498 const RecordType *ByteCodeExprGen<Emitter>::getRecordTy(QualType Ty) {
  500     return PT->getPointeeType()->getAs<RecordType>();
  502     return Ty->getAs<RecordType>();
tools/clang/lib/AST/Interp/ByteCodeExprGen.h
   83   const RecordType *getRecordTy(QualType Ty);
tools/clang/lib/AST/Interp/EvalEmitter.cpp
  114     if (auto *RT = Ty->getAs<RecordType>()) {
tools/clang/lib/AST/Interp/Program.cpp
  241       const RecordDecl *BD = Spec.getType()->castAs<RecordType>()->getDecl();
  253       const RecordDecl *BD = Spec.getType()->castAs<RecordType>()->getDecl();
  300   if (auto *RT = Ty->getAs<RecordType>()) {
tools/clang/lib/AST/ItaniumCXXABI.cpp
   45   const RecordType *RT = VD.getType()->getAs<RecordType>();
   45   const RecordType *RT = VD.getType()->getAs<RecordType>();
tools/clang/lib/AST/ItaniumMangle.cpp
 1327       const RecordDecl *RD = VD->getType()->castAs<RecordType>()->getDecl();
 2937 void CXXNameMangler::mangleType(const RecordType *T) {
 3470   while (const auto *RT = Base->getType()->getAs<RecordType>()) {
 3470   while (const auto *RT = Base->getType()->getAs<RecordType>()) {
 4685     if (const RecordType *RT = T->getAs<RecordType>())
 4685     if (const RecordType *RT = T->getAs<RecordType>())
 4729   const RecordType *RT = T->getAs<RecordType>();
 4729   const RecordType *RT = T->getAs<RecordType>();
 4849     if (const RecordType *RT = T->getAs<RecordType>()) {
 4849     if (const RecordType *RT = T->getAs<RecordType>()) {
tools/clang/lib/AST/JSONNodeDumper.cpp
  313         cast<CXXRecordDecl>(Base->getType()->castAs<RecordType>()->getDecl());
tools/clang/lib/AST/MicrosoftMangle.cpp
 2463 void MicrosoftCXXNameMangler::mangleType(const RecordType *T, Qualifiers,
 2569     mangleName(T->getClass()->castAs<RecordType>()->getDecl());
 2573     mangleName(T->getClass()->castAs<RecordType>()->getDecl());
tools/clang/lib/AST/ODRHash.cpp
  733     const auto *RecordT = dyn_cast<RecordType>(NamedType);
  733     const auto *RecordT = dyn_cast<RecordType>(NamedType);
 1001   void VisitRecordType(const RecordType *T) { VisitTagType(T); }
tools/clang/lib/AST/QualTypeNames.cpp
  149   } else if (const auto *TSTRecord = dyn_cast<const RecordType>(TypePtr)) {
  149   } else if (const auto *TSTRecord = dyn_cast<const RecordType>(TypePtr)) {
  447       isa<const RecordType>(QT.getTypePtr())) {
tools/clang/lib/AST/RecordLayoutBuilder.cpp
  207     const RecordType *RT =
  208         Context.getBaseElementType(FD->getType())->getAs<RecordType>();
  443     const RecordType *RT = ElemTy->getAs<RecordType>();
  443     const RecordType *RT = ElemTy->getAs<RecordType>();
  547     const RecordType *RT = ElemTy->getAs<RecordType>();
  547     const RecordType *RT = ElemTy->getAs<RecordType>();
 2457             FD->getType()->getBaseElementTypeUnsafe()->getAs<RecordType>()) {
 3367     if (auto RT = Field.getType()->getAs<RecordType>()) {
tools/clang/lib/AST/TextNodeDumper.cpp
  640         cast<CXXRecordDecl>(Base->getType()->castAs<RecordType>()->getDecl());
tools/clang/lib/AST/Type.cpp
   78     ND = ty->castAs<RecordType>()->getDecl();
  490   if (const auto *RT = getAs<RecordType>())
  490   if (const auto *RT = getAs<RecordType>())
  496   if (const auto *RT = getAs<RecordType>())
  496   if (const auto *RT = getAs<RecordType>())
  502   if (const auto *RT = getAs<RecordType>())
  502   if (const auto *RT = getAs<RecordType>())
  508   if (const auto *RT = getAs<RecordType>())
  508   if (const auto *RT = getAs<RecordType>())
  514   if (const auto *RT = getAs<RecordType>()) {
  514   if (const auto *RT = getAs<RecordType>()) {
  528   if (const auto *RT = getAs<RecordType>())
  528   if (const auto *RT = getAs<RecordType>())
  573 const RecordType *Type::getAsStructureType() const {
  575   if (const auto *RT = dyn_cast<RecordType>(this)) {
  575   if (const auto *RT = dyn_cast<RecordType>(this)) {
  581   if (const auto *RT = dyn_cast<RecordType>(CanonicalType)) {
  581   if (const auto *RT = dyn_cast<RecordType>(CanonicalType)) {
  587     return cast<RecordType>(getUnqualifiedDesugaredType());
  592 const RecordType *Type::getAsUnionType() const {
  594   if (const auto *RT = dyn_cast<RecordType>(this)) {
  594   if (const auto *RT = dyn_cast<RecordType>(this)) {
  600   if (const auto *RT = dyn_cast<RecordType>(CanonicalType)) {
  600   if (const auto *RT = dyn_cast<RecordType>(CanonicalType)) {
  606     return cast<RecordType>(getUnqualifiedDesugaredType());
 1682   if (const auto *RT = PointeeType->getAs<RecordType>())
 1682   if (const auto *RT = PointeeType->getAs<RecordType>())
 2091   if (const auto *Record = dyn_cast<RecordType>(CanonicalType)) {
 2091   if (const auto *Record = dyn_cast<RecordType>(CanonicalType)) {
 2133     RecordDecl *Rec = cast<RecordType>(CanonicalType)->getDecl();
 2232             dyn_cast<CXXRecordDecl>(cast<RecordType>(CanonicalType)->getDecl()))
 2270   if (const auto *RT = CanonicalType->getAs<RecordType>()) {
 2270   if (const auto *RT = CanonicalType->getAs<RecordType>()) {
 2313   if (const auto *RT = CanonicalType->getAs<RecordType>()) {
 2313   if (const auto *RT = CanonicalType->getAs<RecordType>()) {
 2345   if (const auto *RT =
 2346           getTypePtr()->getBaseElementTypeUnsafe()->getAs<RecordType>())
 2361   if (const auto *RT =
 2362           getTypePtr()->getBaseElementTypeUnsafe()->getAs<RecordType>())
 2418   if (const auto *RT = BaseTy->getAs<RecordType>()) {
 2418   if (const auto *RT = BaseTy->getAs<RecordType>()) {
 2465   if (const auto *RT = BaseTy->getAs<RecordType>()) {
 2465   if (const auto *RT = BaseTy->getAs<RecordType>()) {
 2504   if (const auto *RT = BaseTy->getAs<RecordType>()) {
 2504   if (const auto *RT = BaseTy->getAs<RecordType>()) {
 3298   std::vector<const RecordType*> RecordTypeList;
 3309       if (const auto *FieldRecTy = FieldTy->getAs<RecordType>()) {
 3309       if (const auto *FieldRecTy = FieldTy->getAs<RecordType>()) {
 4127   if (const auto *RT =
 4128           type->getBaseElementTypeUnsafe()->getAs<RecordType>()) {
tools/clang/lib/AST/TypePrinter.cpp
 1223 void TypePrinter::printRecordBefore(const RecordType *T, raw_ostream &OS) {
 1227 void TypePrinter::printRecordAfter(const RecordType *T, raw_ostream &OS) {}
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
  315     cast<CXXRecordDecl>(cast<RecordType>(CanDerivedReturnType)->getDecl());
  318     cast<CXXRecordDecl>(cast<RecordType>(CanBaseReturnType)->getDecl());
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  831 const AstTypeMatcher<RecordType> recordType;
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   75     return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
   78   static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
   79     return Value.getMatcher().getTypedMatcher<T>();
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  466       ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
  469         DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
  778     ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/Analysis/ThreadSafety.cpp
 1230   if (const auto *RT = VDT->getAs<RecordType>()) {
 1230   if (const auto *RT = VDT->getAs<RecordType>()) {
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGBlocks.cpp
  388   const RecordType *recordType =
  389     type->getBaseElementTypeUnsafe()->getAs<RecordType>();
tools/clang/lib/CodeGen/CGBuiltin.cpp
 1400   RecordDecl *RD = RType->castAs<RecordType>()->getDecl()->getDefinition();
tools/clang/lib/CodeGen/CGCXX.cpp
   83         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
  283   const RecordType *RT = T->getAs<RecordType>();
  283   const RecordType *RT = T->getAs<RecordType>();
tools/clang/lib/CodeGen/CGCXXABI.cpp
   50       cast<CXXRecordDecl>(MPT->getClass()->castAs<RecordType>()->getDecl());
tools/clang/lib/CodeGen/CGCall.cpp
  909   if (const RecordType *RT = Ty->getAs<RecordType>()) {
  909   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 3095       type->castAs<RecordType>()->getDecl()->isParamDestroyedInCallee() &&
 3580       type->castAs<RecordType>()->getDecl()->isParamDestroyedInCallee()) {
tools/clang/lib/CodeGen/CGClass.cpp
  165         cast<CXXRecordDecl>(Base->getType()->castAs<RecordType>()->getDecl());
  284         (*Start)->getType()->castAs<RecordType>()->getDecl());
  543       cast<CXXRecordDecl>(BaseType->castAs<RecordType>()->getDecl());
 1251       cast<CXXRecordDecl>(BaseType->castAs<RecordType>()->getDecl());
 1361       cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 1371         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 1387   const RecordType *RT = FieldBaseElementType->getAs<RecordType>();
 1387   const RecordType *RT = FieldBaseElementType->getAs<RecordType>();
 1821           cast<CXXRecordDecl>(Base.getType()->castAs<RecordType>()->getDecl());
 1873     const RecordType *RT = type->getAsUnionType();
 2020   const RecordType *rtype = type->castAs<RecordType>();
 2020   const RecordType *rtype = type->castAs<RecordType>();
 2537         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 2676   auto *ClassTy = T->getAs<RecordType>();
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  973 CGDebugInfo::getOrCreateRecordFwdDecl(const RecordType *Ty,
 1706         cast<CXXRecordDecl>(BI.getType()->castAs<RecordType>()->getDecl());
 2147   llvm::DIType *Res = CreateTypeDefinition(Ty->castAs<RecordType>());
 2218 llvm::DIType *CGDebugInfo::CreateType(const RecordType *Ty) {
 2231 llvm::DIType *CGDebugInfo::CreateTypeDefinition(const RecordType *Ty) {
 3035     return CreateType(cast<RecordType>(Ty));
 3083 llvm::DICompositeType *CGDebugInfo::getOrCreateLimitedType(const RecordType *Ty,
 3109 llvm::DICompositeType *CGDebugInfo::CreateLimitedType(const RecordType *Ty) {
 3978   } else if (const auto *RT = dyn_cast<RecordType>(VD->getType())) {
 3978   } else if (const auto *RT = dyn_cast<RecordType>(VD->getType())) {
 3995         if (FieldName.empty() && !isa<RecordType>(Field->getType()))
 4367       if (const auto *RT = dyn_cast<RecordType>(Field->getType()))
 4367       if (const auto *RT = dyn_cast<RecordType>(Field->getType()))
 4412     const RecordDecl *RD = T->castAs<RecordType>()->getDecl();
tools/clang/lib/CodeGen/CGDebugInfo.h
  165   llvm::DIType *CreateType(const RecordType *Tyg);
  166   llvm::DIType *CreateTypeDefinition(const RecordType *Ty);
  167   llvm::DICompositeType *CreateLimitedType(const RecordType *Ty);
  546   llvm::DICompositeType *getOrCreateRecordFwdDecl(const RecordType *,
  586   llvm::DICompositeType *getOrCreateLimitedType(const RecordType *Ty,
tools/clang/lib/CodeGen/CGDecl.cpp
 1452       if (const RecordType *RecordTy = Ty->getAs<RecordType>()) {
 1452       if (const RecordType *RecordTy = Ty->getAs<RecordType>()) {
 2400         Ty->castAs<RecordType>()->getDecl()->isParamDestroyedInCallee()) {
tools/clang/lib/CodeGen/CGExpr.cpp
  319   if (const RecordType *RT =
  320           E->getType()->getBaseElementTypeUnsafe()->getAs<RecordType>()) {
 1393   if (const auto *RT = dyn_cast<RecordType>(type))
 1393   if (const auto *RT = dyn_cast<RecordType>(type))
 4365     const RecordType *DerivedClassTy =
 4366       E->getSubExpr()->getType()->getAs<RecordType>();
 4386     const RecordType *DerivedClassTy = E->getType()->getAs<RecordType>();
 4386     const RecordType *DerivedClassTy = E->getType()->getAs<RecordType>();
tools/clang/lib/CodeGen/CGExprAgg.cpp
  233   const RecordType *RecordTy = T->getAs<RecordType>();
  233   const RecordType *RecordTy = T->getAs<RecordType>();
  396   RecordDecl *Record = E->getType()->castAs<RecordType>()->getDecl();
 1495   RecordDecl *record = E->getType()->castAs<RecordType>()->getDecl();
 1763   if (const RecordType *RT = E->getType()->getAs<RecordType>()) {
 1763   if (const RecordType *RT = E->getType()->getAs<RecordType>()) {
 1815     if (const RecordType *RT = CGF.getContext()
 1816                        .getBaseElementType(E->getType())->getAs<RecordType>()) {
 1923     if (const RecordType *RT = Ty->getAs<RecordType>()) {
 1923     if (const RecordType *RT = Ty->getAs<RecordType>()) {
 1995   } else if (const RecordType *RecordTy = Ty->getAs<RecordType>()) {
 1995   } else if (const RecordType *RecordTy = Ty->getAs<RecordType>()) {
 2004     if (const RecordType *RecordTy = BaseType->getAs<RecordType>()) {
 2004     if (const RecordType *RecordTy = BaseType->getAs<RecordType>()) {
tools/clang/lib/CodeGen/CGExprCXX.cpp
  173   const RecordType *Ty = T->castAs<RecordType>();
  173   const RecordType *Ty = T->castAs<RecordType>();
  424       cast<CXXRecordDecl>(MPT->getClass()->castAs<RecordType>()->getDecl());
 1187     if (const RecordType *RType = ILE->getType()->getAs<RecordType>()) {
 1187     if (const RecordType *RType = ILE->getType()->getAs<RecordType>()) {
 1876   if (const RecordType *RT = ElementType->getAs<RecordType>()) {
 1876   if (const RecordType *RT = ElementType->getAs<RecordType>()) {
tools/clang/lib/CodeGen/CGExprConstant.cpp
  662   RecordDecl *RD = ILE->getType()->castAs<RecordType>()->getDecl();
  842   RecordDecl *RD = Type->castAs<RecordType>()->getDecl();
  865   const RecordDecl *RD = ValTy->castAs<RecordType>()->getDecl();
 1262     if (auto *RT = destType->getAs<RecordType>())
 1272     const auto *RT =
 1273         CGM.getContext().getBaseElementType(Ty)->castAs<RecordType>();
 2213         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 2250         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 2315   if (const RecordType *RT = T->getAs<RecordType>())
 2315   if (const RecordType *RT = T->getAs<RecordType>())
tools/clang/lib/CodeGen/CGExprScalar.cpp
 2674       RecordDecl *RD = CurrentType->castAs<RecordType>()->getDecl();
 2707       RecordDecl *RD = CurrentType->castAs<RecordType>()->getDecl();
 2714       const RecordType *BaseRT = CurrentType->getAs<RecordType>();
 2714       const RecordType *BaseRT = CurrentType->getAs<RecordType>();
tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp
   41     const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
  443         SourceLocation Loc = QT->castAs<RecordType>()->getDecl()->getLocation();
  650     if (Size < CharUnits::fromQuantity(16) || EltTy->getAs<RecordType>()) {
tools/clang/lib/CodeGen/CGObjC.cpp
  906     if (const RecordType *recordType = ivarType->getAs<RecordType>())
  906     if (const RecordType *recordType = ivarType->getAs<RecordType>())
tools/clang/lib/CodeGen/CGObjCMac.cpp
  989   void BuildRCBlockVarRecordLayout(const RecordType *RT,
 2327     void visitRecord(const RecordType *RT, CharUnits offset);
 2419     if (const RecordType *record = type->getAs<RecordType>()) {
 2419     if (const RecordType *record = type->getAs<RecordType>()) {
 2514       BuildRCBlockVarRecordLayout(FQT->getAs<RecordType>(),
 2531         const RecordType *RT = FQT->getAs<RecordType>();
 2531         const RecordType *RT = FQT->getAs<RecordType>();
 2599 void CGObjCCommonMac::BuildRCBlockVarRecordLayout(const RecordType *RT,
 2939       if (const RecordType *record = type->getAs<RecordType>()) {
 2939       if (const RecordType *record = type->getAs<RecordType>()) {
 2974   if (const RecordType *record = T->getAs<RecordType>()) {
 2974   if (const RecordType *record = T->getAs<RecordType>()) {
 3472   if (auto recType = type->getAs<RecordType>()) {
 5164 void IvarLayoutBuilder::visitRecord(const RecordType *RT,
 5226   if (auto recType = fieldType->getAs<RecordType>()) {
tools/clang/lib/CodeGen/CodeGenFunction.cpp
 1134   if (const RecordType *RT = T.getCanonicalType()->getAs<RecordType>()) {
 1134   if (const RecordType *RT = T.getCanonicalType()->getAs<RecordType>()) {
 1622     if (const RecordType *RT = Ty->getAs<RecordType>()) {
 1622     if (const RecordType *RT = Ty->getAs<RecordType>()) {
tools/clang/lib/CodeGen/CodeGenFunction.h
 2314     if (const RecordType *RT = T->getAs<RecordType>()) {
 2314     if (const RecordType *RT = T->getAs<RecordType>()) {
tools/clang/lib/CodeGen/CodeGenModule.cpp
 2566   if (const auto *RT = T->getBaseElementTypeUnsafe()->getAs<RecordType>())
 2566   if (const auto *RT = T->getBaseElementTypeUnsafe()->getAs<RecordType>())
 4148     if (const auto *RT = VarType->getAs<RecordType>()) {
 4148     if (const auto *RT = VarType->getAs<RecordType>()) {
tools/clang/lib/CodeGen/CodeGenTBAA.cpp
   99   if (const RecordType *TTy = QTy->getAs<RecordType>()) {
   99   if (const RecordType *TTy = QTy->getAs<RecordType>()) {
  245   if (const RecordType *TTy = QTy->getAs<RecordType>()) {
  245   if (const RecordType *TTy = QTy->getAs<RecordType>()) {
  297   if (auto *TTy = dyn_cast<RecordType>(Ty)) {
tools/clang/lib/CodeGen/CodeGenTypes.cpp
  138       if (!isSafeToConvert(I.getType()->castAs<RecordType>()->getDecl(), CGT,
  164   if (const auto *RT = T->getAs<RecordType>())
  164   if (const auto *RT = T->getAs<RecordType>())
  209   const RecordType *RT = dyn_cast<RecordType>(TT);
  209   const RecordType *RT = dyn_cast<RecordType>(TT);
  323     if (const RecordType *RT = FT->getReturnType()->getAs<RecordType>())
  323     if (const RecordType *RT = FT->getReturnType()->getAs<RecordType>())
  327         if (const RecordType *RT = FPT->getParamType(i)->getAs<RecordType>())
  327         if (const RecordType *RT = FPT->getParamType(i)->getAs<RecordType>())
  387   if (const RecordType *RT = dyn_cast<RecordType>(Ty))
  387   if (const RecordType *RT = dyn_cast<RecordType>(Ty))
  747       ConvertRecordDeclType(I.getType()->castAs<RecordType>()->getDecl());
  812   if (const RecordType *RT = T->getAs<RecordType>()) {
  812   if (const RecordType *RT = T->getAs<RecordType>()) {
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
  584       cast<CXXRecordDecl>(MPT->getClass()->castAs<RecordType>()->getDecl());
 1181         cast<CXXRecordDecl>(ElementType->castAs<RecordType>()->getDecl());
 1265   if (const RecordType *RecordTy = ThrowType->getAs<RecordType>()) {
 1265   if (const RecordType *RecordTy = ThrowType->getAs<RecordType>()) {
 1384       cast<CXXRecordDecl>(SrcRecordTy->castAs<RecordType>()->getDecl());
 1450       cast<CXXRecordDecl>(SrcRecordTy->castAs<RecordType>()->getDecl());
 3050   if (const RecordType *RecordTy = dyn_cast<RecordType>(Ty)) {
 3050   if (const RecordType *RecordTy = dyn_cast<RecordType>(Ty)) {
 3081 static bool IsIncompleteClassType(const RecordType *RecordTy) {
 3097   if (const RecordType *RecordTy = dyn_cast<RecordType>(Ty)) {
 3097   if (const RecordType *RecordTy = dyn_cast<RecordType>(Ty)) {
 3108     const RecordType *ClassType = cast<RecordType>(MemberPointerTy->getClass());
 3108     const RecordType *ClassType = cast<RecordType>(MemberPointerTy->getClass());
 3139       cast<CXXRecordDecl>(Base->getType()->castAs<RecordType>()->getDecl());
 3212       cast<CXXRecordDecl>(cast<RecordType>(Ty)->getDecl());
 3305     if (const RecordType *Record = dyn_cast<RecordType>(Ty)) {
 3305     if (const RecordType *Record = dyn_cast<RecordType>(Ty)) {
 3456       cast<CXXRecordDecl>(cast<RecordType>(Ty)->getDecl());
 3603       cast<CXXRecordDecl>(Base->getType()->castAs<RecordType>()->getDecl());
 3702         cast<CXXRecordDecl>(Base.getType()->castAs<RecordType>()->getDecl());
 3792   const RecordType *ClassType = cast<RecordType>(Ty->getClass());
 3792   const RecordType *ClassType = cast<RecordType>(Ty->getClass());
tools/clang/lib/CodeGen/SwiftCallingConv.cpp
   67   if (auto recType = type->getAs<RecordType>()) {
  799   if (auto recordType = dyn_cast<RecordType>(type)) {
tools/clang/lib/CodeGen/TargetInfo.cpp
  139 static CGCXXABI::RecordArgABI getRecordArgABI(const RecordType *RT,
  152   const RecordType *RT = T->getAs<RecordType>();
  152   const RecordType *RT = T->getAs<RecordType>();
  162   if (const auto *RT = Ty->getAs<RecordType>())
  162   if (const auto *RT = Ty->getAs<RecordType>())
  175   if (const RecordType *UT = Ty->getAsUnionType()) {
  494   const RecordType *RT = FT->getAs<RecordType>();
  494   const RecordType *RT = FT->getAs<RecordType>();
  512   const RecordType *RT = T->getAs<RecordType>();
  512   const RecordType *RT = T->getAs<RecordType>();
  540   const RecordType *RT = T->getAs<RecordType>();
  540   const RecordType *RT = T->getAs<RecordType>();
 1267   const RecordType *RT = Ty->getAs<RecordType>();
 1267   const RecordType *RT = Ty->getAs<RecordType>();
 1341   const RecordType *RT = Ty->getAs<RecordType>();
 1341   const RecordType *RT = Ty->getAs<RecordType>();
 1419     if (const RecordType *RT = RetTy->getAs<RecordType>()) {
 1419     if (const RecordType *RT = RetTy->getAs<RecordType>()) {
 1469   const RecordType *RT = Ty->getAs<RecordType>();
 1469   const RecordType *RT = Ty->getAs<RecordType>();
 1639   const RecordType *RT = Ty->getAs<RecordType>();
 1639   const RecordType *RT = Ty->getAs<RecordType>();
 2782   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 2782   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 2813             cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 3065   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 3065   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 3075             cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
 3548   auto RT = Ty->getAs<RecordType>();
 3942   const RecordType *RT = Ty->getAs<RecordType>();
 3942   const RecordType *RT = Ty->getAs<RecordType>();
 4606   } else if (const RecordType *RT = Ty->getAs<RecordType>()) {
 4606   } else if (const RecordType *RT = Ty->getAs<RecordType>()) {
 6011   const RecordType *RT = Ty->getAs<RecordType>();
 6011   const RecordType *RT = Ty->getAs<RecordType>();
 6216   } else if (const RecordType *RT = Ty->getAs<RecordType>()) {
 6216   } else if (const RecordType *RT = Ty->getAs<RecordType>()) {
 6380   const auto *RT = T->getAs<RecordType>();
 6380   const auto *RT = T->getAs<RecordType>();
 6631   if (const RecordType *RT = Ty->getAsStructureType()) {
 6863   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 6863   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 7051   const RecordType *RT = Ty->getAs<RecordType>();
 7051   const RecordType *RT = Ty->getAs<RecordType>();
 7151   const RecordType *RT = RetTy->getAs<RecordType>();
 7151   const RecordType *RT = RetTy->getAs<RecordType>();
 7616   const RecordType *RT = Ty->getAs<RecordType>();
 7616   const RecordType *RT = Ty->getAs<RecordType>();
 7731   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 7731   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 7780       if (const RecordType *RT = RetTy->getAs<RecordType>()) {
 7780       if (const RecordType *RT = RetTy->getAs<RecordType>()) {
 7847     if (const RecordType *RT = Ty->getAs<RecordType>()) {
 7847     if (const RecordType *RT = Ty->getAs<RecordType>()) {
 8536   const RecordType *RT = Ty->getAs<RecordType>();
 8536   const RecordType *RT = Ty->getAs<RecordType>();
 9201   if (const RecordType *RT = QT->getAsStructureType())
 9204   if (const RecordType *RT = QT->getAsUnionType())
 9384   if (const auto *RTy = Ty->getAs<RecordType>()) {
 9384   if (const auto *RTy = Ty->getAs<RecordType>()) {
tools/clang/lib/CrossTU/CrossTranslationUnit.cpp
  172     const RecordType *RTy = CT->getAs<RecordType>();
  172     const RecordType *RTy = CT->getAs<RecordType>();
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  855     RecordDecl *RD = IvarT->castAs<RecordType>()->getDecl();
 3639     RecordDecl *RD = Type->castAs<RecordType>()->getDecl();
 3734     TD = Type->castAs<RecordType>()->getDecl();
 5755         RecordDecl *RD = VD->getType()->castAs<RecordType>()->getDecl();
 7496         RecordDecl *RD = IvarT->castAs<RecordType>()->getDecl();
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
 4853         RecordDecl *RD = VD->getType()->castAs<RecordType>()->getDecl();
tools/clang/lib/Sema/SemaAccess.cpp
  301       if (const RecordType *RT = T->getAs<RecordType>()) {
  301       if (const RecordType *RT = T->getAs<RecordType>()) {
  425   if (const RecordType *RT = Friend->getAs<RecordType>())
  425   if (const RecordType *RT = Friend->getAs<RecordType>())
  654       if (const RecordType *RT = T->getAs<RecordType>()) {
  654       if (const RecordType *RT = T->getAs<RecordType>()) {
 1755   const RecordType *RT = ObjectExpr->getType()->castAs<RecordType>();
 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/SemaCUDA.cpp
  305     const RecordType *BaseType = B->getType()->getAs<RecordType>();
  305     const RecordType *BaseType = B->getType()->getAs<RecordType>();
  347     const RecordType *FieldType =
  348         Context.getBaseElementType(F->getType())->getAs<RecordType>();
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
   33   if (const RecordType *RecordTy = dyn_cast<RecordType>(Ty)) {
   33   if (const RecordType *RecordTy = dyn_cast<RecordType>(Ty)) {
  131       } else if (const RecordType *RecordT = NNSType->getAs<RecordType>()) {
  131       } else if (const RecordType *RecordT = NNSType->getAs<RecordType>()) {
  730     } else if (isa<RecordType>(T)) {
tools/clang/lib/Sema/SemaCast.cpp
  469     auto RecFrom = From->getAs<RecordType>();
  470     auto RecTo = To->getAs<RecordType>();
  738   const RecordType *DestRecord = DestPointee->getAs<RecordType>();
  738   const RecordType *DestRecord = DestPointee->getAs<RecordType>();
  785   const RecordType *SrcRecord = SrcPointee->getAs<RecordType>();
  785   const RecordType *SrcRecord = SrcPointee->getAs<RecordType>();
 1278       if (SrcPointer->getPointeeType()->getAs<RecordType>() &&
 1279           DestPointer->getPointeeType()->getAs<RecordType>())
 1428   if (!DestType->getAs<RecordType>() || !SrcType->getAs<RecordType>()) {
 1428   if (!DestType->getAs<RecordType>() || !SrcType->getAs<RecordType>()) {
 1593   if (const RecordType *VBase = Paths.getDetectedVirtual()) {
 2632     const RecordType *DestRecordTy = DestType->getAs<RecordType>();
 2632     const RecordType *DestRecordTy = DestType->getAs<RecordType>();
tools/clang/lib/Sema/SemaChecking.cpp
 4120   if (const RecordType *UT = Expr->getType()->getAsUnionType()) {
 7901   const RecordType *RT = Ty->getAs<RecordType>();
 7901   const RecordType *RT = Ty->getAs<RecordType>();
 9421     for (const FieldDecl *FD : FT->castAs<RecordType>()->getDecl()->fields())
 9463     for (const FieldDecl *FD : FT->castAs<RecordType>()->getDecl()->fields())
 9738     else if (const auto *RT = PointeeTy->getAs<RecordType>()) {
 9738     else if (const auto *RT = PointeeTy->getAs<RecordType>()) {
14359                               cast<RecordType>(T1)->getDecl(),
14360                               cast<RecordType>(T2)->getDecl());
14687     RecordDecl *RD = BaseType->castAs<RecordType>()->getDecl();
tools/clang/lib/Sema/SemaCodeComplete.cpp
 3173     if (const auto *RecordTy = Ty->getAs<RecordType>())
 3173     if (const auto *RecordTy = Ty->getAs<RecordType>())
 4755     if (const RecordType *Record = BaseType->getAs<RecordType>()) {
 4755     if (const RecordType *Record = BaseType->getAs<RecordType>()) {
tools/clang/lib/Sema/SemaDecl.cpp
 4529       else if (const RecordType *RT =
 4532       else if (const RecordType *UT = DS.getRepAsType().get()->getAsUnionType())
 7806         Specifier->getType()->castAs<RecordType>()->getDecl();
 8450   const RecordType *RecTy =
 8451       PT->getPointeeOrArrayElementType()->getAs<RecordType>();
 8481       RD = FieldRecTy->castAs<RecordType>()->getDecl();
11354     const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
11419     const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
11485     const RecordDecl *RD = QT->castAs<RecordType>()->getDecl();
12220       if (const RecordType *Record
12221             = Context.getBaseElementType(Type)->getAs<RecordType>()) {
12552   if (const RecordType *recordType = baseType->getAs<RecordType>())
12552   if (const RecordType *recordType = baseType->getAs<RecordType>())
16128       if (const RecordType *RT = EltTy->getAs<RecordType>()) {
16128       if (const RecordType *RT = EltTy->getAs<RecordType>()) {
16185   if (const RecordType *RT = EltTy->getAs<RecordType>()) {
16185   if (const RecordType *RT = EltTy->getAs<RecordType>()) {
16547     } else if (const RecordType *FDTTy = FDTy->getAs<RecordType>()) {
16547     } else if (const RecordType *FDTTy = FDTy->getAs<RecordType>()) {
16608             BaseType->castAs<RecordType>()->getDecl()->hasObjectMember())
16638       if (const auto *RT = FT->getAs<RecordType>()) {
16638       if (const auto *RT = FT->getAs<RecordType>()) {
tools/clang/lib/Sema/SemaDeclAttr.cpp
  171   const auto *RT = PT->getPointeeType()->getAs<RecordType>();
  171   const auto *RT = PT->getPointeeType()->getAs<RecordType>();
  465 static bool threadSafetyCheckIsSmartPointer(Sema &S, const RecordType* RT) {
  508   if (const auto *RT = QT->getAs<RecordType>()) {
  508   if (const auto *RT = QT->getAs<RecordType>()) {
  525 static const RecordType *getRecordType(QualType QT) {
  526   if (const auto *RT = QT->getAs<RecordType>())
  526   if (const auto *RT = QT->getAs<RecordType>())
  531     return PT->getPointeeType()->getAs<RecordType>();
  551               return Ty.castAs<RecordType>()->getDecl()->hasAttr<AttrType>();
  560   const RecordType *RT = getRecordType(Ty);
  689     const RecordType *RT = getRecordType(ArgTy);
 1417   if (const RecordType *UT = T->getAsUnionType()) {
 3181   if (!T->getAs<RecordType>()) {
tools/clang/lib/Sema/SemaDeclCXX.cpp
 1948     const RecordDecl *RD = Field->getType()->castAs<RecordType>()->getDecl();
 2489   RecordDecl *BaseDecl = BaseType->castAs<RecordType>()->getDecl();
 2604   if (auto Rec = Type->getAs<RecordType>()) {
 2665       if (const RecordType *Record = NewBaseType->getAs<RecordType>()) {
 2665       if (const RecordType *Record = NewBaseType->getAs<RecordType>()) {
 4978       Info.AllBaseFields[Member->getBaseClass()->getAs<RecordType>()] = Member;
 5007         = Info.AllBaseFields.lookup(VBase.getType()->getAs<RecordType>())) {
 5046           = Info.AllBaseFields.lookup(Base.getType()->getAs<RecordType>())) {
 5120   if (const RecordType *RT = Field->getType()->getAs<RecordType>()) {
 5120   if (const RecordType *RT = Field->getType()->getAs<RecordType>()) {
 5391     const RecordType* RT = FieldType->getAs<RecordType>();
 5391     const RecordType* RT = FieldType->getAs<RecordType>();
 5419   llvm::SmallPtrSet<const RecordType *, 8> DirectVirtualBases;
 5424     const RecordType *RT = Base.getType()->getAs<RecordType>();
 5424     const RecordType *RT = Base.getType()->getAs<RecordType>();
 5459     const RecordType *RT = VBase.getType()->castAs<RecordType>();
 5459     const RecordType *RT = VBase.getType()->castAs<RecordType>();
 6746     const RecordType *BaseType = B.getType()->getAs<RecordType>();
 6746     const RecordType *BaseType = B.getType()->getAs<RecordType>();
 6768     if (const RecordType *RecordTy = BaseType->getAs<RecordType>()) {
 6768     if (const RecordType *RecordTy = BaseType->getAs<RecordType>()) {
 8209         Specifier->getType()->castAs<RecordType>()->getDecl();
 8356     if (const auto *RT = FT->getBaseElementTypeUnsafe()->getAs<RecordType>())
 8356     if (const auto *RT = FT->getBaseElementTypeUnsafe()->getAs<RecordType>())
 9658   if (const RecordType *RT = Ty->getAs<RecordType>()) {
 9658   if (const RecordType *RT = Ty->getAs<RecordType>()) {
11217   auto *RT = Base->getType()->getAs<RecordType>();
11245                             ->getAs<RecordType>()) {
12051       E->castAs<RecordType>()->getDecl()->hasObjectMember();
12127   if (const RecordType *RecordTy = T->getAs<RecordType>()) {
12127   if (const RecordType *RecordTy = T->getAs<RecordType>()) {
12572     if (!BaseType->getAs<RecordType>() && BaseType.isConstQualified()) {
12940     if (!BaseType->getAs<RecordType>() && BaseType.isConstQualified()) {
13579 void Sema::FinalizeVarWithDestructor(VarDecl *VD, const RecordType *Record) {
14335     if (const RecordType *recordType = ExDeclType->getAs<RecordType>()) {
14335     if (const RecordType *recordType = ExDeclType->getAs<RecordType>()) {
14542       if (const RecordType *RT = T->getAs<RecordType>()) {
14542       if (const RecordType *RT = T->getAs<RecordType>()) {
15400     if (const RecordType *RT = NewClassTy->getAs<RecordType>()) {
15400     if (const RecordType *RT = NewClassTy->getAs<RecordType>()) {
15779         cast<CXXRecordDecl>(I.getType()->castAs<RecordType>()->getDecl());
15824       if (const RecordType *RecordTy =
15826                   ->getAs<RecordType>()) {
tools/clang/lib/Sema/SemaDeclObjC.cpp
 3191   if (!isa<RecordType>(lt) || !isa<RecordType>(rt)) return false;
 3191   if (!isa<RecordType>(lt) || !isa<RecordType>(rt)) return false;
 3192   RecordDecl *left = cast<RecordType>(lt)->getDecl();
 3193   RecordDecl *right = cast<RecordType>(rt)->getDecl();
 3803   const auto *RecordTy = T->getAs<RecordType>();
 3803   const auto *RecordTy = T->getAs<RecordType>();
 3849     } else if (const RecordType *RecordTy = IvarTy->getAs<RecordType>()) {
 3849     } else if (const RecordType *RecordTy = IvarTy->getAs<RecordType>()) {
tools/clang/lib/Sema/SemaExceptionSpec.cpp
  157         PointeeT->castAs<RecordType>()->isBeingDefined()) &&
 1057   const RecordType *RT = Op->getType()->getAs<RecordType>();
 1057   const RecordType *RT = Op->getType()->getAs<RecordType>();
 1159       if (const RecordType *RT = DTy->getAs<RecordType>()) {
 1159       if (const RecordType *RT = DTy->getAs<RecordType>()) {
tools/clang/lib/Sema/SemaExpr.cpp
 2746     QualType QRecordType = QualType(QType->getAs<RecordType>(), 0);
 7400   if (const RecordType *LHSRT = LHSTy->getAs<RecordType>()) {    // C99 6.5.15p3
 7400   if (const RecordType *LHSRT = LHSTy->getAs<RecordType>()) {    // C99 6.5.15p3
 7401     if (const RecordType *RHSRT = RHSTy->getAs<RecordType>())
 7401     if (const RecordType *RHSRT = RHSTy->getAs<RecordType>())
 8496   const RecordType *UT = ArgType->getAsUnionType();
11639                                          const RecordType *Ty,
11643   std::vector<const RecordType *> RecordTypeList;
11668       if (const auto *FieldRecTy = FieldTy->getAs<RecordType>()) {
11668       if (const auto *FieldRecTy = FieldTy->getAs<RecordType>()) {
11684   const RecordType *RTy = Ty.getCanonicalType()->getAs<RecordType>();
11684   const RecordType *RTy = Ty.getCanonicalType()->getAs<RecordType>();
13927     const RecordType *RC = CurrentType->getAs<RecordType>();
13927     const RecordType *RC = CurrentType->getAs<RecordType>();
14340       if (const RecordType *Record =
14341               Cap.getCaptureType()->getAs<RecordType>()) {
15774   if (const RecordType *VTTy = Var->getType()->getAs<RecordType>()) {
15774   if (const RecordType *VTTy = Var->getType()->getAs<RecordType>()) {
16637   if (E->getType().isVolatileQualified() || E->getType()->getAs<RecordType>())
17046       if (const RecordType *DestroyedRec = Destroyed->getAs<RecordType>()) {
17046       if (const RecordType *DestroyedRec = Destroyed->getAs<RecordType>()) {
tools/clang/lib/Sema/SemaExprCXX.cpp
  296       if (const RecordType *Record = MemberOfType->getAs<RecordType>()) {
  296       if (const RecordType *Record = MemberOfType->getAs<RecordType>()) {
  449   if (T->getAs<RecordType>() &&
  477     if (const RecordType *RecordT = T->getAs<RecordType>()) {
  477     if (const RecordType *RecordT = T->getAs<RecordType>()) {
 1602   const RecordType *record =
 1603     allocType->getBaseElementTypeUnsafe()->getAs<RecordType>();
 1921           (*ArraySize)->getType()->getAs<RecordType>())
 2470         cast<CXXRecordDecl>(AllocElemType->castAs<RecordType>()->getDecl());
 3330         if (const RecordType *RT = PointeeElem->getAs<RecordType>())
 3330         if (const RecordType *RT = PointeeElem->getAs<RecordType>())
 4466 static bool HasNoThrowOperator(const RecordType *RT, OverloadedOperatorKind Op,
 4783     if (const RecordType *RT = T->getAs<RecordType>())
 4783     if (const RecordType *RT = T->getAs<RecordType>())
 4796     if (const RecordType *RT = C.getBaseElementType(T)->getAs<RecordType>())
 4796     if (const RecordType *RT = C.getBaseElementType(T)->getAs<RecordType>())
 5082     const RecordType *lhsRecord = LhsT->getAs<RecordType>();
 5082     const RecordType *lhsRecord = LhsT->getAs<RecordType>();
 5083     const RecordType *rhsRecord = RhsT->getAs<RecordType>();
 5083     const RecordType *rhsRecord = RhsT->getAs<RecordType>();
 5610   const RecordType *FRec = FTy->getAs<RecordType>();
 5610   const RecordType *FRec = FTy->getAs<RecordType>();
 5611   const RecordType *TRec = TTy->getAs<RecordType>();
 5611   const RecordType *TRec = TTy->getAs<RecordType>();
 6466   const RecordType *RT = nullptr;
 6470       RT = cast<RecordType>(T);
tools/clang/lib/Sema/SemaExprMember.cpp
  595   explicit RecordMemberExprValidatorCCC(const RecordType *RTy)
  620         if (const RecordType *BSTy =
  621                 dyn_cast_or_null<RecordType>(BS.getType().getTypePtrOrNull())) {
  643                                      const RecordType *RTy,
  768             *this, R, nullptr, RecordTy->getAs<RecordType>(), OpLoc, IsArrow,
 1009                        : BaseType->castAs<RecordType>()->getDecl());
 1297   if (const RecordType *RTy = BaseType->getAs<RecordType>()) {
 1297   if (const RecordType *RTy = BaseType->getAs<RecordType>()) {
tools/clang/lib/Sema/SemaExprObjC.cpp
 3650     if (const RecordType *RT = QT->getAs<RecordType>())
 3650     if (const RecordType *RT = QT->getAs<RecordType>())
tools/clang/lib/Sema/SemaInit.cpp
  647     if (const RecordType *RType = ILE->getType()->getAs<RecordType>())
  647     if (const RecordType *RType = ILE->getType()->getAs<RecordType>())
  769   if (const RecordType *RType = ILE->getType()->getAs<RecordType>()) {
  769   if (const RecordType *RType = ILE->getType()->getAs<RecordType>()) {
  977   RecordDecl *structDecl = DeclType->castAs<RecordType>()->getDecl();
 1007       Entity.getParent()->getType()->castAs<RecordType>()->getDecl();
 1267     RecordDecl *RD = DeclType->castAs<RecordType>()->getDecl();
 1998   RecordDecl *structDecl = DeclType->castAs<RecordType>()->getDecl();
 2010     RecordDecl *RD = DeclType->castAs<RecordType>()->getDecl();
 2085   RecordDecl *RD = DeclType->castAs<RecordType>()->getDecl();
 2482     const RecordType *RT = CurrentObjectType->getAs<RecordType>();
 2482     const RecordType *RT = CurrentObjectType->getAs<RecordType>();
 4030   const RecordType *DestRecordType = DestType->getAs<RecordType>();
 4030   const RecordType *DestRecordType = DestType->getAs<RecordType>();
 4497   const RecordType *T1RecordType = nullptr;
 4498   if (AllowRValues && (T1RecordType = T1->getAs<RecordType>()) &&
 4528   const RecordType *T2RecordType = nullptr;
 4529   if ((T2RecordType = T2->getAs<RecordType>()) &&
 5022   if (const RecordType *RT = T->getAs<RecordType>()) {
 5022   if (const RecordType *RT = T->getAs<RecordType>()) {
 5146   if (const RecordType *DestRecordType = DestType->getAs<RecordType>()) {
 5146   if (const RecordType *DestRecordType = DestType->getAs<RecordType>()) {
 5179   if (const RecordType *SourceRecordType = SourceType->getAs<RecordType>()) {
 5179   if (const RecordType *SourceRecordType = SourceType->getAs<RecordType>()) {
 5269   if (ConvType->getAs<RecordType>()) {
 6112   if (const RecordType *Record = T->getAs<RecordType>())
 6112   if (const RecordType *Record = T->getAs<RecordType>())
 6259   const RecordType *Record = CurInitExpr->getType()->getAs<RecordType>();
 6259   const RecordType *Record = CurInitExpr->getType()->getAs<RecordType>();
 7764         << DestType << (bool)DestType->getAs<RecordType>()
 8117         if (const RecordType *Record = T->getAs<RecordType>()) {
 8117         if (const RecordType *Record = T->getAs<RecordType>()) {
 9029               = Entity.getBaseSpecifier()->getType()->castAs<RecordType>()
 9043             if (const RecordType *Record
 9044                                  = Entity.getType()->getAs<RecordType>())
 9109           << DestType << (bool)DestType->getAs<RecordType>();
tools/clang/lib/Sema/SemaLookup.cpp
 2133   RecordDecl *BaseRecord = Specifier->getType()->castAs<RecordType>()->getDecl();
 2510         BaseSpec.getType()->castAs<RecordType>()->getDecl());
 2782       const RecordType *BaseType = Base.getType()->getAs<RecordType>();
 2782       const RecordType *BaseType = Base.getType()->getAs<RecordType>();
 2863           cast<CXXRecordDecl>(cast<RecordType>(T)->getDecl());
 3854           const auto *Record = BaseType->getAs<RecordType>();
 3854           const auto *Record = BaseType->getAs<RecordType>();
tools/clang/lib/Sema/SemaObjCProperty.cpp
 1303         const RecordType *RecordTy = PropertyIvarType->getAs<RecordType>();
 1303         const RecordType *RecordTy = PropertyIvarType->getAs<RecordType>();
tools/clang/lib/Sema/SemaOpenMP.cpp
12872   if (const auto *TyRec = Ty->getAs<RecordType>()) {
12872   if (const auto *TyRec = Ty->getAs<RecordType>()) {
tools/clang/lib/Sema/SemaOverload.cpp
 1397   if (ToType->getAs<RecordType>() && FromType->getAs<RecordType>() &&
 1397   if (ToType->getAs<RecordType>() && FromType->getAs<RecordType>() &&
 1978   const RecordType *UT = ToType->getAsUnionType();
 3087   if (const RecordType *VBase = Paths.getDetectedVirtual()) {
 3346   if (const RecordType *ToRecordType = ToType->getAs<RecordType>()) {
 3346   if (const RecordType *ToRecordType = ToType->getAs<RecordType>()) {
 3356         (From->getType()->getAs<RecordType>() &&
 3429   } else if (const RecordType *FromRecordType =
 3430                  From->getType()->getAs<RecordType>()) {
 4471     = dyn_cast<CXXRecordDecl>(T2->castAs<RecordType>()->getDecl());
 5875   const RecordType *RecordTy = T->getAs<RecordType>();
 5875   const RecordType *RecordTy = T->getAs<RecordType>();
 7103     = cast<CXXRecordDecl>(ImplicitParamType->castAs<RecordType>()->getDecl());
 7449   if (const RecordType *T1Rec = T1->getAs<RecordType>()) {
 7449   if (const RecordType *T1Rec = T1->getAs<RecordType>()) {
 7768   const RecordType *TyRec = Ty->getAs<RecordType>();
 7768   const RecordType *TyRec = Ty->getAs<RecordType>();
 7857     const RecordType *TyRec;
 7860       TyRec = RHSMPType->getClass()->getAs<RecordType>();
 7862       TyRec = ArgExpr->getType()->getAs<RecordType>();
 8836       if (!isa<RecordType>(C1))
13600   const RecordType *Record = Object.get()->getType()->getAs<RecordType>();
13600   const RecordType *Record = Object.get()->getType()->getAs<RecordType>();
13887   const RecordType *BaseRecord = Base->getType()->getAs<RecordType>();
13887   const RecordType *BaseRecord = Base->getType()->getAs<RecordType>();
tools/clang/lib/Sema/SemaPseudoObject.cpp
 1061   const RecordType *RecordTy = T->getAs<RecordType>();
 1061   const RecordType *RecordTy = T->getAs<RecordType>();
tools/clang/lib/Sema/SemaStmt.cpp
 3417   bool VisitRecordType(const RecordType *RT);
 3421 bool LocalTypedefNameReferencer::VisitRecordType(const RecordType *RT) {
tools/clang/lib/Sema/SemaStmtAsm.cpp
  789     const RecordType *RT = nullptr;
  791       RT = VD->getType()->getAs<RecordType>();
  798       RT = QT->getAs<RecordType>();
  800       RT = TD->getTypeForDecl()->getAs<RecordType>();
  802       RT = TD->getType()->getAs<RecordType>();
  849   const RecordType *RT = T->getAs<RecordType>();
  849   const RecordType *RT = T->getAs<RecordType>();
tools/clang/lib/Sema/SemaTemplate.cpp
 3605   if (const RecordType *RT = Result->getAs<RecordType>()) {
 3605   if (const RecordType *RT = Result->getAs<RecordType>()) {
 5616 bool UnnamedLocalNoLinkageFinder::VisitRecordType(const RecordType* T) {
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
  578   const RecordType *RecordArg = dyn_cast<RecordType>(Arg);
  578   const RecordType *RecordArg = dyn_cast<RecordType>(Arg);
 1756       const RecordType *RecordT = Arg->getAs<RecordType>();
 1756       const RecordType *RecordT = Arg->getAs<RecordType>();
 1793       llvm::SmallPtrSet<const RecordType *, 8> Visited;
 1794       SmallVector<const RecordType *, 8> ToVisit;
 1800         const RecordType *NextT = ToVisit.pop_back_val();
 1839           ToVisit.push_back(Base.getType()->getAs<RecordType>());
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
 5502         const RecordType *Tag = T->getAs<RecordType>();
 5502         const RecordType *Tag = T->getAs<RecordType>();
tools/clang/lib/Sema/SemaType.cpp
 2195   if (const RecordType *EltTy = T->getAs<RecordType>()) {
 2195   if (const RecordType *EltTy = T->getAs<RecordType>()) {
 3709     if (auto recordType = type->getAs<RecordType>()) {
 8197   const RecordType *RT = ElemType->getAs<RecordType>();
 8197   const RecordType *RT = ElemType->getAs<RecordType>();
tools/clang/lib/Sema/TreeTransform.h
 5814   const RecordType *T = TL.getTypePtr();
 5814   const RecordType *T = TL.getTypePtr();
 5816     = cast_or_null<RecordDecl>(getDerived().TransformDecl(TL.getNameLoc(),
 5821   QualType Result = TL.getType();
 5829   RecordTypeLoc NewTL = TLB.push<RecordTypeLoc>(Result);
 5830   NewTL.setNameLoc(TL.getNameLoc());
10684       if (const RecordType *RecordT = ElementType->getAs<RecordType>()) {
10684       if (const RecordType *RecordT = ElementType->getAs<RecordType>()) {
10754       if (const RecordType *DestroyedRec = Destroyed->getAs<RecordType>()) {
10754       if (const RecordType *DestroyedRec = Destroyed->getAs<RecordType>()) {
13324       (!isArrow && !BaseType->getAs<RecordType>()) ||
13327                                               ->template getAs<RecordType>())){
tools/clang/lib/Serialization/ASTWriter.cpp
  394 void ASTTypeWriter::VisitRecordType(const RecordType *T) {
tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
  208     if (const RecordType *RT = T->getAsStructureType()) {
tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
   50   const RecordType *RT = ToPointeeTy->getAs<RecordType>();
   50   const RecordType *RT = ToPointeeTy->getAs<RecordType>();
tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
   30   const RecordType *RT = T->getAs<RecordType>();
   30   const RecordType *RT = T->getAs<RecordType>();
  203     if (const RecordType *baseT = T->getAs<RecordType>()) {
  203     if (const RecordType *baseT = T->getAs<RecordType>()) {
  249   if (const RecordType *RT = T->getAs<RecordType>()) {
  249   if (const RecordType *RT = T->getAs<RecordType>()) {
tools/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
  113       const RecordType *UT = T->getAsUnionType();
tools/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
  123     const RecordType *RT = ArrTy->getElementType()->getAs<RecordType>();
  123     const RecordType *RT = ArrTy->getElementType()->getAs<RecordType>();
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
  109   if (const RecordType *RT = T->getAsStructureType()) {
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
 2111   const RecordDecl *RD = R->getValueType()->castAs<RecordType>()->getDecl();
 2379   const RecordType* RT = T->castAs<RecordType>();
 2379   const RecordType* RT = T->castAs<RecordType>();
tools/clang/tools/extra/clang-doc/Serialize.cpp
  442     if (const RecordType *Ty = B.getType()->getAs<RecordType>()) {
  442     if (const RecordType *Ty = B.getType()->getAs<RecordType>()) {
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
  166   if (const auto *RT = Type.getCanonicalType()->getAs<RecordType>())
  166   if (const auto *RT = Type.getCanonicalType()->getAs<RecordType>())
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp
   91     if (const auto *BaseRecordType = Base.getType()->getAs<RecordType>()) {
   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>();
   74     const auto *Ty = I.getType()->getAs<RecordType>();
  107       const auto *Ty = I.getType()->getAs<RecordType>();
  107       const auto *Ty = I.getType()->getAs<RecordType>();
  116       const auto *Ty = V.getType()->getAs<RecordType>();
  116       const auto *Ty = V.getType()->getAs<RecordType>();
tools/clang/tools/extra/clang-tidy/google/ExplicitConstructorCheck.cpp
   79   if (const auto *RT = Type->getAs<RecordType>()) {
   79   if (const auto *RT = Type->getAs<RecordType>()) {
tools/clang/tools/extra/clang-tidy/utils/TypeTraits.cpp
  130   if (const auto *RT = CanonicalType->getAs<RecordType>()) {
  130   if (const auto *RT = CanonicalType->getAs<RecordType>()) {
tools/clang/tools/extra/clangd/XRefs.cpp
 1191     if (const RecordType *RT = Type->getAs<RecordType>()) {
 1191     if (const RecordType *RT = Type->getAs<RecordType>()) {
tools/clang/tools/extra/clangd/refactor/tweaks/ExpandAutoType.cpp
   85   if (isa<RecordType>(*DeducedType) &&
   86       dyn_cast<RecordType>(*DeducedType)->getDecl()->isLambda()) {
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
  352     } else if (const RecordType *RT = T->getAs<RecordType>()) {
  352     } else if (const RecordType *RT = T->getAs<RecordType>()) {
tools/clang/tools/libclang/CXType.cpp
  508     if (const RecordType *Record = TP->getAs<RecordType>())
  508     if (const RecordType *Record = TP->getAs<RecordType>())
  971     if (const RecordType *ChildType = I->getType()->getAs<RecordType>()) {
  971     if (const RecordType *ChildType = I->getType()->getAs<RecordType>()) {
tools/clang/unittests/AST/ASTImporterTest.cpp
  245   return cast<RecordType>(ET->getNamedType().getTypePtr())->getDecl();
 4480   return cast<RecordType>(Ty)->getDecl();
tools/clang/unittests/AST/StructuralEquivalenceTest.cpp
  562     return cast<RecordType>(ET->getNamedType().getTypePtr())->getDecl();
  675   RecordDecl *RA = cast<RecordType>(FA->getType().getTypePtr())->getDecl();
  679   RecordDecl *RB = cast<RecordType>(FB->getType().getTypePtr())->getDecl();
  708   RecordDecl *RA = cast<RecordType>(FA->getType().getTypePtr())->getDecl();
  714   RecordDecl *RA1 = cast<RecordType>(FA1->getType().getTypePtr())->getDecl();
tools/clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
  226   static_assert(internal::has_getDecl<RecordType>::value,
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
 1700     const clang::RecordType *origin_base_record_type =
 1701         origin_base_type->getAs<RecordType>();
 1841         const RecordType *base_record_type = base_type->getAs<RecordType>();
 1841         const RecordType *base_record_type = base_type->getAs<RecordType>();
tools/lldb/source/Symbol/ClangASTContext.cpp
  174                 specifier->getType()->getAs<clang::RecordType>()->getDecl())) {
 1742           base_class->getType()->getAs<RecordType>()->getDecl());
 2571     return llvm::cast<clang::RecordType>(qual_type)->getDecl();
 2793     if (const clang::RecordType *record_type =
 2794             llvm::dyn_cast_or_null<clang::RecordType>(
 3082       const clang::RecordType *record_type =
 3083           llvm::cast<clang::RecordType>(qual_type.getTypePtr());
 3645         const clang::RecordType *record_type =
 3646             llvm::cast<clang::RecordType>(qual_type.getTypePtr());
 4316     const clang::RecordType *record_type =
 4317         llvm::cast<clang::RecordType>(qual_type.getTypePtr());
 4539         const clang::RecordType *record_type =
 4540             llvm::cast<clang::RecordType>(qual_type.getTypePtr());
 4628         const clang::RecordType *record_type =
 4629             llvm::cast<clang::RecordType>(qual_type.getTypePtr());
 4899       if (const clang::RecordType *rt = qual_type->getAs<clang::RecordType>())
 4899       if (const clang::RecordType *rt = qual_type->getAs<clang::RecordType>())
 5539       const clang::RecordType *record_type =
 5540           llvm::cast<clang::RecordType>(qual_type.getTypePtr());
 5558                         ->getAs<clang::RecordType>()
 5822       const clang::RecordType *record_type =
 5823           llvm::dyn_cast<clang::RecordType>(qual_type.getTypePtr());
 5972       const clang::RecordType *record_type =
 5973           llvm::cast<clang::RecordType>(qual_type.getTypePtr());
 6234                           ->getAs<clang::RecordType>()
 6357                           ->getAs<clang::RecordType>()
 6610       const clang::RecordType *record_type =
 6611           llvm::cast<clang::RecordType>(parent_qual_type.getTypePtr());
 6632                 base_class->getType()->getAs<clang::RecordType>()->getDecl());
 6640                   base_class->getType()->getAs<clang::RecordType>()->getDecl());
 7158         const clang::RecordType *record_type =
 7159             llvm::cast<clang::RecordType>(qual_type.getTypePtr());
 7227                           ->getAs<clang::RecordType>()
 7430         const clang::RecordType *record_type =
 7431             llvm::cast<clang::RecordType>(qual_type.getTypePtr());
 7450                         ->getAs<clang::RecordType>()
 7830   const clang::RecordType *record_type =
 7831       llvm::dyn_cast<clang::RecordType>(ClangUtil::GetCanonicalQualType(type));
 7981       const clang::RecordType *field_record_type =
 7982           field_qual_type->getAs<clang::RecordType>();
 9018       const clang::RecordType *record_type =
 9019           llvm::cast<clang::RecordType>(qual_type.getTypePtr());
 9039                   base_class->getType()->getAs<clang::RecordType>()->getDecl());
 9706       const clang::RecordType *record_type =
 9707           llvm::cast<clang::RecordType>(qual_type.getTypePtr());
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
 1447     : public __and_<is_destructible<_Tp>, integral_constant<bool,
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1659     { typedef _Tp&&   type; };
 1955     { typedef _Tp     type; };