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

Derived Classes

tools/clang/include/clang/AST/Type.h
 2906 class ConstantArrayType final
 2966 class IncompleteArrayType : public ArrayType {
 3010 class VariableArrayType : public ArrayType {
 3064 class DependentSizedArrayType : public ArrayType {

Declarations

gen/tools/clang/include/clang/AST/TypeNodes.inc
   22 ABSTRACT_TYPE(Array, Type)
tools/clang/include/clang/Sema/Sema.h
   78   class ArrayType;

References

include/llvm/Support/Casting.h
   57   static inline bool doit(const From &Val) {
   58     return To::classof(&Val);
  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*,
  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;
tools/clang/include/clang/AST/ASTContext.h
 1313                                 ArrayType::ArraySizeModifier ASM,
 1323                                       ArrayType::ArraySizeModifier ASM,
 1330                                   ArrayType::ArraySizeModifier ASM,
 1337                                 ArrayType::ArraySizeModifier ASM,
 2449   const ArrayType *getAsArrayType(QualType T) const;
 2467   QualType getBaseElementType(const ArrayType *VAT) const;
tools/clang/include/clang/AST/ASTNodeTraverser.h
  289   void VisitArrayType(const ArrayType *T) { Visit(T->getElementType()); }
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);
  251   const T *get() const {
  252     return BaseConverter<T>::get(NodeKind, Storage.buffer);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  395       if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
  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/JSONNodeDumper.h
  206   void VisitArrayType(const ArrayType *AT);
tools/clang/include/clang/AST/TextNodeDumper.h
  278   void VisitArrayType(const ArrayType *T);
tools/clang/include/clang/AST/Type.h
 2248   const ArrayType *getAsArrayTypeUnsafe() const;
 2260   const ArrayType *castAsArrayTypeUnsafe() const;
 2907     : public ArrayType,
 2966 class IncompleteArrayType : public ArrayType {
 3010 class VariableArrayType : public ArrayType {
 3064 class DependentSizedArrayType : public ArrayType {
 6204   return !isa<FunctionType>(T) && !isa<ArrayType>(T);
 6448   return isa<ArrayType>(CanonicalType);
 6800   while (const ArrayType *arrayType = type->getAsArrayTypeUnsafe())
 6909 inline const ArrayType *Type::getAsArrayTypeUnsafe() const {
 6911   if (const auto *arr = dyn_cast<ArrayType>(this))
 6911   if (const auto *arr = dyn_cast<ArrayType>(this))
 6915   if (!isa<ArrayType>(CanonicalType))
 6920   return cast<ArrayType>(getUnqualifiedDesugaredType());
 6932 inline const ArrayType *Type::castAsArrayTypeUnsafe() const {
 6934   if (const auto *arr = dyn_cast<ArrayType>(this)) return arr;
 6934   if (const auto *arr = dyn_cast<ArrayType>(this)) return arr;
 6935   return cast<ArrayType>(getUnqualifiedDesugaredType());
tools/clang/include/clang/AST/TypeLoc.h
  370     return TypeClass::classof(Ty);
  405   const TypeClass *getTypePtr() const {
  406     return cast<TypeClass>(Base::getTypePtr());
 1497                                             ArrayType,
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
 5377 extern const AstTypeMatcher<ArrayType> arrayType;
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  160   const T *getNodeAs(StringRef ID) const {
  165     return It->second.get<T>();
  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>());
 1067   using head = T1;
 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>> {
 1625 class TypeTraverseMatcher : public WrapperMatcherInterface<T> {
 1632   bool matches(const T &Node, ASTMatchFinder *Finder,
 1693   template <typename OuterT> operator Matcher<OuterT>() const {
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
 1525   QualType BuildArrayType(QualType T, ArrayType::ArraySizeModifier ASM,
tools/clang/lib/AST/APValue.cpp
  635     const ArrayType *AT = Ctx.getAsArrayType(Ty);
tools/clang/lib/AST/ASTContext.cpp
 1641       if (const ArrayType *arrayType = getAsArrayType(T)) {
 1825     Align = getTypeAlign(cast<ArrayType>(T)->getElementType());
 3170                                           ArrayType::ArraySizeModifier ASM,
 3334                                   ArrayType::Normal,
 3346                                   ArrayType::Star,
 3361                                           ArrayType::ArraySizeModifier ASM,
 3389                                                 ArrayType::ArraySizeModifier ASM,
 3456                                             ArrayType::ArraySizeModifier ASM,
 5158   if (isa<ArrayType>(Ty)) {
 5177   const auto *AT =
 5178       dyn_cast<ArrayType>(splitType.Ty->getUnqualifiedDesugaredType());
 5543 const ArrayType *ASTContext::getAsArrayType(QualType T) const {
 5547     if (const auto *AT = dyn_cast<ArrayType>(T))
 5547     if (const auto *AT = dyn_cast<ArrayType>(T))
 5552   if (!isa<ArrayType>(T.getCanonicalType()))
 5567   const auto *ATy = dyn_cast<ArrayType>(split.Ty);
 5567   const auto *ATy = dyn_cast<ArrayType>(split.Ty);
 5576     return cast<ArrayType>(getConstantArrayType(NewEltTy, CAT->getSize(),
 5581     return cast<ArrayType>(getIncompleteArrayType(NewEltTy,
 5586     return cast<ArrayType>(
 5594   return cast<ArrayType>(getVariableArrayType(NewEltTy,
 5637   const ArrayType *PrettyArrayType = getAsArrayType(Ty);
 5654 QualType ASTContext::getBaseElementType(const ArrayType *array) const {
 5662     const ArrayType *array = split.Ty->getAsArrayTypeUnsafe();
 6356     if (const auto *AT =
 6357             dyn_cast<ArrayType>(PType->getCanonicalTypeInternal())) {
 6399     if (const auto *AT =
 6400             dyn_cast<ArrayType>(PType->getCanonicalTypeInternal())) {
 6470     if (const auto *AT =
 6471             dyn_cast<ArrayType>(PType->getCanonicalTypeInternal())) {
 6909     const auto *AT = cast<ArrayType>(CT);
 6909     const auto *AT = cast<ArrayType>(CT);
 7484                                     Size, nullptr, ArrayType::Normal, 0);
 7538       VaListTagType, Size, nullptr, ArrayType::Normal, 0);
 7546       Context->IntTy, Size, nullptr, ArrayType::Normal, 0);
 7641       VaListTagType, Size, nullptr, ArrayType::Normal, 0);
 7922     while (const auto *AT = dyn_cast<ArrayType>(CT))
 7922     while (const auto *AT = dyn_cast<ArrayType>(CT))
10353                               ArrayType::Normal, /*IndexTypeQuals*/ 0);
tools/clang/lib/AST/ASTImporter.cpp
 3700         const ArrayType *FoundArray
 3702         const ArrayType *TArray
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
  365                                           const ArrayType *Array1,
  366                                           const ArrayType *Array2) {
  542     if (!IsArrayStructurallyEquivalent(Context, cast<ArrayType>(T1),
  543                                        cast<ArrayType>(T2)))
tools/clang/lib/AST/DeclPrinter.cpp
  151     else if (const ArrayType* ATy = dyn_cast<ArrayType>(BaseType))
  151     else if (const ArrayType* ATy = dyn_cast<ArrayType>(BaseType))
tools/clang/lib/AST/Expr.cpp
 2275   const ArrayType *AT = getType()->getAsArrayTypeUnsafe();
tools/clang/lib/AST/ExprConstant.cpp
  206         const ArrayType *AT = Ctx.getAsArrayType(Type);
 6015                                                      ArrayType::Normal, 0);
 8583                                               ArrayType::Normal, 0);
11965       const ArrayType *AT = Info.Ctx.getAsArrayType(CurrentType);
tools/clang/lib/AST/Interp/Program.cpp
  127   QualType Ty = ASTCtx.getIncompleteArrayType(ElemTy, ArrayType::Normal, 0);
tools/clang/lib/AST/ItaniumMangle.cpp
 2470   if (quals && isa<ArrayType>(T)) {
tools/clang/lib/AST/JSONNodeDumper.cpp
  554 void JSONNodeDumper::VisitArrayType(const ArrayType *AT) {
  556   case ArrayType::Star:
  559   case ArrayType::Static:
  562   case ArrayType::Normal:
tools/clang/lib/AST/MicrosoftMangle.cpp
  373   void mangleDecayedArrayType(const ArrayType *T);
  374   void mangleArrayType(const ArrayType *T);
  574   } else if (const ArrayType *AT = getASTContext().getAsArrayType(Ty)) {
 1756     if (const auto *AT = getASTContext().getAsArrayType(OriginalType))
 1887   if (const ArrayType *AT = getASTContext().getAsArrayType(T)) {
 2496 void MicrosoftCXXNameMangler::mangleDecayedArrayType(const ArrayType *T) {
 2518 void MicrosoftCXXNameMangler::mangleArrayType(const ArrayType *T) {
tools/clang/lib/AST/ODRHash.cpp
  790   void VisitArrayType(const ArrayType *T) {
tools/clang/lib/AST/RecordLayoutBuilder.cpp
 1768     const ArrayType* ATy = Context.getAsArrayType(D->getType());
tools/clang/lib/AST/ScanfFormatString.cpp
  447       if (CAT->getSizeModifier() == ArrayType::Normal)
tools/clang/lib/AST/StmtIterator.cpp
   26   while (const ArrayType *vt = dyn_cast<ArrayType>(t)) {
   26   while (const ArrayType *vt = dyn_cast<ArrayType>(t)) {
tools/clang/lib/AST/TextNodeDumper.cpp
 1070 void TextNodeDumper::VisitArrayType(const ArrayType *T) {
 1072   case ArrayType::Normal:
 1074   case ArrayType::Static:
 1077   case ArrayType::Star:
tools/clang/lib/AST/Type.cpp
  106   if (const ArrayType *AT = Ctx.getAsArrayType(T))
  303   if (const auto *ATy = dyn_cast<ArrayType>(this))
  303   if (const auto *ATy = dyn_cast<ArrayType>(this))
  307   if (!isa<ArrayType>(CanonicalType))
  312   return cast<ArrayType>(getUnqualifiedDesugaredType())
 1760     Type *VisitArrayType(const ArrayType *T) {
 2098   return isa<ArrayType>(CanonicalType);
 2143     return cast<ArrayType>(CanonicalType)->getElementType()
 3683     return Cache::get(cast<ArrayType>(T)->getElementType());
 3768     return computeTypeLinkageInfo(cast<ArrayType>(T)->getElementType());
 4022   while (const auto *array = dyn_cast<ArrayType>(canon))
 4022   while (const auto *array = dyn_cast<ArrayType>(canon))
 4075   while (const ArrayType *array = type->getAsArrayTypeUnsafe())
 4103   if (const ArrayType *arr = getAsArrayTypeUnsafe()) {
tools/clang/lib/AST/TypePrinter.cpp
  376   if (isa<ArrayType>(T->getPointeeType()))
  386   if (isa<ArrayType>(T->getPointeeType()))
  420   if (isa<ArrayType>(Inner))
  432   if (isa<ArrayType>(Inner))
  445   if (isa<ArrayType>(Inner))
  457   if (isa<ArrayType>(Inner))
  469   if (isa<ArrayType>(T->getPointeeType()))
  485   if (isa<ArrayType>(T->getPointeeType()))
  506   if (T->getSizeModifier() == ArrayType::Static)
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  808 const AstTypeMatcher<ArrayType> arrayType;
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/CFG.cpp
 1330   while (const ArrayType *vt = dyn_cast<ArrayType>(t)) {
 1330   while (const ArrayType *vt = dyn_cast<ArrayType>(t)) {
 4976       while (const ArrayType *arrayType = astContext.getAsArrayType(ty)) {
tools/clang/lib/Analysis/LiveVariables.cpp
  225   while (const ArrayType *VT = dyn_cast<ArrayType>(ty)) {
  225   while (const ArrayType *VT = dyn_cast<ArrayType>(ty)) {
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGAtomic.cpp
  106               C.getConstantArrayType(C.CharTy, Size, nullptr, ArrayType::Normal,
tools/clang/lib/CodeGen/CGBuiltin.cpp
 1483   if (const auto *Arr = Ctx.getAsArrayType(Ty))
 3791           getContext().getSizeType(), ArraySize, nullptr, ArrayType::Normal,
tools/clang/lib/CodeGen/CGCall.cpp
 2372             if (ArrTy->getSizeModifier() == ArrayType::Static) {
tools/clang/lib/CodeGen/CGClass.cpp
 1892     const CXXConstructorDecl *ctor, const ArrayType *arrayType,
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 2628 llvm::DIType *CGDebugInfo::CreateType(const ArrayType *Ty, llvm::DIFile *Unit) {
 2657   while ((Ty = dyn_cast<ArrayType>(EltTy))) {
 3044     return CreateType(cast<ArrayType>(Ty), Unit);
 3285                                               ArrayType::Normal, 0);
 3881           CGM.getContext().CharTy, pad, nullptr, ArrayType::Normal, 0);
tools/clang/lib/CodeGen/CGDebugInfo.h
  179   llvm::DIType *CreateType(const ArrayType *Ty, llvm::DIFile *F);
tools/clang/lib/CodeGen/CGDecl.cpp
 2104   const ArrayType *arrayType = getContext().getAsArrayType(type);
 2199   while (const ArrayType *arrayType = CGF.getContext().getAsArrayType(type)) {
tools/clang/lib/CodeGen/CGExpr.cpp
  861   const ArrayType *AT = E->getType()->castAsArrayTypeUnsafe();
  941       const ArrayType *AT = IndexedType->castAsArrayTypeUnsafe();
tools/clang/lib/CodeGen/CGExprCXX.cpp
  605   if (const ArrayType *arrayType
tools/clang/lib/CodeGen/CGExprConstant.cpp
 2135       const ArrayType *AT = CGM.getContext().getAsArrayType(DestType);
tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp
   96     if (const auto *AT = asDerived().getContext().getAsArrayType(FT)) {
  183   void visitArray(FieldKind FK, const ArrayType *AT, bool IsVolatile,
  275     if (const auto *AT = getContext().getAsArrayType(FT)) {
  292     if (const auto *AT = getContext().getAsArrayType(FT)) {
  331   void visitArray(FieldKind FK, const ArrayType *AT, bool IsVolatile,
  578     if (const auto *AT = getContext().getAsArrayType(FT)) {
  618     if (const auto *AT = getContext().getAsArrayType(FT)) {
  640   void visitArray(FieldKind FK, const ArrayType *AT, bool IsVolatile,
tools/clang/lib/CodeGen/CGObjC.cpp
  147                                    ArrayType::Normal, /*IndexTypeQuals=*/0);
 1665                                       ArrayType::Normal, 0);
tools/clang/lib/CodeGen/CGObjCMac.cpp
 2519     if (const ArrayType *Array = CGM.getContext().getAsArrayType(FQT)) {
 2524       while (const ArrayType *Array = CGM.getContext().getAsArrayType(FQT)) {
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
  868   const ArrayType *ArrayTy = Type->getAsArrayTypeUnsafe();
 3388         C.VoidPtrTy, ArraySize, nullptr, ArrayType::Normal,
 5223         nullptr, ArrayType::Normal, /*IndexTypeQuals=*/0);
 5479   const ArrayType *ArrayTy = Type->getAsArrayTypeUnsafe();
 5744       C.getConstantArrayType(C.VoidPtrTy, ArraySize, nullptr, ArrayType::Normal,
 6216       RDType, ArraySize, nullptr, ArrayType::Normal, /*IndexTypeQuals=*/0);
 7196         const auto *ATy = cast<ArrayType>(BaseTy.getTypePtr());
 7196         const auto *ATy = cast<ArrayType>(BaseTy.getTypePtr());
 8579         Ctx.VoidPtrTy, PointerNumAP, nullptr, ArrayType::Normal,
 8594           Int64Ty, PointerNumAP, nullptr, ArrayType::Normal,
10832       C.getConstantArrayType(KmpDimTy, Size, nullptr, ArrayType::Normal, 0);
10883       Int64Ty, Size, nullptr, ArrayType::Normal, 0);
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
  283       Type = C.getConstantArrayType(Type, ArraySize, nullptr, ArrayType::Normal,
 4299       C.getConstantArrayType(C.VoidPtrTy, ArraySize, nullptr, ArrayType::Normal,
 5085           C.CharTy, ArySize, nullptr, ArrayType::Normal, /*IndexTypeQuals=*/0);
 5112           C.CharTy, ArySize, nullptr, ArrayType::Normal, /*IndexTypeQuals=*/0);
 5145           C.getConstantArrayType(StaticTy, Size1, nullptr, ArrayType::Normal,
 5149           C.getConstantArrayType(Arr1Ty, Size2, nullptr, ArrayType::Normal,
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
  352   if (const ArrayType *A = T->getAsArrayTypeUnsafe()) {
  646   const ArrayType *ArrayTy = OriginalType->getAsArrayTypeUnsafe();
 3196         getContext().VoidPtrTy, ArrSize, nullptr, ArrayType::Normal,
 3204         ArrSize, nullptr, ArrayType::Normal,
tools/clang/lib/CodeGen/CodeGenFunction.cpp
 1720 llvm::Value *CodeGenFunction::emitArrayLength(const ArrayType *origArrayType,
 1723   const ArrayType *arrayType = origArrayType;
 1920       type = cast<ArrayType>(ty)->getElementType();
tools/clang/lib/CodeGen/CodeGenFunction.h
 2414   llvm::Value *emitArrayLength(const ArrayType *arrayType,
 2542                                   const ArrayType *ArrayTy,
tools/clang/lib/CodeGen/CodeGenModule.cpp
 2270     while (auto AT = dyn_cast<ArrayType>(Ty.getTypePtr()))
 4821                            llvm::APInt(32, 5), nullptr, ArrayType::Normal, 0)
tools/clang/lib/CodeGen/CodeGenTBAA.cpp
  165     return getTypeInfo(cast<ArrayType>(Ty)->getElementType());
tools/clang/lib/CodeGen/CodeGenTypes.cpp
  168   if (const auto *AT = CGT.getContext().getAsArrayType(T))
  801   if (const auto *AT = Context.getAsArrayType(T)) {
tools/clang/lib/CodeGen/TargetInfo.cpp
 6378   if (const auto *AT = T->getAsArrayTypeUnsafe())
 9127   if (AT->getSizeModifier() != ArrayType::Normal)
 9185   if (const ArrayType *AT = QT->getAsArrayTypeUnsafe())
 9228     if (const ArrayType *AT = QT->getAsArrayTypeUnsafe()) {
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  601           ArrayType::Normal, 0);
 3705     const ArrayType *AT = Context->getAsArrayType(Type);
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  501           ArrayType::Normal, 0);
tools/clang/lib/Index/USRGeneration.cpp
  869     if (const auto *const AT = dyn_cast<ArrayType>(T)) {
  869     if (const auto *const AT = dyn_cast<ArrayType>(T)) {
  872       case ArrayType::Static:
  875       case ArrayType::Star:
  878       case ArrayType::Normal:
tools/clang/lib/Sema/Sema.cpp
 1123                                                 nullptr, ArrayType::Normal, 0);
tools/clang/lib/Sema/SemaChecking.cpp
 1008     if (const ArrayType *Ty = ArgTy->getAsArrayTypeUnsafe())
 6893       if (const ArrayType *AT = S.Context.getAsArrayType(T)) {
 9406     if (const auto *AT = asDerived().getContext().getAsArrayType(FT)) {
 9425                   const ArrayType *AT, SourceLocation SL) {
 9448     if (const auto *AT = asDerived().getContext().getAsArrayType(FT)) {
 9466   void visitArray(QualType::PrimitiveCopyKind PCK, const ArrayType *AT,
13027   const ArrayType *AT = S.Context.getAsArrayType(PType);
13031   if (AT->getSizeModifier() != ArrayType::Star) {
tools/clang/lib/Sema/SemaDecl.cpp
 3859       const ArrayType *OldArray = Context.getAsArrayType(Old->getType());
 3860       const ArrayType *NewArray = Context.getAsArrayType(New->getType());
 3868           const ArrayType *PrevVDTy = Context.getAsArrayType(PrevVD->getType());
 5796       VLATy->getElementType(), Res, VLATy->getSizeExpr(), ArrayType::Normal, 0);
11334     if (const auto *AT = S.Context.getAsArrayType(QT))
11399     if (const auto *AT = S.Context.getAsArrayType(QT))
11465     if (const auto *AT = S.Context.getAsArrayType(QT))
11607     if (const ArrayType *Array = Context.getAsIncompleteArrayType(BaseDeclType))
tools/clang/lib/Sema/SemaExpr.cpp
 3234                                            ArrayType::Normal,
 3241                                            ArrayType::Normal,
 3481           llvm::APInt(32, Length + 1), nullptr, ArrayType::Normal, 0);
 4093       T = cast<ArrayType>(Ty)->getElementType();
 4437   if (isa<ArrayType>(ResultTy))
 4449   if (!(isa<ArrayType>(BaseTy) || isa<PointerType>(BaseTy)))
 5272   const ArrayType *AT = Context.getAsArrayType(OrigTy);
 5273   if (!AT || AT->getSizeModifier() != ArrayType::Static)
 9236   } else if (const auto *ArrayTy = S.Context.getAsArrayType(LHSTy)) {
13662       !isa<ArrayType>(UO->getType().getDesugaredType(Context)))
13885         const ArrayType *AT = Context.getAsArrayType(CurrentType);
15104     else if (const auto *Arr = S.Context.getAsArrayType(Ty))
tools/clang/lib/Sema/SemaExprCXX.cpp
 2122           *ArraySize, ArrayType::Normal, 0);
 2125           Context.getIncompleteArrayType(AllocType, ArrayType::Normal, 0);
 2210     if (const ArrayType *AT = Context.getAsArrayType(AllocType)) {
 5300       while (const ArrayType *AT = Self.Context.getAsArrayType(T)) {
 5325       while (const ArrayType *AT = Self.Context.getAsArrayType(T)) {
 6476       T = cast<ArrayType>(T)->getElementType().getTypePtr();
tools/clang/lib/Sema/SemaExprMember.cpp
 1743   if (isa<ArrayType>(ResultTy))
tools/clang/lib/Sema/SemaExprObjC.cpp
 3289     } else if (const ArrayType *array = type->getAsArrayTypeUnsafe()) {
tools/clang/lib/Sema/SemaInit.cpp
   62 static StringInitFailureKind IsStringInit(Expr *Init, const ArrayType *AT,
  137   const ArrayType *arrayType = Context.getAsArrayType(declType);
  188 static void CheckStringInit(Expr *Str, QualType &DeclT, const ArrayType *AT,
  202                                            ArrayType::Normal, 0);
  834   if (const ArrayType *AType = SemaRef.Context.getAsArrayType(ILE->getType())) {
 1389   } else if (const ArrayType *arrayType =
 1820   const ArrayType *arrayType = SemaRef.Context.getAsArrayType(DeclType);
 1939         elementType, maxElements, nullptr, ArrayType::Normal, 0);
 2787   const ArrayType *AT = SemaRef.Context.getAsArrayType(CurrentObjectType);
 3053   if (const ArrayType *AType
 3225   if (const ArrayType *AT = Context.getAsArrayType(Parent.getType())) {
 3833       nullptr, clang::ArrayType::Normal, 0);
 4317     if (const ArrayType *DestAT = S.Context.getAsArrayType(DestType)) {
 5406 static bool hasCompatibleArrayTypes(ASTContext &Context, const ArrayType *Dest,
 5407                                     const ArrayType *Source) {
 5429   if (const ArrayType *ArgArrayType = S.Context.getAsArrayType(ArgType)) {
 5690   if (const ArrayType *DestAT = Context.getAsArrayType(DestType)) {
 5755       const ArrayType *SourceAT
 6490   if (const ArrayType *AT = S.Context.getAsArrayType(Entity.getType()))
 8420                                              ArrayType::Normal, 0);
 8662         nullptr, clang::ArrayType::Normal, 0);
tools/clang/lib/Sema/SemaLookup.cpp
 2848       T = cast<ArrayType>(T)->getElementType().getTypePtr();
tools/clang/lib/Sema/SemaOpenMP.cpp
13194       if (const auto *ATy = BaseType->getAsArrayTypeUnsafe())
13360                                                    ArrayType::Normal,
13386           ArrayType::Normal, /*IndexTypeQuals=*/0, SourceRange());
tools/clang/lib/Sema/SemaOverload.cpp
 3973       if (isa<ArrayType>(T1) && T1Quals)
 3975       if (isa<ArrayType>(T2) && T2Quals)
 4064   if (isa<ArrayType>(T1) && T1Quals)
 4066   if (isa<ArrayType>(T2) && T2Quals)
 4426   if (isa<ArrayType>(T1) && T1Quals)
 4428   if (isa<ArrayType>(T2) && T2Quals)
tools/clang/lib/Sema/SemaStmt.cpp
 2437     if (const ArrayType *UnqAT = RangeType->getAsArrayTypeUnsafe()) {
tools/clang/lib/Sema/SemaStmtAsm.cpp
  711   if (const auto *ATy = Context.getAsArrayType(T))
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
  625                                       cast<ArrayType>(T)->getElementType());
 1343     if (isa<ArrayType>(Arg)) {
 1615       const ArrayType *ArrayArg = S.Context.getAsArrayType(Arg);
 5403                                cast<ArrayType>(T)->getElementType(),
tools/clang/lib/Sema/SemaType.cpp
 2142 QualType Sema::BuildArrayType(QualType T, ArrayType::ArraySizeModifier ASM,
 2233     if (ASM == ArrayType::Star)
 2275       if (ASM == ArrayType::Static) {
 2279         ASM = ArrayType::Normal;
 2323     } else if (ASM != ArrayType::Normal || Quals != 0)
 4474       ArrayType::ArraySizeModifier ASM;
 4476         ASM = ArrayType::Star;
 4478         ASM = ArrayType::Static;
 4480         ASM = ArrayType::Normal;
 4481       if (ASM == ArrayType::Star && !D.isPrototypeContext()) {
 4486         ASM = ArrayType::Normal;
 4493       if (ASM == ArrayType::Static || ATI.TypeQuals) {
 4497               (ASM == ArrayType::Static ? "'static'" : "type qualifier");
 4499           if (ASM == ArrayType::Static)
 4500             ASM = ArrayType::Normal;
 4509             (ASM == ArrayType::Static ? "'static'" : "type qualifier");
 4510           if (ASM == ArrayType::Static)
 4511             ASM = ArrayType::Normal;
 4533           ASM != ArrayType::Static &&
tools/clang/lib/Sema/TreeTransform.h
  784                             ArrayType::ArraySizeModifier SizeMod,
  796                                     ArrayType::ArraySizeModifier SizeMod,
  808                                       ArrayType::ArraySizeModifier SizeMod,
  818                                     ArrayType::ArraySizeModifier SizeMod,
  829                                           ArrayType::ArraySizeModifier SizeMod,
10702     const ArrayType *ArrayT = SemaRef.Context.getAsArrayType(AllocType);
12901                                          ArrayType::ArraySizeModifier SizeMod,
12937                                                  ArrayType::ArraySizeModifier SizeMod,
12949                                           ArrayType::ArraySizeModifier SizeMod,
12959                                           ArrayType::ArraySizeModifier SizeMod,
12971                                           ArrayType::ArraySizeModifier SizeMod,
tools/clang/lib/Serialization/ASTReader.cpp
 6441     ArrayType::ArraySizeModifier ASM = (ArrayType::ArraySizeModifier)Record[1];
 6452     ArrayType::ArraySizeModifier ASM = (ArrayType::ArraySizeModifier)Record[1];
 6459     ArrayType::ArraySizeModifier ASM = (ArrayType::ArraySizeModifier)Record[1];
 6804     ArrayType::ArraySizeModifier ASM
tools/clang/lib/Serialization/ASTReaderDecl.cpp
 3050       const ArrayType *VarXTy = C.getAsArrayType(VarX->getType());
 3051       const ArrayType *VarYTy = C.getAsArrayType(VarY->getType());
tools/clang/lib/Serialization/ASTWriter.cpp
  174     void VisitArrayType(const ArrayType *T);
  232 void ASTTypeWriter::VisitArrayType(const ArrayType *T) {
tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
  164   while (const ArrayType *AT = T->getAsArrayTypeUnsafe()) {
tools/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
  115     const ArrayType *ArrTy = VD->getType()->getAsArrayTypeUnsafe();
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
 1015     while (const auto *AT = getContext().getAsArrayType(DTy))
 1116     while (const ArrayType *AT = getContext().getAsArrayType(T)) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
  103   while (const ArrayType *AT = Ctx.getAsArrayType(Ty)) {
tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
 1178   if (const ArrayType *AT = Ctx.getAsArrayType(T)) {
 2236   const ArrayType *AT =cast<ArrayType>(Ctx.getCanonicalType(R->getValueType()));
 2236   const ArrayType *AT =cast<ArrayType>(Ctx.getCanonicalType(R->getValueType()));
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
  584   if (const auto *arrayT =
  585           dyn_cast<ArrayType>(originalTy.getCanonicalType())) {
tools/clang/tools/extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
  873       Result.Nodes.getNodeAs<ArrayType>(DestArrayTyName) && !IsDestFixed;
  894                           Result.Nodes.getNodeAs<ArrayType>(DestArrayTyName) &&
tools/clang/tools/extra/clang-tidy/readability/IsolateDeclarationCheck.cpp
   70   if (const auto *AT = dyn_cast<ArrayType>(T))
   70   if (const auto *AT = dyn_cast<ArrayType>(T))
   82   if (isa<ArrayType>(T))
tools/clang/unittests/AST/ASTTypeTraitsTest.cpp
   25   return ASTNodeKind::getFromNodeKind<T>();
tools/lldb/source/Symbol/ClangASTContext.cpp
 2174                                          clang::ArrayType::Normal, 0)
 2180                                          clang::ArrayType::Normal, 0)
 2602     const clang::ArrayType *array_type =
 2603         llvm::dyn_cast<clang::ArrayType>(qual_type.getTypePtr());
 4045           this, llvm::cast<clang::ArrayType>(qual_type.getTypePtr())
 4450                           clang::ArrayType::ArraySizeModifier::Normal, 0)
 4457                     qual_type, clang::ArrayType::ArraySizeModifier::Normal, 0)
 6913       const clang::ArrayType *array = GetQualType(type)->getAsArrayTypeUnsafe();
tools/lldb/source/Symbol/ClangASTImporter.cpp
  791   if (const ArrayType *array_type = type->getAsArrayTypeUnsafe()) {
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; };