//===--- TransARCAssign.cpp - Transformations to ARC mode -----------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // makeAssignARCSafe: // // Add '__strong' where appropriate. // // for (id x in collection) { // x = 0; // } // ----> // for (__strong id x in collection) { // x = 0; // } // //===----------------------------------------------------------------------===// #include "Transforms.h" #include "Internals.h" #include "clang/AST/ASTContext.h" #include "clang/Sema/SemaDiagnostic.h" usingnamespaceclang; usingnamespacearcmt; usingnamespacetrans; namespace { class ARCAssignChecker : public RecursiveASTVisitor<ARCAssignChecker> { … }; } // anonymous namespace void trans::makeAssignARCSafe(MigrationPass &pass) { … }