|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
tools/clang/include/clang/AST/Expr.h 3249 class ImplicitCastExpr final
3312 class ExplicitCastExpr : public CastExpr {
Declarations
gen/tools/clang/include/clang/AST/StmtNodes.inc 821 ABSTRACT_STMT(CASTEXPR(CastExpr, Expr))
tools/clang/include/clang/AST/Expr.h 46 class CastExpr;
tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h 46 class CastExpr;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h 35 class CastExpr;
tools/clang/lib/CodeGen/CGCXXABI.h 28 class CastExpr;
References
include/llvm/ADT/STLExtras.h 75 typename std::add_pointer<typename std::add_const<T>::type>::type;
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,
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) {
263 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*,
265 return cast_convert_val<X, Y*,
266 typename simplify_type<Y*>::SimpleType>::doit(Val);
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) {
342 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;
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/AST/Expr.h 71 const CastExpr *BasePath;
86 SubobjectAdjustment(const CastExpr *BasePath,
3250 : public CastExpr,
3312 class ExplicitCastExpr : public CastExpr {
tools/clang/include/clang/AST/JSONNodeDumper.h 162 llvm::json::Array createCastPath(const CastExpr *C);
267 void VisitCastExpr(const CastExpr *CE);
tools/clang/include/clang/AST/TextNodeDumper.h 233 void VisitCastExpr(const CastExpr *Node);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 110 const T *getNodeAs(StringRef ID) const {
111 return MyBoundNodes.getNodeAs<T>(ID);
2360 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CastExpr> castExpr;
4624 internal::GetSourceExpressionMatcher<NodeType>::get(Node);
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)
506 Matcher(const Matcher<From> &Other,
507 typename std::enable_if<std::is_base_of<From, T>::value &&
507 typename std::enable_if<std::is_base_of<From, T>::value &&
508 !std::is_same<From, T>::value>::type * = nullptr)
508 !std::is_same<From, T>::value>::type * = nullptr)
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) {
994 bool matchesChildOf(const T &Node, const DynTypedMatcher &Matcher,
997 static_assert(std::is_base_of<Decl, T>::value ||
998 std::is_base_of<Stmt, T>::value ||
999 std::is_base_of<NestedNameSpecifier, T>::value ||
1000 std::is_base_of<NestedNameSpecifierLoc, T>::value ||
1001 std::is_base_of<TypeLoc, T>::value ||
1002 std::is_base_of<QualType, T>::value,
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;
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 {
1285 class HasMatcher : public WrapperMatcherInterface<T> {
1290 bool matches(const T &Node, ASTMatchFinder *Finder,
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) {
1438 class HasParentMatcher : public WrapperMatcherInterface<T> {
1446 bool matches(const T &Node, ASTMatchFinder *Finder,
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>> {
1792 static const Expr *get(const Ty &Node) {
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 417 til::SExpr *translateCastExpr(const CastExpr *CE, CallingContext *Ctx);
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/BasicValueFactory.h 250 llvm::iterator_range<CastExpr::path_const_iterator> PathRange,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h 446 void VisitCast(const CastExpr *CastE, const Expr *Ex, ExplodedNode *Pred,
569 QualType ExTy, const CastExpr *CastE,
575 const CastExpr *CastE,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h 165 SVal evalDerivedToBase(SVal Derived, const CastExpr *Cast);
tools/clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp 255 isa<CastExpr>(OuterS) ||
tools/clang/lib/ARCMigrate/TransUnbridgedCasts.cpp 87 bool VisitCastExpr(CastExpr *E) {
121 void transformNonObjCToObjCCast(CastExpr *E) {
195 void castToObjCObject(CastExpr *E, bool retained) {
199 void rewriteToBridgedCast(CastExpr *E, ObjCBridgeCastKind Kind) {
204 void rewriteToBridgedCast(CastExpr *E, ObjCBridgeCastKind Kind,
274 void rewriteCastForCFRetain(CastExpr *castE, CallExpr *callE) {
280 void getBlockMacroRanges(CastExpr *E, SourceRange &Outer, SourceRange &Inner) {
293 void rewriteBlockCopyMacro(CastExpr *E) {
306 void removeBlockReleaseMacro(CastExpr *E) {
335 void transformObjCToNonObjCCast(CastExpr *E) {
tools/clang/lib/AST/Expr.cpp 83 if (const CastExpr *CE = dyn_cast<CastExpr>(E)) {
83 if (const CastExpr *CE = dyn_cast<CastExpr>(E)) {
1906 const CastExpr *E = this;
1933 for (const CastExpr *E = this; E; E = dyn_cast<ImplicitCastExpr>(SubExpr)) {
2668 const CastExpr *CE = cast<CastExpr>(this);
2668 const CastExpr *CE = cast<CastExpr>(this);
2702 const CastExpr *ICE = cast<ImplicitCastExpr>(this);
2834 if (auto *CE = dyn_cast<CastExpr>(E))
2834 if (auto *CE = dyn_cast<CastExpr>(E))
2852 if (auto *CE = dyn_cast<CastExpr>(E))
2852 if (auto *CE = dyn_cast<CastExpr>(E))
2860 if (auto *CE = dyn_cast<CastExpr>(E))
2860 if (auto *CE = dyn_cast<CastExpr>(E))
2909 if (auto *CE = dyn_cast<CastExpr>(E)) {
2909 if (auto *CE = dyn_cast<CastExpr>(E)) {
3271 const CastExpr *CE = cast<CastExpr>(this);
3271 const CastExpr *CE = cast<CastExpr>(this);
3545 const CastExpr *CE = cast<CastExpr>(this);
3545 const CastExpr *CE = cast<CastExpr>(this);
tools/clang/lib/AST/ExprConstant.cpp 167 if (const auto *Cast = dyn_cast<CastExpr>(E))
167 if (const auto *Cast = dyn_cast<CastExpr>(E))
2692 static bool HandleLValueBasePath(EvalInfo &Info, const CastExpr *E,
2694 for (CastExpr::path_const_iterator PathI = E->path_begin(),
4197 static bool HandleBaseToDerivedCast(EvalInfo &Info, const CastExpr *E,
6178 const CastExpr *BCE;
6181 const CastExpr *BCE)
6317 const CastExpr *BCE) {
6330 const CastExpr *BCE;
6333 const CastExpr *BCE)
6505 const CastExpr *BCE) {
6565 const CastExpr *BCE) {
6576 const CastExpr *BCE) {
7054 bool VisitCastExpr(const CastExpr *E) {
7263 bool VisitCastExpr(const CastExpr *E) {
7345 bool VisitCastExpr(const CastExpr *E) {
7829 bool VisitCastExpr(const CastExpr* E);
7934 bool PointerExprEvaluator::VisitCastExpr(const CastExpr *E) {
8684 bool VisitCastExpr(const CastExpr *E);
8695 bool MemberPointerExprEvaluator::VisitCastExpr(const CastExpr *E) {
8712 typedef std::reverse_iterator<CastExpr::path_const_iterator> ReverseIter;
8729 for (CastExpr::path_const_iterator PathI = E->path_begin(),
8772 bool VisitCastExpr(const CastExpr *E);
8863 bool RecordExprEvaluator::VisitCastExpr(const CastExpr *E) {
8882 for (CastExpr::path_const_iterator PathI = E->path_begin(),
9184 bool VisitCastExpr(const CastExpr *E) {
9245 bool VisitCastExpr(const CastExpr* E);
9259 bool VectorExprEvaluator::VisitCastExpr(const CastExpr *E) {
9738 bool VisitCastExpr(const CastExpr* E);
9824 bool VisitCastExpr(const CastExpr *E);
10202 auto *Cast = dyn_cast<CastExpr>(NoParens);
12061 bool IntExprEvaluator::VisitCastExpr(const CastExpr *E) {
12298 bool FixedPointExprEvaluator::VisitCastExpr(const CastExpr *E) {
12394 bool VisitCastExpr(const CastExpr *E);
12571 bool FloatExprEvaluator::VisitCastExpr(const CastExpr *E) {
12627 bool VisitCastExpr(const CastExpr *E);
12681 bool ComplexExprEvaluator::VisitCastExpr(const CastExpr *E) {
13127 bool VisitCastExpr(const CastExpr *E) {
13160 bool VisitCastExpr(const CastExpr *E) {
14128 const Expr *SubExpr = cast<CastExpr>(E)->getSubExpr();
14146 switch (cast<CastExpr>(E)->getCastKind()) {
14209 if (!checkBitCastConstexprEligibility(nullptr, Ctx, cast<CastExpr>(E)))
14211 return CheckICE(cast<CastExpr>(E)->getSubExpr(), Ctx);
tools/clang/lib/AST/Interp/ByteCodeExprGen.cpp 90 bool ByteCodeExprGen<Emitter>::VisitCastExpr(const CastExpr *CE) {
tools/clang/lib/AST/Interp/ByteCodeExprGen.h 69 bool VisitCastExpr(const CastExpr *E);
tools/clang/lib/AST/JSONNodeDumper.cpp 305 llvm::json::Array JSONNodeDumper::createCastPath(const CastExpr *C) {
1209 void JSONNodeDumper::VisitCastExpr(const CastExpr *CE) {
tools/clang/lib/AST/ParentMap.cpp 149 while (S && (isa<ParenExpr>(S) || isa<CastExpr>(S)));
176 while (P && (isa<ParenExpr>(P) || isa<CastExpr>(P) ||
tools/clang/lib/AST/StmtProfile.cpp 1163 void StmtProfiler::VisitCastExpr(const CastExpr *S) {
tools/clang/lib/AST/TextNodeDumper.cpp 626 static void dumpBasePath(raw_ostream &OS, const CastExpr *Node) {
632 for (CastExpr::path_const_iterator I = Node->path_begin(),
699 void TextNodeDumper::VisitCastExpr(const CastExpr *Node) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp 759 const internal::VariadicDynCastAllOfMatcher<Stmt, CastExpr> castExpr;
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/CFG.cpp 80 if (const auto *CE = dyn_cast<CastExpr>(E)) {
80 if (const auto *CE = dyn_cast<CastExpr>(E)) {
4628 E = cast<CastExpr>(E)->getSubExpr();
5455 } else if (const CastExpr *CE = dyn_cast<CastExpr>(S)) {
5455 } else if (const CastExpr *CE = dyn_cast<CastExpr>(S)) {
tools/clang/lib/Analysis/Consumed.cpp 502 void VisitCastExpr(const CastExpr *Cast);
756 void ConsumedStmtVisitor::VisitCastExpr(const CastExpr *Cast) {
tools/clang/lib/Analysis/ProgramPoint.cpp 192 if (const auto *CS = dyn_cast<CastExpr>(S))
192 if (const auto *CS = dyn_cast<CastExpr>(S))
tools/clang/lib/Analysis/ThreadSafety.cpp 1603 void VisitCastExpr(const CastExpr *CE);
1761 if (const auto *CE = dyn_cast<CastExpr>(Exp)) {
1761 if (const auto *CE = dyn_cast<CastExpr>(Exp)) {
1996 void BuildLockset::VisitCastExpr(const CastExpr *CE) {
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp 267 if (const auto *CE = dyn_cast<CastExpr>(S))
267 if (const auto *CE = dyn_cast<CastExpr>(S))
562 til::SExpr *SExprBuilder::translateCastExpr(const CastExpr *CE,
tools/clang/lib/Analysis/UninitializedValues.cpp 299 if (const auto *CE = dyn_cast<CastExpr>(Ex)) {
299 if (const auto *CE = dyn_cast<CastExpr>(Ex)) {
352 void VisitCastExpr(CastExpr *CE);
495 void ClassifyRefs::VisitCastExpr(CastExpr *CE) {
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGCXXABI.cpp 68 const CastExpr *E,
74 llvm::Constant *CGCXXABI::EmitMemberPointerConversion(const CastExpr *E,
233 llvm::Constant *CGCXXABI::getMemberPointerAdjustment(const CastExpr *E) {
tools/clang/lib/CodeGen/CGCXXABI.h 168 const CastExpr *E,
173 virtual llvm::Constant *EmitMemberPointerConversion(const CastExpr *E,
218 llvm::Constant *getMemberPointerAdjustment(const CastExpr *E);
tools/clang/lib/CodeGen/CGCall.cpp 3616 cast<CastExpr>(E)->getCastKind() == CK_LValueToRValue) {
3617 LValue L = EmitLValue(cast<CastExpr>(E)->getSubExpr());
tools/clang/lib/CodeGen/CGClass.cpp 150 const CXXRecordDecl *DerivedClass, CastExpr::path_const_iterator Start,
151 CastExpr::path_const_iterator End) {
157 for (CastExpr::path_const_iterator I = Start; I != End; ++I) {
178 CastExpr::path_const_iterator PathBegin,
179 CastExpr::path_const_iterator PathEnd) {
270 CastExpr::path_const_iterator PathBegin,
271 CastExpr::path_const_iterator PathEnd, bool NullCheckValue,
275 CastExpr::path_const_iterator Start = PathBegin;
378 CastExpr::path_const_iterator PathBegin,
379 CastExpr::path_const_iterator PathEnd,
tools/clang/lib/CodeGen/CGDecl.cpp 667 while (auto castExpr = dyn_cast<CastExpr>(init->IgnoreParens())) {
tools/clang/lib/CodeGen/CGExpr.cpp 937 if (const auto *CE = dyn_cast<CastExpr>(Base)) {
937 if (const auto *CE = dyn_cast<CastExpr>(Base)) {
1045 if (const CastExpr *CE = dyn_cast<CastExpr>(E)) {
1045 if (const CastExpr *CE = dyn_cast<CastExpr>(E)) {
1191 if (const auto *CE = dyn_cast<CastExpr>(Base)) {
1191 if (const auto *CE = dyn_cast<CastExpr>(Base)) {
1369 return EmitCastLValue(cast<CastExpr>(E));
3353 const auto *CE = dyn_cast<CastExpr>(E);
3353 const auto *CE = dyn_cast<CastExpr>(E);
4290 LValue CodeGenFunction::EmitCastLValue(const CastExpr *E) {
tools/clang/lib/CodeGen/CGExprAgg.cpp 145 void VisitCastExpr(CastExpr *E);
670 if (CastExpr *castE = dyn_cast<CastExpr>(op)) {
670 if (CastExpr *castE = dyn_cast<CastExpr>(op)) {
680 void AggExprEmitter::VisitCastExpr(CastExpr *E) {
1116 } else if (const CastExpr *cast = dyn_cast<CastExpr>(E)) {
1116 } else if (const CastExpr *cast = dyn_cast<CastExpr>(E)) {
1375 if (const CastExpr *ICE = dyn_cast<CastExpr>(E))
1375 if (const CastExpr *ICE = dyn_cast<CastExpr>(E))
tools/clang/lib/CodeGen/CGExprCXX.cpp 2074 if (const auto *CE = dyn_cast<CastExpr>(E)) {
2074 if (const auto *CE = dyn_cast<CastExpr>(E)) {
tools/clang/lib/CodeGen/CGExprComplex.cpp 177 ComplexPairTy VisitCastExpr(CastExpr *E) {
tools/clang/lib/CodeGen/CGExprConstant.cpp 1028 llvm::Constant *VisitCastExpr(CastExpr *E, QualType destType) {
tools/clang/lib/CodeGen/CGExprScalar.cpp 574 Value *VisitCastExpr(CastExpr *E);
1933 bool CodeGenFunction::ShouldNullCheckClassCastValue(const CastExpr *CE) {
1956 Value *ScalarExprEmitter::VisitCastExpr(CastExpr *CE) {
tools/clang/lib/CodeGen/CGObjC.cpp 346 if (auto CE = dyn_cast<CastExpr>(E)) {
2860 if (const CastExpr *cast = dyn_cast<CastExpr>(e)) {
2860 if (const CastExpr *cast = dyn_cast<CastExpr>(e)) {
2896 Result visitCastExpr(const CastExpr *e);
2981 Result ARCExprEmitter<Impl,Result>::visitCastExpr(const CastExpr *e) {
3102 if (const CastExpr *ce = dyn_cast<CastExpr>(e)) {
3102 if (const CastExpr *ce = dyn_cast<CastExpr>(e)) {
tools/clang/lib/CodeGen/CodeGenFunction.cpp 2064 if (auto *CE = dyn_cast<CastExpr>(E))
tools/clang/lib/CodeGen/CodeGenFunction.h 2468 static bool ShouldNullCheckClassCastValue(const CastExpr *Cast);
2474 CastExpr::path_const_iterator PathBegin,
2475 CastExpr::path_const_iterator PathEnd,
2480 CastExpr::path_const_iterator PathBegin,
2481 CastExpr::path_const_iterator PathEnd,
3515 LValue EmitCastLValue(const CastExpr *E);
tools/clang/lib/CodeGen/CodeGenModule.h 878 CastExpr::path_const_iterator Start,
879 CastExpr::path_const_iterator End);
885 CastExpr::path_const_iterator PathBegin,
886 CastExpr::path_const_iterator PathEnd);
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp 134 const CastExpr *E,
136 llvm::Constant *EmitMemberPointerConversion(const CastExpr *E,
832 const CastExpr *E,
887 ItaniumCXXABI::EmitMemberPointerConversion(const CastExpr *E,
tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp 656 CastKind CK, CastExpr::path_const_iterator PathBegin,
657 CastExpr::path_const_iterator PathEnd, llvm::Value *Src,
661 const CastExpr *E,
664 llvm::Constant *EmitMemberPointerConversion(const CastExpr *E,
669 CastKind CK, CastExpr::path_const_iterator PathBegin,
670 CastExpr::path_const_iterator PathEnd, llvm::Constant *Src);
3080 const CastExpr *E,
3145 CastExpr::path_const_iterator PathBegin,
3146 CastExpr::path_const_iterator PathEnd, llvm::Value *Src,
3286 MicrosoftCXXABI::EmitMemberPointerConversion(const CastExpr *E,
3300 CastExpr::path_const_iterator PathBegin,
3301 CastExpr::path_const_iterator PathEnd, llvm::Constant *Src) {
tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp 918 isa<CastExpr>(Expr) ||
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp 368 void RewriteImplicitCastObjCExpr(CastExpr *IE);
2589 CastExpr *cast = NoTypeInfoCStyleCastExpr(Context, Exp->getType(),
2603 CastExpr *cast = NoTypeInfoCStyleCastExpr(Context, Context->ObjCBuiltinBoolTy,
2674 CastExpr *cast = NoTypeInfoCStyleCastExpr(
2795 CastExpr *cast = NoTypeInfoCStyleCastExpr(
2946 CastExpr *cast = NoTypeInfoCStyleCastExpr(
3316 CastExpr *ArgExpr = NoTypeInfoCStyleCastExpr(Context,
3479 CastExpr *cast;
3589 CastExpr *castExpr = NoTypeInfoCStyleCastExpr(
4615 CastExpr *BlkCast = NoTypeInfoCStyleCastExpr(Context, PtrBlock,
4632 CastExpr *FunkCast = NoTypeInfoCStyleCastExpr(Context, PtrToFuncCastType,
4751 void RewriteModernObjC::RewriteImplicitCastObjCExpr(CastExpr *IC) {
5281 CastExpr *castExpr = NoTypeInfoCStyleCastExpr(Context, Context->VoidPtrTy,
7472 CastExpr *castExpr = NoTypeInfoCStyleCastExpr(Context,
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp 2514 CastExpr *cast = NoTypeInfoCStyleCastExpr(Context, Exp->getType(),
2594 CastExpr *cast = NoTypeInfoCStyleCastExpr(Context,
2679 CastExpr *ArgExpr = NoTypeInfoCStyleCastExpr(Context,
2773 CastExpr *ArgExpr = NoTypeInfoCStyleCastExpr(Context,
2908 CastExpr *cast;
3048 CastExpr *castExpr = NoTypeInfoCStyleCastExpr(Context, DerefExpr->getType(),
3783 CastExpr *BlkCast = NoTypeInfoCStyleCastExpr(Context, PtrBlock,
3800 CastExpr *FunkCast = NoTypeInfoCStyleCastExpr(Context, PtrToFuncCastType,
4419 CastExpr *castExpr =
5824 CastExpr *castExpr = NoTypeInfoCStyleCastExpr(Context, castT,
5864 CastExpr *castExpr = NoTypeInfoCStyleCastExpr(Context, castT,
tools/clang/lib/Index/IndexBody.cpp 64 while (isa<CastExpr>(*It) || isa<ParenExpr>(*It)) {
tools/clang/lib/Sema/SemaCast.cpp 92 void updatePartOfExplicitCastFlags(CastExpr *CE) {
102 ExprResult complete(CastExpr *castExpr) {
2645 if (CastExpr::getTargetFieldForToUnionCast(RD, SrcType)) {
tools/clang/lib/Sema/SemaChecking.cpp12747 void VisitCastExpr(CastExpr *E) {
13167 if (auto *CE = dyn_cast<CastExpr>(Op)) {
13167 if (auto *CE = dyn_cast<CastExpr>(Op)) {
13466 if (CastExpr *cast = dyn_cast<CastExpr>(e)) {
13466 if (CastExpr *cast = dyn_cast<CastExpr>(e)) {
tools/clang/lib/Sema/SemaDeclAttr.cpp 605 if (const auto *E = dyn_cast<CastExpr>(Ex))
605 if (const auto *E = dyn_cast<CastExpr>(Ex))
tools/clang/lib/Sema/SemaExpr.cpp10189 CastKind CK = cast<CastExpr>(Inner)->getCastKind();
10389 if (isa<CastExpr>(LHSStripped))
10391 if (isa<CastExpr>(RHSStripped))
10423 llvm::errs() << "unhandled cast kind: " << CastExpr::getCastKindName(CK)
12011 if (const CastExpr *CE = dyn_cast<CastExpr>(E)) {
12011 if (const CastExpr *CE = dyn_cast<CastExpr>(E)) {
tools/clang/lib/Sema/SemaExprCXX.cpp 6406 } else if (isa<CastExpr>(E) &&
6407 isa<BlockExpr>(cast<CastExpr>(E)->getSubExpr())) {
7198 CastExpr *CE = dyn_cast<CastExpr>(SubE);
7198 CastExpr *CE = dyn_cast<CastExpr>(SubE);
tools/clang/lib/Sema/SemaExprObjC.cpp 3378 ACCResult VisitCastExpr(CastExpr *e) {
4311 CastExpr *realCast = cast<CastExpr>(e->IgnoreParens());
4311 CastExpr *realCast = cast<CastExpr>(e->IgnoreParens());
4409 if (auto *ce = dyn_cast<CastExpr>(curExpr)) {
4409 if (auto *ce = dyn_cast<CastExpr>(curExpr)) {
4417 cast<CastExpr>(prevExpr)->setSubExpr(ice->getSubExpr());
tools/clang/lib/Sema/SemaFixItUtils.cpp 71 isa<CastExpr>(Expr) ||
tools/clang/lib/Sema/SemaInit.cpp 5333 } else if (CastExpr *ce = dyn_cast<CastExpr>(e)) {
5333 } else if (CastExpr *ce = dyn_cast<CastExpr>(e)) {
6920 if (CastExpr *CE = dyn_cast<CastExpr>(Init))
6920 if (CastExpr *CE = dyn_cast<CastExpr>(Init))
7051 if (auto *CE = dyn_cast<CastExpr>(Init)) {
7051 if (auto *CE = dyn_cast<CastExpr>(Init)) {
tools/clang/lib/Sema/SemaStmt.cpp 276 if (const auto *Cast = dyn_cast<CastExpr>(E))
276 if (const auto *Cast = dyn_cast<CastExpr>(E))
1400 void VisitCastExpr(CastExpr *E) {
1477 void VisitCastExpr(CastExpr *E) {
2792 } else if (const CastExpr *CE = dyn_cast<CastExpr>(InitExpr)) {
2792 } else if (const CastExpr *CE = dyn_cast<CastExpr>(InitExpr)) {
tools/clang/lib/Sema/SemaStmtAsm.cpp 43 CastExpr *ParentCast = dyn_cast<CastExpr>(Parent);
43 CastExpr *ParentCast = dyn_cast<CastExpr>(Parent);
49 if (auto *CastE = dyn_cast<CastExpr>(Child))
49 if (auto *CastE = dyn_cast<CastExpr>(Child))
tools/clang/lib/Serialization/ASTReaderStmt.cpp 852 void ASTStmtReader::VisitCastExpr(CastExpr *E) {
858 CastExpr::path_iterator BaseI = E->path_begin();
tools/clang/lib/Serialization/ASTWriterStmt.cpp 761 void ASTStmtWriter::VisitCastExpr(CastExpr *E) {
767 for (CastExpr::path_iterator
tools/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp 30 : public Checker<check::PreStmt<CastExpr>,
31 check::PostStmt<CastExpr>,
63 void checkPreStmt(const CastExpr *CE, CheckerContext &C) const {
69 void checkPostStmt(const CastExpr *CE, CheckerContext &C) const {
tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp 24 class CastSizeChecker : public Checker< check::PreStmt<CastExpr> > {
28 void checkPreStmt(const CastExpr *CE, CheckerContext &C) const;
87 void CastSizeChecker::checkPreStmt(const CastExpr *CE,CheckerContext &C) const {
tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp 35 bool VisitCastExpr(const CastExpr *CE);
39 bool CastToStructVisitor::VisitCastExpr(const CastExpr *CE) {
tools/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp 115 const auto *CastE = dyn_cast<CastExpr>(S);
115 const auto *CastE = dyn_cast<CastExpr>(S);
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp 54 check::PostStmt<CastExpr>,
65 ExplodedNode *dynamicTypePropagationOnCasts(const CastExpr *CE,
103 void checkPostStmt(const CastExpr *CastE, CheckerContext &C) const;
276 const CastExpr *CE, ProgramStateRef &State, CheckerContext &C) const {
520 void DynamicTypePropagation::checkPostStmt(const CastExpr *CE,
tools/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp 59 class EnumCastOutOfRangeChecker : public Checker<check::PreStmt<CastExpr>> {
64 void checkPreStmt(const CastExpr *CE, CheckerContext &C) const;
92 void EnumCastOutOfRangeChecker::checkPreStmt(const CastExpr *CE,
tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp 72 TypeCallPair VisitCastExpr(const CastExpr *E) {
tools/clang/lib/StaticAnalyzer/Checkers/OSObjectCStyleCast.cpp 41 const auto *CE = Nodes.getNodeAs<CastExpr>(WarnAtNode);
41 const auto *CE = Nodes.getNodeAs<CastExpr>(WarnAtNode);
tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp 46 check::PreStmt<ArraySubscriptExpr>, check::PreStmt<CastExpr>,
47 check::PostStmt<CastExpr>, check::PostStmt<CXXNewExpr>,
66 void checkPreStmt(const CastExpr *CE, CheckerContext &C) const;
67 void checkPostStmt(const CastExpr *CE, CheckerContext &C) const;
257 void PointerArithChecker::checkPostStmt(const CastExpr *CE,
275 void PointerArithChecker::checkPreStmt(const CastExpr *CE,
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp 182 void RetainCountChecker::checkPostStmt(const CastExpr *CE,
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h 244 check::PostStmt<CastExpr>,
296 void checkPostStmt(const CastExpr *CE, CheckerContext &C) const;
tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp 171 if (const auto *Cast = dyn_cast<CastExpr>(E)) {
171 if (const auto *Cast = dyn_cast<CastExpr>(E)) {
tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp 180 llvm::iterator_range<CastExpr::path_const_iterator> PathRange,
tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp 103 if (const auto *CE = dyn_cast<CastExpr>(E)) {
103 if (const auto *CE = dyn_cast<CastExpr>(E)) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp 1697 const auto *C = cast<CastExpr>(S);
1697 const auto *C = cast<CastExpr>(S);
2002 while (const auto *CE = dyn_cast<CastExpr>(Ex)) {
2002 while (const auto *CE = dyn_cast<CastExpr>(Ex)) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp 261 QualType T, QualType ExTy, const CastExpr* CastE, StmtNodeBuilder& Bldr,
286 ProgramStateRef state, const LocationContext* LCtx, const CastExpr* CastE,
301 void ExprEngine::VisitCast(const CastExpr *CastE, const Expr *Ex,
529 llvm::make_range<CastExpr::path_const_iterator>(
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp 338 const auto *CE = cast<CastExpr>(E);
338 const auto *CE = cast<CastExpr>(E);
tools/clang/lib/StaticAnalyzer/Core/Store.cpp 248 SVal StoreManager::evalDerivedToBase(SVal Derived, const CastExpr *Cast) {
256 for (CastExpr::path_const_iterator I = Cast->path_begin(),
tools/clang/tools/extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp 184 const auto *Cast = Result.Nodes.getNodeAs<CastExpr>("Cast");
184 const auto *Cast = Result.Nodes.getNodeAs<CastExpr>("Cast");
tools/clang/tools/extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp 35 if (const auto *CE = dyn_cast<CastExpr>(E)) {
35 if (const auto *CE = dyn_cast<CastExpr>(E)) {
tools/clang/tools/extra/clang-tidy/bugprone/SwappedArgumentsCheck.cpp 29 if (auto *Cast = dyn_cast<CastExpr>(E))
39 static bool isImplicitCastCandidate(const CastExpr *Cast) {
tools/clang/tools/extra/clang-tidy/misc/RedundantExpressionCheck.cpp 509 } else if (const auto *Cast = Result.Nodes.getNodeAs<CastExpr>(CastId)) {
509 } else if (const auto *Cast = Result.Nodes.getNodeAs<CastExpr>(CastId)) {
tools/clang/tools/extra/clang-tidy/modernize/UseNullptrCheck.cpp 191 auto *C = dyn_cast<CastExpr>(S);
191 auto *C = dyn_cast<CastExpr>(S);
194 C = dyn_cast<CastExpr>(E->getExpr());
268 bool allArgUsesValid(const CastExpr *CE) {
484 const auto *NullCast = Result.Nodes.getNodeAs<CastExpr>(CastSequence);
484 const auto *NullCast = Result.Nodes.getNodeAs<CastExpr>(CastSequence);
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; };
1983 { typedef _Up type; };
1999 { typedef typename remove_reference<_Tp>::type* type; };
2003 : public __add_pointer_helper<_Tp>