1 #ifndef ROSE_BinaryAnalysis_Unparser_Jvm_H
2 #define ROSE_BinaryAnalysis_Unparser_Jvm_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
6 #include <Rose/BinaryAnalysis/Unparser/Base.h>
9 namespace BinaryAnalysis {
19 class Jvm:
public Base {
24 : settings_(settings) {}
30 return Ptr(
new Jvm(settings));
33 Ptr copy()
const override {
34 return instance(settings());
37 const JvmSettings& settings()
const override {
return settings_; }
38 JvmSettings& settings()
override {
return settings_; }
41 void emitInstructionMnemonic(std::ostream&,
SgAsmInstruction*, State&)
const override;
42 void emitOperandBody(std::ostream&,
SgAsmExpression*, State&)
const override;
Base class for machine instructions.
Sawyer::SharedPointer< RegisterDictionary > RegisterDictionaryPtr
Reference counting pointer.
Represents one JVS machine instruction.
Settings specific to the JVM unparser.
Main namespace for the ROSE library.
Settings that control unparsing.
Unparser for the JVM architecture.
Base class for expressions.