Support for DW_AT_{accessibility,declaration,abstract_origin} attributes for
types. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31051 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
9579e97f08
commit
f5334fd1a3
@ -269,6 +269,10 @@ DIEAddressingType::AddAttribute_address_class(uint16 attributeName,
|
||||
|
||||
|
||||
DIEDeclaredType::DIEDeclaredType()
|
||||
:
|
||||
fAbstractOrigin(NULL),
|
||||
fAccessibility(0),
|
||||
fDeclaration(false)
|
||||
{
|
||||
}
|
||||
|
||||
@ -300,6 +304,33 @@ DIEDeclaredType::AddAttribute_decl_column(uint16 attributeName,
|
||||
}
|
||||
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
@ -252,16 +252,26 @@ public:
|
||||
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 @@ public:
|
||||
virtual status_t AddAttribute_type(uint16 attributeName,
|
||||
const AttributeValue& value);
|
||||
|
||||
// TODO:
|
||||
// DW_AT_type
|
||||
|
||||
protected:
|
||||
DIEType* fType;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user