diff options
author | Anna Zaks <ganna@apple.com> | 2011-09-20 22:43:32 +0000 |
---|---|---|
committer | Anna Zaks <ganna@apple.com> | 2011-09-20 22:43:32 +0000 |
commit | c20f399889f53f74eef0404388de4086b36d2948 (patch) | |
tree | cab53b7d6ed05fadb9eed9e7430fefe37b405409 | |
parent | bc0a3016b9fd51f84780f0f82fb0f7f2ca93e8ff (diff) |
[analyzer] Refactor PathDiagnosticLocation: Add comments. Remove the last constructor which could allow invalid locations to slip in.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140200 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h b/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h index 53703f6662..e7baae6293 100644 --- a/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h +++ b/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h @@ -107,22 +107,19 @@ private: : K(kind), R(L, L), S(0), D(0), SM(&sm), Loc(genLocation()), Range(genRange()) { } - + FullSourceLoc genLocation(LocationOrAnalysisContext LAC = (AnalysisContext*)0) const; PathDiagnosticRange genRange(LocationOrAnalysisContext LAC = (AnalysisContext*)0) const; public: + /// Create an invalid location. PathDiagnosticLocation() : K(SingleLocK), S(0), D(0), SM(0) { } - PathDiagnosticLocation(FullSourceLoc L) - : K(SingleLocK), R(L, L), S(0), D(0), SM(&L.getManager()), - Loc(genLocation()), Range(genRange()) { - } - + /// Create a location corresponding to the given statement. PathDiagnosticLocation(const Stmt *s, const SourceManager &sm, LocationOrAnalysisContext lac) @@ -130,11 +127,13 @@ public: Loc(genLocation(lac)), Range(genRange(lac)) {} + /// Create a location corresponding to the given declaration. PathDiagnosticLocation(const Decl *d, const SourceManager &sm) : K(DeclK), S(0), D(d), SM(&sm), Loc(genLocation()), Range(genRange()) { } + /// Create a location corresponding to the given declaration. static PathDiagnosticLocation create(const Decl *D, const SourceManager &SM) { return PathDiagnosticLocation(D, SM); |