clang  5.0.0
Namespaces
ASTMatchFinder.cpp File Reference
#include "clang/ASTMatchers/ASTMatchFinder.h"
#include "clang/AST/ASTConsumer.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/Support/Timer.h"
#include <deque>
#include <memory>
#include <set>
Include dependency graph for ASTMatchFinder.cpp:

Go to the source code of this file.

Namespaces

 clang
 /file This file defines classes for searching and anlyzing source code clones.
 
 clang::ast_matchers
 
 clang::ast_matchers::internal
 

Variable Documentation

ASTContext* ActiveASTContext

Definition at line 766 of file ASTMatchFinder.cpp.

const ASTMatchFinder::BindKind Bind
BoundNodesTreeBuilder BoundNodes

Definition at line 62 of file ASTMatchFinder.cpp.

llvm::TimeRecord* Bucket

Definition at line 529 of file ASTMatchFinder.cpp.

Referenced by clang::HeaderMapImpl::lookupFilename().

BoundNodesTreeBuilder* const Builder

Definition at line 294 of file ASTMatchFinder.cpp.

Referenced by clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::ActOnMSVCUnknownTypeName(), clang::Sema::ActOnTypenameType(), addAddressSanitizerPasses(), addDataFlowSanitizerPass(), addEfficiencySanitizerPass(), addMemorySanitizerPass(), AddObjCExpressionResults(), AddObjCImplementationResults(), AddObjCKeyValueCompletions(), AddObjCProperties(), AddObjCStatementResults(), AddObjCTopLevelResults(), AddOrdinaryNameResults(), addSanitizerCoveragePass(), AddStorageSpecifiers(), AddSuperSendCompletion(), addThisCompletion(), AddTypedefResult(), AddTypeSpecifierResults(), clang::ast_matchers::internal::AnyOfVariadicOperator(), applyCocoaAPICheck(), clang::ast_matchers::AST_MATCHER_P(), clang::ast_matchers::AST_MATCHER_P2(), clang::ast_matchers::AST_MATCHER_P_OVERLOAD(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD(), clang::CodeGen::ConstantAggregateBuilderTemplateBase< ConstantInitBuilderTraits::StructBuilder, ConstantInitBuilderTraits >::beginArray(), clang::CodeGen::ConstantAggregateBuilderTemplateBase< ConstantInitBuilderTraits::StructBuilder, ConstantInitBuilderTraits >::beginStruct(), clang::CFG::buildCFG(), buildNestedType(), clang::Sema::BuildUsingDeclaration(), clang::Sema::CheckCompletedCoroutineBody(), clang::Sema::checkPseudoObjectAssignment(), clang::Sema::checkPseudoObjectIncDec(), clang::Sema::checkPseudoObjectRValue(), clang::Sema::CodeCompleteAfterIf(), clang::Sema::CodeCompleteConstructorInitializer(), clang::Sema::CodeCompleteModuleImport(), clang::Sema::CodeCompleteObjCMethodDecl(), clang::Sema::CodeCompleteObjCMethodDeclSelector(), clang::Sema::CodeCompleteObjCPassingType(), clang::Sema::CodeCompleteObjCPropertySynthesizeIvar(), clang::Sema::CodeCompleteObjCSelector(), clang::Sema::CodeCompletePreprocessorDirective(), clang::Sema::CodeCompletePreprocessorExpression(), clang::Sema::CodeCompletePreprocessorMacroName(), clang::CodeGen::CodeGenTypes::ComputeRecordLayout(), ConvertDeducedTemplateArguments(), clang::ItaniumVTableContext::createConstructionVTableLayout(), clang::CodeGen::CodeGenFunction::DeactivateCleanupBlock(), DefineTypeSize(), clang::Sema::Diag(), EmitAArch64TblBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitArrayToPointerDecay(), clang::CodeGen::CodeGenFunction::EmitBoundsCheck(), clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallArg(), clang::CodeGen::CodeGenFunction::EmitCallArgs(), clang::CodeGen::CodeGenFunction::EmitCallOrInvoke(), EmitCallStackNotes(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), clang::CodeGen::CodeGenFunction::EmitCfiSlowPathCheck(), clang::CodeGen::CodeGenFunction::EmitCheck(), clang::CodeGen::CodeGenFunction::EmitCheckSourceLocation(), clang::CodeGen::CodeGenFunction::EmitCheckTypeDescriptor(), clang::CodeGen::CodeGenFunction::EmitCheckValue(), clang::CodeGen::CodeGenFunction::EmitComplexPrePostIncDec(), clang::CodeGen::CodeGenFunction::EmitConditionalOperatorLValue(), clang::CodeGen::CodeGenFunction::EmitCXXUuidofExpr(), EmitDeferredDiags(), clang::CodeGen::CodeGenFunction::EmitDelegateCallArg(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementExpr(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementLValue(), clang::CodeGen::CodeGenFunction::EmitFromMemory(), clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::CodeGen::CodeGenFunction::EmitLoadOfBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfGlobalRegLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfPointer(), clang::CodeGen::CodeGenFunction::EmitLoadOfReference(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitLValueForFieldInitialization(), clang::CodeGen::CodeGenFunction::EmitMSVCBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitNonNullArgCheck(), emitNonZeroVLAInit(), clang::CodeGen::CodeGenFunction::EmitNoreturnRuntimeCallOrInvoke(), clang::CodeGen::CodeGenFunction::EmitOMPArraySectionExpr(), clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop(), clang::CodeGen::CodeGenFunction::EmitPointerWithAlignment(), clang::CodeGen::CodeGenFunction::EmitReturnValueCheck(), clang::CodeGen::CodeGenFunction::EmitScalarRangeCheck(), EmitSpecialRegisterBuiltin(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughGlobalRegLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), clang::CodeGen::CodeGenFunction::EmitToMemory(), clang::CodeGen::CodeGenFunction::EmitTrapCall(), clang::CodeGen::CodeGenFunction::EmitTrapCheck(), clang::CodeGen::CodeGenFunction::EmitVAStartEnd(), clang::CodeGen::CodeGenVTables::EmitVTTDefinition(), clang::CodeGen::ConstantAggregateBuilderTemplateBase< ConstantInitBuilderTraits::StructBuilder, ConstantInitBuilderTraits >::finishAndCreateFuture(), clang::CodeGen::ConstantAggregateBuilderTemplateBase< ConstantInitBuilderTraits::StructBuilder, ConstantInitBuilderTraits >::finishAndCreateGlobal(), clang::CodeGen::ConstantAggregateBuilderTemplateBase< ConstantInitBuilderTraits::StructBuilder, ConstantInitBuilderTraits >::finishAndSetAsInitializer(), FinishTemplateArgumentDeduction(), clang::Sema::FinishTemplateArgumentDeduction(), clang::Sema::GatherGlobalCodeCompletions(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), clang::CodeGen::CodeGenVTables::GetAddrOfVTT(), clang::ASTContext::getASTRecordLayout(), clang::CodeGen::CodeGenFunction::getNormalCleanupDestSlot(), clang::CodeGen::CodeGenVTables::getSecondaryVirtualPointerIndex(), clang::CodeGen::CodeGenVTables::getSubVTTIndex(), clang::Sema::getTrivialTemplateArgumentLoc(), clang::Sema::getTypeName(), clang::ItaniumVTableContext::getVirtualBaseOffsetOffset(), clang::ASTImporter::Import(), clang::TemplateSpecializationTypeLoc::initializeArgLocs(), clang::ElaboratedTypeLoc::initializeLocal(), clang::DependentNameTypeLoc::initializeLocal(), clang::DependentTemplateSpecializationTypeLoc::initializeLocal(), InitializePredefinedMacros(), clang::InitializePreprocessor(), clang::TreeTransform< Derived >::InventTemplateArgumentLoc(), MaybeAddOverrideCalls(), clang::CodeGen::CodeGenFunction::PopCleanupBlock(), clang::CodeGen::CodeGenFunction::PopCleanupBlocks(), clang::ASTReader::ReadNestedNameSpecifierLoc(), recoverFromTypeInKnownDependentBase(), clang::CodeGen::CodeGenFunction::ResolveBranchFixups(), clang::Sema::SubstituteExplicitTemplateArguments(), and clang::GlobalModuleIndex::writeIndex().

MatchFinder::MatchCallback* Callback
ASTContext* Context

Definition at line 727 of file ASTMatchFinder.cpp.

Referenced by clang::Sema::ActOnAttributedStmt(), clang::Sema::ActOnBreakStmt(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCapturedRegionStart(), clang::Sema::ActOnCaseStmt(), clang::Sema::ActOnCharacterConstant(), clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnCompoundStmt(), clang::Sema::ActOnContinueStmt(), clang::Sema::ActOnCXXBoolLiteral(), clang::Sema::ActOnCXXCatchBlock(), clang::Sema::ActOnCXXForRangeStmt(), clang::Sema::ActOnCXXNullPtrLiteral(), clang::Sema::ActOnCXXTryBlock(), clang::Sema::ActOnCXXTypeid(), clang::Sema::ActOnCXXUuidof(), clang::Sema::ActOnDeclStmt(), clang::Sema::ActOnDefaultStmt(), clang::Sema::ActOnDependentIdExpression(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnDependentTag(), clang::Sema::ActOnDependentTemplateName(), clang::Sema::ActOnDoStmt(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFinishSEHFinallyBlock(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnForStmt(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnGotoStmt(), clang::Sema::ActOnIdExpression(), clang::Sema::ActOnIfStmt(), clang::Sema::ActOnIndirectGotoStmt(), clang::Sema::ActOnIntegerConstant(), clang::Sema::ActOnLabelStmt(), clang::Sema::ActOnMSAsmStmt(), clang::Sema::ActOnMSDependentExistsStmt(), clang::Sema::ActOnMSVCUnknownTypeName(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnNullStmt(), clang::Sema::ActOnNumericConstant(), clang::Sema::ActOnObjCAtCatchStmt(), clang::Sema::ActOnObjCAtFinallyStmt(), clang::Sema::ActOnObjCAtSynchronizedStmt(), clang::Sema::ActOnObjCAtTryStmt(), clang::Sema::ActOnObjCAutoreleasePoolStmt(), clang::Sema::ActOnObjCBoolLiteral(), clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::ActOnSEHExceptBlock(), clang::Sema::ActOnSEHLeaveStmt(), clang::Sema::ActOnSEHTryBlock(), clang::Sema::ActOnStartOfLambdaDefinition(), clang::Sema::ActOnStartOfSwitchStmt(), clang::Sema::ActOnStringLiteral(), clang::Sema::ActOnTagFinishSkippedDefinition(), clang::Sema::ActOnTagTemplateIdType(), clang::Sema::ActOnTemplateIdType(), clang::Sema::ActOnTemplateParameterList(), clang::Sema::ActOnTemplateTemplateParameter(), clang::Sema::ActOnTranslationUnitScope(), clang::Sema::ActOnTypedefNameDecl(), clang::Sema::ActOnTypenameType(), clang::Sema::ActOnTypeParameter(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::ActOnVarTemplateSpecialization(), clang::Sema::ActOnWhileStmt(), addFieldSizes(), addLinkOptionsPostorder(), AddObjCBlockCall(), AddObjCKeyValueCompletions(), clang::CodeGen::CodeGenTypes::arrangeBlockFunctionDeclaration(), clang::CodeGen::CodeGenTypes::arrangeBuiltinFunctionCall(), clang::CodeGen::CodeGenTypes::arrangeBuiltinFunctionDeclaration(), clang::CodeGen::CodeGenTypes::arrangeCall(), clang::CodeGen::CodeGenTypes::arrangeCXXConstructorCall(), clang::CodeGen::CodeGenTypes::arrangeCXXMethodCall(), clang::CodeGen::CodeGenTypes::arrangeMSCtorClosure(), clang::CodeGen::CodeGenTypes::arrangeMSMemberPointerThunk(), clang::CodeGen::CodeGenTypes::arrangeObjCMessageSendSignature(), clang::CodeGen::CodeGenTypes::arrangeUnprototypedObjCMessageSend(), BitcodeInlineAsmDiagHandler(), BitsContainNoUserData(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildBlockForLambdaConversion(), clang::Sema::BuildCoreturnStmt(), clang::Sema::buildCoroutinePromise(), clang::Sema::BuildCoyieldExpr(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildCXXThrow(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildCXXUuidof(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildDeclRefExpr(), clang::Sema::BuildDependentDeclRefExpr(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildExpressionFromIntegralTemplateArgument(), clang::Sema::BuildFieldReferenceExpr(), clang::Sema::BuildIfStmt(), clang::Sema::BuildImplicitMemberExpr(), clang::Sema::buildInitCaptureField(), clang::Sema::BuildLambdaExpr(), clang::Sema::buildLambdaInitCaptureInitialization(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildMicrosoftCAnonymousStruct(), clang::Sema::BuildMSDependentExistsStmt(), buildNestedType(), clang::Sema::BuildObjCArrayLiteral(), clang::Sema::BuildObjCAtThrowStmt(), clang::Sema::BuildObjCBoxedExpr(), clang::Sema::BuildObjCDictionaryLiteral(), clang::Sema::BuildObjCNumericLiteral(), clang::Sema::BuildObjCStringLiteral(), clang::Sema::BuildObjCSubscriptExpression(), clang::Sema::BuildPredefinedExpr(), clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::BuildResolvedCoawaitExpr(), clang::Sema::BuildReturnStmt(), clang::Sema::BuildTemplateIdExpr(), clang::Sema::BuildUnresolvedCoawaitExpr(), clang::Sema::BuildVariableInstantiation(), clang::MinComplexityConstraint::calculateStmtComplexity(), clang::Sema::CallExprUnaryConversions(), clang::Sema::CaptureHasSideEffects(), CastsAwayConstness(), clang::Sema::CheckAddressOfMemberAccess(), clang::Sema::CheckAllocationAccess(), clang::Sema::CheckBaseClassAccess(), checkBuiltinTemplateIdType(), clang::Sema::CheckCastAlign(), clang::Sema::CheckClassTemplate(), clang::Sema::CheckCompletedCoroutineBody(), clang::Sema::CheckConstructorAccess(), clang::Sema::CheckCXXThrowOperand(), clang::Sema::CheckDependentFunctionTemplateSpecialization(), clang::Sema::CheckDestructorAccess(), clang::Sema::CheckFriendAccess(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::Sema::CheckLookupAccess(), clang::Sema::CheckMemberAccess(), clang::Sema::CheckMemberOperatorAccess(), clang::Sema::CheckMemberPointerConversion(), clang::Sema::CheckMemberSpecialization(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::Sema::CheckObjCForCollectionOperand(), CheckOriginalCallArgDeduction(), clang::Sema::CheckPointerConversion(), clang::Sema::checkPseudoObjectAssignment(), clang::Sema::checkPseudoObjectIncDec(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateArgumentList(), clang::Sema::CheckTemplateIdType(), clang::Sema::CheckTemplateParameterList(), clang::Sema::CheckTemplateTypeArgument(), clang::Sema::CheckTypedefForVariablyModifiedType(), clang::Sema::CheckTypenameType(), clang::Sema::CheckUnresolvedLookupAccess(), clang::Sema::CheckUnresolvedMemberAccess(), clang::Sema::CheckVarTemplateId(), clang::Sema::ClassifyName(), clang::Sema::CodeCompleteObjCMethodDecl(), clang::PredefinedExpr::ComputeName(), ConvertDeclSpecToType(), clang::Sema::ConvertDeclToDeclGroup(), clang::ClassTemplateSpecializationDecl::Create(), clang::ClassTemplatePartialSpecializationDecl::Create(), clang::FriendTemplateDecl::Create(), clang::VarTemplateSpecializationDecl::Create(), clang::VarTemplatePartialSpecializationDecl::Create(), clang::Sema::CreateCapturedStmtRecordDecl(), clang::Sema::CreateGenericSelectionExpr(), clang::Sema::createLambdaClosureType(), clang::Sema::createLambdaInitCaptureVarDecl(), clang::NamedDecl::declarationReplaces(), clang::Sema::DecomposeUnqualifiedId(), clang::Sema::deduceClosureReturnType(), clang::Sema::DeduceFunctionTypeFromReturnExpr(), clang::Sema::DefaultArgumentPromotion(), clang::Sema::DefaultFunctionArrayConversion(), clang::Sema::DefaultLvalueConversion(), clang::Sema::DiagnoseAssignmentEnum(), clang::Sema::diagnoseExprIntendedAsTemplateName(), clang::Sema::diagnoseQualifiedDeclaration(), clang::Sema::DiagnoseSentinelCalls(), clang::Sema::DiagnoseUninstantiableTemplate(), clang::Sema::DiagnoseUnknownTemplateName(), clang::Sema::DiagnoseUnknownTypeName(), clang::Sema::DiagnoseUnusedDecl(), clang::Sema::DiagnoseUnusedExprResult(), clang::FunctionDecl::doesDeclarationForceExternallyVisibleDefinition(), clang::CodeGen::CodeGenFunction::EmitAsanPrologueOrEpilogue(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), emitOMPAtomicRMW(), EmitSpecialRegisterBuiltin(), emitStructGetterCall(), clang::Sema::FilterAcceptableTemplateNames(), clang::Sema::FilterLookupForScope(), clang::Sema::FindInstantiatedDecl(), clang::Sema::findLocallyScopedExternCDecl(), clang::ClassTemplateDecl::findPartialSpecialization(), clang::FormatASTNodeDiagnosticArgument(), clang::Sema::FunctionParamTypesAreEqual(), generateByrefCopyHelper(), generateByrefDisposeHelper(), clang::ast_matchers::dynamic::Registry::getAcceptedCompletionTypes(), clang::ast_matchers::dynamic::Parser::RegistrySema::getAcceptedCompletionTypes(), getAllNamedNamespaces(), getBaseMessageSendResultType(), clang::FunctionDecl::getBuiltinID(), clang::CodeGen::CodeGenModule::getBuiltinLibFunction(), clang::Declarator::getContext(), clang::Sema::getCurrentMangleNumberContext(), clang::Sema::getCurrentThisType(), getDeclLanguageLinkage(), getDefiningModule(), clang::Sema::getDestructorName(), clang::Sema::getDestructorTypeForDecltype(), clang::CodeGen::CodeGenTypes::getExpandedTypes(), getExpansionSize(), GetFullTypeForDeclarator(), clang::Sema::getInheritingConstructorName(), clang::ClassTemplateDecl::getInjectedClassNameSpecialization(), clang::FunctionTemplateDecl::getInjectedTemplateArgs(), clang::Sema::getLocationOfStringLiteralByte(), getLVForLocalDecl(), getLVForNamespaceScopeDecl(), clang::Sema::GetNameFromUnqualifiedId(), clang::Sema::GetOrCreateMSAsmLabel(), clang::Sema::getTemplateInstantiationArgs(), clang::Sema::getTypeName(), clang::Decl::getVersionIntroduced(), clang::NestedNameSpecifier::GlobalSpecifier(), clang::Sema::HandleDependentAccessCheck(), clang::Sema::HandleFunctionTypeMismatch(), clang::BackendConsumer::HandleInlineFunctionDefinition(), clang::BackendConsumer::HandleTagDeclDefinition(), clang::Sema::handleTagNumbering(), clang::BackendConsumer::HandleTopLevelDecl(), clang::Sema::hasAnyAcceptableTemplateNames(), hasAnyVptr(), clang::Sema::hasMergedDefinitionInCurrentModule(), clang::Sema::hasVisibleMergedDefinition(), clang::Sema::inferObjCARCLifetime(), clang::BackendConsumer::Initialize(), clang::ASTReader::InitializeContext(), clang::InitializationSequence::InitializeFrom(), clang::Sema::InstantiateFunctionDefinition(), clang::Sema::IsBlockPointerConversion(), clang::Sema::isCopyElisionCandidate(), clang::Sema::IsFunctionConversion(), clang::Declarator::isFunctionDeclarationContext(), clang::Sema::isIncompatibleTypedef(), clang::FunctionDecl::isInlineDefinitionExternallyVisible(), isIntegerLikeType(), clang::Sema::IsIntegralPromotion(), clang::Sema::IsMemberPointerConversion(), clang::Sema::isMicrosoftMissingTypename(), clang::FunctionDecl::isMSExternInline(), clang::Sema::isObjCPointerConversion(), clang::Sema::isObjCWritebackConversion(), clang::Sema::IsOverload(), clang::Sema::IsPointerConversion(), clang::Declarator::isPrototypeContext(), clang::Sema::IsQualificationConversion(), clang::FunctionDecl::isReservedGlobalPlacementOperator(), clang::Sema::IsSimplyAccessible(), isSingleElementStruct(), clang::Sema::isSpecialMemberAccessibleForDeletion(), clang::Sema::isTemplateName(), clang::Sema::isValidVarArgType(), clang::Sema::LazilyCreateBuiltin(), clang::FunctionTemplateDecl::LoadLazySpecializations(), clang::ClassTemplateDecl::LoadLazySpecializations(), clang::VarTemplateDecl::LoadLazySpecializations(), clang::Sema::LookupInlineAsmField(), clang::Sema::LookupInlineAsmIdentifier(), clang::Sema::LookupInlineAsmVarDeclField(), clang::Sema::LookupInObjCMethod(), clang::ModuleMap::lookupModuleUnqualified(), LookupObjCInterfaceDeclForLiteral(), LookupPredefedObjCSuperType(), clang::Sema::LookupQualifiedName(), clang::MakeDeductionFailureInfo(), clang::Sema::makeMergedDefinitionVisible(), MatchesFriend(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), clang::Declarator::mayBeFollowedByCXXDirectInit(), clang::Declarator::mayHaveDecompositionDeclarator(), clang::Declarator::mayHaveIdentifier(), clang::RecordDecl::mayInsertExtraPadding(), clang::Declarator::mayOmitIdentifier(), clang::Sema::MergeCompatibleFunctionDecls(), clang::Sema::mergeDeclAttributes(), clang::Sema::MergeFunctionDecl(), clang::Sema::MergeTypedefNameDecl(), clang::Sema::MergeVarDeclTypes(), clang::Decl::operator new(), clang::Sema::ParsedFreeStandingDeclSpec(), clang::Sema::ParseObjCStringLiteral(), clang::Sema::PerformMoveOrCopyInitialization(), clang::Sema::PerformObjectMemberConversion(), clang::DependentTypeOfExprType::Profile(), clang::ASTReader::ReadAttributes(), clang::OMPClauseReader::readClause(), clang::ASTReader::ReadCXXCtorInitializers(), clang::ASTReader::ReadTemplateArgument(), clang::TreeTransform< Derived >::RebuildCXXCatchStmt(), clang::TreeTransform< Derived >::RebuildCXXDefaultArgExpr(), clang::TreeTransform< Derived >::RebuildCXXDefaultInitExpr(), clang::Sema::RebuildNestedNameSpecifierInCurrentInstantiation(), clang::TreeTransform< Derived >::RebuildObjCIsaExpr(), clang::TreeTransform< Derived >::RebuildObjCPropertyRefExpr(), clang::TreeTransform< Derived >::RebuildUnresolvedUsingType(), recoverFromTypeInKnownDependentBase(), clang::Sema::recreateSyntacticForm(), clang::Sema::RegisterLocallyScopedExternCDecl(), clang::LookupResult::resolveKind(), clang::Sema::SemaBuiltinShuffleVector(), clang::Sema::SemaConvertVectorExpr(), clang::ExternalASTSource::SetExternalVisibleDeclsForName(), clang::ExternalASTSource::SetNoExternalVisibleDeclsForName(), clang::Sema::setTagNameForLinkagePurposes(), clang::QualifierInfo::setTemplateParameterListsInfo(), clang::Sema::ShouldWarnIfUnusedFileScopedDecl(), clang::Sema::startLambdaDefinition(), TryToFixInvalidVariablyModifiedTypeSourceInfo(), clang::Sema::UsualArithmeticConversions(), clang::Sema::UsualUnaryConversions(), clang::ASTDeclWriter::VisitCXXRecordDecl(), clang::ASTDeclWriter::VisitDeclContext(), clang::ASTDeclWriter::VisitFieldDecl(), clang::ASTNodeImporter::VisitFriendDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), clang::ASTDeclWriter::VisitUsingDecl(), and clang::ASTDeclWriter::VisitUsingShadowDecl().

int CurrentDepth

Definition at line 296 of file ASTMatchFinder.cpp.

int* Depth
MatchFinder* Finder
const DynTypedMatcher* const Matcher
llvm::DenseMap<ast_type_traits::ASTNodeKind, std::vector<unsigned short> > MatcherFiltersMap

Filtered list of matcher indices for each matcher kind.

Decl and Stmt toplevel matchers usually apply to a specific node kind (and derived kinds) so it is a waste to try every matcher on every node. We precalculate a list of matchers that pass the toplevel restrict check. This also allows us to skip the restrict check at matching time. See use matchesNoKindCheck() above.

Definition at line 763 of file ASTMatchFinder.cpp.

DynTypedMatcher::MatcherIDType MatcherID

Definition at line 60 of file ASTMatchFinder.cpp.

const MatchFinder::MatchersByType* Matchers
bool Matches
const int MaxDepth

Definition at line 297 of file ASTMatchFinder.cpp.

ast_type_traits::DynTypedNode Node
BoundNodesTreeBuilder Nodes

Definition at line 73 of file ASTMatchFinder.cpp.

Referenced by clang::ASTNodeImporter::VisitOffsetOfExpr().

const MatchFinder::MatchFinderOptions& Options

Definition at line 765 of file ASTMatchFinder.cpp.

Referenced by clang::ento::ExprEngine::defaultEvalCall().

MatchFinder::ParsingDoneTestCallback* ParsingDone

Definition at line 911 of file ASTMatchFinder.cpp.

BoundNodesTreeBuilder ResultBindings

Definition at line 295 of file ASTMatchFinder.cpp.

MemoizationMap ResultCache

Definition at line 773 of file ASTMatchFinder.cpp.

bool ResultOfMatch

Definition at line 72 of file ASTMatchFinder.cpp.

llvm::StringMap<llvm::TimeRecord> TimeByBucket

Bucket to record map.

Used to get the appropriate bucket for each matcher.

Definition at line 750 of file ASTMatchFinder.cpp.

const ASTMatchFinder::TraversalKind Traversal

Definition at line 298 of file ASTMatchFinder.cpp.

llvm::DenseMap<const Type*, std::set<const TypedefNameDecl*> > TypeAliases

Definition at line 769 of file ASTMatchFinder.cpp.