2 #ifndef ROSE_BinaryAnalysis_Unparser_Settings_H
3 #define ROSE_BinaryAnalysis_Unparser_Settings_H
4 #include <featureTests.h>
5 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
7 #include <Rose/Color.h>
8 #include <Rose/BinaryAnalysis/InstructionSemantics/BaseSemantics.h>
9 #include <Rose/BinaryAnalysis/Unparser/EdgeArrows.h>
10 #include <Sawyer/CommandLine.h>
13 namespace BinaryAnalysis {
141 std::string linePrefix;
Control colored command output.
Sawyer::CommandLine::SwitchGroup commandLineSwitches(Settings &settings)
Command-line switches for unparser settings.
std::string semanticFailureMarker
Mark instruction if it had semantic failures.
Color::Colorization colorization
Overrides for global color settings.
struct Rose::BinaryAnalysis::Unparser::Settings::@684::@693 callconv
Settings for function calling convention.
bool usingDescription
Lacking comment, use instruction description as comment?
size_t perLine
Max number of bytes to show per line of output.
A collection of related switch declarations.
Style arrowStyle
Arrow style.
struct Rose::BinaryAnalysis::Unparser::Settings::@687::@698 address
Settings for instruction starting addresses.
Main namespace for the ROSE library.
struct Rose::BinaryAnalysis::Unparser::Settings::@685 bblock
Settings for basic blocks.
Settings that control unparsing.
struct Rose::BinaryAnalysis::Unparser::Settings::@687::@701 mnemonic
Settings for instruction mnemonics.
bool showingPredecessors
Show basic block predecessors?
struct Rose::BinaryAnalysis::Unparser::Settings::@684::@691 cg
Settings for function call graphs.
EdgeArrows::ArrowStylePreset style
One of the arrow style presets.
struct Rose::BinaryAnalysis::Unparser::Settings::@687::@699 bytes
Settings for the bytes that make up an instruction.
bool useLabels
Generate labels and use them instead of addresses?
Sawyer::Optional< Color::HSV > background
Optional background color.
Sawyer::Optional< Color::HSV > foreground
Optional foreground color.
bool showingSharing
Show functions when block is shared?
bool showing
Show function call graph?
struct Rose::BinaryAnalysis::Unparser::Settings::@687 insn
Settings for instructions.
struct Rose::BinaryAnalysis::Unparser::Settings::@685::@697 reach
Reachability analysis results.
std::string ansiStyle() const
Generate the ANSI escape for the style.
bool tracing
Show instruction semantics traces when showing semantics.
Style style
Style for printing the address.
struct Rose::BinaryAnalysis::Unparser::Settings::@688 arrow
How to render arrows along the left margin.
bool showingReasons
Show reasons for function existing.
Style titleStyle
Style for title line of function.
bool showingSourceLocation
Show source file name and line number when available.
struct Rose::BinaryAnalysis::Unparser::Settings::@684::@695 mayReturn
Settings for may-return analysis.
std::string pre
String to introduce a comment.
InstructionSemantics::BaseSemantics::Formatter formatter
How to format the semantic state output.
bool showingArrows
Draw arrows from one block to another.
std::string separator
How to separate one operand from another.
ArrowStylePreset
Arrow style presets.
struct Rose::BinaryAnalysis::Unparser::Settings::@683::@689 line
Comment occupying an entire line.
struct Rose::BinaryAnalysis::Unparser::Settings::@683::@690 trailing
Comment extending to the end of the line.
Style separatorStyle
Style of the line separating functions.
Style semanticFailureStyle
Style for the semantic failure indicator.
struct Rose::BinaryAnalysis::Unparser::Settings::@684::@692 stackDelta
Settings for function stack deltas.
std::string post
String to terminate a comment.
struct Rose::BinaryAnalysis::Unparser::Settings::@687::@702 operands
Settings for the operand list.
bool showingWidth
Show width of all expression terms in square brackets.
struct Rose::BinaryAnalysis::Unparser::Settings::@684::@694 noop
Settings for no-op analysis.
size_t fieldWidth
Min characters to use per insn address.
bool concrete
Show concrete or symbolic deltas.
struct Rose::BinaryAnalysis::Unparser::Settings::@685::@696 cfg
Settings for control flow graphs.
bool showingDemangled
Show demangled name in preference to mangled name.
bool showingReachability
Show code reachability in the basic block prologue area.
bool showingSuccessors
Show basic block successors?