Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
bloaty::RangeSink Class Reference

#include <bloaty.h>

Public Member Functions

void AddFileRange (const char *analyzer, absl::string_view name, absl::string_view file_range)
 
void AddFileRange (const char *analyzer, absl::string_view name, uint64_t fileoff, uint64_t filesize)
 
void AddFileRangeForFileRange (const char *analyzer, absl::string_view from_file_range, absl::string_view file_range)
 
void AddFileRangeForVMAddr (const char *analyzer, uint64_t label_from_vmaddr, absl::string_view file_range)
 
void AddOutput (DualMap *map, const NameMunger *munger)
 
void AddRange (const char *analyzer, absl::string_view name, uint64_t vmaddr, uint64_t vmsize, absl::string_view file_range)
 
void AddRange (const char *analyzer, absl::string_view name, uint64_t vmaddr, uint64_t vmsize, uint64_t fileoff, uint64_t filesize)
 
void AddVMRange (const char *analyzer, uint64_t vmaddr, uint64_t vmsize, const std::string &name)
 
void AddVMRangeAllowAlias (const char *analyzer, uint64_t vmaddr, uint64_t size, const std::string &name)
 
void AddVMRangeForVMAddr (const char *analyzer, uint64_t label_from_vmaddr, uint64_t addr, uint64_t size)
 
void AddVMRangeIgnoreDuplicate (const char *analyzer, uint64_t vmaddr, uint64_t size, const std::string &name)
 
DataSource data_source () const
 
const InputFileinput_file () const
 
bool IsBaseMap () const
 
const DualMapMapAtIndex (size_t index) const
 
RangeSinkoperator= (const RangeSink &)=delete
 
const Options & options () const
 
 RangeSink (const InputFile *file, const Options &options, DataSource data_source, const DualMap *translator, google::protobuf::Arena *arena)
 
 RangeSink (const RangeSink &)=delete
 
uint64_t TranslateFileToVM (const char *ptr)
 
absl::string_view TranslateVMToFile (uint64_t address)
 
absl::string_view ZlibDecompress (absl::string_view contents, uint64_t uncompressed_size)
 
 ~RangeSink ()
 

Static Public Attributes

static constexpr uint64_t kUnknownSize = RangeMap::kUnknownSize
 

Private Member Functions

bool ContainsVerboseFileOffset (uint64_t fileoff, uint64_t filesize)
 
bool ContainsVerboseVMAddr (uint64_t vmaddr, uint64_t vmsize)
 
bool FileContainsPointer (const void *ptr) const
 
bool IsVerboseForFileRange (uint64_t fileoff, uint64_t filesize)
 
bool IsVerboseForVMRange (uint64_t vmaddr, uint64_t vmsize)
 

Private Attributes

google::protobuf::Arenaarena_
 
DataSource data_source_
 
const InputFilefile_
 
const Options options_
 
std::vector< std::pair< DualMap *, const NameMunger * > > outputs_
 
const DualMaptranslator_
 

Detailed Description

Definition at line 110 of file bloaty.h.

Constructor & Destructor Documentation

◆ RangeSink() [1/2]

bloaty::RangeSink::RangeSink ( const InputFile file,
const Options &  options,
DataSource  data_source,
const DualMap translator,
google::protobuf::Arena arena 
)

Definition at line 999 of file bloaty.cc.

◆ RangeSink() [2/2]

bloaty::RangeSink::RangeSink ( const RangeSink )
delete

◆ ~RangeSink()

bloaty::RangeSink::~RangeSink ( )

Definition at line 1005 of file bloaty.cc.

Member Function Documentation

◆ AddFileRange() [1/2]

void bloaty::RangeSink::AddFileRange ( const char *  analyzer,
absl::string_view  name,
absl::string_view  file_range 
)
inline

Definition at line 156 of file bloaty.h.

◆ AddFileRange() [2/2]

void bloaty::RangeSink::AddFileRange ( const char *  analyzer,
absl::string_view  name,
uint64_t  fileoff,
uint64_t  filesize 
)

Definition at line 1088 of file bloaty.cc.

◆ AddFileRangeForFileRange()

void bloaty::RangeSink::AddFileRangeForFileRange ( const char *  analyzer,
absl::string_view  from_file_range,
absl::string_view  file_range 
)

Definition at line 1139 of file bloaty.cc.

◆ AddFileRangeForVMAddr()

void bloaty::RangeSink::AddFileRangeForVMAddr ( const char *  analyzer,
uint64_t  label_from_vmaddr,
absl::string_view  file_range 
)

Definition at line 1112 of file bloaty.cc.

◆ AddOutput()

void bloaty::RangeSink::AddOutput ( DualMap map,
const NameMunger munger 
)

Definition at line 1084 of file bloaty.cc.

◆ AddRange() [1/2]

void bloaty::RangeSink::AddRange ( const char *  analyzer,
absl::string_view  name,
uint64_t  vmaddr,
uint64_t  vmsize,
absl::string_view  file_range 
)
inline

Definition at line 133 of file bloaty.h.

◆ AddRange() [2/2]

void bloaty::RangeSink::AddRange ( const char *  analyzer,
absl::string_view  name,
uint64_t  vmaddr,
uint64_t  vmsize,
uint64_t  fileoff,
uint64_t  filesize 
)

Definition at line 1232 of file bloaty.cc.

◆ AddVMRange()

void bloaty::RangeSink::AddVMRange ( const char *  analyzer,
uint64_t  vmaddr,
uint64_t  vmsize,
const std::string &  name 
)

Definition at line 1197 of file bloaty.cc.

◆ AddVMRangeAllowAlias()

void bloaty::RangeSink::AddVMRangeAllowAlias ( const char *  analyzer,
uint64_t  vmaddr,
uint64_t  size,
const std::string &  name 
)

Definition at line 1218 of file bloaty.cc.

◆ AddVMRangeForVMAddr()

void bloaty::RangeSink::AddVMRangeForVMAddr ( const char *  analyzer,
uint64_t  label_from_vmaddr,
uint64_t  addr,
uint64_t  size 
)

Definition at line 1170 of file bloaty.cc.

◆ AddVMRangeIgnoreDuplicate()

void bloaty::RangeSink::AddVMRangeIgnoreDuplicate ( const char *  analyzer,
uint64_t  vmaddr,
uint64_t  size,
const std::string &  name 
)

Definition at line 1225 of file bloaty.cc.

◆ ContainsVerboseFileOffset()

bool bloaty::RangeSink::ContainsVerboseFileOffset ( uint64_t  fileoff,
uint64_t  filesize 
)
private

Definition at line 1016 of file bloaty.cc.

◆ ContainsVerboseVMAddr()

bool bloaty::RangeSink::ContainsVerboseVMAddr ( uint64_t  vmaddr,
uint64_t  vmsize 
)
private

Definition at line 1010 of file bloaty.cc.

◆ data_source()

DataSource bloaty::RangeSink::data_source ( ) const
inline

Definition at line 123 of file bloaty.h.

◆ FileContainsPointer()

bool bloaty::RangeSink::FileContainsPointer ( const void *  ptr) const
inlineprivate

Definition at line 214 of file bloaty.h.

◆ input_file()

const InputFile& bloaty::RangeSink::input_file ( ) const
inline

Definition at line 124 of file bloaty.h.

◆ IsBaseMap()

bool bloaty::RangeSink::IsBaseMap ( ) const
inline

Definition at line 125 of file bloaty.h.

◆ IsVerboseForFileRange()

bool bloaty::RangeSink::IsVerboseForFileRange ( uint64_t  fileoff,
uint64_t  filesize 
)
private

Definition at line 1053 of file bloaty.cc.

◆ IsVerboseForVMRange()

bool bloaty::RangeSink::IsVerboseForVMRange ( uint64_t  vmaddr,
uint64_t  vmsize 
)
private

Definition at line 1022 of file bloaty.cc.

◆ MapAtIndex()

const DualMap& bloaty::RangeSink::MapAtIndex ( size_t  index) const
inline

Definition at line 196 of file bloaty.h.

◆ operator=()

RangeSink& bloaty::RangeSink::operator= ( const RangeSink )
delete

◆ options()

const Options& bloaty::RangeSink::options ( ) const
inline

Definition at line 119 of file bloaty.h.

◆ TranslateFileToVM()

uint64_t bloaty::RangeSink::TranslateFileToVM ( const char *  ptr)

Definition at line 1269 of file bloaty.cc.

◆ TranslateVMToFile()

absl::string_view bloaty::RangeSink::TranslateVMToFile ( uint64_t  address)

Definition at line 1282 of file bloaty.cc.

◆ ZlibDecompress()

absl::string_view bloaty::RangeSink::ZlibDecompress ( absl::string_view  contents,
uint64_t  uncompressed_size 
)

Definition at line 1292 of file bloaty.cc.

Member Data Documentation

◆ arena_

google::protobuf::Arena* bloaty::RangeSink::arena_
private

Definition at line 229 of file bloaty.h.

◆ data_source_

DataSource bloaty::RangeSink::data_source_
private

Definition at line 226 of file bloaty.h.

◆ file_

const InputFile* bloaty::RangeSink::file_
private

Definition at line 224 of file bloaty.h.

◆ kUnknownSize

constexpr uint64_t bloaty::RangeSink::kUnknownSize = RangeMap::kUnknownSize
staticconstexpr

Definition at line 211 of file bloaty.h.

◆ options_

const Options bloaty::RangeSink::options_
private

Definition at line 225 of file bloaty.h.

◆ outputs_

std::vector<std::pair<DualMap*, const NameMunger*> > bloaty::RangeSink::outputs_
private

Definition at line 228 of file bloaty.h.

◆ translator_

const DualMap* bloaty::RangeSink::translator_
private

Definition at line 227 of file bloaty.h.


The documentation for this class was generated from the following files:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:02:58