retdec
api_call_pattern_finder.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_LLVMIR2HLL_PATTERN_PATTERN_FINDERS_API_CALL_PATTERN_FINDER_H
8 #define RETDEC_LLVMIR2HLL_PATTERN_PATTERN_FINDERS_API_CALL_PATTERN_FINDER_H
9 
10 #include <string>
11 
13 
14 namespace retdec {
15 namespace llvmir2hll {
16 
35 public:
36  virtual const std::string getId() const override;
37  virtual Patterns findPatterns(ShPtr<Module> module) override;
38 
41 
42 private:
45 };
46 
47 } // namespace llvmir2hll
48 } // namespace retdec
49 
50 #endif
Finds interesting API calls in a module.
Definition: api_call_pattern_finder.h:34
virtual const std::string getId() const override
Returns the ID of the finder.
Definition: api_call_pattern_finder.cpp:187
virtual Patterns findPatterns(ShPtr< Module > module) override
Finds patterns in the given module and returns them.
Definition: api_call_pattern_finder.cpp:196
static ShPtr< PatternFinder > create(ShPtr< ValueAnalysis > va, ShPtr< CallInfoObtainer > cio)
Creates and returns a new instance of APICallPatternFinder.
Definition: api_call_pattern_finder.cpp:182
APICallPatternFinder(ShPtr< ValueAnalysis > va, ShPtr< CallInfoObtainer > cio)
Constructs a pattern finder.
Definition: api_call_pattern_finder.cpp:172
A base class for all pattern finders.
Definition: pattern_finder.h:38
std::vector< ShPtr< Pattern > > Patterns
A list of patterns.
Definition: pattern_finder.h:41
ShPtr< CallInfoObtainer > cio
The used call info obtainer.
Definition: pattern_finder.h:64
ShPtr< ValueAnalysis > va
Analysis of values.
Definition: pattern_finder.h:61
ShPtr< Module > module
The current module.
Definition: hll_writer.cpp:100
A library providing API for working with back-end IR.
std::shared_ptr< T > ShPtr
An alias for a shared pointer.
Definition: smart_ptr.h:18
Definition: archive_wrapper.h:19
A base class for all pattern finders.