ROSE  0.11.50.0
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 
12 struct NullSettings: public Settings {};
13 
15 class Null: public Base {
16  NullSettings settings_;
17 
18 protected:
19  explicit Null(const NullSettings &settings)
20  : settings_(settings) {}
21 
22 public:
23  ~Null() {}
24 
25  static Ptr instance(const NullSettings &settings = NullSettings()) {
26  return Ptr(new Null(settings));
27  }
28 
29  Ptr copy() const ROSE_OVERRIDE {
30  return instance(settings());
31  }
32 
33  const NullSettings& settings() const ROSE_OVERRIDE { return settings_; }
34  NullSettings& settings() ROSE_OVERRIDE { return settings_; }
35 
36 protected:
37  void emitInstructionMnemonic(std::ostream&, SgAsmInstruction*, State&) const ROSE_OVERRIDE;
38 };
39 
40 } // namespace
41 } // namespace
42 } // namespace
43 
44 #endif
45 #endif
Base class for machine instructions.
Main namespace for the ROSE library.
Settings that control unparsing.
Unparser for null architecture.
Definition: Null.h:15