|
reference, declaration → definition
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.cpp15680 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; };