1//===--- StmtPrinter.cpp - Printing implementation for Stmt ASTs ----------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 695 unchanged lines hidden (view full) --- 704 OS << (Node->isArrow() ? "->" : "."); 705 } 706 OS << *Node->getDecl(); 707} 708 709void StmtPrinter::VisitObjCPropertyRefExpr(ObjCPropertyRefExpr *Node) { 710 if (Node->isSuperReceiver()) 711 OS << "super."; |
712 else if (Node->isObjectReceiver() && Node->getBase()) { |
713 PrintExpr(Node->getBase()); 714 OS << "."; |
715 } else if (Node->isClassReceiver() && Node->getClassReceiver()) { 716 OS << Node->getClassReceiver()->getName() << "."; |
717 } 718 719 if (Node->isImplicitProperty()) 720 OS << Node->getImplicitPropertyGetter()->getSelector().getAsString(); 721 else 722 OS << Node->getExplicitProperty()->getName(); 723} 724 --- 1289 unchanged lines hidden --- |