22 #ifndef OTAWA_STATS_STATCOLLECTOR_H_
23 #define OTAWA_STATS_STATCOLLECTOR_H_
38 virtual bool isEnum(
void)
const = 0;
40 virtual int total(
void) = 0;
47 virtual void leave(
void) = 0;
Definition: ContextualProperty.h:38
virtual bool isEnum(void) const =0
Test if the statistics concerns enumerated value.
This interface class must be implemented by any program that wants to collect statistics for the curr...
Definition: StatCollector.h:43
virtual void collect(const Address &address, t::uint32 size, int value)=0
Called for each program block for which a statistics exists.
virtual const cstring valueName(int value)=0
Get the name of an enumerated value (for human user, in english).
virtual cstring name(void) const =0
Name of the statistics (for human user, in english).
virtual ~StatCollector(void)
Definition: stats.cpp:30
elm::io::IntFormat address(Address addr)
Build a format to display addresses.
Definition: base.cpp:213
virtual void collect(Collector &collector)=0
Called to collect the statistics.
virtual int total(void)=0
value_t value(CString name, int value)
A statistics collector allows to access statistics produced by an analysis.
Definition: StatCollector.h:30
The representation of an address in OTAWA.
Definition: base.h:54
virtual void enter(const ContextualStep &step)=0
virtual cstring unit(void) const =0
Name of statistics unit (for human user, in english).
virtual void leave(void)=0
virtual int mergeContext(int v1, int v2)=0
This function allows to merge statistics of a same block in different contexts.
virtual int mergeAgreg(int v1, int v2)=0
This function allows to merge statistics when different blocks are aggregated.