[Haiku-commits] r31051 - haiku/trunk/src/apps/debugger

bonefish at mail.berlios.de bonefish at mail.berlios.de
Sun Jun 14 16:19:07 CEST 2009


Author: bonefish
Date: 2009-06-14 16:18:55 +0200 (Sun, 14 Jun 2009)
New Revision: 31051
ViewCVS: http://svn.berlios.de/viewcvs/haiku?rev=31051&view=rev

Modified:
   haiku/trunk/src/apps/debugger/DebugInfoEntries.cpp
   haiku/trunk/src/apps/debugger/DebugInfoEntries.h
Log:
Support for DW_AT_{accessibility,declaration,abstract_origin} attributes for
types.


Modified: haiku/trunk/src/apps/debugger/DebugInfoEntries.cpp
===================================================================
--- haiku/trunk/src/apps/debugger/DebugInfoEntries.cpp	2009-06-14 14:17:37 UTC (rev 31050)
+++ haiku/trunk/src/apps/debugger/DebugInfoEntries.cpp	2009-06-14 14:18:55 UTC (rev 31051)
@@ -269,6 +269,10 @@
 
 
 DIEDeclaredType::DIEDeclaredType()
+	:
+	fAbstractOrigin(NULL),
+	fAccessibility(0),
+	fDeclaration(false)
 {
 }
 
@@ -300,6 +304,33 @@
 }
 
 
+status_t
+DIEDeclaredType::AddAttribute_accessibility(uint16 attributeName,
+	const AttributeValue& value)
+{
+	fAccessibility = value.constant;
+	return B_OK;
+}
+
+
+status_t
+DIEDeclaredType::AddAttribute_declaration(uint16 attributeName,
+	const AttributeValue& value)
+{
+	fDeclaration = value.flag;
+	return B_OK;
+}
+
+
+status_t
+DIEDeclaredType::AddAttribute_abstract_origin(uint16 attributeName,
+	const AttributeValue& value)
+{
+	fAbstractOrigin = value.reference;
+	return B_OK;
+}
+
+
 // #pragma mark - DIEDerivedType
 
 

Modified: haiku/trunk/src/apps/debugger/DebugInfoEntries.h
===================================================================
--- haiku/trunk/src/apps/debugger/DebugInfoEntries.h	2009-06-14 14:17:37 UTC (rev 31050)
+++ haiku/trunk/src/apps/debugger/DebugInfoEntries.h	2009-06-14 14:18:55 UTC (rev 31051)
@@ -252,16 +252,26 @@
 									const AttributeValue& value);
 	virtual	status_t			AddAttribute_decl_column(uint16 attributeName,
 									const AttributeValue& value);
+	virtual	status_t			AddAttribute_accessibility(uint16 attributeName,
+									const AttributeValue& value);
+										// TODO: !file, !pointer to member
+	virtual	status_t			AddAttribute_declaration(uint16 attributeName,
+									const AttributeValue& value);
+										// TODO: !file
+	virtual	status_t			AddAttribute_abstract_origin(
+									uint16 attributeName,
+									const AttributeValue& value);
+										// TODO: !interface
 
 // TODO:
-// DW_AT_accessibility		// !file, !pointer to member
-// DW_AT_declaration		// !file
-// DW_AT_abstract_origin	// !interface
 // DW_AT_description		// !interface
 // DW_AT_visibility			// !interface
 
 protected:
 			DeclarationLocation	fDeclarationLocation;
+			DebugInfoEntry*		fAbstractOrigin;
+			uint8				fAccessibility;
+			bool				fDeclaration;
 };
 
 
@@ -272,9 +282,6 @@
 	virtual	status_t			AddAttribute_type(uint16 attributeName,
 									const AttributeValue& value);
 
-// TODO:
-// DW_AT_type
-
 protected:
 			DIEType*			fType;
 };




More information about the Haiku-commits mailing list