r340091 - [analyzer] Drop support for GC mode in RetainCountChecker

George Karpenkov via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 17 14:40:39 PDT 2018


Author: george.karpenkov
Date: Fri Aug 17 14:40:38 2018
New Revision: 340091

URL: http://llvm.org/viewvc/llvm-project?rev=340091&view=rev
Log:
[analyzer] Drop support for GC mode in RetainCountChecker

A lot of code in RetainCountChecker deals with GC mode.
Given that GC mode is deprecated, Apple does not ship runtime for it,
and modern compiler toolchain does not support it, it makes sense to
remove the code dealing with it in order to aid understanding of
RetainCountChecker.

Differential Revision: https://reviews.llvm.org/D50747

Removed:
    cfe/trunk/test/Analysis/CFDateGC.m
    cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes-gc.m.plist
    cfe/trunk/test/Analysis/PR2599.m
    cfe/trunk/test/Analysis/retain-release-gc-only.m
    cfe/trunk/test/Analysis/retain-release-path-notes-gc.m
Modified:
    cfe/trunk/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h
    cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
    cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist
    cfe/trunk/test/Analysis/retain-release-path-notes.m
    cfe/trunk/test/Analysis/retain-release.m

Modified: cfe/trunk/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h?rev=340091&r1=340090&r2=340091&view=diff
==============================================================================
--- cfe/trunk/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h (original)
+++ cfe/trunk/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h Fri Aug 17 14:40:38 2018
@@ -65,10 +65,6 @@ enum ArgEffect {
   /// if CFRetain has been called on the argument.
   IncRef,
 
-  /// The argument acts as if has been passed to CFMakeCollectable, which
-  /// transfers the object to the Garbage Collector under GC.
-  MakeCollectable,
-
   /// The argument is a pointer to a retain-counted object; on exit, the new
   /// value of the pointer is a +0 value or NULL.
   UnretainedOutParameter,

Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp?rev=340091&r1=340090&r2=340091&view=diff
==============================================================================
--- cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp (original)
+++ cfe/trunk/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp Fri Aug 17 14:40:38 2018
@@ -83,14 +83,12 @@ public:
     ReturnedNotOwned, // Return object does not pass ownership to caller.
     ERROR_START,
     ErrorDeallocNotOwned, // -dealloc called on non-owned object.
-    ErrorDeallocGC, // Calling -dealloc with GC enabled.
     ErrorUseAfterRelease, // Object used after released.
     ErrorReleaseNotOwned, // Release of an object that was not owned.
     ERROR_LEAK_START,
     ErrorLeak,  // A memory leak due to excessive reference counts.
     ErrorLeakReturned, // A memory leak due to the returning method not having
                        // the correct naming conventions.
-    ErrorGCLeakReturned,
     ErrorOverAutorelease,
     ErrorReturnedNotOwned
   };
@@ -303,10 +301,6 @@ void RefVal::print(raw_ostream &Out) con
       Out << "Released";
       break;
 
-    case ErrorDeallocGC:
-      Out << "-dealloc (GC)";
-      break;
-
     case ErrorDeallocNotOwned:
       Out << "-dealloc (not-owned)";
       break;
@@ -319,10 +313,6 @@ void RefVal::print(raw_ostream &Out) con
       Out << "Leaked (Bad naming)";
       break;
 
-    case ErrorGCLeakReturned:
-      Out << "Leaked (GC-ed at return)";
-      break;
-
     case ErrorUseAfterRelease:
       Out << "Use-After-Release [ERROR]";
       break;
@@ -600,9 +590,6 @@ class RetainSummaryManager {
   /// Ctx - The ASTContext object for the analyzed ASTs.
   ASTContext &Ctx;
 
-  /// GCEnabled - Records whether or not the analyzed code runs in GC mode.
-  const bool GCEnabled;
-
   /// Records whether or not the analyzed code runs in ARC mode.
   const bool ARCEnabled;
 
@@ -646,7 +633,7 @@ class RetainSummaryManager {
   ///  data in ScratchArgs.
   ArgEffects getArgEffects();
 
-  enum UnaryFuncKind { cfretain, cfrelease, cfautorelease, cfmakecollectable };
+  enum UnaryFuncKind { cfretain, cfrelease, cfautorelease };
 
   const RetainSummary *getUnarySummary(const FunctionType* FT,
                                        UnaryFuncKind func);
@@ -732,19 +719,14 @@ private:
 
 public:
 
-  RetainSummaryManager(ASTContext &ctx, bool gcenabled, bool usesARC)
+  RetainSummaryManager(ASTContext &ctx, bool usesARC)
    : Ctx(ctx),
-     GCEnabled(gcenabled),
      ARCEnabled(usesARC),
      AF(BPAlloc), ScratchArgs(AF.getEmptyMap()),
-     ObjCAllocRetE(gcenabled
-                    ? RetEffect::MakeGCNotOwned()
-                    : (usesARC ? RetEffect::MakeNotOwned(RetEffect::ObjC)
-                               : RetEffect::MakeOwned(RetEffect::ObjC))),
-     ObjCInitRetE(gcenabled
-                    ? RetEffect::MakeGCNotOwned()
-                    : (usesARC ? RetEffect::MakeNotOwned(RetEffect::ObjC)
-                               : RetEffect::MakeOwnedWhenTrackedReceiver())) {
+     ObjCAllocRetE(usesARC ? RetEffect::MakeNotOwned(RetEffect::ObjC)
+                               : RetEffect::MakeOwned(RetEffect::ObjC)),
+     ObjCInitRetE(usesARC ? RetEffect::MakeNotOwned(RetEffect::ObjC)
+                               : RetEffect::MakeOwnedWhenTrackedReceiver()) {
     InitializeClassMethodSummaries();
     InitializeMethodSummaries();
   }
@@ -802,12 +784,8 @@ public:
   void updateSummaryForCall(const RetainSummary *&Summ,
                             const CallEvent &Call);
 
-  bool isGCEnabled() const { return GCEnabled; }
-
   bool isARCEnabled() const { return ARCEnabled; }
 
-  bool isARCorGCEnabled() const { return GCEnabled || ARCEnabled; }
-
   RetEffect getObjAllocRetEffect() const { return ObjCAllocRetE; }
 
   friend class RetainSummaryTemplate;
@@ -895,12 +873,6 @@ static bool isAutorelease(const Function
          FName.endswith_lower("autorelease");
 }
 
-static bool isMakeCollectable(const FunctionDecl *FD, StringRef FName) {
-  // FIXME: Remove FunctionDecl parameter.
-  // FIXME: Is it really okay if MakeCollectable isn't a suffix?
-  return FName.find_lower("MakeCollectable") != StringRef::npos;
-}
-
 static ArgEffect getStopTrackingHardEquivalent(ArgEffect E) {
   switch (E) {
   case DoNothing:
@@ -908,7 +880,6 @@ static ArgEffect getStopTrackingHardEqui
   case DecRefBridgedTransferred:
   case IncRef:
   case IncRefMsg:
-  case MakeCollectable:
   case UnretainedOutParameter:
   case RetainedOutParameter:
   case MayEscape:
@@ -1073,14 +1044,6 @@ RetainSummaryManager::getFunctionSummary
       // Part of: <rdar://problem/7299394> and <rdar://problem/11282706>.
       // This will be addressed better with IPA.
       S = getPersistentStopSummary();
-    } else if (FName == "NSMakeCollectable") {
-      // Handle: id NSMakeCollectable(CFTypeRef)
-      S = (RetTy->isObjCIdType())
-          ? getUnarySummary(FT, cfmakecollectable)
-          : getPersistentStopSummary();
-      // The headers on OS X 10.8 use cf_consumed/ns_returns_retained,
-      // but we can fully model NSMakeCollectable ourselves.
-      AllowAnnotations = false;
     } else if (FName == "CFPlugInInstanceCreate") {
       S = getPersistentSummary(RetEffect::MakeNoRet());
     } else if (FName == "IORegistryEntrySearchCFProperty"
@@ -1181,9 +1144,6 @@ RetainSummaryManager::getFunctionSummary
           // The headers use cf_consumed, but we can fully model CFAutorelease
           // ourselves.
           AllowAnnotations = false;
-        } else if (isMakeCollectable(FD, FName)) {
-          S = getUnarySummary(FT, cfmakecollectable);
-          AllowAnnotations = false;
         } else {
           S = getCFCreateGetRuleSummary(FD);
         }
@@ -1294,7 +1254,6 @@ RetainSummaryManager::getUnarySummary(co
   case cfretain: Effect = IncRef; break;
   case cfrelease: Effect = DecRef; break;
   case cfautorelease: Effect = Autorelease; break;
-  case cfmakecollectable: Effect = MakeCollectable; break;
   }
 
   ScratchArgs = AF.add(ScratchArgs, 0, Effect);
@@ -1732,16 +1691,6 @@ namespace {
     }
   };
 
-  class DeallocGC : public CFRefBug {
-  public:
-    DeallocGC(const CheckerBase *checker)
-        : CFRefBug(checker, "-dealloc called while using garbage collection") {}
-
-    const char *getDescription() const override {
-      return "-dealloc called while using garbage collection";
-    }
-  };
-
   class DeallocNotOwned : public CFRefBug {
   public:
     DeallocNotOwned(const CheckerBase *checker)
@@ -1792,11 +1741,10 @@ namespace {
   protected:
     SymbolRef Sym;
     const SummaryLogTy &SummaryLog;
-    bool GCEnabled;
 
   public:
-    CFRefReportVisitor(SymbolRef sym, bool gcEnabled, const SummaryLogTy &log)
-       : Sym(sym), SummaryLog(log), GCEnabled(gcEnabled) {}
+    CFRefReportVisitor(SymbolRef sym, const SummaryLogTy &log)
+       : Sym(sym), SummaryLog(log) {}
 
     void Profile(llvm::FoldingSetNodeID &ID) const override {
       static int x = 0;
@@ -1816,9 +1764,9 @@ namespace {
 
   class CFRefLeakReportVisitor : public CFRefReportVisitor {
   public:
-    CFRefLeakReportVisitor(SymbolRef sym, bool GCEnabled,
+    CFRefLeakReportVisitor(SymbolRef sym,
                            const SummaryLogTy &log)
-       : CFRefReportVisitor(sym, GCEnabled, log) {}
+       : CFRefReportVisitor(sym, log) {}
 
     std::shared_ptr<PathDiagnosticPiece> getEndPath(BugReporterContext &BRC,
                                                     const ExplodedNode *N,
@@ -1826,24 +1774,21 @@ namespace {
   };
 
   class CFRefReport : public BugReport {
-    void addGCModeDescription(const LangOptions &LOpts, bool GCEnabled);
 
   public:
-    CFRefReport(CFRefBug &D, const LangOptions &LOpts, bool GCEnabled,
+    CFRefReport(CFRefBug &D, const LangOptions &LOpts,
                 const SummaryLogTy &Log, ExplodedNode *n, SymbolRef sym,
                 bool registerVisitor = true)
       : BugReport(D, D.getDescription(), n) {
       if (registerVisitor)
-        addVisitor(llvm::make_unique<CFRefReportVisitor>(sym, GCEnabled, Log));
-      addGCModeDescription(LOpts, GCEnabled);
+        addVisitor(llvm::make_unique<CFRefReportVisitor>(sym, Log));
     }
 
-    CFRefReport(CFRefBug &D, const LangOptions &LOpts, bool GCEnabled,
+    CFRefReport(CFRefBug &D, const LangOptions &LOpts,
                 const SummaryLogTy &Log, ExplodedNode *n, SymbolRef sym,
                 StringRef endText)
       : BugReport(D, D.getDescription(), endText, n) {
-      addVisitor(llvm::make_unique<CFRefReportVisitor>(sym, GCEnabled, Log));
-      addGCModeDescription(LOpts, GCEnabled);
+      addVisitor(llvm::make_unique<CFRefReportVisitor>(sym, Log));
     }
 
     llvm::iterator_range<ranges_iterator> getRanges() override {
@@ -1863,10 +1808,10 @@ namespace {
     // Finds the location where a leak warning for 'sym' should be raised.
     void deriveAllocLocation(CheckerContext &Ctx, SymbolRef sym);
     // Produces description of a leak warning which is printed on the console.
-    void createDescription(CheckerContext &Ctx, bool GCEnabled, bool IncludeAllocationLine);
+    void createDescription(CheckerContext &Ctx, bool IncludeAllocationLine);
 
   public:
-    CFRefLeakReport(CFRefBug &D, const LangOptions &LOpts, bool GCEnabled,
+    CFRefLeakReport(CFRefBug &D, const LangOptions &LOpts,
                     const SummaryLogTy &Log, ExplodedNode *n, SymbolRef sym,
                     CheckerContext &Ctx,
                     bool IncludeAllocationLine);
@@ -1878,39 +1823,6 @@ namespace {
   };
 } // end anonymous namespace
 
-void CFRefReport::addGCModeDescription(const LangOptions &LOpts,
-                                       bool GCEnabled) {
-  const char *GCModeDescription = nullptr;
-
-  switch (LOpts.getGC()) {
-  case LangOptions::GCOnly:
-    assert(GCEnabled);
-    GCModeDescription = "Code is compiled to only use garbage collection";
-    break;
-
-  case LangOptions::NonGC:
-    assert(!GCEnabled);
-    GCModeDescription = "Code is compiled to use reference counts";
-    break;
-
-  case LangOptions::HybridGC:
-    if (GCEnabled) {
-      GCModeDescription = "Code is compiled to use either garbage collection "
-                          "(GC) or reference counts (non-GC).  The bug occurs "
-                          "with GC enabled";
-      break;
-    } else {
-      GCModeDescription = "Code is compiled to use either garbage collection "
-                          "(GC) or reference counts (non-GC).  The bug occurs "
-                          "in non-GC mode";
-      break;
-    }
-  }
-
-  assert(GCModeDescription && "invalid/unknown GC mode");
-  addExtraText(GCModeDescription);
-}
-
 static bool isNumericLiteralExpression(const Expr *E) {
   // FIXME: This set of cases was copied from SemaExprObjC.
   return isa<IntegerLiteral>(E) ||
@@ -2047,14 +1959,7 @@ CFRefReportVisitor::VisitNode(const Expl
 
       if (CurrV.isOwned()) {
         os << "+1 retain count";
-
-        if (GCEnabled) {
-          assert(CurrV.getObjKind() == RetEffect::CF);
-          os << ".  "
-          "Core Foundation objects are not automatically garbage collected.";
-        }
-      }
-      else {
+      } else {
         assert (CurrV.isNotOwned());
         os << "+0 retain count";
       }
@@ -2091,14 +1996,14 @@ CFRefReportVisitor::VisitNode(const Expl
         // We have an argument.  Get the effect!
         AEffects.push_back(Summ->getArg(i));
       }
-    }
-    else if (const ObjCMessageExpr *ME = dyn_cast<ObjCMessageExpr>(S)) {
-      if (const Expr *receiver = ME->getInstanceReceiver())
+    } else if (const ObjCMessageExpr *ME = dyn_cast<ObjCMessageExpr>(S)) {
+      if (const Expr *receiver = ME->getInstanceReceiver()) {
         if (CurrSt->getSValAsScalarOrLoc(receiver, LCtx)
               .getAsLocSymbol() == Sym) {
           // The symbol we are tracking is the receiver.
           AEffects.push_back(Summ->getReceiverEffect());
         }
+      }
     }
   }
 
@@ -2107,7 +2012,7 @@ CFRefReportVisitor::VisitNode(const Expl
     RefVal PrevV = *PrevT;
 
     // Specially handle -dealloc.
-    if (!GCEnabled && std::find(AEffects.begin(), AEffects.end(), Dealloc) !=
+    if (std::find(AEffects.begin(), AEffects.end(), Dealloc) !=
                           AEffects.end()) {
       // Determine if the object's reference count was pushed to zero.
       assert(!PrevV.hasSameState(CurrV) && "The state should have changed.");
@@ -2120,41 +2025,6 @@ CFRefReportVisitor::VisitNode(const Expl
       }
     }
 
-    // Specially handle CFMakeCollectable and friends.
-    if (std::find(AEffects.begin(), AEffects.end(), MakeCollectable) !=
-        AEffects.end()) {
-      // Get the name of the function.
-      const Stmt *S = N->getLocation().castAs<StmtPoint>().getStmt();
-      SVal X =
-        CurrSt->getSValAsScalarOrLoc(cast<CallExpr>(S)->getCallee(), LCtx);
-      const FunctionDecl *FD = X.getAsFunctionDecl();
-
-      if (GCEnabled) {
-        // Determine if the object's reference count was pushed to zero.
-        assert(!PrevV.hasSameState(CurrV) && "The state should have changed.");
-
-        os << "In GC mode a call to '" << *FD
-        <<  "' decrements an object's retain count and registers the "
-        "object with the garbage collector. ";
-
-        if (CurrV.getKind() == RefVal::Released) {
-          assert(CurrV.getCount() == 0);
-          os << "Since it now has a 0 retain count the object can be "
-          "automatically collected by the garbage collector.";
-        }
-        else
-          os << "An object must have a 0 retain count to be garbage collected. "
-          "After this call its retain count is +" << CurrV.getCount()
-          << '.';
-      }
-      else
-        os << "When GC is not enabled a call to '" << *FD
-        << "' has no effect on its argument.";
-
-      // Nothing more to say.
-      break;
-    }
-
     // Determine if the typestate has changed.
     if (!PrevV.hasSameState(CurrV))
       switch (CurrV.getKind()) {
@@ -2178,12 +2048,6 @@ CFRefReportVisitor::VisitNode(const Expl
           if (unsigned Count = CurrV.getCount())
             os << " The object now has a +" << Count << " retain count.";
 
-          if (PrevV.getKind() == RefVal::Released) {
-            assert(GCEnabled && CurrV.getCount() > 0);
-            os << " The object is not eligible for garbage collection until "
-                  "the retain count reaches 0 again.";
-          }
-
           break;
 
         case RefVal::Released:
@@ -2211,26 +2075,6 @@ CFRefReportVisitor::VisitNode(const Expl
         default:
           return nullptr;
       }
-
-    // Emit any remaining diagnostics for the argument effects (if any).
-    for (SmallVectorImpl<ArgEffect>::iterator I=AEffects.begin(),
-         E=AEffects.end(); I != E; ++I) {
-
-      // A bunch of things have alternate behavior under GC.
-      if (GCEnabled)
-        switch (*I) {
-          default: break;
-          case Autorelease:
-            os << "In GC mode an 'autorelease' has no effect.";
-            continue;
-          case IncRefMsg:
-            os << "In GC mode the 'retain' message has no effect.";
-            continue;
-          case DecRefMsg:
-            os << "In GC mode the 'release' message has no effect.";
-            continue;
-        }
-    }
   } while (0);
 
   if (os.str().empty())
@@ -2437,14 +2281,6 @@ CFRefLeakReportVisitor::getEndPath(BugRe
       }
     }
   }
-  else if (RV->getKind() == RefVal::ErrorGCLeakReturned) {
-    const ObjCMethodDecl &MD = cast<ObjCMethodDecl>(EndN->getCodeDecl());
-    os << " and returned from method '" << MD.getSelector().getAsString()
-       << "' is potentially leaked when using garbage collection.  Callers "
-          "of this method do not expect a returned object with a +1 retain "
-          "count since they expect the object to be managed by the garbage "
-          "collector";
-  }
   else
     os << " is not referenced later in this execution path and has a retain "
           "count of +" << RV->getCount();
@@ -2512,15 +2348,12 @@ void CFRefLeakReport::deriveAllocLocatio
   UniqueingDecl = AllocNode->getLocationContext()->getDecl();
 }
 
-void CFRefLeakReport::createDescription(CheckerContext &Ctx, bool GCEnabled,
+void CFRefLeakReport::createDescription(CheckerContext &Ctx,
                                         bool IncludeAllocationLine) {
   assert(Location.isValid() && UniqueingDecl && UniqueingLocation.isValid());
   Description.clear();
   llvm::raw_string_ostream os(Description);
-  os << "Potential leak ";
-  if (GCEnabled)
-    os << "(when using garbage collection) ";
-  os << "of an object";
+  os << "Potential leak of an object";
 
   Optional<std::string> RegionDescription = describeRegion(AllocBinding);
   if (RegionDescription) {
@@ -2533,19 +2366,19 @@ void CFRefLeakReport::createDescription(
 }
 
 CFRefLeakReport::CFRefLeakReport(CFRefBug &D, const LangOptions &LOpts,
-                                 bool GCEnabled, const SummaryLogTy &Log,
+                                 const SummaryLogTy &Log,
                                  ExplodedNode *n, SymbolRef sym,
                                  CheckerContext &Ctx,
                                  bool IncludeAllocationLine)
-  : CFRefReport(D, LOpts, GCEnabled, Log, n, sym, false) {
+  : CFRefReport(D, LOpts, Log, n, sym, false) {
 
   deriveAllocLocation(Ctx, sym);
   if (!AllocBinding)
     deriveParamLocation(Ctx, sym);
 
-  createDescription(Ctx, GCEnabled, IncludeAllocationLine);
+  createDescription(Ctx, IncludeAllocationLine);
 
-  addVisitor(llvm::make_unique<CFRefLeakReportVisitor>(sym, GCEnabled, Log));
+  addVisitor(llvm::make_unique<CFRefLeakReportVisitor>(sym, Log));
 }
 
 //===----------------------------------------------------------------------===//
@@ -2571,10 +2404,9 @@ class RetainCountChecker
                     eval::Assume,
                     eval::Call > {
   mutable std::unique_ptr<CFRefBug> useAfterRelease, releaseNotOwned;
-  mutable std::unique_ptr<CFRefBug> deallocGC, deallocNotOwned;
+  mutable std::unique_ptr<CFRefBug> deallocNotOwned;
   mutable std::unique_ptr<CFRefBug> overAutorelease, returnNotOwnedForOwned;
   mutable std::unique_ptr<CFRefBug> leakWithinFunction, leakAtReturn;
-  mutable std::unique_ptr<CFRefBug> leakWithinFunctionGC, leakAtReturnGC;
 
   typedef llvm::DenseMap<SymbolRef, const CheckerProgramPointTag *> SymbolTagMap;
 
@@ -2582,7 +2414,6 @@ class RetainCountChecker
   mutable SymbolTagMap DeadSymbolTags;
 
   mutable std::unique_ptr<RetainSummaryManager> Summaries;
-  mutable std::unique_ptr<RetainSummaryManager> SummariesGC;
   mutable SummaryLogTy SummaryLog;
   mutable bool ShouldResetSummaryLog;
 
@@ -2633,72 +2464,31 @@ public:
     ShouldResetSummaryLog = !SummaryLog.empty();
   }
 
-  CFRefBug *getLeakWithinFunctionBug(const LangOptions &LOpts,
-                                     bool GCEnabled) const {
-    if (GCEnabled) {
-      if (!leakWithinFunctionGC)
-        leakWithinFunctionGC.reset(new Leak(this, "Leak of object when using "
-                                                  "garbage collection"));
-      return leakWithinFunctionGC.get();
-    } else {
-      if (!leakWithinFunction) {
-        if (LOpts.getGC() == LangOptions::HybridGC) {
-          leakWithinFunction.reset(new Leak(this,
-                                            "Leak of object when not using "
-                                            "garbage collection (GC) in "
-                                            "dual GC/non-GC code"));
-        } else {
-          leakWithinFunction.reset(new Leak(this, "Leak"));
-        }
-      }
-      return leakWithinFunction.get();
-    }
+  CFRefBug *getLeakWithinFunctionBug(const LangOptions &LOpts) const {
+    if (!leakWithinFunction)
+      leakWithinFunction.reset(new Leak(this, "Leak"));
+    return leakWithinFunction.get();
   }
 
-  CFRefBug *getLeakAtReturnBug(const LangOptions &LOpts, bool GCEnabled) const {
-    if (GCEnabled) {
-      if (!leakAtReturnGC)
-        leakAtReturnGC.reset(new Leak(this,
-                                      "Leak of returned object when using "
-                                      "garbage collection"));
-      return leakAtReturnGC.get();
-    } else {
-      if (!leakAtReturn) {
-        if (LOpts.getGC() == LangOptions::HybridGC) {
-          leakAtReturn.reset(new Leak(this,
-                                      "Leak of returned object when not using "
-                                      "garbage collection (GC) in dual "
-                                      "GC/non-GC code"));
-        } else {
-          leakAtReturn.reset(new Leak(this, "Leak of returned object"));
-        }
-      }
+  CFRefBug *getLeakAtReturnBug(const LangOptions &LOpts) const {
+      if (!leakAtReturn)
+        leakAtReturn.reset(new Leak(this, "Leak of returned object"));
       return leakAtReturn.get();
-    }
   }
 
-  RetainSummaryManager &getSummaryManager(ASTContext &Ctx,
-                                          bool GCEnabled) const {
+  RetainSummaryManager &getSummaryManager(ASTContext &Ctx) const {
     // FIXME: We don't support ARC being turned on and off during one analysis.
     // (nor, for that matter, do we support changing ASTContexts)
     bool ARCEnabled = (bool)Ctx.getLangOpts().ObjCAutoRefCount;
-    if (GCEnabled) {
-      if (!SummariesGC)
-        SummariesGC.reset(new RetainSummaryManager(Ctx, true, ARCEnabled));
-      else
-        assert(SummariesGC->isARCEnabled() == ARCEnabled);
-      return *SummariesGC;
-    } else {
-      if (!Summaries)
-        Summaries.reset(new RetainSummaryManager(Ctx, false, ARCEnabled));
-      else
-        assert(Summaries->isARCEnabled() == ARCEnabled);
-      return *Summaries;
-    }
+    if (!Summaries)
+      Summaries.reset(new RetainSummaryManager(Ctx, ARCEnabled));
+    else
+      assert(Summaries->isARCEnabled() == ARCEnabled);
+    return *Summaries;
   }
 
   RetainSummaryManager &getSummaryManager(CheckerContext &C) const {
-    return getSummaryManager(C.getASTContext(), C.isObjCGCEnabled());
+    return getSummaryManager(C.getASTContext());
   }
 
   void printState(raw_ostream &Out, ProgramStateRef State,
@@ -3177,7 +2967,6 @@ void RetainCountChecker::checkSummary(co
       break;
     }
 
-    case RetEffect::GCNotOwnedSymbol:
     case RetEffect::NotOwnedSymbol: {
       const Expr *Ex = CallOrMsg.getOriginExpr();
       SymbolRef Sym = CallOrMsg.getReturnValue().getAsSymbol();
@@ -3217,12 +3006,7 @@ ProgramStateRef
 RetainCountChecker::updateSymbol(ProgramStateRef state, SymbolRef sym,
                                  RefVal V, ArgEffect E, RefVal::Kind &hasErr,
                                  CheckerContext &C) const {
-  // In GC mode [... release] and [... retain] do nothing.
-  // In ARC mode they shouldn't exist at all, but we just ignore them.
-  bool IgnoreRetainMsg = C.isObjCGCEnabled();
-  if (!IgnoreRetainMsg)
-    IgnoreRetainMsg = (bool)C.getASTContext().getLangOpts().ObjCAutoRefCount;
-
+  bool IgnoreRetainMsg = (bool)C.getASTContext().getLangOpts().ObjCAutoRefCount;
   switch (E) {
   default:
     break;
@@ -3230,18 +3014,15 @@ RetainCountChecker::updateSymbol(Program
     E = IgnoreRetainMsg ? DoNothing : IncRef;
     break;
   case DecRefMsg:
-    E = IgnoreRetainMsg ? DoNothing : DecRef;
+    E = IgnoreRetainMsg ? DoNothing: DecRef;
     break;
   case DecRefMsgAndStopTrackingHard:
     E = IgnoreRetainMsg ? StopTracking : DecRefAndStopTrackingHard;
     break;
-  case MakeCollectable:
-    E = C.isObjCGCEnabled() ? DecRef : DoNothing;
-    break;
   }
 
   // Handle all use-after-releases.
-  if (!C.isObjCGCEnabled() && V.getKind() == RefVal::Released) {
+  if (V.getKind() == RefVal::Released) {
     V = V ^ RefVal::ErrorUseAfterRelease;
     hasErr = V.getKind();
     return setRefBinding(state, sym, V);
@@ -3250,9 +3031,8 @@ RetainCountChecker::updateSymbol(Program
   switch (E) {
     case DecRefMsg:
     case IncRefMsg:
-    case MakeCollectable:
     case DecRefMsgAndStopTrackingHard:
-      llvm_unreachable("DecRefMsg/IncRefMsg/MakeCollectable already converted");
+      llvm_unreachable("DecRefMsg/IncRefMsg already converted");
 
     case UnretainedOutParameter:
     case RetainedOutParameter:
@@ -3260,13 +3040,6 @@ RetainCountChecker::updateSymbol(Program
                        "not have ref state.");
 
     case Dealloc:
-      // Any use of -dealloc in GC is *bad*.
-      if (C.isObjCGCEnabled()) {
-        V = V ^ RefVal::ErrorDeallocGC;
-        hasErr = V.getKind();
-        break;
-      }
-
       switch (V.getKind()) {
         default:
           llvm_unreachable("Invalid RefVal state for an explicit dealloc.");
@@ -3294,8 +3067,6 @@ RetainCountChecker::updateSymbol(Program
       return state;
 
     case Autorelease:
-      if (C.isObjCGCEnabled())
-        return state;
       // Update the autorelease counts.
       V = V.autorelease();
       break;
@@ -3312,11 +3083,6 @@ RetainCountChecker::updateSymbol(Program
         case RefVal::NotOwned:
           V = V + 1;
           break;
-        case RefVal::Released:
-          // Non-GC cases are handled above.
-          assert(C.isObjCGCEnabled());
-          V = (V ^ RefVal::Owned) + 1;
-          break;
       }
       break;
 
@@ -3361,13 +3127,6 @@ RetainCountChecker::updateSymbol(Program
             hasErr = V.getKind();
           }
           break;
-
-        case RefVal::Released:
-          // Non-GC cases are handled above.
-          assert(C.isObjCGCEnabled());
-          V = V ^ RefVal::ErrorUseAfterRelease;
-          hasErr = V.getKind();
-          break;
       }
       break;
   }
@@ -3407,11 +3166,6 @@ void RetainCountChecker::processNonLeakE
         releaseNotOwned.reset(new BadRelease(this));
       BT = releaseNotOwned.get();
       break;
-    case RefVal::ErrorDeallocGC:
-      if (!deallocGC)
-        deallocGC.reset(new DeallocGC(this));
-      BT = deallocGC.get();
-      break;
     case RefVal::ErrorDeallocNotOwned:
       if (!deallocNotOwned)
         deallocNotOwned.reset(new DeallocNotOwned(this));
@@ -3421,7 +3175,7 @@ void RetainCountChecker::processNonLeakE
 
   assert(BT);
   auto report = std::unique_ptr<BugReport>(
-      new CFRefReport(*BT, C.getASTContext().getLangOpts(), C.isObjCGCEnabled(),
+      new CFRefReport(*BT, C.getASTContext().getLangOpts(),
                       SummaryLog, N, Sym));
   report->addRange(ErrorRange);
   C.emitReport(std::move(report));
@@ -3443,7 +3197,7 @@ bool RetainCountChecker::evalCall(const
     return false;
 
   // For now, we're only handling the functions that return aliases of their
-  // arguments: CFRetain and CFMakeCollectable (and their families).
+  // arguments: CFRetain (and its families).
   // Eventually we should add other functions we can model entirely,
   // such as CFRelease, which don't invalidate their arguments or globals.
   if (CE->getNumArgs() != 1)
@@ -3460,19 +3214,14 @@ bool RetainCountChecker::evalCall(const
   bool hasTrustedImplementationAnnotation = false;
 
   QualType ResultTy = CE->getCallReturnType(C.getASTContext());
-  if (ResultTy->isObjCIdType()) {
-    // Handle: id NSMakeCollectable(CFTypeRef)
-    canEval = II->isStr("NSMakeCollectable");
-  } else if (ResultTy->isPointerType()) {
+  if (ResultTy->isPointerType()) {
     // Handle: (CF|CG|CV)Retain
     //         CFAutorelease
-    //         CFMakeCollectable
-    // It's okay to be a little sloppy here (CGMakeCollectable doesn't exist).
+    // It's okay to be a little sloppy here.
     if (cocoa::isRefType(ResultTy, "CF", FName) ||
         cocoa::isRefType(ResultTy, "CG", FName) ||
         cocoa::isRefType(ResultTy, "CV", FName)) {
-      canEval = isRetain(FD, FName) || isAutorelease(FD, FName) ||
-                isMakeCollectable(FD, FName);
+      canEval = isRetain(FD, FName) || isAutorelease(FD, FName);
     } else {
       if (FD->getDefinition()) {
         canEval = isTrustedReferenceCountImplementation(FD->getDefinition());
@@ -3641,18 +3390,9 @@ void RetainCountChecker::checkReturnWith
   if (X.isReturnedOwned() && X.getCount() == 0) {
     if (RE.getKind() != RetEffect::NoRet) {
       bool hasError = false;
-      if (C.isObjCGCEnabled() && RE.getObjKind() == RetEffect::ObjC) {
-        // Things are more complicated with garbage collection.  If the
-        // returned object is suppose to be an Objective-C object, we have
-        // a leak (as the caller expects a GC'ed object) because no
-        // method should return ownership unless it returns a CF object.
-        hasError = true;
-        X = X ^ RefVal::ErrorGCLeakReturned;
-      }
-      else if (!RE.isOwned()) {
-        // Either we are using GC and the returned object is a CF type
-        // or we aren't using GC.  In either case, we expect that the
-        // enclosing method is expected to return ownership.
+      if (!RE.isOwned()) {
+        // The returning type is a CF, we expect the enclosing method should
+        // return ownership.
         hasError = true;
         X = X ^ RefVal::ErrorLeakReturned;
       }
@@ -3665,9 +3405,8 @@ void RetainCountChecker::checkReturnWith
         ExplodedNode *N = C.addTransition(state, Pred, &ReturnOwnLeakTag);
         if (N) {
           const LangOptions &LOpts = C.getASTContext().getLangOpts();
-          bool GCEnabled = C.isObjCGCEnabled();
           C.emitReport(std::unique_ptr<BugReport>(new CFRefLeakReport(
-              *getLeakAtReturnBug(LOpts, GCEnabled), LOpts, GCEnabled,
+              *getLeakAtReturnBug(LOpts), LOpts,
               SummaryLog, N, Sym, C, IncludeAllocationLine)));
         }
       }
@@ -3695,7 +3434,7 @@ void RetainCountChecker::checkReturnWith
 
           C.emitReport(std::unique_ptr<BugReport>(new CFRefReport(
               *returnNotOwnedForOwned, C.getASTContext().getLangOpts(),
-              C.isObjCGCEnabled(), SummaryLog, N, Sym)));
+              SummaryLog, N, Sym)));
         }
       }
     }
@@ -3839,7 +3578,6 @@ RetainCountChecker::handleAutoreleaseCou
   if (!ACnt)
     return state;
 
-  assert(!Ctx.isObjCGCEnabled() && "Autorelease counts in GC mode?");
   unsigned Cnt = V.getCount();
 
   // FIXME: Handle sending 'autorelease' to already released object.
@@ -3899,7 +3637,7 @@ RetainCountChecker::handleAutoreleaseCou
 
     const LangOptions &LOpts = Ctx.getASTContext().getLangOpts();
     Ctx.emitReport(std::unique_ptr<BugReport>(
-        new CFRefReport(*overAutorelease, LOpts, /* GCEnabled = */ false,
+        new CFRefReport(*overAutorelease, LOpts,
                         SummaryLog, N, Sym, os.str())));
   }
 
@@ -3947,13 +3685,12 @@ RetainCountChecker::processLeaks(Program
          I = Leaked.begin(), E = Leaked.end(); I != E; ++I) {
 
       const LangOptions &LOpts = Ctx.getASTContext().getLangOpts();
-      bool GCEnabled = Ctx.isObjCGCEnabled();
-      CFRefBug *BT = Pred ? getLeakWithinFunctionBug(LOpts, GCEnabled)
-                          : getLeakAtReturnBug(LOpts, GCEnabled);
+      CFRefBug *BT = Pred ? getLeakWithinFunctionBug(LOpts)
+                          : getLeakAtReturnBug(LOpts);
       assert(BT && "BugType not initialized.");
 
       Ctx.emitReport(std::unique_ptr<BugReport>(
-          new CFRefLeakReport(*BT, LOpts, GCEnabled, SummaryLog, N, *I, Ctx,
+          new CFRefLeakReport(*BT, LOpts, SummaryLog, N, *I, Ctx,
                               IncludeAllocationLine)));
     }
   }
@@ -4130,7 +3867,7 @@ namespace objc_retain {
 #define createCallEffect(D, KIND)\
   ASTContext &Ctx = D->getASTContext();\
   LangOptions L = Ctx.getLangOpts();\
-  RetainSummaryManager M(Ctx, L.GCOnly, L.ObjCAutoRefCount);\
+  RetainSummaryManager M(Ctx, L.ObjCAutoRefCount);\
   const RetainSummary *S = M.get ## KIND ## Summary(D);\
   CallEffects CE(S->getRetEffect());\
   CE.Receiver = S->getReceiverEffect();\

Removed: cfe/trunk/test/Analysis/CFDateGC.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/CFDateGC.m?rev=340090&view=auto
==============================================================================
--- cfe/trunk/test/Analysis/CFDateGC.m (original)
+++ cfe/trunk/test/Analysis/CFDateGC.m (removed)
@@ -1,85 +0,0 @@
-// RUN: %clang_analyze_cc1 -analyzer-checker=core,osx.cocoa.RetainCount -analyzer-store=region -verify -fobjc-gc %s  -Wno-implicit-function-declaration
-
-//===----------------------------------------------------------------------===//
-// The following code is reduced using delta-debugging from
-// Foundation.h and CoreFoundation.h (Mac OS X).
-//
-// It includes the basic definitions for the test cases below.
-// Not directly including [Core]Foundation.h directly makes this test case 
-// both svelte and portable to non-Mac platforms.
-//===----------------------------------------------------------------------===//
-
-typedef const void * CFTypeRef;
-void CFRelease(CFTypeRef cf);
-CFTypeRef CFRetain(CFTypeRef cf);
-CFTypeRef CFMakeCollectable(CFTypeRef cf);
-typedef const struct __CFAllocator * CFAllocatorRef;
-typedef double CFTimeInterval;
-typedef CFTimeInterval CFAbsoluteTime;
-typedef const struct __CFDate * CFDateRef;
-extern CFDateRef CFDateCreate(CFAllocatorRef allocator, CFAbsoluteTime at);
-extern CFAbsoluteTime CFDateGetAbsoluteTime(CFDateRef theDate);
-typedef struct objc_object {} *id;
-typedef signed char BOOL;
-static __inline__ __attribute__((always_inline)) id NSMakeCollectable(CFTypeRef cf) { return 0; }
- at protocol NSObject  - (BOOL)isEqual:(id)object;
-- (oneway void)release;
-- (id)retain;
- at end
- at class NSArray;
-
-//===----------------------------------------------------------------------===//
-// Test cases.
-//===----------------------------------------------------------------------===//
-
-CFAbsoluteTime CFAbsoluteTimeGetCurrent();
-
-CFAbsoluteTime f1_use_after_release() {
-  CFAbsoluteTime t = CFAbsoluteTimeGetCurrent();
-  CFDateRef date = CFDateCreate(0, t);
-  CFRetain(date);
-  [NSMakeCollectable(date) release];
-  CFDateGetAbsoluteTime(date); // no-warning
-  CFRelease(date);
-  t = CFDateGetAbsoluteTime(date);   // expected-warning{{Reference-counted object is used after it is released}}
-  return t;
-}
-
-// The following two test cases verifies that CFMakeCollectable is a no-op
-// in non-GC mode and a "release" in GC mode.
-CFAbsoluteTime f2_use_after_release() {
-  CFAbsoluteTime t = CFAbsoluteTimeGetCurrent();
-  CFDateRef date = CFDateCreate(0, t);
-  CFRetain(date);
-  [(id) CFMakeCollectable(date) release];
-  CFDateGetAbsoluteTime(date); // no-warning
-  CFRelease(date);
-  t = CFDateGetAbsoluteTime(date);   // expected-warning{{Reference-counted object is used after it is released}}
-  return t;
-}
-
-CFAbsoluteTime f2_noleak() {
-  CFAbsoluteTime t = CFAbsoluteTimeGetCurrent();
-  CFDateRef date = CFDateCreate(0, t);
-  CFRetain(date);
-  [(id) CFMakeCollectable(date) release];
-  CFDateGetAbsoluteTime(date); // no-warning
-  t = CFDateGetAbsoluteTime(date);  // no-warning
-  CFRelease(date); // no-warning
-  return t;
-}
-
-void f3_leak_with_gc() {
-  CFDateRef date = CFDateCreate(0, CFAbsoluteTimeGetCurrent()); // expected-warning 2 {{leak}}
-  [[(id) date retain] release];
-}
-
-// The following test case verifies that we "stop tracking" a retained object
-// when it is passed as an argument to an implicitly defined function.
-CFAbsoluteTime f4() {
-  CFAbsoluteTime t = CFAbsoluteTimeGetCurrent();
-  CFDateRef date = CFDateCreate(0, t);
-  CFRetain(date);
-  some_implicitly_defined_function_stop_tracking(date); // no-warning
-  return t;
-}

Removed: cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes-gc.m.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes-gc.m.plist?rev=340090&view=auto
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes-gc.m.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes-gc.m.plist (removed)
@@ -1,1172 +0,0 @@
- <key>diagnostics</key>
- <array>
-  <dict>
-   <key>path</key>
-   <array>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>43</integer>
-      <key>col</key><integer>22</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>43</integer>
-         <key>col</key><integer>22</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>43</integer>
-         <key>col</key><integer>40</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count.  Core Foundation objects are not automatically garbage collected</string>
-     <key>message</key>
-     <string>Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count.  Core Foundation objects are not automatically garbage collected</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>43</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>43</integer>
-           <key>col</key><integer>11</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>44</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>44</integer>
-           <key>col</key><integer>8</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>44</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>44</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>44</integer>
-         <key>col</key><integer>8</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Object leaked: object allocated and stored into 'leaked' is not referenced later in this execution path and has a retain count of +1</string>
-     <key>message</key>
-     <string>Object leaked: object allocated and stored into 'leaked' is not referenced later in this execution path and has a retain count of +1</string>
-    </dict>
-   </array>
-   <key>description</key><string>Potential leak (when using garbage collection) of an object stored into 'leaked'</string>
-   <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
-   <key>type</key><string>Leak of object when using garbage collection</string>
-   <key>check_name</key><string>osx.cocoa.RetainCount</string>
-   <!-- This hash is experimental and going to change! -->
-   <key>issue_hash_content_of_line_in_context</key><string>487197d1f3d333a1fb4d7610b6d852df</string>
-  <key>issue_context_kind</key><string>function</string>
-  <key>issue_context</key><string>creationViaCFCreate</string>
-  <key>issue_hash_function_offset</key><string>1</string>
-  <key>location</key>
-  <dict>
-   <key>line</key><integer>44</integer>
-   <key>col</key><integer>3</integer>
-   <key>file</key><integer>0</integer>
-  </dict>
-  </dict>
-  <dict>
-   <key>path</key>
-   <array>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>48</integer>
-      <key>col</key><integer>22</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>48</integer>
-         <key>col</key><integer>22</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>48</integer>
-         <key>col</key><integer>40</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count.  Core Foundation objects are not automatically garbage collected</string>
-     <key>message</key>
-     <string>Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count.  Core Foundation objects are not automatically garbage collected</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>48</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>48</integer>
-           <key>col</key><integer>11</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>49</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>49</integer>
-           <key>col</key><integer>10</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>49</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>49</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>49</integer>
-         <key>col</key><integer>18</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-       <array>
-        <dict>
-         <key>line</key><integer>49</integer>
-         <key>col</key><integer>12</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>49</integer>
-         <key>col</key><integer>17</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Reference count incremented. The object now has a +2 retain count</string>
-     <key>message</key>
-     <string>Reference count incremented. The object now has a +2 retain count</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>49</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>49</integer>
-           <key>col</key><integer>10</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>50</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>50</integer>
-           <key>col</key><integer>19</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>50</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>50</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>50</integer>
-         <key>col</key><integer>27</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-       <array>
-        <dict>
-         <key>line</key><integer>50</integer>
-         <key>col</key><integer>21</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>50</integer>
-         <key>col</key><integer>26</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>In GC mode a call to 'CFMakeCollectable' decrements an object's retain count and registers the object with the garbage collector. An object must have a 0 retain count to be garbage collected. After this call its retain count is +1</string>
-     <key>message</key>
-     <string>In GC mode a call to 'CFMakeCollectable' decrements an object's retain count and registers the object with the garbage collector. An object must have a 0 retain count to be garbage collected. After this call its retain count is +1</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>50</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>50</integer>
-           <key>col</key><integer>19</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>51</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>51</integer>
-           <key>col</key><integer>19</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>51</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>51</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>51</integer>
-         <key>col</key><integer>27</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-       <array>
-        <dict>
-         <key>line</key><integer>51</integer>
-         <key>col</key><integer>21</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>51</integer>
-         <key>col</key><integer>26</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>In GC mode a call to 'NSMakeCollectable' decrements an object's retain count and registers the object with the garbage collector. Since it now has a 0 retain count the object can be automatically collected by the garbage collector</string>
-     <key>message</key>
-     <string>In GC mode a call to 'NSMakeCollectable' decrements an object's retain count and registers the object with the garbage collector. Since it now has a 0 retain count the object can be automatically collected by the garbage collector</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>51</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>51</integer>
-           <key>col</key><integer>19</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>52</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>52</integer>
-           <key>col</key><integer>10</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>52</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>52</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>52</integer>
-         <key>col</key><integer>18</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-       <array>
-        <dict>
-         <key>line</key><integer>52</integer>
-         <key>col</key><integer>12</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>52</integer>
-         <key>col</key><integer>17</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Reference count incremented. The object now has a +1 retain count. The object is not eligible for garbage collection until the retain count reaches 0 again</string>
-     <key>message</key>
-     <string>Reference count incremented. The object now has a +1 retain count. The object is not eligible for garbage collection until the retain count reaches 0 again</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>52</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>52</integer>
-           <key>col</key><integer>10</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>53</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>53</integer>
-           <key>col</key><integer>8</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>53</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>53</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>53</integer>
-         <key>col</key><integer>8</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Object leaked: object allocated and stored into 'leaked' is not referenced later in this execution path and has a retain count of +1</string>
-     <key>message</key>
-     <string>Object leaked: object allocated and stored into 'leaked' is not referenced later in this execution path and has a retain count of +1</string>
-    </dict>
-   </array>
-   <key>description</key><string>Potential leak (when using garbage collection) of an object stored into 'leaked'</string>
-   <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
-   <key>type</key><string>Leak of object when using garbage collection</string>
-   <key>check_name</key><string>osx.cocoa.RetainCount</string>
-   <!-- This hash is experimental and going to change! -->
-   <key>issue_hash_content_of_line_in_context</key><string>4f71073d5e7f2546564c1614dfc95420</string>
-  <key>issue_context_kind</key><string>function</string>
-  <key>issue_context</key><string>makeCollectable</string>
-  <key>issue_hash_function_offset</key><string>1</string>
-  <key>location</key>
-  <dict>
-   <key>line</key><integer>53</integer>
-   <key>col</key><integer>3</integer>
-   <key>file</key><integer>0</integer>
-  </dict>
-  </dict>
-  <dict>
-   <key>path</key>
-   <array>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>57</integer>
-      <key>col</key><integer>15</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>57</integer>
-         <key>col</key><integer>15</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>57</integer>
-         <key>col</key><integer>37</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Method returns an instance of NSObject with a +0 retain count</string>
-     <key>message</key>
-     <string>Method returns an instance of NSObject with a +0 retain count</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>57</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>57</integer>
-           <key>col</key><integer>4</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>58</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>58</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>58</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>58</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>58</integer>
-         <key>col</key><integer>17</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-       <array>
-        <dict>
-         <key>line</key><integer>58</integer>
-         <key>col</key><integer>4</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>58</integer>
-         <key>col</key><integer>9</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>In GC mode the 'retain' message has no effect</string>
-     <key>message</key>
-     <string>In GC mode the 'retain' message has no effect</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>58</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>58</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>59</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>59</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>59</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>59</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>59</integer>
-         <key>col</key><integer>18</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-       <array>
-        <dict>
-         <key>line</key><integer>59</integer>
-         <key>col</key><integer>4</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>59</integer>
-         <key>col</key><integer>9</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>In GC mode the 'release' message has no effect</string>
-     <key>message</key>
-     <string>In GC mode the 'release' message has no effect</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>59</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>59</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>60</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>60</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>60</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>60</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>60</integer>
-         <key>col</key><integer>22</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-       <array>
-        <dict>
-         <key>line</key><integer>60</integer>
-         <key>col</key><integer>4</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>60</integer>
-         <key>col</key><integer>9</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>In GC mode an 'autorelease' has no effect</string>
-     <key>message</key>
-     <string>In GC mode an 'autorelease' has no effect</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>60</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>60</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>61</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>61</integer>
-           <key>col</key><integer>11</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>61</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>61</integer>
-         <key>col</key><integer>13</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>61</integer>
-         <key>col</key><integer>29</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string>
-     <key>message</key>
-     <string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string>
-    </dict>
-   </array>
-   <key>description</key><string>Incorrect decrement of the reference count of an object that is not owned at this point by the caller</string>
-   <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
-   <key>type</key><string>Bad release</string>
-   <key>check_name</key><string>osx.cocoa.RetainCount</string>
-   <!-- This hash is experimental and going to change! -->
-   <key>issue_hash_content_of_line_in_context</key><string>3d18c66bf99e8cd2938e8c63c345f6ea</string>
-  <key>issue_context_kind</key><string>function</string>
-  <key>issue_context</key><string>retainReleaseIgnored</string>
-  <key>issue_hash_function_offset</key><string>5</string>
-  <key>location</key>
-  <dict>
-   <key>line</key><integer>61</integer>
-   <key>col</key><integer>3</integer>
-   <key>file</key><integer>0</integer>
-  </dict>
-  </dict>
-  <dict>
-   <key>path</key>
-   <array>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>66</integer>
-      <key>col</key><integer>20</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>66</integer>
-         <key>col</key><integer>20</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>66</integer>
-         <key>col</key><integer>38</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count.  Core Foundation objects are not automatically garbage collected</string>
-     <key>message</key>
-     <string>Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count.  Core Foundation objects are not automatically garbage collected</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>66</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>66</integer>
-           <key>col</key><integer>4</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>67</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>67</integer>
-           <key>col</key><integer>8</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>67</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>67</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>67</integer>
-         <key>col</key><integer>15</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-       <array>
-        <dict>
-         <key>line</key><integer>67</integer>
-         <key>col</key><integer>10</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>67</integer>
-         <key>col</key><integer>15</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Object returned to caller as an owning reference (single retain count transferred to caller)</string>
-     <key>message</key>
-     <string>Object returned to caller as an owning reference (single retain count transferred to caller)</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>67</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>67</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>67</integer>
-         <key>col</key><integer>15</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Object leaked: object allocated and stored into 'object' and returned from method 'getViolation' is potentially leaked when using garbage collection.  Callers of this method do not expect a returned object with a +1 retain count since they expect the object to be managed by the garbage collector</string>
-     <key>message</key>
-     <string>Object leaked: object allocated and stored into 'object' and returned from method 'getViolation' is potentially leaked when using garbage collection.  Callers of this method do not expect a returned object with a +1 retain count since they expect the object to be managed by the garbage collector</string>
-    </dict>
-   </array>
-   <key>description</key><string>Potential leak (when using garbage collection) of an object stored into 'object'</string>
-   <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
-   <key>type</key><string>Leak of returned object when using garbage collection</string>
-   <key>check_name</key><string>osx.cocoa.RetainCount</string>
-   <!-- This hash is experimental and going to change! -->
-   <key>issue_hash_content_of_line_in_context</key><string>d012b4dfd7d763f06cdb53f8b5708275</string>
-  <key>issue_context_kind</key><string>Objective-C method</string>
-  <key>issue_context</key><string>getViolation</string>
-  <key>issue_hash_function_offset</key><string>1</string>
-  <key>location</key>
-  <dict>
-   <key>line</key><integer>67</integer>
-   <key>col</key><integer>3</integer>
-   <key>file</key><integer>0</integer>
-  </dict>
-  </dict>
-  <dict>
-   <key>path</key>
-   <array>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>71</integer>
-      <key>col</key><integer>20</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>71</integer>
-         <key>col</key><integer>20</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>71</integer>
-         <key>col</key><integer>38</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count.  Core Foundation objects are not automatically garbage collected</string>
-     <key>message</key>
-     <string>Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count.  Core Foundation objects are not automatically garbage collected</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>71</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>71</integer>
-           <key>col</key><integer>4</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>72</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>72</integer>
-           <key>col</key><integer>8</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>72</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>72</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>72</integer>
-         <key>col</key><integer>15</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-       <array>
-        <dict>
-         <key>line</key><integer>72</integer>
-         <key>col</key><integer>10</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>72</integer>
-         <key>col</key><integer>15</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Object returned to caller as an owning reference (single retain count transferred to caller)</string>
-     <key>message</key>
-     <string>Object returned to caller as an owning reference (single retain count transferred to caller)</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>72</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>72</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>72</integer>
-         <key>col</key><integer>15</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Object leaked: object allocated and stored into 'object' and returned from method 'copyViolation' is potentially leaked when using garbage collection.  Callers of this method do not expect a returned object with a +1 retain count since they expect the object to be managed by the garbage collector</string>
-     <key>message</key>
-     <string>Object leaked: object allocated and stored into 'object' and returned from method 'copyViolation' is potentially leaked when using garbage collection.  Callers of this method do not expect a returned object with a +1 retain count since they expect the object to be managed by the garbage collector</string>
-    </dict>
-   </array>
-   <key>description</key><string>Potential leak (when using garbage collection) of an object stored into 'object'</string>
-   <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
-   <key>type</key><string>Leak of returned object when using garbage collection</string>
-   <key>check_name</key><string>osx.cocoa.RetainCount</string>
-   <!-- This hash is experimental and going to change! -->
-   <key>issue_hash_content_of_line_in_context</key><string>b241509266f9d666b8335e0ee2f45adf</string>
-  <key>issue_context_kind</key><string>Objective-C method</string>
-  <key>issue_context</key><string>copyViolation</string>
-  <key>issue_hash_function_offset</key><string>1</string>
-  <key>location</key>
-  <dict>
-   <key>line</key><integer>72</integer>
-   <key>col</key><integer>3</integer>
-   <key>file</key><integer>0</integer>
-  </dict>
-  </dict>
- </array>
-</dict>
-</plist>

Modified: cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist?rev=340091&r1=340090&r2=340091&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist (original)
+++ cfe/trunk/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist Fri Aug 17 14:40:38 2018
@@ -7,7 +7,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>47</integer>
+      <key>line</key><integer>44</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -15,12 +15,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>47</integer>
+         <key>line</key><integer>44</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>47</integer>
+         <key>line</key><integer>44</integer>
          <key>col</key><integer>37</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -40,12 +40,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>47</integer>
+           <key>line</key><integer>44</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>47</integer>
+           <key>line</key><integer>44</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -53,12 +53,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>48</integer>
+           <key>line</key><integer>45</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>48</integer>
+           <key>line</key><integer>45</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -70,7 +70,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>48</integer>
+      <key>line</key><integer>45</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -78,12 +78,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>48</integer>
+         <key>line</key><integer>45</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>48</integer>
+         <key>line</key><integer>45</integer>
          <key>col</key><integer>8</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -107,7 +107,7 @@
   <key>issue_hash_function_offset</key><string>1</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>48</integer>
+   <key>line</key><integer>45</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -119,7 +119,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>52</integer>
+      <key>line</key><integer>49</integer>
       <key>col</key><integer>22</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -127,12 +127,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>52</integer>
+         <key>line</key><integer>49</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>52</integer>
+         <key>line</key><integer>49</integer>
          <key>col</key><integer>40</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -152,12 +152,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>52</integer>
+           <key>line</key><integer>49</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>52</integer>
+           <key>line</key><integer>49</integer>
            <key>col</key><integer>11</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -165,12 +165,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>53</integer>
+           <key>line</key><integer>50</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>53</integer>
+           <key>line</key><integer>50</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -182,7 +182,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>53</integer>
+      <key>line</key><integer>50</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -190,12 +190,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>53</integer>
+         <key>line</key><integer>50</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>53</integer>
+         <key>line</key><integer>50</integer>
          <key>col</key><integer>8</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -219,7 +219,7 @@
   <key>issue_hash_function_offset</key><string>1</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>53</integer>
+   <key>line</key><integer>50</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -231,7 +231,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>57</integer>
+      <key>line</key><integer>54</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -239,12 +239,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>57</integer>
+         <key>line</key><integer>54</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>57</integer>
+         <key>line</key><integer>54</integer>
          <key>col</key><integer>35</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -264,12 +264,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>57</integer>
+           <key>line</key><integer>54</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>57</integer>
+           <key>line</key><integer>54</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -277,12 +277,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>58</integer>
+           <key>line</key><integer>55</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>58</integer>
+           <key>line</key><integer>55</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -294,7 +294,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>58</integer>
+      <key>line</key><integer>55</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -302,24 +302,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>58</integer>
+         <key>line</key><integer>55</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>58</integer>
+         <key>line</key><integer>55</integer>
          <key>col</key><integer>17</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>58</integer>
+         <key>line</key><integer>55</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>58</integer>
+         <key>line</key><integer>55</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -339,12 +339,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>58</integer>
+           <key>line</key><integer>55</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>58</integer>
+           <key>line</key><integer>55</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -352,12 +352,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>59</integer>
+           <key>line</key><integer>56</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>59</integer>
+           <key>line</key><integer>56</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -369,7 +369,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>59</integer>
+      <key>line</key><integer>56</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -377,24 +377,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>59</integer>
+         <key>line</key><integer>56</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>59</integer>
+         <key>line</key><integer>56</integer>
          <key>col</key><integer>17</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>59</integer>
+         <key>line</key><integer>56</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>59</integer>
+         <key>line</key><integer>56</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -414,12 +414,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>59</integer>
+           <key>line</key><integer>56</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>59</integer>
+           <key>line</key><integer>56</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -427,12 +427,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>60</integer>
+           <key>line</key><integer>57</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>60</integer>
+           <key>line</key><integer>57</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -444,7 +444,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>60</integer>
+      <key>line</key><integer>57</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -452,24 +452,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>60</integer>
+         <key>line</key><integer>57</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>60</integer>
+         <key>line</key><integer>57</integer>
          <key>col</key><integer>18</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>60</integer>
+         <key>line</key><integer>57</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>60</integer>
+         <key>line</key><integer>57</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -489,12 +489,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>60</integer>
+           <key>line</key><integer>57</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>60</integer>
+           <key>line</key><integer>57</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -502,12 +502,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>61</integer>
+           <key>line</key><integer>58</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>61</integer>
+           <key>line</key><integer>58</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -519,7 +519,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>61</integer>
+      <key>line</key><integer>58</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -527,12 +527,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>61</integer>
+         <key>line</key><integer>58</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>61</integer>
+         <key>line</key><integer>58</integer>
          <key>col</key><integer>8</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -556,7 +556,7 @@
   <key>issue_hash_function_offset</key><string>1</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>61</integer>
+   <key>line</key><integer>58</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -568,7 +568,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>65</integer>
+      <key>line</key><integer>62</integer>
       <key>col</key><integer>19</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -576,12 +576,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>65</integer>
+         <key>line</key><integer>62</integer>
          <key>col</key><integer>19</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>65</integer>
+         <key>line</key><integer>62</integer>
          <key>col</key><integer>31</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -601,12 +601,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>65</integer>
+           <key>line</key><integer>62</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>65</integer>
+           <key>line</key><integer>62</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -614,12 +614,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>66</integer>
+           <key>line</key><integer>63</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>66</integer>
+           <key>line</key><integer>63</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -631,7 +631,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>66</integer>
+      <key>line</key><integer>63</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -639,24 +639,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>66</integer>
+         <key>line</key><integer>63</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>66</integer>
+         <key>line</key><integer>63</integer>
          <key>col</key><integer>17</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>66</integer>
+         <key>line</key><integer>63</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>66</integer>
+         <key>line</key><integer>63</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -676,12 +676,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>66</integer>
+           <key>line</key><integer>63</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>66</integer>
+           <key>line</key><integer>63</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -689,12 +689,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>67</integer>
+           <key>line</key><integer>64</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>67</integer>
+           <key>line</key><integer>64</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -706,7 +706,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>67</integer>
+      <key>line</key><integer>64</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -714,12 +714,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>67</integer>
+         <key>line</key><integer>64</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>67</integer>
+         <key>line</key><integer>64</integer>
          <key>col</key><integer>8</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -743,7 +743,7 @@
   <key>issue_hash_function_offset</key><string>1</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>67</integer>
+   <key>line</key><integer>64</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -755,7 +755,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>71</integer>
+      <key>line</key><integer>68</integer>
       <key>col</key><integer>22</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -763,12 +763,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>71</integer>
+         <key>line</key><integer>68</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>71</integer>
+         <key>line</key><integer>68</integer>
          <key>col</key><integer>37</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -788,12 +788,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>71</integer>
+           <key>line</key><integer>68</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>71</integer>
+           <key>line</key><integer>68</integer>
            <key>col</key><integer>11</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -801,12 +801,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>72</integer>
+           <key>line</key><integer>69</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>72</integer>
+           <key>line</key><integer>69</integer>
            <key>col</key><integer>10</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -818,7 +818,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>72</integer>
+      <key>line</key><integer>69</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -826,24 +826,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>72</integer>
+         <key>line</key><integer>69</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>72</integer>
+         <key>line</key><integer>69</integer>
          <key>col</key><integer>18</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>72</integer>
+         <key>line</key><integer>69</integer>
          <key>col</key><integer>12</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>72</integer>
+         <key>line</key><integer>69</integer>
          <key>col</key><integer>17</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -863,12 +863,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>72</integer>
+           <key>line</key><integer>69</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>72</integer>
+           <key>line</key><integer>69</integer>
            <key>col</key><integer>10</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -876,12 +876,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>73</integer>
+           <key>line</key><integer>70</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>73</integer>
+           <key>line</key><integer>70</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -893,7 +893,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>73</integer>
+      <key>line</key><integer>70</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -901,12 +901,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>73</integer>
+         <key>line</key><integer>70</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>73</integer>
+         <key>line</key><integer>70</integer>
          <key>col</key><integer>8</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -930,7 +930,7 @@
   <key>issue_hash_function_offset</key><string>1</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>73</integer>
+   <key>line</key><integer>70</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -942,7 +942,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>77</integer>
+      <key>line</key><integer>74</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -950,12 +950,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>77</integer>
+         <key>line</key><integer>74</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>77</integer>
+         <key>line</key><integer>74</integer>
          <key>col</key><integer>37</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -975,12 +975,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>77</integer>
+           <key>line</key><integer>74</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>77</integer>
+           <key>line</key><integer>74</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -988,12 +988,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>78</integer>
+           <key>line</key><integer>75</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>78</integer>
+           <key>line</key><integer>75</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1005,7 +1005,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>78</integer>
+      <key>line</key><integer>75</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -1013,24 +1013,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>78</integer>
+         <key>line</key><integer>75</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>78</integer>
+         <key>line</key><integer>75</integer>
          <key>col</key><integer>18</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>78</integer>
+         <key>line</key><integer>75</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>78</integer>
+         <key>line</key><integer>75</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -1050,12 +1050,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>78</integer>
+           <key>line</key><integer>75</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>78</integer>
+           <key>line</key><integer>75</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1063,12 +1063,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>79</integer>
+           <key>line</key><integer>76</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>79</integer>
+           <key>line</key><integer>76</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1080,7 +1080,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>79</integer>
+      <key>line</key><integer>76</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -1088,12 +1088,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>79</integer>
+         <key>line</key><integer>76</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>79</integer>
+         <key>line</key><integer>76</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -1117,7 +1117,7 @@
   <key>issue_hash_function_offset</key><string>3</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>79</integer>
+   <key>line</key><integer>76</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -1129,7 +1129,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>83</integer>
+      <key>line</key><integer>80</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -1137,12 +1137,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>83</integer>
+         <key>line</key><integer>80</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>83</integer>
+         <key>line</key><integer>80</integer>
          <key>col</key><integer>37</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -1162,12 +1162,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>83</integer>
+           <key>line</key><integer>80</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>83</integer>
+           <key>line</key><integer>80</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1175,12 +1175,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>84</integer>
+           <key>line</key><integer>81</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>84</integer>
+           <key>line</key><integer>81</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1192,7 +1192,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>84</integer>
+      <key>line</key><integer>81</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -1200,24 +1200,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>84</integer>
+         <key>line</key><integer>81</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>84</integer>
+         <key>line</key><integer>81</integer>
          <key>col</key><integer>18</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>84</integer>
+         <key>line</key><integer>81</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>84</integer>
+         <key>line</key><integer>81</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -1237,12 +1237,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>84</integer>
+           <key>line</key><integer>81</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>84</integer>
+           <key>line</key><integer>81</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1250,12 +1250,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>85</integer>
+           <key>line</key><integer>82</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>85</integer>
+           <key>line</key><integer>82</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1267,7 +1267,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>85</integer>
+      <key>line</key><integer>82</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -1275,12 +1275,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>85</integer>
+         <key>line</key><integer>82</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>85</integer>
+         <key>line</key><integer>82</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -1304,7 +1304,7 @@
   <key>issue_hash_function_offset</key><string>3</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>85</integer>
+   <key>line</key><integer>82</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -1316,7 +1316,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>89</integer>
+      <key>line</key><integer>86</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -1324,12 +1324,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>89</integer>
+         <key>line</key><integer>86</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>89</integer>
+         <key>line</key><integer>86</integer>
          <key>col</key><integer>37</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -1349,12 +1349,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>89</integer>
+           <key>line</key><integer>86</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>89</integer>
+           <key>line</key><integer>86</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1362,12 +1362,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>90</integer>
+           <key>line</key><integer>87</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>90</integer>
+           <key>line</key><integer>87</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1379,7 +1379,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>90</integer>
+      <key>line</key><integer>87</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -1387,24 +1387,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>90</integer>
+         <key>line</key><integer>87</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>90</integer>
+         <key>line</key><integer>87</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>90</integer>
+         <key>line</key><integer>87</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>90</integer>
+         <key>line</key><integer>87</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -1424,12 +1424,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>90</integer>
+           <key>line</key><integer>87</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>90</integer>
+           <key>line</key><integer>87</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1437,12 +1437,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>91</integer>
+           <key>line</key><integer>88</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>91</integer>
+           <key>line</key><integer>88</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1454,7 +1454,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>91</integer>
+      <key>line</key><integer>88</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -1462,24 +1462,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>91</integer>
+         <key>line</key><integer>88</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>91</integer>
+         <key>line</key><integer>88</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>91</integer>
+         <key>line</key><integer>88</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>91</integer>
+         <key>line</key><integer>88</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -1499,12 +1499,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>91</integer>
+           <key>line</key><integer>88</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>91</integer>
+           <key>line</key><integer>88</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1512,12 +1512,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>92</integer>
+           <key>line</key><integer>89</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>92</integer>
+           <key>line</key><integer>89</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1529,7 +1529,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>92</integer>
+      <key>line</key><integer>89</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -1537,12 +1537,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>92</integer>
+         <key>line</key><integer>89</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>92</integer>
+         <key>line</key><integer>89</integer>
          <key>col</key><integer>8</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -1566,7 +1566,7 @@
   <key>issue_hash_function_offset</key><string>4</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>92</integer>
+   <key>line</key><integer>89</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -1578,7 +1578,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>96</integer>
+      <key>line</key><integer>93</integer>
       <key>col</key><integer>19</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -1586,12 +1586,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>96</integer>
+         <key>line</key><integer>93</integer>
          <key>col</key><integer>19</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>96</integer>
+         <key>line</key><integer>93</integer>
          <key>col</key><integer>31</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -1611,12 +1611,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>96</integer>
+           <key>line</key><integer>93</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>96</integer>
+           <key>line</key><integer>93</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1624,12 +1624,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>97</integer>
+           <key>line</key><integer>94</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>97</integer>
+           <key>line</key><integer>94</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1641,7 +1641,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>97</integer>
+      <key>line</key><integer>94</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -1649,24 +1649,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>97</integer>
+         <key>line</key><integer>94</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>97</integer>
+         <key>line</key><integer>94</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>97</integer>
+         <key>line</key><integer>94</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>97</integer>
+         <key>line</key><integer>94</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -1686,12 +1686,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>97</integer>
+           <key>line</key><integer>94</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>97</integer>
+           <key>line</key><integer>94</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1699,12 +1699,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>98</integer>
+           <key>line</key><integer>95</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>98</integer>
+           <key>line</key><integer>95</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -1716,7 +1716,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>98</integer>
+      <key>line</key><integer>95</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -1724,12 +1724,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>98</integer>
+         <key>line</key><integer>95</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>98</integer>
+         <key>line</key><integer>95</integer>
          <key>col</key><integer>8</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -1739,283 +1739,21 @@
      <key>extended_message</key>
      <string>Object was autoreleased but has a +0 retain count</string>
      <key>message</key>
-     <string>Object was autoreleased but has a +0 retain count</string>
-    </dict>
-   </array>
-   <key>description</key><string>Object autoreleased too many times</string>
-   <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
-   <key>type</key><string>Object autoreleased too many times</string>
-   <key>check_name</key><string>osx.cocoa.RetainCount</string>
-   <!-- This hash is experimental and going to change! -->
-   <key>issue_hash_content_of_line_in_context</key><string>1edd178e5ad76c79ce9812f519e8f467</string>
-  <key>issue_context_kind</key><string>function</string>
-  <key>issue_context</key><string>autoreleaseUnowned</string>
-  <key>issue_hash_function_offset</key><string>3</string>
-  <key>location</key>
-  <dict>
-   <key>line</key><integer>98</integer>
-   <key>col</key><integer>3</integer>
-   <key>file</key><integer>0</integer>
-  </dict>
-  </dict>
-  <dict>
-   <key>path</key>
-   <array>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>102</integer>
-      <key>col</key><integer>22</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>102</integer>
-         <key>col</key><integer>22</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>102</integer>
-         <key>col</key><integer>40</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count</string>
-     <key>message</key>
-     <string>Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>102</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>102</integer>
-           <key>col</key><integer>11</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>103</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>103</integer>
-           <key>col</key><integer>19</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>103</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>103</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>103</integer>
-         <key>col</key><integer>27</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-       <array>
-        <dict>
-         <key>line</key><integer>103</integer>
-         <key>col</key><integer>21</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>103</integer>
-         <key>col</key><integer>26</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>When GC is not enabled a call to 'CFMakeCollectable' has no effect on its argument</string>
-     <key>message</key>
-     <string>When GC is not enabled a call to 'CFMakeCollectable' has no effect on its argument</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>103</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>103</integer>
-           <key>col</key><integer>19</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>104</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>104</integer>
-           <key>col</key><integer>19</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>104</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>104</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>104</integer>
-         <key>col</key><integer>27</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-       <array>
-        <dict>
-         <key>line</key><integer>104</integer>
-         <key>col</key><integer>21</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>104</integer>
-         <key>col</key><integer>26</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>When GC is not enabled a call to 'NSMakeCollectable' has no effect on its argument</string>
-     <key>message</key>
-     <string>When GC is not enabled a call to 'NSMakeCollectable' has no effect on its argument</string>
-    </dict>
-    <dict>
-     <key>kind</key><string>control</string>
-     <key>edges</key>
-      <array>
-       <dict>
-        <key>start</key>
-         <array>
-          <dict>
-           <key>line</key><integer>104</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>104</integer>
-           <key>col</key><integer>19</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-        <key>end</key>
-         <array>
-          <dict>
-           <key>line</key><integer>105</integer>
-           <key>col</key><integer>3</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-          <dict>
-           <key>line</key><integer>105</integer>
-           <key>col</key><integer>8</integer>
-           <key>file</key><integer>0</integer>
-          </dict>
-         </array>
-       </dict>
-      </array>
-    </dict>
-    <dict>
-     <key>kind</key><string>event</string>
-     <key>location</key>
-     <dict>
-      <key>line</key><integer>105</integer>
-      <key>col</key><integer>3</integer>
-      <key>file</key><integer>0</integer>
-     </dict>
-     <key>ranges</key>
-     <array>
-       <array>
-        <dict>
-         <key>line</key><integer>105</integer>
-         <key>col</key><integer>3</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-        <dict>
-         <key>line</key><integer>105</integer>
-         <key>col</key><integer>8</integer>
-         <key>file</key><integer>0</integer>
-        </dict>
-       </array>
-     </array>
-     <key>depth</key><integer>0</integer>
-     <key>extended_message</key>
-     <string>Object leaked: object allocated and stored into 'leaked' is not referenced later in this execution path and has a retain count of +1</string>
-     <key>message</key>
-     <string>Object leaked: object allocated and stored into 'leaked' is not referenced later in this execution path and has a retain count of +1</string>
+     <string>Object was autoreleased but has a +0 retain count</string>
     </dict>
    </array>
-   <key>description</key><string>Potential leak of an object stored into 'leaked'</string>
+   <key>description</key><string>Object autoreleased too many times</string>
    <key>category</key><string>Memory (Core Foundation/Objective-C)</string>
-   <key>type</key><string>Leak</string>
+   <key>type</key><string>Object autoreleased too many times</string>
    <key>check_name</key><string>osx.cocoa.RetainCount</string>
    <!-- This hash is experimental and going to change! -->
-   <key>issue_hash_content_of_line_in_context</key><string>3f08690fae9687c29bb23b7a7cb7995b</string>
+   <key>issue_hash_content_of_line_in_context</key><string>1edd178e5ad76c79ce9812f519e8f467</string>
   <key>issue_context_kind</key><string>function</string>
-  <key>issue_context</key><string>makeCollectableIgnored</string>
-  <key>issue_hash_function_offset</key><string>1</string>
+  <key>issue_context</key><string>autoreleaseUnowned</string>
+  <key>issue_hash_function_offset</key><string>3</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>105</integer>
+   <key>line</key><integer>95</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -2027,7 +1765,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>109</integer>
+      <key>line</key><integer>99</integer>
       <key>col</key><integer>22</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2035,12 +1773,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>109</integer>
+         <key>line</key><integer>99</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>109</integer>
+         <key>line</key><integer>99</integer>
          <key>col</key><integer>37</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2060,12 +1798,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>109</integer>
+           <key>line</key><integer>99</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>109</integer>
+           <key>line</key><integer>99</integer>
            <key>col</key><integer>11</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2073,12 +1811,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>110</integer>
+           <key>line</key><integer>100</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>110</integer>
+           <key>line</key><integer>100</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2090,7 +1828,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>110</integer>
+      <key>line</key><integer>100</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2098,24 +1836,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>110</integer>
+         <key>line</key><integer>100</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>110</integer>
+         <key>line</key><integer>100</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>110</integer>
+         <key>line</key><integer>100</integer>
          <key>col</key><integer>10</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>110</integer>
+         <key>line</key><integer>100</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2131,7 +1869,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>110</integer>
+      <key>line</key><integer>100</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2139,12 +1877,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>110</integer>
+         <key>line</key><integer>100</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>110</integer>
+         <key>line</key><integer>100</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2168,7 +1906,7 @@
   <key>issue_hash_function_offset</key><string>2</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>110</integer>
+   <key>line</key><integer>100</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -2180,7 +1918,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>114</integer>
+      <key>line</key><integer>104</integer>
       <key>col</key><integer>22</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2188,12 +1926,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>114</integer>
+         <key>line</key><integer>104</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>114</integer>
+         <key>line</key><integer>104</integer>
          <key>col</key><integer>40</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2213,12 +1951,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>114</integer>
+           <key>line</key><integer>104</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>114</integer>
+           <key>line</key><integer>104</integer>
            <key>col</key><integer>11</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2226,12 +1964,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>115</integer>
+           <key>line</key><integer>105</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>115</integer>
+           <key>line</key><integer>105</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2243,7 +1981,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>115</integer>
+      <key>line</key><integer>105</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2251,24 +1989,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>115</integer>
+         <key>line</key><integer>105</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>115</integer>
+         <key>line</key><integer>105</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>115</integer>
+         <key>line</key><integer>105</integer>
          <key>col</key><integer>10</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>115</integer>
+         <key>line</key><integer>105</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2284,7 +2022,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>115</integer>
+      <key>line</key><integer>105</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2292,12 +2030,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>115</integer>
+         <key>line</key><integer>105</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>115</integer>
+         <key>line</key><integer>105</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2321,7 +2059,7 @@
   <key>issue_hash_function_offset</key><string>1</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>115</integer>
+   <key>line</key><integer>105</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -2333,7 +2071,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>120</integer>
+      <key>line</key><integer>110</integer>
       <key>col</key><integer>20</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2341,12 +2079,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>120</integer>
+         <key>line</key><integer>110</integer>
          <key>col</key><integer>20</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>120</integer>
+         <key>line</key><integer>110</integer>
          <key>col</key><integer>32</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2366,12 +2104,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>120</integer>
+           <key>line</key><integer>110</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>120</integer>
+           <key>line</key><integer>110</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2379,12 +2117,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>121</integer>
+           <key>line</key><integer>111</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>121</integer>
+           <key>line</key><integer>111</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2396,7 +2134,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>121</integer>
+      <key>line</key><integer>111</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2404,24 +2142,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>121</integer>
+         <key>line</key><integer>111</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>121</integer>
+         <key>line</key><integer>111</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>121</integer>
+         <key>line</key><integer>111</integer>
          <key>col</key><integer>10</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>121</integer>
+         <key>line</key><integer>111</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2437,7 +2175,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>121</integer>
+      <key>line</key><integer>111</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2445,12 +2183,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>121</integer>
+         <key>line</key><integer>111</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>121</integer>
+         <key>line</key><integer>111</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2474,7 +2212,7 @@
   <key>issue_hash_function_offset</key><string>2</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>121</integer>
+   <key>line</key><integer>111</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -2486,7 +2224,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>125</integer>
+      <key>line</key><integer>115</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2494,12 +2232,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>125</integer>
+         <key>line</key><integer>115</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>125</integer>
+         <key>line</key><integer>115</integer>
          <key>col</key><integer>18</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2519,12 +2257,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>125</integer>
+           <key>line</key><integer>115</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>125</integer>
+           <key>line</key><integer>115</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2532,12 +2270,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>126</integer>
+           <key>line</key><integer>116</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>126</integer>
+           <key>line</key><integer>116</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2549,7 +2287,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>126</integer>
+      <key>line</key><integer>116</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2557,24 +2295,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>126</integer>
+         <key>line</key><integer>116</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>126</integer>
+         <key>line</key><integer>116</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>126</integer>
+         <key>line</key><integer>116</integer>
          <key>col</key><integer>10</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>126</integer>
+         <key>line</key><integer>116</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2590,7 +2328,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>126</integer>
+      <key>line</key><integer>116</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2598,12 +2336,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>126</integer>
+         <key>line</key><integer>116</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>126</integer>
+         <key>line</key><integer>116</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2627,7 +2365,7 @@
   <key>issue_hash_function_offset</key><string>2</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>126</integer>
+   <key>line</key><integer>116</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -2639,7 +2377,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>130</integer>
+      <key>line</key><integer>120</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2647,12 +2385,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>130</integer>
+         <key>line</key><integer>120</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>130</integer>
+         <key>line</key><integer>120</integer>
          <key>col</key><integer>18</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2672,12 +2410,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>130</integer>
+           <key>line</key><integer>120</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>130</integer>
+           <key>line</key><integer>120</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2685,12 +2423,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>131</integer>
+           <key>line</key><integer>121</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>131</integer>
+           <key>line</key><integer>121</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2702,7 +2440,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>131</integer>
+      <key>line</key><integer>121</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2710,24 +2448,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>131</integer>
+         <key>line</key><integer>121</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>131</integer>
+         <key>line</key><integer>121</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>131</integer>
+         <key>line</key><integer>121</integer>
          <key>col</key><integer>10</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>131</integer>
+         <key>line</key><integer>121</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2743,7 +2481,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>131</integer>
+      <key>line</key><integer>121</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2751,12 +2489,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>131</integer>
+         <key>line</key><integer>121</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>131</integer>
+         <key>line</key><integer>121</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2780,7 +2518,7 @@
   <key>issue_hash_function_offset</key><string>2</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>131</integer>
+   <key>line</key><integer>121</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -2792,7 +2530,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>135</integer>
+      <key>line</key><integer>125</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2800,12 +2538,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>135</integer>
+         <key>line</key><integer>125</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>135</integer>
+         <key>line</key><integer>125</integer>
          <key>col</key><integer>32</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2825,12 +2563,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>135</integer>
+           <key>line</key><integer>125</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>135</integer>
+           <key>line</key><integer>125</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2838,12 +2576,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>136</integer>
+           <key>line</key><integer>126</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>136</integer>
+           <key>line</key><integer>126</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2855,7 +2593,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>136</integer>
+      <key>line</key><integer>126</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2863,24 +2601,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>136</integer>
+         <key>line</key><integer>126</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>136</integer>
+         <key>line</key><integer>126</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>136</integer>
+         <key>line</key><integer>126</integer>
          <key>col</key><integer>10</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>136</integer>
+         <key>line</key><integer>126</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2896,7 +2634,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>136</integer>
+      <key>line</key><integer>126</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2904,12 +2642,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>136</integer>
+         <key>line</key><integer>126</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>136</integer>
+         <key>line</key><integer>126</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2933,7 +2671,7 @@
   <key>issue_hash_function_offset</key><string>1</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>136</integer>
+   <key>line</key><integer>126</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -2945,7 +2683,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>140</integer>
+      <key>line</key><integer>130</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -2953,12 +2691,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>140</integer>
+         <key>line</key><integer>130</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>140</integer>
+         <key>line</key><integer>130</integer>
          <key>col</key><integer>32</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -2978,12 +2716,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>140</integer>
+           <key>line</key><integer>130</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>140</integer>
+           <key>line</key><integer>130</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -2991,12 +2729,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>141</integer>
+           <key>line</key><integer>131</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>141</integer>
+           <key>line</key><integer>131</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3008,7 +2746,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>141</integer>
+      <key>line</key><integer>131</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3016,24 +2754,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>141</integer>
+         <key>line</key><integer>131</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>141</integer>
+         <key>line</key><integer>131</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>141</integer>
+         <key>line</key><integer>131</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>141</integer>
+         <key>line</key><integer>131</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3053,12 +2791,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>141</integer>
+           <key>line</key><integer>131</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>141</integer>
+           <key>line</key><integer>131</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3066,12 +2804,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>142</integer>
+           <key>line</key><integer>132</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>142</integer>
+           <key>line</key><integer>132</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3083,7 +2821,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>142</integer>
+      <key>line</key><integer>132</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3091,12 +2829,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>142</integer>
+         <key>line</key><integer>132</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>142</integer>
+         <key>line</key><integer>132</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3120,7 +2858,7 @@
   <key>issue_hash_function_offset</key><string>3</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>142</integer>
+   <key>line</key><integer>132</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -3132,7 +2870,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>170</integer>
+      <key>line</key><integer>160</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3140,12 +2878,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>170</integer>
+         <key>line</key><integer>160</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>170</integer>
+         <key>line</key><integer>160</integer>
          <key>col</key><integer>16</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3165,12 +2903,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>170</integer>
+           <key>line</key><integer>160</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>170</integer>
+           <key>line</key><integer>160</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3178,12 +2916,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>171</integer>
+           <key>line</key><integer>161</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>171</integer>
+           <key>line</key><integer>161</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3195,7 +2933,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>171</integer>
+      <key>line</key><integer>161</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3203,12 +2941,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>171</integer>
+         <key>line</key><integer>161</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>171</integer>
+         <key>line</key><integer>161</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3232,7 +2970,7 @@
   <key>issue_hash_function_offset</key><string>2</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>171</integer>
+   <key>line</key><integer>161</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -3244,7 +2982,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>175</integer>
+      <key>line</key><integer>165</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3252,12 +2990,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>175</integer>
+         <key>line</key><integer>165</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>175</integer>
+         <key>line</key><integer>165</integer>
          <key>col</key><integer>18</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3277,12 +3015,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>175</integer>
+           <key>line</key><integer>165</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>175</integer>
+           <key>line</key><integer>165</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3290,12 +3028,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>176</integer>
+           <key>line</key><integer>166</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>176</integer>
+           <key>line</key><integer>166</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3307,7 +3045,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>176</integer>
+      <key>line</key><integer>166</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3315,12 +3053,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>176</integer>
+         <key>line</key><integer>166</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>176</integer>
+         <key>line</key><integer>166</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3344,7 +3082,7 @@
   <key>issue_hash_function_offset</key><string>2</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>176</integer>
+   <key>line</key><integer>166</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -3356,7 +3094,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>180</integer>
+      <key>line</key><integer>170</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3364,12 +3102,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>180</integer>
+         <key>line</key><integer>170</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>180</integer>
+         <key>line</key><integer>170</integer>
          <key>col</key><integer>20</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3389,12 +3127,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>180</integer>
+           <key>line</key><integer>170</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>180</integer>
+           <key>line</key><integer>170</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3402,12 +3140,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>181</integer>
+           <key>line</key><integer>171</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>181</integer>
+           <key>line</key><integer>171</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3419,7 +3157,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>181</integer>
+      <key>line</key><integer>171</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3427,12 +3165,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>181</integer>
+         <key>line</key><integer>171</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>181</integer>
+         <key>line</key><integer>171</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3456,7 +3194,7 @@
   <key>issue_hash_function_offset</key><string>2</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>181</integer>
+   <key>line</key><integer>171</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -3468,7 +3206,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>185</integer>
+      <key>line</key><integer>175</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3476,12 +3214,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>185</integer>
+         <key>line</key><integer>175</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>185</integer>
+         <key>line</key><integer>175</integer>
          <key>col</key><integer>20</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3501,12 +3239,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>185</integer>
+           <key>line</key><integer>175</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>185</integer>
+           <key>line</key><integer>175</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3514,12 +3252,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>186</integer>
+           <key>line</key><integer>176</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>186</integer>
+           <key>line</key><integer>176</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3531,7 +3269,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>186</integer>
+      <key>line</key><integer>176</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3539,12 +3277,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>186</integer>
+         <key>line</key><integer>176</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>186</integer>
+         <key>line</key><integer>176</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3568,7 +3306,7 @@
   <key>issue_hash_function_offset</key><string>2</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>186</integer>
+   <key>line</key><integer>176</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -3580,7 +3318,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>190</integer>
+      <key>line</key><integer>180</integer>
       <key>col</key><integer>15</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3588,12 +3326,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>190</integer>
+         <key>line</key><integer>180</integer>
          <key>col</key><integer>15</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>190</integer>
+         <key>line</key><integer>180</integer>
          <key>col</key><integer>27</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3613,12 +3351,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>190</integer>
+           <key>line</key><integer>180</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>190</integer>
+           <key>line</key><integer>180</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3626,12 +3364,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>191</integer>
+           <key>line</key><integer>181</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>191</integer>
+           <key>line</key><integer>181</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3643,7 +3381,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>191</integer>
+      <key>line</key><integer>181</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3651,12 +3389,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>191</integer>
+         <key>line</key><integer>181</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>191</integer>
+         <key>line</key><integer>181</integer>
          <key>col</key><integer>9</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3680,7 +3418,7 @@
   <key>issue_hash_function_offset</key><string>2</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>191</integer>
+   <key>line</key><integer>181</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -3696,12 +3434,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>226</integer>
+           <key>line</key><integer>216</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>226</integer>
+           <key>line</key><integer>216</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3709,12 +3447,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>226</integer>
+           <key>line</key><integer>216</integer>
            <key>col</key><integer>11</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>226</integer>
+           <key>line</key><integer>216</integer>
            <key>col</key><integer>11</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3726,7 +3464,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>226</integer>
+      <key>line</key><integer>216</integer>
       <key>col</key><integer>11</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3734,12 +3472,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>226</integer>
+         <key>line</key><integer>216</integer>
          <key>col</key><integer>11</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>226</integer>
+         <key>line</key><integer>216</integer>
          <key>col</key><integer>23</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3755,7 +3493,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>226</integer>
+      <key>line</key><integer>216</integer>
       <key>col</key><integer>10</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3763,12 +3501,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>226</integer>
+         <key>line</key><integer>216</integer>
          <key>col</key><integer>10</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>226</integer>
+         <key>line</key><integer>216</integer>
          <key>col</key><integer>30</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3784,7 +3522,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>206</integer>
+      <key>line</key><integer>196</integer>
       <key>col</key><integer>1</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3802,12 +3540,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>206</integer>
+           <key>line</key><integer>196</integer>
            <key>col</key><integer>1</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>206</integer>
+           <key>line</key><integer>196</integer>
            <key>col</key><integer>1</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3815,12 +3553,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>207</integer>
+           <key>line</key><integer>197</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>207</integer>
+           <key>line</key><integer>197</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3836,12 +3574,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>207</integer>
+           <key>line</key><integer>197</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>207</integer>
+           <key>line</key><integer>197</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3849,12 +3587,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>207</integer>
+           <key>line</key><integer>197</integer>
            <key>col</key><integer>7</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>207</integer>
+           <key>line</key><integer>197</integer>
            <key>col</key><integer>10</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3866,7 +3604,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>207</integer>
+      <key>line</key><integer>197</integer>
       <key>col</key><integer>7</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3874,12 +3612,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>207</integer>
+         <key>line</key><integer>197</integer>
          <key>col</key><integer>7</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>207</integer>
+         <key>line</key><integer>197</integer>
          <key>col</key><integer>10</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3899,12 +3637,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>207</integer>
+           <key>line</key><integer>197</integer>
            <key>col</key><integer>7</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>207</integer>
+           <key>line</key><integer>197</integer>
            <key>col</key><integer>10</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3912,12 +3650,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>209</integer>
+           <key>line</key><integer>199</integer>
            <key>col</key><integer>5</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>209</integer>
+           <key>line</key><integer>199</integer>
            <key>col</key><integer>10</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3929,7 +3667,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>226</integer>
+      <key>line</key><integer>216</integer>
       <key>col</key><integer>10</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -3937,12 +3675,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>226</integer>
+         <key>line</key><integer>216</integer>
          <key>col</key><integer>10</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>226</integer>
+         <key>line</key><integer>216</integer>
          <key>col</key><integer>30</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -3962,12 +3700,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>226</integer>
+           <key>line</key><integer>216</integer>
            <key>col</key><integer>10</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>226</integer>
+           <key>line</key><integer>216</integer>
            <key>col</key><integer>10</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3975,12 +3713,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>226</integer>
+           <key>line</key><integer>216</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>226</integer>
+           <key>line</key><integer>216</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -3992,7 +3730,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>226</integer>
+      <key>line</key><integer>216</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4000,12 +3738,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>226</integer>
+         <key>line</key><integer>216</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>226</integer>
+         <key>line</key><integer>216</integer>
          <key>col</key><integer>6</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4029,7 +3767,7 @@
   <key>issue_hash_function_offset</key><string>2</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>226</integer>
+   <key>line</key><integer>216</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -4045,12 +3783,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>226</integer>
+           <key>line</key><integer>216</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>226</integer>
+           <key>line</key><integer>216</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4058,12 +3796,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>232</integer>
+           <key>line</key><integer>222</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>232</integer>
+           <key>line</key><integer>222</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4079,12 +3817,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>232</integer>
+           <key>line</key><integer>222</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>232</integer>
+           <key>line</key><integer>222</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4092,12 +3830,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>232</integer>
+           <key>line</key><integer>222</integer>
            <key>col</key><integer>10</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>232</integer>
+           <key>line</key><integer>222</integer>
            <key>col</key><integer>10</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4109,7 +3847,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>232</integer>
+      <key>line</key><integer>222</integer>
       <key>col</key><integer>10</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4117,12 +3855,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>232</integer>
+         <key>line</key><integer>222</integer>
          <key>col</key><integer>10</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>232</integer>
+         <key>line</key><integer>222</integer>
          <key>col</key><integer>30</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4138,7 +3876,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>214</integer>
+      <key>line</key><integer>204</integer>
       <key>col</key><integer>1</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4156,12 +3894,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>214</integer>
+           <key>line</key><integer>204</integer>
            <key>col</key><integer>1</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>214</integer>
+           <key>line</key><integer>204</integer>
            <key>col</key><integer>1</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4169,12 +3907,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>215</integer>
+           <key>line</key><integer>205</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>215</integer>
+           <key>line</key><integer>205</integer>
            <key>col</key><integer>6</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4186,7 +3924,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>215</integer>
+      <key>line</key><integer>205</integer>
       <key>col</key><integer>10</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4194,12 +3932,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>215</integer>
+         <key>line</key><integer>205</integer>
          <key>col</key><integer>10</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>215</integer>
+         <key>line</key><integer>205</integer>
          <key>col</key><integer>21</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4219,12 +3957,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>215</integer>
+           <key>line</key><integer>205</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>215</integer>
+           <key>line</key><integer>205</integer>
            <key>col</key><integer>6</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4232,12 +3970,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>216</integer>
+           <key>line</key><integer>206</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>216</integer>
+           <key>line</key><integer>206</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4249,7 +3987,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>232</integer>
+      <key>line</key><integer>222</integer>
       <key>col</key><integer>10</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4257,12 +3995,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>232</integer>
+         <key>line</key><integer>222</integer>
          <key>col</key><integer>10</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>232</integer>
+         <key>line</key><integer>222</integer>
          <key>col</key><integer>30</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4282,12 +4020,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>232</integer>
+           <key>line</key><integer>222</integer>
            <key>col</key><integer>10</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>232</integer>
+           <key>line</key><integer>222</integer>
            <key>col</key><integer>10</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4295,12 +4033,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>232</integer>
+           <key>line</key><integer>222</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>232</integer>
+           <key>line</key><integer>222</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4316,12 +4054,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>232</integer>
+           <key>line</key><integer>222</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>232</integer>
+           <key>line</key><integer>222</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4329,12 +4067,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>237</integer>
+           <key>line</key><integer>227</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>237</integer>
+           <key>line</key><integer>227</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4350,12 +4088,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>237</integer>
+           <key>line</key><integer>227</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>237</integer>
+           <key>line</key><integer>227</integer>
            <key>col</key><integer>4</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4363,12 +4101,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>237</integer>
+           <key>line</key><integer>227</integer>
            <key>col</key><integer>11</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>237</integer>
+           <key>line</key><integer>227</integer>
            <key>col</key><integer>11</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4380,7 +4118,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>237</integer>
+      <key>line</key><integer>227</integer>
       <key>col</key><integer>11</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4388,12 +4126,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>237</integer>
+         <key>line</key><integer>227</integer>
          <key>col</key><integer>11</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>237</integer>
+         <key>line</key><integer>227</integer>
          <key>col</key><integer>23</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4417,7 +4155,7 @@
   <key>issue_hash_function_offset</key><string>8</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>237</integer>
+   <key>line</key><integer>227</integer>
    <key>col</key><integer>11</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -4429,7 +4167,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>247</integer>
+      <key>line</key><integer>237</integer>
       <key>col</key><integer>22</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4437,12 +4175,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>247</integer>
+         <key>line</key><integer>237</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>247</integer>
+         <key>line</key><integer>237</integer>
          <key>col</key><integer>40</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4462,12 +4200,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>247</integer>
+           <key>line</key><integer>237</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>247</integer>
+           <key>line</key><integer>237</integer>
            <key>col</key><integer>11</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4475,12 +4213,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>248</integer>
+           <key>line</key><integer>238</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>248</integer>
+           <key>line</key><integer>238</integer>
            <key>col</key><integer>15</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4492,7 +4230,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>248</integer>
+      <key>line</key><integer>238</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4500,24 +4238,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>248</integer>
+         <key>line</key><integer>238</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>248</integer>
+         <key>line</key><integer>238</integer>
          <key>col</key><integer>23</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>248</integer>
+         <key>line</key><integer>238</integer>
          <key>col</key><integer>17</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>248</integer>
+         <key>line</key><integer>238</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4537,12 +4275,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>248</integer>
+           <key>line</key><integer>238</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>248</integer>
+           <key>line</key><integer>238</integer>
            <key>col</key><integer>15</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4550,12 +4288,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>249</integer>
+           <key>line</key><integer>239</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>249</integer>
+           <key>line</key><integer>239</integer>
            <key>col</key><integer>15</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4567,7 +4305,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>249</integer>
+      <key>line</key><integer>239</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4575,24 +4313,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>249</integer>
+         <key>line</key><integer>239</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>249</integer>
+         <key>line</key><integer>239</integer>
          <key>col</key><integer>23</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>249</integer>
+         <key>line</key><integer>239</integer>
          <key>col</key><integer>17</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>249</integer>
+         <key>line</key><integer>239</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4612,12 +4350,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>249</integer>
+           <key>line</key><integer>239</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>249</integer>
+           <key>line</key><integer>239</integer>
            <key>col</key><integer>15</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4625,12 +4363,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>250</integer>
+           <key>line</key><integer>240</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>250</integer>
+           <key>line</key><integer>240</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4642,7 +4380,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>250</integer>
+      <key>line</key><integer>240</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4650,12 +4388,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>250</integer>
+         <key>line</key><integer>240</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>250</integer>
+         <key>line</key><integer>240</integer>
          <key>col</key><integer>8</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4679,7 +4417,7 @@
   <key>issue_hash_function_offset</key><string>4</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>250</integer>
+   <key>line</key><integer>240</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -4691,7 +4429,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>254</integer>
+      <key>line</key><integer>244</integer>
       <key>col</key><integer>22</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4699,12 +4437,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>254</integer>
+         <key>line</key><integer>244</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>254</integer>
+         <key>line</key><integer>244</integer>
          <key>col</key><integer>37</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4724,12 +4462,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>254</integer>
+           <key>line</key><integer>244</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>254</integer>
+           <key>line</key><integer>244</integer>
            <key>col</key><integer>11</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4737,12 +4475,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>255</integer>
+           <key>line</key><integer>245</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>255</integer>
+           <key>line</key><integer>245</integer>
            <key>col</key><integer>15</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4754,7 +4492,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>255</integer>
+      <key>line</key><integer>245</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4762,24 +4500,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>255</integer>
+         <key>line</key><integer>245</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>255</integer>
+         <key>line</key><integer>245</integer>
          <key>col</key><integer>23</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>255</integer>
+         <key>line</key><integer>245</integer>
          <key>col</key><integer>17</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>255</integer>
+         <key>line</key><integer>245</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4799,12 +4537,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>255</integer>
+           <key>line</key><integer>245</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>255</integer>
+           <key>line</key><integer>245</integer>
            <key>col</key><integer>15</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4812,12 +4550,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>256</integer>
+           <key>line</key><integer>246</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>256</integer>
+           <key>line</key><integer>246</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4829,7 +4567,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>256</integer>
+      <key>line</key><integer>246</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4837,12 +4575,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>256</integer>
+         <key>line</key><integer>246</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>256</integer>
+         <key>line</key><integer>246</integer>
          <key>col</key><integer>8</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4866,7 +4604,7 @@
   <key>issue_hash_function_offset</key><string>3</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>256</integer>
+   <key>line</key><integer>246</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
@@ -4878,7 +4616,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>260</integer>
+      <key>line</key><integer>250</integer>
       <key>col</key><integer>22</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4886,12 +4624,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>260</integer>
+         <key>line</key><integer>250</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>260</integer>
+         <key>line</key><integer>250</integer>
          <key>col</key><integer>37</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4911,12 +4649,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>260</integer>
+           <key>line</key><integer>250</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>260</integer>
+           <key>line</key><integer>250</integer>
            <key>col</key><integer>11</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4924,12 +4662,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>261</integer>
+           <key>line</key><integer>251</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>261</integer>
+           <key>line</key><integer>251</integer>
            <key>col</key><integer>15</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4941,7 +4679,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>261</integer>
+      <key>line</key><integer>251</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -4949,24 +4687,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>261</integer>
+         <key>line</key><integer>251</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>261</integer>
+         <key>line</key><integer>251</integer>
          <key>col</key><integer>23</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>261</integer>
+         <key>line</key><integer>251</integer>
          <key>col</key><integer>17</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>261</integer>
+         <key>line</key><integer>251</integer>
          <key>col</key><integer>22</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -4986,12 +4724,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>261</integer>
+           <key>line</key><integer>251</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>261</integer>
+           <key>line</key><integer>251</integer>
            <key>col</key><integer>15</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -4999,12 +4737,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>262</integer>
+           <key>line</key><integer>252</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>262</integer>
+           <key>line</key><integer>252</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -5016,7 +4754,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>262</integer>
+      <key>line</key><integer>252</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -5024,24 +4762,24 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>262</integer>
+         <key>line</key><integer>252</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>262</integer>
+         <key>line</key><integer>252</integer>
          <key>col</key><integer>26</integer>
          <key>file</key><integer>0</integer>
         </dict>
        </array>
        <array>
         <dict>
-         <key>line</key><integer>262</integer>
+         <key>line</key><integer>252</integer>
          <key>col</key><integer>4</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>262</integer>
+         <key>line</key><integer>252</integer>
          <key>col</key><integer>13</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -5061,12 +4799,12 @@
         <key>start</key>
          <array>
           <dict>
-           <key>line</key><integer>262</integer>
+           <key>line</key><integer>252</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>262</integer>
+           <key>line</key><integer>252</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -5074,12 +4812,12 @@
         <key>end</key>
          <array>
           <dict>
-           <key>line</key><integer>263</integer>
+           <key>line</key><integer>253</integer>
            <key>col</key><integer>3</integer>
            <key>file</key><integer>0</integer>
           </dict>
           <dict>
-           <key>line</key><integer>263</integer>
+           <key>line</key><integer>253</integer>
            <key>col</key><integer>8</integer>
            <key>file</key><integer>0</integer>
           </dict>
@@ -5091,7 +4829,7 @@
      <key>kind</key><string>event</string>
      <key>location</key>
      <dict>
-      <key>line</key><integer>263</integer>
+      <key>line</key><integer>253</integer>
       <key>col</key><integer>3</integer>
       <key>file</key><integer>0</integer>
      </dict>
@@ -5099,12 +4837,12 @@
      <array>
        <array>
         <dict>
-         <key>line</key><integer>263</integer>
+         <key>line</key><integer>253</integer>
          <key>col</key><integer>3</integer>
          <key>file</key><integer>0</integer>
         </dict>
         <dict>
-         <key>line</key><integer>263</integer>
+         <key>line</key><integer>253</integer>
          <key>col</key><integer>8</integer>
          <key>file</key><integer>0</integer>
         </dict>
@@ -5128,11 +4866,11 @@
   <key>issue_hash_function_offset</key><string>4</string>
   <key>location</key>
   <dict>
-   <key>line</key><integer>263</integer>
+   <key>line</key><integer>253</integer>
    <key>col</key><integer>3</integer>
    <key>file</key><integer>0</integer>
   </dict>
   </dict>
  </array>
 </dict>
-</plist>
+</plist>
\ No newline at end of file

Removed: cfe/trunk/test/Analysis/PR2599.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/PR2599.m?rev=340090&view=auto
==============================================================================
--- cfe/trunk/test/Analysis/PR2599.m (original)
+++ cfe/trunk/test/Analysis/PR2599.m (removed)
@@ -1,63 +0,0 @@
-// RUN: %clang_analyze_cc1 -triple %itanium_abi_triple -analyzer-checker=core,osx.cocoa.RetainCount,alpha.core -analyzer-store=region -fobjc-gc -verify %s
-
-typedef const void * CFTypeRef;
-typedef const struct __CFString * CFStringRef;
-typedef const struct __CFAllocator * CFAllocatorRef;
-typedef const struct __CFDictionary * CFDictionaryRef;
-CFTypeRef CFMakeCollectable(CFTypeRef cf) ;
-extern CFStringRef CFStringCreateWithFormat(CFAllocatorRef alloc, CFDictionaryRef formatOptions, CFStringRef format, ...);
-typedef signed char BOOL;
-typedef unsigned int NSUInteger;
-typedef struct _NSZone NSZone;
- at class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
- at protocol NSObject
-- (BOOL)isEqual:(id)object;
-- (id)autorelease;
- at end
- at protocol NSCopying
-- (id)copyWithZone:(NSZone *)zone;
- at end  @protocol NSMutableCopying
-- (id)mutableCopyWithZone:(NSZone *)zone;
- at end
- at protocol
-NSCoding
-- (void)encodeWithCoder:(NSCoder *)aCoder;
- at end
- at interface NSObject <NSObject> {}
-- (id)init;
-+ (id)alloc;
- at end
-enum { NSASCIIStringEncoding = 1,     NSNEXTSTEPStringEncoding = 2,     NSJapaneseEUCStringEncoding = 3,     NSUTF8StringEncoding = 4,     NSISOLatin1StringEncoding = 5,     NSSymbolStringEncoding = 6,     NSNonLossyASCIIStringEncoding = 7,     NSShiftJISStringEncoding = 8,     NSISOLatin2StringEncoding = 9,     NSUnicodeStringEncoding = 10,     NSWindowsCP1251StringEncoding = 11,     NSWindowsCP1252StringEncoding = 12,     NSWindowsCP1253StringEncoding = 13,     NSWindowsCP1254StringEncoding = 14,     NSWindowsCP1250StringEncoding = 15,     NSISO2022JPStringEncoding = 21,     NSMacOSRomanStringEncoding = 30,      NSUTF16StringEncoding = NSUnicodeStringEncoding,       NSUTF16BigEndianStringEncoding = 0x90000100,     NSUTF16LittleEndianStringEncoding = 0x94000100,      NSUTF32StringEncoding = 0x8c000100,     NSUTF32BigEndianStringEncoding = 0x98000100,     NSUTF32LittleEndianStringEncoding = 0x9c000100  };
-typedef NSUInteger NSStringEncoding;
- at interface NSString : NSObject <NSCopying, NSMutableCopying, NSCoding>
-- (NSUInteger)length;
-- (id)initWithBytesNoCopy:(void *)bytes length:(NSUInteger)len encoding:(NSStringEncoding)encoding freeWhenDone:(BOOL)freeBuffer;
- at end
- at interface NSAutoreleasePool : NSObject {}
-- (void)drain;
- at end
-extern NSString * const NSXMLParserErrorDomain ;
-
-// The actual test case.  UTIL_AUTORELEASE_CF_AS_ID is a macro that doesn't
-// actually do what it was intended to.
-
-#define NSSTRINGWRAPPER(bytes,len) \
-  [[[NSString alloc] initWithBytesNoCopy: (void*)(bytes) length: (len) encoding: NSUTF8StringEncoding freeWhenDone: (BOOL)0] autorelease]
-
-#define UTIL_AUTORELEASE_CF_AS_ID(cf) ( (((void*)0) == (cf)) ? ((void*)0) : [(id) CFMakeCollectable( (CFTypeRef) cf) autorelease] )
-
-#define UTIL_AUTORELEASE_CF_AS_ID_WITHOUT_TEST(cf) ( [(id) CFMakeCollectable( (CFTypeRef) cf) autorelease] )
-
-static char *lorem = "fooBarBaz";
-
-void NSLog(NSString *, ...);
-
-int main (int argc, const char * argv[]) {
-  NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
-  NSString *tmp1 = NSSTRINGWRAPPER(lorem, 6); // no-warning
-  NSString *tmp2 = UTIL_AUTORELEASE_CF_AS_ID( CFStringCreateWithFormat(((void*)0), ((void*)0), ((CFStringRef) __builtin___CFStringMakeConstantString ("" "lorem: %@" "")), tmp1) );  // expected-warning 2 {{leak}}
-  NSString *tmp3 = UTIL_AUTORELEASE_CF_AS_ID_WITHOUT_TEST( CFStringCreateWithFormat(((void*)0), ((void*)0), ((CFStringRef) __builtin___CFStringMakeConstantString ("" "lorem: %@" "")), tmp1) );
-  NSLog(@"tmp2: %@ tmp3: %@", tmp2, tmp3);
-  [pool drain];
-  return 0;
-}

Removed: cfe/trunk/test/Analysis/retain-release-gc-only.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/retain-release-gc-only.m?rev=340090&view=auto
==============================================================================
--- cfe/trunk/test/Analysis/retain-release-gc-only.m (original)
+++ cfe/trunk/test/Analysis/retain-release-gc-only.m (removed)
@@ -1,434 +0,0 @@
-// RUN: %clang_analyze_cc1 -triple %itanium_abi_triple -analyzer-checker=core,osx.cocoa.RetainCount,osx.cocoa.NSAutoreleasePool -analyzer-store=region -fobjc-gc-only -fblocks -verify -Wno-objc-root-class %s
-
-//===----------------------------------------------------------------------===//
-// Header stuff.
-//===----------------------------------------------------------------------===//
-
-typedef unsigned int __darwin_natural_t;
-typedef unsigned long uintptr_t;
-typedef unsigned int uint32_t;
-typedef unsigned long long uint64_t;
-typedef unsigned int UInt32;
-typedef signed long CFIndex;
-typedef struct {
-    CFIndex location;
-    CFIndex length;
-} CFRange;
-static __inline__ __attribute__((always_inline)) CFRange CFRangeMake(CFIndex loc, CFIndex len) {
-    CFRange range;
-    range.location = loc;
-    range.length = len;
-    return range;
-}
-typedef const void * CFTypeRef;
-typedef const struct __CFString * CFStringRef;
-typedef const struct __CFAllocator * CFAllocatorRef;
-extern const CFAllocatorRef kCFAllocatorDefault;
-extern CFTypeRef CFRetain(CFTypeRef cf);
-extern void CFRelease(CFTypeRef cf);
-typedef struct {
-}
-CFArrayCallBacks;
-extern const CFArrayCallBacks kCFTypeArrayCallBacks;
-typedef const struct __CFArray * CFArrayRef;
-typedef struct __CFArray * CFMutableArrayRef;
-extern CFMutableArrayRef CFArrayCreateMutable(CFAllocatorRef allocator, CFIndex capacity, const CFArrayCallBacks *callBacks);
-extern const void *CFArrayGetValueAtIndex(CFArrayRef theArray, CFIndex idx);
-extern void CFArrayAppendValue(CFMutableArrayRef theArray, const void *value);
-typedef struct {
-}
-CFDictionaryKeyCallBacks;
-extern const CFDictionaryKeyCallBacks kCFTypeDictionaryKeyCallBacks;
-typedef struct {
-}
-CFDictionaryValueCallBacks;
-extern const CFDictionaryValueCallBacks kCFTypeDictionaryValueCallBacks;
-typedef const struct __CFDictionary * CFDictionaryRef;
-typedef struct __CFDictionary * CFMutableDictionaryRef;
-extern CFMutableDictionaryRef CFDictionaryCreateMutable(CFAllocatorRef allocator, CFIndex capacity, const CFDictionaryKeyCallBacks *keyCallBacks, const CFDictionaryValueCallBacks *valueCallBacks);
-typedef UInt32 CFStringEncoding;
-enum {
-kCFStringEncodingMacRoman = 0,     kCFStringEncodingWindowsLatin1 = 0x0500,     kCFStringEncodingISOLatin1 = 0x0201,     kCFStringEncodingNextStepLatin = 0x0B01,     kCFStringEncodingASCII = 0x0600,     kCFStringEncodingUnicode = 0x0100,     kCFStringEncodingUTF8 = 0x08000100,     kCFStringEncodingNonLossyASCII = 0x0BFF      ,     kCFStringEncodingUTF16 = 0x0100,     kCFStringEncodingUTF16BE = 0x10000100,     kCFStringEncodingUTF16LE = 0x14000100,      kCFStringEncodingUTF32 = 0x0c000100,     kCFStringEncodingUTF32BE = 0x18000100,     kCFStringEncodingUTF32LE = 0x1c000100  };
-extern CFStringRef CFStringCreateWithCString(CFAllocatorRef alloc, const char *cStr, CFStringEncoding encoding);
-typedef double CFTimeInterval;
-typedef CFTimeInterval CFAbsoluteTime;
-extern CFAbsoluteTime CFAbsoluteTimeGetCurrent(void);
-typedef const struct __CFDate * CFDateRef;
-extern CFDateRef CFDateCreate(CFAllocatorRef allocator, CFAbsoluteTime at);
-extern CFAbsoluteTime CFDateGetAbsoluteTime(CFDateRef theDate);
-typedef __darwin_natural_t natural_t;
-typedef natural_t mach_port_name_t;
-typedef mach_port_name_t mach_port_t;
-typedef int kern_return_t;
-typedef kern_return_t mach_error_t;
-enum {
-kCFNumberSInt8Type = 1,     kCFNumberSInt16Type = 2,     kCFNumberSInt32Type = 3,     kCFNumberSInt64Type = 4,     kCFNumberFloat32Type = 5,     kCFNumberFloat64Type = 6,      kCFNumberCharType = 7,     kCFNumberShortType = 8,     kCFNumberIntType = 9,     kCFNumberLongType = 10,     kCFNumberLongLongType = 11,     kCFNumberFloatType = 12,     kCFNumberDoubleType = 13,      kCFNumberCFIndexType = 14,      kCFNumberNSIntegerType = 15,     kCFNumberCGFloatType = 16,     kCFNumberMaxType = 16    };
-typedef CFIndex CFNumberType;
-typedef const struct __CFNumber * CFNumberRef;
-extern CFNumberRef CFNumberCreate(CFAllocatorRef allocator, CFNumberType theType, const void *valuePtr);
-typedef const struct __CFAttributedString *CFAttributedStringRef;
-typedef struct __CFAttributedString *CFMutableAttributedStringRef;
-extern CFAttributedStringRef CFAttributedStringCreate(CFAllocatorRef alloc, CFStringRef str, CFDictionaryRef attributes) ;
-extern CFMutableAttributedStringRef CFAttributedStringCreateMutableCopy(CFAllocatorRef alloc, CFIndex maxLength, CFAttributedStringRef aStr) ;
-extern void CFAttributedStringSetAttribute(CFMutableAttributedStringRef aStr, CFRange range, CFStringRef attrName, CFTypeRef value) ;
-typedef signed char BOOL;
-typedef unsigned long NSUInteger;
- at class NSString, Protocol;
-extern void NSLog(NSString *format, ...) __attribute__((format(__NSString__, 1, 2)));
-typedef struct _NSZone NSZone;
- at class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
- at protocol NSObject
-- (BOOL)isEqual:(id)object;
-- (id)retain;
-- (oneway void)release;
-- (id)autorelease;
-- (Class)class;
- at end  @protocol NSCopying  - (id)copyWithZone:(NSZone *)zone;
- at end  @protocol NSMutableCopying  - (id)mutableCopyWithZone:(NSZone *)zone;
- at end  @protocol NSCoding  - (void)encodeWithCoder:(NSCoder *)aCoder;
- at end
- at interface NSObject <NSObject> {}
-+ (id)allocWithZone:(NSZone *)zone;
-+ (id)alloc;
-- (void)dealloc;
-- (oneway void)release;
-- (id)copy;
- at end
- at interface NSObject (NSCoderMethods)
-- (id)awakeAfterUsingCoder:(NSCoder *)aDecoder;
- at end
-extern id NSAllocateObject(Class aClass, NSUInteger extraBytes, NSZone *zone);
-typedef struct {
-}
-NSFastEnumerationState;
- at protocol NSFastEnumeration  - (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len;
- at end           @class NSString, NSDictionary;
- at interface NSValue : NSObject <NSCopying, NSCoding>  - (void)getValue:(void *)value;
- at end  @interface NSNumber : NSValue  - (char)charValue;
-- (id)initWithInt:(int)value;
- at end   @class NSString;
- at interface NSArray : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration>
-- (NSUInteger)count;
- at end
- at interface NSArray (NSArrayCreation)
-+ (id)array;
-+ (id)arrayWithObjects:(const id [])objects count:(NSUInteger)cnt;
- at end
-       @interface NSAutoreleasePool : NSObject {
-}
-- (void)drain;
-- (id)init;
- at end extern NSString * const NSBundleDidLoadNotification;
-typedef double NSTimeInterval;
- at interface NSDate : NSObject <NSCopying, NSCoding>  - (NSTimeInterval)timeIntervalSinceReferenceDate;
- at end            typedef unsigned short unichar;
- at interface NSString : NSObject <NSCopying, NSMutableCopying, NSCoding>    - (NSUInteger)length;
-- ( const char *)UTF8String;
-- (id)initWithUTF8String:(const char *)nullTerminatedCString;
-+ (id)stringWithUTF8String:(const char *)nullTerminatedCString;
- at end        @class NSString, NSURL, NSError;
- at interface NSData : NSObject <NSCopying, NSMutableCopying, NSCoding>  - (NSUInteger)length;
-+ (id)dataWithBytesNoCopy:(void *)bytes length:(NSUInteger)length;
-+ (id)dataWithBytesNoCopy:(void *)bytes length:(NSUInteger)length freeWhenDone:(BOOL)b;
- at end   @class NSLocale, NSDate, NSCalendar, NSTimeZone, NSError, NSArray, NSMutableDictionary;
- at interface NSDictionary : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration>  - (NSUInteger)count;
- at end    @interface NSMutableDictionary : NSDictionary  - (void)removeObjectForKey:(id)aKey;
-- (void)setObject:(id)anObject forKey:(id)aKey;
- at end  @interface NSMutableDictionary (NSMutableDictionaryCreation)  + (id)dictionaryWithCapacity:(NSUInteger)numItems;
- at end  typedef double CGFloat;
-struct CGSize {
-};
-typedef struct CGSize CGSize;
-struct CGRect {
-};
-typedef struct CGRect CGRect;
-typedef mach_port_t io_object_t;
-typedef char io_name_t[128];
-typedef io_object_t io_iterator_t;
-typedef io_object_t io_service_t;
-typedef struct IONotificationPort * IONotificationPortRef;
-typedef void (*IOServiceMatchingCallback)(  void * refcon,  io_iterator_t iterator );
-io_service_t IOServiceGetMatchingService(  mach_port_t masterPort,  CFDictionaryRef matching );
-kern_return_t IOServiceGetMatchingServices(  mach_port_t masterPort,  CFDictionaryRef matching,  io_iterator_t * existing );
-kern_return_t IOServiceAddNotification(  mach_port_t masterPort,  const io_name_t notificationType,  CFDictionaryRef matching,  mach_port_t wakePort,  uintptr_t reference,  io_iterator_t * notification ) __attribute__((deprecated));
-kern_return_t IOServiceAddMatchingNotification(  IONotificationPortRef notifyPort,  const io_name_t notificationType,  CFDictionaryRef matching,         IOServiceMatchingCallback callback,         void * refCon,  io_iterator_t * notification );
-CFMutableDictionaryRef IOServiceMatching(  const char * name );
-CFMutableDictionaryRef IOServiceNameMatching(  const char * name );
-CFMutableDictionaryRef IOBSDNameMatching(  mach_port_t masterPort,  uint32_t options,  const char * bsdName );
-CFMutableDictionaryRef IOOpenFirmwarePathMatching(  mach_port_t masterPort,  uint32_t options,  const char * path );
-CFMutableDictionaryRef IORegistryEntryIDMatching(  uint64_t entryID );
-typedef struct __DASession * DASessionRef;
-extern DASessionRef DASessionCreate( CFAllocatorRef allocator );
-typedef struct __DADisk * DADiskRef;
-extern DADiskRef DADiskCreateFromBSDName( CFAllocatorRef allocator, DASessionRef session, const char * name );
-extern DADiskRef DADiskCreateFromIOMedia( CFAllocatorRef allocator, DASessionRef session, io_service_t media );
-extern CFDictionaryRef DADiskCopyDescription( DADiskRef disk );
-extern DADiskRef DADiskCopyWholeDisk( DADiskRef disk );
- at interface NSTask : NSObject - (id)init;
- at end                    typedef struct CGColorSpace *CGColorSpaceRef;
-typedef struct CGImage *CGImageRef;
-typedef struct CGLayer *CGLayerRef;
- at interface NSResponder : NSObject <NSCoding> {
-}
- at end    @protocol NSAnimatablePropertyContainer      - (id)animator;
- at end  extern NSString *NSAnimationTriggerOrderIn ;
- at interface NSView : NSResponder  <NSAnimatablePropertyContainer>  {
-}
- at end @protocol NSValidatedUserInterfaceItem - (SEL)action;
- at end   @protocol NSUserInterfaceValidations - (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)anItem;
- at end  @class NSDate, NSDictionary, NSError, NSException, NSNotification;
- at interface NSApplication : NSResponder <NSUserInterfaceValidations> {
-}
- at end   enum {
-NSTerminateCancel = 0,         NSTerminateNow = 1,         NSTerminateLater = 2 };
-typedef NSUInteger NSApplicationTerminateReply;
- at protocol NSApplicationDelegate <NSObject> @optional        - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
- at end  @class NSAttributedString, NSEvent, NSFont, NSFormatter, NSImage, NSMenu, NSText, NSView, NSTextView;
- at interface NSCell : NSObject <NSCopying, NSCoding> {
-}
- at end @class NSTextField, NSPanel, NSArray, NSWindow, NSImage, NSButton, NSError;
-typedef struct {
-}
-CVTimeStamp;
- at interface CIImage : NSObject <NSCoding, NSCopying> {
-}
-typedef int CIFormat;
- at end  enum {
-kDAReturnSuccess = 0,     kDAReturnError = (((0x3eU)&0x3f)<<26) | (((0x368)&0xfff)<<14) | 0x01,     kDAReturnBusy = (((0x3eU)&0x3f)<<26) | (((0x368)&0xfff)<<14) | 0x02,     kDAReturnBadArgument = (((0x3eU)&0x3f)<<26) | (((0x368)&0xfff)<<14) | 0x03,     kDAReturnExclusiveAccess = (((0x3eU)&0x3f)<<26) | (((0x368)&0xfff)<<14) | 0x04,     kDAReturnNoResources = (((0x3eU)&0x3f)<<26) | (((0x368)&0xfff)<<14) | 0x05,     kDAReturnNotFound = (((0x3eU)&0x3f)<<26) | (((0x368)&0xfff)<<14) | 0x06,     kDAReturnNotMounted = (((0x3eU)&0x3f)<<26) | (((0x368)&0xfff)<<14) | 0x07,     kDAReturnNotPermitted = (((0x3eU)&0x3f)<<26) | (((0x368)&0xfff)<<14) | 0x08,     kDAReturnNotPrivileged = (((0x3eU)&0x3f)<<26) | (((0x368)&0xfff)<<14) | 0x09,     kDAReturnNotReady = (((0x3eU)&0x3f)<<26) | (((0x368)&0xfff)<<14) | 0x0A,     kDAReturnNotWritable = (((0x3eU)&0x3f)<<26) | (((0x368)&0xfff)<<14) | 0x0B,     kDAReturnUnsupported = (((0x3eU)&0x3f)<<26) | (((0x368)&0xfff)<<14) | 0x0C };
-typedef mach_error_t DAReturn;
-typedef const struct __DADissenter * DADissenterRef;
-extern DADissenterRef DADissenterCreate( CFAllocatorRef allocator, DAReturn status, CFStringRef string );
- at interface CIContext: NSObject {
-}
-- (CGImageRef)createCGImage:(CIImage *)im fromRect:(CGRect)r;
-- (CGImageRef)createCGImage:(CIImage *)im fromRect:(CGRect)r     format:(CIFormat)f colorSpace:(CGColorSpaceRef)cs;
-- (CGLayerRef)createCGLayerWithSize:(CGSize)size info:(CFDictionaryRef)d;
- at end extern NSString* const QCRendererEventKey;
- at protocol QCCompositionRenderer - (NSDictionary*) attributes;
- at end   @interface QCRenderer : NSObject <QCCompositionRenderer> {
-}
-- (id) createSnapshotImageOfType:(NSString*)type;
- at end  extern NSString* const QCViewDidStartRenderingNotification;
- at interface QCView : NSView <QCCompositionRenderer> {
-}
-- (id) createSnapshotImageOfType:(NSString*)type;
- at end    enum {
-ICEXIFOrientation1 = 1,     ICEXIFOrientation2 = 2,     ICEXIFOrientation3 = 3,     ICEXIFOrientation4 = 4,     ICEXIFOrientation5 = 5,     ICEXIFOrientation6 = 6,     ICEXIFOrientation7 = 7,     ICEXIFOrientation8 = 8, };
- at class ICDevice;
- at protocol ICDeviceDelegate <NSObject>  @required      - (void)didRemoveDevice:(ICDevice*)device;
- at end extern NSString *const ICScannerStatusWarmingUp;
- at class ICScannerDevice;
- at protocol ICScannerDeviceDelegate <ICDeviceDelegate>  @optional       - (void)scannerDeviceDidBecomeAvailable:(ICScannerDevice*)scanner;
- at end
-CFTypeRef CFMakeCollectable(CFTypeRef cf) ;
-
-static __inline__ __attribute__((always_inline)) id NSMakeCollectable(CFTypeRef 
-cf) {
-    return cf ? (id)CFMakeCollectable(cf) : ((void*)0);
-}
-
-//===----------------------------------------------------------------------===//
-// Test cases.
-//===----------------------------------------------------------------------===//
-
-void f1() {
-  CFMutableArrayRef A = CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks); // no-warning
-  id x = [(id) A autorelease];
-  CFRelease((CFMutableArrayRef) x);
-}
-
-void f2() {
-  CFMutableArrayRef A = CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks); // expected-warning{{leak}}
-  id x = [(id) A retain];
-  [x release];
-  [x release];
-}
-
-void f3() {
-  CFMutableArrayRef A = CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks); // expected-warning{{leak}}
-  CFMakeCollectable(A);
-  CFRetain(A);
-}
-
-void f3b() {
-  CFMutableArrayRef A = CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks); // no-warning
-  CFMakeCollectable(A);
-}
-
-
-void f4() {
-  CFMutableArrayRef A = CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks); // expected-warning{{leak}}
-  NSMakeCollectable(A);
-  CFRetain(A);
-}
-
-void f4b() {
-  CFMutableArrayRef A = CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks); // no-warning
-  NSMakeCollectable(A);
-}
-
-void f5() {
-  id x = [NSMakeCollectable(CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks)) autorelease]; // no-warning
-}
-
-void f5b() {
-  id x = [(id) CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks) autorelease]; // expected-warning{{leak}}
-}
-
-// Test return of non-owned objects in contexts where an owned object
-// is expected.
- at interface TestReturnNotOwnedWhenExpectedOwned
-- (NSString*)newString;
-- (CFMutableArrayRef)newArray;
- at end
-
- at implementation TestReturnNotOwnedWhenExpectedOwned
-- (NSString*)newString {
-  NSString *s = [NSString stringWithUTF8String:"hello"]; // expected-warning{{Potential leak (when using garbage collection) of an object}}
-  CFRetain(s);
-  return s;
-}
-- (CFMutableArrayRef)newArray{
-   return CFArrayCreateMutable(0, 10, &kCFTypeArrayCallBacks); // no-warning
-}
- at end
-
-//===----------------------------------------------------------------------===//
-// <rdar://problem/6948053> False positive: object substitution during -init*
-//   methods warns about returning +0 when using -fobjc-gc-only
-//===----------------------------------------------------------------------===//
-
- at interface MyClassRdar6948053 : NSObject
-- (id) init;
-+ (id) shared;
- at end
-
- at implementation MyClassRdar6948053
-+(id) shared {
-  return (id) 0;
-}
-- (id) init
-{
-  Class myClass = [self class];  
-  [self release];
-  return [[myClass shared] retain]; // no-warning
-}
- at end
-
-//===----------------------------------------------------------------------===//
-// <rdar://problem/7174400> 'ciContext createCGImage:outputImage fromRect:' returns a retained CF object (not GC'ed)//===----------------------------------------------------------------------===//
-//===----------------------------------------------------------------------===//
-
-void rdar_7174400(QCView *view, QCRenderer *renderer, CIContext *context,
-                  NSString *str, CIImage *img, CGRect rect,
-                  CIFormat form, CGColorSpaceRef cs) {
-  [view createSnapshotImageOfType:str]; // no-warning
-  [renderer createSnapshotImageOfType:str]; // no-warning
-  [context createCGImage:img fromRect:rect]; // expected-warning{{leak}}
-  [context createCGImage:img fromRect:rect format:form colorSpace:cs]; // expected-warning{{leak}}
-}
-
-//===----------------------------------------------------------------------===//
-// <rdar://problem/6250216> Warn against using -[NSAutoreleasePool release] in 
-//  GC mode
-//===----------------------------------------------------------------------===//
-
-void rdar_6250216(void) {
-    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
-    [pool release]; // expected-warning{{Use -drain instead of -release when using NSAutoreleasePool and garbage collection}}
-}
-
-
-//===----------------------------------------------------------------------===//
-// <rdar://problem/7407273> Don't crash when analyzing messages sent to blocks
-//===----------------------------------------------------------------------===//
-
- at class RDar7407273;
-typedef void (^RDar7407273Block)(RDar7407273 *operation);
-void rdar7407273(RDar7407273Block b) {
-  [b copy];
-}
-
-//===----------------------------------------------------------------------===//
-// Tests of ownership attributes.
-//===----------------------------------------------------------------------===//
-
- at interface TestOwnershipAttr : NSObject
-- (NSString*) returnsAnOwnedString __attribute__((ns_returns_retained));
-- (NSString*) returnsAnOwnedCFString  __attribute__((cf_returns_retained));
- at end
-
-void test_attr_1(TestOwnershipAttr *X) {
-  NSString *str = [X returnsAnOwnedString]; // no-warning
-}
-
-void test_attr_1b(TestOwnershipAttr *X) {
-  NSString *str = [X returnsAnOwnedCFString]; // expected-warning{{leak}}
-}
-
- at interface MyClassTestCFAttr : NSObject {}
-- (NSDate*) returnsCFRetained __attribute__((cf_returns_retained));
-- (NSDate*) alsoReturnsRetained;
-- (NSDate*) returnsNSRetained __attribute__((ns_returns_retained));
- at end
-
-__attribute__((cf_returns_retained))
-CFDateRef returnsRetainedCFDate()  {
-  return CFDateCreate(0, CFAbsoluteTimeGetCurrent());
-}
-
- at implementation MyClassTestCFAttr
-- (NSDate*) returnsCFRetained {
-  return (NSDate*) returnsRetainedCFDate(); // No leak.
-}
-
-- (NSDate*) alsoReturnsRetained {
-  return (NSDate*) returnsRetainedCFDate(); // expected-warning{{leak}}
-}
-
-- (NSDate*) returnsNSRetained {
-  return (NSDate*) returnsRetainedCFDate(); // expected-warning{{leak}}
-}
- at end
-
-
-#if __has_feature(attribute_ns_consumed)
-#define NS_CONSUMED __attribute__((ns_consumed))
-#endif
-#if __has_feature(attribute_cf_consumed)
-#define CF_CONSUMED __attribute__((cf_consumed))
-#endif
-
-void consumeAndStopTracking(id NS_CONSUMED obj, void (^callback)(void));
-void CFConsumeAndStopTracking(CFTypeRef CF_CONSUMED obj, void (^callback)(void));
-
-void testConsumeAndStopTracking() {
-  id retained = [@[] retain]; // +0, GC
-  consumeAndStopTracking(retained, ^{}); // no-warning
-
-  id doubleRetained = [[@[] retain] retain]; // +0, GC
-  consumeAndStopTracking(doubleRetained, ^{
-    [doubleRetained release];
-  }); // no-warning
-
-  id unretained = @[]; // +0
-  consumeAndStopTracking(unretained, ^{}); // no-warning, GC
-}
-
-void testCFConsumeAndStopTrackingMsg() {
-  id retained = [@[] retain]; // +0, GC
-  CFConsumeAndStopTracking((CFTypeRef)retained, ^{}); // expected-warning {{Incorrect decrement of the reference count of an object that is not owned at this point by the caller}}
-}
-
-void testCFConsumeAndStopTracking() {
-  CFTypeRef retained = returnsRetainedCFDate(); // +1
-  CFConsumeAndStopTracking(retained, ^{}); // no-warning
-
-  CFTypeRef doubleRetained = CFRetain(returnsRetainedCFDate()); // +2
-  CFConsumeAndStopTracking(doubleRetained, ^{
-    CFRelease(doubleRetained);
-  }); // no-warning
-
-  id unretained = @[]; // +0
-  CFConsumeAndStopTracking((CFTypeRef)unretained, ^{}); // expected-warning {{Incorrect decrement of the reference count of an object that is not owned at this point by the caller}}
-}

Removed: cfe/trunk/test/Analysis/retain-release-path-notes-gc.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/retain-release-path-notes-gc.m?rev=340090&view=auto
==============================================================================
--- cfe/trunk/test/Analysis/retain-release-path-notes-gc.m (original)
+++ cfe/trunk/test/Analysis/retain-release-path-notes-gc.m (removed)
@@ -1,75 +0,0 @@
-// RUN: %clang_analyze_cc1 -triple x86_64-apple-darwin10 -analyzer-checker=core,osx.coreFoundation.CFRetainRelease,osx.cocoa.ClassRelease,osx.cocoa.RetainCount -analyzer-store=region -fobjc-gc-only -analyzer-output=text -verify %s
-// RUN: %clang_analyze_cc1 -triple x86_64-apple-darwin10 -analyzer-checker=core,osx.coreFoundation.CFRetainRelease,osx.cocoa.ClassRelease,osx.cocoa.RetainCount -analyzer-store=region -fobjc-gc-only -analyzer-output=plist-multi-file %s -o %t.plist
-// RUN: tail -n +11 %t.plist | diff -u -w - %S/Inputs/expected-plists/retain-release-path-notes-gc.m.plist
-
-/***
-This file is for testing the path-sensitive notes for retain/release errors.
-Its goal is to have simple branch coverage of any path-based diagnostics,
-not to actually check all possible retain/release errors.
-
-This file is for notes that only appear in a GC-enabled analysis. 
-Non-specific and ref-count-only notes should go in retain-release-path-notes.m.
-***/
-
- at interface NSObject
-+ (id)alloc;
-- (id)init;
-- (void)dealloc;
-
-- (Class)class;
-
-- (id)retain;
-- (void)release;
-- (void)autorelease;
- at end
-
- at interface Foo : NSObject
-- (id)methodWithValue;
- at property(retain) id propertyValue;
- at end
-
-typedef struct CFType *CFTypeRef;
-CFTypeRef CFRetain(CFTypeRef);
-void CFRelease(CFTypeRef);
-
-id NSMakeCollectable(CFTypeRef);
-CFTypeRef CFMakeCollectable(CFTypeRef);
-
-CFTypeRef CFCreateSomething();
-CFTypeRef CFGetSomething();
-
-
-void creationViaCFCreate () {
-  CFTypeRef leaked = CFCreateSomething(); // expected-note{{Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count.  Core Foundation objects are not automatically garbage collected}}
-  return; // expected-warning{{leak}} expected-note{{Object leaked: object allocated and stored into 'leaked' is not referenced later in this execution path and has a retain count of +1}}
-}
-
-void makeCollectable () {
-  CFTypeRef leaked = CFCreateSomething(); // expected-note{{Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count.  Core Foundation objects are not automatically garbage collected}}
-  CFRetain(leaked); // expected-note{{Reference count incremented. The object now has a +2 retain count}}
-  CFMakeCollectable(leaked); // expected-note{{In GC mode a call to 'CFMakeCollectable' decrements an object's retain count and registers the object with the garbage collector. An object must have a 0 retain count to be garbage collected. After this call its retain count is +1}}
-  NSMakeCollectable(leaked); // expected-note{{In GC mode a call to 'NSMakeCollectable' decrements an object's retain count and registers the object with the garbage collector. Since it now has a 0 retain count the object can be automatically collected by the garbage collector}}
-  CFRetain(leaked); // expected-note{{Reference count incremented. The object now has a +1 retain count. The object is not eligible for garbage collection until the retain count reaches 0 again}}
-  return; // expected-warning{{leak}} expected-note{{Object leaked: object allocated and stored into 'leaked' is not referenced later in this execution path and has a retain count of +1}}
-}
-
-void retainReleaseIgnored () {
-  id object = [[NSObject alloc] init]; // expected-note{{Method returns an instance of NSObject with a +0 retain count}}
-  [object retain]; // expected-note{{In GC mode the 'retain' message has no effect}}
-  [object release]; // expected-note{{In GC mode the 'release' message has no effect}}
-  [object autorelease]; // expected-note{{In GC mode an 'autorelease' has no effect}}
-  CFRelease((CFTypeRef)object); // expected-warning{{Incorrect decrement of the reference count of an object that is not owned at this point by the caller}} expected-note{{Incorrect decrement of the reference count of an object that is not owned at this point by the caller}}
-}
-
- at implementation Foo (FundamentalRuleUnderGC)
-- (id)getViolation {
-  id object = (id) CFCreateSomething(); // expected-note{{Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count.  Core Foundation objects are not automatically garbage collected}}
-  return object; // expected-warning{{leak}} expected-note{{Object returned to caller as an owning reference (single retain count transferred to caller)}} expected-note{{Object leaked: object allocated and stored into 'object' and returned from method 'getViolation' is potentially leaked when using garbage collection.  Callers of this method do not expect a returned object with a +1 retain count since they expect the object to be managed by the garbage collector}}
-}
-
-- (id)copyViolation {
-  id object = (id) CFCreateSomething(); // expected-note{{Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count.  Core Foundation objects are not automatically garbage collected}}
-  return object; // expected-warning{{leak}} expected-note{{Object returned to caller as an owning reference (single retain count transferred to caller)}} expected-note{{Object leaked: object allocated and stored into 'object' and returned from method 'copyViolation' is potentially leaked when using garbage collection.  Callers of this method do not expect a returned object with a +1 retain count since they expect the object to be managed by the garbage collector}}
-}
- at end
-

Modified: cfe/trunk/test/Analysis/retain-release-path-notes.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/retain-release-path-notes.m?rev=340091&r1=340090&r2=340091&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/retain-release-path-notes.m (original)
+++ cfe/trunk/test/Analysis/retain-release-path-notes.m Fri Aug 17 14:40:38 2018
@@ -36,9 +36,6 @@ CFTypeRef CFRetain(CFTypeRef);
 void CFRelease(CFTypeRef);
 CFTypeRef CFAutorelease(CFTypeRef __attribute__((cf_consumed)));
 
-id NSMakeCollectable(CFTypeRef);
-CFTypeRef CFMakeCollectable(CFTypeRef);
-
 CFTypeRef CFCreateSomething();
 CFTypeRef CFGetSomething();
 
@@ -98,13 +95,6 @@ void autoreleaseUnowned (Foo *foo) {
   return; // expected-warning{{Object autoreleased too many times}} expected-note{{Object was autoreleased but has a +0 retain count}}
 }
 
-void makeCollectableIgnored () {
-  CFTypeRef leaked = CFCreateSomething(); // expected-note{{Call to function 'CFCreateSomething' returns a Core Foundation object of type CFTypeRef with a +1 retain count}}
-  CFMakeCollectable(leaked); // expected-note{{When GC is not enabled a call to 'CFMakeCollectable' has no effect on its argument}}
-  NSMakeCollectable(leaked); // expected-note{{When GC is not enabled a call to 'NSMakeCollectable' has no effect on its argument}}
-  return; // expected-warning{{leak}} expected-note{{Object leaked: object allocated and stored into 'leaked' is not referenced later in this execution path and has a retain count of +1}}
-}
-
 CFTypeRef CFCopyRuleViolation () {
   CFTypeRef object = CFGetSomething(); // expected-note{{Call to function 'CFGetSomething' returns a Core Foundation object of type CFTypeRef with a +0 retain count}}
   return object; // expected-warning{{Object with a +0 retain count returned to caller where a +1 (owning) retain count is expected}} expected-note{{Object returned to caller with a +0 retain count}} expected-note{{Object with a +0 retain count returned to caller where a +1 (owning) retain count is expected}}

Modified: cfe/trunk/test/Analysis/retain-release.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/retain-release.m?rev=340091&r1=340090&r2=340091&view=diff
==============================================================================
--- cfe/trunk/test/Analysis/retain-release.m (original)
+++ cfe/trunk/test/Analysis/retain-release.m Fri Aug 17 14:40:38 2018
@@ -318,9 +318,6 @@ extern CGColorSpaceRef CGColorSpaceCreat
 + (id)array;
 @end
 
-// This is how NSMakeCollectable is declared in the OS X 10.8 headers.
-id NSMakeCollectable(CFTypeRef __attribute__((cf_consumed))) __attribute__((ns_returns_retained));
-
 typedef const struct __CFUUID * CFUUIDRef;
 
 extern
@@ -2076,17 +2073,6 @@ void rdar11400885(int y)
   }
 }
 
-id makeCollectableNonLeak() {
-  extern CFTypeRef CFCreateSomething();
-
-  CFTypeRef object = CFCreateSomething(); // +1
-  CFRetain(object); // +2
-  id objCObject = NSMakeCollectable(object); // +2
-  [objCObject release]; // +1
-  return [objCObject autorelease]; // +0
-}
-
-
 void consumeAndStopTracking(id NS_CONSUMED obj, void (^callback)(void));
 void CFConsumeAndStopTracking(CFTypeRef CF_CONSUMED obj, void (^callback)(void));
 




More information about the cfe-commits mailing list