retdec
|
A base class for all pattern finders. More...
#include <pattern_finder.h>
Public Types | |
using | Patterns = std::vector< ShPtr< Pattern > > |
A list of patterns. More... | |
Public Member Functions | |
virtual | ~PatternFinder ()=default |
virtual const std::string | getId () const =0 |
Returns the ID of the finder. More... | |
virtual Patterns | findPatterns (ShPtr< Module > module)=0 |
Finds patterns in the given module and returns them. More... | |
Protected Member Functions | |
PatternFinder (ShPtr< ValueAnalysis > va, ShPtr< CallInfoObtainer > cio) | |
Constructs a pattern finder. 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 pattern finders.
A concrete finder should
ShPtr<PatternFinder> create()
functioncreate
function and the finder's IDNote: Do NOT set the ID of your concrete finder to "all" as this ID is reserved.
Instances of this class have reference object semantics.
using retdec::llvmir2hll::PatternFinder::Patterns = std::vector<ShPtr<Pattern> > |
A list of patterns.
|
virtualdefault |
|
protected |
Constructs a pattern finder.
[in] | va | The used analysis of values. |
[in] | cio | The used call info obtainer. |
|
pure virtual |
Finds patterns in the given module and returns them.
Implemented in retdec::llvmir2hll::APICallSeqPatternFinder, and retdec::llvmir2hll::APICallPatternFinder.
|
pure virtual |
Returns the ID of the finder.
Implemented in retdec::llvmir2hll::APICallSeqPatternFinder, and retdec::llvmir2hll::APICallPatternFinder.
|
protected |
The used call info obtainer.
|
protected |
Analysis of values.