clang  6.0.0svn
Functions
IndexingContext.cpp File Reference
#include "IndexingContext.h"
#include "clang/Index/IndexDataConsumer.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/DeclObjC.h"
#include "clang/Basic/SourceManager.h"
Include dependency graph for IndexingContext.cpp:

Go to the source code of this file.

Functions

static bool isGeneratedDecl (const Decl *D)
 
static const CXXRecordDeclgetDeclContextForTemplateInstationPattern (const Decl *D)
 
static const DecladjustTemplateImplicitInstantiation (const Decl *D)
 
static bool isDeclADefinition (const Decl *D, const DeclContext *ContainerDC, ASTContext &Ctx)
 
static bool shouldSkipNamelessDecl (const NamedDecl *ND)
 Whether the given NamedDecl should be skipped because it has no name. More...
 
static const DecladjustParent (const Decl *Parent)
 
static const DeclgetCanonicalDecl (const Decl *D)
 
static bool shouldReportOccurrenceForSystemDeclOnlyMode (bool IsRef, SymbolRoleSet Roles, ArrayRef< SymbolRelation > Relations)
 

Function Documentation

◆ adjustParent()

static const Decl* adjustParent ( const Decl Parent)
static

◆ adjustTemplateImplicitInstantiation()

static const Decl* adjustTemplateImplicitInstantiation ( const Decl D)
static

◆ getCanonicalDecl()

static const Decl* getCanonicalDecl ( const Decl D)
static

Definition at line 260 of file IndexingContext.cpp.

References clang::Decl::getCanonicalDecl(), and clang::Decl::isCanonicalDecl().

Referenced by areSortedAndUniqued(), clang::CodeGen::CodeGenFunction::EmitOMPFirstprivateClause(), clang::CodeGen::CodeGenFunction::EmitOMPLastprivateClauseInit(), clang::CodeGen::CodeGenFunction::EmitOMPLinearClause(), clang::CodeGen::CodeGenVTables::EmitThunks(), clang::TemplateDecl::getAssociatedConstraints(), clang::ObjCMethodDecl::getCanonicalDecl(), clang::CXXRecordDecl::getCanonicalDecl(), clang::Decl::getCanonicalDecl(), clang::VarDecl::getCanonicalDecl(), clang::CXXMethodDecl::getCanonicalDecl(), clang::FunctionDecl::getCanonicalDecl(), clang::CXXConstructorDecl::getCanonicalDecl(), clang::CXXDestructorDecl::getCanonicalDecl(), clang::CXXConversionDecl::getCanonicalDecl(), clang::TagDecl::getCanonicalDecl(), clang::EnumDecl::getCanonicalDecl(), clang::TagDecl::getInnerLocStart(), clang::CXXDestructorDecl::getOperatorDelete(), clang::CXXDestructorDecl::getOperatorDeleteThisArg(), clang::Decl::isCanonicalDecl(), clang::FunctionDecl::isDeleted(), clang::CXXRecordDecl::isDerivedFrom(), clang::ObjCInterfaceDecl::isDesignatedInitializer(), clang::CXXConstructorDecl::isExplicit(), clang::CXXConversionDecl::isExplicit(), clang::VarDecl::isStaticDataMember(), clang::CXXMethodDecl::isVirtual(), clang::CXXRecordDecl::isVirtuallyDerivedFrom(), clang::Decl::setIsUsed(), clang::FunctionDecl::setWillHaveBody(), and shouldReportOccurrenceForSystemDeclOnlyMode().

◆ getDeclContextForTemplateInstationPattern()

static const CXXRecordDecl* getDeclContextForTemplateInstationPattern ( const Decl D)
static

◆ isDeclADefinition()

static bool isDeclADefinition ( const Decl D,
const DeclContext ContainerDC,
ASTContext Ctx 
)
static

Definition at line 208 of file IndexingContext.cpp.

Referenced by shouldReportOccurrenceForSystemDeclOnlyMode().

◆ isGeneratedDecl()

static bool isGeneratedDecl ( const Decl D)
static

Definition at line 20 of file IndexingContext.cpp.

References clang::Decl::getAttr().

Referenced by clang::index::IndexingContext::shouldIndex().

◆ shouldReportOccurrenceForSystemDeclOnlyMode()

static bool shouldReportOccurrenceForSystemDeclOnlyMode ( bool  IsRef,
SymbolRoleSet  Roles,
ArrayRef< SymbolRelation Relations 
)
static

Definition at line 272 of file IndexingContext.cpp.

References clang::index::AddressOf, adjustParent(), adjustTemplateImplicitInstantiation(), clang::index::IndexingOptions::All, clang::index::applyForEachSymbolRoleInterruptible(), clang::SrcMgr::C_User, clang::index::Call, clang::index::Declaration, clang::index::IndexingOptions::DeclarationsOnly, clang::index::Definition, clang::index::Dynamic, getCanonicalDecl(), clang::SourceManager::getDecomposedLoc(), clang::SrcMgr::SLocEntry::getFile(), clang::SrcMgr::FileInfo::getFileCharacteristic(), clang::SourceManager::getFileLoc(), clang::SourceManager::getSLocEntry(), clang::ASTContext::getSourceManager(), clang::index::IndexDataConsumer::handleDeclOccurence(), clang::index::Implicit, isDeclADefinition(), clang::SrcMgr::SLocEntry::isFile(), clang::index::isFunctionLocalSymbol(), clang::Decl::isImplicit(), clang::FileID::isInvalid(), clang::SourceLocation::isInvalid(), clang::index::IndexingContext::isTemplateImplicitInstantiation(), Node, clang::index::IndexingOptions::None, Parent, clang::index::Read, clang::index::Reference, clang::index::RelationAccessorOf, clang::index::RelationBaseOf, clang::index::RelationCalledBy, clang::index::RelationChildOf, clang::index::RelationContainedBy, clang::index::RelationExtendedBy, clang::index::RelationIBTypeOf, clang::index::RelationOverrideOf, clang::index::RelationReceivedBy, clang::index::RelationSpecializationOf, shouldSkipNamelessDecl(), SM, clang::index::IndexingOptions::SystemSymbolFilter, and clang::index::Write.

◆ shouldSkipNamelessDecl()

static bool shouldSkipNamelessDecl ( const NamedDecl ND)
static

Whether the given NamedDecl should be skipped because it has no name.

Definition at line 233 of file IndexingContext.cpp.

References clang::NamedDecl::getDeclName(), and clang::DeclarationName::isEmpty().

Referenced by adjustParent(), and shouldReportOccurrenceForSystemDeclOnlyMode().