ROSE  0.11.145.0
Unparser/Null.h
1 #ifndef ROSE_BinaryAnalysis_Unparser_Null_H
2 #define ROSE_BinaryAnalysis_Unparser_Null_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
5 
6 #include <Rose/BinaryAnalysis/Unparser/Base.h>
7 
8 namespace Rose {
9 namespace BinaryAnalysis {
10 namespace Unparser {
11 
13 struct NullSettings: public Settings {};
14 
16 class Null: public Base {
17  NullSettings settings_;
18 
19 protected:
20  explicit Null(const NullSettings &settings)
21  : settings_(settings) {}
22 
23 public:
24  ~Null() {}
25 
26  static Ptr instance(const NullSettings &settings = NullSettings()) {
27  return Ptr(new Null(settings));
28  }
29 
30  Ptr copy() const override {
31  return instance(settings());
32  }
33 
34  const NullSettings& settings() const override { return settings_; }
35  NullSettings& settings() override { return settings_; }
36 
37 protected:
38  void emitInstructionMnemonic(std::ostream&, SgAsmInstruction*, State&) const override;
39 };
40 
41 } // namespace
42 } // namespace
43 } // namespace
44 
45 #endif
46 #endif
Base class for machine instructions.
Main namespace for the ROSE library.
Settings that control unparsing.
Unparser for null architecture.
Definition: Unparser/Null.h:16
Settings specific to the null unparser.
Definition: Unparser/Null.h:13