diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2008-09-03 00:27:26 +0000 | 
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2008-09-03 00:27:26 +0000 | 
| commit | c5d330400fd473e709f42036080bba7a4b7e48a8 (patch) | |
| tree | d7dae2cebd03b8c1966f8d4736357839116a502d /clang/lib/AST/StmtDumper.cpp | |
| parent | b530f0812222f25395a841d145cdae785844f52f (diff) | |
| download | bcm5719-llvm-c5d330400fd473e709f42036080bba7a4b7e48a8.tar.gz bcm5719-llvm-c5d330400fd473e709f42036080bba7a4b7e48a8.zip  | |
Fix ObjCPropertRefExpr to be able to encode all the information for
uses which refer to methods not properties.
 - Not yet wired in Sema.
llvm-svn: 55681
Diffstat (limited to 'clang/lib/AST/StmtDumper.cpp')
| -rw-r--r-- | clang/lib/AST/StmtDumper.cpp | 13 | 
1 files changed, 8 insertions, 5 deletions
diff --git a/clang/lib/AST/StmtDumper.cpp b/clang/lib/AST/StmtDumper.cpp index af19b61cd64..a0af132bc40 100644 --- a/clang/lib/AST/StmtDumper.cpp +++ b/clang/lib/AST/StmtDumper.cpp @@ -453,12 +453,15 @@ void StmtDumper::VisitObjCProtocolExpr(ObjCProtocolExpr *Node) {  void StmtDumper::VisitObjCPropertyRefExpr(ObjCPropertyRefExpr *Node) {    DumpExpr(Node); -   -  if (ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(Node->getDecl())) { -    fprintf(F, " MethodDecl=\"%s\"", MD->getSelector().getName().c_str()); + +  if (Node->getKind() == ObjCPropertyRefExpr::MethodRef) { +    ObjCMethodDecl *Getter = Node->getGetterMethod(); +    ObjCMethodDecl *Setter = Node->getSetterMethod(); +    fprintf(F, " Kind=MethodRef Getter=\"%s\" Setter=\"%s\"",  +            Getter->getSelector().getName().c_str(), +            Setter ? Setter->getSelector().getName().c_str() : "(null)");    } else { -    ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(Node->getDecl()); -    fprintf(F, " PropertyDecl=\"%s\"", PD->getName()); +    fprintf(F, " Kind=PropertyRef Property=\"%s\"", Node->getProperty()->getName());    }  }  | 

