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

References

gen/tools/clang/include/clang/AST/AttrImpl.inc
 3619 FinalAttr *FinalAttr::clone(ASTContext &C) const {
 3620   auto *A = new (C) FinalAttr(C, *this);
 3620   auto *A = new (C) FinalAttr(C, *this);
11670     return cast<FinalAttr>(this)->getSpelling();
12250     return cast<FinalAttr>(this)->clone(C);
12830     return cast<FinalAttr>(this)->printPretty(OS, Policy);
gen/tools/clang/include/clang/AST/AttrTextNodeDump.inc
  235   void VisitFinalAttr(const FinalAttr *A) {
gen/tools/clang/include/clang/AST/AttrVisitor.inc
  359   bool TraverseFinalAttr(FinalAttr *A);
  360   bool VisitFinalAttr(FinalAttr *A) {
 2033 bool VISITORCLASS<Derived>::TraverseFinalAttr(FinalAttr *A) {
 4130       return getDerived().TraverseFinalAttr(cast<FinalAttr>(A));
gen/tools/clang/include/clang/AST/Attrs.inc
 4932   static FinalAttr *CreateImplicit(ASTContext &Ctx, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
 4933     auto *A = new (Ctx) FinalAttr(Ctx, CommonInfo);
 4933     auto *A = new (Ctx) FinalAttr(Ctx, CommonInfo);
 4940   static FinalAttr *Create(ASTContext &Ctx, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
 4941     auto *A = new (Ctx) FinalAttr(Ctx, CommonInfo);
 4941     auto *A = new (Ctx) FinalAttr(Ctx, CommonInfo);
 4945   static FinalAttr *CreateImplicit(ASTContext &Ctx, SourceRange Range, AttributeCommonInfo::Syntax Syntax, FinalAttr::Spelling S = static_cast<Spelling>(SpellingNotCalculated)) {
 4945   static FinalAttr *CreateImplicit(ASTContext &Ctx, SourceRange Range, AttributeCommonInfo::Syntax Syntax, FinalAttr::Spelling S = static_cast<Spelling>(SpellingNotCalculated)) {
 4949   static FinalAttr *Create(ASTContext &Ctx, SourceRange Range, AttributeCommonInfo::Syntax Syntax, FinalAttr::Spelling S = static_cast<Spelling>(SpellingNotCalculated)) {
 4949   static FinalAttr *Create(ASTContext &Ctx, SourceRange Range, AttributeCommonInfo::Syntax Syntax, FinalAttr::Spelling S = static_cast<Spelling>(SpellingNotCalculated)) {
 4959   FinalAttr *clone(ASTContext &C) const;
gen/tools/clang/include/clang/Sema/AttrTemplateInstantiate.inc
  459       const auto *A = cast<FinalAttr>(At);
  459       const auto *A = cast<FinalAttr>(At);
gen/tools/clang/include/clang/Serialization/AttrPCHRead.inc
  824     New = new (Context) FinalAttr(Context, Info);
gen/tools/clang/include/clang/Serialization/AttrPCHWrite.inc
  623     const auto *SA = cast<FinalAttr>(A);
  623     const auto *SA = cast<FinalAttr>(A);
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*,
tools/clang/include/clang/AST/AttrIterator.h
   47     while (!isa<SpecificAttr>(*Current))
   52     while (Current != I && !isa<SpecificAttr>(*Current))
   57   using value_type = SpecificAttr *;
   58   using reference = SpecificAttr *;
   59   using pointer = SpecificAttr *;
   68     return cast<SpecificAttr>(*Current);
  101 inline specific_attr_iterator<SpecificAttr, Container>
  106 inline specific_attr_iterator<SpecificAttr, Container>
  113   return specific_attr_begin<SpecificAttr>(container) !=
  114           specific_attr_end<SpecificAttr>(container);
  117 inline SpecificAttr *getSpecificAttr(const Container& container) {
  118   specific_attr_iterator<SpecificAttr, Container> i =
  119       specific_attr_begin<SpecificAttr>(container);
  120   if (i != specific_attr_end<SpecificAttr>(container))
tools/clang/include/clang/AST/DeclBase.h
  517     Vec.erase(std::remove_if(Vec.begin(), Vec.end(), isa<T, Attr*>), Vec.end());
  538   template<typename T> T *getAttr() const {
  539     return hasAttrs() ? getSpecificAttr<T>(getAttrs()) : nullptr;
  543     return hasAttrs() && hasSpecificAttr<T>(getAttrs());
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
 4887   return Node.template hasAttr<FinalAttr>();
tools/clang/lib/AST/DeclCXX.cpp
 2068   if (hasAttr<FinalAttr>())
 2097   if (DevirtualizedMethod->hasAttr<FinalAttr>())
 2103   if (BestDynamicDecl->hasAttr<FinalAttr>())
 2106     if (dtor->hasAttr<FinalAttr>())
tools/clang/lib/AST/ExprCXX.cpp
  847   if (!SrcRD->hasAttr<FinalAttr>())
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGCXXABI.cpp
  137       MD->getParent()->hasAttr<FinalAttr>() ||
tools/clang/lib/CodeGen/CGClass.cpp
   44   if (RD->hasAttr<FinalAttr>()) {
  297   if (VBase && Derived->hasAttr<FinalAttr>()) {
tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
  740   if (isa<CXXRecordDecl>(D) && !D->isUnion() && !D->hasAttr<FinalAttr>()) {
tools/clang/lib/Sema/SemaDecl.cpp
15680     Record->addAttr(FinalAttr::Create(
tools/clang/lib/Sema/SemaDeclCXX.cpp
 2524   if (FinalAttr *FA = CXXBaseDecl->getAttr<FinalAttr>()) {
 2524   if (FinalAttr *FA = CXXBaseDecl->getAttr<FinalAttr>()) {
 2966   if (!D->hasAttr<OverrideAttr>() && !D->hasAttr<FinalAttr>())
 2988       } else if (FinalAttr *FA = D->getAttr<FinalAttr>()) {
 2988       } else if (FinalAttr *FA = D->getAttr<FinalAttr>()) {
 3009     if (FinalAttr *FA = D->getAttr<FinalAttr>()) {
 3009     if (FinalAttr *FA = D->getAttr<FinalAttr>()) {
 3014       D->dropAttr<FinalAttr>();
 3033   if (!MD || MD->isImplicit() || MD->hasAttr<FinalAttr>())
 3059   FinalAttr *FA = Old->getAttr<FinalAttr>();
 3059   FinalAttr *FA = Old->getAttr<FinalAttr>();
 3419     Member->addAttr(FinalAttr::Create(
 6354         !Record->hasAttr<FinalAttr>())
 6360     if (FinalAttr *FA = Record->getAttr<FinalAttr>()) {
 6360     if (FinalAttr *FA = Record->getAttr<FinalAttr>()) {
 6368   if (!Record->hasAttr<FinalAttr>()) {
 6370       if (const FinalAttr *FA = dtor->getAttr<FinalAttr>()) {
 6370       if (const FinalAttr *FA = dtor->getAttr<FinalAttr>()) {
tools/clang/lib/Sema/SemaExprCXX.cpp
 3588   if (!PointeeRD->isPolymorphic() || PointeeRD->hasAttr<FinalAttr>())
 4614       return RD->hasAttr<FinalAttr>();
tools/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
   73       if (Base->getBestDynamicClassType()->hasAttr<FinalAttr>())
   80   if (MD && MD->isVirtual() && !CallIsNonVirtual && !MD->hasAttr<FinalAttr>() &&
   81       !MD->getParent()->hasAttr<FinalAttr>())
tools/clang/tools/extra/clang-tidy/modernize/UseOverrideCheck.cpp
  101   bool HasFinal = Method->getAttr<FinalAttr>();
tools/clang/tools/libclang/CIndex.cpp
 7126         if (Method->hasAttr<FinalAttr>() || Method->hasAttr<OverrideAttr>())
 7136         if (D->hasAttr<FinalAttr>())
usr/include/c++/7.4.0/type_traits
 1558     { typedef _Tp     type; };
 1580     { typedef _Tp const     type; };