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 {
158 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.
struct Rose::BinaryAnalysis::Unparser::Settings::@694::@700 line
Comment occupying an entire line.
bool showingDemangled
Show demangled name in preference to mangled name.
bool showingPredecessors
Show basic block predecessors?
size_t fieldWidth
Min characters to use per insn address.
bool showingReasons
Show reasons for function existing.
struct Rose::BinaryAnalysis::Unparser::Settings::@696::@708 reach
Reachability analysis results.
size_t perLine
Max number of bytes to show per line of output.
struct Rose::BinaryAnalysis::Unparser::Settings::@698::@714 operands
Settings for the operand list.
struct Rose::BinaryAnalysis::Unparser::Settings::@698 insn
Settings for instructions.
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.
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::@698::@710 bytes
Settings for the bytes that make up an instruction.
struct Rose::BinaryAnalysis::Unparser::Settings::@695::@702 cg
Settings for function call graphs.
struct Rose::BinaryAnalysis::Unparser::Settings::@695::@706 mayReturn
Settings for may-return analysis.
bool showingReachability
Show code reachability in the basic block prologue area.
struct Rose::BinaryAnalysis::Unparser::Settings::@698::@712 frameDelta
Settings for frame deltas.
struct Rose::BinaryAnalysis::Unparser::Settings::@698::@713 mnemonic
Settings for instruction mnemonics.
struct Rose::BinaryAnalysis::Unparser::Settings::@696::@707 cfg
Settings for control flow graphs.
Style titleStyle
Style for title line of function.
struct Rose::BinaryAnalysis::Unparser::Settings::@694::@701 trailing
Comment extending to the end of the line.
Style separatorStyle
Style of the line separating functions.
bool showingArrows
Draw arrows from one block to another.
std::string separator
How to separate one operand from another.
struct Rose::BinaryAnalysis::Unparser::Settings::@695::@704 callconv
Settings for function calling convention.
Color::Colorization colorization
Overrides for global color settings.
bool showingSharing
Show functions when block is shared?
bool showingCallReturnFallThroughEdges
Show call-return fall through edges from one block to the next.
bool showingNormalFallThroughEdges
Show normal fall through edges from one block to the next.
Style style
Style for printing the address.
struct Rose::BinaryAnalysis::Unparser::Settings::@695 function
Settings for functions.
struct Rose::BinaryAnalysis::Unparser::Settings::@699 arrow
How to render arrows along the left margin.
struct Rose::BinaryAnalysis::Unparser::Settings::@695::@703 stackDelta
Settings for function stack deltas.
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::@695::@705 noop
Settings for no-op analysis.
bool showingWidth
Show width of all expression terms in square brackets.
struct Rose::BinaryAnalysis::Unparser::Settings::@696 bblock
Settings for basic blocks.
bool usingDescription
Lacking comment, use instruction description as comment?
struct Rose::BinaryAnalysis::Unparser::Settings::@698::@709 address
Settings for instruction starting addresses.
Style()
Construct an empty style using default colors.
Sawyer::Optional< Color::HSV > background
Optional background color.
Style(const Sawyer::Optional< Color::HSV > &fg, const Sawyer::Optional< Color::HSV > &bg=Sawyer::Nothing())
Construct a new style with the specified foreground and background colors.
Sawyer::Optional< Color::HSV > foreground
Optional foreground color.
std::string ansiStyle() const
Generate the ANSI escape for the style.
Control colored command output.