retdec
ctypes_parser.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_CTYPESPARSER_CTYPES_PARSER_H
8 #define RETDEC_CTYPESPARSER_CTYPES_PARSER_H
9 
10 #include <map>
11 #include <memory>
12 #include <string>
13 
14 #include "retdec/ctypes/ctypes.h"
16 
17 namespace retdec {
18 namespace ctypesparser {
19 
25 {
26  public:
28  using TypeWidths = std::map<std::string, unsigned>;
30  using TypeSignedness = std::map<std::string, ctypes::IntegralType::Signess>;
31 
32  public:
33  virtual ~CTypesParser() = default;
34 
35  protected:
36  CTypesParser();
37  CTypesParser(unsigned defaultBitWidth);
38 
39  protected:
41  std::shared_ptr<retdec::ctypes::Context> context;
47  unsigned defaultBitWidth = 0;
48 };
49 
50 } // namespace ctypesparser
51 } // namespace retdec
52 
53 #endif
A base class for parsing to C-types.
Definition: ctypes_parser.h:25
std::map< std::string, ctypes::IntegralType::Signess > TypeSignedness
Set container for C-types' signedness.
Definition: ctypes_parser.h:30
unsigned defaultBitWidth
Bitwidth used for types not in typeWidths.
Definition: ctypes_parser.h:47
CTypesParser()
Creates new C-types parser.
Definition: ctypes_parser.cpp:16
std::map< std::string, unsigned > TypeWidths
Set container for C-types' bit width.
Definition: ctypes_parser.h:28
TypeSignedness typeSignedness
C-types' signedness.
Definition: ctypes_parser.h:45
std::shared_ptr< retdec::ctypes::Context > context
Container for already parsed functions, types.
Definition: ctypes_parser.h:41
TypeWidths typeWidths
C-types' bit widths.
Definition: ctypes_parser.h:43
File to include, when all ctypes files are needed.
Exceptions for C-types parser.
Definition: archive_wrapper.h:19