retdec
api_call_seq_pattern_finder.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_LLVMIR2HLL_PATTERN_PATTERN_FINDERS_API_CALL_SEQ_PATTERN_FINDER_H
8 #define RETDEC_LLVMIR2HLL_PATTERN_PATTERN_FINDERS_API_CALL_SEQ_PATTERN_FINDER_H
9 
10 #include <string>
11 
13 
14 namespace retdec {
15 namespace llvmir2hll {
16 
27 public:
28  virtual const std::string getId() const override;
29  virtual Patterns findPatterns(ShPtr<Module> module) override;
30 
33 
34  // TODO Add possibility of setting API_CALL_INFO_SEQ_MAP.
35 
36 private:
39 
40 private:
43 };
44 
45 } // namespace llvmir2hll
46 } // namespace retdec
47 
48 #endif
Finds sequences of interesting API calls in a module.
Definition: api_call_seq_pattern_finder.h:26
static ShPtr< PatternFinder > create(ShPtr< ValueAnalysis > va, ShPtr< CallInfoObtainer > cio)
Creates and returns a new instance of APICallSeqPatternFinder.
Definition: api_call_seq_pattern_finder.cpp:1112
virtual const std::string getId() const override
Returns the ID of the finder.
Definition: api_call_seq_pattern_finder.cpp:1117
virtual Patterns findPatterns(ShPtr< Module > module) override
Finds patterns in the given module and returns them.
Definition: api_call_seq_pattern_finder.cpp:1126
APICallSeqPatternFinder(ShPtr< ValueAnalysis > va, ShPtr< CallInfoObtainer > cio)
Constructs a pattern finder.
Definition: api_call_seq_pattern_finder.cpp:1102
Patterns foundPatterns
Patterns to be returned.
Definition: api_call_seq_pattern_finder.h:42
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.