From c5d330400fd473e709f42036080bba7a4b7e48a8 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Wed, 3 Sep 2008 00:27:26 +0000 Subject: 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 --- clang/lib/AST/StmtDumper.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'clang/lib/AST/StmtDumper.cpp') 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(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(Node->getDecl()); - fprintf(F, " PropertyDecl=\"%s\"", PD->getName()); + fprintf(F, " Kind=PropertyRef Property=\"%s\"", Node->getProperty()->getName()); } } -- cgit v1.2.3