clang
7.0.0
|
#include "clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/OperationKinds.h"
#include "clang/AST/ParentMap.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/Type.h"
#include "clang/Analysis/AnalysisDeclContext.h"
#include "clang/Analysis/CFG.h"
#include "clang/Analysis/ProgramPoint.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SVals.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <cstring>
#include <memory>
#include <utility>
#include <vector>
Go to the source code of this file.
|
static |
Definition at line 420 of file PathDiagnostic.cpp.
References clang::ento::PathDiagnosticLocation::asLocation(), compareCrossTUSourceLocs(), comparePath(), clang::ento::PathDiagnostic::getBugType(), clang::ento::PathDiagnostic::getCategory(), clang::ento::PathDiagnostic::getDeclWithIssue(), clang::Decl::getLocation(), clang::ento::PathDiagnostic::getLocation(), clang::FullSourceLoc::getManager(), clang::ento::PathDiagnostic::getShortDescription(), clang::ento::PathDiagnostic::getVerboseDescription(), clang::ento::PathDiagnostic::meta_begin(), clang::ento::PathDiagnostic::meta_end(), clang::ento::PathDiagnostic::path, and SM.
Referenced by assumeNoOverflow(), clang::ento::PathDiagnosticConsumer::FlushDiagnostics(), and isKnownToHaveUnsignedValue().
|
static |
Definition at line 324 of file PathDiagnostic.cpp.
References clang::ento::PathDiagnosticLocation::asLocation(), clang::ento::PathDiagnosticCallPiece::callEnter, clang::ento::PathDiagnosticCallPiece::callEnterWithin, clang::ento::PathDiagnosticCallPiece::callReturn, comparePath(), clang::FullSourceLoc::isBeforeInTranslationUnitThan(), and clang::ento::PathDiagnosticCallPiece::path.
Referenced by comparePiece().
|
static |
Definition at line 306 of file PathDiagnostic.cpp.
References clang::ento::PathDiagnosticLocation::asLocation(), clang::ento::PathDiagnosticControlFlowPiece::getEndLocation(), clang::ento::PathDiagnosticControlFlowPiece::getStartLocation(), and clang::FullSourceLoc::isBeforeInTranslationUnitThan().
Referenced by comparePiece().
|
static |
Definition at line 402 of file PathDiagnostic.cpp.
References clang::FullSourceLoc::getDecomposedLoc(), clang::SourceManager::getFileEntryForID(), clang::FullSourceLoc::getFileID(), clang::FullSourceLoc::getManager(), clang::FileEntry::getName(), clang::FullSourceLoc::getSpellingLoc(), clang::FullSourceLoc::isBeforeInTranslationUnitThan(), clang::SourceManager::isInTheSameTranslationUnit(), and SM.
Referenced by compare().
|
static |
Definition at line 319 of file PathDiagnostic.cpp.
References comparePath(), and clang::ento::PathDiagnosticMacroPiece::subPieces.
Referenced by comparePiece().
|
static |
Definition at line 386 of file PathDiagnostic.cpp.
References comparePiece().
Referenced by compare(), compareCall(), and compareMacro().
|
static |
Definition at line 341 of file PathDiagnostic.cpp.
References clang::ento::PathDiagnosticLocation::asLocation(), clang::ento::PathDiagnosticPiece::Call, compareCall(), compareControlFlow(), compareMacro(), clang::ento::PathDiagnosticPiece::ControlFlow, clang::ento::PathDiagnosticPiece::Event, clang::SourceRange::getBegin(), clang::SourceRange::getEnd(), clang::ento::PathDiagnosticPiece::getKind(), clang::ento::PathDiagnosticPiece::getLocation(), clang::FullSourceLoc::getManager(), clang::ento::PathDiagnosticPiece::getRanges(), clang::ento::PathDiagnosticPiece::getString(), clang::SourceManager::isBeforeInTranslationUnit(), clang::FullSourceLoc::isBeforeInTranslationUnitThan(), clang::ento::PathDiagnosticPiece::Macro, clang::ento::PathDiagnosticPiece::Note, and SM.
Referenced by comparePath().
|
static |
Definition at line 1185 of file PathDiagnostic.cpp.
Referenced by clang::ento::PathDiagnostic::full_size().
|
static |
Definition at line 1041 of file PathDiagnostic.cpp.
References describeTemplateParameters(), and clang::NamedDecl::getIdentifier().
Referenced by describeCodeDecl().
|
static |
Definition at line 1053 of file PathDiagnostic.cpp.
References describeClass(), and describeTemplateParameters().
Referenced by clang::ento::PathDiagnosticCallPiece::getCallEnterEvent(), clang::ento::PathDiagnosticCallPiece::getCallEnterWithinCallerEvent(), and clang::ento::PathDiagnosticCallPiece::getCallExitEvent().
|
static |
Definition at line 1014 of file PathDiagnostic.cpp.
References describeTemplateParameters(), clang::TemplateArgument::getKind(), clang::TemplateArgument::getPackAsArray(), and clang::TemplateArgument::print().
|
static |
Definition at line 1025 of file PathDiagnostic.cpp.
Referenced by describeClass(), describeCodeDecl(), describeTemplateParameter(), and clang::ento::PathDiagnosticCallPiece::setCallee().
|
static |
Definition at line 753 of file PathDiagnostic.cpp.
References clang::LocationContext::getAnalysisDeclContext(), clang::LocationContext::getParent(), and clang::AnalysisDeclContext::isBodyAutosynthesized().
Referenced by clang::ento::PathDiagnosticLocation::getStmt().
|
static |
Definition at line 145 of file PathDiagnostic.cpp.
References clang::ento::PathDiagnosticLocation::asLocation(), clang::ento::PathDiagnosticCallPiece::callEnter, clang::ento::PathDiagnosticCallPiece::callEnterWithin, clang::ento::AnalysisManager::isInCodeFile(), clang::SourceLocation::isMacroID(), and clang::ento::PathDiagnosticCallPiece::path.
Referenced by clang::ento::PathDiagnostic::resetDiagnosticLocationToMainFile().
|
static |
Definition at line 579 of file PathDiagnostic.cpp.
References clang::CFGElement::AutomaticObjectDtor, clang::CFGElement::BaseDtor, clang::CFGElement::castAs(), clang::CFGElement::Constructor, clang::ento::PathDiagnosticLocation::create(), clang::ento::PathDiagnosticLocation::createEnd(), clang::CFGElement::CXXRecordTypedCall, clang::CFGElement::DeleteDtor, clang::CFGNewAllocator::getAllocatorExpr(), clang::LocationContext::getAnalysisDeclContext(), clang::AnalysisDeclContext::getBody(), clang::StackFrameContext::getCallSiteBlock(), clang::AnalysisDeclContext::getDecl(), clang::CFGDeleteDtor::getDeleteExpr(), clang::StackFrameContext::getIndex(), clang::CXXCtorInitializer::getInit(), clang::CFGInitializer::getInitializer(), clang::CFGElement::getKind(), clang::CFGStmt::getStmt(), clang::CFGAutomaticObjDtor::getTriggerStmt(), clang::CFGElement::Initializer, clang::CFGElement::LifetimeEnds, clang::CFGElement::LoopExit, clang::CFGElement::MemberDtor, clang::CFGElement::NewAllocator, clang::CFGElement::ScopeBegin, clang::CFGElement::ScopeEnd, SM, clang::CFGElement::Statement, and clang::CFGElement::TemporaryDtor.
Referenced by clang::ento::PathDiagnosticCallPiece::construct(), and clang::ento::PathDiagnosticCallPiece::setCallee().
|
static |
Definition at line 536 of file PathDiagnostic.cpp.
|
static |
Definition at line 68 of file PathDiagnostic.cpp.