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

References

include/llvm/ADT/Optional.h
  144     T value;
  160   explicit OptionalStorage(in_place_t, Args &&... args)
  161       : value(std::forward<Args>(args)...), hasVal(true) {}
  172   T &getValue() LLVM_LVALUE_FUNCTION noexcept {
  176   T const &getValue() const LLVM_LVALUE_FUNCTION noexcept {
  181   T &&getValue() && noexcept {
  216   optional_detail::OptionalStorage<T> Storage;
  219   using value_type = T;
  224   Optional(const T &y) : Storage(optional_detail::in_place_t{}, y) {}
  227   Optional(T &&y) : Storage(optional_detail::in_place_t{}, std::move(y)) {}
  230   Optional &operator=(T &&y) {
  241   static inline Optional create(const T *y) {
  245   Optional &operator=(const T &y) {
  253   const T *getPointer() const { return &Storage.getValue(); }
  254   T *getPointer() { return &Storage.getValue(); }
  255   const T &getValue() const LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
  256   T &getValue() LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
  260   const T *operator->() const { return getPointer(); }
  261   T *operator->() { return getPointer(); }
  262   const T &operator*() const LLVM_LVALUE_FUNCTION { return getValue(); }
  263   T &operator*() LLVM_LVALUE_FUNCTION { return getValue(); }
  266   constexpr T getValueOr(U &&value) const LLVM_LVALUE_FUNCTION {
  271   T &&getValue() && { return std::move(Storage.getValue()); }
  272   T &&operator*() && { return std::move(Storage.getValue()); }
  275   T getValueOr(U &&value) && {
  316 bool operator==(const Optional<T> &X, NoneType) {
  367 template <typename T> bool operator==(const Optional<T> &X, const T &Y) {
  367 template <typename T> bool operator==(const Optional<T> &X, const T &Y) {
include/llvm/Support/type_traits.h
   91     T t;
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  122     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  130     static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
  145       std::is_copy_constructible<detail::trivial_helper<T>>::value;
  147       !std::is_copy_constructible<T>::value;
  151       std::is_move_constructible<detail::trivial_helper<T>>::value;
  153       !std::is_move_constructible<T>::value;
  157       is_copy_assignable<detail::trivial_helper<T>>::value;
  159       !is_copy_assignable<T>::value;
  163       is_move_assignable<detail::trivial_helper<T>>::value;
  165       !is_move_assignable<T>::value;
  169       std::is_destructible<detail::trivial_helper<T>>::value;
tools/clang/include/clang/Analysis/RetainSummaryManager.h
  120   ObjKind O;
  122   explicit ArgEffect(ArgEffectKind K = DoNothing, ObjKind O = ObjKind::AnyObj)
  122   explicit ArgEffect(ArgEffectKind K = DoNothing, ObjKind O = ObjKind::AnyObj)
  126   ObjKind getObjKind() const { return O; }
  167   ObjKind O;
  169   RetEffect(Kind k, ObjKind o = ObjKind::AnyObj) : K(k), O(o) {}
  169   RetEffect(Kind k, ObjKind o = ObjKind::AnyObj) : K(k), O(o) {}
  174   ObjKind getObjKind() const { return O; }
  189     return RetEffect(OwnedWhenTrackedReceiver, ObjKind::ObjC);
  192   static RetEffect MakeOwned(ObjKind o) {
  195   static RetEffect MakeNotOwned(ObjKind o) {
  629         ObjCAllocRetE(ARCEnabled ? RetEffect::MakeNotOwned(ObjKind::ObjC)
  630                                  : RetEffect::MakeOwned(ObjKind::ObjC)),
  631         ObjCInitRetE(ARCEnabled ? RetEffect::MakeNotOwned(ObjKind::ObjC)
  726   Optional<ObjKind> hasAnyEnabledAttrOf(const Decl *D, QualType QT);
  729   Optional<ObjKind> hasAnyEnabledAttrOf(const Decl *D, QualType QT);
tools/clang/lib/ARCMigrate/ObjCMT.cpp
 1474     if (Ret.getObjKind() == ObjKind::CF) {
 1481     else if (Ret.getObjKind() == ObjKind::ObjC) {
 1497     if (AE.getKind() == DecRef && AE.getObjKind() == ObjKind::CF &&
 1503     } else if (AE.getKind() == DecRef && AE.getObjKind() == ObjKind::ObjC &&
 1535     if (Ret.getObjKind() == ObjKind::CF &&
 1550          AE.getKind() == IncRef) && AE.getObjKind() == ObjKind::CF) {
 1587     if (Ret.getObjKind() == ObjKind::CF) {
 1594     else if (Ret.getObjKind() == ObjKind::ObjC) {
 1623         && AE.getObjKind() == ObjKind::CF
 1666     if ((Ret.getObjKind() == ObjKind::CF ||
 1667          Ret.getObjKind() == ObjKind::ObjC) &&
tools/clang/lib/Analysis/RetainSummaryManager.cpp
   68 Optional<ObjKind> RetainSummaryManager::hasAnyEnabledAttrOf(const Decl *D,
   70   ObjKind K;
   76     K = ObjKind::CF;
   88     K = ObjKind::ObjC;
   95     K = ObjKind::OS;
   99     K = ObjKind::Generalized;
  109 Optional<ObjKind> RetainSummaryManager::hasAnyEnabledAttrOf(const Decl *D,
  305     return getPersistentSummary(RetEffect::MakeOwned(ObjKind::CF),
  319     return getPersistentSummary(RetEffect::MakeOwned(ObjKind::CF), ScratchArgs,
  326     ScratchArgs = AF.add(ScratchArgs, 1, ArgEffect(DecRef, ObjKind::CF));
  334     ScratchArgs = AF.add(ScratchArgs, 2, ArgEffect(DecRef, ObjKind::CF));
  355     return getPersistentSummary(RetEffect::MakeOwned(ObjKind::CF), ScratchArgs,
  484                                   ArgEffect(DoNothing), ArgEffect(E, ObjKind::CF));
  638     ObjKind K = ObjKind::AnyObj;
  638     ObjKind K = ObjKind::AnyObj;
  641       K = ObjKind::Generalized;
  643       K = ObjKind::OS;
  645       K = ObjKind::ObjC;
  647       K = ObjKind::CF;
  650     if (K != ObjKind::AnyObj)
  791   ArgEffect Effect(AE, ObjKind::CF);
  805                               /*ThisEff=*/ArgEffect(IncRef, ObjKind::OS));
  814                               /*ThisEff=*/ArgEffect(DecRef, ObjKind::OS));
  823                               /*ThisEff=*/ArgEffect(Dealloc, ObjKind::OS));
  828   return getPersistentSummary(RetEffect::MakeOwned(ObjKind::OS),
  834   return getPersistentSummary(RetEffect::MakeNotOwned(ObjKind::OS),
  840   return getPersistentSummary(RetEffect::MakeOwned(ObjKind::CF),
  846   return getPersistentSummary(RetEffect::MakeNotOwned(ObjKind::CF),
  921     if (K == ObjKind::OS) {
  941       Template->addArg(AF, parm_idx, ArgEffect(AK, ObjKind::OS));
  988     Template->setThisEffect(ArgEffect(DecRef, ObjKind::OS));
 1002     Template->setReceiverEffect(ArgEffect(DecRef, ObjKind::ObjC));
 1019   ArgEffect ReceiverEff = ArgEffect(DoNothing, ObjKind::ObjC);
 1031         ResultEff = RetEffect::MakeNotOwned(ObjKind::ObjC);
 1043             ResultEff = RetEffect::MakeOwned(ObjKind::CF);
 1046             ResultEff = RetEffect::MakeNotOwned(ObjKind::CF);
 1050           ResultEff = RetEffect::MakeNotOwned(ObjKind::CF);
 1056       ReceiverEff = ArgEffect(DecRef, ObjKind::ObjC);
 1065         ResultEff = RetEffect::MakeOwned(ObjKind::CF);
 1068       ReceiverEff = ArgEffect(Autorelease, ObjKind::ObjC);
 1071       ReceiverEff = ArgEffect(IncRef, ObjKind::ObjC);
 1074       ReceiverEff = ArgEffect(DecRef, ObjKind::ObjC);
 1077       ReceiverEff = ArgEffect(Dealloc, ObjKind::ObjC);
 1099           ReceiverEff = ArgEffect(StopTrackingHard, ObjKind::ObjC);
 1180                 getPersistentSummary(RetEffect::MakeNotOwned(ObjKind::ObjC),
 1197       ObjCInitRetE, ScratchArgs, ArgEffect(DecRef, ObjKind::ObjC));
 1209     getPersistentSummary(RetEffect::MakeOwned(ObjKind::CF), ScratchArgs);
 1214       NoRet, ScratchArgs, ArgEffect(IncRef, ObjKind::ObjC));
 1219                               ArgEffect(DecRef, ObjKind::ObjC));
 1224                                                             ObjKind::ObjC));
 1229                                                             ObjKind::ObjC));
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
  189   ObjKind K;
  191     K = ObjKind::ObjC;
  193     K = ObjKind::CF;
  239                              ArgEffect(MayEscape, ObjKind::ObjC), hasErr, C);
  253                           RefVal::makeNotOwned(ObjKind::ObjC, ResultTy));
  279                           RefVal::makeNotOwned(ObjKind::ObjC, ResultTy));
  300   ObjKind Kind;
  302     Kind = ObjKind::ObjC;
  304     Kind = ObjKind::CF;
  438   if (TrackedValue->getObjKind() != ObjKind::OS)
  574                            RefVal::makeOwned(ObjKind::OS, PointeeTy));
  627           Effect = ArgEffect(StopTrackingHard, ObjKind::OS);
  717   if (AE.getObjKind() == ObjKind::ObjC && IgnoreRetainMsg) {
 1354       ObjKind K = AE->getObjKind();
 1355       if (K == ObjKind::Generalized || K == ObjKind::OS ||
 1355       if (K == ObjKind::Generalized || K == ObjKind::OS ||
 1356           (TrackNSCFStartParam && (K == ObjKind::ObjC || K == ObjKind::CF))) {
 1356           (TrackNSCFStartParam && (K == ObjKind::ObjC || K == ObjKind::CF))) {
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
  110   RefVal(Kind k, ObjKind o, unsigned cnt, unsigned acnt, QualType t,
  123   ObjKind getObjKind() const {
  172   static RefVal makeOwned(ObjKind o, QualType t) {
  180   static RefVal makeNotOwned(ObjKind o, QualType t) {
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
  263   if (CurrV.getObjKind() == ObjKind::CF) {
  266   } else if (CurrV.getObjKind() == ObjKind::OS) {
  269   } else if (CurrV.getObjKind() == ObjKind::Generalized) {
  788         ObjKind K = RV->getObjKind();
  789         if (K == ObjKind::ObjC || K == ObjKind::CF) {
  789         if (K == ObjKind::ObjC || K == ObjKind::CF) {
  796         } else if (RV->getObjKind() == ObjKind::OS) {
usr/include/c++/7.4.0/bits/move.h
   72     constexpr _Tp&&
   73     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
   83     constexpr _Tp&&
   84     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
   98     move(_Tp&& __t) noexcept
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
  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
  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>>>
  825     : public __is_destructible_safe<_Tp>::type
  984       typedef decltype(__test<_Tp, _Arg>(0)) type;
  989     : public __and_<is_destructible<_Tp>,
  990                     __is_direct_constructible_impl<_Tp, _Arg>>
 1072 			 __is_direct_constructible_ref_cast<_Tp, _Arg>,
 1073 			 __is_direct_constructible_new_safe<_Tp, _Arg>
 1079     : public __is_direct_constructible_new<_Tp, _Arg>::type
 1119     : public __is_direct_constructible<_Tp, _Arg>
 1130     : public __is_constructible_impl<_Tp, _Args...>::type
 1142     : public is_constructible<_Tp, const _Tp&>
 1142     : public is_constructible<_Tp, const _Tp&>
 1148     : public __is_copy_constructible_impl<_Tp>
 1160     : public is_constructible<_Tp, _Tp&&>
 1160     : public is_constructible<_Tp, _Tp&&>
 1166     : public __is_move_constructible_impl<_Tp>
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1629     { typedef _Tp   type; };
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };