clang API Documentation
#include "clang/StaticAnalyzer/Frontend/AnalysisConsumer.h"#include "clang/AST/ASTConsumer.h"#include "clang/AST/DataRecursiveASTVisitor.h"#include "clang/AST/Decl.h"#include "clang/AST/DeclCXX.h"#include "clang/AST/DeclObjC.h"#include "clang/AST/ParentMap.h"#include "clang/Analysis/CodeInjector.h"#include "clang/Analysis/Analyses/LiveVariables.h"#include "clang/Analysis/CFG.h"#include "clang/Analysis/CallGraph.h"#include "clang/Basic/FileManager.h"#include "clang/Basic/SourceManager.h"#include "clang/Lex/Preprocessor.h"#include "clang/StaticAnalyzer/Checkers/LocalCheckers.h"#include "clang/StaticAnalyzer/Core/AnalyzerOptions.h"#include "clang/StaticAnalyzer/Core/BugReporter/BugReporter.h"#include "clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h"#include "clang/StaticAnalyzer/Core/CheckerManager.h"#include "clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h"#include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h"#include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"#include "clang/StaticAnalyzer/Frontend/CheckerRegistration.h"#include "clang/Frontend/CompilerInstance.h"#include "llvm/ADT/DepthFirstIterator.h"#include "llvm/ADT/PostOrderIterator.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/Statistic.h"#include "llvm/Support/FileSystem.h"#include "llvm/Support/Path.h"#include "llvm/Support/Program.h"#include "llvm/Support/Timer.h"#include "llvm/Support/raw_ostream.h"#include "ModelInjector.h"#include <memory>#include <queue>#include "clang/StaticAnalyzer/Core/Analyses.def"
Go to the source code of this file.
Defines | |
| #define | DEBUG_TYPE "AnalysisConsumer" |
| #define | ANALYSIS_DIAGNOSTICS(NAME, CMDFLAG, DESC, CREATEFN) |
| #define | ANALYSIS_STORE(NAME, CMDFLAG, DESC, CREATEFN) case NAME##Model: CreateStoreMgr = CREATEFN; break; |
| #define | ANALYSIS_CONSTRAINTS(NAME, CMDFLAG, DESC, CREATEFN) case NAME##Model: CreateConstraintMgr = CREATEFN; break; |
Functions | |
| static std::unique_ptr < ExplodedNode::Auditor > | CreateUbiViz () |
| STATISTIC (NumFunctionTopLevel,"The # of functions at top level.") | |
| STATISTIC (NumFunctionsAnalyzed,"The # of functions and blocks analyzed (as top level ""with inlining turned on).") | |
| STATISTIC (NumBlocksInAnalyzedFunctions,"The # of basic blocks in the analyzed functions.") | |
| STATISTIC (PercentReachableBlocks,"The % of reachable basic blocks.") | |
| STATISTIC (MaxCFGSize,"The maximum number of basic blocks in a function.") | |
| static bool | shouldSkipFunction (const Decl *D, const SetOfConstDecls &Visited, const SetOfConstDecls &VisitedAsTopLevel) |
| static std::string | getFunctionName (const Decl *D) |
| #define ANALYSIS_CONSTRAINTS | ( | NAME, | |
| CMDFLAG, | |||
| DESC, | |||
| CREATEFN | |||
| ) | case NAME##Model: CreateConstraintMgr = CREATEFN; break; |
| #define ANALYSIS_DIAGNOSTICS | ( | NAME, | |
| CMDFLAG, | |||
| DESC, | |||
| CREATEFN | |||
| ) |
case PD_##NAME: \
CREATEFN(*Opts.get(), PathConsumers, OutDir, PP); \
break;
| #define ANALYSIS_STORE | ( | NAME, | |
| CMDFLAG, | |||
| DESC, | |||
| CREATEFN | |||
| ) | case NAME##Model: CreateStoreMgr = CREATEFN; break; |
| #define DEBUG_TYPE "AnalysisConsumer" |
Definition at line 55 of file AnalysisConsumer.cpp.
| static std::unique_ptr< ExplodedNode::Auditor > CreateUbiViz | ( | ) | [static] |
Definition at line 734 of file AnalysisConsumer.cpp.
References P.
| static std::string getFunctionName | ( | const Decl * | D | ) | [static] |
Definition at line 568 of file AnalysisConsumer.cpp.
References clang::IdentifierInfo::getName().
| static bool shouldSkipFunction | ( | const Decl * | D, |
| const SetOfConstDecls & | Visited, | ||
| const SetOfConstDecls & | VisitedAsTopLevel | ||
| ) | [static] |
Definition at line 417 of file AnalysisConsumer.cpp.
| STATISTIC | ( | NumFunctionTopLevel | , |
| "The # of functions at top level." | |||
| ) |
| STATISTIC | ( | NumFunctionsAnalyzed | , |
| "The # of functions and blocks analyzed (as top level ""with inlining turned on)." | |||
| ) |
| STATISTIC | ( | NumBlocksInAnalyzedFunctions | , |
| "The # of basic blocks in the analyzed functions." | |||
| ) |
| STATISTIC | ( | PercentReachableBlocks | , |
| "The % of reachable basic blocks." | |||
| ) |
| STATISTIC | ( | MaxCFGSize | , |
| "The maximum number of basic blocks in a function." | |||
| ) |