Home | History | Annotate | Download | only in AST

Lines Matching refs:decl

1 //===--- Decl.cpp - Declaration AST Node Implementation -------------------===//
10 // This file implements the Decl subclasses.
14 #include "clang/AST/Decl.h"
290 static const Decl *getOutermostFuncOrBlockContext(const Decl *D) {
291 const Decl *Ret = NULL;
293 while (DC->getDeclKind() != Decl::TranslationUnit) {
295 Ret = cast<Decl>(DC);
511 static bool isSingleLineExternC(const Decl &D) {
823 // Specifically, if this decl exists and has an explicit attribute.
944 // and the corresponding decl has explicit visibility, use that.
983 // and the corresponding decl has explicit visibility, use that.
991 // The visibility of a template is stored in the templated decl.
998 static LinkageInfo getLVForClosure(const DeclContext *DC, Decl *ContextDecl,
1070 const Decl *OuterD = getOutermostFuncOrBlockContext(D);
1102 case Decl::ParmVar:
1104 case Decl::TemplateTemplateParm: // count these as external
1105 case Decl::NonTypeTemplateParm:
1106 case Decl::ObjCAtDefsField:
1107 case Decl::ObjCCategory:
1108 case Decl::ObjCCategoryImpl:
1109 case Decl::ObjCCompatibleAlias:
1110 case Decl::ObjCImplementation:
1111 case Decl::ObjCMethod:
1112 case Decl::ObjCProperty:
1113 case Decl::ObjCPropertyImpl:
1114 case Decl::ObjCProtocol:
1117 case Decl::CXXRecord: {
1189 // We have just computed the linkage for this decl. By induction we know
1318 if (getKind() == Decl::UsingDirective) {
1406 static SourceLocation getTemplateOrInnerLocStart(const DeclT *decl) {
1407 if (decl->getNumTemplateParameterLists() > 0)
1408 return decl->getTemplateParameterList(0)->getTemplateLoc();
1410 return decl->getInnerLocStart();
1421 // Make sure the extended decl info is allocated.
1427 // Restore savedTInfo into (extended) decl info.
1438 // Deallocate the extended decl info.
1440 // Restore savedTInfo into (non-extended) decl info.
1454 // Make sure the extended decl info is allocated.
1460 // Restore savedTInfo into (extended) decl info.
1620 // If the first decl is in an extern "C" context, any other redeclaration
1622 // context, we would have reported an error for any other decl being in one.
1651 while (DC->getDeclKind() != Decl::TranslationUnit) {
1652 if (DC->getDeclKind() == Decl::LinkageSpec)
1782 if (Decl::isOutOfLine())
2854 if (Decl::isOutOfLine())
2975 return new (C) FieldDecl(Decl::Field, DC, StartLoc, IdLoc, Id, T, TInfo,
3128 // Make sure the extended decl info is allocated.
3219 assert(classof(static_cast<Decl*>(this)) && "Invalid Kind!");
3267 static bool isFieldOrIndirectField(Decl::Kind K) {
3278 SmallVector<Decl*, 64> Decls;
3355 // Other Decl Allocation/Deallocation Method Implementations
3585 : Decl(Import, DC, StartLoc), ImportedAndComplete(Imported, true),
3596 : Decl(Import, DC, StartLoc), ImportedAndComplete(Imported, false),