Use the number of parameters in the actual method or function to determine the CallEf...
authorTed Kremenek <kremenek@apple.com>
Fri, 16 Aug 2013 23:14:22 +0000 (23:14 +0000)
committerTed Kremenek <kremenek@apple.com>
Fri, 16 Aug 2013 23:14:22 +0000 (23:14 +0000)
llvm-svn: 188587

clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp

index be2f2205d13b64b4f182eb5c7edf1f60751a894c..a6ddf1dfbbc131a7ba9b9dfab79416b8cb437a04 100644 (file)
@@ -318,12 +318,6 @@ public:
     return DefaultArgEffect;
   }
 
-  /// Return the number of argument effects.  This is O(n) in the number
-  /// of arguments.
-  unsigned getNumArgs() const {
-    return std::distance(Args.begin(), Args.end());
-  }
-  
   void addArg(ArgEffects::Factory &af, unsigned idx, ArgEffect e) {
     Args = af.add(Args, idx, e);
   }
@@ -3689,7 +3683,7 @@ namespace clang { namespace ento { namespace objc_retain {
   const RetainSummary *S = M.get ## KIND ## Summary(D);\
   CallEffects CE(S->getRetEffect());\
   CE.Receiver = S->getReceiverEffect();\
-  unsigned N = S->getNumArgs();\
+  unsigned N = D->param_size();\
   for (unsigned i = 0; i < N; ++i) {\
     CE.Args.push_back(S->getArg(i));\
   }