retdec
plain_manager.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_LLVMIR2HLL_HLL_OUTPUT_MANAGERS_PLAIN_MANAGER_H
8 #define RETDEC_LLVMIR2HLL_HLL_OUTPUT_MANAGERS_PLAIN_MANAGER_H
9 
10 #include <llvm/Support/raw_ostream.h>
11 
13 
14 namespace retdec {
15 namespace llvmir2hll {
16 
18 {
19  public:
20  PlainOutputManager(llvm::raw_ostream& out);
21 
22  public:
23  virtual void newLine() override;
24  virtual void space(const std::string& space = " ") override;
25  virtual void punctuation(char p) override;
26  virtual void operatorX(const std::string& op) override;
27  virtual void globalVariableId(const std::string& id) override;
28  virtual void localVariableId(const std::string& id) override;
29  virtual void memberId(const std::string& id) override;
30  virtual void labelId(const std::string& id) override;
31  virtual void functionId(const std::string& id) override;
32  virtual void parameterId(const std::string& id) override;
33  virtual void keyword(const std::string& k) override;
34  virtual void dataType(const std::string& t) override;
35  virtual void preprocessor(const std::string& p) override;
36  virtual void include(const std::string& i) override;
37  virtual void constantBool(const std::string& c) override;
38  virtual void constantInt(const std::string& c) override;
39  virtual void constantFloat(const std::string& c) override;
40  virtual void constantString(const std::string& c) override;
41  virtual void constantSymbol(const std::string& c) override;
42  virtual void constantPointer(const std::string& c) override;
43  virtual void comment(const std::string& comment) override;
44 
45  public:
46  virtual void commentModifier() override;
47  virtual void addressPush(Address a) override;
48  virtual void addressPop() override;
49 
50  private:
51  llvm::raw_ostream& _out;
52 };
53 
54 } // namespace llvmir2hll
55 } // namespace retdec
56 
57 #endif
Definition: address.h:21
Definition: output_manager.h:21
Definition: plain_manager.h:18
virtual void addressPop() override
Definition: plain_manager.cpp:139
virtual void constantInt(const std::string &c) override
Definition: plain_manager.cpp:95
virtual void functionId(const std::string &id) override
Definition: plain_manager.cpp:59
virtual void parameterId(const std::string &id) override
Definition: plain_manager.cpp:64
PlainOutputManager(llvm::raw_ostream &out)
Definition: plain_manager.cpp:13
virtual void constantFloat(const std::string &c) override
Definition: plain_manager.cpp:100
virtual void comment(const std::string &comment) override
Definition: plain_manager.cpp:120
virtual void commentModifier() override
Definition: plain_manager.cpp:129
virtual void include(const std::string &i) override
Definition: plain_manager.cpp:85
llvm::raw_ostream & _out
Definition: plain_manager.h:51
virtual void constantBool(const std::string &c) override
Definition: plain_manager.cpp:90
virtual void punctuation(char p) override
Definition: plain_manager.cpp:29
virtual void constantSymbol(const std::string &c) override
Definition: plain_manager.cpp:110
virtual void preprocessor(const std::string &p) override
Definition: plain_manager.cpp:80
virtual void keyword(const std::string &k) override
Definition: plain_manager.cpp:69
virtual void space(const std::string &space=" ") override
Definition: plain_manager.cpp:24
virtual void memberId(const std::string &id) override
Definition: plain_manager.cpp:49
virtual void labelId(const std::string &id) override
Definition: plain_manager.cpp:54
virtual void constantPointer(const std::string &c) override
Definition: plain_manager.cpp:115
virtual void constantString(const std::string &c) override
Definition: plain_manager.cpp:105
virtual void addressPush(Address a) override
Definition: plain_manager.cpp:134
virtual void localVariableId(const std::string &id) override
Definition: plain_manager.cpp:44
virtual void globalVariableId(const std::string &id) override
Definition: plain_manager.cpp:39
virtual void operatorX(const std::string &op) override
Definition: plain_manager.cpp:34
virtual void newLine() override
Definition: plain_manager.cpp:19
virtual void dataType(const std::string &t) override
Definition: plain_manager.cpp:75
A library providing API for working with back-end IR.
Definition: archive_wrapper.h:19
A base class of all output managers.