aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Analysis/PathSensitive/ExplodedGraph.h
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2009-01-24 00:55:43 +0000
committerTed Kremenek <kremenek@apple.com>2009-01-24 00:55:43 +0000
commit3148eb4a75f70f2636075c364d03104223f004d3 (patch)
tree5b7f56dc02c2201a7fed6502e57845b1bfec6a04 /include/clang/Analysis/PathSensitive/ExplodedGraph.h
parentaa23b570b059e8d29c69a656bbdc42f652f7c308 (diff)
More hacking on static analyzer diagnostics. When emitting summary diagnostics the code paths for diagnostics involving paths or single locations are now unified. This patch also constifies many arguments/methods that are touched by this logic, leading to a nice overall code cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62903 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Analysis/PathSensitive/ExplodedGraph.h')
-rw-r--r--include/clang/Analysis/PathSensitive/ExplodedGraph.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/include/clang/Analysis/PathSensitive/ExplodedGraph.h b/include/clang/Analysis/PathSensitive/ExplodedGraph.h
index 3406d178dd..954b096b8e 100644
--- a/include/clang/Analysis/PathSensitive/ExplodedGraph.h
+++ b/include/clang/Analysis/PathSensitive/ExplodedGraph.h
@@ -179,9 +179,9 @@ public:
// Iterators over successor and predecessor vertices.
typedef ExplodedNode** succ_iterator;
- typedef const ExplodedNode** const_succ_iterator;
+ typedef const ExplodedNode* const * const_succ_iterator;
typedef ExplodedNode** pred_iterator;
- typedef const ExplodedNode** const_pred_iterator;
+ typedef const ExplodedNode* const * const_pred_iterator;
pred_iterator pred_begin() { return (ExplodedNode**) Preds.begin(); }
pred_iterator pred_end() { return (ExplodedNode**) Preds.end(); }
@@ -289,8 +289,8 @@ public:
return llvm::dyn_cast<FunctionDecl>(&CodeDecl);
}
- ExplodedGraphImpl* Trim(ExplodedNodeImpl** NBeg,
- ExplodedNodeImpl** NEnd) const;
+ ExplodedGraphImpl* Trim(const ExplodedNodeImpl* const * NBeg,
+ const ExplodedNodeImpl* const * NEnd) const;
};
@@ -411,15 +411,18 @@ public:
// Utility.
- ExplodedGraph* Trim(NodeTy** NBeg, NodeTy** NEnd) const {
+ ExplodedGraph*
+ Trim(const NodeTy* const* NBeg, const NodeTy* const* NEnd) const {
if (NBeg == NEnd)
return NULL;
assert (NBeg < NEnd);
- ExplodedNodeImpl** NBegImpl = (ExplodedNodeImpl**) NBeg;
- ExplodedNodeImpl** NEndImpl = (ExplodedNodeImpl**) NEnd;
+ const ExplodedNodeImpl* const* NBegImpl =
+ (const ExplodedNodeImpl* const*) NBeg;
+ const ExplodedNodeImpl* const* NEndImpl =
+ (const ExplodedNodeImpl* const*) NEnd;
return static_cast<ExplodedGraph*>(ExplodedGraphImpl::Trim(NBegImpl,
NEndImpl));