LibGoblin_DWARF_Info_Ancestry *p_ancestry,
LibGoblin_DWARF_Info_CUHeader *p_cuheader )
{
- LibGoblin_DWARF_DIEValue *pval_name;
- LibGoblin_DWARF_DIEValue *pval_declfile;
- LibGoblin_DWARF_DIEValue *pval_declline;
- LibGoblin_DWARF_DIEValue *pval_byte_size;
-
- // Data Extract
- pval_name = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_name );
- pval_declfile = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_decl_file );
- pval_declline = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_decl_line );
- pval_byte_size = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_byte_size );
-
-
-/*
- Byte *pb_link = NULL;
int i_obj_parent;
+ //Byte *pb_link = NULL;
PtrValue ptrval_start;
LibGoblin_ObjectInfo *pobj_now;
LibGoblin_ObjectInfo *pobj_parent;
LibGoblin_ProgramInfo *p_pginfo;
LibGoblin_DWARF_DIEValue *pval_name;
- LibGoblin_DWARF_DIEValue *pval_type;
LibGoblin_DWARF_DIEValue *pval_declfile;
LibGoblin_DWARF_DIEValue *pval_declline;
LibGoblin_DWARF_DIEValue *pval_byte_size;
+ LibGoblin_DWARF_DIEValue *pval_declaration;
+ LibGoblin_DWARF_DIEValue *pval_specification;
+ LibGoblin_DWARF_DIEValue *pval_start_scope;
// Data Extract
- pval_type = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_type );
- pval_name = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_name );
- pval_declfile = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_decl_file );
- pval_declline = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_decl_line );
- pval_byte_size = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_byte_size );
-
-
- if( NULL != pval_type )
- { pb_link = pval_type->value.pb_link; }
+ pval_name = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_name );
+ pval_declfile = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_decl_file );
+ pval_declline = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_decl_line );
+ pval_byte_size = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_byte_size );
+ pval_declaration = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_declaration );
+ pval_specification = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_specification );
+ pval_start_scope = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_start_scope );
i_obj_parent = p_ancestry[i_childlv - 1].i_objid;
-
- p_pginfo = ProgInfo_GetProgInfo( p_binfo->i_pginfo );
+ p_pginfo = ProgInfo_GetProgInfo( p_binfo->i_pginfo );
assert( NULL != p_pginfo );
pobj_parent = ObjectInfo_GetObjectInfo( p_pginfo, i_obj_parent );
pobj_now = ObjectInfo_InsetObject(
p_pginfo, ptrval_start, (QWord)0, pobj_parent,
- OBJINFO_INSETMODE_ADOPT, OBJINFO_TYPE_TYPEDEF, NULL );
+ OBJINFO_INSETMODE_ADOPT, OBJINFO_TYPE_TYPE_MULTI, NULL );
if( NULL == pobj_now ) {
return -0x03;
}
else
{ pobj_now->pstr_name = NULL; }
+/*
+
+
+ if( NULL != pval_type )
+ { pb_link = pval_type->value.pb_link; }
+
pobj_now->dwarf.i_objid_type = NO_OBJ;
pobj_now->dwarf.pb_dwinfo_type = pb_link;
pobj_now->info.type.dw_size = 0;