]> granicus.if.org Git - clang/commitdiff
[analyzer] Removing more references to CheckerContext::getNodeBuilder(): ask CheckerC...
authorAnna Zaks <ganna@apple.com>
Tue, 4 Oct 2011 23:29:16 +0000 (23:29 +0000)
committerAnna Zaks <ganna@apple.com>
Tue, 4 Oct 2011 23:29:16 +0000 (23:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141136 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp

index 35c17906f68e9792a00c44120a7545061b84618b..417bea997e2c88a71148c49ae91596efa0b30476 100644 (file)
@@ -121,8 +121,9 @@ public:
   /// Allows checkers to generate a chain of nodes.
   ExplodedNode *generateNode(const ProgramState *state,
                              ExplodedNode *pred,
+                             const ProgramPointTag *tag = 0,
                              bool autoTransition = true) {
-    ExplodedNode *N = generateNodeImpl(state, false, pred);
+    ExplodedNode *N = generateNodeImpl(state, false, pred, tag);
     if (N && autoTransition)
       addTransition(N);
     return N;
index 2ff829125884cde7d7bb95dadef5dedab97872b5..b31c4a732dcadd3b1f0407615160480ac2ad7304 100644 (file)
@@ -3173,12 +3173,10 @@ void RetainCountChecker::checkReturnWithRetEffect(const ReturnStmt *S,
       if (hasError) {
         // Generate an error node.
         state = state->set<RefBindings>(Sym, X);
-        StmtNodeBuilder &Builder = C.getNodeBuilder();
 
         static SimpleProgramPointTag
                ReturnOwnLeakTag("RetainCountChecker : ReturnsOwnLeak");
-        ExplodedNode *N = Builder.generateNode(S, state, Pred,
-                                               &ReturnOwnLeakTag);
+        ExplodedNode *N = C.generateNode(state, Pred, &ReturnOwnLeakTag);
         if (N) {
           const LangOptions &LOpts = C.getASTContext().getLangOptions();
           bool GCEnabled = C.isObjCGCEnabled();
@@ -3195,12 +3193,10 @@ void RetainCountChecker::checkReturnWithRetEffect(const ReturnStmt *S,
       // Trying to return a not owned object to a caller expecting an
       // owned object.
       state = state->set<RefBindings>(Sym, X ^ RefVal::ErrorReturnedNotOwned);
-      StmtNodeBuilder &Builder = C.getNodeBuilder();
 
       static SimpleProgramPointTag
              ReturnNotOwnedTag("RetainCountChecker : ReturnNotOwnedForOwned");
-      ExplodedNode *N = Builder.generateNode(S, state, Pred, 
-                                             &ReturnNotOwnedTag);
+      ExplodedNode *N = C.generateNode(state, Pred, &ReturnNotOwnedTag);
       if (N) {
         if (!returnNotOwnedForOwned)
           returnNotOwnedForOwned.reset(new ReturnedNotOwnedForOwned());