retdec
basic_block_api_call_seq_finder.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_LLVMIR2HLL_PATTERN_PATTERN_FINDERS_API_CALL_API_CALL_SEQ_FINDERS_BASIC_BLOCK_API_CALL_SEQ_FINDER_H
8 #define RETDEC_LLVMIR2HLL_PATTERN_PATTERN_FINDERS_API_CALL_API_CALL_SEQ_FINDERS_BASIC_BLOCK_API_CALL_SEQ_FINDER_H
9 
13 
14 namespace retdec {
15 namespace llvmir2hll {
16 
45 public:
48  virtual Patterns findPatterns(const APICallInfoSeq &info,
50  ShPtr<Module> module) override;
51 
54 
55 private:
56 };
57 
58 } // namespace llvmir2hll
59 } // namespace retdec
60 
61 #endif
A sequence of information about API calls.
A base class for all API calls finders.
A sequence of information about API calls.
Definition: api_call_info_seq.h:21
A base class for all API calls finders.
Definition: api_call_seq_finder.h:33
ShPtr< CallInfoObtainer > cio
The used call info obtainer.
Definition: api_call_seq_finder.h:68
ShPtr< ValueAnalysis > va
Analysis of values.
Definition: api_call_seq_finder.h:65
std::vector< ShPtr< Pattern > > Patterns
List of patterns.
Definition: api_call_seq_finder.h:36
API call finder which searches only in a basic block.
Definition: basic_block_api_call_seq_finder.h:44
BasicBlockAPICallSeqFinder(ShPtr< ValueAnalysis > va, ShPtr< CallInfoObtainer > cio)
Constructs a BasicBlockAPICallSeqFinder object.
Definition: basic_block_api_call_seq_finder.cpp:32
static ShPtr< BasicBlockAPICallSeqFinder > create(ShPtr< ValueAnalysis > va, ShPtr< CallInfoObtainer > cio)
virtual Patterns findPatterns(const APICallInfoSeq &info, ShPtr< CallExpr > call, ShPtr< Statement > stmt, ShPtr< Function > func, ShPtr< Module > module) override
Tries to find the given sequence of API calls, starting at stmt.
Definition: basic_block_api_call_seq_finder.cpp:35
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
Declarations, aliases, macros, etc. for the use of smart pointers.