|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
gen/tools/clang/include/clang/AST/StmtNodes.inc 611 ARRAYSUBSCRIPTEXPR(ArraySubscriptExpr, Expr)
tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h 43 class ArraySubscriptExpr;
References
include/llvm/ADT/STLExtras.h 75 typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h 58 return To::classof(&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,
172 using ret_type = To *; // Pointer arg case, return Ty*
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;
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
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;
tools/clang/include/clang/AST/ASTTypeTraits.h 65 return ASTNodeKind(KindToKindId<T>::Id);
234 static DynTypedNode create(const T &Node) {
235 return BaseConverter<T>::create(Node);
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 *>(
474 : public DynCastPtrConverter<T, Stmt> {};
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 110 const T *getNodeAs(StringRef ID) const {
111 return MyBoundNodes.getNodeAs<T>(ID);
1751 extern const internal::VariadicDynCastAllOfMatcher<Stmt, ArraySubscriptExpr>
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>());
596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
1026 bool matchesAncestorOf(const T &Node,
1030 static_assert(std::is_base_of<Decl, T>::value ||
1031 std::is_base_of<NestedNameSpecifierLoc, T>::value ||
1032 std::is_base_of<Stmt, T>::value ||
1033 std::is_base_of<TypeLoc, T>::value,
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;
1146 template <typename To> operator Matcher<To>() const {
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 {
1335 template <typename T> operator Matcher<T>() const {
1337 Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
1338 getMatchers<T>(std::index_sequence_for<Ps...>()))
1339 .template unconditionalConvertTo<T>();
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) {
1458 class HasAncestorMatcher : public WrapperMatcherInterface<T> {
1466 bool matches(const T &Node, ASTMatchFinder *Finder,
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/Analysis/Analyses/ThreadSafetyCommon.h 418 til::SExpr *translateArraySubscriptExpr(const ArraySubscriptExpr *E,
tools/clang/include/clang/Sema/Sema.h 1689 void CheckSubscriptAccessOfNoDeref(const ArraySubscriptExpr *E);
11234 const ArraySubscriptExpr *ASE=nullptr,
tools/clang/include/clang/StaticAnalyzer/Core/Checker.h 85 ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C);
89 return isa<STMT>(S);
104 ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C);
108 return isa<STMT>(S);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h 416 void VisitArraySubscriptExpr(const ArraySubscriptExpr *Ex,
tools/clang/lib/ARCMigrate/ObjCMT.cpp 229 return !(isa<ArraySubscriptExpr>(Expr) || isa<CallExpr>(Expr) ||
tools/clang/lib/AST/ASTImporter.cpp 573 ExpectedStmt VisitArraySubscriptExpr(ArraySubscriptExpr *E);
6676 ExpectedStmt ASTNodeImporter::VisitArraySubscriptExpr(ArraySubscriptExpr *E) {
6687 return new (Importer.getToContext()) ArraySubscriptExpr(
tools/clang/lib/AST/Expr.cpp 2504 Loc = cast<ArraySubscriptExpr>(this)->getRBracketLoc();
2505 R1 = cast<ArraySubscriptExpr>(this)->getLHS()->getSourceRange();
2506 R2 = cast<ArraySubscriptExpr>(this)->getRHS()->getSourceRange();
2772 return cast<ArraySubscriptExpr>(E)->getBase()->isOBJCGCCandidate(Ctx);
3900 if (const ArraySubscriptExpr *ASE = dyn_cast<ArraySubscriptExpr>(E))
3900 if (const ArraySubscriptExpr *ASE = dyn_cast<ArraySubscriptExpr>(E))
3977 const auto *Array1 = dyn_cast<ArraySubscriptExpr>(E1);
3977 const auto *Array1 = dyn_cast<ArraySubscriptExpr>(E1);
3978 const auto *Array2 = dyn_cast<ArraySubscriptExpr>(E2);
3978 const auto *Array2 = dyn_cast<ArraySubscriptExpr>(E2);
4656 dyn_cast<ArraySubscriptExpr>(Base->IgnoreParenImpCasts())) {
tools/clang/lib/AST/ExprClassification.cpp 211 if (cast<ArraySubscriptExpr>(E)->getBase()->getType()->isVectorType())
212 return ClassifyInternal(Ctx, cast<ArraySubscriptExpr>(E)->getBase());
216 auto *Base = cast<ArraySubscriptExpr>(E)->getBase()->IgnoreImpCasts();
tools/clang/lib/AST/ExprConstant.cpp 5355 } else if (auto *ASE = dyn_cast<ArraySubscriptExpr>(E)) {
7332 bool VisitArraySubscriptExpr(const ArraySubscriptExpr *E);
7590 bool LValueExprEvaluator::VisitArraySubscriptExpr(const ArraySubscriptExpr *E) {
tools/clang/lib/AST/ItaniumMangle.cpp 4070 const ArraySubscriptExpr *AE = cast<ArraySubscriptExpr>(E);
4070 const ArraySubscriptExpr *AE = cast<ArraySubscriptExpr>(E);
tools/clang/lib/AST/StmtPrinter.cpp 1314 void StmtPrinter::VisitArraySubscriptExpr(ArraySubscriptExpr *Node) {
tools/clang/lib/AST/StmtProfile.cpp 1138 void StmtProfiler::VisitArraySubscriptExpr(const ArraySubscriptExpr *S) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp 683 const internal::VariadicDynCastAllOfMatcher<Stmt, ArraySubscriptExpr>
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>());
361 RetTypes.push_back(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/ReachableCode.cpp 581 const ArraySubscriptExpr *ASE = cast<ArraySubscriptExpr>(S);
581 const ArraySubscriptExpr *ASE = cast<ArraySubscriptExpr>(S);
tools/clang/lib/Analysis/ThreadSafety.cpp 1727 if (const auto *AE = dyn_cast<ArraySubscriptExpr>(Exp)) {
1727 if (const auto *AE = dyn_cast<ArraySubscriptExpr>(Exp)) {
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp 229 return translateArraySubscriptExpr(cast<ArraySubscriptExpr>(S), Ctx);
596 SExprBuilder::translateArraySubscriptExpr(const ArraySubscriptExpr *E,
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGExpr.cpp 1209 if (SanOpts.has(SanitizerKind::ArrayBounds) && isa<ArraySubscriptExpr>(E))
1210 LV = EmitArraySubscriptExpr(cast<ArraySubscriptExpr>(E), /*Accessed*/true);
1342 return EmitArraySubscriptExpr(cast<ArraySubscriptExpr>(E));
2262 if (const auto *Exp = dyn_cast<ArraySubscriptExpr>(E)) {
2262 if (const auto *Exp = dyn_cast<ArraySubscriptExpr>(E)) {
3449 LValue CodeGenFunction::EmitArraySubscriptExpr(const ArraySubscriptExpr *E,
3573 if (const auto *ASE = dyn_cast<ArraySubscriptExpr>(Array))
3573 if (const auto *ASE = dyn_cast<ArraySubscriptExpr>(Array))
3775 if (const auto *ASE = dyn_cast<ArraySubscriptExpr>(Array))
3775 if (const auto *ASE = dyn_cast<ArraySubscriptExpr>(Array))
tools/clang/lib/CodeGen/CGExprAgg.cpp 137 void VisitArraySubscriptExpr(ArraySubscriptExpr *E) {
1131 } else if (const ArraySubscriptExpr *sub = dyn_cast<ArraySubscriptExpr>(E)) {
1131 } else if (const ArraySubscriptExpr *sub = dyn_cast<ArraySubscriptExpr>(E)) {
tools/clang/lib/CodeGen/CGExprCXX.cpp 2093 if (isa<ArraySubscriptExpr>(E))
tools/clang/lib/CodeGen/CGExprScalar.cpp 550 Value *VisitArraySubscriptExpr(ArraySubscriptExpr *E);
1735 Value *ScalarExprEmitter::VisitArraySubscriptExpr(ArraySubscriptExpr *E) {
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp 1158 while (const auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base))
1158 while (const auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base))
1162 } else if (const auto *ASE = dyn_cast<ArraySubscriptExpr>(Ref)) {
1162 } else if (const auto *ASE = dyn_cast<ArraySubscriptExpr>(Ref)) {
1164 while (const auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base))
1164 while (const auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base))
7502 const auto *AE = dyn_cast<ArraySubscriptExpr>(AssocExpr);
7502 const auto *AE = dyn_cast<ArraySubscriptExpr>(AssocExpr);
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp 208 if (const auto *ASE = dyn_cast<ArraySubscriptExpr>(RefExpr)) {
208 if (const auto *ASE = dyn_cast<ArraySubscriptExpr>(RefExpr)) {
210 while (const auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base))
210 while (const auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base))
217 while (const auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base))
217 while (const auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base))
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp 1167 isa<ArraySubscriptExpr>(IRef)) {
tools/clang/lib/CodeGen/CodeGenFunction.h 3505 LValue EmitArraySubscriptExpr(const ArraySubscriptExpr *E,
tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp 893 if (isa<ArraySubscriptExpr>(Expr) ||
915 if (isa<ArraySubscriptExpr>(Expr) ||
tools/clang/lib/Sema/SemaChecking.cpp 1974 !dyn_cast<ArraySubscriptExpr>(Arg->IgnoreParens()))) {
7080 auto ASE = dyn_cast<ArraySubscriptExpr>(UnaOp->getSubExpr());
12779 void VisitArraySubscriptExpr(ArraySubscriptExpr *ASE) {
13232 const ArraySubscriptExpr *ASE,
13354 while (const ArraySubscriptExpr *ASE =
13355 dyn_cast<ArraySubscriptExpr>(BaseExpr))
13375 const ArraySubscriptExpr *ASE = cast<ArraySubscriptExpr>(expr);
13375 const ArraySubscriptExpr *ASE = cast<ArraySubscriptExpr>(expr);
tools/clang/lib/Sema/SemaExpr.cpp 4377 return new (Context) ArraySubscriptExpr(base, idx, Context.DependentTy,
4413 if (!Res.isInvalid() && isa<ArraySubscriptExpr>(Res.get()))
4414 CheckSubscriptAccessOfNoDeref(cast<ArraySubscriptExpr>(Res.get()));
4432 void Sema::CheckSubscriptAccessOfNoDeref(const ArraySubscriptExpr *E) {
4801 ArraySubscriptExpr(LHSExp, RHSExp, ResultType, VK, OK, RLoc);
11570 } else if (const ArraySubscriptExpr *ASE =
11571 dyn_cast<ArraySubscriptExpr>(E)) {
12231 Expr* Base = cast<ArraySubscriptExpr>(E)->getBase();
15095 } else if (const auto *E = dyn_cast<ArraySubscriptExpr>(PossibleDeref)) {
15095 } else if (const auto *E = dyn_cast<ArraySubscriptExpr>(PossibleDeref)) {
16416 auto *ASE = cast<ArraySubscriptExpr>(E);
16416 auto *ASE = cast<ArraySubscriptExpr>(E);
tools/clang/lib/Sema/SemaExprCXX.cpp 7288 if (isa<ArraySubscriptExpr>(E))
tools/clang/lib/Sema/SemaFixItUtils.cpp 68 if (isa<ArraySubscriptExpr>(Expr) ||
tools/clang/lib/Sema/SemaInit.cpp 5374 } else if (isa<ArraySubscriptExpr>(e)) {
6926 if (auto *ASE = dyn_cast<ArraySubscriptExpr>(Init)) {
6926 if (auto *ASE = dyn_cast<ArraySubscriptExpr>(Init)) {
tools/clang/lib/Sema/SemaOpenMP.cpp 1818 if (isa<ArraySubscriptExpr>(EI->getAssociatedExpression()) ||
2851 isa<ArraySubscriptExpr>(
3003 isa<ArraySubscriptExpr>(
4090 if (auto *ASE = dyn_cast_or_null<ArraySubscriptExpr>(RefExpr)) {
4090 if (auto *ASE = dyn_cast_or_null<ArraySubscriptExpr>(RefExpr)) {
4092 while (auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base))
4092 while (auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base))
4100 while (auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base))
4100 while (auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base))
13038 while (const auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base)) {
13038 while (const auto *TempASE = dyn_cast<ArraySubscriptExpr>(Base)) {
13187 auto *ASE = dyn_cast<ArraySubscriptExpr>(RefExpr->IgnoreParens());
13187 auto *ASE = dyn_cast<ArraySubscriptExpr>(RefExpr->IgnoreParens());
14444 auto *ASE = dyn_cast<ArraySubscriptExpr>(SimpleExpr);
14444 auto *ASE = dyn_cast<ArraySubscriptExpr>(SimpleExpr);
14540 if (isa<ArraySubscriptExpr>(E) || (OASE && OASE->getColonLoc().isInvalid())) {
14596 if (isa<ArraySubscriptExpr>(E) || (OASE && OASE->getColonLoc().isInvalid()))
14755 } else if (auto *CurE = dyn_cast<ArraySubscriptExpr>(E)) {
14755 } else if (auto *CurE = dyn_cast<ArraySubscriptExpr>(E)) {
14926 (isa<ArraySubscriptExpr>(CI->getAssociatedExpression()) ||
14928 (isa<ArraySubscriptExpr>(SI->getAssociatedExpression()) ||
14953 if (const auto *ASE =
14954 dyn_cast<ArraySubscriptExpr>(SI->getAssociatedExpression())) {
tools/clang/lib/Serialization/ASTReaderStmt.cpp 755 void ASTStmtReader::VisitArraySubscriptExpr(ArraySubscriptExpr *E) {
2667 S = new (Context) ArraySubscriptExpr(Empty);
tools/clang/lib/Serialization/ASTWriterStmt.cpp 662 void ASTStmtWriter::VisitArraySubscriptExpr(ArraySubscriptExpr *E) {
tools/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp 32 check::PreStmt<ArraySubscriptExpr>,
33 check::PostStmt<ArraySubscriptExpr>,
75 void checkPreStmt(const ArraySubscriptExpr *SubExpr,
81 void checkPostStmt(const ArraySubscriptExpr *SubExpr,
tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp 139 const ArraySubscriptExpr *AE = cast<ArraySubscriptExpr>(S);
139 const ArraySubscriptExpr *AE = cast<ArraySubscriptExpr>(S);
tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp 46 check::PreStmt<ArraySubscriptExpr>, check::PreStmt<CastExpr>,
65 void checkPreStmt(const ArraySubscriptExpr *SubExpr, CheckerContext &C) const;
303 void PointerArithChecker::checkPreStmt(const ArraySubscriptExpr *SubsExpr,
tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp 40 if (!isa<ArraySubscriptExpr>(Ex))
tools/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp 26 : public Checker< check::PreStmt<ArraySubscriptExpr> > {
30 void checkPreStmt(const ArraySubscriptExpr *A, CheckerContext &C) const;
35 UndefinedArraySubscriptChecker::checkPreStmt(const ArraySubscriptExpr *A,
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp 135 } else if (const auto *AE = dyn_cast<ArraySubscriptExpr>(E)) {
135 } else if (const auto *AE = dyn_cast<ArraySubscriptExpr>(E)) {
1967 if (const auto *Arr = dyn_cast<ArraySubscriptExpr>(Inner))
1967 if (const auto *Arr = dyn_cast<ArraySubscriptExpr>(Inner))
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp 861 const ArraySubscriptExpr *ASE;
862 while ((ASE = dyn_cast<ArraySubscriptExpr>(Init)))
1497 VisitArraySubscriptExpr(cast<ArraySubscriptExpr>(S), Pred, Dst);
2510 void ExprEngine::VisitArraySubscriptExpr(const ArraySubscriptExpr *A,
tools/clang/tools/extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp 78 if (const auto *ArraySubscriptE = dyn_cast<ArraySubscriptExpr>(Matched))
78 if (const auto *ArraySubscriptE = dyn_cast<ArraySubscriptExpr>(Matched))
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertUtils.cpp 381 const auto *E = cast<ArraySubscriptExpr>(Init);
381 const auto *E = cast<ArraySubscriptExpr>(Init);
689 bool ForLoopIndexUseVisitor::TraverseArraySubscriptExpr(ArraySubscriptExpr *E) {
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertUtils.h 343 bool TraverseArraySubscriptExpr(ArraySubscriptExpr *E);
tools/clang/tools/extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp 29 const auto *ArraySubscriptE =
30 Result.Nodes.getNodeAs<ArraySubscriptExpr>("expr");
tools/clang/tools/extra/clang-tidy/readability/NonConstParameterCheck.cpp 198 } else if (const auto *A = dyn_cast<ArraySubscriptExpr>(E)) {
198 } else if (const auto *A = dyn_cast<ArraySubscriptExpr>(E)) {
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
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_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
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::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; };
1558 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1580 { typedef _Tp const type; };
1629 { typedef _Tp type; };
1659 { typedef _Tp&& type; };
1955 { typedef _Tp type; };
1999 { typedef typename remove_reference<_Tp>::type* type; };
2003 : public __add_pointer_helper<_Tp>