retdec
|
Base class for all classes storing information about a function call. More...
#include <call_info_obtainer.h>
Public Member Functions | |
virtual | ~CallInfo ()=default |
ShPtr< CallExpr > | getCall () const |
Returns the function call for which the piece of information has been computed. More... | |
virtual bool | isNeverRead (ShPtr< Variable > var) const =0 |
Returns true if var is never read in the call, false otherwise. More... | |
virtual bool | mayBeRead (ShPtr< Variable > var) const =0 |
Returns true if var may be read in the call, false otherwise. More... | |
virtual bool | isAlwaysRead (ShPtr< Variable > var) const =0 |
Returns true if var is always read in the call, false otherwise. More... | |
virtual bool | isNeverModified (ShPtr< Variable > var) const =0 |
Returns true if there is no assign into var in the call, false otherwise. More... | |
virtual bool | mayBeModified (ShPtr< Variable > var) const =0 |
Returns true if the value of var may be changed in the call, false otherwise. More... | |
virtual bool | isAlwaysModified (ShPtr< Variable > var) const =0 |
Returns true if the value of var is always changed in the call, false otherwise. More... | |
virtual bool | valueIsNeverChanged (ShPtr< Variable > var) const =0 |
Returns true if the value of var is never changed in the call, false otherwise. More... | |
virtual bool | isAlwaysModifiedBeforeRead (ShPtr< Variable > var) const =0 |
Returns true if the given variable is modified prior to being read in the call, false otherwise. More... | |
Protected Member Functions | |
CallInfo (ShPtr< CallExpr > call) | |
Constructs a new piece of information about the given function call. More... | |
Protected Attributes | |
ShPtr< CallExpr > | call |
Function call for which this piece of information is computed. More... | |
Friends | |
class | CallInfoObtainer |
Additional Inherited Members | |
![]() | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
NonCopyable ()=default | |
~NonCopyable ()=default | |
Base class for all classes storing information about a function call.
Instances of this class have reference object semantics.
|
virtualdefault |
Constructs a new piece of information about the given function call.
Returns the function call for which the piece of information has been computed.
|
pure virtual |
Returns true
if the value of var is always changed in the call, false
otherwise.
"Always changed" means that every time the function is called, var has a new assigned value. The new value may, however, be the same as the old value.
Implemented in retdec::llvmir2hll::PessimCallInfo, and retdec::llvmir2hll::OptimCallInfo.
|
pure virtual |
Returns true
if the given variable is modified prior to being read in the call, false
otherwise.
When this function returns true
, it doesn't mean that the variable is actually read or modified in the call. It only means that if the variable is read in the call, then it has been assigned a value before this read.
Implemented in retdec::llvmir2hll::PessimCallInfo, and retdec::llvmir2hll::OptimCallInfo.
Returns true
if var is always read in the call, false
otherwise.
"Always read" means that every time the function is called, var is read.
Implemented in retdec::llvmir2hll::PessimCallInfo, and retdec::llvmir2hll::OptimCallInfo.
|
pure virtual |
Returns true
if there is no assign into var in the call, false
otherwise.
Implemented in retdec::llvmir2hll::PessimCallInfo, and retdec::llvmir2hll::OptimCallInfo.
Returns true
if var is never read in the call, false
otherwise.
Implemented in retdec::llvmir2hll::PessimCallInfo, and retdec::llvmir2hll::OptimCallInfo.
|
pure virtual |
Returns true
if the value of var may be changed in the call, false
otherwise.
Implemented in retdec::llvmir2hll::PessimCallInfo, and retdec::llvmir2hll::OptimCallInfo.
Returns true
if var may be read in the call, false
otherwise.
Implemented in retdec::llvmir2hll::PessimCallInfo, and retdec::llvmir2hll::OptimCallInfo.
|
pure virtual |
Returns true
if the value of var is never changed in the call, false
otherwise.
"Never changed" means that a new value may be assigned to var in the call, but when the called function returns, the value of var is always its original value.
Implemented in retdec::llvmir2hll::PessimCallInfo, and retdec::llvmir2hll::OptimCallInfo.
|
friend |
Function call for which this piece of information is computed.