clang
3.7.0
|
#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>
Go to the source code of this file.
Namespaces | |
clang | |
clang::ast_matchers | |
clang::ast_matchers::internal | |
ASTContext* ActiveASTContext |
Definition at line 746 of file ASTMatchFinder.cpp.
const ASTMatchFinder::BindKind Bind |
Definition at line 290 of file ASTMatchFinder.cpp.
Referenced by clang::Sema::ActOnDecltypeExpression(), and clang::Sema::MaybeBindToTemporary().
BoundNodesTreeBuilder BoundNodes |
Definition at line 62 of file ASTMatchFinder.cpp.
llvm::TimeRecord* Bucket |
Definition at line 520 of file ASTMatchFinder.cpp.
Referenced by clang::HeaderMap::lookupFilename().
BoundNodesTreeBuilder* const Builder |
Definition at line 285 of file ASTMatchFinder.cpp.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::ActOnDelayedDefaultTemplateArg(), clang::Sema::ActOnTypenameType(), addDataFlowSanitizerPass(), addMemorySanitizerPass(), AddObjCExpressionResults(), AddObjCImplementationResults(), AddObjCKeyValueCompletions(), AddObjCProperties(), AddObjCStatementResults(), AddObjCTopLevelResults(), AddOrdinaryNameResults(), addSampleProfileLoaderPass(), addSanitizerCoveragePass(), 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::CodeGenFunction::BuildBlockByrefAddress(), clang::CodeGen::CodeGenFunction::BuildBlockRelease(), clang::CFG::buildCFG(), clang::ASTContext::BuildMicrosoftASTRecordLayout(), buildNestedType(), clang::Sema::BuildUsingDeclaration(), 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(), clang::ItaniumVTableContext::createConstructionVTableLayout(), clang::CodeGen::CodeGenFunction::DeactivateCleanupBlock(), DefineTypeSize(), clang::Sema::Diag(), EmitAArch64TblBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitBlockCallExpr(), clang::CodeGen::CodeGenFunction::EmitBlockLiteral(), clang::CodeGen::CodeGenFunction::EmitBoundsCheck(), clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenFunction::emitByrefStructureInit(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallArg(), clang::CodeGen::CodeGenFunction::EmitCallExpr(), clang::CodeGen::CodeGenFunction::EmitCallOrInvoke(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), 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(), clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), 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::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitLValueForFieldInitialization(), clang::CodeGen::CodeGenFunction::EmitNonNullArgCheck(), emitNonZeroVLAInit(), clang::CodeGen::CodeGenFunction::EmitNoreturnRuntimeCallOrInvoke(), 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::EmitUnaryOpLValue(), clang::CodeGen::CodeGenVTables::EmitVTTDefinition(), FinishTemplateArgumentDeduction(), clang::Sema::FinishTemplateArgumentDeduction(), clang::Sema::GatherGlobalCodeCompletions(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), clang::CodeGen::CodeGenFunction::GetAddrOfBlockDecl(), clang::CodeGen::CodeGenVTables::GetAddrOfVTT(), clang::ASTContext::getASTRecordLayout(), clang::CodeGen::CodeGenFunction::getNormalCleanupDestSlot(), clang::CodeGen::CodeGenVTables::getSecondaryVirtualPointerIndex(), clang::CodeGen::CodeGenVTables::getSubVTTIndex(), getTrivialTemplateArgumentLoc(), clang::Sema::getTypeName(), clang::ItaniumVTableContext::getVirtualBaseOffsetOffset(), 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::ASTReader::ReadNestedNameSpecifierLoc(), recoverFromTypeInKnownDependentBase(), clang::CodeGen::CodeGenFunction::ResolveBranchFixups(), clang::Sema::SubstituteExplicitTemplateArguments(), and clang::GlobalModuleIndex::writeIndex().
MatchFinder::MatchCallback* Callback |
Definition at line 708 of file ASTMatchFinder.cpp.
Referenced by clang::driver::toolchains::Linux::AddClangSystemIncludeArgs(), clang::ASTContext::AddDeallocation(), clang::DependencyFileGenerator::CreateAndAttachToPreprocessor(), and clang::ast_matchers::match().
ASTContext* Context |
Definition at line 707 of file ASTMatchFinder.cpp.
Referenced by clang::Sema::ActOnAddrLabel(), clang::Sema::ActOnArraySubscriptExpr(), clang::Sema::ActOnAsTypeExpr(), clang::Sema::ActOnAttributedStmt(), clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnBlockStart(), clang::Sema::ActOnBlockStmtExpr(), clang::Sema::ActOnBreakStmt(), clang::Sema::ActOnBuiltinOffsetOf(), clang::Sema::ActOnCallExpr(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCapturedRegionStart(), clang::Sema::ActOnCaseStmt(), clang::Sema::ActOnCharacterConstant(), clang::Sema::ActOnChooseExpr(), clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnCompoundLiteral(), clang::Sema::ActOnCompoundStmt(), clang::Sema::ActOnConditionalOp(), 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::ActOnDelayedDefaultTemplateArg(), clang::Sema::ActOnDependentIdExpression(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnDependentTag(), clang::Sema::ActOnDependentTemplateName(), clang::Sema::ActOnDocumentableDecls(), clang::Sema::ActOnDoStmt(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFinishKNRParamDeclarations(), clang::Sema::ActOnFinishSEHFinallyBlock(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnForStmt(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnGNUNullExpr(), clang::Sema::ActOnGotoStmt(), clang::Sema::ActOnIdExpression(), clang::Sema::ActOnIfStmt(), clang::Sema::ActOnIndirectGotoStmt(), clang::Sema::ActOnInitializerError(), clang::Sema::ActOnInitList(), clang::Sema::ActOnIntegerConstant(), clang::Sema::ActOnIvar(), clang::Sema::ActOnLabelStmt(), clang::Sema::ActOnLastBitfield(), clang::Sema::ActOnMSAsmStmt(), clang::Sema::ActOnMSDependentExistsStmt(), 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::ActOnParamDeclarator(), clang::Sema::ActOnParenExpr(), clang::Sema::ActOnParenListExpr(), clang::Sema::ActOnSEHExceptBlock(), clang::Sema::ActOnSEHLeaveStmt(), clang::Sema::ActOnSEHTryBlock(), clang::Sema::ActOnStartCXXMemberDeclarations(), clang::Sema::ActOnStartOfFunctionDef(), clang::Sema::ActOnStartOfLambdaDefinition(), clang::Sema::ActOnStartOfSwitchStmt(), clang::Sema::ActOnStmtExpr(), clang::Sema::ActOnStringLiteral(), clang::Sema::ActOnTag(), 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::ActOnUninitializedDecl(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::ActOnVarTemplateSpecialization(), clang::Sema::ActOnWhileStmt(), clang::Sema::AddInitializerToDecl(), clang::Sema::AddKnownFunctionAttributes(), AddObjCKeyValueCompletions(), BitsContainNoUserData(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildBlockForLambdaConversion(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCompoundLiteralExpr(), clang::Sema::BuildCXXDefaultArgExpr(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildCXXThrow(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildCXXUuidof(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildDeclaratorGroup(), clang::Sema::BuildDeclRefExpr(), clang::Sema::BuildDependentDeclRefExpr(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildExpressionFromIntegralTemplateArgument(), clang::Sema::BuildImplicitMemberExpr(), clang::Sema::buildInitCaptureField(), clang::Sema::BuildLambdaExpr(), 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::BuildParmVarDeclForTypedef(), clang::Sema::BuildPredefinedExpr(), clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildReturnStmt(), clang::Sema::BuildTemplateIdExpr(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildVectorLiteral(), clang::Sema::CallExprUnaryConversions(), canExpandIndirectArgument(), CastsAwayConstness(), clang::Sema::CheckAdditionOperands(), clang::Sema::CheckAddressOfMemberAccess(), clang::Sema::CheckAddressOfOperand(), clang::Sema::CheckAllocationAccess(), clang::Sema::CheckAssignmentConstraints(), clang::Sema::CheckAssignmentOperands(), clang::Sema::CheckBaseClassAccess(), clang::Sema::CheckClassTemplate(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCompleteVariableDeclaration(), clang::Sema::CheckConstructorAccess(), clang::Sema::CheckCXXThrowOperand(), clang::Sema::CheckDependentFunctionTemplateSpecialization(), clang::Sema::CheckDestructorAccess(), clang::Sema::CheckEnumConstant(), clang::Sema::CheckEnumRedeclaration(), clang::Sema::CheckFieldDecl(), clang::Sema::CheckForConstantInitializer(), clang::Sema::CheckFriendAccess(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::Sema::CheckLogicalOperands(), clang::Sema::CheckLookupAccess(), clang::Sema::CheckMain(), clang::Sema::CheckMemberAccess(), clang::Sema::CheckMemberOperatorAccess(), clang::Sema::CheckMemberPointerConversion(), clang::Sema::CheckMemberSpecialization(), clang::Sema::CheckMultiplyDivideOperands(), clang::Sema::CheckNontrivialField(), clang::Sema::CheckNonTypeTemplateParameterType(), clang::Sema::CheckObjCForCollectionOperand(), CheckOriginalCallArgDeduction(), clang::Sema::CheckParameter(), clang::Sema::CheckPointerConversion(), clang::Sema::checkPseudoObjectAssignment(), clang::Sema::checkPseudoObjectIncDec(), clang::Sema::CheckRemainderOperands(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::CheckStaticArrayArgument(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateArgumentList(), clang::Sema::CheckTemplateIdType(), clang::Sema::CheckTemplateParameterList(), clang::Sema::CheckTemplateTypeArgument(), clang::Sema::CheckTransparentUnionArgumentConstraints(), clang::Sema::CheckTypedefForVariablyModifiedType(), clang::Sema::CheckTypenameType(), clang::Sema::CheckUnaryExprOrTypeTraitOperand(), clang::Sema::CheckUnresolvedLookupAccess(), clang::Sema::CheckUnresolvedMemberAccess(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CheckVarTemplateId(), clang::Sema::CheckVectorCompareOperands(), clang::Sema::CheckVectorOperands(), clang::Sema::ClassifyName(), clang::Sema::CodeCompleteObjCMethodDecl(), clang::PredefinedExpr::ComputeName(), clang::Sema::ConvertArgumentsForCall(), ConvertDeclSpecToType(), clang::Sema::ConvertDeclToDeclGroup(), clang::ClassTemplateSpecializationDecl::Create(), clang::ClassTemplatePartialSpecializationDecl::Create(), clang::FriendTemplateDecl::Create(), clang::VarTemplateSpecializationDecl::Create(), clang::VarTemplatePartialSpecializationDecl::Create(), clang::CompilerInstance::createASTContext(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CreateCapturedStmtRecordDecl(), clang::Sema::CreateGenericSelectionExpr(), clang::Sema::createLambdaClosureType(), clang::Sema::createLambdaInitCaptureVarDecl(), clang::CompilerInstance::createModuleManager(), clang::TemplateArgument::CreatePackCopy(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), 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::DiagnoseConditionalForNull(), clang::Sema::DiagnoseEmptyLookup(), clang::Declarator::diagnoseIdentifier(), clang::Sema::diagnoseQualifiedDeclaration(), clang::Sema::DiagnoseSentinelCalls(), clang::Sema::DiagnoseSizeOfParametersAndReturnValue(), clang::Sema::DiagnoseUnknownTemplateName(), clang::Sema::DiagnoseUnknownTypeName(), clang::Sema::DiagnoseUnusedDecl(), clang::Sema::DiagnoseUnusedExprResult(), clang::FunctionDecl::doesDeclarationForceExternallyVisibleDefinition(), clang::CodeGen::CodeGenFunction::EmitAsanPrologueOrEpilogue(), EmitDeclInit(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), emitOMPAtomicRMW(), clang::BackendConsumer::EmitOptimizationMessage(), EmitSpecialRegisterBuiltin(), emitStructGetterCall(), clang::Sema::FilterAcceptableTemplateNames(), clang::Sema::FilterLookupForScope(), clang::Sema::FinalizeDeclaration(), findAnonymousStructOrUnionIndex(), clang::Sema::FindAssociatedClassesAndNamespaces(), clang::Sema::FindCompositeObjCPointerType(), clang::ASTReader::FindExternalVisibleDeclsByName(), clang::Sema::findLocallyScopedExternCDecl(), clang::ClassTemplateDecl::findPartialSpecialization(), clang::FormatASTNodeDiagnosticArgument(), clang::Sema::FunctionParamTypesAreEqual(), clang::Sema::GatherArgumentsForCall(), GenerateInjectedTemplateArgs(), clang::ast_matchers::dynamic::Registry::getAcceptedCompletionTypes(), clang::ast_matchers::dynamic::Parser::RegistrySema::getAcceptedCompletionTypes(), getBaseMessageSendResultType(), clang::FunctionDecl::getBuiltinID(), clang::CodeGen::CodeGenModule::getBuiltinLibFunction(), clang::Declarator::getContext(), clang::Sema::getCurrentMangleNumberContext(), clang::Sema::getCurrentThisType(), getDeclLanguageLinkage(), getDefiningModule(), clang::Sema::getDestructorName(), clang::Sema::getDestructorType(), clang::ASTReader::GetExistingDecl(), clang::ASTReader::GetExternalCXXBaseSpecifiers(), GetFullTypeForDeclarator(), clang::Sema::getInheritingConstructorName(), clang::ClassTemplateDecl::getInjectedClassNameSpecialization(), clang::Sema::getLocationOfStringLiteralByte(), getLVForLocalDecl(), getLVForNamespaceScopeDecl(), clang::Sema::GetNameFromUnqualifiedId(), clang::Sema::GetOrCreateMSAsmLabel(), clang::Sema::GetSignedVectorType(), clang::Sema::getTemplateInstantiationArgs(), clang::ASTReader::GetType(), clang::Sema::getTypeName(), clang::Sema::getVariadicCallType(), clang::NestedNameSpecifier::GlobalSpecifier(), clang::Sema::HandleDependentAccessCheck(), clang::Sema::HandleField(), clang::Sema::HandleFunctionTypeMismatch(), clang::BackendConsumer::HandleInlineMethodDefinition(), clang::BackendConsumer::HandleTagDeclDefinition(), clang::Sema::handleTagNumbering(), clang::BackendConsumer::HandleTopLevelDecl(), clang::Sema::hasAnyAcceptableTemplateNames(), clang::Sema::hasVisibleMergedDefinition(), clang::Sema::ImplicitlyDefineFunction(), clang::Sema::inferObjCARCLifetime(), clang::BackendConsumer::Initialize(), clang::ASTReader::InitializeContext(), clang::InitializationSequence::InitializeFrom(), clang::BackendConsumer::InlineAsmDiagHandler2(), clang::Sema::IsBlockPointerConversion(), clang::Sema::isCopyElisionCandidate(), clang::Declarator::isFunctionDeclarationContext(), clang::ASTReader::isGlobalIndexUnavailable(), clang::Sema::isIncompatibleTypedef(), clang::FunctionDecl::isInlineDefinitionExternallyVisible(), isIntegerLikeType(), clang::Sema::IsIntegralPromotion(), clang::Sema::isLaxVectorConversion(), clang::Sema::IsMemberPointerConversion(), clang::Sema::isMicrosoftMissingTypename(), clang::FunctionDecl::isMSExternInline(), clang::Sema::IsNoReturnConversion(), 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::LLVM_ALIGNAS(), clang::ASTUnit::LoadFromASTFile(), clang::ASTReader::loadGlobalIndex(), clang::FunctionTemplateDecl::LoadLazySpecializations(), clang::ClassTemplateDecl::LoadLazySpecializations(), clang::VarTemplateDecl::LoadLazySpecializations(), clang::Sema::LookupConstructors(), clang::Sema::LookupInlineAsmField(), clang::Sema::LookupInlineAsmIdentifier(), clang::Sema::LookupInObjCMethod(), clang::Sema::LookupInSuper(), clang::Sema::LookupLiteralOperator(), clang::ModuleMap::lookupModuleUnqualified(), clang::Sema::LookupOrCreateLabel(), clang::Sema::LookupOverloadedOperatorName(), LookupPredefedObjCSuperType(), clang::Sema::LookupQualifiedName(), clang::Sema::LookupSpecialMember(), clang::Sema::LookupVisibleDecls(), clang::MakeDeductionFailureInfo(), clang::Sema::makeMergedDefinitionVisible(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), clang::Sema::maybeExtendBlockObject(), clang::Declarator::mayBeFollowedByCXXDirectInit(), clang::Declarator::mayHaveIdentifier(), clang::RecordDecl::mayInsertExtraPadding(), clang::Declarator::mayOmitIdentifier(), clang::Sema::MergeCompatibleFunctionDecls(), clang::Sema::mergeDeclAttributes(), clang::Sema::MergeFunctionDecl(), clang::Sema::MergeTypedefNameDecl(), clang::Sema::MergeVarDeclTypes(), newDeclIDList(), clang::Decl::operator new(), clang::Sema::ParsedFreeStandingDeclSpec(), clang::Sema::ParseObjCStringLiteral(), clang::Sema::ParseTypedefDecl(), clang::Sema::performLambdaInitCaptureInitialization(), clang::Sema::PerformMoveOrCopyInitialization(), clang::Sema::PerformObjectMemberConversion(), clang::Sema::PrepareScalarCast(), clang::DependentTypeOfExprType::Profile(), clang::ASTReader::ReadAST(), clang::OMPClauseReader::readClause(), clang::TreeTransform< Derived >::RebuildCXXCatchStmt(), clang::TreeTransform< Derived >::RebuildCXXDefaultArgExpr(), clang::TreeTransform< Derived >::RebuildCXXDefaultInitExpr(), clang::Sema::RebuildNestedNameSpecifierInCurrentInstantiation(), clang::TreeTransform< Derived >::RebuildObjCIsaExpr(), clang::TreeTransform< Derived >::RebuildObjCPropertyRefExpr(), recoverFromTypeInKnownDependentBase(), clang::Sema::recreateSyntacticForm(), clang::Sema::RegisterLocallyScopedExternCDecl(), clang::LookupResult::resolveKind(), clang::Sema::SemaBuiltinShuffleVector(), clang::Sema::SemaConvertVectorExpr(), clang::CompilerInstance::setASTContext(), 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::Sema::VerifyBitField(), clang::ASTDeclWriter::VisitCXXRecordDecl(), clang::ASTDeclWriter::VisitFieldDecl(), clang::ASTDeclWriter::VisitObjCMethodDecl(), clang::ASTDeclWriter::VisitRedeclarable(), clang::ASTDeclWriter::VisitUsingDecl(), and clang::ASTDeclWriter::VisitUsingShadowDecl().
int CurrentDepth |
Definition at line 287 of file ASTMatchFinder.cpp.
int* Depth |
Definition at line 211 of file ASTMatchFinder.cpp.
Referenced by clang::Sema::ActOnNonTypeTemplateParameter(), clang::Sema::ActOnTemplateTemplateParameter(), clang::Sema::ActOnTypeParameter(), buildSingleCopyAssignRecursively(), clang::Sema::CheckParameterPacksForExpansion(), clang::Sema::CheckTemplateIdType(), clang::TemplateParmPosition::getDepth(), clang::comments::TParamCommandComment::getIndex(), clang::Sema::getNumArgumentsInExpansion(), clang::MultiLevelTemplateArgumentList::hasTemplateArgument(), isSameAsPrimaryTemplate(), MarkUsedTemplateParameters(), clang::Sema::RecordParsingTemplateParameterDepth(), ScanFormat(), and clang::TemplateParmPosition::setDepth().
MatchFinder* Finder |
Definition at line 284 of file ASTMatchFinder.cpp.
Referenced by 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(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD(), clang::Sema::CheckTemplateArgument(), clang::Sema::checkThisInStaticMemberFunctionAttributes(), clang::Sema::checkThisInStaticMemberFunctionExceptionSpec(), clang::Sema::checkThisInStaticMemberFunctionType(), clang::CodeGen::CodeGenFunction::EmitCapturedLocals(), clang::Expr::hasNonTrivialCall(), clang::Expr::HasSideEffects(), and clang::ast_matchers::match().
const DynTypedMatcher* const Matcher |
Definition at line 283 of file ASTMatchFinder.cpp.
Referenced by clang::threadSafety::til::MatchComparator::compareExprs().
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 743 of file ASTMatchFinder.cpp.
DynTypedMatcher::MatcherIDType MatcherID |
Definition at line 60 of file ASTMatchFinder.cpp.
const MatchFinder::MatchersByType* Matchers |
Definition at line 732 of file ASTMatchFinder.cpp.
Referenced by clang::ast_matchers::dynamic::internal::outvalueToVariantMatcher().
bool Matches |
Definition at line 291 of file ASTMatchFinder.cpp.
Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::FindAllocationFunctions(), clang::Sema::FindDeallocationFunction(), and clang::Sema::FindUsualDeallocationFunction().
const int MaxDepth |
Definition at line 288 of file ASTMatchFinder.cpp.
ast_type_traits::DynTypedNode Node |
Definition at line 61 of file ASTMatchFinder.cpp.
Referenced by clang::format::AnnotatedLine::AnnotatedLine(), clang::ast_matchers::AST_MATCHER(), 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(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD(), clang::CodeGen::CodeGenFunction::EmitCheck(), clang::CodeGen::CodeGenFunction::EmitX86BuiltinExpr(), clang::ento::CoreEngine::ExecuteWorkList(), clang::DeltaTree::getDeltaAt(), llvm::DOTGraphTraits< const CallGraph * >::getNodeLabel(), clang::CallGraph::getOrInsertNode(), clang::format::printDebugInfo(), clang::ento::ExprEngine::processCallEnter(), clang::tooling::ReplaceIfStmtWithItsBody::run(), clang::ast_matchers::selectFirst(), clang::CodeGen::CodeGenFunction::SetFPAccuracy(), and clang::ento::ExprEngine::VisitCXXBindTemporaryExpr().
BoundNodesTreeBuilder Nodes |
Definition at line 73 of file ASTMatchFinder.cpp.
const MatchFinder::MatchFinderOptions& Options |
Definition at line 745 of file ASTMatchFinder.cpp.
Referenced by clang::ento::ExprEngine::defaultEvalCall().
MatchFinder::ParsingDoneTestCallback* ParsingDone |
Definition at line 894 of file ASTMatchFinder.cpp.
BoundNodesTreeBuilder ResultBindings |
Definition at line 286 of file ASTMatchFinder.cpp.
MemoizationMap ResultCache |
Definition at line 753 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 730 of file ASTMatchFinder.cpp.
const ASTMatchFinder::TraversalKind Traversal |
Definition at line 289 of file ASTMatchFinder.cpp.
llvm::DenseMap<const Type*, std::set<const TypedefNameDecl*> > TypeAliases |
Definition at line 749 of file ASTMatchFinder.cpp.