summaryrefslogtreecommitdiffstats
path: root/clang/Driver/RewriteTest.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2007-11-14 00:42:16 +0000
committerFariborz Jahanian <fjahanian@apple.com>2007-11-14 00:42:16 +0000
commitda6165c3dc83e40d66edd20e5da39e40c4d087af (patch)
treee52d40e9af92f835654e73d6837fa46971aa9ceb /clang/Driver/RewriteTest.cpp
parent164faf98f3a0cdab18053c23d245c65fe7a28b8a (diff)
downloadbcm5719-llvm-da6165c3dc83e40d66edd20e5da39e40c4d087af.tar.gz
bcm5719-llvm-da6165c3dc83e40d66edd20e5da39e40c4d087af.zip
Rewrite of forward protocol declaration.
llvm-svn: 44095
Diffstat (limited to 'clang/Driver/RewriteTest.cpp')
-rw-r--r--clang/Driver/RewriteTest.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/Driver/RewriteTest.cpp b/clang/Driver/RewriteTest.cpp
index 9e17a6ef8cd..cd1e994bbfe 100644
--- a/clang/Driver/RewriteTest.cpp
+++ b/clang/Driver/RewriteTest.cpp
@@ -91,6 +91,7 @@ namespace {
void RewriteObjcMethodDecl(ObjcMethodDecl *MDecl, std::string &ResultStr);
void RewriteCategoryDecl(ObjcCategoryDecl *Dcl);
void RewriteProtocolDecl(ObjcProtocolDecl *Dcl);
+ void RewriteForwardProtocolDecl(ObjcForwardProtocolDecl *Dcl);
void RewriteMethodDeclarations(int nMethods, ObjcMethodDecl **Methods);
void RewriteProperties(int nProperties, ObjcPropertyDecl **Properties);
void RewriteFunctionDecl(FunctionDecl *FD);
@@ -173,6 +174,9 @@ void RewriteTest::HandleTopLevelDecl(Decl *D) {
RewriteCategoryDecl(CD);
} else if (ObjcProtocolDecl *PD = dyn_cast<ObjcProtocolDecl>(D)) {
RewriteProtocolDecl(PD);
+ } else if (ObjcForwardProtocolDecl *FP =
+ dyn_cast<ObjcForwardProtocolDecl>(D)){
+ RewriteForwardProtocolDecl(FP);
}
// If we have a decl in the main file, see if we should rewrite it.
if (SM->getDecomposedFileLoc(Loc).first == MainFileID)
@@ -380,6 +384,12 @@ void RewriteTest::RewriteProtocolDecl(ObjcProtocolDecl *PDecl) {
Rewrite.ReplaceText(PDecl->getAtEndLoc(), 0, "// ", 3);
}
+void RewriteTest::RewriteForwardProtocolDecl(ObjcForwardProtocolDecl *PDecl) {
+ SourceLocation LocStart = PDecl->getLocation();
+ // FIXME: handle forward protocol that are declared across multiple lines.
+ Rewrite.ReplaceText(LocStart, 0, "// ", 3);
+}
+
void RewriteTest::RewriteObjcMethodDecl(ObjcMethodDecl *OMD,
std::string &ResultStr) {
static bool includeObjc = false;
OpenPOWER on IntegriCloud