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