mirror of
https://github.com/yuzu-emu/breakpad.git
synced 2025-04-18 04:51:43 +00:00
Cleanup: Use scoped_ptr where appropriate in DwarfCUToModule.
Review URL: https://breakpad.appspot.com/572002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1164 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
parent
f7566bd447
commit
affac9413b
|
@ -133,12 +133,11 @@ DwarfCUToModule::FileContext::FileContext(const string &filename,
|
||||||
bool handle_inter_cu_refs)
|
bool handle_inter_cu_refs)
|
||||||
: filename_(filename),
|
: filename_(filename),
|
||||||
module_(module),
|
module_(module),
|
||||||
handle_inter_cu_refs_(handle_inter_cu_refs) {
|
handle_inter_cu_refs_(handle_inter_cu_refs),
|
||||||
file_private_ = new FilePrivate();
|
file_private_(new FilePrivate()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
DwarfCUToModule::FileContext::~FileContext() {
|
DwarfCUToModule::FileContext::~FileContext() {
|
||||||
delete file_private_;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DwarfCUToModule::FileContext::AddSectionToSectionMap(
|
void DwarfCUToModule::FileContext::AddSectionToSectionMap(
|
||||||
|
@ -675,14 +674,13 @@ void DwarfCUToModule::WarningReporter::UnhandledInterCUReference(
|
||||||
DwarfCUToModule::DwarfCUToModule(FileContext *file_context,
|
DwarfCUToModule::DwarfCUToModule(FileContext *file_context,
|
||||||
LineToModuleHandler *line_reader,
|
LineToModuleHandler *line_reader,
|
||||||
WarningReporter *reporter)
|
WarningReporter *reporter)
|
||||||
: line_reader_(line_reader), has_source_line_info_(false) {
|
: line_reader_(line_reader),
|
||||||
cu_context_ = new CUContext(file_context, reporter);
|
cu_context_(new CUContext(file_context, reporter)),
|
||||||
child_context_ = new DIEContext();
|
child_context_(new DIEContext()),
|
||||||
|
has_source_line_info_(false) {
|
||||||
}
|
}
|
||||||
|
|
||||||
DwarfCUToModule::~DwarfCUToModule() {
|
DwarfCUToModule::~DwarfCUToModule() {
|
||||||
delete cu_context_;
|
|
||||||
delete child_context_;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DwarfCUToModule::ProcessAttributeSigned(enum DwarfAttribute attr,
|
void DwarfCUToModule::ProcessAttributeSigned(enum DwarfAttribute attr,
|
||||||
|
@ -737,12 +735,13 @@ dwarf2reader::DIEHandler *DwarfCUToModule::FindChildHandler(
|
||||||
enum DwarfTag tag) {
|
enum DwarfTag tag) {
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case dwarf2reader::DW_TAG_subprogram:
|
case dwarf2reader::DW_TAG_subprogram:
|
||||||
return new FuncHandler(cu_context_, child_context_, offset);
|
return new FuncHandler(cu_context_.get(), child_context_.get(), offset);
|
||||||
case dwarf2reader::DW_TAG_namespace:
|
case dwarf2reader::DW_TAG_namespace:
|
||||||
case dwarf2reader::DW_TAG_class_type:
|
case dwarf2reader::DW_TAG_class_type:
|
||||||
case dwarf2reader::DW_TAG_structure_type:
|
case dwarf2reader::DW_TAG_structure_type:
|
||||||
case dwarf2reader::DW_TAG_union_type:
|
case dwarf2reader::DW_TAG_union_type:
|
||||||
return new NamedScopeHandler(cu_context_, child_context_, offset);
|
return new NamedScopeHandler(cu_context_.get(), child_context_.get(),
|
||||||
|
offset);
|
||||||
default:
|
default:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,6 +46,7 @@
|
||||||
#include "common/dwarf/bytereader.h"
|
#include "common/dwarf/bytereader.h"
|
||||||
#include "common/dwarf/dwarf2diehandler.h"
|
#include "common/dwarf/dwarf2diehandler.h"
|
||||||
#include "common/dwarf/dwarf2reader.h"
|
#include "common/dwarf/dwarf2reader.h"
|
||||||
|
#include "common/scoped_ptr.h"
|
||||||
#include "common/using_std_string.h"
|
#include "common/using_std_string.h"
|
||||||
|
|
||||||
namespace google_breakpad {
|
namespace google_breakpad {
|
||||||
|
@ -117,7 +118,7 @@ class DwarfCUToModule: public dwarf2reader::RootDIEHandler {
|
||||||
const bool handle_inter_cu_refs_;
|
const bool handle_inter_cu_refs_;
|
||||||
|
|
||||||
// Inter-compilation unit data used internally by the handlers.
|
// Inter-compilation unit data used internally by the handlers.
|
||||||
FilePrivate *file_private_;
|
scoped_ptr<FilePrivate> file_private_;
|
||||||
};
|
};
|
||||||
|
|
||||||
// An abstract base class for handlers that handle DWARF line data
|
// An abstract base class for handlers that handle DWARF line data
|
||||||
|
@ -291,10 +292,10 @@ class DwarfCUToModule: public dwarf2reader::RootDIEHandler {
|
||||||
LineToModuleHandler *line_reader_;
|
LineToModuleHandler *line_reader_;
|
||||||
|
|
||||||
// This compilation unit's context.
|
// This compilation unit's context.
|
||||||
CUContext *cu_context_;
|
scoped_ptr<CUContext> cu_context_;
|
||||||
|
|
||||||
// A context for our children.
|
// A context for our children.
|
||||||
DIEContext *child_context_;
|
scoped_ptr<DIEContext> child_context_;
|
||||||
|
|
||||||
// True if this compilation unit has source line information.
|
// True if this compilation unit has source line information.
|
||||||
bool has_source_line_info_;
|
bool has_source_line_info_;
|
||||||
|
|
Loading…
Reference in a new issue