aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2011-09-20 16:23:37 +0000
committerAnna Zaks <ganna@apple.com>2011-09-20 16:23:37 +0000
commit23803374d8db054192ea6fcb766b87e04f26c8fb (patch)
tree2f5bfd0985039557f874e0bb970f33aa09d81ec0
parent68018db76756c6959db15160055fd8da6bec5bec (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.h12
-rw-r--r--lib/StaticAnalyzer/Core/BugReporter.cpp2
-rw-r--r--lib/StaticAnalyzer/Core/PathDiagnostic.cpp6
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);
}
}