diff options
author | Anna Zaks <ganna@apple.com> | 2011-09-20 16:23:37 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2011-09-20 16:23:37 +0000 |
commit | 23803374d8db054192ea6fcb766b87e04f26c8fb (patch) | |
tree | 2f5bfd0985039557f874e0bb970f33aa09d81ec0 | |
parent | 68018db76756c6959db15160055fd8da6bec5bec (diff) |
[analyzer] Remove LocationContext and a dependency from PathDiagnosticLoaction.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140146 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h | 12 | ||||
-rw-r--r-- | lib/StaticAnalyzer/Core/BugReporter.cpp | 2 | ||||
-rw-r--r-- | lib/StaticAnalyzer/Core/PathDiagnostic.cpp | 6 |
3 files changed, 9 insertions, 11 deletions
diff --git a/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h b/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h index 0e6b75278b..55179779b4 100644 --- a/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h +++ b/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h @@ -95,7 +95,6 @@ private: const Stmt *S; const Decl *D; const SourceManager *SM; - const LocationContext *LC; FullSourceLoc Loc; PathDiagnosticRange Range; @@ -104,17 +103,17 @@ private: public: PathDiagnosticLocation() - : K(SingleLocK), S(0), D(0), SM(0), LC(0) { + : K(SingleLocK), S(0), D(0), SM(0) { } PathDiagnosticLocation(FullSourceLoc L) - : K(SingleLocK), R(L, L), S(0), D(0), SM(&L.getManager()), LC(0), + : K(SingleLocK), R(L, L), S(0), D(0), SM(&L.getManager()), Loc(genLocation()), Range(genRange()) { } PathDiagnosticLocation(SourceLocation L, const SourceManager &sm, Kind kind = SingleLocK) - : K(kind), R(L, L), S(0), D(0), SM(&sm), LC(0), + : K(kind), R(L, L), S(0), D(0), SM(&sm), Loc(genLocation()), Range(genRange()) { } @@ -123,7 +122,7 @@ public: const LocationContext *lc); PathDiagnosticLocation(const Decl *d, const SourceManager &sm) - : K(DeclK), S(0), D(d), SM(&sm), LC(0), + : K(DeclK), S(0), D(d), SM(&sm), Loc(genLocation()), Range(genRange()) { } @@ -171,7 +170,7 @@ public: const PathDiagnosticLocation &PDL); bool operator==(const PathDiagnosticLocation &X) const { - return K == X.K && R == X.R && S == X.S && D == X.D && LC == X.LC; + return K == X.K && R == X.R && S == X.S && D == X.D; } bool operator!=(const PathDiagnosticLocation &X) const { @@ -202,7 +201,6 @@ public: void flatten(); const SourceManager& getManager() const { assert(isValid()); return *SM; } - const LocationContext* getLocationContext() const { return LC; } void Profile(llvm::FoldingSetNodeID &ID) const; }; diff --git a/lib/StaticAnalyzer/Core/BugReporter.cpp b/lib/StaticAnalyzer/Core/BugReporter.cpp index 043f5d2b81..7a0a5430aa 100644 --- a/lib/StaticAnalyzer/Core/BugReporter.cpp +++ b/lib/StaticAnalyzer/Core/BugReporter.cpp @@ -877,7 +877,7 @@ class EdgeBuilder { } if (S != Original) - L = PathDiagnosticLocation(S, L.getManager(), L.getLocationContext()); + L = PathDiagnosticLocation(S, L.getManager(), PDB.getLocationContext()); } if (firstCharOnly) diff --git a/lib/StaticAnalyzer/Core/PathDiagnostic.cpp b/lib/StaticAnalyzer/Core/PathDiagnostic.cpp index 40b73deacb..6ef2b075b3 100644 --- a/lib/StaticAnalyzer/Core/PathDiagnostic.cpp +++ b/lib/StaticAnalyzer/Core/PathDiagnostic.cpp @@ -147,7 +147,7 @@ static SourceLocation getValidSourceLocation(const Stmt* S, PathDiagnosticLocation::PathDiagnosticLocation(const Stmt *s, const SourceManager &sm, const LocationContext *lc) - : K(StmtK), S(s), D(0), SM(&sm), LC(lc) + : K(StmtK), S(s), D(0), SM(&sm) { const ParentMap* PM = 0; if (lc) @@ -264,7 +264,7 @@ FullSourceLoc case RangeK: break; case StmtK: - return FullSourceLoc(getValidSourceLocation(S, LC->getParentMap()), + return FullSourceLoc(getValidSourceLocation(S, *PM), const_cast<SourceManager&>(*SM)); case DeclK: return FullSourceLoc(D->getLocation(), const_cast<SourceManager&>(*SM)); @@ -309,7 +309,7 @@ PathDiagnosticRange case Stmt::BinaryConditionalOperatorClass: case Stmt::ConditionalOperatorClass: case Stmt::ObjCForCollectionStmtClass: { - SourceLocation L = getValidSourceLocation(S, LC->getParentMap()); + SourceLocation L = getValidSourceLocation(S, *PM); return SourceRange(L, L); } } |