Code Listener
[unstable] git snapshot
|
object model that describes the analyzed code on the input More...
Go to the source code of this file.
Data Structures | |
struct | Var |
high-level variable representation More... | |
class | VarDb |
lookup container for set of Var objects More... | |
class | TypeDb |
type lookup table More... | |
struct | NameDb |
name to UID mapping for global/static symbols More... | |
struct | KillVar |
value type describing a single 'kill variable' hint More... | |
struct | ltKillVar |
FIXME: inserting <id,0> and <id,1> could break the consistency of std::set. More... | |
struct | Insn |
high-level representation of an intermediate code instruction More... | |
class | Block |
Basic block - a single node in ControlFlow graph. More... | |
class | ControlFlow |
Control flow graph - an easy to analyse representation of the intermediate code. More... | |
class | Item |
class | Node |
class | Graph |
class | GlobalData |
struct | Fnc |
function definition More... | |
class | FncDb |
lookup container for set of Fnc objects More... | |
struct | Node |
call-graph node (there is a 1:1 relation with Fnc, if the CG is built) More... | |
struct | Graph |
struct | Storage |
a value type representing the whole serialised model of code More... | |
Namespaces | |
CodeStorage | |
object model that describes the analyzed code on the input | |
CodeStorage::CallGraph | |
CodeStorage::PointsTo | |
Macros | |
#define | STD_VECTOR(type) type[] |
Typedefs | |
typedef struct cl_operand[] | TOperandList |
generic STL-based list of cl_operand objects. More... | |
typedef const Block * | TTargetList |
generic STL-based list of Block pointers (useful to build CFG from Block objects) More... | |
typedef std::set< KillVar, ltKillVar > | TKillVarList |
list of variables to kill (a kill list) More... | |
typedef std::vector< TKillVarList > | TKillPerTarget |
list of kill lists (one per each target of a terminal instruction) More... | |
typedef std::vector< int > | TArgByPos |
typedef std::set< int > | TVarSet |
typedef std::vector< const Item * > | TItemList |
typedef std::set< Node * > | TNodeList |
typedef std::map< int, Node * > | TMap |
typedef std::vector< const Fnc * > | TFncList |
typedef std::vector< const Insn * > | TInsnList |
typedef std::map< Fnc *, TInsnList > | TInsnListByFnc |
typedef std::set< Node * > | TNodeList |
Enumerations | |
enum | EVar { VAR_VOID, VAR_GL, VAR_LC, VAR_FNC_ARG } |
high-level variable (operand) classification More... | |
enum | ItemCodeE { PT_ITEM_VAR = 0, PT_ITEM_RET, PT_ITEM_MALLOC } |
Functions | |
bool | isOnStack (const Var &) |
void | readTypeTree (TypeDb &db, const struct cl_type *clt) |
Add the given type into TypeDb instance, then descent into the type and add all the referred types recursively. More... | |
bool | isDead (const GlobalData &) |
const char * | nameOf (const Fnc &) |
return the name of given Fnc object (if any) More... | |
struct cl_loc * | locationOf (const Fnc &) |
return the location info associated with the given Fnc object (if any) More... | |
int | uidOf (const Fnc &) |
return the uid of given Fnc object More... | |
bool | isDefined (const Fnc &) |
return true if the function is defined (means we have its CFG and the like) More... | |
const Fnc * | fncByCfg (const ControlFlow *cfg) |
return the pointer to the Fnc object that the cfg instance is wrapped by More... | |
object model that describes the analyzed code on the input
Definition in file storage.hh.
#define STD_VECTOR | ( | type) | type[] |
Definition at line 35 of file storage.hh.