aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Analysis
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Analysis')
-rw-r--r--include/llvm/Analysis/DIBuilder.h14
-rw-r--r--include/llvm/Analysis/DebugInfo.h21
2 files changed, 23 insertions, 12 deletions
diff --git a/include/llvm/Analysis/DIBuilder.h b/include/llvm/Analysis/DIBuilder.h
index 5190f0a831..9fbbe09cca 100644
--- a/include/llvm/Analysis/DIBuilder.h
+++ b/include/llvm/Analysis/DIBuilder.h
@@ -211,13 +211,19 @@ namespace llvm {
/// createObjCProperty - Create debugging information entry for Objective-C
/// property.
/// @param Name Property name.
+ /// @param File File where this property is defined.
+ /// @param LineNumber Line number.
/// @param GetterName Name of the Objective C property getter selector.
/// @param SetterName Name of the Objective C property setter selector.
/// @param PropertyAttributes Objective C property attributes.
- DIObjCProperty createObjCProperty(StringRef Name, StringRef GetterName,
- StringRef SetterName,
- unsigned PropertyAttributes);
-
+ /// @param Ty Type.
+ DIObjCProperty createObjCProperty(StringRef Name,
+ DIFile File, unsigned LineNumber,
+ StringRef GetterName,
+ StringRef SetterName,
+ unsigned PropertyAttributes,
+ DIType Ty);
+
/// createClassType - Create debugging information entry for a class.
/// @param Scope Scope in which this class is defined.
/// @param Name class name.
diff --git a/include/llvm/Analysis/DebugInfo.h b/include/llvm/Analysis/DebugInfo.h
index 1bbe8dfa1d..8ed8f949e7 100644
--- a/include/llvm/Analysis/DebugInfo.h
+++ b/include/llvm/Analysis/DebugInfo.h
@@ -792,31 +792,36 @@ namespace llvm {
explicit DIObjCProperty(const MDNode *N) : DIDescriptor(N) { }
StringRef getObjCPropertyName() const { return getStringField(1); }
+ DIFile getFile() const { return getFieldAs<DIFile>(2); }
+ unsigned getLineNumber() const { return getUnsignedField(3); }
+
StringRef getObjCPropertyGetterName() const {
- return getStringField(2);
+ return getStringField(4);
}
StringRef getObjCPropertySetterName() const {
- return getStringField(3);
+ return getStringField(5);
}
bool isReadOnlyObjCProperty() {
- return (getUnsignedField(4) & dwarf::DW_APPLE_PROPERTY_readonly) != 0;
+ return (getUnsignedField(6) & dwarf::DW_APPLE_PROPERTY_readonly) != 0;
}
bool isReadWriteObjCProperty() {
- return (getUnsignedField(4) & dwarf::DW_APPLE_PROPERTY_readwrite) != 0;
+ return (getUnsignedField(6) & dwarf::DW_APPLE_PROPERTY_readwrite) != 0;
}
bool isAssignObjCProperty() {
- return (getUnsignedField(4) & dwarf::DW_APPLE_PROPERTY_assign) != 0;
+ return (getUnsignedField(6) & dwarf::DW_APPLE_PROPERTY_assign) != 0;
}
bool isRetainObjCProperty() {
- return (getUnsignedField(4) & dwarf::DW_APPLE_PROPERTY_retain) != 0;
+ return (getUnsignedField(6) & dwarf::DW_APPLE_PROPERTY_retain) != 0;
}
bool isCopyObjCProperty() {
- return (getUnsignedField(4) & dwarf::DW_APPLE_PROPERTY_copy) != 0;
+ return (getUnsignedField(6) & dwarf::DW_APPLE_PROPERTY_copy) != 0;
}
bool isNonAtomicObjCProperty() {
- return (getUnsignedField(4) & dwarf::DW_APPLE_PROPERTY_nonatomic) != 0;
+ return (getUnsignedField(6) & dwarf::DW_APPLE_PROPERTY_nonatomic) != 0;
}
+ DIType getType() const { return getFieldAs<DIType>(7); }
+
/// Verify - Verify that a derived type descriptor is well formed.
bool Verify() const;