retdec
|
A base class for all API calls finders. More...
#include <api_call_seq_finder.h>
Public Types | |
using | Patterns = std::vector< ShPtr< Pattern > > |
List of patterns. More... | |
Public Member Functions | |
virtual | ~APICallSeqFinder ()=default |
virtual Patterns | findPatterns (const APICallInfoSeq &info, ShPtr< CallExpr > call, ShPtr< Statement > stmt, ShPtr< Function > func, ShPtr< Module > module)=0 |
Tries to find the given sequence of API calls, starting at stmt. More... | |
Protected Member Functions | |
APICallSeqFinder (ShPtr< ValueAnalysis > va, ShPtr< CallInfoObtainer > cio) | |
Constructs the base class. More... | |
Protected Attributes | |
ShPtr< ValueAnalysis > | va |
Analysis of values. More... | |
ShPtr< CallInfoObtainer > | cio |
The used call info obtainer. More... | |
Additional Inherited Members | |
![]() | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
NonCopyable ()=default | |
~NonCopyable ()=default | |
A base class for all API calls finders.
Concrete API calls finders should inherit from this class.
Instances of this class have reference object semantics.
using retdec::llvmir2hll::APICallSeqFinder::Patterns = std::vector<ShPtr<Pattern> > |
List of patterns.
|
virtualdefault |
|
protected |
Constructs the base class.
[in] | va | The used analysis of values. |
[in] | cio | The used call info obtainer. |
|
pure virtual |
Tries to find the given sequence of API calls, starting at stmt.
[in] | info | A description of an API call sequence. |
[in] | call | A function call. |
[in] | stmt | The statement in which call appears. |
[in] | func | The function in which stmt appears. |
[in] | module | The module in which func appears. |
The used way of finding the pattern depends on concrete finders.
Implemented in retdec::llvmir2hll::BasicBlockAPICallSeqFinder.
|
protected |
The used call info obtainer.
|
protected |
Analysis of values.