Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages
analysisProblem Class Reference#include <ipanalysis.h>
Inheritance diagram for analysisProblem:
List of all members.
|
Public Member Functions |
| analysisProblem (Direction direction) |
| Create a new analysis problem object.
|
Direction | direction () const |
| Get the direction.
|
virtual string | name ()=0 |
| Name of the analysis.
|
virtual bool | compare_property_value (Location *where, memoryBlock *property_block, procedureInfo *callee) |
| Compare current property value against the last input to callee.
|
virtual void | record_input_to_value (procedureInfo *callee, memoryBlock *property_block, Location *where) |
| Record the value of a property when it is used as an input_to/external_input value to a call to callee at a call site.
|
|
The rest of these functions are hooks for the pointer analyzer to call at various points in the analysis. They serve as the transfer functions for the dataflow analysis problem.
|
virtual void | at_id (stmtLocation *current, idNode *id, pointerValue &result) |
virtual void | at_unary (stmtLocation *current, threeAddrNode *r, pointerValue &operand, pointerValue &result) |
virtual void | at_sizeof (stmtLocation *current, threeAddrNode *r, pointerValue &operand, pointerValue &result) |
virtual void | at_binary (stmtLocation *current, stmtNode *r, pointerValue &left, pointerValue &right, pointerValue &result) |
virtual void | at_cast (stmtLocation *current, operandNode *operand, pointerValue &operand_value, pointerValue &result) |
virtual void | at_const (stmtLocation *current, constNode *cons, pointerValue &result) |
virtual void | at_call (stmtLocation *current, operandNode *call, pointerValue &call_target, procNode *callee, pointervalue_list &arguments, pointerValue &return_val) |
virtual void | at_field_access (stmtLocation *current, operandNode *operand, pointerValue &operand_value, pointerValue &result) |
virtual void | at_dereference (stmtLocation *current, operandNode *operand, pointerValue &operand_value, pointerValue &result) |
virtual void | at_address (stmtLocation *current, operandNode *operand, pointerValue &operand_value, pointerValue &result) |
virtual void | at_index (stmtLocation *current, operandNode *operand, pointerValue &left, pointerValue &right, pointerValue &result) |
virtual void | at_assignment (stmtLocation *current, pointerValue &left, pointerValue &right, pointerValue &result, memoryblock_set &changes) |
virtual void | at_parameter_pass (Location *current, stmtLocation *parameter_callsite, pointerValue &left, pointerValue &right, memoryblock_set &changes) |
virtual void | at_self_assignment (Location *source, Location *target, memoryBlock *block, memoryblock_set &changes, bool is_input) |
virtual void | at_return (Location *current, pointerValue &left, pointerValue &right, memoryblock_set &changes) |
virtual void | at_threeAddr (stmtLocation *stmt, threeAddrNode *threeaddr, pointerValue &result) |
virtual void | at_conditiongoto (stmtLocation *stmt, conditiongotoNode *c, pointerValue &result) |
virtual void | at_allocation (stmtLocation *stmt, pointervalue_list &arguments, memoryBlock *block, memoryblock_set &changes) |
virtual void | at_deallocation (stmtLocation *stmt, pointerValue &to_deallocate, memoryblock_set &changes) |
virtual void | at_merge (Location *where, memoryBlock *block, memoryuse_list &phi_uses, pointerValue &result, memoryblock_set &changes) |
virtual void | at_basicblock_entry (basicblockLocation *block, procedureInfo *info, pointerValue &initial) |
virtual void | at_stmt_entry (stmtLocation *stmt, pointerValue &result) |
virtual void | at_stmt_exit (stmtLocation *stmt, pointerValue &result) |
virtual void | at_basicblock_exit (basicblockLocation *block, procedureInfo *info, pointerValue &final) |
virtual void | at_conservative_procedure_call (stmtLocation *current, operandNode *call, operand_list &args, pointerValue &call_target, pointervalue_list &arguments, memoryblock_set &reachable_blocks, pointerValue &return_val, memoryblock_set &changes) |
virtual void | at_procedure_entry (procLocation *proc, procedureInfo *info, pointerValue &return_val) |
virtual void | at_procedure_exit (procLocation *proc, procedureInfo *info, pointerValue &return_val) |
Protected Attributes |
Direction | _direction |
Constructor & Destructor Documentation
analysisProblem::analysisProblem |
( |
Direction |
direction |
) |
[inline] |
|
|
Create a new analysis problem object.
The only purpose of this constructor is to set the direction field.
Definition at line 72 of file ipanalysis.h.
References direction(). |
Member Function Documentation
Direction analysisProblem::direction |
( |
|
) |
const [inline] |
|
virtual string analysisProblem::name |
( |
|
) |
[pure virtual] |
|
Member Data Documentation
Direction analysisProblem::_direction [protected]
|
|
The documentation for this class was generated from the following file:
|