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

Derived Classes

tools/clang/include/clang/AST/ExprCXX.h
 1750 class CXXTemporaryObjectExpr final : public CXXConstructExpr {

Declarations

gen/tools/clang/include/clang/AST/StmtNodes.inc
  667 CXXCONSTRUCTEXPR(CXXConstructExpr, Expr)
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
   48 class CXXConstructExpr;

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;
  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/AST/ExprCXX.h
 1483   static CXXConstructExpr *
 1491   static CXXConstructExpr *CreateEmpty(const ASTContext &Ctx, unsigned NumArgs);
 1653   CXXConstructExpr::ConstructionKind getConstructionKind() const {
 1654     return ConstructsVirtualBase ? CXXConstructExpr::CK_VirtualBase
 1655                                  : CXXConstructExpr::CK_NonVirtualBase;
 1750 class CXXTemporaryObjectExpr final : public CXXConstructExpr {
 2287   const CXXConstructExpr *getConstructExpr() const {
 2288     return dyn_cast_or_null<CXXConstructExpr>(getInitializer());
tools/clang/include/clang/AST/JSONNodeDumper.h
  279   void VisitCXXConstructExpr(const CXXConstructExpr *CE);
tools/clang/include/clang/AST/TextNodeDumper.h
  256   void VisitCXXConstructExpr(const CXXConstructExpr *Node);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
 1661 extern const internal::VariadicDynCastAllOfMatcher<Stmt, CXXConstructExpr>
 6620   if (const auto *CtorExpr = dyn_cast<CXXConstructExpr>(E)) {
 6620   if (const auto *CtorExpr = dyn_cast<CXXConstructExpr>(E)) {
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)
  507           typename std::enable_if<std::is_base_of<From, T>::value &&
  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) {
  751 class HasDeclarationMatcher : public WrapperMatcherInterface<T> {
  759   bool matches(const T &Node, ASTMatchFinder *Finder,
  864   bool matchesSpecialized(const CXXConstructExpr &Node,
  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,
 1009   bool matchesDescendantOf(const T &Node,
 1013     static_assert(std::is_base_of<Decl, T>::value ||
 1014                   std::is_base_of<Stmt, T>::value ||
 1015                   std::is_base_of<NestedNameSpecifier, T>::value ||
 1016                   std::is_base_of<NestedNameSpecifierLoc, T>::value ||
 1017                   std::is_base_of<TypeLoc, T>::value ||
 1018                   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;
 1073   using tail = TypeList<Ts...>;
 1084       std::is_base_of<typename AnyTypeList::head, T>::value ||
 1085       TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
 1116     TypeList<CallExpr, CXXConstructExpr, CXXNewExpr, DeclRefExpr, EnumType,
 1146     template <typename To> operator Matcher<To>() const {
 1202   operator Matcher<T>() const {
 1203     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1223   operator Matcher<T>() const {
 1224     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) {
 1418 class HasDescendantMatcher : public WrapperMatcherInterface<T> {
 1426   bool matches(const T &Node, ASTMatchFinder *Finder,
 1438 class HasParentMatcher : public WrapperMatcherInterface<T> {
 1446   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/AnyCall.h
   84   AnyCall(const CXXConstructExpr *NE)
  115     } else if (const auto *CXCE = dyn_cast<CXXConstructExpr>(E)) {
  115     } else if (const auto *CXCE = dyn_cast<CXXConstructExpr>(E)) {
tools/clang/include/clang/Analysis/CFG.h
  158   explicit CFGConstructor(CXXConstructExpr *CE, const ConstructionContext *C)
 1100   void appendConstructor(CXXConstructExpr *CE, const ConstructionContext *CC,
tools/clang/include/clang/Analysis/ConstructionContext.h
  104   ConstructionContextItem(const CXXConstructExpr *CE)
  110   ConstructionContextItem(const CXXConstructExpr *CE, unsigned Index)
  525   const CXXConstructExpr *ElidedCE;
  532       const CXXConstructExpr *ElidedCE, const ConstructionContext *ElidedCC)
  543   const CXXConstructExpr *getConstructorAfterElision() const {
tools/clang/include/clang/Sema/Ownership.h
  217     template <typename T> T *getAs() { return static_cast<T*>(get()); }
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
  828   CXXConstructorCall(const CXXConstructExpr *CE, const MemRegion *Target,
  842   virtual const CXXConstructExpr *getOriginExpr() const {
  843     return cast<CXXConstructExpr>(AnyFunctionCall::getOriginExpr());
 1223   getCXXConstructorCall(const CXXConstructExpr *E, const MemRegion *Target,
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
  527   void VisitCXXConstructExpr(const CXXConstructExpr *E, ExplodedNode *Pred,
  795   const CXXConstructExpr *findDirectConstructorForCurrentCFGElement();
tools/clang/lib/ARCMigrate/ObjCMT.cpp
  231              isa<CXXConstructExpr>(Expr) || isa<CXXThisExpr>(Expr) ||
tools/clang/lib/AST/ASTImporter.cpp
  589     ExpectedStmt VisitCXXConstructExpr(CXXConstructExpr *E);
 7106 ExpectedStmt ASTNodeImporter::VisitCXXConstructExpr(CXXConstructExpr *E) {
 7123   return CXXConstructExpr::Create(
tools/clang/lib/AST/DeclCXX.cpp
 2492   if (const auto *Construct = dyn_cast<CXXConstructExpr>(E))
 2492   if (const auto *Construct = dyn_cast<CXXConstructExpr>(E))
tools/clang/lib/AST/DeclPrinter.cpp
  336       } else if (CXXConstructExpr *Construct =
  337                      dyn_cast<CXXConstructExpr>(Init)) {
  870     if (CXXConstructExpr *Construct =
  871             dyn_cast<CXXConstructExpr>(Init->IgnoreImplicit())) {
tools/clang/lib/AST/Expr.cpp
 1914         skipImplicitTemporary(cast<CXXConstructExpr>(SubExpr)->getArg(0));
 1937       return cast<CXXConstructExpr>(SubExpr)->getConstructor();
 2582     const auto *CE = cast<CXXConstructExpr>(this);
 2582     const auto *CE = cast<CXXConstructExpr>(this);
 3162     const CXXConstructExpr *CE = cast<CXXConstructExpr>(this);
 3162     const CXXConstructExpr *CE = cast<CXXConstructExpr>(this);
 3559     const CXXConstructExpr *CE = cast<CXXConstructExpr>(this);
 3559     const CXXConstructExpr *CE = cast<CXXConstructExpr>(this);
 3651     void VisitCXXConstructExpr(const CXXConstructExpr *E) {
 4464   e = cast<CXXConstructExpr>(e)->getArg(0);
tools/clang/lib/AST/ExprCXX.cpp
 1029           CXXConstructExpr::CK_Complete, ParenOrBraceRange),
 1070 CXXConstructExpr *CXXConstructExpr::Create(
 1077   void *Mem = Ctx.Allocate(sizeof(CXXConstructExpr) + SizeOfTrailingObjects,
 1078                            alignof(CXXConstructExpr));
 1079   return new (Mem) CXXConstructExpr(
 1085 CXXConstructExpr *CXXConstructExpr::CreateEmpty(const ASTContext &Ctx,
 1088   void *Mem = Ctx.Allocate(sizeof(CXXConstructExpr) + SizeOfTrailingObjects,
 1089                            alignof(CXXConstructExpr));
 1091       CXXConstructExpr(CXXConstructExprClass, EmptyShell(), NumArgs);
tools/clang/lib/AST/ExprConstant.cpp
 8774     bool VisitCXXConstructExpr(const CXXConstructExpr *E) {
 8779     bool VisitCXXConstructExpr(const CXXConstructExpr *E, QualType T);
 9001 bool RecordExprEvaluator::VisitCXXConstructExpr(const CXXConstructExpr *E,
 9196   bool VisitCXXConstructExpr(const CXXConstructExpr *E) {
 9441     bool VisitCXXConstructExpr(const CXXConstructExpr *E);
 9442     bool VisitCXXConstructExpr(const CXXConstructExpr *E,
 9591 bool ArrayExprEvaluator::VisitCXXConstructExpr(const CXXConstructExpr *E) {
 9595 bool ArrayExprEvaluator::VisitCXXConstructExpr(const CXXConstructExpr *E,
tools/clang/lib/AST/ItaniumMangle.cpp
 3806       if (const CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(Init)) {
 3806       if (const CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(Init)) {
 3808         for (CXXConstructExpr::const_arg_iterator I = CCE->arg_begin(),
 3915     const auto *CE = cast<CXXConstructExpr>(E);
 3915     const auto *CE = cast<CXXConstructExpr>(E);
 3921       return mangleExpression(cast<CXXConstructExpr>(E)->getArg(0));
 4135     if (auto *CCE = dyn_cast<CXXConstructExpr>(Sub))
tools/clang/lib/AST/JSONNodeDumper.cpp
 1299 void JSONNodeDumper::VisitCXXConstructExpr(const CXXConstructExpr *CE) {
 1309   case CXXConstructExpr::CK_Complete:
 1312   case CXXConstructExpr::CK_Delegating:
 1315   case CXXConstructExpr::CK_NonVirtualBase:
 1318   case CXXConstructExpr::CK_VirtualBase:
tools/clang/lib/AST/StmtPrinter.cpp
 2075 void StmtPrinter::VisitCXXConstructExpr(CXXConstructExpr *E) {
tools/clang/lib/AST/StmtProfile.cpp
 1679 void StmtProfiler::VisitCXXConstructExpr(const CXXConstructExpr *S) {
tools/clang/lib/AST/TextNodeDumper.cpp
  895 void TextNodeDumper::VisitCXXConstructExpr(const CXXConstructExpr *Node) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  672 const internal::VariadicDynCastAllOfMatcher<Stmt, CXXConstructExpr>
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
  558   CFGBlock *VisitCXXConstructExpr(CXXConstructExpr *C, AddStmtChoice asc);
  726   void findConstructionContextsForArguments(CallLikeExpr *E) {
  799   void appendConstructor(CFGBlock *B, CXXConstructExpr *CE) {
 1374     auto *CE = cast<CXXConstructExpr>(Child);
 1374     auto *CE = cast<CXXConstructExpr>(Child);
 2198       return VisitCXXConstructExpr(cast<CXXConstructExpr>(S), asc);
 4481 CFGBlock *CFGBuilder::VisitCXXConstructExpr(CXXConstructExpr *C,
 5449     } else if (const CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(S)) {
 5449     } else if (const CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(S)) {
tools/clang/lib/Analysis/CallGraph.cpp
   96   void VisitCXXConstructExpr(CXXConstructExpr *E) {
tools/clang/lib/Analysis/ConstructionContext.cpp
   68   const CXXConstructExpr *ElidedCE = nullptr;
   74     ElidedCE = cast<CXXConstructExpr>(ElidedItem.getStmt());
tools/clang/lib/Analysis/Consumed.cpp
  504   void VisitCXXConstructExpr(const CXXConstructExpr *Call);
  771 void ConsumedStmtVisitor::VisitCXXConstructExpr(const CXXConstructExpr *Call) {
tools/clang/lib/Analysis/ThreadSafety.cpp
 1605   void VisitCXXConstructExpr(const CXXConstructExpr *Exp);
 2094 void BuildLockset::VisitCXXConstructExpr(const CXXConstructExpr *Exp) {
 2125   return CXXConstructExpr::Create(Ctx, Ctx.getRecordType(CD->getParent()), Loc,
 2127                                   CXXConstructExpr::CK_Complete,
 2148       if (const auto *CE = dyn_cast<CXXConstructExpr>(E)) {
 2148       if (const auto *CE = dyn_cast<CXXConstructExpr>(E)) {
tools/clang/lib/Analysis/ThreadSafetyCommon.cpp
  118   } else if (const auto *CE = dyn_cast<CXXConstructExpr>(DeclExp)) {
  118   } else if (const auto *CE = dyn_cast<CXXConstructExpr>(DeclExp)) {
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGClass.cpp
  643     CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(MemberInit->getInit());
  643     CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(MemberInit->getInit());
 1051       CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(MemberInit->getInit());
 1051       CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(MemberInit->getInit());
 1893     Address arrayBegin, const CXXConstructExpr *E, bool NewPointerIsChecked,
 1915                                                  const CXXConstructExpr *E,
 2033                                              const CXXConstructExpr *E) {
 2303                                                 const CXXConstructExpr *E) {
tools/clang/lib/CodeGen/CGDecl.cpp
 1651   if (const CXXConstructExpr *Construct = dyn_cast<CXXConstructExpr>(Init))
 1651   if (const CXXConstructExpr *Construct = dyn_cast<CXXConstructExpr>(Init))
tools/clang/lib/CodeGen/CGExpr.cpp
 1294     return EmitCXXConstructLValue(cast<CXXConstructExpr>(E));
 4676 LValue CodeGenFunction::EmitCXXConstructLValue(const CXXConstructExpr *E) {
tools/clang/lib/CodeGen/CGExprAgg.cpp
  179   void VisitCXXConstructExpr(const CXXConstructExpr *E);
  460   if (auto *Cons = dyn_cast_or_null<CXXConstructExpr>(E))
  460   if (auto *Cons = dyn_cast_or_null<CXXConstructExpr>(E))
 1276 AggExprEmitter::VisitCXXConstructExpr(const CXXConstructExpr *E) {
tools/clang/lib/CodeGen/CGExprCXX.cpp
  566 CodeGenFunction::EmitCXXConstructExpr(const CXXConstructExpr *E,
  577     case CXXConstructExpr::CK_Delegating:
  578     case CXXConstructExpr::CK_Complete:
  581     case CXXConstructExpr::CK_VirtualBase:
  582     case CXXConstructExpr::CK_NonVirtualBase:
  615      case CXXConstructExpr::CK_Delegating:
  621      case CXXConstructExpr::CK_Complete:
  625      case CXXConstructExpr::CK_VirtualBase:
  629      case CXXConstructExpr::CK_NonVirtualBase:
  644   const CXXConstructExpr* E = cast<CXXConstructExpr>(Exp);
  644   const CXXConstructExpr* E = cast<CXXConstructExpr>(Exp);
 1132   if (const CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(Init)) {
 1132   if (const CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(Init)) {
tools/clang/lib/CodeGen/CGExprConstant.cpp
 1267   llvm::Constant *VisitCXXConstructExpr(CXXConstructExpr *E, QualType Ty) {
 1603       if (const CXXConstructExpr *E =
 1604           dyn_cast_or_null<CXXConstructExpr>(D.getInit())) {
tools/clang/lib/CodeGen/CGObjC.cpp
  981   if (const CXXConstructExpr *construct = dyn_cast<CXXConstructExpr>(getter))
  981   if (const CXXConstructExpr *construct = dyn_cast<CXXConstructExpr>(getter))
 3632   CXXConstructExpr *CXXConstExpr =
 3633     cast<CXXConstructExpr>(PID->getGetterCXXConstructor());
 3640   CXXConstructExpr *TheCXXConstructExpr =
 3641     CXXConstructExpr::Create(C, Ty, SourceLocation(),
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
 4780     if (Init && (!ForDup || (isa<CXXConstructExpr>(Init) &&
 4810           if (!isa<CXXConstructExpr>(Init) || CGF.isTrivialInitializer(Init)) {
 4858     InitRequired = InitRequired || (Init && isa<CXXConstructExpr>(Init) &&
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
  823                 if (!isa<CXXConstructExpr>(Init) ||
tools/clang/lib/CodeGen/CodeGenFunction.h
 2522                               AggValueSlot ThisAVS, const CXXConstructExpr *E);
 2539                                       const CXXConstructExpr *E);
 2544                                   const CXXConstructExpr *E,
 2551                                   const CXXConstructExpr *E,
 3580   LValue EmitCXXConstructLValue(const CXXConstructExpr *E);
 3994   void EmitCXXConstructExpr(const CXXConstructExpr *E, AggValueSlot Dest);
tools/clang/lib/CodeGen/CodeGenModule.cpp
 2644     bool VisitCXXConstructExpr(CXXConstructExpr *E) {
tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp
  897       isa<CXXConstructExpr>(Expr) ||
  920       isa<CXXConstructExpr>(Expr) ||
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
 5082     if (CXXConstructExpr *CExp = dyn_cast<CXXConstructExpr>(ND->getInit())) {
 5082     if (CXXConstructExpr *CExp = dyn_cast<CXXConstructExpr>(ND->getInit())) {
tools/clang/lib/Index/IndexBody.cpp
  356   bool VisitCXXConstructExpr(CXXConstructExpr *E) {
tools/clang/lib/Sema/JumpDiagnostics.cpp
  193       if (const CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(Init)) {
  193       if (const CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(Init)) {
tools/clang/lib/Sema/SemaCUDA.cpp
  431         if (const CXXConstructExpr *CE =
  432                 dyn_cast<CXXConstructExpr>(CI->getInit()))
  499     if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(Init))
  499     if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(Init))
  527     if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(Init)) {
  527     if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(Init)) {
tools/clang/lib/Sema/SemaCast.cpp
 2923   if (auto *ConstructExpr = dyn_cast<CXXConstructExpr>(SubExpr))
 2923   if (auto *ConstructExpr = dyn_cast<CXXConstructExpr>(SubExpr))
tools/clang/lib/Sema/SemaChecking.cpp
12935   void VisitCXXConstructExpr(CXXConstructExpr *CCE) {
12945     for (CXXConstructExpr::arg_iterator I = CCE->arg_begin(),
tools/clang/lib/Sema/SemaDecl.cpp
 1797           const CXXConstructExpr *Construct =
 1798             dyn_cast<CXXConstructExpr>(Init);
11005     void VisitCXXConstructExpr(CXXConstructExpr *E) {
tools/clang/lib/Sema/SemaDeclCXX.cpp
 3702     void VisitCXXConstructExpr(CXXConstructExpr *E) {
13438   if (ConstructKind == CXXConstructExpr::CK_Complete && Constructor &&
13498   return CXXConstructExpr::Create(
14365         CXXConstructExpr *construct = result.getAs<CXXConstructExpr>();
14365         CXXConstructExpr *construct = result.getAs<CXXConstructExpr>();
tools/clang/lib/Sema/SemaExceptionSpec.cpp
 1119         cast<CXXConstructExpr>(E)->getConstructor());
tools/clang/lib/Sema/SemaExpr.cpp
14384             !cast<CXXConstructExpr>(Result.get())->getConstructor()
17054     void VisitCXXConstructExpr(CXXConstructExpr *E) {
tools/clang/lib/Sema/SemaExprCXX.cpp
 1728   else if (CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(Init))
 1728   else if (CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(Init))
 3755         CXXConstructExpr::CK_Complete, SourceRange());
 3917           CXXConstructExpr::CK_Complete, SourceRange());
 3924         CXXConstructExpr::CK_Complete, SourceRange());
tools/clang/lib/Sema/SemaFixItUtils.cpp
   73       isa<CXXConstructExpr>(Expr) ||
tools/clang/lib/Sema/SemaInit.cpp
 6242                                     CXXConstructExpr::CK_Complete,
 6438     CXXConstructExpr::ConstructionKind ConstructKind =
 6439       CXXConstructExpr::CK_Complete;
 6443         CXXConstructExpr::CK_VirtualBase :
 6444         CXXConstructExpr::CK_NonVirtualBase;
 6446       ConstructKind = CXXConstructExpr::CK_Delegating;
 6820   if (auto *CCE = dyn_cast<CXXConstructExpr>(Call)) {
 6820   if (auto *CCE = dyn_cast<CXXConstructExpr>(Call)) {
 6854     auto *CCE = cast<CXXConstructExpr>(Call);
 6854     auto *CCE = cast<CXXConstructExpr>(Call);
 7200   if (isa<CallExpr>(Init) || isa<CXXConstructExpr>(Init)) {
 7594     const CXXConstructExpr *CCE =
 7595         dyn_cast<CXXConstructExpr>(InitExpr->IgnoreParens());
 8071                                           CXXConstructExpr::CK_Complete,
tools/clang/lib/Sema/SemaOpenMP.cpp
 5443   if (auto *CE = dyn_cast_or_null<CXXConstructExpr>(NewLB))
 5443   if (auto *CE = dyn_cast_or_null<CXXConstructExpr>(NewLB))
 5731   if (const auto *CE = dyn_cast_or_null<CXXConstructExpr>(E))
 5731   if (const auto *CE = dyn_cast_or_null<CXXConstructExpr>(E))
tools/clang/lib/Sema/SemaStmt.cpp
  306   } else if (const auto *CE = dyn_cast<CXXConstructExpr>(E)) {
  306   } else if (const auto *CE = dyn_cast<CXXConstructExpr>(E)) {
  348     if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(E))
  348     if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(E))
 2732     if (const CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(E)) {
 2732     if (const CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(E)) {
 2789   if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(InitExpr)) {
 2789   if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(InitExpr)) {
tools/clang/lib/Sema/TreeTransform.h
 3473   CXXConstructExpr *Construct = dyn_cast<CXXConstructExpr>(Init);
 3473   CXXConstructExpr *Construct = dyn_cast<CXXConstructExpr>(Init);
tools/clang/lib/Serialization/ASTReaderStmt.cpp
 1450 void ASTStmtReader::VisitCXXConstructExpr(CXXConstructExpr *E) {
 3267       S = CXXConstructExpr::CreateEmpty(
tools/clang/lib/Serialization/ASTWriterStmt.cpp
 1386 void ASTStmtWriter::VisitCXXConstructExpr(CXXConstructExpr *E) {
tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp
  399             if (isa<CXXConstructExpr>(E))
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
  156     case CXXConstructExpr::CK_Complete:
  157     case CXXConstructExpr::CK_Delegating:
  160     case CXXConstructExpr::CK_NonVirtualBase:
  161     case CXXConstructExpr::CK_VirtualBase:
  239     case CXXConstructExpr::CK_Complete:
  240     case CXXConstructExpr::CK_Delegating:
  247     case CXXConstructExpr::CK_NonVirtualBase:
  248     case CXXConstructExpr::CK_VirtualBase:
tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
  256   void checkPostStmt(const CXXConstructExpr *CCE, CheckerContext &C) const;
tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
  162   CXXConstructExpr *Ex2 = dyn_cast<CXXConstructExpr>(Ex1->getSubExpr());
  162   CXXConstructExpr *Ex2 = dyn_cast<CXXConstructExpr>(Ex1->getSubExpr());
  168   CXXConstructExpr *Ex4 = dyn_cast<CXXConstructExpr>(Ex3->getSubExpr());
  168   CXXConstructExpr *Ex4 = dyn_cast<CXXConstructExpr>(Ex3->getSubExpr());
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
 1308   const CXXConstructExpr *ConstructE = NE->getConstructExpr();
tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
  275   if (isa<CXXConstructExpr>(RetE) && RetE->getType()->isRecordType())
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
  458                           || isa<CXXConstructExpr>(S)
 1401     return getCXXConstructorCall(cast<CXXConstructExpr>(CallSite),
tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
  474   if (const auto *CallerCtor = dyn_cast_or_null<CXXConstructExpr>(
  474   if (const auto *CallerCtor = dyn_cast_or_null<CXXConstructExpr>(
  477     case CXXConstructExpr::CK_NonVirtualBase:
  478     case CXXConstructExpr::CK_VirtualBase: {
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
 1604       VisitCXXConstructExpr(cast<CXXConstructExpr>(S), Pred, Dst);
tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
  560   if (isa<CXXConstructExpr>(Init) || isa<CXXStdInitializerListExpr>(Init)) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
  237       const CXXConstructExpr *CE = TCC->getConstructorAfterElision();
  360       } else if (const auto *CCE = dyn_cast<CXXConstructExpr>(E)) {
  360       } else if (const auto *CCE = dyn_cast<CXXConstructExpr>(E)) {
  395 void ExprEngine::VisitCXXConstructExpr(const CXXConstructExpr *CE,
  427   case CXXConstructExpr::CK_Complete: {
  432   case CXXConstructExpr::CK_VirtualBase: {
  435     const auto *OuterCtor = dyn_cast_or_null<CXXConstructExpr>(
  435     const auto *OuterCtor = dyn_cast_or_null<CXXConstructExpr>(
  446   case CXXConstructExpr::CK_NonVirtualBase:
  465   case CXXConstructExpr::CK_Delegating: {
  471     if (CE->getConstructionKind() == CXXConstructExpr::CK_Delegating) {
  476         (CE->getConstructionKind() == CXXConstructExpr::CK_VirtualBase);
  838     if (!isa<CXXConstructExpr>(Init)) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
  248     if (const CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(CE)) {
  248     if (const CXXConstructExpr *CCE = dyn_cast<CXXConstructExpr>(CE)) {
  703     const CXXConstructExpr *CtorExpr = Ctor.getOriginExpr();
  735     if (CtorExpr->getConstructionKind() == CXXConstructExpr::CK_Complete) {
tools/clang/lib/Tooling/Transformer/SourceCodeBuilders.cpp
   22   if (const auto *CE = dyn_cast<CXXConstructExpr>(Expr)) {
   22   if (const auto *CE = dyn_cast<CXXConstructExpr>(Expr)) {
tools/clang/tools/extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
  339     const auto *Construct = cast<CXXConstructExpr>(E);
  339     const auto *Construct = cast<CXXConstructExpr>(E);
tools/clang/tools/extra/clang-tidy/bugprone/CopyConstructorInitCheck.cpp
   76     const auto *CExpr = dyn_cast<CXXConstructExpr>(Init->getInit());
   76     const auto *CExpr = dyn_cast<CXXConstructExpr>(Init->getInit());
tools/clang/tools/extra/clang-tidy/bugprone/StringConstructorCheck.cpp
  115   const auto *E = Result.Nodes.getNodeAs<CXXConstructExpr>("constructor");
  115   const auto *E = Result.Nodes.getNodeAs<CXXConstructExpr>("constructor");
tools/clang/tools/extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp
   76   const auto *E = Result.Nodes.getNodeAs<CXXConstructExpr>("construct");
   76   const auto *E = Result.Nodes.getNodeAs<CXXConstructExpr>("construct");
tools/clang/tools/extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.cpp
   80   const auto *Ctor = Result.Nodes.getNodeAs<CXXConstructExpr>("ctor");
   80   const auto *Ctor = Result.Nodes.getNodeAs<CXXConstructExpr>("ctor");
tools/clang/tools/extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.h
   36                  const T *Func);
tools/clang/tools/extra/clang-tidy/llvm/TwineLocalCheck.cpp
   37     while (isa<CXXConstructExpr>(C)) {
   38       if (cast<CXXConstructExpr>(C)->getNumArgs() == 0)
   40       C = cast<CXXConstructExpr>(C)->getArg(0)->IgnoreParenImpCasts();
tools/clang/tools/extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.cpp
  106     const auto *constructorCall = dyn_cast<CXXConstructExpr>(currentSubExpr);
  106     const auto *constructorCall = dyn_cast<CXXConstructExpr>(currentSubExpr);
tools/clang/tools/extra/clang-tidy/modernize/LoopConvertUtils.cpp
  172   if (const auto *ConstructExpr = dyn_cast<CXXConstructExpr>(E)) {
  172   if (const auto *ConstructExpr = dyn_cast<CXXConstructExpr>(E)) {
  176         ConstructExpr->getConstructionKind() != CXXConstructExpr::CK_Complete)
  359   if (Init && isa<CXXConstructExpr>(Init)) {
tools/clang/tools/extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
  116   const auto *Construct =
  117       Result.Nodes.getNodeAs<CXXConstructExpr>(ConstructorCall);
  144                                        const CXXConstructExpr *Construct,
  301       if (const auto *CEArg = dyn_cast<CXXConstructExpr>(Arg)) {
  301       if (const auto *CEArg = dyn_cast<CXXConstructExpr>(Arg)) {
  307             if (const auto *UnwrappedCE =
  308                     dyn_cast<CXXConstructExpr>(TempExp->IgnoreImplicit()))
  348     if (const auto *CE = New->getConstructExpr()) {
  370     if (const auto *NewConstruct = New->getConstructExpr()) {
tools/clang/tools/extra/clang-tidy/modernize/MakeSmartPtrCheck.h
   56                       const CXXConstructExpr *Construct, const QualType *Type,
tools/clang/tools/extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp
   48   const auto *MatchedConstructExpr =
   49       Result.Nodes.getNodeAs<CXXConstructExpr>("ctor");
tools/clang/tools/extra/clang-tidy/modernize/UseAutoCheck.cpp
   80   if (const auto *Construct = dyn_cast<CXXConstructExpr>(Init)) {
   80   if (const auto *Construct = dyn_cast<CXXConstructExpr>(Init)) {
  344     const auto *Construct = dyn_cast<CXXConstructExpr>(ExprInit);
  344     const auto *Construct = dyn_cast<CXXConstructExpr>(ExprInit);
  361     if (const auto *NestedConstruct = dyn_cast<CXXConstructExpr>(E)) {
  361     if (const auto *NestedConstruct = dyn_cast<CXXConstructExpr>(E)) {
tools/clang/tools/extra/clang-tidy/modernize/UseEmplaceCheck.cpp
  123   const auto *CtorCall = Result.Nodes.getNodeAs<CXXConstructExpr>("ctor");
  123   const auto *CtorCall = Result.Nodes.getNodeAs<CXXConstructExpr>("ctor");
tools/clang/tools/extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
   85   if (const auto *FuncInst =
   86           Result.Nodes.getNodeAs<CXXConstructExpr>("FuncInst")) {
tools/clang/tools/extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
   93   const auto *CtorCall = Result.Nodes.getNodeAs<CXXConstructExpr>("ctorCall");
   93   const auto *CtorCall = Result.Nodes.getNodeAs<CXXConstructExpr>("ctorCall");
tools/clang/tools/extra/clang-tidy/readability/NonConstParameterCheck.cpp
   83     } else if (const auto *CE = dyn_cast<CXXConstructExpr>(S)) {
   83     } else if (const auto *CE = dyn_cast<CXXConstructExpr>(S)) {
  202   } else if (const auto *Constr = dyn_cast<CXXConstructExpr>(E)) {
  202   } else if (const auto *Constr = dyn_cast<CXXConstructExpr>(E)) {
tools/clang/tools/extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
   49   const auto *Construct = Result.Nodes.getNodeAs<CXXConstructExpr>("construct");
   49   const auto *Construct = Result.Nodes.getNodeAs<CXXConstructExpr>("construct");
tools/clang/tools/extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp
   47   if (const auto *D = Result.Nodes.getNodeAs<CXXConstructExpr>("temps"))
   47   if (const auto *D = Result.Nodes.getNodeAs<CXXConstructExpr>("temps"))
tools/clang/tools/extra/clangd/FindTarget.cpp
  197       void VisitCXXConstructExpr(const CXXConstructExpr *CCE) {
tools/clang/tools/extra/clangd/XRefs.cpp
  173         if (const auto *CtorExpr = dyn_cast<CXXConstructExpr>(E))
  173         if (const auto *CtorExpr = dyn_cast<CXXConstructExpr>(E))
tools/clang/tools/libclang/CIndex.cpp
 4361   if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(E))
 4361   if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(E))
tools/clang/tools/libclang/CXCursor.cpp
 1187     if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(E)) {
 1187     if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(E)) {
 1218     if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(E)) {
 1218     if (const CXXConstructExpr *CE = dyn_cast<CXXConstructExpr>(E)) {
tools/clang/unittests/AST/MatchVerifier.h
   62                       const NodeType &Node) {}
  150   const NodeType *Node = Result.Nodes.getNodeAs<NodeType>("");
  150   const NodeType *Node = Result.Nodes.getNodeAs<NodeType>("");
  216 class RangeVerifier : public MatchVerifier<NodeType> {
  228               const NodeType &Node) override {
  250   virtual SourceRange getRange(const NodeType &Node) {
tools/clang/unittests/AST/SourceLocationTest.cpp
  348   RangeVerifier<CXXConstructExpr> Verifier;
  623   RangeVerifier<CXXConstructExpr> Verifier;
tools/clang/unittests/Tooling/RecursiveASTVisitorTests/ConstructExpr.cpp
   32   bool VisitCXXConstructExpr(CXXConstructExpr* Expr) {
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>