summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/StmtDumper.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2008-09-03 00:27:26 +0000
committerDaniel Dunbar <daniel@zuster.org>2008-09-03 00:27:26 +0000
commitc5d330400fd473e709f42036080bba7a4b7e48a8 (patch)
treed7dae2cebd03b8c1966f8d4736357839116a502d /clang/lib/AST/StmtDumper.cpp
parentb530f0812222f25395a841d145cdae785844f52f (diff)
downloadbcm5719-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.cpp13
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());
}
}
OpenPOWER on IntegriCloud