diff options
Diffstat (limited to 'clang/lib/ARCMigrate')
| -rw-r--r-- | clang/lib/ARCMigrate/ObjCMT.cpp | 24 | 
1 files changed, 23 insertions, 1 deletions
| diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp index 46d538e6327..b521b560263 100644 --- a/clang/lib/ARCMigrate/ObjCMT.cpp +++ b/clang/lib/ARCMigrate/ObjCMT.cpp @@ -24,6 +24,7 @@  #include "clang/Lex/PPConditionalDirectiveRecord.h"  #include "clang/Lex/Preprocessor.h"  #include "clang/Rewrite/Core/Rewriter.h" +#include "clang/AST/Attr.h"  #include "llvm/ADT/SmallString.h"  using namespace clang; @@ -44,7 +45,10 @@ class ObjCMigrateASTConsumer : public ASTConsumer {    void migrateFactoryMethod(ASTContext &Ctx, ObjCContainerDecl *CDecl,                              ObjCMethodDecl *OM,                              ObjCInstanceTypeFamily OIT_Family = OIT_None); - +   +  void migrateFunctionDeclAnnotation(ASTContext &Ctx, FunctionDecl *FuncDecl); +   +  void migrateObjCMethodDeclAnnotation(ASTContext &Ctx, ObjCMethodDecl *MethodDecl);  public:    std::string MigrateDir;    bool MigrateLiterals; @@ -739,6 +743,24 @@ void ObjCMigrateASTConsumer::migrateFactoryMethod(ASTContext &Ctx,    ReplaceWithInstancetype(*this, OM);  } +void ObjCMigrateASTConsumer::migrateFunctionDeclAnnotation( +                                                ASTContext &Ctx, +                                                FunctionDecl *FuncDecl) { +  if (FuncDecl->hasAttr<CFAuditedTransferAttr>() || +      FuncDecl->getAttr<CFReturnsRetainedAttr>() || +      FuncDecl->getAttr<CFReturnsNotRetainedAttr>()) +    return; +} + +void ObjCMigrateASTConsumer::migrateObjCMethodDeclAnnotation( +                                            ASTContext &Ctx, +                                            ObjCMethodDecl *MethodDecl) { +  if (MethodDecl->hasAttr<CFAuditedTransferAttr>() || +      MethodDecl->getAttr<CFReturnsRetainedAttr>() || +      MethodDecl->getAttr<CFReturnsNotRetainedAttr>()) +    return; +} +  namespace {  class RewritesReceiver : public edit::EditsReceiver { | 

