/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h
Line | Count | Source |
1 | | //== Checker.h - Registration mechanism for checkers -------------*- C++ -*--=// |
2 | | // |
3 | | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | | // See https://llvm.org/LICENSE.txt for license information. |
5 | | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | | // |
7 | | //===----------------------------------------------------------------------===// |
8 | | // |
9 | | // This file defines Checker, used to create and register checkers. |
10 | | // |
11 | | //===----------------------------------------------------------------------===// |
12 | | |
13 | | #ifndef LLVM_CLANG_STATICANALYZER_CORE_CHECKER_H |
14 | | #define LLVM_CLANG_STATICANALYZER_CORE_CHECKER_H |
15 | | |
16 | | #include "clang/Analysis/ProgramPoint.h" |
17 | | #include "clang/Basic/LangOptions.h" |
18 | | #include "clang/StaticAnalyzer/Core/CheckerManager.h" |
19 | | #include "clang/StaticAnalyzer/Core/PathSensitive/SVals.h" |
20 | | #include "llvm/Support/Casting.h" |
21 | | |
22 | | namespace clang { |
23 | | namespace ento { |
24 | | class BugReporter; |
25 | | |
26 | | namespace check { |
27 | | |
28 | | template <typename DECL> |
29 | | class ASTDecl { |
30 | | template <typename CHECKER> |
31 | | static void _checkDecl(void *checker, const Decl *D, AnalysisManager& mgr, |
32 | 630 | BugReporter &BR) { |
33 | 630 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); |
34 | 630 | } CheckObjCDealloc.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_checkDecl<(anonymous namespace)::ObjCDeallocChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 126 | BugReporter &BR) { | 33 | 126 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 126 | } |
CheckObjCInstMethSignature.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_checkDecl<(anonymous namespace)::ObjCMethSigsChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 14 | BugReporter &BR) { | 33 | 14 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 14 | } |
Unexecuted instantiation: DebugCheckers.cpp:void clang::ento::check::ASTDecl<clang::TranslationUnitDecl>::_checkDecl<(anonymous namespace)::CallGraphViewer>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) DebugCheckers.cpp:void clang::ento::check::ASTDecl<clang::TranslationUnitDecl>::_checkDecl<(anonymous namespace)::CallGraphDumper>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 1 | BugReporter &BR) { | 33 | 1 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 1 | } |
DirectIvarAssignment.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_checkDecl<(anonymous namespace)::DirectIvarAssignment>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 2 | BugReporter &BR) { | 33 | 2 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 2 | } |
IvarInvalidationChecker.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_checkDecl<(anonymous namespace)::IvarInvalidationChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 28 | BugReporter &BR) { | 33 | 28 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 28 | } |
LLVMConventionsChecker.cpp:void clang::ento::check::ASTDecl<clang::CXXRecordDecl>::_checkDecl<(anonymous namespace)::LLVMConventionsChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 14 | BugReporter &BR) { | 33 | 14 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 14 | } |
LocalizationChecker.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_checkDecl<(anonymous namespace)::EmptyLocalizationContextChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 1 | BugReporter &BR) { | 33 | 1 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 1 | } |
NSErrorChecker.cpp:void clang::ento::check::ASTDecl<clang::ObjCMethodDecl>::_checkDecl<(anonymous namespace)::NSErrorMethodChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 86 | BugReporter &BR) { | 33 | 86 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 86 | } |
NSErrorChecker.cpp:void clang::ento::check::ASTDecl<clang::FunctionDecl>::_checkDecl<(anonymous namespace)::CFErrorFunctionChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 304 | BugReporter &BR) { | 33 | 304 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 304 | } |
ObjCMissingSuperCallChecker.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_checkDecl<(anonymous namespace)::ObjCSuperCallChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 17 | BugReporter &BR) { | 33 | 17 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 17 | } |
ObjCPropertyChecker.cpp:void clang::ento::check::ASTDecl<clang::ObjCPropertyDecl>::_checkDecl<(anonymous namespace)::ObjCPropertyChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 18 | BugReporter &BR) { | 33 | 18 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 18 | } |
ObjCUnusedIVarsChecker.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_checkDecl<(anonymous namespace)::ObjCUnusedIvarsChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 14 | BugReporter &BR) { | 33 | 14 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 14 | } |
PaddingChecker.cpp:void clang::ento::check::ASTDecl<clang::TranslationUnitDecl>::_checkDecl<(anonymous namespace)::PaddingChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 32 | 5 | BugReporter &BR) { | 33 | 5 | ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR); | 34 | 5 | } |
|
35 | | |
36 | 1.26k | static bool _handlesDecl(const Decl *D) { |
37 | 1.26k | return isa<DECL>(D); |
38 | 1.26k | } clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_handlesDecl(clang::Decl const*) Line | Count | Source | 36 | 743 | static bool _handlesDecl(const Decl *D) { | 37 | 743 | return isa<DECL>(D); | 38 | 743 | } |
clang::ento::check::ASTDecl<clang::TranslationUnitDecl>::_handlesDecl(clang::Decl const*) Line | Count | Source | 36 | 40 | static bool _handlesDecl(const Decl *D) { | 37 | 40 | return isa<DECL>(D); | 38 | 40 | } |
clang::ento::check::ASTDecl<clang::CXXRecordDecl>::_handlesDecl(clang::Decl const*) Line | Count | Source | 36 | 19 | static bool _handlesDecl(const Decl *D) { | 37 | 19 | return isa<DECL>(D); | 38 | 19 | } |
clang::ento::check::ASTDecl<clang::ObjCMethodDecl>::_handlesDecl(clang::Decl const*) Line | Count | Source | 36 | 155 | static bool _handlesDecl(const Decl *D) { | 37 | 155 | return isa<DECL>(D); | 38 | 155 | } |
clang::ento::check::ASTDecl<clang::FunctionDecl>::_handlesDecl(clang::Decl const*) Line | Count | Source | 36 | 155 | static bool _handlesDecl(const Decl *D) { | 37 | 155 | return isa<DECL>(D); | 38 | 155 | } |
clang::ento::check::ASTDecl<clang::ObjCPropertyDecl>::_handlesDecl(clang::Decl const*) Line | Count | Source | 36 | 155 | static bool _handlesDecl(const Decl *D) { | 37 | 155 | return isa<DECL>(D); | 38 | 155 | } |
|
39 | | public: |
40 | | template <typename CHECKER> |
41 | 189 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
42 | 189 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, |
43 | 189 | _checkDecl<CHECKER>), |
44 | 189 | _handlesDecl); |
45 | 189 | } CheckObjCDealloc.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 28 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 28 | _checkDecl<CHECKER>), | 44 | 28 | _handlesDecl); | 45 | 28 | } |
CheckObjCInstMethSignature.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_register<(anonymous namespace)::ObjCMethSigsChecker>((anonymous namespace)::ObjCMethSigsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 25 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 25 | _checkDecl<CHECKER>), | 44 | 25 | _handlesDecl); | 45 | 25 | } |
Unexecuted instantiation: DebugCheckers.cpp:void clang::ento::check::ASTDecl<clang::TranslationUnitDecl>::_register<(anonymous namespace)::CallGraphViewer>((anonymous namespace)::CallGraphViewer*, clang::ento::CheckerManager&) DebugCheckers.cpp:void clang::ento::check::ASTDecl<clang::TranslationUnitDecl>::_register<(anonymous namespace)::CallGraphDumper>((anonymous namespace)::CallGraphDumper*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 1 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 1 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 1 | _checkDecl<CHECKER>), | 44 | 1 | _handlesDecl); | 45 | 1 | } |
DirectIvarAssignment.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_register<(anonymous namespace)::DirectIvarAssignment>((anonymous namespace)::DirectIvarAssignment*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 3 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 3 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 3 | _checkDecl<CHECKER>), | 44 | 3 | _handlesDecl); | 45 | 3 | } |
IvarInvalidationChecker.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_register<(anonymous namespace)::IvarInvalidationChecker>((anonymous namespace)::IvarInvalidationChecker*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 3 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 3 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 3 | _checkDecl<CHECKER>), | 44 | 3 | _handlesDecl); | 45 | 3 | } |
LLVMConventionsChecker.cpp:void clang::ento::check::ASTDecl<clang::CXXRecordDecl>::_register<(anonymous namespace)::LLVMConventionsChecker>((anonymous namespace)::LLVMConventionsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 2 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 2 | _checkDecl<CHECKER>), | 44 | 2 | _handlesDecl); | 45 | 2 | } |
LocalizationChecker.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_register<(anonymous namespace)::EmptyLocalizationContextChecker>((anonymous namespace)::EmptyLocalizationContextChecker*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 1 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 1 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 1 | _checkDecl<CHECKER>), | 44 | 1 | _handlesDecl); | 45 | 1 | } |
NSErrorChecker.cpp:void clang::ento::check::ASTDecl<clang::ObjCMethodDecl>::_register<(anonymous namespace)::NSErrorMethodChecker>((anonymous namespace)::NSErrorMethodChecker*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 24 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 24 | _checkDecl<CHECKER>), | 44 | 24 | _handlesDecl); | 45 | 24 | } |
NSErrorChecker.cpp:void clang::ento::check::ASTDecl<clang::FunctionDecl>::_register<(anonymous namespace)::CFErrorFunctionChecker>((anonymous namespace)::CFErrorFunctionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 24 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 24 | _checkDecl<CHECKER>), | 44 | 24 | _handlesDecl); | 45 | 24 | } |
ObjCMissingSuperCallChecker.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_register<(anonymous namespace)::ObjCSuperCallChecker>((anonymous namespace)::ObjCSuperCallChecker*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 24 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 24 | _checkDecl<CHECKER>), | 44 | 24 | _handlesDecl); | 45 | 24 | } |
ObjCPropertyChecker.cpp:void clang::ento::check::ASTDecl<clang::ObjCPropertyDecl>::_register<(anonymous namespace)::ObjCPropertyChecker>((anonymous namespace)::ObjCPropertyChecker*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 24 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 24 | _checkDecl<CHECKER>), | 44 | 24 | _handlesDecl); | 45 | 24 | } |
ObjCUnusedIVarsChecker.cpp:void clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>::_register<(anonymous namespace)::ObjCUnusedIvarsChecker>((anonymous namespace)::ObjCUnusedIvarsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 24 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 24 | _checkDecl<CHECKER>), | 44 | 24 | _handlesDecl); | 45 | 24 | } |
PaddingChecker.cpp:void clang::ento::check::ASTDecl<clang::TranslationUnitDecl>::_register<(anonymous namespace)::PaddingChecker>((anonymous namespace)::PaddingChecker*, clang::ento::CheckerManager&) Line | Count | Source | 41 | 6 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 42 | 6 | mgr._registerForDecl(CheckerManager::CheckDeclFunc(checker, | 43 | 6 | _checkDecl<CHECKER>), | 44 | 6 | _handlesDecl); | 45 | 6 | } |
|
46 | | }; |
47 | | |
48 | | class ASTCodeBody { |
49 | | template <typename CHECKER> |
50 | | static void _checkBody(void *checker, const Decl *D, AnalysisManager& mgr, |
51 | 7.47k | BugReporter &BR) { |
52 | 7.47k | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); |
53 | 7.47k | } CStringSyntaxChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::CStringSyntaxChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 1.34k | BugReporter &BR) { | 52 | 1.34k | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 1.34k | } |
CastToStructChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::CastToStructChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 1.29k | BugReporter &BR) { | 52 | 1.29k | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 1.29k | } |
CheckSecuritySyntaxOnly.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::SecuritySyntaxChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 174 | BugReporter &BR) { | 52 | 174 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 174 | } |
CheckSizeofPointer.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::SizeofPointerChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 1.04k | BugReporter &BR) { | 52 | 1.04k | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 1.04k | } |
CloneChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::CloneChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 93 | BugReporter &BR) { | 52 | 93 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 93 | } |
DeadStoresChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::DeadStoresChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 467 | BugReporter &BR) { | 52 | 467 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 467 | } |
DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::DominatorsTreeDumper>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 7 | BugReporter &BR) { | 52 | 7 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 7 | } |
DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::PostDominatorsTreeDumper>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 7 | BugReporter &BR) { | 52 | 7 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 7 | } |
DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::ControlDependencyTreeDumper>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 7 | BugReporter &BR) { | 52 | 7 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 7 | } |
Unexecuted instantiation: DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::LiveVariablesDumper>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::LiveStatementsDumper>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 5 | BugReporter &BR) { | 52 | 5 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 5 | } |
Unexecuted instantiation: DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::CFGViewer>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::CFGDumper>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 670 | BugReporter &BR) { | 52 | 670 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 670 | } |
GCDAntipatternChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::GCDAntipatternChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 79 | BugReporter &BR) { | 52 | 79 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 79 | } |
IdenticalExprChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::FindIdenticalExprChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 1.26k | BugReporter &BR) { | 52 | 1.26k | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 1.26k | } |
LLVMConventionsChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::LLVMConventionsChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 9 | BugReporter &BR) { | 52 | 9 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 9 | } |
LocalizationChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::PluralMisuseChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 18 | BugReporter &BR) { | 52 | 18 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 18 | } |
MallocOverflowSecurityChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::MallocOverflowSecurityChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 25 | BugReporter &BR) { | 52 | 25 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 25 | } |
MallocSizeofChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::MallocSizeofChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 129 | BugReporter &BR) { | 52 | 129 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 129 | } |
NumberObjectConversionChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::NumberObjectConversionChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 230 | BugReporter &BR) { | 52 | 230 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 230 | } |
ObjCAutoreleaseWriteChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::ObjCAutoreleaseWriteChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 216 | BugReporter &BR) { | 52 | 216 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 216 | } |
ObjCContainersASTChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::ObjCContainersASTChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 188 | BugReporter &BR) { | 52 | 188 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 188 | } |
OSObjectCStyleCast.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::OSObjectCStyleCastChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 9 | BugReporter &BR) { | 52 | 9 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 9 | } |
PointerIterationChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::PointerIterationChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 5 | BugReporter &BR) { | 52 | 5 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 5 | } |
PointerSortingChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::PointerSortingChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 7 | BugReporter &BR) { | 52 | 7 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 7 | } |
RunLoopAutoreleaseLeakChecker.cpp:void clang::ento::check::ASTCodeBody::_checkBody<(anonymous namespace)::RunLoopAutoreleaseLeakChecker>(void*, clang::Decl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 51 | 189 | BugReporter &BR) { | 52 | 189 | ((const CHECKER *)checker)->checkASTCodeBody(D, mgr, BR); | 53 | 189 | } |
|
54 | | |
55 | | public: |
56 | | template <typename CHECKER> |
57 | 545 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
58 | 545 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, |
59 | 545 | _checkBody<CHECKER>)); |
60 | 545 | } CStringSyntaxChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::CStringSyntaxChecker>((anonymous namespace)::CStringSyntaxChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 52 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 52 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 52 | _checkBody<CHECKER>)); | 60 | 52 | } |
CastToStructChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::CastToStructChecker>((anonymous namespace)::CastToStructChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 75 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 75 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 75 | _checkBody<CHECKER>)); | 60 | 75 | } |
CheckSecuritySyntaxOnly.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::SecuritySyntaxChecker>((anonymous namespace)::SecuritySyntaxChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 22 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 22 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 22 | _checkBody<CHECKER>)); | 60 | 22 | } |
CheckSizeofPointer.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::SizeofPointerChecker>((anonymous namespace)::SizeofPointerChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 70 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 70 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 70 | _checkBody<CHECKER>)); | 60 | 70 | } |
CloneChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::CloneChecker>((anonymous namespace)::CloneChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 28 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 28 | _checkBody<CHECKER>)); | 60 | 28 | } |
DeadStoresChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::DeadStoresChecker>((anonymous namespace)::DeadStoresChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 31 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 31 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 31 | _checkBody<CHECKER>)); | 60 | 31 | } |
DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::DominatorsTreeDumper>((anonymous namespace)::DominatorsTreeDumper*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 2 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 2 | _checkBody<CHECKER>)); | 60 | 2 | } |
DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::PostDominatorsTreeDumper>((anonymous namespace)::PostDominatorsTreeDumper*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 2 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 2 | _checkBody<CHECKER>)); | 60 | 2 | } |
DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::ControlDependencyTreeDumper>((anonymous namespace)::ControlDependencyTreeDumper*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 2 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 2 | _checkBody<CHECKER>)); | 60 | 2 | } |
Unexecuted instantiation: DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::LiveVariablesDumper>((anonymous namespace)::LiveVariablesDumper*, clang::ento::CheckerManager&) DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::LiveStatementsDumper>((anonymous namespace)::LiveStatementsDumper*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 1 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 1 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 1 | _checkBody<CHECKER>)); | 60 | 1 | } |
Unexecuted instantiation: DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::CFGViewer>((anonymous namespace)::CFGViewer*, clang::ento::CheckerManager&) DebugCheckers.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::CFGDumper>((anonymous namespace)::CFGDumper*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 33 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 33 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 33 | _checkBody<CHECKER>)); | 60 | 33 | } |
GCDAntipatternChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::GCDAntipatternChecker>((anonymous namespace)::GCDAntipatternChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 5 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 5 | _checkBody<CHECKER>)); | 60 | 5 | } |
IdenticalExprChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::FindIdenticalExprChecker>((anonymous namespace)::FindIdenticalExprChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 70 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 70 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 70 | _checkBody<CHECKER>)); | 60 | 70 | } |
LLVMConventionsChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::LLVMConventionsChecker>((anonymous namespace)::LLVMConventionsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 2 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 2 | _checkBody<CHECKER>)); | 60 | 2 | } |
LocalizationChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::PluralMisuseChecker>((anonymous namespace)::PluralMisuseChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 2 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 2 | _checkBody<CHECKER>)); | 60 | 2 | } |
MallocOverflowSecurityChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::MallocOverflowSecurityChecker>((anonymous namespace)::MallocOverflowSecurityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 5 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 5 | _checkBody<CHECKER>)); | 60 | 5 | } |
MallocSizeofChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::MallocSizeofChecker>((anonymous namespace)::MallocSizeofChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 27 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 27 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 27 | _checkBody<CHECKER>)); | 60 | 27 | } |
NumberObjectConversionChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::NumberObjectConversionChecker>((anonymous namespace)::NumberObjectConversionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 32 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 32 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 32 | _checkBody<CHECKER>)); | 60 | 32 | } |
ObjCAutoreleaseWriteChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::ObjCAutoreleaseWriteChecker>((anonymous namespace)::ObjCAutoreleaseWriteChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 25 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 25 | _checkBody<CHECKER>)); | 60 | 25 | } |
ObjCContainersASTChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::ObjCContainersASTChecker>((anonymous namespace)::ObjCContainersASTChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 25 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 25 | _checkBody<CHECKER>)); | 60 | 25 | } |
OSObjectCStyleCast.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::OSObjectCStyleCastChecker>((anonymous namespace)::OSObjectCStyleCastChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 1 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 1 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 1 | _checkBody<CHECKER>)); | 60 | 1 | } |
PointerIterationChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::PointerIterationChecker>((anonymous namespace)::PointerIterationChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 2 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 2 | _checkBody<CHECKER>)); | 60 | 2 | } |
PointerSortingChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::PointerSortingChecker>((anonymous namespace)::PointerSortingChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 2 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 2 | _checkBody<CHECKER>)); | 60 | 2 | } |
RunLoopAutoreleaseLeakChecker.cpp:void clang::ento::check::ASTCodeBody::_register<(anonymous namespace)::RunLoopAutoreleaseLeakChecker>((anonymous namespace)::RunLoopAutoreleaseLeakChecker*, clang::ento::CheckerManager&) Line | Count | Source | 57 | 29 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 58 | 29 | mgr._registerForBody(CheckerManager::CheckDeclFunc(checker, | 59 | 29 | _checkBody<CHECKER>)); | 60 | 29 | } |
|
61 | | }; |
62 | | |
63 | | class EndOfTranslationUnit { |
64 | | template <typename CHECKER> |
65 | | static void _checkEndOfTranslationUnit(void *checker, |
66 | | const TranslationUnitDecl *TU, |
67 | | AnalysisManager& mgr, |
68 | 34 | BugReporter &BR) { |
69 | 34 | ((const CHECKER *)checker)->checkEndOfTranslationUnit(TU, mgr, BR); |
70 | 34 | } CloneChecker.cpp:void clang::ento::check::EndOfTranslationUnit::_checkEndOfTranslationUnit<(anonymous namespace)::CloneChecker>(void*, clang::TranslationUnitDecl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 68 | 28 | BugReporter &BR) { | 69 | 28 | ((const CHECKER *)checker)->checkEndOfTranslationUnit(TU, mgr, BR); | 70 | 28 | } |
DebugCheckers.cpp:void clang::ento::check::EndOfTranslationUnit::_checkEndOfTranslationUnit<(anonymous namespace)::ConfigDumper>(void*, clang::TranslationUnitDecl const*, clang::ento::AnalysisManager&, clang::ento::BugReporter&) Line | Count | Source | 68 | 6 | BugReporter &BR) { | 69 | 6 | ((const CHECKER *)checker)->checkEndOfTranslationUnit(TU, mgr, BR); | 70 | 6 | } |
|
71 | | |
72 | | public: |
73 | | template <typename CHECKER> |
74 | 34 | static void _register(CHECKER *checker, CheckerManager &mgr){ |
75 | 34 | mgr._registerForEndOfTranslationUnit( |
76 | 34 | CheckerManager::CheckEndOfTranslationUnit(checker, |
77 | 34 | _checkEndOfTranslationUnit<CHECKER>)); |
78 | 34 | } CloneChecker.cpp:void clang::ento::check::EndOfTranslationUnit::_register<(anonymous namespace)::CloneChecker>((anonymous namespace)::CloneChecker*, clang::ento::CheckerManager&) Line | Count | Source | 74 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr){ | 75 | 28 | mgr._registerForEndOfTranslationUnit( | 76 | 28 | CheckerManager::CheckEndOfTranslationUnit(checker, | 77 | 28 | _checkEndOfTranslationUnit<CHECKER>)); | 78 | 28 | } |
DebugCheckers.cpp:void clang::ento::check::EndOfTranslationUnit::_register<(anonymous namespace)::ConfigDumper>((anonymous namespace)::ConfigDumper*, clang::ento::CheckerManager&) Line | Count | Source | 74 | 6 | static void _register(CHECKER *checker, CheckerManager &mgr){ | 75 | 6 | mgr._registerForEndOfTranslationUnit( | 76 | 6 | CheckerManager::CheckEndOfTranslationUnit(checker, | 77 | 6 | _checkEndOfTranslationUnit<CHECKER>)); | 78 | 6 | } |
|
79 | | }; |
80 | | |
81 | | template <typename STMT> |
82 | | class PreStmt { |
83 | | template <typename CHECKER> |
84 | 436k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { |
85 | 436k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); |
86 | 436k | } AnalysisOrderChecker.cpp:void clang::ento::check::PreStmt<clang::CastExpr>::_checkStmt<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 12 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 12 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 12 | } |
Unexecuted instantiation: AnalysisOrderChecker.cpp:void clang::ento::check::PreStmt<clang::ArraySubscriptExpr>::_checkStmt<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) AnalysisOrderChecker.cpp:void clang::ento::check::PreStmt<clang::CXXNewExpr>::_checkStmt<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 2 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 2 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 2 | } |
AnalysisOrderChecker.cpp:void clang::ento::check::PreStmt<clang::OffsetOfExpr>::_checkStmt<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 1 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 1 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 1 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::CFNumberChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 248 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 248 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 248 | } |
CStringChecker.cpp:void clang::ento::check::PreStmt<clang::DeclStmt>::_checkStmt<(anonymous namespace)::CStringChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 9.38k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 9.38k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 9.38k | } |
CallAndMessageChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::CallAndMessageChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 50.5k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 50.5k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 50.5k | } |
CallAndMessageChecker.cpp:void clang::ento::check::PreStmt<clang::CXXDeleteExpr>::_checkStmt<(anonymous namespace)::CallAndMessageChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 441 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 441 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 441 | } |
CastSizeChecker.cpp:void clang::ento::check::PreStmt<clang::CastExpr>::_checkStmt<(anonymous namespace)::CastSizeChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 7.85k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 7.85k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 7.85k | } |
CheckObjCDealloc.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_checkStmt<(anonymous namespace)::ObjCDeallocChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 209 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 209 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 209 | } |
ConversionChecker.cpp:void clang::ento::check::PreStmt<clang::ImplicitCastExpr>::_checkStmt<(anonymous namespace)::ConversionChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 9.92k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 9.92k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 9.92k | } |
DebugCheckers.cpp:void clang::ento::check::PreStmt<clang::Stmt>::_checkStmt<(anonymous namespace)::ReportStmts>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 6 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 6 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 6 | } |
DeleteWithNonVirtualDtorChecker.cpp:void clang::ento::check::PreStmt<clang::CXXDeleteExpr>::_checkStmt<(anonymous namespace)::DeleteWithNonVirtualDtorChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 23 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 23 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 23 | } |
DivZeroChecker.cpp:void clang::ento::check::PreStmt<clang::BinaryOperator>::_checkStmt<(anonymous namespace)::DivZeroChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 68.5k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 68.5k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 68.5k | } |
EnumCastOutOfRangeChecker.cpp:void clang::ento::check::PreStmt<clang::CastExpr>::_checkStmt<(anonymous namespace)::EnumCastOutOfRangeChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 165 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 165 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 165 | } |
FixedAddressChecker.cpp:void clang::ento::check::PreStmt<clang::BinaryOperator>::_checkStmt<(anonymous namespace)::FixedAddressChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 2.31k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 2.31k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 2.31k | } |
GenericTaintChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::GenericTaintChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 802 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 802 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 802 | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::MacOSKeychainAPIChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 313 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 313 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 313 | } |
MacOSXAPIChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::MacOSXAPIChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 452 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 452 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 452 | } |
MallocChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_checkStmt<(anonymous namespace)::MallocChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 6.39k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 6.39k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 6.39k | } |
MallocChecker.cpp:void clang::ento::check::PreStmt<clang::CXXDeleteExpr>::_checkStmt<(anonymous namespace)::MallocChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 413 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 413 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 413 | } |
MIGChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_checkStmt<(anonymous namespace)::MIGChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 100 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 100 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 100 | } |
NullabilityChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_checkStmt<(anonymous namespace)::NullabilityChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 338 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 338 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 338 | } |
ObjCAtSyncChecker.cpp:void clang::ento::check::PreStmt<clang::ObjCAtSynchronizedStmt>::_checkStmt<(anonymous namespace)::ObjCAtSyncChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 14 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 14 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 14 | } |
ObjCContainersChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::ObjCContainersChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 297 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 297 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 297 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_checkStmt<(anonymous namespace)::ObjCSelfInitChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 220 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 220 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 220 | } |
PointerArithChecker.cpp:void clang::ento::check::PreStmt<clang::BinaryOperator>::_checkStmt<(anonymous namespace)::PointerArithChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 40.5k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 40.5k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 40.5k | } |
PointerArithChecker.cpp:void clang::ento::check::PreStmt<clang::UnaryOperator>::_checkStmt<(anonymous namespace)::PointerArithChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 11.2k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 11.2k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 11.2k | } |
PointerArithChecker.cpp:void clang::ento::check::PreStmt<clang::ArraySubscriptExpr>::_checkStmt<(anonymous namespace)::PointerArithChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 386 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 386 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 386 | } |
PointerArithChecker.cpp:void clang::ento::check::PreStmt<clang::CastExpr>::_checkStmt<(anonymous namespace)::PointerArithChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 142k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 142k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 142k | } |
PointerSubChecker.cpp:void clang::ento::check::PreStmt<clang::BinaryOperator>::_checkStmt<(anonymous namespace)::PointerSubChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 2.31k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 2.31k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 2.31k | } |
ReturnPointerRangeChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_checkStmt<(anonymous namespace)::ReturnPointerRangeChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 283 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 283 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 283 | } |
ReturnUndefChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_checkStmt<(anonymous namespace)::ReturnUndefChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 20.7k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 20.7k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 20.7k | } |
StackAddrEscapeChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_checkStmt<(anonymous namespace)::StackAddrEscapeChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 20.7k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 20.7k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 20.7k | } |
TestAfterDivZeroChecker.cpp:void clang::ento::check::PreStmt<clang::BinaryOperator>::_checkStmt<(anonymous namespace)::TestAfterDivZeroChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 2.15k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 2.15k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 2.15k | } |
UndefinedArraySubscriptChecker.cpp:void clang::ento::check::PreStmt<clang::ArraySubscriptExpr>::_checkStmt<(anonymous namespace)::UndefinedArraySubscriptChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 9.62k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 9.62k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 9.62k | } |
UnixAPIChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::UnixAPIMisuseChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 270 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 270 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 270 | } |
UnixAPIChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::UnixAPIPortabilityChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 95 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 95 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 95 | } |
VforkChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_checkStmt<(anonymous namespace)::VforkChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 70 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 70 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 70 | } |
VLASizeChecker.cpp:void clang::ento::check::PreStmt<clang::DeclStmt>::_checkStmt<(anonymous namespace)::VLASizeChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 25.8k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 25.8k | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 25.8k | } |
ValistChecker.cpp:void clang::ento::check::PreStmt<clang::VAArgExpr>::_checkStmt<(anonymous namespace)::ValistChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 84 | 49 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 85 | 49 | ((const CHECKER *)checker)->checkPreStmt(cast<STMT>(S), C); | 86 | 49 | } |
|
87 | | |
88 | 56.1k | static bool _handlesStmt(const Stmt *S) { |
89 | 56.1k | return isa<STMT>(S); |
90 | 56.1k | } clang::ento::check::PreStmt<clang::CastExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 1.24k | static bool _handlesStmt(const Stmt *S) { | 89 | 1.24k | return isa<STMT>(S); | 90 | 1.24k | } |
clang::ento::check::PreStmt<clang::ArraySubscriptExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 6.79k | static bool _handlesStmt(const Stmt *S) { | 89 | 6.79k | return isa<STMT>(S); | 90 | 6.79k | } |
clang::ento::check::PreStmt<clang::CXXNewExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 37 | static bool _handlesStmt(const Stmt *S) { | 89 | 37 | return isa<STMT>(S); | 90 | 37 | } |
clang::ento::check::PreStmt<clang::OffsetOfExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 37 | static bool _handlesStmt(const Stmt *S) { | 89 | 37 | return isa<STMT>(S); | 90 | 37 | } |
clang::ento::check::PreStmt<clang::CallExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 7.00k | static bool _handlesStmt(const Stmt *S) { | 89 | 7.00k | return isa<STMT>(S); | 90 | 7.00k | } |
clang::ento::check::PreStmt<clang::DeclStmt>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 8.08k | static bool _handlesStmt(const Stmt *S) { | 89 | 8.08k | return isa<STMT>(S); | 90 | 8.08k | } |
clang::ento::check::PreStmt<clang::CXXDeleteExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 7.95k | static bool _handlesStmt(const Stmt *S) { | 89 | 7.95k | return isa<STMT>(S); | 90 | 7.95k | } |
clang::ento::check::PreStmt<clang::ReturnStmt>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 14.7k | static bool _handlesStmt(const Stmt *S) { | 89 | 14.7k | return isa<STMT>(S); | 90 | 14.7k | } |
clang::ento::check::PreStmt<clang::ImplicitCastExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 649 | static bool _handlesStmt(const Stmt *S) { | 89 | 649 | return isa<STMT>(S); | 90 | 649 | } |
clang::ento::check::PreStmt<clang::Stmt>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 6 | static bool _handlesStmt(const Stmt *S) { | 89 | 6 | return isa<STMT>(S); | 90 | 6 | } |
clang::ento::check::PreStmt<clang::BinaryOperator>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 8.77k | static bool _handlesStmt(const Stmt *S) { | 89 | 8.77k | return isa<STMT>(S); | 90 | 8.77k | } |
clang::ento::check::PreStmt<clang::ObjCAtSynchronizedStmt>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 75 | static bool _handlesStmt(const Stmt *S) { | 89 | 75 | return isa<STMT>(S); | 90 | 75 | } |
clang::ento::check::PreStmt<clang::UnaryOperator>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 692 | static bool _handlesStmt(const Stmt *S) { | 89 | 692 | return isa<STMT>(S); | 90 | 692 | } |
clang::ento::check::PreStmt<clang::VAArgExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 88 | 51 | static bool _handlesStmt(const Stmt *S) { | 89 | 51 | return isa<STMT>(S); | 90 | 51 | } |
|
91 | | public: |
92 | | template <typename CHECKER> |
93 | 6.25k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
94 | 6.25k | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, |
95 | 6.25k | _checkStmt<CHECKER>), |
96 | 6.25k | _handlesStmt); |
97 | 6.25k | } AnalysisOrderChecker.cpp:void clang::ento::check::PreStmt<clang::CastExpr>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 8 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 8 | _checkStmt<CHECKER>), | 96 | 8 | _handlesStmt); | 97 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::check::PreStmt<clang::ArraySubscriptExpr>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 8 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 8 | _checkStmt<CHECKER>), | 96 | 8 | _handlesStmt); | 97 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::check::PreStmt<clang::CXXNewExpr>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 8 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 8 | _checkStmt<CHECKER>), | 96 | 8 | _handlesStmt); | 97 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::check::PreStmt<clang::OffsetOfExpr>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 8 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 8 | _checkStmt<CHECKER>), | 96 | 8 | _handlesStmt); | 97 | 8 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_register<(anonymous namespace)::CFNumberChecker>((anonymous namespace)::CFNumberChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 24 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 24 | _checkStmt<CHECKER>), | 96 | 24 | _handlesStmt); | 97 | 24 | } |
CStringChecker.cpp:void clang::ento::check::PreStmt<clang::DeclStmt>::_register<(anonymous namespace)::CStringChecker>((anonymous namespace)::CStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 198 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 198 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 198 | _checkStmt<CHECKER>), | 96 | 198 | _handlesStmt); | 97 | 198 | } |
CallAndMessageChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_register<(anonymous namespace)::CallAndMessageChecker>((anonymous namespace)::CallAndMessageChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 675 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 675 | _checkStmt<CHECKER>), | 96 | 675 | _handlesStmt); | 97 | 675 | } |
CallAndMessageChecker.cpp:void clang::ento::check::PreStmt<clang::CXXDeleteExpr>::_register<(anonymous namespace)::CallAndMessageChecker>((anonymous namespace)::CallAndMessageChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 675 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 675 | _checkStmt<CHECKER>), | 96 | 675 | _handlesStmt); | 97 | 675 | } |
CastSizeChecker.cpp:void clang::ento::check::PreStmt<clang::CastExpr>::_register<(anonymous namespace)::CastSizeChecker>((anonymous namespace)::CastSizeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 60 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 60 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 60 | _checkStmt<CHECKER>), | 96 | 60 | _handlesStmt); | 97 | 60 | } |
CheckObjCDealloc.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 28 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 28 | _checkStmt<CHECKER>), | 96 | 28 | _handlesStmt); | 97 | 28 | } |
ConversionChecker.cpp:void clang::ento::check::PreStmt<clang::ImplicitCastExpr>::_register<(anonymous namespace)::ConversionChecker>((anonymous namespace)::ConversionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 70 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 70 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 70 | _checkStmt<CHECKER>), | 96 | 70 | _handlesStmt); | 97 | 70 | } |
DebugCheckers.cpp:void clang::ento::check::PreStmt<clang::Stmt>::_register<(anonymous namespace)::ReportStmts>((anonymous namespace)::ReportStmts*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 1 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 1 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 1 | _checkStmt<CHECKER>), | 96 | 1 | _handlesStmt); | 97 | 1 | } |
DeleteWithNonVirtualDtorChecker.cpp:void clang::ento::check::PreStmt<clang::CXXDeleteExpr>::_register<(anonymous namespace)::DeleteWithNonVirtualDtorChecker>((anonymous namespace)::DeleteWithNonVirtualDtorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 2 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 2 | _checkStmt<CHECKER>), | 96 | 2 | _handlesStmt); | 97 | 2 | } |
DivZeroChecker.cpp:void clang::ento::check::PreStmt<clang::BinaryOperator>::_register<(anonymous namespace)::DivZeroChecker>((anonymous namespace)::DivZeroChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 682 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 682 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 682 | _checkStmt<CHECKER>), | 96 | 682 | _handlesStmt); | 97 | 682 | } |
EnumCastOutOfRangeChecker.cpp:void clang::ento::check::PreStmt<clang::CastExpr>::_register<(anonymous namespace)::EnumCastOutOfRangeChecker>((anonymous namespace)::EnumCastOutOfRangeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 2 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 2 | _checkStmt<CHECKER>), | 96 | 2 | _handlesStmt); | 97 | 2 | } |
FixedAddressChecker.cpp:void clang::ento::check::PreStmt<clang::BinaryOperator>::_register<(anonymous namespace)::FixedAddressChecker>((anonymous namespace)::FixedAddressChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 71 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 71 | _checkStmt<CHECKER>), | 96 | 71 | _handlesStmt); | 97 | 71 | } |
GenericTaintChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_register<(anonymous namespace)::GenericTaintChecker>((anonymous namespace)::GenericTaintChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 14 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 14 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 14 | _checkStmt<CHECKER>), | 96 | 14 | _handlesStmt); | 97 | 14 | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_register<(anonymous namespace)::MacOSKeychainAPIChecker>((anonymous namespace)::MacOSKeychainAPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 25 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 25 | _checkStmt<CHECKER>), | 96 | 25 | _handlesStmt); | 97 | 25 | } |
MacOSXAPIChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_register<(anonymous namespace)::MacOSXAPIChecker>((anonymous namespace)::MacOSXAPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 28 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 28 | _checkStmt<CHECKER>), | 96 | 28 | _handlesStmt); | 97 | 28 | } |
MallocChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 179 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 179 | _checkStmt<CHECKER>), | 96 | 179 | _handlesStmt); | 97 | 179 | } |
MallocChecker.cpp:void clang::ento::check::PreStmt<clang::CXXDeleteExpr>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 179 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 179 | _checkStmt<CHECKER>), | 96 | 179 | _handlesStmt); | 97 | 179 | } |
MIGChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_register<(anonymous namespace)::MIGChecker>((anonymous namespace)::MIGChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 24 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 24 | _checkStmt<CHECKER>), | 96 | 24 | _handlesStmt); | 97 | 24 | } |
NullabilityChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 23 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 23 | _checkStmt<CHECKER>), | 96 | 23 | _handlesStmt); | 97 | 23 | } |
ObjCAtSyncChecker.cpp:void clang::ento::check::PreStmt<clang::ObjCAtSynchronizedStmt>::_register<(anonymous namespace)::ObjCAtSyncChecker>((anonymous namespace)::ObjCAtSyncChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 8 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 8 | _checkStmt<CHECKER>), | 96 | 8 | _handlesStmt); | 97 | 8 | } |
ObjCContainersChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_register<(anonymous namespace)::ObjCContainersChecker>((anonymous namespace)::ObjCContainersChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 24 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 24 | _checkStmt<CHECKER>), | 96 | 24 | _handlesStmt); | 97 | 24 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 26 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 26 | _checkStmt<CHECKER>), | 96 | 26 | _handlesStmt); | 97 | 26 | } |
PointerArithChecker.cpp:void clang::ento::check::PreStmt<clang::BinaryOperator>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 73 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 73 | _checkStmt<CHECKER>), | 96 | 73 | _handlesStmt); | 97 | 73 | } |
PointerArithChecker.cpp:void clang::ento::check::PreStmt<clang::UnaryOperator>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 73 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 73 | _checkStmt<CHECKER>), | 96 | 73 | _handlesStmt); | 97 | 73 | } |
PointerArithChecker.cpp:void clang::ento::check::PreStmt<clang::ArraySubscriptExpr>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 73 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 73 | _checkStmt<CHECKER>), | 96 | 73 | _handlesStmt); | 97 | 73 | } |
PointerArithChecker.cpp:void clang::ento::check::PreStmt<clang::CastExpr>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 73 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 73 | _checkStmt<CHECKER>), | 96 | 73 | _handlesStmt); | 97 | 73 | } |
PointerSubChecker.cpp:void clang::ento::check::PreStmt<clang::BinaryOperator>::_register<(anonymous namespace)::PointerSubChecker>((anonymous namespace)::PointerSubChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 71 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 71 | _checkStmt<CHECKER>), | 96 | 71 | _handlesStmt); | 97 | 71 | } |
ReturnPointerRangeChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_register<(anonymous namespace)::ReturnPointerRangeChecker>((anonymous namespace)::ReturnPointerRangeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 4 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 4 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 4 | _checkStmt<CHECKER>), | 96 | 4 | _handlesStmt); | 97 | 4 | } |
ReturnUndefChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_register<(anonymous namespace)::ReturnUndefChecker>((anonymous namespace)::ReturnUndefChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 676 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 676 | _checkStmt<CHECKER>), | 96 | 676 | _handlesStmt); | 97 | 676 | } |
StackAddrEscapeChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_register<(anonymous namespace)::StackAddrEscapeChecker>((anonymous namespace)::StackAddrEscapeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 675 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 675 | _checkStmt<CHECKER>), | 96 | 675 | _handlesStmt); | 97 | 675 | } |
TestAfterDivZeroChecker.cpp:void clang::ento::check::PreStmt<clang::BinaryOperator>::_register<(anonymous namespace)::TestAfterDivZeroChecker>((anonymous namespace)::TestAfterDivZeroChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 71 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 71 | _checkStmt<CHECKER>), | 96 | 71 | _handlesStmt); | 97 | 71 | } |
UndefinedArraySubscriptChecker.cpp:void clang::ento::check::PreStmt<clang::ArraySubscriptExpr>::_register<(anonymous namespace)::UndefinedArraySubscriptChecker>((anonymous namespace)::UndefinedArraySubscriptChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 675 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 675 | _checkStmt<CHECKER>), | 96 | 675 | _handlesStmt); | 97 | 675 | } |
UnixAPIChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_register<(anonymous namespace)::UnixAPIMisuseChecker>((anonymous namespace)::UnixAPIMisuseChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 30 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 30 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 30 | _checkStmt<CHECKER>), | 96 | 30 | _handlesStmt); | 97 | 30 | } |
UnixAPIChecker.cpp:void clang::ento::check::PreStmt<clang::CallExpr>::_register<(anonymous namespace)::UnixAPIPortabilityChecker>((anonymous namespace)::UnixAPIPortabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 3 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 3 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 3 | _checkStmt<CHECKER>), | 96 | 3 | _handlesStmt); | 97 | 3 | } |
VforkChecker.cpp:void clang::ento::check::PreStmt<clang::ReturnStmt>::_register<(anonymous namespace)::VforkChecker>((anonymous namespace)::VforkChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 27 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 27 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 27 | _checkStmt<CHECKER>), | 96 | 27 | _handlesStmt); | 97 | 27 | } |
VLASizeChecker.cpp:void clang::ento::check::PreStmt<clang::DeclStmt>::_register<(anonymous namespace)::VLASizeChecker>((anonymous namespace)::VLASizeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 675 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 675 | _checkStmt<CHECKER>), | 96 | 675 | _handlesStmt); | 97 | 675 | } |
ValistChecker.cpp:void clang::ento::check::PreStmt<clang::VAArgExpr>::_register<(anonymous namespace)::ValistChecker>((anonymous namespace)::ValistChecker*, clang::ento::CheckerManager&) Line | Count | Source | 93 | 7 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 94 | 7 | mgr._registerForPreStmt(CheckerManager::CheckStmtFunc(checker, | 95 | 7 | _checkStmt<CHECKER>), | 96 | 7 | _handlesStmt); | 97 | 7 | } |
|
98 | | }; |
99 | | |
100 | | template <typename STMT> |
101 | | class PostStmt { |
102 | | template <typename CHECKER> |
103 | 560k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { |
104 | 560k | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); |
105 | 560k | } AnalysisOrderChecker.cpp:void clang::ento::check::PostStmt<clang::CastExpr>::_checkStmt<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 12 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 12 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 12 | } |
Unexecuted instantiation: AnalysisOrderChecker.cpp:void clang::ento::check::PostStmt<clang::ArraySubscriptExpr>::_checkStmt<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) AnalysisOrderChecker.cpp:void clang::ento::check::PostStmt<clang::CXXNewExpr>::_checkStmt<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 2 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 2 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 2 | } |
AnalysisOrderChecker.cpp:void clang::ento::check::PostStmt<clang::OffsetOfExpr>::_checkStmt<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 1 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 1 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 1 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>::_checkStmt<(anonymous namespace)::NilArgChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 9 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 9 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 9 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostStmt<clang::ObjCArrayLiteral>::_checkStmt<(anonymous namespace)::NilArgChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 7 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 7 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 7 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostStmt<clang::ObjCForCollectionStmt>::_checkStmt<(anonymous namespace)::ObjCLoopChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 419 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 419 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 419 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostStmt<clang::ObjCArrayLiteral>::_checkStmt<(anonymous namespace)::ObjCNonNilReturnValueChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 2 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 2 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 2 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>::_checkStmt<(anonymous namespace)::ObjCNonNilReturnValueChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 4 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 4 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 4 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostStmt<clang::ObjCBoxedExpr>::_checkStmt<(anonymous namespace)::ObjCNonNilReturnValueChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 10 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 10 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 10 | } |
DynamicTypePropagation.cpp:void clang::ento::check::PostStmt<clang::CastExpr>::_checkStmt<(anonymous namespace)::DynamicTypePropagation>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 283k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 283k | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 283k | } |
DynamicTypePropagation.cpp:void clang::ento::check::PostStmt<clang::CXXNewExpr>::_checkStmt<(anonymous namespace)::DynamicTypePropagation>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 998 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 998 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 998 | } |
DynamicTypeChecker.cpp:void clang::ento::check::PostStmt<clang::ImplicitCastExpr>::_checkStmt<(anonymous namespace)::DynamicTypeChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 8.15k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 8.15k | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 8.15k | } |
GenericTaintChecker.cpp:void clang::ento::check::PostStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::GenericTaintChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 765 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 765 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 765 | } |
IteratorChecker.cpp:void clang::ento::check::PostStmt<clang::MaterializeTemporaryExpr>::_checkStmt<(anonymous namespace)::IteratorChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 859 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 859 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 859 | } |
LocalizationChecker.cpp:void clang::ento::check::PostStmt<clang::ObjCStringLiteral>::_checkStmt<(anonymous namespace)::NonLocalizedStringChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 108 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 108 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 108 | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::check::PostStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::MacOSKeychainAPIChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 324 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 324 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 324 | } |
MallocChecker.cpp:void clang::ento::check::PostStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::MallocChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 22.8k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 22.8k | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 22.8k | } |
MallocChecker.cpp:void clang::ento::check::PostStmt<clang::CXXNewExpr>::_checkStmt<(anonymous namespace)::MallocChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 627 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 627 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 627 | } |
MallocChecker.cpp:void clang::ento::check::PostStmt<clang::BlockExpr>::_checkStmt<(anonymous namespace)::MallocChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 50 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 50 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 50 | } |
NullabilityChecker.cpp:void clang::ento::check::PostStmt<clang::ExplicitCastExpr>::_checkStmt<(anonymous namespace)::NullabilityChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 98 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 98 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 98 | } |
ObjCContainersChecker.cpp:void clang::ento::check::PostStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::ObjCContainersChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 302 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 302 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 302 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>::_checkStmt<(anonymous namespace)::ObjCSelfInitChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 64 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 64 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 64 | } |
PointerArithChecker.cpp:void clang::ento::check::PostStmt<clang::CastExpr>::_checkStmt<(anonymous namespace)::PointerArithChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 142k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 142k | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 142k | } |
PointerArithChecker.cpp:void clang::ento::check::PostStmt<clang::CXXNewExpr>::_checkStmt<(anonymous namespace)::PointerArithChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 11 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 11 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 11 | } |
PointerArithChecker.cpp:void clang::ento::check::PostStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::PointerArithChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 18.6k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 18.6k | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 18.6k | } |
PthreadLockChecker.cpp:void clang::ento::check::PostStmt<clang::CallExpr>::_checkStmt<(anonymous namespace)::PthreadLockChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 192 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 192 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 192 | } |
void clang::ento::check::PostStmt<clang::BlockExpr>::_checkStmt<clang::ento::retaincountchecker::RetainCountChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 61 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 61 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 61 | } |
void clang::ento::check::PostStmt<clang::CastExpr>::_checkStmt<clang::ento::retaincountchecker::RetainCountChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 9.69k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 9.69k | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 9.69k | } |
void clang::ento::check::PostStmt<clang::ObjCArrayLiteral>::_checkStmt<clang::ento::retaincountchecker::RetainCountChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 29 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 29 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 29 | } |
void clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>::_checkStmt<clang::ento::retaincountchecker::RetainCountChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 5 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 5 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 5 | } |
void clang::ento::check::PostStmt<clang::ObjCBoxedExpr>::_checkStmt<clang::ento::retaincountchecker::RetainCountChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 25 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 25 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 25 | } |
void clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>::_checkStmt<clang::ento::retaincountchecker::RetainCountChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 454 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 454 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 454 | } |
TaintTesterChecker.cpp:void clang::ento::check::PostStmt<clang::Expr>::_checkStmt<(anonymous namespace)::TaintTesterChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 1.02k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 1.02k | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 1.02k | } |
UndefCapturedBlockVarChecker.cpp:void clang::ento::check::PostStmt<clang::BlockExpr>::_checkStmt<(anonymous namespace)::UndefCapturedBlockVarChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 360 | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 360 | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 360 | } |
UndefResultChecker.cpp:void clang::ento::check::PostStmt<clang::BinaryOperator>::_checkStmt<(anonymous namespace)::UndefResultChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 103 | 67.5k | static void _checkStmt(void *checker, const Stmt *S, CheckerContext &C) { | 104 | 67.5k | ((const CHECKER *)checker)->checkPostStmt(cast<STMT>(S), C); | 105 | 67.5k | } |
|
106 | | |
107 | 35.4k | static bool _handlesStmt(const Stmt *S) { |
108 | 35.4k | return isa<STMT>(S); |
109 | 35.4k | } clang::ento::check::PostStmt<clang::CastExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 6.88k | static bool _handlesStmt(const Stmt *S) { | 108 | 6.88k | return isa<STMT>(S); | 109 | 6.88k | } |
clang::ento::check::PostStmt<clang::ArraySubscriptExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 33 | static bool _handlesStmt(const Stmt *S) { | 108 | 33 | return isa<STMT>(S); | 109 | 33 | } |
clang::ento::check::PostStmt<clang::CXXNewExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 8.04k | static bool _handlesStmt(const Stmt *S) { | 108 | 8.04k | return isa<STMT>(S); | 109 | 8.04k | } |
clang::ento::check::PostStmt<clang::OffsetOfExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 33 | static bool _handlesStmt(const Stmt *S) { | 108 | 33 | return isa<STMT>(S); | 109 | 33 | } |
clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 869 | static bool _handlesStmt(const Stmt *S) { | 108 | 869 | return isa<STMT>(S); | 109 | 869 | } |
clang::ento::check::PostStmt<clang::ObjCArrayLiteral>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 869 | static bool _handlesStmt(const Stmt *S) { | 108 | 869 | return isa<STMT>(S); | 109 | 869 | } |
clang::ento::check::PostStmt<clang::ObjCForCollectionStmt>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 143 | static bool _handlesStmt(const Stmt *S) { | 108 | 143 | return isa<STMT>(S); | 109 | 143 | } |
clang::ento::check::PostStmt<clang::ObjCBoxedExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 675 | static bool _handlesStmt(const Stmt *S) { | 108 | 675 | return isa<STMT>(S); | 109 | 675 | } |
clang::ento::check::PostStmt<clang::ImplicitCastExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 619 | static bool _handlesStmt(const Stmt *S) { | 108 | 619 | return isa<STMT>(S); | 109 | 619 | } |
clang::ento::check::PostStmt<clang::CallExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 2.74k | static bool _handlesStmt(const Stmt *S) { | 108 | 2.74k | return isa<STMT>(S); | 109 | 2.74k | } |
clang::ento::check::PostStmt<clang::MaterializeTemporaryExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 92 | static bool _handlesStmt(const Stmt *S) { | 108 | 92 | return isa<STMT>(S); | 109 | 92 | } |
clang::ento::check::PostStmt<clang::ObjCStringLiteral>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 17 | static bool _handlesStmt(const Stmt *S) { | 108 | 17 | return isa<STMT>(S); | 109 | 17 | } |
clang::ento::check::PostStmt<clang::BlockExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 7.88k | static bool _handlesStmt(const Stmt *S) { | 108 | 7.88k | return isa<STMT>(S); | 109 | 7.88k | } |
clang::ento::check::PostStmt<clang::ExplicitCastExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 114 | static bool _handlesStmt(const Stmt *S) { | 108 | 114 | return isa<STMT>(S); | 109 | 114 | } |
clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 670 | static bool _handlesStmt(const Stmt *S) { | 108 | 670 | return isa<STMT>(S); | 109 | 670 | } |
clang::ento::check::PostStmt<clang::Expr>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 46 | static bool _handlesStmt(const Stmt *S) { | 108 | 46 | return isa<STMT>(S); | 109 | 46 | } |
clang::ento::check::PostStmt<clang::BinaryOperator>::_handlesStmt(clang::Stmt const*) Line | Count | Source | 107 | 5.66k | static bool _handlesStmt(const Stmt *S) { | 108 | 5.66k | return isa<STMT>(S); | 109 | 5.66k | } |
|
110 | | public: |
111 | | template <typename CHECKER> |
112 | 4.28k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
113 | 4.28k | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, |
114 | 4.28k | _checkStmt<CHECKER>), |
115 | 4.28k | _handlesStmt); |
116 | 4.28k | } AnalysisOrderChecker.cpp:void clang::ento::check::PostStmt<clang::CastExpr>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 8 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 8 | _checkStmt<CHECKER>), | 115 | 8 | _handlesStmt); | 116 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::check::PostStmt<clang::ArraySubscriptExpr>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 8 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 8 | _checkStmt<CHECKER>), | 115 | 8 | _handlesStmt); | 116 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::check::PostStmt<clang::CXXNewExpr>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 8 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 8 | _checkStmt<CHECKER>), | 115 | 8 | _handlesStmt); | 116 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::check::PostStmt<clang::OffsetOfExpr>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 8 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 8 | _checkStmt<CHECKER>), | 115 | 8 | _handlesStmt); | 116 | 8 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>::_register<(anonymous namespace)::NilArgChecker>((anonymous namespace)::NilArgChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 30 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 30 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 30 | _checkStmt<CHECKER>), | 115 | 30 | _handlesStmt); | 116 | 30 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostStmt<clang::ObjCArrayLiteral>::_register<(anonymous namespace)::NilArgChecker>((anonymous namespace)::NilArgChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 30 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 30 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 30 | _checkStmt<CHECKER>), | 115 | 30 | _handlesStmt); | 116 | 30 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostStmt<clang::ObjCForCollectionStmt>::_register<(anonymous namespace)::ObjCLoopChecker>((anonymous namespace)::ObjCLoopChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 25 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 25 | _checkStmt<CHECKER>), | 115 | 25 | _handlesStmt); | 116 | 25 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostStmt<clang::ObjCArrayLiteral>::_register<(anonymous namespace)::ObjCNonNilReturnValueChecker>((anonymous namespace)::ObjCNonNilReturnValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 26 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 26 | _checkStmt<CHECKER>), | 115 | 26 | _handlesStmt); | 116 | 26 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>::_register<(anonymous namespace)::ObjCNonNilReturnValueChecker>((anonymous namespace)::ObjCNonNilReturnValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 26 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 26 | _checkStmt<CHECKER>), | 115 | 26 | _handlesStmt); | 116 | 26 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostStmt<clang::ObjCBoxedExpr>::_register<(anonymous namespace)::ObjCNonNilReturnValueChecker>((anonymous namespace)::ObjCNonNilReturnValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 26 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 26 | _checkStmt<CHECKER>), | 115 | 26 | _handlesStmt); | 116 | 26 | } |
DynamicTypePropagation.cpp:void clang::ento::check::PostStmt<clang::CastExpr>::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 676 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 676 | _checkStmt<CHECKER>), | 115 | 676 | _handlesStmt); | 116 | 676 | } |
DynamicTypePropagation.cpp:void clang::ento::check::PostStmt<clang::CXXNewExpr>::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 676 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 676 | _checkStmt<CHECKER>), | 115 | 676 | _handlesStmt); | 116 | 676 | } |
DynamicTypeChecker.cpp:void clang::ento::check::PostStmt<clang::ImplicitCastExpr>::_register<(anonymous namespace)::DynamicTypeChecker>((anonymous namespace)::DynamicTypeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 72 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 72 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 72 | _checkStmt<CHECKER>), | 115 | 72 | _handlesStmt); | 116 | 72 | } |
GenericTaintChecker.cpp:void clang::ento::check::PostStmt<clang::CallExpr>::_register<(anonymous namespace)::GenericTaintChecker>((anonymous namespace)::GenericTaintChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 14 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 14 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 14 | _checkStmt<CHECKER>), | 115 | 14 | _handlesStmt); | 116 | 14 | } |
IteratorChecker.cpp:void clang::ento::check::PostStmt<clang::MaterializeTemporaryExpr>::_register<(anonymous namespace)::IteratorChecker>((anonymous namespace)::IteratorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 8 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 8 | _checkStmt<CHECKER>), | 115 | 8 | _handlesStmt); | 116 | 8 | } |
LocalizationChecker.cpp:void clang::ento::check::PostStmt<clang::ObjCStringLiteral>::_register<(anonymous namespace)::NonLocalizedStringChecker>((anonymous namespace)::NonLocalizedStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 2 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 2 | _checkStmt<CHECKER>), | 115 | 2 | _handlesStmt); | 116 | 2 | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::check::PostStmt<clang::CallExpr>::_register<(anonymous namespace)::MacOSKeychainAPIChecker>((anonymous namespace)::MacOSKeychainAPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 25 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 25 | _checkStmt<CHECKER>), | 115 | 25 | _handlesStmt); | 116 | 25 | } |
MallocChecker.cpp:void clang::ento::check::PostStmt<clang::CallExpr>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 179 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 179 | _checkStmt<CHECKER>), | 115 | 179 | _handlesStmt); | 116 | 179 | } |
MallocChecker.cpp:void clang::ento::check::PostStmt<clang::CXXNewExpr>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 179 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 179 | _checkStmt<CHECKER>), | 115 | 179 | _handlesStmt); | 116 | 179 | } |
MallocChecker.cpp:void clang::ento::check::PostStmt<clang::BlockExpr>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 179 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 179 | _checkStmt<CHECKER>), | 115 | 179 | _handlesStmt); | 116 | 179 | } |
NullabilityChecker.cpp:void clang::ento::check::PostStmt<clang::ExplicitCastExpr>::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 23 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 23 | _checkStmt<CHECKER>), | 115 | 23 | _handlesStmt); | 116 | 23 | } |
ObjCContainersChecker.cpp:void clang::ento::check::PostStmt<clang::CallExpr>::_register<(anonymous namespace)::ObjCContainersChecker>((anonymous namespace)::ObjCContainersChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 24 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 24 | _checkStmt<CHECKER>), | 115 | 24 | _handlesStmt); | 116 | 24 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 26 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 26 | _checkStmt<CHECKER>), | 115 | 26 | _handlesStmt); | 116 | 26 | } |
PointerArithChecker.cpp:void clang::ento::check::PostStmt<clang::CastExpr>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 73 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 73 | _checkStmt<CHECKER>), | 115 | 73 | _handlesStmt); | 116 | 73 | } |
PointerArithChecker.cpp:void clang::ento::check::PostStmt<clang::CXXNewExpr>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 73 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 73 | _checkStmt<CHECKER>), | 115 | 73 | _handlesStmt); | 116 | 73 | } |
PointerArithChecker.cpp:void clang::ento::check::PostStmt<clang::CallExpr>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 73 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 73 | _checkStmt<CHECKER>), | 115 | 73 | _handlesStmt); | 116 | 73 | } |
PthreadLockChecker.cpp:void clang::ento::check::PostStmt<clang::CallExpr>::_register<(anonymous namespace)::PthreadLockChecker>((anonymous namespace)::PthreadLockChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 5 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 5 | _checkStmt<CHECKER>), | 115 | 5 | _handlesStmt); | 116 | 5 | } |
void clang::ento::check::PostStmt<clang::BlockExpr>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 71 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 71 | _checkStmt<CHECKER>), | 115 | 71 | _handlesStmt); | 116 | 71 | } |
void clang::ento::check::PostStmt<clang::CastExpr>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 71 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 71 | _checkStmt<CHECKER>), | 115 | 71 | _handlesStmt); | 116 | 71 | } |
void clang::ento::check::PostStmt<clang::ObjCArrayLiteral>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 71 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 71 | _checkStmt<CHECKER>), | 115 | 71 | _handlesStmt); | 116 | 71 | } |
void clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 71 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 71 | _checkStmt<CHECKER>), | 115 | 71 | _handlesStmt); | 116 | 71 | } |
void clang::ento::check::PostStmt<clang::ObjCBoxedExpr>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 71 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 71 | _checkStmt<CHECKER>), | 115 | 71 | _handlesStmt); | 116 | 71 | } |
void clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 71 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 71 | _checkStmt<CHECKER>), | 115 | 71 | _handlesStmt); | 116 | 71 | } |
TaintTesterChecker.cpp:void clang::ento::check::PostStmt<clang::Expr>::_register<(anonymous namespace)::TaintTesterChecker>((anonymous namespace)::TaintTesterChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 6 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 6 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 6 | _checkStmt<CHECKER>), | 115 | 6 | _handlesStmt); | 116 | 6 | } |
UndefCapturedBlockVarChecker.cpp:void clang::ento::check::PostStmt<clang::BlockExpr>::_register<(anonymous namespace)::UndefCapturedBlockVarChecker>((anonymous namespace)::UndefCapturedBlockVarChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 675 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 675 | _checkStmt<CHECKER>), | 115 | 675 | _handlesStmt); | 116 | 675 | } |
UndefResultChecker.cpp:void clang::ento::check::PostStmt<clang::BinaryOperator>::_register<(anonymous namespace)::UndefResultChecker>((anonymous namespace)::UndefResultChecker*, clang::ento::CheckerManager&) Line | Count | Source | 112 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 113 | 675 | mgr._registerForPostStmt(CheckerManager::CheckStmtFunc(checker, | 114 | 675 | _checkStmt<CHECKER>), | 115 | 675 | _handlesStmt); | 116 | 675 | } |
|
117 | | }; |
118 | | |
119 | | class PreObjCMessage { |
120 | | template <typename CHECKER> |
121 | | static void _checkObjCMessage(void *checker, const ObjCMethodCall &msg, |
122 | 9.39k | CheckerContext &C) { |
123 | 9.39k | ((const CHECKER *)checker)->checkPreObjCMessage(msg, C); |
124 | 9.39k | } BasicObjCFoundationChecks.cpp:void clang::ento::check::PreObjCMessage::_checkObjCMessage<(anonymous namespace)::NilArgChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 122 | 488 | CheckerContext &C) { | 123 | 488 | ((const CHECKER *)checker)->checkPreObjCMessage(msg, C); | 124 | 488 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PreObjCMessage::_checkObjCMessage<(anonymous namespace)::ClassReleaseChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 122 | 1.14k | CheckerContext &C) { | 123 | 1.14k | ((const CHECKER *)checker)->checkPreObjCMessage(msg, C); | 124 | 1.14k | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PreObjCMessage::_checkObjCMessage<(anonymous namespace)::VariadicMethodTypeChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 122 | 61 | CheckerContext &C) { | 123 | 61 | ((const CHECKER *)checker)->checkPreObjCMessage(msg, C); | 124 | 61 | } |
CallAndMessageChecker.cpp:void clang::ento::check::PreObjCMessage::_checkObjCMessage<(anonymous namespace)::CallAndMessageChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 122 | 3.41k | CheckerContext &C) { | 123 | 3.41k | ((const CHECKER *)checker)->checkPreObjCMessage(msg, C); | 124 | 3.41k | } |
CheckObjCDealloc.cpp:void clang::ento::check::PreObjCMessage::_checkObjCMessage<(anonymous namespace)::ObjCDeallocChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 122 | 582 | CheckerContext &C) { | 123 | 582 | ((const CHECKER *)checker)->checkPreObjCMessage(msg, C); | 124 | 582 | } |
DynamicTypePropagation.cpp:void clang::ento::check::PreObjCMessage::_checkObjCMessage<(anonymous namespace)::DynamicTypePropagation>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 122 | 3.43k | CheckerContext &C) { | 123 | 3.43k | ((const CHECKER *)checker)->checkPreObjCMessage(msg, C); | 124 | 3.43k | } |
LocalizationChecker.cpp:void clang::ento::check::PreObjCMessage::_checkObjCMessage<(anonymous namespace)::NonLocalizedStringChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 122 | 175 | CheckerContext &C) { | 123 | 175 | ((const CHECKER *)checker)->checkPreObjCMessage(msg, C); | 124 | 175 | } |
Unexecuted instantiation: NSAutoreleasePoolChecker.cpp:void clang::ento::check::PreObjCMessage::_checkObjCMessage<(anonymous namespace)::NSAutoreleasePoolChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) ObjCSuperDeallocChecker.cpp:void clang::ento::check::PreObjCMessage::_checkObjCMessage<(anonymous namespace)::ObjCSuperDeallocChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 122 | 88 | CheckerContext &C) { | 123 | 88 | ((const CHECKER *)checker)->checkPreObjCMessage(msg, C); | 124 | 88 | } |
|
125 | | |
126 | | public: |
127 | | template <typename CHECKER> |
128 | 1.49k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
129 | 1.49k | mgr._registerForPreObjCMessage( |
130 | 1.49k | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); |
131 | 1.49k | } BasicObjCFoundationChecks.cpp:void clang::ento::check::PreObjCMessage::_register<(anonymous namespace)::NilArgChecker>((anonymous namespace)::NilArgChecker*, clang::ento::CheckerManager&) Line | Count | Source | 128 | 30 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 129 | 30 | mgr._registerForPreObjCMessage( | 130 | 30 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 131 | 30 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PreObjCMessage::_register<(anonymous namespace)::ClassReleaseChecker>((anonymous namespace)::ClassReleaseChecker*, clang::ento::CheckerManager&) Line | Count | Source | 128 | 32 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 129 | 32 | mgr._registerForPreObjCMessage( | 130 | 32 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 131 | 32 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PreObjCMessage::_register<(anonymous namespace)::VariadicMethodTypeChecker>((anonymous namespace)::VariadicMethodTypeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 128 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 129 | 24 | mgr._registerForPreObjCMessage( | 130 | 24 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 131 | 24 | } |
CallAndMessageChecker.cpp:void clang::ento::check::PreObjCMessage::_register<(anonymous namespace)::CallAndMessageChecker>((anonymous namespace)::CallAndMessageChecker*, clang::ento::CheckerManager&) Line | Count | Source | 128 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 129 | 675 | mgr._registerForPreObjCMessage( | 130 | 675 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 131 | 675 | } |
CheckObjCDealloc.cpp:void clang::ento::check::PreObjCMessage::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 128 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 129 | 28 | mgr._registerForPreObjCMessage( | 130 | 28 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 131 | 28 | } |
DynamicTypePropagation.cpp:void clang::ento::check::PreObjCMessage::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 128 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 129 | 676 | mgr._registerForPreObjCMessage( | 130 | 676 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 131 | 676 | } |
LocalizationChecker.cpp:void clang::ento::check::PreObjCMessage::_register<(anonymous namespace)::NonLocalizedStringChecker>((anonymous namespace)::NonLocalizedStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 128 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 129 | 2 | mgr._registerForPreObjCMessage( | 130 | 2 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 131 | 2 | } |
Unexecuted instantiation: NSAutoreleasePoolChecker.cpp:void clang::ento::check::PreObjCMessage::_register<(anonymous namespace)::NSAutoreleasePoolChecker>((anonymous namespace)::NSAutoreleasePoolChecker*, clang::ento::CheckerManager&) ObjCSuperDeallocChecker.cpp:void clang::ento::check::PreObjCMessage::_register<(anonymous namespace)::ObjCSuperDeallocChecker>((anonymous namespace)::ObjCSuperDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 128 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 129 | 24 | mgr._registerForPreObjCMessage( | 130 | 24 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 131 | 24 | } |
|
132 | | }; |
133 | | |
134 | | class ObjCMessageNil { |
135 | | template <typename CHECKER> |
136 | | static void _checkObjCMessage(void *checker, const ObjCMethodCall &msg, |
137 | 95 | CheckerContext &C) { |
138 | 95 | ((const CHECKER *)checker)->checkObjCMessageNil(msg, C); |
139 | 95 | } |
140 | | |
141 | | public: |
142 | | template <typename CHECKER> |
143 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
144 | 675 | mgr._registerForObjCMessageNil( |
145 | 675 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); |
146 | 675 | } |
147 | | }; |
148 | | |
149 | | class PostObjCMessage { |
150 | | template <typename CHECKER> |
151 | | static void _checkObjCMessage(void *checker, const ObjCMethodCall &msg, |
152 | 8.14k | CheckerContext &C) { |
153 | 8.14k | ((const CHECKER *)checker)->checkPostObjCMessage(msg, C); |
154 | 8.14k | } BasicObjCFoundationChecks.cpp:void clang::ento::check::PostObjCMessage::_checkObjCMessage<(anonymous namespace)::ObjCLoopChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 152 | 140 | CheckerContext &C) { | 153 | 140 | ((const CHECKER *)checker)->checkPostObjCMessage(msg, C); | 154 | 140 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostObjCMessage::_checkObjCMessage<(anonymous namespace)::ObjCNonNilReturnValueChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 152 | 71 | CheckerContext &C) { | 153 | 71 | ((const CHECKER *)checker)->checkPostObjCMessage(msg, C); | 154 | 71 | } |
CheckObjCDealloc.cpp:void clang::ento::check::PostObjCMessage::_checkObjCMessage<(anonymous namespace)::ObjCDeallocChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 152 | 576 | CheckerContext &C) { | 153 | 576 | ((const CHECKER *)checker)->checkPostObjCMessage(msg, C); | 154 | 576 | } |
DynamicTypePropagation.cpp:void clang::ento::check::PostObjCMessage::_checkObjCMessage<(anonymous namespace)::DynamicTypePropagation>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 152 | 3.33k | CheckerContext &C) { | 153 | 3.33k | ((const CHECKER *)checker)->checkPostObjCMessage(msg, C); | 154 | 3.33k | } |
LocalizationChecker.cpp:void clang::ento::check::PostObjCMessage::_checkObjCMessage<(anonymous namespace)::NonLocalizedStringChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 152 | 175 | CheckerContext &C) { | 153 | 175 | ((const CHECKER *)checker)->checkPostObjCMessage(msg, C); | 154 | 175 | } |
MallocChecker.cpp:void clang::ento::check::PostObjCMessage::_checkObjCMessage<(anonymous namespace)::MallocChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 152 | 94 | CheckerContext &C) { | 153 | 94 | ((const CHECKER *)checker)->checkPostObjCMessage(msg, C); | 154 | 94 | } |
NoReturnFunctionChecker.cpp:void clang::ento::check::PostObjCMessage::_checkObjCMessage<(anonymous namespace)::NoReturnFunctionChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 152 | 3.32k | CheckerContext &C) { | 153 | 3.32k | ((const CHECKER *)checker)->checkPostObjCMessage(msg, C); | 154 | 3.32k | } |
NullabilityChecker.cpp:void clang::ento::check::PostObjCMessage::_checkObjCMessage<(anonymous namespace)::NullabilityChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 152 | 176 | CheckerContext &C) { | 153 | 176 | ((const CHECKER *)checker)->checkPostObjCMessage(msg, C); | 154 | 176 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::PostObjCMessage::_checkObjCMessage<(anonymous namespace)::ObjCSelfInitChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 152 | 159 | CheckerContext &C) { | 153 | 159 | ((const CHECKER *)checker)->checkPostObjCMessage(msg, C); | 154 | 159 | } |
ObjCSuperDeallocChecker.cpp:void clang::ento::check::PostObjCMessage::_checkObjCMessage<(anonymous namespace)::ObjCSuperDeallocChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) Line | Count | Source | 152 | 89 | CheckerContext &C) { | 153 | 89 | ((const CHECKER *)checker)->checkPostObjCMessage(msg, C); | 154 | 89 | } |
Unexecuted instantiation: TrustNonnullChecker.cpp:void clang::ento::check::PostObjCMessage::_checkObjCMessage<(anonymous namespace)::TrustNonnullChecker>(void*, clang::ento::ObjCMethodCall const&, clang::ento::CheckerContext&) |
155 | | |
156 | | public: |
157 | | template <typename CHECKER> |
158 | 1.70k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
159 | 1.70k | mgr._registerForPostObjCMessage( |
160 | 1.70k | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); |
161 | 1.70k | } BasicObjCFoundationChecks.cpp:void clang::ento::check::PostObjCMessage::_register<(anonymous namespace)::ObjCLoopChecker>((anonymous namespace)::ObjCLoopChecker*, clang::ento::CheckerManager&) Line | Count | Source | 158 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 159 | 25 | mgr._registerForPostObjCMessage( | 160 | 25 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 161 | 25 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PostObjCMessage::_register<(anonymous namespace)::ObjCNonNilReturnValueChecker>((anonymous namespace)::ObjCNonNilReturnValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 158 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 159 | 26 | mgr._registerForPostObjCMessage( | 160 | 26 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 161 | 26 | } |
CheckObjCDealloc.cpp:void clang::ento::check::PostObjCMessage::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 158 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 159 | 28 | mgr._registerForPostObjCMessage( | 160 | 28 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 161 | 28 | } |
DynamicTypePropagation.cpp:void clang::ento::check::PostObjCMessage::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 158 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 159 | 676 | mgr._registerForPostObjCMessage( | 160 | 676 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 161 | 676 | } |
LocalizationChecker.cpp:void clang::ento::check::PostObjCMessage::_register<(anonymous namespace)::NonLocalizedStringChecker>((anonymous namespace)::NonLocalizedStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 158 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 159 | 2 | mgr._registerForPostObjCMessage( | 160 | 2 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 161 | 2 | } |
MallocChecker.cpp:void clang::ento::check::PostObjCMessage::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 158 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 159 | 179 | mgr._registerForPostObjCMessage( | 160 | 179 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 161 | 179 | } |
NoReturnFunctionChecker.cpp:void clang::ento::check::PostObjCMessage::_register<(anonymous namespace)::NoReturnFunctionChecker>((anonymous namespace)::NoReturnFunctionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 158 | 686 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 159 | 686 | mgr._registerForPostObjCMessage( | 160 | 686 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 161 | 686 | } |
NullabilityChecker.cpp:void clang::ento::check::PostObjCMessage::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 158 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 159 | 23 | mgr._registerForPostObjCMessage( | 160 | 23 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 161 | 23 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::PostObjCMessage::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 158 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 159 | 26 | mgr._registerForPostObjCMessage( | 160 | 26 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 161 | 26 | } |
ObjCSuperDeallocChecker.cpp:void clang::ento::check::PostObjCMessage::_register<(anonymous namespace)::ObjCSuperDeallocChecker>((anonymous namespace)::ObjCSuperDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 158 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 159 | 24 | mgr._registerForPostObjCMessage( | 160 | 24 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 161 | 24 | } |
TrustNonnullChecker.cpp:void clang::ento::check::PostObjCMessage::_register<(anonymous namespace)::TrustNonnullChecker>((anonymous namespace)::TrustNonnullChecker*, clang::ento::CheckerManager&) Line | Count | Source | 158 | 10 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 159 | 10 | mgr._registerForPostObjCMessage( | 160 | 10 | CheckerManager::CheckObjCMessageFunc(checker, _checkObjCMessage<CHECKER>)); | 161 | 10 | } |
|
162 | | }; |
163 | | |
164 | | class PreCall { |
165 | | template <typename CHECKER> |
166 | | static void _checkCall(void *checker, const CallEvent &msg, |
167 | 370k | CheckerContext &C) { |
168 | 370k | ((const CHECKER *)checker)->checkPreCall(msg, C); |
169 | 370k | } AnalysisOrderChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 15 | CheckerContext &C) { | 168 | 15 | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 15 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::CFRetainReleaseChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 2.55k | CheckerContext &C) { | 168 | 2.55k | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 2.55k | } |
CallAndMessageChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::CallAndMessageChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 75.7k | CheckerContext &C) { | 168 | 75.7k | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 75.7k | } |
CheckObjCDealloc.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::ObjCDeallocChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 1.00k | CheckerContext &C) { | 168 | 1.00k | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 1.00k | } |
ChrootChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::ChrootChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 36 | CheckerContext &C) { | 168 | 36 | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 36 | } |
DynamicTypePropagation.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::DynamicTypePropagation>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 75.6k | CheckerContext &C) { | 168 | 75.6k | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 75.6k | } |
IteratorChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::IteratorChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 2.04k | CheckerContext &C) { | 168 | 2.04k | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 2.04k | } |
LocalizationChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::NonLocalizedStringChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 196 | CheckerContext &C) { | 168 | 196 | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 196 | } |
MallocChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::MallocChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 26.7k | CheckerContext &C) { | 168 | 26.7k | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 26.7k | } |
MmapWriteExecChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::MmapWriteExecChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 15 | CheckerContext &C) { | 168 | 15 | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 15 | } |
MoveChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::MoveChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 32.4k | CheckerContext &C) { | 168 | 32.4k | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 32.4k | } |
void clang::ento::check::PreCall::_checkCall<clang::ento::mpi::MPIChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 131 | CheckerContext &C) { | 168 | 131 | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 131 | } |
NonNullParamChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::NonNullParamChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 75.6k | CheckerContext &C) { | 168 | 75.6k | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 75.6k | } |
NullabilityChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::NullabilityChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 671 | CheckerContext &C) { | 168 | 671 | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 671 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::ObjCSelfInitChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 481 | CheckerContext &C) { | 168 | 481 | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 481 | } |
ObjCSuperDeallocChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::ObjCSuperDeallocChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 402 | CheckerContext &C) { | 168 | 402 | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 402 | } |
SimpleStreamChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::SimpleStreamChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 55 | CheckerContext &C) { | 168 | 55 | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 55 | } |
StackAddrEscapeChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::StackAddrEscapeChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 75.6k | CheckerContext &C) { | 168 | 75.6k | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 75.6k | } |
Unexecuted instantiation: TraversalChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::CallDumper>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) VforkChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::VforkChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 157 | CheckerContext &C) { | 168 | 157 | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 157 | } |
ValistChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::ValistChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 232 | CheckerContext &C) { | 168 | 232 | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 232 | } |
VirtualCallChecker.cpp:void clang::ento::check::PreCall::_checkCall<(anonymous namespace)::VirtualCallChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 167 | 198 | CheckerContext &C) { | 168 | 198 | ((const CHECKER *)checker)->checkPreCall(msg, C); | 169 | 198 | } |
|
170 | | |
171 | | public: |
172 | | template <typename CHECKER> |
173 | 3.13k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
174 | 3.13k | mgr._registerForPreCall( |
175 | 3.13k | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); |
176 | 3.13k | } AnalysisOrderChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 8 | mgr._registerForPreCall( | 175 | 8 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 8 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::CFRetainReleaseChecker>((anonymous namespace)::CFRetainReleaseChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 34 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 34 | mgr._registerForPreCall( | 175 | 34 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 34 | } |
CallAndMessageChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::CallAndMessageChecker>((anonymous namespace)::CallAndMessageChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 675 | mgr._registerForPreCall( | 175 | 675 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 675 | } |
CheckObjCDealloc.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 28 | mgr._registerForPreCall( | 175 | 28 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 28 | } |
ChrootChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::ChrootChecker>((anonymous namespace)::ChrootChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 5 | mgr._registerForPreCall( | 175 | 5 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 5 | } |
DynamicTypePropagation.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 676 | mgr._registerForPreCall( | 175 | 676 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 676 | } |
IteratorChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::IteratorChecker>((anonymous namespace)::IteratorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 8 | mgr._registerForPreCall( | 175 | 8 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 8 | } |
LocalizationChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::NonLocalizedStringChecker>((anonymous namespace)::NonLocalizedStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 2 | mgr._registerForPreCall( | 175 | 2 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 2 | } |
MallocChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 179 | mgr._registerForPreCall( | 175 | 179 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 179 | } |
MmapWriteExecChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::MmapWriteExecChecker>((anonymous namespace)::MmapWriteExecChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 3 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 3 | mgr._registerForPreCall( | 175 | 3 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 3 | } |
MoveChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::MoveChecker>((anonymous namespace)::MoveChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 49 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 49 | mgr._registerForPreCall( | 175 | 49 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 49 | } |
void clang::ento::check::PreCall::_register<clang::ento::mpi::MPIChecker>(clang::ento::mpi::MPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 3 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 3 | mgr._registerForPreCall( | 175 | 3 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 3 | } |
NonNullParamChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::NonNullParamChecker>((anonymous namespace)::NonNullParamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 675 | mgr._registerForPreCall( | 175 | 675 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 675 | } |
NullabilityChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 23 | mgr._registerForPreCall( | 175 | 23 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 23 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 26 | mgr._registerForPreCall( | 175 | 26 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 26 | } |
ObjCSuperDeallocChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::ObjCSuperDeallocChecker>((anonymous namespace)::ObjCSuperDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 24 | mgr._registerForPreCall( | 175 | 24 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 24 | } |
SimpleStreamChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::SimpleStreamChecker>((anonymous namespace)::SimpleStreamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 5 | mgr._registerForPreCall( | 175 | 5 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 5 | } |
StackAddrEscapeChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::StackAddrEscapeChecker>((anonymous namespace)::StackAddrEscapeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 675 | mgr._registerForPreCall( | 175 | 675 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 675 | } |
Unexecuted instantiation: TraversalChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::CallDumper>((anonymous namespace)::CallDumper*, clang::ento::CheckerManager&) VforkChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::VforkChecker>((anonymous namespace)::VforkChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 27 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 27 | mgr._registerForPreCall( | 175 | 27 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 27 | } |
ValistChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::ValistChecker>((anonymous namespace)::ValistChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 7 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 7 | mgr._registerForPreCall( | 175 | 7 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 7 | } |
VirtualCallChecker.cpp:void clang::ento::check::PreCall::_register<(anonymous namespace)::VirtualCallChecker>((anonymous namespace)::VirtualCallChecker*, clang::ento::CheckerManager&) Line | Count | Source | 173 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 174 | 2 | mgr._registerForPreCall( | 175 | 2 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 176 | 2 | } |
|
177 | | }; |
178 | | |
179 | | class PostCall { |
180 | | template <typename CHECKER> |
181 | | static void _checkCall(void *checker, const CallEvent &msg, |
182 | 224k | CheckerContext &C) { |
183 | 224k | ((const CHECKER *)checker)->checkPostCall(msg, C); |
184 | 224k | } AnalysisOrderChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 15 | CheckerContext &C) { | 183 | 15 | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 15 | } |
BlockInCriticalSectionChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::BlockInCriticalSectionChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 112 | CheckerContext &C) { | 183 | 112 | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 112 | } |
DynamicTypePropagation.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::DynamicTypePropagation>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 81.4k | CheckerContext &C) { | 183 | 81.4k | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 81.4k | } |
GTestChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::GTestChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 203 | CheckerContext &C) { | 183 | 203 | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 203 | } |
InnerPointerChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::InnerPointerChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 17.1k | CheckerContext &C) { | 183 | 17.1k | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 17.1k | } |
IteratorChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::IteratorChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 2.09k | CheckerContext &C) { | 183 | 2.09k | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 2.09k | } |
LocalizationChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::NonLocalizedStringChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 196 | CheckerContext &C) { | 183 | 196 | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 196 | } |
MIGChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::MIGChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 392 | CheckerContext &C) { | 183 | 392 | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 392 | } |
MoveChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::MoveChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 33.7k | CheckerContext &C) { | 183 | 33.7k | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 33.7k | } |
NoReturnFunctionChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::NoReturnFunctionChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 82.6k | CheckerContext &C) { | 183 | 82.6k | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 82.6k | } |
NullabilityChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::NullabilityChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 642 | CheckerContext &C) { | 183 | 642 | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 642 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::ObjCSelfInitChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 509 | CheckerContext &C) { | 183 | 509 | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 509 | } |
void clang::ento::check::PostCall::_checkCall<clang::ento::retaincountchecker::RetainCountChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 4.23k | CheckerContext &C) { | 183 | 4.23k | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 4.23k | } |
ReturnValueChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::ReturnValueChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 162 | CheckerContext &C) { | 183 | 162 | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 162 | } |
SimpleStreamChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::SimpleStreamChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 51 | CheckerContext &C) { | 183 | 51 | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 51 | } |
StdLibraryFunctionsChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::StdLibraryFunctionsChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 731 | CheckerContext &C) { | 183 | 731 | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 731 | } |
Unexecuted instantiation: TraversalChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::CallDumper>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) TrustNonnullChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::TrustNonnullChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 149 | CheckerContext &C) { | 183 | 149 | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 149 | } |
VforkChecker.cpp:void clang::ento::check::PostCall::_checkCall<(anonymous namespace)::VforkChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 182 | 123 | CheckerContext &C) { | 183 | 123 | ((const CHECKER *)checker)->checkPostCall(msg, C); | 184 | 123 | } |
|
185 | | |
186 | | public: |
187 | | template <typename CHECKER> |
188 | 1.70k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
189 | 1.70k | mgr._registerForPostCall( |
190 | 1.70k | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); |
191 | 1.70k | } AnalysisOrderChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 8 | mgr._registerForPostCall( | 190 | 8 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 8 | } |
BlockInCriticalSectionChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::BlockInCriticalSectionChecker>((anonymous namespace)::BlockInCriticalSectionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 6 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 6 | mgr._registerForPostCall( | 190 | 6 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 6 | } |
DynamicTypePropagation.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 676 | mgr._registerForPostCall( | 190 | 676 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 676 | } |
GTestChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::GTestChecker>((anonymous namespace)::GTestChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 7 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 7 | mgr._registerForPostCall( | 190 | 7 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 7 | } |
InnerPointerChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::InnerPointerChecker>((anonymous namespace)::InnerPointerChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 40 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 40 | mgr._registerForPostCall( | 190 | 40 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 40 | } |
IteratorChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::IteratorChecker>((anonymous namespace)::IteratorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 8 | mgr._registerForPostCall( | 190 | 8 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 8 | } |
LocalizationChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::NonLocalizedStringChecker>((anonymous namespace)::NonLocalizedStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 2 | mgr._registerForPostCall( | 190 | 2 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 2 | } |
MIGChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::MIGChecker>((anonymous namespace)::MIGChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 24 | mgr._registerForPostCall( | 190 | 24 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 24 | } |
MoveChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::MoveChecker>((anonymous namespace)::MoveChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 49 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 49 | mgr._registerForPostCall( | 190 | 49 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 49 | } |
NoReturnFunctionChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::NoReturnFunctionChecker>((anonymous namespace)::NoReturnFunctionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 686 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 686 | mgr._registerForPostCall( | 190 | 686 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 686 | } |
NullabilityChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 23 | mgr._registerForPostCall( | 190 | 23 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 23 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 26 | mgr._registerForPostCall( | 190 | 26 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 26 | } |
void clang::ento::check::PostCall::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 71 | mgr._registerForPostCall( | 190 | 71 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 71 | } |
ReturnValueChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::ReturnValueChecker>((anonymous namespace)::ReturnValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 11 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 11 | mgr._registerForPostCall( | 190 | 11 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 11 | } |
SimpleStreamChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::SimpleStreamChecker>((anonymous namespace)::SimpleStreamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 5 | mgr._registerForPostCall( | 190 | 5 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 5 | } |
StdLibraryFunctionsChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::StdLibraryFunctionsChecker>((anonymous namespace)::StdLibraryFunctionsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 21 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 21 | mgr._registerForPostCall( | 190 | 21 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 21 | } |
Unexecuted instantiation: TraversalChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::CallDumper>((anonymous namespace)::CallDumper*, clang::ento::CheckerManager&) TrustNonnullChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::TrustNonnullChecker>((anonymous namespace)::TrustNonnullChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 10 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 10 | mgr._registerForPostCall( | 190 | 10 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 10 | } |
VforkChecker.cpp:void clang::ento::check::PostCall::_register<(anonymous namespace)::VforkChecker>((anonymous namespace)::VforkChecker*, clang::ento::CheckerManager&) Line | Count | Source | 188 | 27 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 189 | 27 | mgr._registerForPostCall( | 190 | 27 | CheckerManager::CheckCallFunc(checker, _checkCall<CHECKER>)); | 191 | 27 | } |
|
192 | | }; |
193 | | |
194 | | class Location { |
195 | | template <typename CHECKER> |
196 | | static void _checkLocation(void *checker, |
197 | | const SVal &location, bool isLoad, const Stmt *S, |
198 | 442k | CheckerContext &C) { |
199 | 442k | ((const CHECKER *)checker)->checkLocation(location, isLoad, S, C); |
200 | 442k | } ArrayBoundChecker.cpp:void clang::ento::check::Location::_checkLocation<(anonymous namespace)::ArrayBoundChecker>(void*, clang::ento::SVal const&, bool, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 198 | 3.57k | CheckerContext &C) { | 199 | 3.57k | ((const CHECKER *)checker)->checkLocation(location, isLoad, S, C); | 200 | 3.57k | } |
ArrayBoundCheckerV2.cpp:void clang::ento::check::Location::_checkLocation<(anonymous namespace)::ArrayBoundCheckerV2>(void*, clang::ento::SVal const&, bool, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 198 | 988 | CheckerContext &C) { | 199 | 988 | ((const CHECKER *)checker)->checkLocation(location, isLoad, S, C); | 200 | 988 | } |
DereferenceChecker.cpp:void clang::ento::check::Location::_checkLocation<(anonymous namespace)::DereferenceChecker>(void*, clang::ento::SVal const&, bool, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 198 | 175k | CheckerContext &C) { | 199 | 175k | ((const CHECKER *)checker)->checkLocation(location, isLoad, S, C); | 200 | 175k | } |
MallocChecker.cpp:void clang::ento::check::Location::_checkLocation<(anonymous namespace)::MallocChecker>(void*, clang::ento::SVal const&, bool, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 198 | 84.9k | CheckerContext &C) { | 199 | 84.9k | ((const CHECKER *)checker)->checkLocation(location, isLoad, S, C); | 200 | 84.9k | } |
NSErrorChecker.cpp:void clang::ento::check::Location::_checkLocation<(anonymous namespace)::NSOrCFErrorDerefChecker>(void*, clang::ento::SVal const&, bool, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 198 | 402 | CheckerContext &C) { | 199 | 402 | ((const CHECKER *)checker)->checkLocation(location, isLoad, S, C); | 200 | 402 | } |
NonnullGlobalConstantsChecker.cpp:void clang::ento::check::Location::_checkLocation<(anonymous namespace)::NonnullGlobalConstantsChecker>(void*, clang::ento::SVal const&, bool, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 198 | 175k | CheckerContext &C) { | 199 | 175k | ((const CHECKER *)checker)->checkLocation(location, isLoad, S, C); | 200 | 175k | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::Location::_checkLocation<(anonymous namespace)::ObjCSelfInitChecker>(void*, clang::ento::SVal const&, bool, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 198 | 719 | CheckerContext &C) { | 199 | 719 | ((const CHECKER *)checker)->checkLocation(location, isLoad, S, C); | 200 | 719 | } |
ObjCSuperDeallocChecker.cpp:void clang::ento::check::Location::_checkLocation<(anonymous namespace)::ObjCSuperDeallocChecker>(void*, clang::ento::SVal const&, bool, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 198 | 471 | CheckerContext &C) { | 199 | 471 | ((const CHECKER *)checker)->checkLocation(location, isLoad, S, C); | 200 | 471 | } |
|
201 | | |
202 | | public: |
203 | | template <typename CHECKER> |
204 | 1.62k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
205 | 1.62k | mgr._registerForLocation( |
206 | 1.62k | CheckerManager::CheckLocationFunc(checker, _checkLocation<CHECKER>)); |
207 | 1.62k | } ArrayBoundChecker.cpp:void clang::ento::check::Location::_register<(anonymous namespace)::ArrayBoundChecker>((anonymous namespace)::ArrayBoundChecker*, clang::ento::CheckerManager&) Line | Count | Source | 204 | 7 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 205 | 7 | mgr._registerForLocation( | 206 | 7 | CheckerManager::CheckLocationFunc(checker, _checkLocation<CHECKER>)); | 207 | 7 | } |
ArrayBoundCheckerV2.cpp:void clang::ento::check::Location::_register<(anonymous namespace)::ArrayBoundCheckerV2>((anonymous namespace)::ArrayBoundCheckerV2*, clang::ento::CheckerManager&) Line | Count | Source | 204 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 205 | 8 | mgr._registerForLocation( | 206 | 8 | CheckerManager::CheckLocationFunc(checker, _checkLocation<CHECKER>)); | 207 | 8 | } |
DereferenceChecker.cpp:void clang::ento::check::Location::_register<(anonymous namespace)::DereferenceChecker>((anonymous namespace)::DereferenceChecker*, clang::ento::CheckerManager&) Line | Count | Source | 204 | 683 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 205 | 683 | mgr._registerForLocation( | 206 | 683 | CheckerManager::CheckLocationFunc(checker, _checkLocation<CHECKER>)); | 207 | 683 | } |
MallocChecker.cpp:void clang::ento::check::Location::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 204 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 205 | 179 | mgr._registerForLocation( | 206 | 179 | CheckerManager::CheckLocationFunc(checker, _checkLocation<CHECKER>)); | 207 | 179 | } |
NSErrorChecker.cpp:void clang::ento::check::Location::_register<(anonymous namespace)::NSOrCFErrorDerefChecker>((anonymous namespace)::NSOrCFErrorDerefChecker*, clang::ento::CheckerManager&) Line | Count | Source | 204 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 205 | 24 | mgr._registerForLocation( | 206 | 24 | CheckerManager::CheckLocationFunc(checker, _checkLocation<CHECKER>)); | 207 | 24 | } |
NonnullGlobalConstantsChecker.cpp:void clang::ento::check::Location::_register<(anonymous namespace)::NonnullGlobalConstantsChecker>((anonymous namespace)::NonnullGlobalConstantsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 204 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 205 | 675 | mgr._registerForLocation( | 206 | 675 | CheckerManager::CheckLocationFunc(checker, _checkLocation<CHECKER>)); | 207 | 675 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::Location::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 204 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 205 | 26 | mgr._registerForLocation( | 206 | 26 | CheckerManager::CheckLocationFunc(checker, _checkLocation<CHECKER>)); | 207 | 26 | } |
ObjCSuperDeallocChecker.cpp:void clang::ento::check::Location::_register<(anonymous namespace)::ObjCSuperDeallocChecker>((anonymous namespace)::ObjCSuperDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 204 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 205 | 24 | mgr._registerForLocation( | 206 | 24 | CheckerManager::CheckLocationFunc(checker, _checkLocation<CHECKER>)); | 207 | 24 | } |
|
208 | | }; |
209 | | |
210 | | class Bind { |
211 | | template <typename CHECKER> |
212 | | static void _checkBind(void *checker, |
213 | | const SVal &location, const SVal &val, const Stmt *S, |
214 | 136k | CheckerContext &C) { |
215 | 136k | ((const CHECKER *)checker)->checkBind(location, val, S, C); |
216 | 136k | } AnalysisOrderChecker.cpp:void clang::ento::check::Bind::_checkBind<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::ento::SVal const&, clang::ento::SVal const&, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 214 | 5 | CheckerContext &C) { | 215 | 5 | ((const CHECKER *)checker)->checkBind(location, val, S, C); | 216 | 5 | } |
BoolAssignmentChecker.cpp:void clang::ento::check::Bind::_checkBind<(anonymous namespace)::BoolAssignmentChecker>(void*, clang::ento::SVal const&, clang::ento::SVal const&, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 214 | 1.95k | CheckerContext &C) { | 215 | 1.95k | ((const CHECKER *)checker)->checkBind(location, val, S, C); | 216 | 1.95k | } |
DereferenceChecker.cpp:void clang::ento::check::Bind::_checkBind<(anonymous namespace)::DereferenceChecker>(void*, clang::ento::SVal const&, clang::ento::SVal const&, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 214 | 65.5k | CheckerContext &C) { | 215 | 65.5k | ((const CHECKER *)checker)->checkBind(location, val, S, C); | 216 | 65.5k | } |
IteratorChecker.cpp:void clang::ento::check::Bind::_checkBind<(anonymous namespace)::IteratorChecker>(void*, clang::ento::SVal const&, clang::ento::SVal const&, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 214 | 959 | CheckerContext &C) { | 215 | 959 | ((const CHECKER *)checker)->checkBind(location, val, S, C); | 216 | 959 | } |
NullabilityChecker.cpp:void clang::ento::check::Bind::_checkBind<(anonymous namespace)::NullabilityChecker>(void*, clang::ento::SVal const&, clang::ento::SVal const&, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 214 | 510 | CheckerContext &C) { | 215 | 510 | ((const CHECKER *)checker)->checkBind(location, val, S, C); | 216 | 510 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::Bind::_checkBind<(anonymous namespace)::ObjCSelfInitChecker>(void*, clang::ento::SVal const&, clang::ento::SVal const&, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 214 | 234 | CheckerContext &C) { | 215 | 234 | ((const CHECKER *)checker)->checkBind(location, val, S, C); | 216 | 234 | } |
void clang::ento::check::Bind::_checkBind<clang::ento::retaincountchecker::RetainCountChecker>(void*, clang::ento::SVal const&, clang::ento::SVal const&, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 214 | 1.92k | CheckerContext &C) { | 215 | 1.92k | ((const CHECKER *)checker)->checkBind(location, val, S, C); | 216 | 1.92k | } |
UndefinedAssignmentChecker.cpp:void clang::ento::check::Bind::_checkBind<(anonymous namespace)::UndefinedAssignmentChecker>(void*, clang::ento::SVal const&, clang::ento::SVal const&, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 214 | 65.4k | CheckerContext &C) { | 215 | 65.4k | ((const CHECKER *)checker)->checkBind(location, val, S, C); | 216 | 65.4k | } |
VforkChecker.cpp:void clang::ento::check::Bind::_checkBind<(anonymous namespace)::VforkChecker>(void*, clang::ento::SVal const&, clang::ento::SVal const&, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 214 | 253 | CheckerContext &C) { | 215 | 253 | ((const CHECKER *)checker)->checkBind(location, val, S, C); | 216 | 253 | } |
|
217 | | |
218 | | public: |
219 | | template <typename CHECKER> |
220 | 1.59k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
221 | 1.59k | mgr._registerForBind( |
222 | 1.59k | CheckerManager::CheckBindFunc(checker, _checkBind<CHECKER>)); |
223 | 1.59k | } AnalysisOrderChecker.cpp:void clang::ento::check::Bind::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 220 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 221 | 8 | mgr._registerForBind( | 222 | 8 | CheckerManager::CheckBindFunc(checker, _checkBind<CHECKER>)); | 223 | 8 | } |
BoolAssignmentChecker.cpp:void clang::ento::check::Bind::_register<(anonymous namespace)::BoolAssignmentChecker>((anonymous namespace)::BoolAssignmentChecker*, clang::ento::CheckerManager&) Line | Count | Source | 220 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 221 | 71 | mgr._registerForBind( | 222 | 71 | CheckerManager::CheckBindFunc(checker, _checkBind<CHECKER>)); | 223 | 71 | } |
DereferenceChecker.cpp:void clang::ento::check::Bind::_register<(anonymous namespace)::DereferenceChecker>((anonymous namespace)::DereferenceChecker*, clang::ento::CheckerManager&) Line | Count | Source | 220 | 683 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 221 | 683 | mgr._registerForBind( | 222 | 683 | CheckerManager::CheckBindFunc(checker, _checkBind<CHECKER>)); | 223 | 683 | } |
IteratorChecker.cpp:void clang::ento::check::Bind::_register<(anonymous namespace)::IteratorChecker>((anonymous namespace)::IteratorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 220 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 221 | 8 | mgr._registerForBind( | 222 | 8 | CheckerManager::CheckBindFunc(checker, _checkBind<CHECKER>)); | 223 | 8 | } |
NullabilityChecker.cpp:void clang::ento::check::Bind::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 220 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 221 | 23 | mgr._registerForBind( | 222 | 23 | CheckerManager::CheckBindFunc(checker, _checkBind<CHECKER>)); | 223 | 23 | } |
ObjCSelfInitChecker.cpp:void clang::ento::check::Bind::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 220 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 221 | 26 | mgr._registerForBind( | 222 | 26 | CheckerManager::CheckBindFunc(checker, _checkBind<CHECKER>)); | 223 | 26 | } |
void clang::ento::check::Bind::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 220 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 221 | 71 | mgr._registerForBind( | 222 | 71 | CheckerManager::CheckBindFunc(checker, _checkBind<CHECKER>)); | 223 | 71 | } |
UndefinedAssignmentChecker.cpp:void clang::ento::check::Bind::_register<(anonymous namespace)::UndefinedAssignmentChecker>((anonymous namespace)::UndefinedAssignmentChecker*, clang::ento::CheckerManager&) Line | Count | Source | 220 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 221 | 675 | mgr._registerForBind( | 222 | 675 | CheckerManager::CheckBindFunc(checker, _checkBind<CHECKER>)); | 223 | 675 | } |
VforkChecker.cpp:void clang::ento::check::Bind::_register<(anonymous namespace)::VforkChecker>((anonymous namespace)::VforkChecker*, clang::ento::CheckerManager&) Line | Count | Source | 220 | 27 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 221 | 27 | mgr._registerForBind( | 222 | 27 | CheckerManager::CheckBindFunc(checker, _checkBind<CHECKER>)); | 223 | 27 | } |
|
224 | | }; |
225 | | |
226 | | class EndAnalysis { |
227 | | template <typename CHECKER> |
228 | | static void _checkEndAnalysis(void *checker, ExplodedGraph &G, |
229 | 5.71k | BugReporter &BR, ExprEngine &Eng) { |
230 | 5.71k | ((const CHECKER *)checker)->checkEndAnalysis(G, BR, Eng); |
231 | 5.71k | } AnalyzerStatsChecker.cpp:void clang::ento::check::EndAnalysis::_checkEndAnalysis<(anonymous namespace)::AnalyzerStatsChecker>(void*, clang::ento::ExplodedGraph&, clang::ento::BugReporter&, clang::ento::ExprEngine&) Line | Count | Source | 229 | 4 | BugReporter &BR, ExprEngine &Eng) { | 230 | 4 | ((const CHECKER *)checker)->checkEndAnalysis(G, BR, Eng); | 231 | 4 | } |
Unexecuted instantiation: DebugCheckers.cpp:void clang::ento::check::EndAnalysis::_checkEndAnalysis<(anonymous namespace)::ExplodedGraphViewer>(void*, clang::ento::ExplodedGraph&, clang::ento::BugReporter&, clang::ento::ExprEngine&) ExprInspectionChecker.cpp:void clang::ento::check::EndAnalysis::_checkEndAnalysis<(anonymous namespace)::ExprInspectionChecker>(void*, clang::ento::ExplodedGraph&, clang::ento::BugReporter&, clang::ento::ExprEngine&) Line | Count | Source | 229 | 5.37k | BugReporter &BR, ExprEngine &Eng) { | 230 | 5.37k | ((const CHECKER *)checker)->checkEndAnalysis(G, BR, Eng); | 231 | 5.37k | } |
UnreachableCodeChecker.cpp:void clang::ento::check::EndAnalysis::_checkEndAnalysis<(anonymous namespace)::UnreachableCodeChecker>(void*, clang::ento::ExplodedGraph&, clang::ento::BugReporter&, clang::ento::ExprEngine&) Line | Count | Source | 229 | 340 | BugReporter &BR, ExprEngine &Eng) { | 230 | 340 | ((const CHECKER *)checker)->checkEndAnalysis(G, BR, Eng); | 231 | 340 | } |
|
232 | | |
233 | | public: |
234 | | template <typename CHECKER> |
235 | 252 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
236 | 252 | mgr._registerForEndAnalysis( |
237 | 252 | CheckerManager::CheckEndAnalysisFunc(checker, _checkEndAnalysis<CHECKER>)); |
238 | 252 | } AnalyzerStatsChecker.cpp:void clang::ento::check::EndAnalysis::_register<(anonymous namespace)::AnalyzerStatsChecker>((anonymous namespace)::AnalyzerStatsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 235 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 236 | 2 | mgr._registerForEndAnalysis( | 237 | 2 | CheckerManager::CheckEndAnalysisFunc(checker, _checkEndAnalysis<CHECKER>)); | 238 | 2 | } |
Unexecuted instantiation: DebugCheckers.cpp:void clang::ento::check::EndAnalysis::_register<(anonymous namespace)::ExplodedGraphViewer>((anonymous namespace)::ExplodedGraphViewer*, clang::ento::CheckerManager&) ExprInspectionChecker.cpp:void clang::ento::check::EndAnalysis::_register<(anonymous namespace)::ExprInspectionChecker>((anonymous namespace)::ExprInspectionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 235 | 241 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 236 | 241 | mgr._registerForEndAnalysis( | 237 | 241 | CheckerManager::CheckEndAnalysisFunc(checker, _checkEndAnalysis<CHECKER>)); | 238 | 241 | } |
UnreachableCodeChecker.cpp:void clang::ento::check::EndAnalysis::_register<(anonymous namespace)::UnreachableCodeChecker>((anonymous namespace)::UnreachableCodeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 235 | 9 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 236 | 9 | mgr._registerForEndAnalysis( | 237 | 9 | CheckerManager::CheckEndAnalysisFunc(checker, _checkEndAnalysis<CHECKER>)); | 238 | 9 | } |
|
239 | | }; |
240 | | |
241 | | class BeginFunction { |
242 | | template <typename CHECKER> |
243 | 7.33k | static void _checkBeginFunction(void *checker, CheckerContext &C) { |
244 | 7.33k | ((const CHECKER *)checker)->checkBeginFunction(C); |
245 | 7.33k | } CheckObjCDealloc.cpp:void clang::ento::check::BeginFunction::_checkBeginFunction<(anonymous namespace)::ObjCDeallocChecker>(void*, clang::ento::CheckerContext&) Line | Count | Source | 243 | 565 | static void _checkBeginFunction(void *checker, CheckerContext &C) { | 244 | 565 | ((const CHECKER *)checker)->checkBeginFunction(C); | 245 | 565 | } |
CXXSelfAssignmentChecker.cpp:void clang::ento::check::BeginFunction::_checkBeginFunction<(anonymous namespace)::CXXSelfAssignmentChecker>(void*, clang::ento::CheckerContext&) Line | Count | Source | 243 | 4.72k | static void _checkBeginFunction(void *checker, CheckerContext &C) { | 244 | 4.72k | ((const CHECKER *)checker)->checkBeginFunction(C); | 245 | 4.72k | } |
void clang::ento::check::BeginFunction::_checkBeginFunction<clang::ento::retaincountchecker::RetainCountChecker>(void*, clang::ento::CheckerContext&) Line | Count | Source | 243 | 1.93k | static void _checkBeginFunction(void *checker, CheckerContext &C) { | 244 | 1.93k | ((const CHECKER *)checker)->checkBeginFunction(C); | 245 | 1.93k | } |
TraversalChecker.cpp:void clang::ento::check::BeginFunction::_checkBeginFunction<(anonymous namespace)::TraversalDumper>(void*, clang::ento::CheckerContext&) Line | Count | Source | 243 | 8 | static void _checkBeginFunction(void *checker, CheckerContext &C) { | 244 | 8 | ((const CHECKER *)checker)->checkBeginFunction(C); | 245 | 8 | } |
VirtualCallChecker.cpp:void clang::ento::check::BeginFunction::_checkBeginFunction<(anonymous namespace)::VirtualCallChecker>(void*, clang::ento::CheckerContext&) Line | Count | Source | 243 | 107 | static void _checkBeginFunction(void *checker, CheckerContext &C) { | 244 | 107 | ((const CHECKER *)checker)->checkBeginFunction(C); | 245 | 107 | } |
|
246 | | |
247 | | public: |
248 | | template <typename CHECKER> |
249 | 144 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
250 | 144 | mgr._registerForBeginFunction(CheckerManager::CheckBeginFunctionFunc( |
251 | 144 | checker, _checkBeginFunction<CHECKER>)); |
252 | 144 | } CheckObjCDealloc.cpp:void clang::ento::check::BeginFunction::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 249 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 250 | 28 | mgr._registerForBeginFunction(CheckerManager::CheckBeginFunctionFunc( | 251 | 28 | checker, _checkBeginFunction<CHECKER>)); | 252 | 28 | } |
CXXSelfAssignmentChecker.cpp:void clang::ento::check::BeginFunction::_register<(anonymous namespace)::CXXSelfAssignmentChecker>((anonymous namespace)::CXXSelfAssignmentChecker*, clang::ento::CheckerManager&) Line | Count | Source | 249 | 39 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 250 | 39 | mgr._registerForBeginFunction(CheckerManager::CheckBeginFunctionFunc( | 251 | 39 | checker, _checkBeginFunction<CHECKER>)); | 252 | 39 | } |
void clang::ento::check::BeginFunction::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 249 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 250 | 71 | mgr._registerForBeginFunction(CheckerManager::CheckBeginFunctionFunc( | 251 | 71 | checker, _checkBeginFunction<CHECKER>)); | 252 | 71 | } |
TraversalChecker.cpp:void clang::ento::check::BeginFunction::_register<(anonymous namespace)::TraversalDumper>((anonymous namespace)::TraversalDumper*, clang::ento::CheckerManager&) Line | Count | Source | 249 | 4 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 250 | 4 | mgr._registerForBeginFunction(CheckerManager::CheckBeginFunctionFunc( | 251 | 4 | checker, _checkBeginFunction<CHECKER>)); | 252 | 4 | } |
VirtualCallChecker.cpp:void clang::ento::check::BeginFunction::_register<(anonymous namespace)::VirtualCallChecker>((anonymous namespace)::VirtualCallChecker*, clang::ento::CheckerManager&) Line | Count | Source | 249 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 250 | 2 | mgr._registerForBeginFunction(CheckerManager::CheckBeginFunctionFunc( | 251 | 2 | checker, _checkBeginFunction<CHECKER>)); | 252 | 2 | } |
|
253 | | }; |
254 | | |
255 | | class EndFunction { |
256 | | template <typename CHECKER> |
257 | | static void _checkEndFunction(void *checker, const ReturnStmt *RS, |
258 | 79.5k | CheckerContext &C) { |
259 | 79.5k | ((const CHECKER *)checker)->checkEndFunction(RS, C); |
260 | 79.5k | } AnalysisOrderChecker.cpp:void clang::ento::check::EndFunction::_checkEndFunction<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::ReturnStmt const*, clang::ento::CheckerContext&) Line | Count | Source | 258 | 20 | CheckerContext &C) { | 259 | 20 | ((const CHECKER *)checker)->checkEndFunction(RS, C); | 260 | 20 | } |
CheckObjCDealloc.cpp:void clang::ento::check::EndFunction::_checkEndFunction<(anonymous namespace)::ObjCDeallocChecker>(void*, clang::ReturnStmt const*, clang::ento::CheckerContext&) Line | Count | Source | 258 | 582 | CheckerContext &C) { | 259 | 582 | ((const CHECKER *)checker)->checkEndFunction(RS, C); | 260 | 582 | } |
MallocChecker.cpp:void clang::ento::check::EndFunction::_checkEndFunction<(anonymous namespace)::MallocChecker>(void*, clang::ReturnStmt const*, clang::ento::CheckerContext&) Line | Count | Source | 258 | 19.2k | CheckerContext &C) { | 259 | 19.2k | ((const CHECKER *)checker)->checkEndFunction(RS, C); | 260 | 19.2k | } |
MIGChecker.cpp:void clang::ento::check::EndFunction::_checkEndFunction<(anonymous namespace)::MIGChecker>(void*, clang::ReturnStmt const*, clang::ento::CheckerContext&) Line | Count | Source | 258 | 270 | CheckerContext &C) { | 259 | 270 | ((const CHECKER *)checker)->checkEndFunction(RS, C); | 260 | 270 | } |
void clang::ento::check::EndFunction::_checkEndFunction<clang::ento::retaincountchecker::RetainCountChecker>(void*, clang::ReturnStmt const*, clang::ento::CheckerContext&) Line | Count | Source | 258 | 1.95k | CheckerContext &C) { | 259 | 1.95k | ((const CHECKER *)checker)->checkEndFunction(RS, C); | 260 | 1.95k | } |
ReturnValueChecker.cpp:void clang::ento::check::EndFunction::_checkEndFunction<(anonymous namespace)::ReturnValueChecker>(void*, clang::ReturnStmt const*, clang::ento::CheckerContext&) Line | Count | Source | 258 | 62 | CheckerContext &C) { | 259 | 62 | ((const CHECKER *)checker)->checkEndFunction(RS, C); | 260 | 62 | } |
StackAddrEscapeChecker.cpp:void clang::ento::check::EndFunction::_checkEndFunction<(anonymous namespace)::StackAddrEscapeChecker>(void*, clang::ReturnStmt const*, clang::ento::CheckerContext&) Line | Count | Source | 258 | 54.9k | CheckerContext &C) { | 259 | 54.9k | ((const CHECKER *)checker)->checkEndFunction(RS, C); | 260 | 54.9k | } |
TestAfterDivZeroChecker.cpp:void clang::ento::check::EndFunction::_checkEndFunction<(anonymous namespace)::TestAfterDivZeroChecker>(void*, clang::ReturnStmt const*, clang::ento::CheckerContext&) Line | Count | Source | 258 | 1.61k | CheckerContext &C) { | 259 | 1.61k | ((const CHECKER *)checker)->checkEndFunction(RS, C); | 260 | 1.61k | } |
TraversalChecker.cpp:void clang::ento::check::EndFunction::_checkEndFunction<(anonymous namespace)::TraversalDumper>(void*, clang::ReturnStmt const*, clang::ento::CheckerContext&) Line | Count | Source | 258 | 9 | CheckerContext &C) { | 259 | 9 | ((const CHECKER *)checker)->checkEndFunction(RS, C); | 260 | 9 | } |
UninitializedObjectChecker.cpp:void clang::ento::check::EndFunction::_checkEndFunction<(anonymous namespace)::UninitializedObjectChecker>(void*, clang::ReturnStmt const*, clang::ento::CheckerContext&) Line | Count | Source | 258 | 777 | CheckerContext &C) { | 259 | 777 | ((const CHECKER *)checker)->checkEndFunction(RS, C); | 260 | 777 | } |
VirtualCallChecker.cpp:void clang::ento::check::EndFunction::_checkEndFunction<(anonymous namespace)::VirtualCallChecker>(void*, clang::ReturnStmt const*, clang::ento::CheckerContext&) Line | Count | Source | 258 | 104 | CheckerContext &C) { | 259 | 104 | ((const CHECKER *)checker)->checkEndFunction(RS, C); | 260 | 104 | } |
|
261 | | |
262 | | public: |
263 | | template <typename CHECKER> |
264 | 1.08k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
265 | 1.08k | mgr._registerForEndFunction( |
266 | 1.08k | CheckerManager::CheckEndFunctionFunc(checker, _checkEndFunction<CHECKER>)); |
267 | 1.08k | } AnalysisOrderChecker.cpp:void clang::ento::check::EndFunction::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 264 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 265 | 8 | mgr._registerForEndFunction( | 266 | 8 | CheckerManager::CheckEndFunctionFunc(checker, _checkEndFunction<CHECKER>)); | 267 | 8 | } |
CheckObjCDealloc.cpp:void clang::ento::check::EndFunction::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 264 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 265 | 28 | mgr._registerForEndFunction( | 266 | 28 | CheckerManager::CheckEndFunctionFunc(checker, _checkEndFunction<CHECKER>)); | 267 | 28 | } |
MallocChecker.cpp:void clang::ento::check::EndFunction::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 264 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 265 | 179 | mgr._registerForEndFunction( | 266 | 179 | CheckerManager::CheckEndFunctionFunc(checker, _checkEndFunction<CHECKER>)); | 267 | 179 | } |
MIGChecker.cpp:void clang::ento::check::EndFunction::_register<(anonymous namespace)::MIGChecker>((anonymous namespace)::MIGChecker*, clang::ento::CheckerManager&) Line | Count | Source | 264 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 265 | 24 | mgr._registerForEndFunction( | 266 | 24 | CheckerManager::CheckEndFunctionFunc(checker, _checkEndFunction<CHECKER>)); | 267 | 24 | } |
void clang::ento::check::EndFunction::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 264 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 265 | 71 | mgr._registerForEndFunction( | 266 | 71 | CheckerManager::CheckEndFunctionFunc(checker, _checkEndFunction<CHECKER>)); | 267 | 71 | } |
ReturnValueChecker.cpp:void clang::ento::check::EndFunction::_register<(anonymous namespace)::ReturnValueChecker>((anonymous namespace)::ReturnValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 264 | 11 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 265 | 11 | mgr._registerForEndFunction( | 266 | 11 | CheckerManager::CheckEndFunctionFunc(checker, _checkEndFunction<CHECKER>)); | 267 | 11 | } |
StackAddrEscapeChecker.cpp:void clang::ento::check::EndFunction::_register<(anonymous namespace)::StackAddrEscapeChecker>((anonymous namespace)::StackAddrEscapeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 264 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 265 | 675 | mgr._registerForEndFunction( | 266 | 675 | CheckerManager::CheckEndFunctionFunc(checker, _checkEndFunction<CHECKER>)); | 267 | 675 | } |
TestAfterDivZeroChecker.cpp:void clang::ento::check::EndFunction::_register<(anonymous namespace)::TestAfterDivZeroChecker>((anonymous namespace)::TestAfterDivZeroChecker*, clang::ento::CheckerManager&) Line | Count | Source | 264 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 265 | 71 | mgr._registerForEndFunction( | 266 | 71 | CheckerManager::CheckEndFunctionFunc(checker, _checkEndFunction<CHECKER>)); | 267 | 71 | } |
TraversalChecker.cpp:void clang::ento::check::EndFunction::_register<(anonymous namespace)::TraversalDumper>((anonymous namespace)::TraversalDumper*, clang::ento::CheckerManager&) Line | Count | Source | 264 | 4 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 265 | 4 | mgr._registerForEndFunction( | 266 | 4 | CheckerManager::CheckEndFunctionFunc(checker, _checkEndFunction<CHECKER>)); | 267 | 4 | } |
UninitializedObjectChecker.cpp:void clang::ento::check::EndFunction::_register<(anonymous namespace)::UninitializedObjectChecker>((anonymous namespace)::UninitializedObjectChecker*, clang::ento::CheckerManager&) Line | Count | Source | 264 | 11 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 265 | 11 | mgr._registerForEndFunction( | 266 | 11 | CheckerManager::CheckEndFunctionFunc(checker, _checkEndFunction<CHECKER>)); | 267 | 11 | } |
VirtualCallChecker.cpp:void clang::ento::check::EndFunction::_register<(anonymous namespace)::VirtualCallChecker>((anonymous namespace)::VirtualCallChecker*, clang::ento::CheckerManager&) Line | Count | Source | 264 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 265 | 2 | mgr._registerForEndFunction( | 266 | 2 | CheckerManager::CheckEndFunctionFunc(checker, _checkEndFunction<CHECKER>)); | 267 | 2 | } |
|
268 | | }; |
269 | | |
270 | | class BranchCondition { |
271 | | template <typename CHECKER> |
272 | | static void _checkBranchCondition(void *checker, const Stmt *Condition, |
273 | 41.7k | CheckerContext & C) { |
274 | 41.7k | ((const CHECKER *)checker)->checkBranchCondition(Condition, C); |
275 | 41.7k | } TestAfterDivZeroChecker.cpp:void clang::ento::check::BranchCondition::_checkBranchCondition<(anonymous namespace)::TestAfterDivZeroChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 273 | 1.45k | CheckerContext & C) { | 274 | 1.45k | ((const CHECKER *)checker)->checkBranchCondition(Condition, C); | 275 | 1.45k | } |
TraversalChecker.cpp:void clang::ento::check::BranchCondition::_checkBranchCondition<(anonymous namespace)::TraversalDumper>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 273 | 45 | CheckerContext & C) { | 274 | 45 | ((const CHECKER *)checker)->checkBranchCondition(Condition, C); | 275 | 45 | } |
UndefBranchChecker.cpp:void clang::ento::check::BranchCondition::_checkBranchCondition<(anonymous namespace)::UndefBranchChecker>(void*, clang::Stmt const*, clang::ento::CheckerContext&) Line | Count | Source | 273 | 40.2k | CheckerContext & C) { | 274 | 40.2k | ((const CHECKER *)checker)->checkBranchCondition(Condition, C); | 275 | 40.2k | } |
|
276 | | |
277 | | public: |
278 | | template <typename CHECKER> |
279 | 750 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
280 | 750 | mgr._registerForBranchCondition( |
281 | 750 | CheckerManager::CheckBranchConditionFunc(checker, |
282 | 750 | _checkBranchCondition<CHECKER>)); |
283 | 750 | } TestAfterDivZeroChecker.cpp:void clang::ento::check::BranchCondition::_register<(anonymous namespace)::TestAfterDivZeroChecker>((anonymous namespace)::TestAfterDivZeroChecker*, clang::ento::CheckerManager&) Line | Count | Source | 279 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 280 | 71 | mgr._registerForBranchCondition( | 281 | 71 | CheckerManager::CheckBranchConditionFunc(checker, | 282 | 71 | _checkBranchCondition<CHECKER>)); | 283 | 71 | } |
TraversalChecker.cpp:void clang::ento::check::BranchCondition::_register<(anonymous namespace)::TraversalDumper>((anonymous namespace)::TraversalDumper*, clang::ento::CheckerManager&) Line | Count | Source | 279 | 4 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 280 | 4 | mgr._registerForBranchCondition( | 281 | 4 | CheckerManager::CheckBranchConditionFunc(checker, | 282 | 4 | _checkBranchCondition<CHECKER>)); | 283 | 4 | } |
UndefBranchChecker.cpp:void clang::ento::check::BranchCondition::_register<(anonymous namespace)::UndefBranchChecker>((anonymous namespace)::UndefBranchChecker*, clang::ento::CheckerManager&) Line | Count | Source | 279 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 280 | 675 | mgr._registerForBranchCondition( | 281 | 675 | CheckerManager::CheckBranchConditionFunc(checker, | 282 | 675 | _checkBranchCondition<CHECKER>)); | 283 | 675 | } |
|
284 | | }; |
285 | | |
286 | | class NewAllocator { |
287 | | template <typename CHECKER> |
288 | | static void _checkNewAllocator(void *checker, const CXXNewExpr *NE, |
289 | 624 | SVal Target, CheckerContext &C) { |
290 | 624 | ((const CHECKER *)checker)->checkNewAllocator(NE, Target, C); |
291 | 624 | } AnalysisOrderChecker.cpp:void clang::ento::check::NewAllocator::_checkNewAllocator<(anonymous namespace)::AnalysisOrderChecker>(void*, clang::CXXNewExpr const*, clang::ento::SVal, clang::ento::CheckerContext&) Line | Count | Source | 289 | 1 | SVal Target, CheckerContext &C) { | 290 | 1 | ((const CHECKER *)checker)->checkNewAllocator(NE, Target, C); | 291 | 1 | } |
MallocChecker.cpp:void clang::ento::check::NewAllocator::_checkNewAllocator<(anonymous namespace)::MallocChecker>(void*, clang::CXXNewExpr const*, clang::ento::SVal, clang::ento::CheckerContext&) Line | Count | Source | 289 | 623 | SVal Target, CheckerContext &C) { | 290 | 623 | ((const CHECKER *)checker)->checkNewAllocator(NE, Target, C); | 291 | 623 | } |
|
292 | | |
293 | | public: |
294 | | template <typename CHECKER> |
295 | 187 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
296 | 187 | mgr._registerForNewAllocator( |
297 | 187 | CheckerManager::CheckNewAllocatorFunc(checker, |
298 | 187 | _checkNewAllocator<CHECKER>)); |
299 | 187 | } AnalysisOrderChecker.cpp:void clang::ento::check::NewAllocator::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 295 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 296 | 8 | mgr._registerForNewAllocator( | 297 | 8 | CheckerManager::CheckNewAllocatorFunc(checker, | 298 | 8 | _checkNewAllocator<CHECKER>)); | 299 | 8 | } |
MallocChecker.cpp:void clang::ento::check::NewAllocator::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 295 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 296 | 179 | mgr._registerForNewAllocator( | 297 | 179 | CheckerManager::CheckNewAllocatorFunc(checker, | 298 | 179 | _checkNewAllocator<CHECKER>)); | 299 | 179 | } |
|
300 | | }; |
301 | | |
302 | | class LiveSymbols { |
303 | | template <typename CHECKER> |
304 | | static void _checkLiveSymbols(void *checker, ProgramStateRef state, |
305 | 114k | SymbolReaper &SR) { |
306 | 114k | ((const CHECKER *)checker)->checkLiveSymbols(state, SR); |
307 | 114k | } AnalysisOrderChecker.cpp:void clang::ento::check::LiveSymbols::_checkLiveSymbols<(anonymous namespace)::AnalysisOrderChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SymbolReaper&) Line | Count | Source | 305 | 49 | SymbolReaper &SR) { | 306 | 49 | ((const CHECKER *)checker)->checkLiveSymbols(state, SR); | 307 | 49 | } |
CStringChecker.cpp:void clang::ento::check::LiveSymbols::_checkLiveSymbols<(anonymous namespace)::CStringChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SymbolReaper&) Line | Count | Source | 305 | 107k | SymbolReaper &SR) { | 306 | 107k | ((const CHECKER *)checker)->checkLiveSymbols(state, SR); | 307 | 107k | } |
IteratorChecker.cpp:void clang::ento::check::LiveSymbols::_checkLiveSymbols<(anonymous namespace)::IteratorChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SymbolReaper&) Line | Count | Source | 305 | 6.90k | SymbolReaper &SR) { | 306 | 6.90k | ((const CHECKER *)checker)->checkLiveSymbols(state, SR); | 307 | 6.90k | } |
|
308 | | |
309 | | public: |
310 | | template <typename CHECKER> |
311 | 214 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
312 | 214 | mgr._registerForLiveSymbols( |
313 | 214 | CheckerManager::CheckLiveSymbolsFunc(checker, _checkLiveSymbols<CHECKER>)); |
314 | 214 | } AnalysisOrderChecker.cpp:void clang::ento::check::LiveSymbols::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 311 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 312 | 8 | mgr._registerForLiveSymbols( | 313 | 8 | CheckerManager::CheckLiveSymbolsFunc(checker, _checkLiveSymbols<CHECKER>)); | 314 | 8 | } |
CStringChecker.cpp:void clang::ento::check::LiveSymbols::_register<(anonymous namespace)::CStringChecker>((anonymous namespace)::CStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 311 | 198 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 312 | 198 | mgr._registerForLiveSymbols( | 313 | 198 | CheckerManager::CheckLiveSymbolsFunc(checker, _checkLiveSymbols<CHECKER>)); | 314 | 198 | } |
IteratorChecker.cpp:void clang::ento::check::LiveSymbols::_register<(anonymous namespace)::IteratorChecker>((anonymous namespace)::IteratorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 311 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 312 | 8 | mgr._registerForLiveSymbols( | 313 | 8 | CheckerManager::CheckLiveSymbolsFunc(checker, _checkLiveSymbols<CHECKER>)); | 314 | 8 | } |
|
315 | | }; |
316 | | |
317 | | class DeadSymbols { |
318 | | template <typename CHECKER> |
319 | | static void _checkDeadSymbols(void *checker, |
320 | 991k | SymbolReaper &SR, CheckerContext &C) { |
321 | 991k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); |
322 | 991k | } BasicObjCFoundationChecks.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::ObjCLoopChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 2.53k | SymbolReaper &SR, CheckerContext &C) { | 321 | 2.53k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 2.53k | } |
CStringChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::CStringChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 107k | SymbolReaper &SR, CheckerContext &C) { | 321 | 107k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 107k | } |
DynamicTypePropagation.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::DynamicTypePropagation>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 308k | SymbolReaper &SR, CheckerContext &C) { | 321 | 308k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 308k | } |
ExprInspectionChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::ExprInspectionChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 134k | SymbolReaper &SR, CheckerContext &C) { | 321 | 134k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 134k | } |
InnerPointerChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::InnerPointerChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 62.5k | SymbolReaper &SR, CheckerContext &C) { | 321 | 62.5k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 62.5k | } |
IteratorChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::IteratorChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 6.90k | SymbolReaper &SR, CheckerContext &C) { | 321 | 6.90k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 6.90k | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::MacOSKeychainAPIChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 1.52k | SymbolReaper &SR, CheckerContext &C) { | 321 | 1.52k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 1.52k | } |
MallocChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::MallocChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 105k | SymbolReaper &SR, CheckerContext &C) { | 321 | 105k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 105k | } |
MoveChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::MoveChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 130k | SymbolReaper &SR, CheckerContext &C) { | 321 | 130k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 130k | } |
void clang::ento::check::DeadSymbols::_checkDeadSymbols<clang::ento::mpi::MPIChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 326 | SymbolReaper &SR, CheckerContext &C) { | 321 | 326 | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 326 | } |
NullabilityChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::NullabilityChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 3.01k | SymbolReaper &SR, CheckerContext &C) { | 321 | 3.01k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 3.01k | } |
PointerArithChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::PointerArithChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 109k | SymbolReaper &SR, CheckerContext &C) { | 321 | 109k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 109k | } |
PthreadLockChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::PthreadLockChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 475 | SymbolReaper &SR, CheckerContext &C) { | 321 | 475 | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 475 | } |
void clang::ento::check::DeadSymbols::_checkDeadSymbols<clang::ento::retaincountchecker::RetainCountChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 12.1k | SymbolReaper &SR, CheckerContext &C) { | 321 | 12.1k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 12.1k | } |
SimpleStreamChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::SimpleStreamChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 276 | SymbolReaper &SR, CheckerContext &C) { | 321 | 276 | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 276 | } |
StreamChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::StreamChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 263 | SymbolReaper &SR, CheckerContext &C) { | 321 | 263 | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 263 | } |
TrustNonnullChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::TrustNonnullChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 2.60k | SymbolReaper &SR, CheckerContext &C) { | 321 | 2.60k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 2.60k | } |
UninitializedObjectChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::UninitializedObjectChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 2.25k | SymbolReaper &SR, CheckerContext &C) { | 321 | 2.25k | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 2.25k | } |
ValistChecker.cpp:void clang::ento::check::DeadSymbols::_checkDeadSymbols<(anonymous namespace)::ValistChecker>(void*, clang::ento::SymbolReaper&, clang::ento::CheckerContext&) Line | Count | Source | 320 | 585 | SymbolReaper &SR, CheckerContext &C) { | 321 | 585 | ((const CHECKER *)checker)->checkDeadSymbols(SR, C); | 322 | 585 | } |
|
323 | | |
324 | | public: |
325 | | template <typename CHECKER> |
326 | 1.65k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
327 | 1.65k | mgr._registerForDeadSymbols( |
328 | 1.65k | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); |
329 | 1.65k | } BasicObjCFoundationChecks.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::ObjCLoopChecker>((anonymous namespace)::ObjCLoopChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 25 | mgr._registerForDeadSymbols( | 328 | 25 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 25 | } |
CStringChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::CStringChecker>((anonymous namespace)::CStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 198 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 198 | mgr._registerForDeadSymbols( | 328 | 198 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 198 | } |
DynamicTypePropagation.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 676 | mgr._registerForDeadSymbols( | 328 | 676 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 676 | } |
ExprInspectionChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::ExprInspectionChecker>((anonymous namespace)::ExprInspectionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 241 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 241 | mgr._registerForDeadSymbols( | 328 | 241 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 241 | } |
InnerPointerChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::InnerPointerChecker>((anonymous namespace)::InnerPointerChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 40 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 40 | mgr._registerForDeadSymbols( | 328 | 40 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 40 | } |
IteratorChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::IteratorChecker>((anonymous namespace)::IteratorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 8 | mgr._registerForDeadSymbols( | 328 | 8 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 8 | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::MacOSKeychainAPIChecker>((anonymous namespace)::MacOSKeychainAPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 25 | mgr._registerForDeadSymbols( | 328 | 25 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 25 | } |
MallocChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 179 | mgr._registerForDeadSymbols( | 328 | 179 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 179 | } |
MoveChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::MoveChecker>((anonymous namespace)::MoveChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 49 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 49 | mgr._registerForDeadSymbols( | 328 | 49 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 49 | } |
void clang::ento::check::DeadSymbols::_register<clang::ento::mpi::MPIChecker>(clang::ento::mpi::MPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 3 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 3 | mgr._registerForDeadSymbols( | 328 | 3 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 3 | } |
NullabilityChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 23 | mgr._registerForDeadSymbols( | 328 | 23 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 23 | } |
PointerArithChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 73 | mgr._registerForDeadSymbols( | 328 | 73 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 73 | } |
PthreadLockChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::PthreadLockChecker>((anonymous namespace)::PthreadLockChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 5 | mgr._registerForDeadSymbols( | 328 | 5 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 5 | } |
void clang::ento::check::DeadSymbols::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 71 | mgr._registerForDeadSymbols( | 328 | 71 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 71 | } |
SimpleStreamChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::SimpleStreamChecker>((anonymous namespace)::SimpleStreamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 5 | mgr._registerForDeadSymbols( | 328 | 5 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 5 | } |
StreamChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::StreamChecker>((anonymous namespace)::StreamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 5 | mgr._registerForDeadSymbols( | 328 | 5 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 5 | } |
TrustNonnullChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::TrustNonnullChecker>((anonymous namespace)::TrustNonnullChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 10 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 10 | mgr._registerForDeadSymbols( | 328 | 10 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 10 | } |
UninitializedObjectChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::UninitializedObjectChecker>((anonymous namespace)::UninitializedObjectChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 11 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 11 | mgr._registerForDeadSymbols( | 328 | 11 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 11 | } |
ValistChecker.cpp:void clang::ento::check::DeadSymbols::_register<(anonymous namespace)::ValistChecker>((anonymous namespace)::ValistChecker*, clang::ento::CheckerManager&) Line | Count | Source | 326 | 7 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 327 | 7 | mgr._registerForDeadSymbols( | 328 | 7 | CheckerManager::CheckDeadSymbolsFunc(checker, _checkDeadSymbols<CHECKER>)); | 329 | 7 | } |
|
330 | | }; |
331 | | |
332 | | class RegionChanges { |
333 | | template <typename CHECKER> |
334 | | static ProgramStateRef |
335 | | _checkRegionChanges(void *checker, |
336 | | ProgramStateRef state, |
337 | | const InvalidatedSymbols *invalidated, |
338 | | ArrayRef<const MemRegion *> Explicits, |
339 | | ArrayRef<const MemRegion *> Regions, |
340 | | const LocationContext *LCtx, |
341 | 95.9k | const CallEvent *Call) { |
342 | 95.9k | return ((const CHECKER *) checker)->checkRegionChanges(state, invalidated, |
343 | 95.9k | Explicits, Regions, |
344 | 95.9k | LCtx, Call); |
345 | 95.9k | } AnalysisOrderChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::check::RegionChanges::_checkRegionChanges<(anonymous namespace)::AnalysisOrderChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, llvm::DenseSet<clang::ento::SymExpr const*, llvm::DenseMapInfo<clang::ento::SymExpr const*> > const*, llvm::ArrayRef<clang::ento::MemRegion const*>, llvm::ArrayRef<clang::ento::MemRegion const*>, clang::LocationContext const*, clang::ento::CallEvent const*) Line | Count | Source | 341 | 16 | const CallEvent *Call) { | 342 | 16 | return ((const CHECKER *) checker)->checkRegionChanges(state, invalidated, | 343 | 16 | Explicits, Regions, | 344 | 16 | LCtx, Call); | 345 | 16 | } |
CStringChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::check::RegionChanges::_checkRegionChanges<(anonymous namespace)::CStringChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, llvm::DenseSet<clang::ento::SymExpr const*, llvm::DenseMapInfo<clang::ento::SymExpr const*> > const*, llvm::ArrayRef<clang::ento::MemRegion const*>, llvm::ArrayRef<clang::ento::MemRegion const*>, clang::LocationContext const*, clang::ento::CallEvent const*) Line | Count | Source | 341 | 51.4k | const CallEvent *Call) { | 342 | 51.4k | return ((const CHECKER *) checker)->checkRegionChanges(state, invalidated, | 343 | 51.4k | Explicits, Regions, | 344 | 51.4k | LCtx, Call); | 345 | 51.4k | } |
MoveChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::check::RegionChanges::_checkRegionChanges<(anonymous namespace)::MoveChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, llvm::DenseSet<clang::ento::SymExpr const*, llvm::DenseMapInfo<clang::ento::SymExpr const*> > const*, llvm::ArrayRef<clang::ento::MemRegion const*>, llvm::ArrayRef<clang::ento::MemRegion const*>, clang::LocationContext const*, clang::ento::CallEvent const*) Line | Count | Source | 341 | 38.7k | const CallEvent *Call) { | 342 | 38.7k | return ((const CHECKER *) checker)->checkRegionChanges(state, invalidated, | 343 | 38.7k | Explicits, Regions, | 344 | 38.7k | LCtx, Call); | 345 | 38.7k | } |
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::check::RegionChanges::_checkRegionChanges<clang::ento::retaincountchecker::RetainCountChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, llvm::DenseSet<clang::ento::SymExpr const*, llvm::DenseMapInfo<clang::ento::SymExpr const*> > const*, llvm::ArrayRef<clang::ento::MemRegion const*>, llvm::ArrayRef<clang::ento::MemRegion const*>, clang::LocationContext const*, clang::ento::CallEvent const*) Line | Count | Source | 341 | 5.60k | const CallEvent *Call) { | 342 | 5.60k | return ((const CHECKER *) checker)->checkRegionChanges(state, invalidated, | 343 | 5.60k | Explicits, Regions, | 344 | 5.60k | LCtx, Call); | 345 | 5.60k | } |
|
346 | | |
347 | | public: |
348 | | template <typename CHECKER> |
349 | 326 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
350 | 326 | mgr._registerForRegionChanges( |
351 | 326 | CheckerManager::CheckRegionChangesFunc(checker, |
352 | 326 | _checkRegionChanges<CHECKER>)); |
353 | 326 | } AnalysisOrderChecker.cpp:void clang::ento::check::RegionChanges::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 349 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 350 | 8 | mgr._registerForRegionChanges( | 351 | 8 | CheckerManager::CheckRegionChangesFunc(checker, | 352 | 8 | _checkRegionChanges<CHECKER>)); | 353 | 8 | } |
CStringChecker.cpp:void clang::ento::check::RegionChanges::_register<(anonymous namespace)::CStringChecker>((anonymous namespace)::CStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 349 | 198 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 350 | 198 | mgr._registerForRegionChanges( | 351 | 198 | CheckerManager::CheckRegionChangesFunc(checker, | 352 | 198 | _checkRegionChanges<CHECKER>)); | 353 | 198 | } |
MoveChecker.cpp:void clang::ento::check::RegionChanges::_register<(anonymous namespace)::MoveChecker>((anonymous namespace)::MoveChecker*, clang::ento::CheckerManager&) Line | Count | Source | 349 | 49 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 350 | 49 | mgr._registerForRegionChanges( | 351 | 49 | CheckerManager::CheckRegionChangesFunc(checker, | 352 | 49 | _checkRegionChanges<CHECKER>)); | 353 | 49 | } |
void clang::ento::check::RegionChanges::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 349 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 350 | 71 | mgr._registerForRegionChanges( | 351 | 71 | CheckerManager::CheckRegionChangesFunc(checker, | 352 | 71 | _checkRegionChanges<CHECKER>)); | 353 | 71 | } |
|
354 | | }; |
355 | | |
356 | | class PointerEscape { |
357 | | template <typename CHECKER> |
358 | | static ProgramStateRef |
359 | | _checkPointerEscape(void *Checker, |
360 | | ProgramStateRef State, |
361 | | const InvalidatedSymbols &Escaped, |
362 | | const CallEvent *Call, |
363 | | PointerEscapeKind Kind, |
364 | 13.2k | RegionAndSymbolInvalidationTraits *ETraits) { |
365 | 13.2k | |
366 | 13.2k | if (!ETraits) |
367 | 1.40k | return ((const CHECKER *)Checker)->checkPointerEscape(State, |
368 | 1.40k | Escaped, |
369 | 1.40k | Call, |
370 | 1.40k | Kind); |
371 | 11.7k | |
372 | 11.7k | InvalidatedSymbols RegularEscape; |
373 | 11.7k | for (InvalidatedSymbols::const_iterator I = Escaped.begin(), |
374 | 36.7k | E = Escaped.end(); I != E; ++I24.9k ) |
375 | 24.9k | if (!ETraits->hasTrait(*I, |
376 | 24.9k | RegionAndSymbolInvalidationTraits::TK_PreserveContents) && |
377 | 24.9k | !ETraits->hasTrait(*I, |
378 | 24.3k | RegionAndSymbolInvalidationTraits::TK_SuppressEscape)) |
379 | 24.3k | RegularEscape.insert(*I); |
380 | 11.7k | |
381 | 11.7k | if (RegularEscape.empty()) |
382 | 567 | return State; |
383 | 11.2k | |
384 | 11.2k | return ((const CHECKER *)Checker)->checkPointerEscape(State, |
385 | 11.2k | RegularEscape, |
386 | 11.2k | Call, |
387 | 11.2k | Kind); |
388 | 11.2k | } BasicObjCFoundationChecks.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::check::PointerEscape::_checkPointerEscape<(anonymous namespace)::ObjCLoopChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, llvm::DenseSet<clang::ento::SymExpr const*, llvm::DenseMapInfo<clang::ento::SymExpr const*> > const&, clang::ento::CallEvent const*, clang::ento::PointerEscapeKind, clang::ento::RegionAndSymbolInvalidationTraits*) Line | Count | Source | 364 | 356 | RegionAndSymbolInvalidationTraits *ETraits) { | 365 | 356 | | 366 | 356 | if (!ETraits) | 367 | 59 | return ((const CHECKER *)Checker)->checkPointerEscape(State, | 368 | 59 | Escaped, | 369 | 59 | Call, | 370 | 59 | Kind); | 371 | 297 | | 372 | 297 | InvalidatedSymbols RegularEscape; | 373 | 297 | for (InvalidatedSymbols::const_iterator I = Escaped.begin(), | 374 | 795 | E = Escaped.end(); I != E; ++I498 ) | 375 | 498 | if (!ETraits->hasTrait(*I, | 376 | 498 | RegionAndSymbolInvalidationTraits::TK_PreserveContents) && | 377 | 498 | !ETraits->hasTrait(*I, | 378 | 474 | RegionAndSymbolInvalidationTraits::TK_SuppressEscape)) | 379 | 474 | RegularEscape.insert(*I); | 380 | 297 | | 381 | 297 | if (RegularEscape.empty()) | 382 | 24 | return State; | 383 | 273 | | 384 | 273 | return ((const CHECKER *)Checker)->checkPointerEscape(State, | 385 | 273 | RegularEscape, | 386 | 273 | Call, | 387 | 273 | Kind); | 388 | 273 | } |
CheckObjCDealloc.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::check::PointerEscape::_checkPointerEscape<(anonymous namespace)::ObjCDeallocChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, llvm::DenseSet<clang::ento::SymExpr const*, llvm::DenseMapInfo<clang::ento::SymExpr const*> > const&, clang::ento::CallEvent const*, clang::ento::PointerEscapeKind, clang::ento::RegionAndSymbolInvalidationTraits*) Line | Count | Source | 364 | 931 | RegionAndSymbolInvalidationTraits *ETraits) { | 365 | 931 | | 366 | 931 | if (!ETraits) | 367 | 68 | return ((const CHECKER *)Checker)->checkPointerEscape(State, | 368 | 68 | Escaped, | 369 | 68 | Call, | 370 | 68 | Kind); | 371 | 863 | | 372 | 863 | InvalidatedSymbols RegularEscape; | 373 | 863 | for (InvalidatedSymbols::const_iterator I = Escaped.begin(), | 374 | 2.15k | E = Escaped.end(); I != E; ++I1.28k ) | 375 | 1.28k | if (!ETraits->hasTrait(*I, | 376 | 1.28k | RegionAndSymbolInvalidationTraits::TK_PreserveContents) && | 377 | 1.28k | !ETraits->hasTrait(*I, | 378 | 1.24k | RegionAndSymbolInvalidationTraits::TK_SuppressEscape)) | 379 | 1.24k | RegularEscape.insert(*I); | 380 | 863 | | 381 | 863 | if (RegularEscape.empty()) | 382 | 38 | return State; | 383 | 825 | | 384 | 825 | return ((const CHECKER *)Checker)->checkPointerEscape(State, | 385 | 825 | RegularEscape, | 386 | 825 | Call, | 387 | 825 | Kind); | 388 | 825 | } |
MacOSKeychainAPIChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::check::PointerEscape::_checkPointerEscape<(anonymous namespace)::MacOSKeychainAPIChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, llvm::DenseSet<clang::ento::SymExpr const*, llvm::DenseMapInfo<clang::ento::SymExpr const*> > const&, clang::ento::CallEvent const*, clang::ento::PointerEscapeKind, clang::ento::RegionAndSymbolInvalidationTraits*) Line | Count | Source | 364 | 255 | RegionAndSymbolInvalidationTraits *ETraits) { | 365 | 255 | | 366 | 255 | if (!ETraits) | 367 | 25 | return ((const CHECKER *)Checker)->checkPointerEscape(State, | 368 | 25 | Escaped, | 369 | 25 | Call, | 370 | 25 | Kind); | 371 | 230 | | 372 | 230 | InvalidatedSymbols RegularEscape; | 373 | 230 | for (InvalidatedSymbols::const_iterator I = Escaped.begin(), | 374 | 611 | E = Escaped.end(); I != E; ++I381 ) | 375 | 381 | if (!ETraits->hasTrait(*I, | 376 | 381 | RegionAndSymbolInvalidationTraits::TK_PreserveContents) && | 377 | 381 | !ETraits->hasTrait(*I, | 378 | 350 | RegionAndSymbolInvalidationTraits::TK_SuppressEscape)) | 379 | 350 | RegularEscape.insert(*I); | 380 | 230 | | 381 | 230 | if (RegularEscape.empty()) | 382 | 28 | return State; | 383 | 202 | | 384 | 202 | return ((const CHECKER *)Checker)->checkPointerEscape(State, | 385 | 202 | RegularEscape, | 386 | 202 | Call, | 387 | 202 | Kind); | 388 | 202 | } |
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::check::PointerEscape::_checkPointerEscape<(anonymous namespace)::MallocChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, llvm::DenseSet<clang::ento::SymExpr const*, llvm::DenseMapInfo<clang::ento::SymExpr const*> > const&, clang::ento::CallEvent const*, clang::ento::PointerEscapeKind, clang::ento::RegionAndSymbolInvalidationTraits*) Line | Count | Source | 364 | 11.3k | RegionAndSymbolInvalidationTraits *ETraits) { | 365 | 11.3k | | 366 | 11.3k | if (!ETraits) | 367 | 1.21k | return ((const CHECKER *)Checker)->checkPointerEscape(State, | 368 | 1.21k | Escaped, | 369 | 1.21k | Call, | 370 | 1.21k | Kind); | 371 | 10.1k | | 372 | 10.1k | InvalidatedSymbols RegularEscape; | 373 | 10.1k | for (InvalidatedSymbols::const_iterator I = Escaped.begin(), | 374 | 32.4k | E = Escaped.end(); I != E; ++I22.3k ) | 375 | 22.3k | if (!ETraits->hasTrait(*I, | 376 | 22.3k | RegionAndSymbolInvalidationTraits::TK_PreserveContents) && | 377 | 22.3k | !ETraits->hasTrait(*I, | 378 | 21.9k | RegionAndSymbolInvalidationTraits::TK_SuppressEscape)) | 379 | 21.8k | RegularEscape.insert(*I); | 380 | 10.1k | | 381 | 10.1k | if (RegularEscape.empty()) | 382 | 429 | return State; | 383 | 9.70k | | 384 | 9.70k | return ((const CHECKER *)Checker)->checkPointerEscape(State, | 385 | 9.70k | RegularEscape, | 386 | 9.70k | Call, | 387 | 9.70k | Kind); | 388 | 9.70k | } |
ObjCContainersChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::check::PointerEscape::_checkPointerEscape<(anonymous namespace)::ObjCContainersChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, llvm::DenseSet<clang::ento::SymExpr const*, llvm::DenseMapInfo<clang::ento::SymExpr const*> > const&, clang::ento::CallEvent const*, clang::ento::PointerEscapeKind, clang::ento::RegionAndSymbolInvalidationTraits*) Line | Count | Source | 364 | 245 | RegionAndSymbolInvalidationTraits *ETraits) { | 365 | 245 | | 366 | 245 | if (!ETraits) | 367 | 18 | return ((const CHECKER *)Checker)->checkPointerEscape(State, | 368 | 18 | Escaped, | 369 | 18 | Call, | 370 | 18 | Kind); | 371 | 227 | | 372 | 227 | InvalidatedSymbols RegularEscape; | 373 | 227 | for (InvalidatedSymbols::const_iterator I = Escaped.begin(), | 374 | 613 | E = Escaped.end(); I != E; ++I386 ) | 375 | 386 | if (!ETraits->hasTrait(*I, | 376 | 386 | RegionAndSymbolInvalidationTraits::TK_PreserveContents) && | 377 | 386 | !ETraits->hasTrait(*I, | 378 | 336 | RegionAndSymbolInvalidationTraits::TK_SuppressEscape)) | 379 | 336 | RegularEscape.insert(*I); | 380 | 227 | | 381 | 227 | if (RegularEscape.empty()) | 382 | 47 | return State; | 383 | 180 | | 384 | 180 | return ((const CHECKER *)Checker)->checkPointerEscape(State, | 385 | 180 | RegularEscape, | 386 | 180 | Call, | 387 | 180 | Kind); | 388 | 180 | } |
SimpleStreamChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::check::PointerEscape::_checkPointerEscape<(anonymous namespace)::SimpleStreamChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, llvm::DenseSet<clang::ento::SymExpr const*, llvm::DenseMapInfo<clang::ento::SymExpr const*> > const&, clang::ento::CallEvent const*, clang::ento::PointerEscapeKind, clang::ento::RegionAndSymbolInvalidationTraits*) Line | Count | Source | 364 | 70 | RegionAndSymbolInvalidationTraits *ETraits) { | 365 | 70 | | 366 | 70 | if (!ETraits) | 367 | 24 | return ((const CHECKER *)Checker)->checkPointerEscape(State, | 368 | 24 | Escaped, | 369 | 24 | Call, | 370 | 24 | Kind); | 371 | 46 | | 372 | 46 | InvalidatedSymbols RegularEscape; | 373 | 46 | for (InvalidatedSymbols::const_iterator I = Escaped.begin(), | 374 | 113 | E = Escaped.end(); I != E; ++I67 ) | 375 | 67 | if (!ETraits->hasTrait(*I, | 376 | 67 | RegionAndSymbolInvalidationTraits::TK_PreserveContents) && | 377 | 67 | !ETraits->hasTrait(*I, | 378 | 66 | RegionAndSymbolInvalidationTraits::TK_SuppressEscape)) | 379 | 66 | RegularEscape.insert(*I); | 380 | 46 | | 381 | 46 | if (RegularEscape.empty()) | 382 | 1 | return State; | 383 | 45 | | 384 | 45 | return ((const CHECKER *)Checker)->checkPointerEscape(State, | 385 | 45 | RegularEscape, | 386 | 45 | Call, | 387 | 45 | Kind); | 388 | 45 | } |
|
389 | | |
390 | | public: |
391 | | template <typename CHECKER> |
392 | 286 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
393 | 286 | mgr._registerForPointerEscape( |
394 | 286 | CheckerManager::CheckPointerEscapeFunc(checker, |
395 | 286 | _checkPointerEscape<CHECKER>)); |
396 | 286 | } BasicObjCFoundationChecks.cpp:void clang::ento::check::PointerEscape::_register<(anonymous namespace)::ObjCLoopChecker>((anonymous namespace)::ObjCLoopChecker*, clang::ento::CheckerManager&) Line | Count | Source | 392 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 393 | 25 | mgr._registerForPointerEscape( | 394 | 25 | CheckerManager::CheckPointerEscapeFunc(checker, | 395 | 25 | _checkPointerEscape<CHECKER>)); | 396 | 25 | } |
CheckObjCDealloc.cpp:void clang::ento::check::PointerEscape::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 392 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 393 | 28 | mgr._registerForPointerEscape( | 394 | 28 | CheckerManager::CheckPointerEscapeFunc(checker, | 395 | 28 | _checkPointerEscape<CHECKER>)); | 396 | 28 | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::check::PointerEscape::_register<(anonymous namespace)::MacOSKeychainAPIChecker>((anonymous namespace)::MacOSKeychainAPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 392 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 393 | 25 | mgr._registerForPointerEscape( | 394 | 25 | CheckerManager::CheckPointerEscapeFunc(checker, | 395 | 25 | _checkPointerEscape<CHECKER>)); | 396 | 25 | } |
MallocChecker.cpp:void clang::ento::check::PointerEscape::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 392 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 393 | 179 | mgr._registerForPointerEscape( | 394 | 179 | CheckerManager::CheckPointerEscapeFunc(checker, | 395 | 179 | _checkPointerEscape<CHECKER>)); | 396 | 179 | } |
ObjCContainersChecker.cpp:void clang::ento::check::PointerEscape::_register<(anonymous namespace)::ObjCContainersChecker>((anonymous namespace)::ObjCContainersChecker*, clang::ento::CheckerManager&) Line | Count | Source | 392 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 393 | 24 | mgr._registerForPointerEscape( | 394 | 24 | CheckerManager::CheckPointerEscapeFunc(checker, | 395 | 24 | _checkPointerEscape<CHECKER>)); | 396 | 24 | } |
SimpleStreamChecker.cpp:void clang::ento::check::PointerEscape::_register<(anonymous namespace)::SimpleStreamChecker>((anonymous namespace)::SimpleStreamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 392 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 393 | 5 | mgr._registerForPointerEscape( | 394 | 5 | CheckerManager::CheckPointerEscapeFunc(checker, | 395 | 5 | _checkPointerEscape<CHECKER>)); | 396 | 5 | } |
|
397 | | }; |
398 | | |
399 | | class ConstPointerEscape { |
400 | | template <typename CHECKER> |
401 | | static ProgramStateRef |
402 | | _checkConstPointerEscape(void *Checker, |
403 | | ProgramStateRef State, |
404 | | const InvalidatedSymbols &Escaped, |
405 | | const CallEvent *Call, |
406 | | PointerEscapeKind Kind, |
407 | 11.3k | RegionAndSymbolInvalidationTraits *ETraits) { |
408 | 11.3k | |
409 | 11.3k | if (!ETraits) |
410 | 1.21k | return State; |
411 | 10.1k | |
412 | 10.1k | InvalidatedSymbols ConstEscape; |
413 | 10.1k | for (InvalidatedSymbols::const_iterator I = Escaped.begin(), |
414 | 32.4k | E = Escaped.end(); I != E; ++I22.3k ) |
415 | 22.3k | if (ETraits->hasTrait(*I, |
416 | 22.3k | RegionAndSymbolInvalidationTraits::TK_PreserveContents) && |
417 | 22.3k | !ETraits->hasTrait(*I, |
418 | 411 | RegionAndSymbolInvalidationTraits::TK_SuppressEscape)) |
419 | 308 | ConstEscape.insert(*I); |
420 | 10.1k | |
421 | 10.1k | if (ConstEscape.empty()) |
422 | 9.82k | return State; |
423 | 308 | |
424 | 308 | return ((const CHECKER *)Checker)->checkConstPointerEscape(State, |
425 | 308 | ConstEscape, |
426 | 308 | Call, |
427 | 308 | Kind); |
428 | 308 | } |
429 | | |
430 | | public: |
431 | | template <typename CHECKER> |
432 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
433 | 179 | mgr._registerForPointerEscape( |
434 | 179 | CheckerManager::CheckPointerEscapeFunc(checker, |
435 | 179 | _checkConstPointerEscape<CHECKER>)); |
436 | 179 | } |
437 | | }; |
438 | | |
439 | | |
440 | | template <typename EVENT> |
441 | | class Event { |
442 | | template <typename CHECKER> |
443 | 25 | static void _checkEvent(void *checker, const void *event) { |
444 | 25 | ((const CHECKER *)checker)->checkEvent(*(const EVENT *)event); |
445 | 25 | } NSErrorChecker.cpp:void clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent>::_checkEvent<(anonymous namespace)::NSOrCFErrorDerefChecker>(void*, void const*) Line | Count | Source | 443 | 2 | static void _checkEvent(void *checker, const void *event) { | 444 | 2 | ((const CHECKER *)checker)->checkEvent(*(const EVENT *)event); | 445 | 2 | } |
NullabilityChecker.cpp:void clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent>::_checkEvent<(anonymous namespace)::NullabilityChecker>(void*, void const*) Line | Count | Source | 443 | 23 | static void _checkEvent(void *checker, const void *event) { | 444 | 23 | ((const CHECKER *)checker)->checkEvent(*(const EVENT *)event); | 445 | 23 | } |
|
446 | | public: |
447 | | template <typename CHECKER> |
448 | 47 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
449 | 47 | mgr._registerListenerForEvent<EVENT>( |
450 | 47 | CheckerManager::CheckEventFunc(checker, _checkEvent<CHECKER>)); |
451 | 47 | } NSErrorChecker.cpp:void clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent>::_register<(anonymous namespace)::NSOrCFErrorDerefChecker>((anonymous namespace)::NSOrCFErrorDerefChecker*, clang::ento::CheckerManager&) Line | Count | Source | 448 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 449 | 24 | mgr._registerListenerForEvent<EVENT>( | 450 | 24 | CheckerManager::CheckEventFunc(checker, _checkEvent<CHECKER>)); | 451 | 24 | } |
NullabilityChecker.cpp:void clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent>::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 448 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 449 | 23 | mgr._registerListenerForEvent<EVENT>( | 450 | 23 | CheckerManager::CheckEventFunc(checker, _checkEvent<CHECKER>)); | 451 | 23 | } |
|
452 | | }; |
453 | | |
454 | | } // end check namespace |
455 | | |
456 | | namespace eval { |
457 | | |
458 | | class Assume { |
459 | | template <typename CHECKER> |
460 | | static ProgramStateRef _evalAssume(void *checker, |
461 | | ProgramStateRef state, |
462 | | const SVal &cond, |
463 | 179k | bool assumption) { |
464 | 179k | return ((const CHECKER *)checker)->evalAssume(state, cond, assumption); |
465 | 179k | } CheckObjCDealloc.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::eval::Assume::_evalAssume<(anonymous namespace)::ObjCDeallocChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SVal const&, bool) Line | Count | Source | 463 | 3.00k | bool assumption) { | 464 | 3.00k | return ((const CHECKER *)checker)->evalAssume(state, cond, assumption); | 465 | 3.00k | } |
MacOSKeychainAPIChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::eval::Assume::_evalAssume<(anonymous namespace)::MacOSKeychainAPIChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SVal const&, bool) Line | Count | Source | 463 | 1.13k | bool assumption) { | 464 | 1.13k | return ((const CHECKER *)checker)->evalAssume(state, cond, assumption); | 465 | 1.13k | } |
MallocChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::eval::Assume::_evalAssume<(anonymous namespace)::MallocChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SVal const&, bool) Line | Count | Source | 463 | 156k | bool assumption) { | 464 | 156k | return ((const CHECKER *)checker)->evalAssume(state, cond, assumption); | 465 | 156k | } |
llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::eval::Assume::_evalAssume<clang::ento::retaincountchecker::RetainCountChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SVal const&, bool) Line | Count | Source | 463 | 12.9k | bool assumption) { | 464 | 12.9k | return ((const CHECKER *)checker)->evalAssume(state, cond, assumption); | 465 | 12.9k | } |
TrustNonnullChecker.cpp:llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const> clang::ento::eval::Assume::_evalAssume<(anonymous namespace)::TrustNonnullChecker>(void*, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::SVal const&, bool) Line | Count | Source | 463 | 5.51k | bool assumption) { | 464 | 5.51k | return ((const CHECKER *)checker)->evalAssume(state, cond, assumption); | 465 | 5.51k | } |
|
466 | | |
467 | | public: |
468 | | template <typename CHECKER> |
469 | 313 | static void _register(CHECKER *checker, CheckerManager &mgr) { |
470 | 313 | mgr._registerForEvalAssume( |
471 | 313 | CheckerManager::EvalAssumeFunc(checker, _evalAssume<CHECKER>)); |
472 | 313 | } CheckObjCDealloc.cpp:void clang::ento::eval::Assume::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 469 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 470 | 28 | mgr._registerForEvalAssume( | 471 | 28 | CheckerManager::EvalAssumeFunc(checker, _evalAssume<CHECKER>)); | 472 | 28 | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::eval::Assume::_register<(anonymous namespace)::MacOSKeychainAPIChecker>((anonymous namespace)::MacOSKeychainAPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 469 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 470 | 25 | mgr._registerForEvalAssume( | 471 | 25 | CheckerManager::EvalAssumeFunc(checker, _evalAssume<CHECKER>)); | 472 | 25 | } |
MallocChecker.cpp:void clang::ento::eval::Assume::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 469 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 470 | 179 | mgr._registerForEvalAssume( | 471 | 179 | CheckerManager::EvalAssumeFunc(checker, _evalAssume<CHECKER>)); | 472 | 179 | } |
void clang::ento::eval::Assume::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 469 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 470 | 71 | mgr._registerForEvalAssume( | 471 | 71 | CheckerManager::EvalAssumeFunc(checker, _evalAssume<CHECKER>)); | 472 | 71 | } |
TrustNonnullChecker.cpp:void clang::ento::eval::Assume::_register<(anonymous namespace)::TrustNonnullChecker>((anonymous namespace)::TrustNonnullChecker*, clang::ento::CheckerManager&) Line | Count | Source | 469 | 10 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 470 | 10 | mgr._registerForEvalAssume( | 471 | 10 | CheckerManager::EvalAssumeFunc(checker, _evalAssume<CHECKER>)); | 472 | 10 | } |
|
473 | | }; |
474 | | |
475 | | class Call { |
476 | | template <typename CHECKER> |
477 | | static bool _evalCall(void *checker, const CallEvent &Call, |
478 | 116k | CheckerContext &C) { |
479 | 116k | return ((const CHECKER *)checker)->evalCall(Call, C); |
480 | 116k | } BuiltinFunctionChecker.cpp:bool clang::ento::eval::Call::_evalCall<(anonymous namespace)::BuiltinFunctionChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 478 | 49.5k | CheckerContext &C) { | 479 | 49.5k | return ((const CHECKER *)checker)->evalCall(Call, C); | 480 | 49.5k | } |
CStringChecker.cpp:bool clang::ento::eval::Call::_evalCall<(anonymous namespace)::CStringChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 478 | 18.2k | CheckerContext &C) { | 479 | 18.2k | return ((const CHECKER *)checker)->evalCall(Call, C); | 480 | 18.2k | } |
CastValueChecker.cpp:bool clang::ento::eval::Call::_evalCall<(anonymous namespace)::CastValueChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 478 | 196 | CheckerContext &C) { | 479 | 196 | return ((const CHECKER *)checker)->evalCall(Call, C); | 480 | 196 | } |
ChrootChecker.cpp:bool clang::ento::eval::Call::_evalCall<(anonymous namespace)::ChrootChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 478 | 34 | CheckerContext &C) { | 479 | 34 | return ((const CHECKER *)checker)->evalCall(Call, C); | 480 | 34 | } |
ExprInspectionChecker.cpp:bool clang::ento::eval::Call::_evalCall<(anonymous namespace)::ExprInspectionChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 478 | 25.2k | CheckerContext &C) { | 479 | 25.2k | return ((const CHECKER *)checker)->evalCall(Call, C); | 480 | 25.2k | } |
bool clang::ento::eval::Call::_evalCall<clang::ento::retaincountchecker::RetainCountChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 478 | 1.70k | CheckerContext &C) { | 479 | 1.70k | return ((const CHECKER *)checker)->evalCall(Call, C); | 480 | 1.70k | } |
SmartPtrModeling.cpp:bool clang::ento::eval::Call::_evalCall<(anonymous namespace)::SmartPtrModeling>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 478 | 20.6k | CheckerContext &C) { | 479 | 20.6k | return ((const CHECKER *)checker)->evalCall(Call, C); | 480 | 20.6k | } |
StdLibraryFunctionsChecker.cpp:bool clang::ento::eval::Call::_evalCall<(anonymous namespace)::StdLibraryFunctionsChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 478 | 729 | CheckerContext &C) { | 479 | 729 | return ((const CHECKER *)checker)->evalCall(Call, C); | 480 | 729 | } |
StreamChecker.cpp:bool clang::ento::eval::Call::_evalCall<(anonymous namespace)::StreamChecker>(void*, clang::ento::CallEvent const&, clang::ento::CheckerContext&) Line | Count | Source | 478 | 61 | CheckerContext &C) { | 479 | 61 | return ((const CHECKER *)checker)->evalCall(Call, C); | 480 | 61 | } |
|
481 | | |
482 | | public: |
483 | | template <typename CHECKER> |
484 | 1.28k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
485 | 1.28k | mgr._registerForEvalCall( |
486 | 1.28k | CheckerManager::EvalCallFunc(checker, _evalCall<CHECKER>)); |
487 | 1.28k | } BuiltinFunctionChecker.cpp:void clang::ento::eval::Call::_register<(anonymous namespace)::BuiltinFunctionChecker>((anonymous namespace)::BuiltinFunctionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 484 | 685 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 485 | 685 | mgr._registerForEvalCall( | 486 | 685 | CheckerManager::EvalCallFunc(checker, _evalCall<CHECKER>)); | 487 | 685 | } |
CStringChecker.cpp:void clang::ento::eval::Call::_register<(anonymous namespace)::CStringChecker>((anonymous namespace)::CStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 484 | 198 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 485 | 198 | mgr._registerForEvalCall( | 486 | 198 | CheckerManager::EvalCallFunc(checker, _evalCall<CHECKER>)); | 487 | 198 | } |
CastValueChecker.cpp:void clang::ento::eval::Call::_register<(anonymous namespace)::CastValueChecker>((anonymous namespace)::CastValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 484 | 12 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 485 | 12 | mgr._registerForEvalCall( | 486 | 12 | CheckerManager::EvalCallFunc(checker, _evalCall<CHECKER>)); | 487 | 12 | } |
ChrootChecker.cpp:void clang::ento::eval::Call::_register<(anonymous namespace)::ChrootChecker>((anonymous namespace)::ChrootChecker*, clang::ento::CheckerManager&) Line | Count | Source | 484 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 485 | 5 | mgr._registerForEvalCall( | 486 | 5 | CheckerManager::EvalCallFunc(checker, _evalCall<CHECKER>)); | 487 | 5 | } |
ExprInspectionChecker.cpp:void clang::ento::eval::Call::_register<(anonymous namespace)::ExprInspectionChecker>((anonymous namespace)::ExprInspectionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 484 | 241 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 485 | 241 | mgr._registerForEvalCall( | 486 | 241 | CheckerManager::EvalCallFunc(checker, _evalCall<CHECKER>)); | 487 | 241 | } |
void clang::ento::eval::Call::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 484 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 485 | 71 | mgr._registerForEvalCall( | 486 | 71 | CheckerManager::EvalCallFunc(checker, _evalCall<CHECKER>)); | 487 | 71 | } |
SmartPtrModeling.cpp:void clang::ento::eval::Call::_register<(anonymous namespace)::SmartPtrModeling>((anonymous namespace)::SmartPtrModeling*, clang::ento::CheckerManager&) Line | Count | Source | 484 | 48 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 485 | 48 | mgr._registerForEvalCall( | 486 | 48 | CheckerManager::EvalCallFunc(checker, _evalCall<CHECKER>)); | 487 | 48 | } |
StdLibraryFunctionsChecker.cpp:void clang::ento::eval::Call::_register<(anonymous namespace)::StdLibraryFunctionsChecker>((anonymous namespace)::StdLibraryFunctionsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 484 | 21 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 485 | 21 | mgr._registerForEvalCall( | 486 | 21 | CheckerManager::EvalCallFunc(checker, _evalCall<CHECKER>)); | 487 | 21 | } |
StreamChecker.cpp:void clang::ento::eval::Call::_register<(anonymous namespace)::StreamChecker>((anonymous namespace)::StreamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 484 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 485 | 5 | mgr._registerForEvalCall( | 486 | 5 | CheckerManager::EvalCallFunc(checker, _evalCall<CHECKER>)); | 487 | 5 | } |
|
488 | | }; |
489 | | |
490 | | } // end eval namespace |
491 | | |
492 | | class CheckerBase : public ProgramPointTag { |
493 | | CheckName Name; |
494 | | friend class ::clang::ento::CheckerManager; |
495 | | |
496 | | public: |
497 | | StringRef getTagDescription() const override; |
498 | | CheckName getCheckName() const; |
499 | | |
500 | | /// See CheckerManager::runCheckersForPrintState. |
501 | | virtual void printState(raw_ostream &Out, ProgramStateRef State, |
502 | 76 | const char *NL, const char *Sep) const { } |
503 | | }; |
504 | | |
505 | | /// Dump checker name to stream. |
506 | | raw_ostream& operator<<(raw_ostream &Out, const CheckerBase &Checker); |
507 | | |
508 | | /// Tag that can use a checker name as a message provider |
509 | | /// (see SimpleProgramPointTag). |
510 | | class CheckerProgramPointTag : public SimpleProgramPointTag { |
511 | | public: |
512 | | CheckerProgramPointTag(StringRef CheckerName, StringRef Msg); |
513 | | CheckerProgramPointTag(const CheckerBase *Checker, StringRef Msg); |
514 | | }; |
515 | | |
516 | | template <typename CHECK1, typename... CHECKs> |
517 | | class Checker : public CHECK1, public CHECKs..., public CheckerBase { |
518 | | public: |
519 | | template <typename CHECKER> |
520 | 17.6k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
521 | 17.6k | CHECK1::_register(checker, mgr); |
522 | 17.6k | Checker<CHECKs...>::_register(checker, mgr); |
523 | 17.6k | } AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PreStmt<clang::ArraySubscriptExpr>, clang::ento::check::PostStmt<clang::ArraySubscriptExpr>, clang::ento::check::PreStmt<clang::CXXNewExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PreStmt<clang::OffsetOfExpr>, clang::ento::check::PostStmt<clang::OffsetOfExpr>, clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::EndFunction, clang::ento::check::NewAllocator, clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PreStmt<clang::ArraySubscriptExpr>, clang::ento::check::PostStmt<clang::ArraySubscriptExpr>, clang::ento::check::PreStmt<clang::CXXNewExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PreStmt<clang::OffsetOfExpr>, clang::ento::check::PostStmt<clang::OffsetOfExpr>, clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::EndFunction, clang::ento::check::NewAllocator, clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ArraySubscriptExpr>, clang::ento::check::PostStmt<clang::ArraySubscriptExpr>, clang::ento::check::PreStmt<clang::CXXNewExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PreStmt<clang::OffsetOfExpr>, clang::ento::check::PostStmt<clang::OffsetOfExpr>, clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::EndFunction, clang::ento::check::NewAllocator, clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::ArraySubscriptExpr>, clang::ento::check::PreStmt<clang::CXXNewExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PreStmt<clang::OffsetOfExpr>, clang::ento::check::PostStmt<clang::OffsetOfExpr>, clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::EndFunction, clang::ento::check::NewAllocator, clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CXXNewExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PreStmt<clang::OffsetOfExpr>, clang::ento::check::PostStmt<clang::OffsetOfExpr>, clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::EndFunction, clang::ento::check::NewAllocator, clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PreStmt<clang::OffsetOfExpr>, clang::ento::check::PostStmt<clang::OffsetOfExpr>, clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::EndFunction, clang::ento::check::NewAllocator, clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::OffsetOfExpr>, clang::ento::check::PostStmt<clang::OffsetOfExpr>, clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::EndFunction, clang::ento::check::NewAllocator, clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::OffsetOfExpr>, clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::EndFunction, clang::ento::check::NewAllocator, clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::EndFunction, clang::ento::check::NewAllocator, clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::EndFunction, clang::ento::check::NewAllocator, clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::EndFunction, clang::ento::check::NewAllocator, clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::NewAllocator, clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::Bind, clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::RegionChanges, clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PreObjCMessage, clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCArrayLiteral> >::_register<(anonymous namespace)::NilArgChecker>((anonymous namespace)::NilArgChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 30 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 30 | CHECK1::_register(checker, mgr); | 522 | 30 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 30 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCArrayLiteral> >::_register<(anonymous namespace)::NilArgChecker>((anonymous namespace)::NilArgChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 30 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 30 | CHECK1::_register(checker, mgr); | 522 | 30 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 30 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::ObjCForCollectionStmt>, clang::ento::check::PostObjCMessage, clang::ento::check::DeadSymbols, clang::ento::check::PointerEscape>::_register<(anonymous namespace)::ObjCLoopChecker>((anonymous namespace)::ObjCLoopChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 25 | CHECK1::_register(checker, mgr); | 522 | 25 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 25 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PostObjCMessage, clang::ento::check::DeadSymbols, clang::ento::check::PointerEscape>::_register<(anonymous namespace)::ObjCLoopChecker>((anonymous namespace)::ObjCLoopChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 25 | CHECK1::_register(checker, mgr); | 522 | 25 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 25 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols, clang::ento::check::PointerEscape>::_register<(anonymous namespace)::ObjCLoopChecker>((anonymous namespace)::ObjCLoopChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 25 | CHECK1::_register(checker, mgr); | 522 | 25 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 25 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PostObjCMessage, clang::ento::check::PostStmt<clang::ObjCArrayLiteral>, clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCBoxedExpr> >::_register<(anonymous namespace)::ObjCNonNilReturnValueChecker>((anonymous namespace)::ObjCNonNilReturnValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 26 | CHECK1::_register(checker, mgr); | 522 | 26 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 26 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::ObjCArrayLiteral>, clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCBoxedExpr> >::_register<(anonymous namespace)::ObjCNonNilReturnValueChecker>((anonymous namespace)::ObjCNonNilReturnValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 26 | CHECK1::_register(checker, mgr); | 522 | 26 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 26 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCBoxedExpr> >::_register<(anonymous namespace)::ObjCNonNilReturnValueChecker>((anonymous namespace)::ObjCNonNilReturnValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 26 | CHECK1::_register(checker, mgr); | 522 | 26 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 26 | } |
CStringChecker.cpp:void clang::ento::Checker<clang::ento::eval::Call, clang::ento::check::PreStmt<clang::DeclStmt>, clang::ento::check::LiveSymbols, clang::ento::check::DeadSymbols, clang::ento::check::RegionChanges>::_register<(anonymous namespace)::CStringChecker>((anonymous namespace)::CStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 198 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 198 | CHECK1::_register(checker, mgr); | 522 | 198 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 198 | } |
CStringChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::DeclStmt>, clang::ento::check::LiveSymbols, clang::ento::check::DeadSymbols, clang::ento::check::RegionChanges>::_register<(anonymous namespace)::CStringChecker>((anonymous namespace)::CStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 198 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 198 | CHECK1::_register(checker, mgr); | 522 | 198 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 198 | } |
CStringChecker.cpp:void clang::ento::Checker<clang::ento::check::LiveSymbols, clang::ento::check::DeadSymbols, clang::ento::check::RegionChanges>::_register<(anonymous namespace)::CStringChecker>((anonymous namespace)::CStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 198 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 198 | CHECK1::_register(checker, mgr); | 522 | 198 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 198 | } |
CStringChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols, clang::ento::check::RegionChanges>::_register<(anonymous namespace)::CStringChecker>((anonymous namespace)::CStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 198 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 198 | CHECK1::_register(checker, mgr); | 522 | 198 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 198 | } |
CallAndMessageChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CallExpr>, clang::ento::check::PreStmt<clang::CXXDeleteExpr>, clang::ento::check::PreObjCMessage, clang::ento::check::ObjCMessageNil, clang::ento::check::PreCall>::_register<(anonymous namespace)::CallAndMessageChecker>((anonymous namespace)::CallAndMessageChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 675 | CHECK1::_register(checker, mgr); | 522 | 675 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 675 | } |
CallAndMessageChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CXXDeleteExpr>, clang::ento::check::PreObjCMessage, clang::ento::check::ObjCMessageNil, clang::ento::check::PreCall>::_register<(anonymous namespace)::CallAndMessageChecker>((anonymous namespace)::CallAndMessageChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 675 | CHECK1::_register(checker, mgr); | 522 | 675 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 675 | } |
CallAndMessageChecker.cpp:void clang::ento::Checker<clang::ento::check::PreObjCMessage, clang::ento::check::ObjCMessageNil, clang::ento::check::PreCall>::_register<(anonymous namespace)::CallAndMessageChecker>((anonymous namespace)::CallAndMessageChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 675 | CHECK1::_register(checker, mgr); | 522 | 675 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 675 | } |
CallAndMessageChecker.cpp:void clang::ento::Checker<clang::ento::check::ObjCMessageNil, clang::ento::check::PreCall>::_register<(anonymous namespace)::CallAndMessageChecker>((anonymous namespace)::CallAndMessageChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 675 | CHECK1::_register(checker, mgr); | 522 | 675 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 675 | } |
CheckObjCDealloc.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::ObjCImplementationDecl>, clang::ento::check::PreObjCMessage, clang::ento::check::PostObjCMessage, clang::ento::check::PreCall, clang::ento::check::BeginFunction, clang::ento::check::EndFunction, clang::ento::eval::Assume, clang::ento::check::PointerEscape, clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 28 | CHECK1::_register(checker, mgr); | 522 | 28 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 28 | } |
CheckObjCDealloc.cpp:void clang::ento::Checker<clang::ento::check::PreObjCMessage, clang::ento::check::PostObjCMessage, clang::ento::check::PreCall, clang::ento::check::BeginFunction, clang::ento::check::EndFunction, clang::ento::eval::Assume, clang::ento::check::PointerEscape, clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 28 | CHECK1::_register(checker, mgr); | 522 | 28 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 28 | } |
CheckObjCDealloc.cpp:void clang::ento::Checker<clang::ento::check::PostObjCMessage, clang::ento::check::PreCall, clang::ento::check::BeginFunction, clang::ento::check::EndFunction, clang::ento::eval::Assume, clang::ento::check::PointerEscape, clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 28 | CHECK1::_register(checker, mgr); | 522 | 28 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 28 | } |
CheckObjCDealloc.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::BeginFunction, clang::ento::check::EndFunction, clang::ento::eval::Assume, clang::ento::check::PointerEscape, clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 28 | CHECK1::_register(checker, mgr); | 522 | 28 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 28 | } |
CheckObjCDealloc.cpp:void clang::ento::Checker<clang::ento::check::BeginFunction, clang::ento::check::EndFunction, clang::ento::eval::Assume, clang::ento::check::PointerEscape, clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 28 | CHECK1::_register(checker, mgr); | 522 | 28 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 28 | } |
CheckObjCDealloc.cpp:void clang::ento::Checker<clang::ento::check::EndFunction, clang::ento::eval::Assume, clang::ento::check::PointerEscape, clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 28 | CHECK1::_register(checker, mgr); | 522 | 28 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 28 | } |
CheckObjCDealloc.cpp:void clang::ento::Checker<clang::ento::eval::Assume, clang::ento::check::PointerEscape, clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 28 | CHECK1::_register(checker, mgr); | 522 | 28 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 28 | } |
CheckObjCDealloc.cpp:void clang::ento::Checker<clang::ento::check::PointerEscape, clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 28 | CHECK1::_register(checker, mgr); | 522 | 28 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 28 | } |
ChrootChecker.cpp:void clang::ento::Checker<clang::ento::eval::Call, clang::ento::check::PreCall>::_register<(anonymous namespace)::ChrootChecker>((anonymous namespace)::ChrootChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 5 | CHECK1::_register(checker, mgr); | 522 | 5 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 5 | } |
CloneChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody, clang::ento::check::EndOfTranslationUnit>::_register<(anonymous namespace)::CloneChecker>((anonymous namespace)::CloneChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 28 | CHECK1::_register(checker, mgr); | 522 | 28 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 28 | } |
DereferenceChecker.cpp:void clang::ento::Checker<clang::ento::check::Location, clang::ento::check::Bind, clang::ento::EventDispatcher<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::DereferenceChecker>((anonymous namespace)::DereferenceChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 683 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 683 | CHECK1::_register(checker, mgr); | 522 | 683 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 683 | } |
DereferenceChecker.cpp:void clang::ento::Checker<clang::ento::check::Bind, clang::ento::EventDispatcher<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::DereferenceChecker>((anonymous namespace)::DereferenceChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 683 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 683 | CHECK1::_register(checker, mgr); | 522 | 683 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 683 | } |
DynamicTypePropagation.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::DeadSymbols, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PreObjCMessage, clang::ento::check::PostObjCMessage>::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 676 | CHECK1::_register(checker, mgr); | 522 | 676 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 676 | } |
DynamicTypePropagation.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::DeadSymbols, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PreObjCMessage, clang::ento::check::PostObjCMessage>::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 676 | CHECK1::_register(checker, mgr); | 522 | 676 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 676 | } |
DynamicTypePropagation.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PreObjCMessage, clang::ento::check::PostObjCMessage>::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 676 | CHECK1::_register(checker, mgr); | 522 | 676 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 676 | } |
DynamicTypePropagation.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PreObjCMessage, clang::ento::check::PostObjCMessage>::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 676 | CHECK1::_register(checker, mgr); | 522 | 676 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 676 | } |
DynamicTypePropagation.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PreObjCMessage, clang::ento::check::PostObjCMessage>::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 676 | CHECK1::_register(checker, mgr); | 522 | 676 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 676 | } |
DynamicTypePropagation.cpp:void clang::ento::Checker<clang::ento::check::PreObjCMessage, clang::ento::check::PostObjCMessage>::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 676 | CHECK1::_register(checker, mgr); | 522 | 676 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 676 | } |
ExprInspectionChecker.cpp:void clang::ento::Checker<clang::ento::eval::Call, clang::ento::check::DeadSymbols, clang::ento::check::EndAnalysis>::_register<(anonymous namespace)::ExprInspectionChecker>((anonymous namespace)::ExprInspectionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 241 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 241 | CHECK1::_register(checker, mgr); | 522 | 241 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 241 | } |
ExprInspectionChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols, clang::ento::check::EndAnalysis>::_register<(anonymous namespace)::ExprInspectionChecker>((anonymous namespace)::ExprInspectionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 241 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 241 | CHECK1::_register(checker, mgr); | 522 | 241 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 241 | } |
GenericTaintChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::PreStmt<clang::CallExpr> >::_register<(anonymous namespace)::GenericTaintChecker>((anonymous namespace)::GenericTaintChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 14 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 14 | CHECK1::_register(checker, mgr); | 522 | 14 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 14 | } |
InnerPointerChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols, clang::ento::check::PostCall>::_register<(anonymous namespace)::InnerPointerChecker>((anonymous namespace)::InnerPointerChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 40 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 40 | CHECK1::_register(checker, mgr); | 522 | 40 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 40 | } |
IteratorChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::PostStmt<clang::MaterializeTemporaryExpr>, clang::ento::check::Bind, clang::ento::check::LiveSymbols, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::IteratorChecker>((anonymous namespace)::IteratorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
IteratorChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::PostStmt<clang::MaterializeTemporaryExpr>, clang::ento::check::Bind, clang::ento::check::LiveSymbols, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::IteratorChecker>((anonymous namespace)::IteratorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
IteratorChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::MaterializeTemporaryExpr>, clang::ento::check::Bind, clang::ento::check::LiveSymbols, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::IteratorChecker>((anonymous namespace)::IteratorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
IteratorChecker.cpp:void clang::ento::Checker<clang::ento::check::Bind, clang::ento::check::LiveSymbols, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::IteratorChecker>((anonymous namespace)::IteratorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
IteratorChecker.cpp:void clang::ento::Checker<clang::ento::check::LiveSymbols, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::IteratorChecker>((anonymous namespace)::IteratorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 8 | CHECK1::_register(checker, mgr); | 522 | 8 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 8 | } |
LLVMConventionsChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::CXXRecordDecl>, clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::LLVMConventionsChecker>((anonymous namespace)::LLVMConventionsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 2 | CHECK1::_register(checker, mgr); | 522 | 2 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 2 | } |
LocalizationChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::PreObjCMessage, clang::ento::check::PostObjCMessage, clang::ento::check::PostStmt<clang::ObjCStringLiteral> >::_register<(anonymous namespace)::NonLocalizedStringChecker>((anonymous namespace)::NonLocalizedStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 2 | CHECK1::_register(checker, mgr); | 522 | 2 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 2 | } |
LocalizationChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::PreObjCMessage, clang::ento::check::PostObjCMessage, clang::ento::check::PostStmt<clang::ObjCStringLiteral> >::_register<(anonymous namespace)::NonLocalizedStringChecker>((anonymous namespace)::NonLocalizedStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 2 | CHECK1::_register(checker, mgr); | 522 | 2 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 2 | } |
LocalizationChecker.cpp:void clang::ento::Checker<clang::ento::check::PreObjCMessage, clang::ento::check::PostObjCMessage, clang::ento::check::PostStmt<clang::ObjCStringLiteral> >::_register<(anonymous namespace)::NonLocalizedStringChecker>((anonymous namespace)::NonLocalizedStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 2 | CHECK1::_register(checker, mgr); | 522 | 2 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 2 | } |
LocalizationChecker.cpp:void clang::ento::Checker<clang::ento::check::PostObjCMessage, clang::ento::check::PostStmt<clang::ObjCStringLiteral> >::_register<(anonymous namespace)::NonLocalizedStringChecker>((anonymous namespace)::NonLocalizedStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 2 | CHECK1::_register(checker, mgr); | 522 | 2 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 2 | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CallExpr>, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::DeadSymbols, clang::ento::check::PointerEscape, clang::ento::eval::Assume>::_register<(anonymous namespace)::MacOSKeychainAPIChecker>((anonymous namespace)::MacOSKeychainAPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 25 | CHECK1::_register(checker, mgr); | 522 | 25 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 25 | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::DeadSymbols, clang::ento::check::PointerEscape, clang::ento::eval::Assume>::_register<(anonymous namespace)::MacOSKeychainAPIChecker>((anonymous namespace)::MacOSKeychainAPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 25 | CHECK1::_register(checker, mgr); | 522 | 25 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 25 | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols, clang::ento::check::PointerEscape, clang::ento::eval::Assume>::_register<(anonymous namespace)::MacOSKeychainAPIChecker>((anonymous namespace)::MacOSKeychainAPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 25 | CHECK1::_register(checker, mgr); | 522 | 25 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 25 | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::Checker<clang::ento::check::PointerEscape, clang::ento::eval::Assume>::_register<(anonymous namespace)::MacOSKeychainAPIChecker>((anonymous namespace)::MacOSKeychainAPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 25 | CHECK1::_register(checker, mgr); | 522 | 25 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 25 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols, clang::ento::check::PointerEscape, clang::ento::check::ConstPointerEscape, clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::EndFunction, clang::ento::check::PreCall, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::NewAllocator, clang::ento::check::PreStmt<clang::CXXDeleteExpr>, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::PointerEscape, clang::ento::check::ConstPointerEscape, clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::EndFunction, clang::ento::check::PreCall, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::NewAllocator, clang::ento::check::PreStmt<clang::CXXDeleteExpr>, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::ConstPointerEscape, clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::EndFunction, clang::ento::check::PreCall, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::NewAllocator, clang::ento::check::PreStmt<clang::CXXDeleteExpr>, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::EndFunction, clang::ento::check::PreCall, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::NewAllocator, clang::ento::check::PreStmt<clang::CXXDeleteExpr>, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::EndFunction, clang::ento::check::PreCall, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::NewAllocator, clang::ento::check::PreStmt<clang::CXXDeleteExpr>, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::NewAllocator, clang::ento::check::PreStmt<clang::CXXDeleteExpr>, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::NewAllocator, clang::ento::check::PreStmt<clang::CXXDeleteExpr>, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::NewAllocator, clang::ento::check::PreStmt<clang::CXXDeleteExpr>, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::NewAllocator, clang::ento::check::PreStmt<clang::CXXDeleteExpr>, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CXXDeleteExpr>, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::PostObjCMessage, clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::check::Location, clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 179 | CHECK1::_register(checker, mgr); | 522 | 179 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 179 | } |
MIGChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::EndFunction>::_register<(anonymous namespace)::MIGChecker>((anonymous namespace)::MIGChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 24 | CHECK1::_register(checker, mgr); | 522 | 24 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 24 | } |
MIGChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::EndFunction>::_register<(anonymous namespace)::MIGChecker>((anonymous namespace)::MIGChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 24 | CHECK1::_register(checker, mgr); | 522 | 24 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 24 | } |
MoveChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::DeadSymbols, clang::ento::check::RegionChanges>::_register<(anonymous namespace)::MoveChecker>((anonymous namespace)::MoveChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 49 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 49 | CHECK1::_register(checker, mgr); | 522 | 49 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 49 | } |
MoveChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::DeadSymbols, clang::ento::check::RegionChanges>::_register<(anonymous namespace)::MoveChecker>((anonymous namespace)::MoveChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 49 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 49 | CHECK1::_register(checker, mgr); | 522 | 49 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 49 | } |
MoveChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols, clang::ento::check::RegionChanges>::_register<(anonymous namespace)::MoveChecker>((anonymous namespace)::MoveChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 49 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 49 | CHECK1::_register(checker, mgr); | 522 | 49 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 49 | } |
void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::DeadSymbols>::_register<clang::ento::mpi::MPIChecker>(clang::ento::mpi::MPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 3 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 3 | CHECK1::_register(checker, mgr); | 522 | 3 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 3 | } |
NSErrorChecker.cpp:void clang::ento::Checker<clang::ento::check::Location, clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::NSOrCFErrorDerefChecker>((anonymous namespace)::NSOrCFErrorDerefChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 24 | CHECK1::_register(checker, mgr); | 522 | 24 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 24 | } |
NoReturnFunctionChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::PostObjCMessage>::_register<(anonymous namespace)::NoReturnFunctionChecker>((anonymous namespace)::NoReturnFunctionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 686 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 686 | CHECK1::_register(checker, mgr); | 522 | 686 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 686 | } |
NonNullParamChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::EventDispatcher<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::NonNullParamChecker>((anonymous namespace)::NonNullParamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 675 | CHECK1::_register(checker, mgr); | 522 | 675 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 675 | } |
NullabilityChecker.cpp:void clang::ento::Checker<clang::ento::check::Bind, clang::ento::check::PreCall, clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::PostCall, clang::ento::check::PostStmt<clang::ExplicitCastExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::DeadSymbols, clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 23 | CHECK1::_register(checker, mgr); | 522 | 23 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 23 | } |
NullabilityChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::PostCall, clang::ento::check::PostStmt<clang::ExplicitCastExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::DeadSymbols, clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 23 | CHECK1::_register(checker, mgr); | 522 | 23 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 23 | } |
NullabilityChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::PostCall, clang::ento::check::PostStmt<clang::ExplicitCastExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::DeadSymbols, clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 23 | CHECK1::_register(checker, mgr); | 522 | 23 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 23 | } |
NullabilityChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::PostStmt<clang::ExplicitCastExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::DeadSymbols, clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 23 | CHECK1::_register(checker, mgr); | 522 | 23 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 23 | } |
NullabilityChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::ExplicitCastExpr>, clang::ento::check::PostObjCMessage, clang::ento::check::DeadSymbols, clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 23 | CHECK1::_register(checker, mgr); | 522 | 23 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 23 | } |
NullabilityChecker.cpp:void clang::ento::Checker<clang::ento::check::PostObjCMessage, clang::ento::check::DeadSymbols, clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 23 | CHECK1::_register(checker, mgr); | 522 | 23 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 23 | } |
NullabilityChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols, clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 23 | CHECK1::_register(checker, mgr); | 522 | 23 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 23 | } |
ObjCContainersChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CallExpr>, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::PointerEscape>::_register<(anonymous namespace)::ObjCContainersChecker>((anonymous namespace)::ObjCContainersChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 24 | CHECK1::_register(checker, mgr); | 522 | 24 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 24 | } |
ObjCContainersChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::PointerEscape>::_register<(anonymous namespace)::ObjCContainersChecker>((anonymous namespace)::ObjCContainersChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 24 | CHECK1::_register(checker, mgr); | 522 | 24 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 24 | } |
ObjCSelfInitChecker.cpp:void clang::ento::Checker<clang::ento::check::PostObjCMessage, clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>, clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::Location, clang::ento::check::Bind>::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 26 | CHECK1::_register(checker, mgr); | 522 | 26 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 26 | } |
ObjCSelfInitChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>, clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::Location, clang::ento::check::Bind>::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 26 | CHECK1::_register(checker, mgr); | 522 | 26 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 26 | } |
ObjCSelfInitChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::Location, clang::ento::check::Bind>::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 26 | CHECK1::_register(checker, mgr); | 522 | 26 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 26 | } |
ObjCSelfInitChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::Location, clang::ento::check::Bind>::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 26 | CHECK1::_register(checker, mgr); | 522 | 26 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 26 | } |
ObjCSelfInitChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::Location, clang::ento::check::Bind>::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 26 | CHECK1::_register(checker, mgr); | 522 | 26 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 26 | } |
ObjCSelfInitChecker.cpp:void clang::ento::Checker<clang::ento::check::Location, clang::ento::check::Bind>::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 26 | CHECK1::_register(checker, mgr); | 522 | 26 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 26 | } |
ObjCSuperDeallocChecker.cpp:void clang::ento::Checker<clang::ento::check::PostObjCMessage, clang::ento::check::PreObjCMessage, clang::ento::check::PreCall, clang::ento::check::Location>::_register<(anonymous namespace)::ObjCSuperDeallocChecker>((anonymous namespace)::ObjCSuperDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 24 | CHECK1::_register(checker, mgr); | 522 | 24 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 24 | } |
ObjCSuperDeallocChecker.cpp:void clang::ento::Checker<clang::ento::check::PreObjCMessage, clang::ento::check::PreCall, clang::ento::check::Location>::_register<(anonymous namespace)::ObjCSuperDeallocChecker>((anonymous namespace)::ObjCSuperDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 24 | CHECK1::_register(checker, mgr); | 522 | 24 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 24 | } |
ObjCSuperDeallocChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::Location>::_register<(anonymous namespace)::ObjCSuperDeallocChecker>((anonymous namespace)::ObjCSuperDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 24 | CHECK1::_register(checker, mgr); | 522 | 24 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 24 | } |
PointerArithChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::BinaryOperator>, clang::ento::check::PreStmt<clang::UnaryOperator>, clang::ento::check::PreStmt<clang::ArraySubscriptExpr>, clang::ento::check::PreStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 73 | CHECK1::_register(checker, mgr); | 522 | 73 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 73 | } |
PointerArithChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::UnaryOperator>, clang::ento::check::PreStmt<clang::ArraySubscriptExpr>, clang::ento::check::PreStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 73 | CHECK1::_register(checker, mgr); | 522 | 73 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 73 | } |
PointerArithChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ArraySubscriptExpr>, clang::ento::check::PreStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 73 | CHECK1::_register(checker, mgr); | 522 | 73 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 73 | } |
PointerArithChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 73 | CHECK1::_register(checker, mgr); | 522 | 73 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 73 | } |
PointerArithChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 73 | CHECK1::_register(checker, mgr); | 522 | 73 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 73 | } |
PointerArithChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CXXNewExpr>, clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 73 | CHECK1::_register(checker, mgr); | 522 | 73 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 73 | } |
PointerArithChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 73 | CHECK1::_register(checker, mgr); | 522 | 73 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 73 | } |
PthreadLockChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::CallExpr>, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::PthreadLockChecker>((anonymous namespace)::PthreadLockChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 5 | CHECK1::_register(checker, mgr); | 522 | 5 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 5 | } |
void clang::ento::Checker<clang::ento::check::Bind, clang::ento::check::DeadSymbols, clang::ento::check::BeginFunction, clang::ento::check::EndFunction, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::ObjCArrayLiteral>, clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCBoxedExpr>, clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>, clang::ento::check::PostCall, clang::ento::check::RegionChanges, clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
void clang::ento::Checker<clang::ento::check::DeadSymbols, clang::ento::check::BeginFunction, clang::ento::check::EndFunction, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::ObjCArrayLiteral>, clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCBoxedExpr>, clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>, clang::ento::check::PostCall, clang::ento::check::RegionChanges, clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
void clang::ento::Checker<clang::ento::check::BeginFunction, clang::ento::check::EndFunction, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::ObjCArrayLiteral>, clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCBoxedExpr>, clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>, clang::ento::check::PostCall, clang::ento::check::RegionChanges, clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
void clang::ento::Checker<clang::ento::check::EndFunction, clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::ObjCArrayLiteral>, clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCBoxedExpr>, clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>, clang::ento::check::PostCall, clang::ento::check::RegionChanges, clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
void clang::ento::Checker<clang::ento::check::PostStmt<clang::BlockExpr>, clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::ObjCArrayLiteral>, clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCBoxedExpr>, clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>, clang::ento::check::PostCall, clang::ento::check::RegionChanges, clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
void clang::ento::Checker<clang::ento::check::PostStmt<clang::CastExpr>, clang::ento::check::PostStmt<clang::ObjCArrayLiteral>, clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCBoxedExpr>, clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>, clang::ento::check::PostCall, clang::ento::check::RegionChanges, clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
void clang::ento::Checker<clang::ento::check::PostStmt<clang::ObjCArrayLiteral>, clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCBoxedExpr>, clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>, clang::ento::check::PostCall, clang::ento::check::RegionChanges, clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
void clang::ento::Checker<clang::ento::check::PostStmt<clang::ObjCDictionaryLiteral>, clang::ento::check::PostStmt<clang::ObjCBoxedExpr>, clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>, clang::ento::check::PostCall, clang::ento::check::RegionChanges, clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
void clang::ento::Checker<clang::ento::check::PostStmt<clang::ObjCBoxedExpr>, clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>, clang::ento::check::PostCall, clang::ento::check::RegionChanges, clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
void clang::ento::Checker<clang::ento::check::PostStmt<clang::ObjCIvarRefExpr>, clang::ento::check::PostCall, clang::ento::check::RegionChanges, clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::RegionChanges, clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
void clang::ento::Checker<clang::ento::check::RegionChanges, clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
void clang::ento::Checker<clang::ento::eval::Assume, clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
ReturnValueChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::EndFunction>::_register<(anonymous namespace)::ReturnValueChecker>((anonymous namespace)::ReturnValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 11 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 11 | CHECK1::_register(checker, mgr); | 522 | 11 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 11 | } |
SimpleStreamChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::PreCall, clang::ento::check::DeadSymbols, clang::ento::check::PointerEscape>::_register<(anonymous namespace)::SimpleStreamChecker>((anonymous namespace)::SimpleStreamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 5 | CHECK1::_register(checker, mgr); | 522 | 5 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 5 | } |
SimpleStreamChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::DeadSymbols, clang::ento::check::PointerEscape>::_register<(anonymous namespace)::SimpleStreamChecker>((anonymous namespace)::SimpleStreamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 5 | CHECK1::_register(checker, mgr); | 522 | 5 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 5 | } |
SimpleStreamChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols, clang::ento::check::PointerEscape>::_register<(anonymous namespace)::SimpleStreamChecker>((anonymous namespace)::SimpleStreamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 5 | CHECK1::_register(checker, mgr); | 522 | 5 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 5 | } |
StackAddrEscapeChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::EndFunction>::_register<(anonymous namespace)::StackAddrEscapeChecker>((anonymous namespace)::StackAddrEscapeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 675 | CHECK1::_register(checker, mgr); | 522 | 675 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 675 | } |
StackAddrEscapeChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ReturnStmt>, clang::ento::check::EndFunction>::_register<(anonymous namespace)::StackAddrEscapeChecker>((anonymous namespace)::StackAddrEscapeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 675 | CHECK1::_register(checker, mgr); | 522 | 675 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 675 | } |
StdLibraryFunctionsChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::eval::Call>::_register<(anonymous namespace)::StdLibraryFunctionsChecker>((anonymous namespace)::StdLibraryFunctionsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 21 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 21 | CHECK1::_register(checker, mgr); | 522 | 21 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 21 | } |
StreamChecker.cpp:void clang::ento::Checker<clang::ento::eval::Call, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::StreamChecker>((anonymous namespace)::StreamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 5 | CHECK1::_register(checker, mgr); | 522 | 5 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 5 | } |
TestAfterDivZeroChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::BinaryOperator>, clang::ento::check::BranchCondition, clang::ento::check::EndFunction>::_register<(anonymous namespace)::TestAfterDivZeroChecker>((anonymous namespace)::TestAfterDivZeroChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
TestAfterDivZeroChecker.cpp:void clang::ento::Checker<clang::ento::check::BranchCondition, clang::ento::check::EndFunction>::_register<(anonymous namespace)::TestAfterDivZeroChecker>((anonymous namespace)::TestAfterDivZeroChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 71 | CHECK1::_register(checker, mgr); | 522 | 71 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 71 | } |
TraversalChecker.cpp:void clang::ento::Checker<clang::ento::check::BranchCondition, clang::ento::check::BeginFunction, clang::ento::check::EndFunction>::_register<(anonymous namespace)::TraversalDumper>((anonymous namespace)::TraversalDumper*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 4 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 4 | CHECK1::_register(checker, mgr); | 522 | 4 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 4 | } |
TraversalChecker.cpp:void clang::ento::Checker<clang::ento::check::BeginFunction, clang::ento::check::EndFunction>::_register<(anonymous namespace)::TraversalDumper>((anonymous namespace)::TraversalDumper*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 4 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 4 | CHECK1::_register(checker, mgr); | 522 | 4 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 4 | } |
Unexecuted instantiation: TraversalChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::PostCall>::_register<(anonymous namespace)::CallDumper>((anonymous namespace)::CallDumper*, clang::ento::CheckerManager&) TrustNonnullChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::PostObjCMessage, clang::ento::check::DeadSymbols, clang::ento::eval::Assume>::_register<(anonymous namespace)::TrustNonnullChecker>((anonymous namespace)::TrustNonnullChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 10 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 10 | CHECK1::_register(checker, mgr); | 522 | 10 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 10 | } |
TrustNonnullChecker.cpp:void clang::ento::Checker<clang::ento::check::PostObjCMessage, clang::ento::check::DeadSymbols, clang::ento::eval::Assume>::_register<(anonymous namespace)::TrustNonnullChecker>((anonymous namespace)::TrustNonnullChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 10 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 10 | CHECK1::_register(checker, mgr); | 522 | 10 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 10 | } |
TrustNonnullChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols, clang::ento::eval::Assume>::_register<(anonymous namespace)::TrustNonnullChecker>((anonymous namespace)::TrustNonnullChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 10 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 10 | CHECK1::_register(checker, mgr); | 522 | 10 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 10 | } |
UninitializedObjectChecker.cpp:void clang::ento::Checker<clang::ento::check::EndFunction, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::UninitializedObjectChecker>((anonymous namespace)::UninitializedObjectChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 11 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 11 | CHECK1::_register(checker, mgr); | 522 | 11 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 11 | } |
VforkChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::PostCall, clang::ento::check::Bind, clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::VforkChecker>((anonymous namespace)::VforkChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 27 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 27 | CHECK1::_register(checker, mgr); | 522 | 27 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 27 | } |
VforkChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall, clang::ento::check::Bind, clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::VforkChecker>((anonymous namespace)::VforkChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 27 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 27 | CHECK1::_register(checker, mgr); | 522 | 27 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 27 | } |
VforkChecker.cpp:void clang::ento::Checker<clang::ento::check::Bind, clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::VforkChecker>((anonymous namespace)::VforkChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 27 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 27 | CHECK1::_register(checker, mgr); | 522 | 27 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 27 | } |
ValistChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall, clang::ento::check::PreStmt<clang::VAArgExpr>, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::ValistChecker>((anonymous namespace)::ValistChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 7 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 7 | CHECK1::_register(checker, mgr); | 522 | 7 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 7 | } |
ValistChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::VAArgExpr>, clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::ValistChecker>((anonymous namespace)::ValistChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 7 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 7 | CHECK1::_register(checker, mgr); | 522 | 7 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 7 | } |
VirtualCallChecker.cpp:void clang::ento::Checker<clang::ento::check::BeginFunction, clang::ento::check::EndFunction, clang::ento::check::PreCall>::_register<(anonymous namespace)::VirtualCallChecker>((anonymous namespace)::VirtualCallChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 2 | CHECK1::_register(checker, mgr); | 522 | 2 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 2 | } |
VirtualCallChecker.cpp:void clang::ento::Checker<clang::ento::check::EndFunction, clang::ento::check::PreCall>::_register<(anonymous namespace)::VirtualCallChecker>((anonymous namespace)::VirtualCallChecker*, clang::ento::CheckerManager&) Line | Count | Source | 520 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 521 | 2 | CHECK1::_register(checker, mgr); | 522 | 2 | Checker<CHECKs...>::_register(checker, mgr); | 523 | 2 | } |
|
524 | | }; |
525 | | |
526 | | template <typename CHECK1> |
527 | | class Checker<CHECK1> : public CHECK1, public CheckerBase { |
528 | | public: |
529 | | template <typename CHECKER> |
530 | 13.6k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
531 | 13.6k | CHECK1::_register(checker, mgr); |
532 | 13.6k | } AnalysisOrderChecker.cpp:void clang::ento::Checker<clang::ento::check::LiveSymbols>::_register<(anonymous namespace)::AnalysisOrderChecker>((anonymous namespace)::AnalysisOrderChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 8 | CHECK1::_register(checker, mgr); | 532 | 8 | } |
AnalyzerStatsChecker.cpp:void clang::ento::Checker<clang::ento::check::EndAnalysis>::_register<(anonymous namespace)::AnalyzerStatsChecker>((anonymous namespace)::AnalyzerStatsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 2 | CHECK1::_register(checker, mgr); | 532 | 2 | } |
ArrayBoundChecker.cpp:void clang::ento::Checker<clang::ento::check::Location>::_register<(anonymous namespace)::ArrayBoundChecker>((anonymous namespace)::ArrayBoundChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 7 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 7 | CHECK1::_register(checker, mgr); | 532 | 7 | } |
ArrayBoundCheckerV2.cpp:void clang::ento::Checker<clang::ento::check::Location>::_register<(anonymous namespace)::ArrayBoundCheckerV2>((anonymous namespace)::ArrayBoundCheckerV2*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 8 | CHECK1::_register(checker, mgr); | 532 | 8 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::ObjCArrayLiteral> >::_register<(anonymous namespace)::NilArgChecker>((anonymous namespace)::NilArgChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 30 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 30 | CHECK1::_register(checker, mgr); | 532 | 30 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CallExpr> >::_register<(anonymous namespace)::CFNumberChecker>((anonymous namespace)::CFNumberChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 24 | CHECK1::_register(checker, mgr); | 532 | 24 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PreCall>::_register<(anonymous namespace)::CFRetainReleaseChecker>((anonymous namespace)::CFRetainReleaseChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 34 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 34 | CHECK1::_register(checker, mgr); | 532 | 34 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PreObjCMessage>::_register<(anonymous namespace)::ClassReleaseChecker>((anonymous namespace)::ClassReleaseChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 32 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 32 | CHECK1::_register(checker, mgr); | 532 | 32 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PreObjCMessage>::_register<(anonymous namespace)::VariadicMethodTypeChecker>((anonymous namespace)::VariadicMethodTypeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 24 | CHECK1::_register(checker, mgr); | 532 | 24 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PointerEscape>::_register<(anonymous namespace)::ObjCLoopChecker>((anonymous namespace)::ObjCLoopChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 25 | CHECK1::_register(checker, mgr); | 532 | 25 | } |
BasicObjCFoundationChecks.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::ObjCBoxedExpr> >::_register<(anonymous namespace)::ObjCNonNilReturnValueChecker>((anonymous namespace)::ObjCNonNilReturnValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 26 | CHECK1::_register(checker, mgr); | 532 | 26 | } |
BlockInCriticalSectionChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall>::_register<(anonymous namespace)::BlockInCriticalSectionChecker>((anonymous namespace)::BlockInCriticalSectionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 6 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 6 | CHECK1::_register(checker, mgr); | 532 | 6 | } |
BoolAssignmentChecker.cpp:void clang::ento::Checker<clang::ento::check::Bind>::_register<(anonymous namespace)::BoolAssignmentChecker>((anonymous namespace)::BoolAssignmentChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 71 | CHECK1::_register(checker, mgr); | 532 | 71 | } |
BuiltinFunctionChecker.cpp:void clang::ento::Checker<clang::ento::eval::Call>::_register<(anonymous namespace)::BuiltinFunctionChecker>((anonymous namespace)::BuiltinFunctionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 685 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 685 | CHECK1::_register(checker, mgr); | 532 | 685 | } |
CStringChecker.cpp:void clang::ento::Checker<clang::ento::check::RegionChanges>::_register<(anonymous namespace)::CStringChecker>((anonymous namespace)::CStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 198 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 198 | CHECK1::_register(checker, mgr); | 532 | 198 | } |
CStringSyntaxChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::CStringSyntaxChecker>((anonymous namespace)::CStringSyntaxChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 52 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 52 | CHECK1::_register(checker, mgr); | 532 | 52 | } |
CallAndMessageChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall>::_register<(anonymous namespace)::CallAndMessageChecker>((anonymous namespace)::CallAndMessageChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 675 | CHECK1::_register(checker, mgr); | 532 | 675 | } |
CastSizeChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CastExpr> >::_register<(anonymous namespace)::CastSizeChecker>((anonymous namespace)::CastSizeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 60 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 60 | CHECK1::_register(checker, mgr); | 532 | 60 | } |
CastToStructChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::CastToStructChecker>((anonymous namespace)::CastToStructChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 75 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 75 | CHECK1::_register(checker, mgr); | 532 | 75 | } |
CastValueChecker.cpp:void clang::ento::Checker<clang::ento::eval::Call>::_register<(anonymous namespace)::CastValueChecker>((anonymous namespace)::CastValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 12 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 12 | CHECK1::_register(checker, mgr); | 532 | 12 | } |
CheckObjCDealloc.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::ObjCDeallocChecker>((anonymous namespace)::ObjCDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 28 | CHECK1::_register(checker, mgr); | 532 | 28 | } |
CheckObjCInstMethSignature.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::ObjCImplementationDecl> >::_register<(anonymous namespace)::ObjCMethSigsChecker>((anonymous namespace)::ObjCMethSigsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 25 | CHECK1::_register(checker, mgr); | 532 | 25 | } |
CheckSecuritySyntaxOnly.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::SecuritySyntaxChecker>((anonymous namespace)::SecuritySyntaxChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 22 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 22 | CHECK1::_register(checker, mgr); | 532 | 22 | } |
CheckSizeofPointer.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::SizeofPointerChecker>((anonymous namespace)::SizeofPointerChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 70 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 70 | CHECK1::_register(checker, mgr); | 532 | 70 | } |
ChrootChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall>::_register<(anonymous namespace)::ChrootChecker>((anonymous namespace)::ChrootChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 5 | CHECK1::_register(checker, mgr); | 532 | 5 | } |
CloneChecker.cpp:void clang::ento::Checker<clang::ento::check::EndOfTranslationUnit>::_register<(anonymous namespace)::CloneChecker>((anonymous namespace)::CloneChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 28 | CHECK1::_register(checker, mgr); | 532 | 28 | } |
ConversionChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ImplicitCastExpr> >::_register<(anonymous namespace)::ConversionChecker>((anonymous namespace)::ConversionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 70 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 70 | CHECK1::_register(checker, mgr); | 532 | 70 | } |
CXXSelfAssignmentChecker.cpp:void clang::ento::Checker<clang::ento::check::BeginFunction>::_register<(anonymous namespace)::CXXSelfAssignmentChecker>((anonymous namespace)::CXXSelfAssignmentChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 39 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 39 | CHECK1::_register(checker, mgr); | 532 | 39 | } |
DeadStoresChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::DeadStoresChecker>((anonymous namespace)::DeadStoresChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 31 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 31 | CHECK1::_register(checker, mgr); | 532 | 31 | } |
DebugCheckers.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::DominatorsTreeDumper>((anonymous namespace)::DominatorsTreeDumper*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 2 | CHECK1::_register(checker, mgr); | 532 | 2 | } |
DebugCheckers.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::PostDominatorsTreeDumper>((anonymous namespace)::PostDominatorsTreeDumper*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 2 | CHECK1::_register(checker, mgr); | 532 | 2 | } |
DebugCheckers.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::ControlDependencyTreeDumper>((anonymous namespace)::ControlDependencyTreeDumper*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 2 | CHECK1::_register(checker, mgr); | 532 | 2 | } |
Unexecuted instantiation: DebugCheckers.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::LiveVariablesDumper>((anonymous namespace)::LiveVariablesDumper*, clang::ento::CheckerManager&) DebugCheckers.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::LiveStatementsDumper>((anonymous namespace)::LiveStatementsDumper*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 1 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 1 | CHECK1::_register(checker, mgr); | 532 | 1 | } |
Unexecuted instantiation: DebugCheckers.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::CFGViewer>((anonymous namespace)::CFGViewer*, clang::ento::CheckerManager&) DebugCheckers.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::CFGDumper>((anonymous namespace)::CFGDumper*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 33 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 33 | CHECK1::_register(checker, mgr); | 532 | 33 | } |
Unexecuted instantiation: DebugCheckers.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::TranslationUnitDecl> >::_register<(anonymous namespace)::CallGraphViewer>((anonymous namespace)::CallGraphViewer*, clang::ento::CheckerManager&) DebugCheckers.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::TranslationUnitDecl> >::_register<(anonymous namespace)::CallGraphDumper>((anonymous namespace)::CallGraphDumper*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 1 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 1 | CHECK1::_register(checker, mgr); | 532 | 1 | } |
DebugCheckers.cpp:void clang::ento::Checker<clang::ento::check::EndOfTranslationUnit>::_register<(anonymous namespace)::ConfigDumper>((anonymous namespace)::ConfigDumper*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 6 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 6 | CHECK1::_register(checker, mgr); | 532 | 6 | } |
Unexecuted instantiation: DebugCheckers.cpp:void clang::ento::Checker<clang::ento::check::EndAnalysis>::_register<(anonymous namespace)::ExplodedGraphViewer>((anonymous namespace)::ExplodedGraphViewer*, clang::ento::CheckerManager&) DebugCheckers.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::Stmt> >::_register<(anonymous namespace)::ReportStmts>((anonymous namespace)::ReportStmts*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 1 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 1 | CHECK1::_register(checker, mgr); | 532 | 1 | } |
DeleteWithNonVirtualDtorChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CXXDeleteExpr> >::_register<(anonymous namespace)::DeleteWithNonVirtualDtorChecker>((anonymous namespace)::DeleteWithNonVirtualDtorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 2 | CHECK1::_register(checker, mgr); | 532 | 2 | } |
DereferenceChecker.cpp:void clang::ento::Checker<clang::ento::EventDispatcher<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::DereferenceChecker>((anonymous namespace)::DereferenceChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 683 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 683 | CHECK1::_register(checker, mgr); | 532 | 683 | } |
DirectIvarAssignment.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::ObjCImplementationDecl> >::_register<(anonymous namespace)::DirectIvarAssignment>((anonymous namespace)::DirectIvarAssignment*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 3 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 3 | CHECK1::_register(checker, mgr); | 532 | 3 | } |
DivZeroChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::BinaryOperator> >::_register<(anonymous namespace)::DivZeroChecker>((anonymous namespace)::DivZeroChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 682 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 682 | CHECK1::_register(checker, mgr); | 532 | 682 | } |
DynamicTypePropagation.cpp:void clang::ento::Checker<clang::ento::check::PostObjCMessage>::_register<(anonymous namespace)::DynamicTypePropagation>((anonymous namespace)::DynamicTypePropagation*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 676 | CHECK1::_register(checker, mgr); | 532 | 676 | } |
DynamicTypeChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::ImplicitCastExpr> >::_register<(anonymous namespace)::DynamicTypeChecker>((anonymous namespace)::DynamicTypeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 72 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 72 | CHECK1::_register(checker, mgr); | 532 | 72 | } |
EnumCastOutOfRangeChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CastExpr> >::_register<(anonymous namespace)::EnumCastOutOfRangeChecker>((anonymous namespace)::EnumCastOutOfRangeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 2 | CHECK1::_register(checker, mgr); | 532 | 2 | } |
ExprInspectionChecker.cpp:void clang::ento::Checker<clang::ento::check::EndAnalysis>::_register<(anonymous namespace)::ExprInspectionChecker>((anonymous namespace)::ExprInspectionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 241 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 241 | CHECK1::_register(checker, mgr); | 532 | 241 | } |
FixedAddressChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::BinaryOperator> >::_register<(anonymous namespace)::FixedAddressChecker>((anonymous namespace)::FixedAddressChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 71 | CHECK1::_register(checker, mgr); | 532 | 71 | } |
GCDAntipatternChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::GCDAntipatternChecker>((anonymous namespace)::GCDAntipatternChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 5 | CHECK1::_register(checker, mgr); | 532 | 5 | } |
GenericTaintChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CallExpr> >::_register<(anonymous namespace)::GenericTaintChecker>((anonymous namespace)::GenericTaintChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 14 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 14 | CHECK1::_register(checker, mgr); | 532 | 14 | } |
GTestChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall>::_register<(anonymous namespace)::GTestChecker>((anonymous namespace)::GTestChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 7 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 7 | CHECK1::_register(checker, mgr); | 532 | 7 | } |
IdenticalExprChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::FindIdenticalExprChecker>((anonymous namespace)::FindIdenticalExprChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 70 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 70 | CHECK1::_register(checker, mgr); | 532 | 70 | } |
InnerPointerChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall>::_register<(anonymous namespace)::InnerPointerChecker>((anonymous namespace)::InnerPointerChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 40 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 40 | CHECK1::_register(checker, mgr); | 532 | 40 | } |
IteratorChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::IteratorChecker>((anonymous namespace)::IteratorChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 8 | CHECK1::_register(checker, mgr); | 532 | 8 | } |
IvarInvalidationChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::ObjCImplementationDecl> >::_register<(anonymous namespace)::IvarInvalidationChecker>((anonymous namespace)::IvarInvalidationChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 3 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 3 | CHECK1::_register(checker, mgr); | 532 | 3 | } |
LLVMConventionsChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::LLVMConventionsChecker>((anonymous namespace)::LLVMConventionsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 2 | CHECK1::_register(checker, mgr); | 532 | 2 | } |
LocalizationChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::ObjCStringLiteral> >::_register<(anonymous namespace)::NonLocalizedStringChecker>((anonymous namespace)::NonLocalizedStringChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 2 | CHECK1::_register(checker, mgr); | 532 | 2 | } |
LocalizationChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::ObjCImplementationDecl> >::_register<(anonymous namespace)::EmptyLocalizationContextChecker>((anonymous namespace)::EmptyLocalizationContextChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 1 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 1 | CHECK1::_register(checker, mgr); | 532 | 1 | } |
LocalizationChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::PluralMisuseChecker>((anonymous namespace)::PluralMisuseChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 2 | CHECK1::_register(checker, mgr); | 532 | 2 | } |
MacOSKeychainAPIChecker.cpp:void clang::ento::Checker<clang::ento::eval::Assume>::_register<(anonymous namespace)::MacOSKeychainAPIChecker>((anonymous namespace)::MacOSKeychainAPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 25 | CHECK1::_register(checker, mgr); | 532 | 25 | } |
MacOSXAPIChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CallExpr> >::_register<(anonymous namespace)::MacOSXAPIChecker>((anonymous namespace)::MacOSXAPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 28 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 28 | CHECK1::_register(checker, mgr); | 532 | 28 | } |
MallocChecker.cpp:void clang::ento::Checker<clang::ento::eval::Assume>::_register<(anonymous namespace)::MallocChecker>((anonymous namespace)::MallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 179 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 179 | CHECK1::_register(checker, mgr); | 532 | 179 | } |
MallocOverflowSecurityChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::MallocOverflowSecurityChecker>((anonymous namespace)::MallocOverflowSecurityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 5 | CHECK1::_register(checker, mgr); | 532 | 5 | } |
MallocSizeofChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::MallocSizeofChecker>((anonymous namespace)::MallocSizeofChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 27 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 27 | CHECK1::_register(checker, mgr); | 532 | 27 | } |
MmapWriteExecChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall>::_register<(anonymous namespace)::MmapWriteExecChecker>((anonymous namespace)::MmapWriteExecChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 3 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 3 | CHECK1::_register(checker, mgr); | 532 | 3 | } |
MIGChecker.cpp:void clang::ento::Checker<clang::ento::check::EndFunction>::_register<(anonymous namespace)::MIGChecker>((anonymous namespace)::MIGChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 24 | CHECK1::_register(checker, mgr); | 532 | 24 | } |
MoveChecker.cpp:void clang::ento::Checker<clang::ento::check::RegionChanges>::_register<(anonymous namespace)::MoveChecker>((anonymous namespace)::MoveChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 49 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 49 | CHECK1::_register(checker, mgr); | 532 | 49 | } |
void clang::ento::Checker<clang::ento::check::DeadSymbols>::_register<clang::ento::mpi::MPIChecker>(clang::ento::mpi::MPIChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 3 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 3 | CHECK1::_register(checker, mgr); | 532 | 3 | } |
Unexecuted instantiation: NSAutoreleasePoolChecker.cpp:void clang::ento::Checker<clang::ento::check::PreObjCMessage>::_register<(anonymous namespace)::NSAutoreleasePoolChecker>((anonymous namespace)::NSAutoreleasePoolChecker*, clang::ento::CheckerManager&) NSErrorChecker.cpp:void clang::ento::Checker<clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::NSOrCFErrorDerefChecker>((anonymous namespace)::NSOrCFErrorDerefChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 24 | CHECK1::_register(checker, mgr); | 532 | 24 | } |
NSErrorChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::ObjCMethodDecl> >::_register<(anonymous namespace)::NSErrorMethodChecker>((anonymous namespace)::NSErrorMethodChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 24 | CHECK1::_register(checker, mgr); | 532 | 24 | } |
NSErrorChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::FunctionDecl> >::_register<(anonymous namespace)::CFErrorFunctionChecker>((anonymous namespace)::CFErrorFunctionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 24 | CHECK1::_register(checker, mgr); | 532 | 24 | } |
NoReturnFunctionChecker.cpp:void clang::ento::Checker<clang::ento::check::PostObjCMessage>::_register<(anonymous namespace)::NoReturnFunctionChecker>((anonymous namespace)::NoReturnFunctionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 686 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 686 | CHECK1::_register(checker, mgr); | 532 | 686 | } |
NonNullParamChecker.cpp:void clang::ento::Checker<clang::ento::EventDispatcher<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::NonNullParamChecker>((anonymous namespace)::NonNullParamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 675 | CHECK1::_register(checker, mgr); | 532 | 675 | } |
NonnullGlobalConstantsChecker.cpp:void clang::ento::Checker<clang::ento::check::Location>::_register<(anonymous namespace)::NonnullGlobalConstantsChecker>((anonymous namespace)::NonnullGlobalConstantsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 675 | CHECK1::_register(checker, mgr); | 532 | 675 | } |
NullabilityChecker.cpp:void clang::ento::Checker<clang::ento::check::Event<clang::ento::ImplicitNullDerefEvent> >::_register<(anonymous namespace)::NullabilityChecker>((anonymous namespace)::NullabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 23 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 23 | CHECK1::_register(checker, mgr); | 532 | 23 | } |
NumberObjectConversionChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::NumberObjectConversionChecker>((anonymous namespace)::NumberObjectConversionChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 32 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 32 | CHECK1::_register(checker, mgr); | 532 | 32 | } |
ObjCAtSyncChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ObjCAtSynchronizedStmt> >::_register<(anonymous namespace)::ObjCAtSyncChecker>((anonymous namespace)::ObjCAtSyncChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 8 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 8 | CHECK1::_register(checker, mgr); | 532 | 8 | } |
ObjCAutoreleaseWriteChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::ObjCAutoreleaseWriteChecker>((anonymous namespace)::ObjCAutoreleaseWriteChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 25 | CHECK1::_register(checker, mgr); | 532 | 25 | } |
ObjCContainersASTChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::ObjCContainersASTChecker>((anonymous namespace)::ObjCContainersASTChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 25 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 25 | CHECK1::_register(checker, mgr); | 532 | 25 | } |
ObjCContainersChecker.cpp:void clang::ento::Checker<clang::ento::check::PointerEscape>::_register<(anonymous namespace)::ObjCContainersChecker>((anonymous namespace)::ObjCContainersChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 24 | CHECK1::_register(checker, mgr); | 532 | 24 | } |
ObjCMissingSuperCallChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::ObjCImplementationDecl> >::_register<(anonymous namespace)::ObjCSuperCallChecker>((anonymous namespace)::ObjCSuperCallChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 24 | CHECK1::_register(checker, mgr); | 532 | 24 | } |
ObjCPropertyChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::ObjCPropertyDecl> >::_register<(anonymous namespace)::ObjCPropertyChecker>((anonymous namespace)::ObjCPropertyChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 24 | CHECK1::_register(checker, mgr); | 532 | 24 | } |
ObjCSelfInitChecker.cpp:void clang::ento::Checker<clang::ento::check::Bind>::_register<(anonymous namespace)::ObjCSelfInitChecker>((anonymous namespace)::ObjCSelfInitChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 26 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 26 | CHECK1::_register(checker, mgr); | 532 | 26 | } |
ObjCSuperDeallocChecker.cpp:void clang::ento::Checker<clang::ento::check::Location>::_register<(anonymous namespace)::ObjCSuperDeallocChecker>((anonymous namespace)::ObjCSuperDeallocChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 24 | CHECK1::_register(checker, mgr); | 532 | 24 | } |
ObjCUnusedIVarsChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::ObjCImplementationDecl> >::_register<(anonymous namespace)::ObjCUnusedIvarsChecker>((anonymous namespace)::ObjCUnusedIvarsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 24 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 24 | CHECK1::_register(checker, mgr); | 532 | 24 | } |
OSObjectCStyleCast.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::OSObjectCStyleCastChecker>((anonymous namespace)::OSObjectCStyleCastChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 1 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 1 | CHECK1::_register(checker, mgr); | 532 | 1 | } |
PaddingChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTDecl<clang::TranslationUnitDecl> >::_register<(anonymous namespace)::PaddingChecker>((anonymous namespace)::PaddingChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 6 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 6 | CHECK1::_register(checker, mgr); | 532 | 6 | } |
PointerArithChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::PointerArithChecker>((anonymous namespace)::PointerArithChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 73 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 73 | CHECK1::_register(checker, mgr); | 532 | 73 | } |
PointerIterationChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::PointerIterationChecker>((anonymous namespace)::PointerIterationChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 2 | CHECK1::_register(checker, mgr); | 532 | 2 | } |
PointerSortingChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::PointerSortingChecker>((anonymous namespace)::PointerSortingChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 2 | CHECK1::_register(checker, mgr); | 532 | 2 | } |
PointerSubChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::BinaryOperator> >::_register<(anonymous namespace)::PointerSubChecker>((anonymous namespace)::PointerSubChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 71 | CHECK1::_register(checker, mgr); | 532 | 71 | } |
PthreadLockChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::PthreadLockChecker>((anonymous namespace)::PthreadLockChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 5 | CHECK1::_register(checker, mgr); | 532 | 5 | } |
void clang::ento::Checker<clang::ento::eval::Call>::_register<clang::ento::retaincountchecker::RetainCountChecker>(clang::ento::retaincountchecker::RetainCountChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 71 | CHECK1::_register(checker, mgr); | 532 | 71 | } |
ReturnPointerRangeChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::ReturnPointerRangeChecker>((anonymous namespace)::ReturnPointerRangeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 4 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 4 | CHECK1::_register(checker, mgr); | 532 | 4 | } |
ReturnUndefChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::ReturnUndefChecker>((anonymous namespace)::ReturnUndefChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 676 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 676 | CHECK1::_register(checker, mgr); | 532 | 676 | } |
ReturnValueChecker.cpp:void clang::ento::Checker<clang::ento::check::EndFunction>::_register<(anonymous namespace)::ReturnValueChecker>((anonymous namespace)::ReturnValueChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 11 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 11 | CHECK1::_register(checker, mgr); | 532 | 11 | } |
RunLoopAutoreleaseLeakChecker.cpp:void clang::ento::Checker<clang::ento::check::ASTCodeBody>::_register<(anonymous namespace)::RunLoopAutoreleaseLeakChecker>((anonymous namespace)::RunLoopAutoreleaseLeakChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 29 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 29 | CHECK1::_register(checker, mgr); | 532 | 29 | } |
SimpleStreamChecker.cpp:void clang::ento::Checker<clang::ento::check::PointerEscape>::_register<(anonymous namespace)::SimpleStreamChecker>((anonymous namespace)::SimpleStreamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 5 | CHECK1::_register(checker, mgr); | 532 | 5 | } |
SmartPtrModeling.cpp:void clang::ento::Checker<clang::ento::eval::Call>::_register<(anonymous namespace)::SmartPtrModeling>((anonymous namespace)::SmartPtrModeling*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 48 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 48 | CHECK1::_register(checker, mgr); | 532 | 48 | } |
StackAddrEscapeChecker.cpp:void clang::ento::Checker<clang::ento::check::EndFunction>::_register<(anonymous namespace)::StackAddrEscapeChecker>((anonymous namespace)::StackAddrEscapeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 675 | CHECK1::_register(checker, mgr); | 532 | 675 | } |
StdLibraryFunctionsChecker.cpp:void clang::ento::Checker<clang::ento::eval::Call>::_register<(anonymous namespace)::StdLibraryFunctionsChecker>((anonymous namespace)::StdLibraryFunctionsChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 21 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 21 | CHECK1::_register(checker, mgr); | 532 | 21 | } |
StreamChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::StreamChecker>((anonymous namespace)::StreamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 5 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 5 | CHECK1::_register(checker, mgr); | 532 | 5 | } |
TaintTesterChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::Expr> >::_register<(anonymous namespace)::TaintTesterChecker>((anonymous namespace)::TaintTesterChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 6 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 6 | CHECK1::_register(checker, mgr); | 532 | 6 | } |
TestAfterDivZeroChecker.cpp:void clang::ento::Checker<clang::ento::check::EndFunction>::_register<(anonymous namespace)::TestAfterDivZeroChecker>((anonymous namespace)::TestAfterDivZeroChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 71 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 71 | CHECK1::_register(checker, mgr); | 532 | 71 | } |
TraversalChecker.cpp:void clang::ento::Checker<clang::ento::check::EndFunction>::_register<(anonymous namespace)::TraversalDumper>((anonymous namespace)::TraversalDumper*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 4 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 4 | CHECK1::_register(checker, mgr); | 532 | 4 | } |
Unexecuted instantiation: TraversalChecker.cpp:void clang::ento::Checker<clang::ento::check::PostCall>::_register<(anonymous namespace)::CallDumper>((anonymous namespace)::CallDumper*, clang::ento::CheckerManager&) TrustNonnullChecker.cpp:void clang::ento::Checker<clang::ento::eval::Assume>::_register<(anonymous namespace)::TrustNonnullChecker>((anonymous namespace)::TrustNonnullChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 10 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 10 | CHECK1::_register(checker, mgr); | 532 | 10 | } |
UndefBranchChecker.cpp:void clang::ento::Checker<clang::ento::check::BranchCondition>::_register<(anonymous namespace)::UndefBranchChecker>((anonymous namespace)::UndefBranchChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 675 | CHECK1::_register(checker, mgr); | 532 | 675 | } |
UndefCapturedBlockVarChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::BlockExpr> >::_register<(anonymous namespace)::UndefCapturedBlockVarChecker>((anonymous namespace)::UndefCapturedBlockVarChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 675 | CHECK1::_register(checker, mgr); | 532 | 675 | } |
UndefResultChecker.cpp:void clang::ento::Checker<clang::ento::check::PostStmt<clang::BinaryOperator> >::_register<(anonymous namespace)::UndefResultChecker>((anonymous namespace)::UndefResultChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 675 | CHECK1::_register(checker, mgr); | 532 | 675 | } |
UndefinedArraySubscriptChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ArraySubscriptExpr> >::_register<(anonymous namespace)::UndefinedArraySubscriptChecker>((anonymous namespace)::UndefinedArraySubscriptChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 675 | CHECK1::_register(checker, mgr); | 532 | 675 | } |
UndefinedAssignmentChecker.cpp:void clang::ento::Checker<clang::ento::check::Bind>::_register<(anonymous namespace)::UndefinedAssignmentChecker>((anonymous namespace)::UndefinedAssignmentChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 675 | CHECK1::_register(checker, mgr); | 532 | 675 | } |
UninitializedObjectChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::UninitializedObjectChecker>((anonymous namespace)::UninitializedObjectChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 11 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 11 | CHECK1::_register(checker, mgr); | 532 | 11 | } |
UnixAPIChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CallExpr> >::_register<(anonymous namespace)::UnixAPIMisuseChecker>((anonymous namespace)::UnixAPIMisuseChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 30 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 30 | CHECK1::_register(checker, mgr); | 532 | 30 | } |
UnixAPIChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::CallExpr> >::_register<(anonymous namespace)::UnixAPIPortabilityChecker>((anonymous namespace)::UnixAPIPortabilityChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 3 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 3 | CHECK1::_register(checker, mgr); | 532 | 3 | } |
UnreachableCodeChecker.cpp:void clang::ento::Checker<clang::ento::check::EndAnalysis>::_register<(anonymous namespace)::UnreachableCodeChecker>((anonymous namespace)::UnreachableCodeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 9 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 9 | CHECK1::_register(checker, mgr); | 532 | 9 | } |
VforkChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::ReturnStmt> >::_register<(anonymous namespace)::VforkChecker>((anonymous namespace)::VforkChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 27 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 27 | CHECK1::_register(checker, mgr); | 532 | 27 | } |
VLASizeChecker.cpp:void clang::ento::Checker<clang::ento::check::PreStmt<clang::DeclStmt> >::_register<(anonymous namespace)::VLASizeChecker>((anonymous namespace)::VLASizeChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 675 | CHECK1::_register(checker, mgr); | 532 | 675 | } |
ValistChecker.cpp:void clang::ento::Checker<clang::ento::check::DeadSymbols>::_register<(anonymous namespace)::ValistChecker>((anonymous namespace)::ValistChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 7 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 7 | CHECK1::_register(checker, mgr); | 532 | 7 | } |
VirtualCallChecker.cpp:void clang::ento::Checker<clang::ento::check::PreCall>::_register<(anonymous namespace)::VirtualCallChecker>((anonymous namespace)::VirtualCallChecker*, clang::ento::CheckerManager&) Line | Count | Source | 530 | 2 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 531 | 2 | CHECK1::_register(checker, mgr); | 532 | 2 | } |
|
533 | | }; |
534 | | |
535 | | template <typename EVENT> |
536 | | class EventDispatcher { |
537 | | CheckerManager *Mgr; |
538 | | public: |
539 | 1.35k | EventDispatcher() : Mgr(nullptr) { } |
540 | | |
541 | | template <typename CHECKER> |
542 | 1.35k | static void _register(CHECKER *checker, CheckerManager &mgr) { |
543 | 1.35k | mgr._registerDispatcherForEvent<EVENT>(); |
544 | 1.35k | static_cast<EventDispatcher<EVENT> *>(checker)->Mgr = &mgr; |
545 | 1.35k | } DereferenceChecker.cpp:void clang::ento::EventDispatcher<clang::ento::ImplicitNullDerefEvent>::_register<(anonymous namespace)::DereferenceChecker>((anonymous namespace)::DereferenceChecker*, clang::ento::CheckerManager&) Line | Count | Source | 542 | 683 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 543 | 683 | mgr._registerDispatcherForEvent<EVENT>(); | 544 | 683 | static_cast<EventDispatcher<EVENT> *>(checker)->Mgr = &mgr; | 545 | 683 | } |
NonNullParamChecker.cpp:void clang::ento::EventDispatcher<clang::ento::ImplicitNullDerefEvent>::_register<(anonymous namespace)::NonNullParamChecker>((anonymous namespace)::NonNullParamChecker*, clang::ento::CheckerManager&) Line | Count | Source | 542 | 675 | static void _register(CHECKER *checker, CheckerManager &mgr) { | 543 | 675 | mgr._registerDispatcherForEvent<EVENT>(); | 544 | 675 | static_cast<EventDispatcher<EVENT> *>(checker)->Mgr = &mgr; | 545 | 675 | } |
|
546 | | |
547 | 3.07k | void dispatchEvent(const EVENT &event) const { |
548 | 3.07k | Mgr->_dispatchEvent(event); |
549 | 3.07k | } |
550 | | }; |
551 | | |
552 | | /// We dereferenced a location that may be null. |
553 | | struct ImplicitNullDerefEvent { |
554 | | SVal Location; |
555 | | bool IsLoad; |
556 | | ExplodedNode *SinkNode; |
557 | | BugReporter *BR; |
558 | | // When true, the dereference is in the source code directly. When false, the |
559 | | // dereference might happen later (for example pointer passed to a parameter |
560 | | // that is marked with nonnull attribute.) |
561 | | bool IsDirectDereference; |
562 | | |
563 | | static int Tag; |
564 | | }; |
565 | | |
566 | | /// A helper class which wraps a boolean value set to false by default. |
567 | | /// |
568 | | /// This class should behave exactly like 'bool' except that it doesn't need to |
569 | | /// be explicitly initialized. |
570 | | struct DefaultBool { |
571 | | bool val; |
572 | 5.12k | DefaultBool() : val(false) {} |
573 | 162 | /*implicit*/ operator bool&() { return val; } |
574 | 286k | /*implicit*/ operator const bool&() const { return val; } |
575 | 1.95k | DefaultBool &operator=(bool b) { val = b; return *this; } |
576 | | }; |
577 | | |
578 | | } // end ento namespace |
579 | | |
580 | | } // end clang namespace |
581 | | |
582 | | #endif |