From: Fariborz Jahanian Date: Wed, 7 Nov 2007 00:09:37 +0000 (+0000) Subject: Rewrite for properties. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=957cf65bf32fe7c84886a2296d0b4ede40029850;p=clang Rewrite for properties. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43791 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/Driver/RewriteTest.cpp b/Driver/RewriteTest.cpp index e79d830e01..fa4a369f17 100644 --- a/Driver/RewriteTest.cpp +++ b/Driver/RewriteTest.cpp @@ -80,6 +80,7 @@ namespace { void RewriteCategoryDecl(ObjcCategoryDecl *Dcl); void RewriteProtocolDecl(ObjcProtocolDecl *Dcl); void RewriteMethods(int nMethods, ObjcMethodDecl **Methods); + void RewriteProperties(int nProperties, ObjcPropertyDecl **Properties); void RewriteFunctionDecl(FunctionDecl *FD); void RewriteObjcQualifiedInterfaceTypes( const FunctionTypeProto *proto, FunctionDecl *FD); @@ -311,6 +312,18 @@ void RewriteTest::RewriteMethods(int nMethods, ObjcMethodDecl **Methods) { } } +void RewriteTest::RewriteProperties(int nProperties, ObjcPropertyDecl **Properties) +{ + for (int i = 0; i < nProperties; i++) { + ObjcPropertyDecl *Property = Properties[i]; + SourceLocation Loc = Property->getLocation(); + + Rewrite.ReplaceText(Loc, 0, "// ", 3); + + // FIXME: handle properties that are declared across multiple lines. + } +} + void RewriteTest::RewriteCategoryDecl(ObjcCategoryDecl *CatDecl) { SourceLocation LocStart = CatDecl->getLocStart(); @@ -363,7 +376,8 @@ void RewriteTest::RewriteInterfaceDecl(ObjcInterfaceDecl *ClassDecl) { Rewrite.ReplaceText(LocStart, endBuf-startBuf, ResultStr.c_str(), ResultStr.size()); - + RewriteProperties(ClassDecl->getNumPropertyDecl(), + ClassDecl->getPropertyDecl()); RewriteMethods(ClassDecl->getNumInstanceMethods(), ClassDecl->getInstanceMethods()); RewriteMethods(ClassDecl->getNumClassMethods(),