Add a print method to the ObjC property object.

llvm-svn: 159848
This commit is contained in:
Bill Wendling 2012-07-06 19:12:31 +00:00
parent 0021347926
commit aa02e36fa8
2 changed files with 13 additions and 0 deletions

View File

@ -754,6 +754,8 @@ namespace llvm {
};
class DIObjCProperty : public DIDescriptor {
friend class DIDescriptor;
void printInternal(raw_ostream &OS) const;
public:
explicit DIObjCProperty(const MDNode *N) : DIDescriptor(N) { }

View File

@ -1018,6 +1018,8 @@ void DIDescriptor::print(raw_ostream &OS) const {
DIGlobalVariable(DbgNode).printInternal(OS);
} else if (this->isVariable()) {
DIVariable(DbgNode).printInternal(OS);
} else if (this->isObjCProperty()) {
DIObjCProperty(DbgNode).printInternal(OS);
}
}
@ -1121,6 +1123,15 @@ void DIVariable::printInternal(raw_ostream &OS) const {
OS << " [line " << getLineNumber() << ']';
}
void DIObjCProperty::printInternal(raw_ostream &OS) const {
StringRef Name = getObjCPropertyName();
if (!Name.empty())
OS << " [" << Name << ']';
OS << " [line " << getLineNumber()
<< ", properties " << getUnsignedField(6) << ']';
}
static void printDebugLoc(DebugLoc DL, raw_ostream &CommentOS,
const LLVMContext &Ctx) {
if (!DL.isUnknown()) { // Print source line info.