ROSE  0.11.145.0
Static Public Member Functions | Public Attributes | List of all members
Rose::BinaryAnalysis::Unparser::Settings Struct Reference

Description

Settings that control unparsing.

This struct holds all settings that control the output of the binary instruction unparser. Particular subclasses of the basic unparser may have settings that derive from these base settings. The commandLineSwitches function can be used to control these settings from a command-line.

Definition at line 30 of file Unparser/Settings.h.

#include <Rose/BinaryAnalysis/Unparser/Settings.h>

Inheritance diagram for Rose::BinaryAnalysis::Unparser::Settings:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::Unparser::Settings:
Collaboration graph
[legend]

Static Public Member Functions

static Settings full ()
 
static Settings minimal ()
 

Public Attributes

Color::Colorization colorization
 Overrides for global color settings. More...
 
struct {
   struct {
      Style   style
 
   }   line
 Comment occupying an entire line. More...
 
   struct {
      Style   style
 
   }   trailing
 Comment extending to the end of the line. More...
 
comment
 
struct {
   Style   separatorStyle
 Style of the line separating functions. More...
 
   Style   titleStyle
 Style for title line of function. More...
 
   bool   showingSourceLocation
 Show source file name and line number when available. More...
 
   bool   showingReasons
 Show reasons for function existing. More...
 
   bool   showingDemangled
 Show demangled name in preference to mangled name. More...
 
   struct {
      bool   showing
 Show function call graph?
 
   }   cg
 Settings for function call graphs. More...
 
   struct {
      bool   showing
 Show stack delta?
 
      bool   concrete
 Show concrete or symbolic deltas. More...
 
   }   stackDelta
 Settings for function stack deltas. More...
 
   struct {
      bool   showing
 Show calling convention?
 
   }   callconv
 Settings for function calling convention. More...
 
   struct {
      bool   showing
 Show no-op analysis results?
 
   }   noop
 Settings for no-op analysis. More...
 
   struct {
      bool   showing
 Show results of may-return analysis?
 
   }   mayReturn
 Settings for may-return analysis. More...
 
function
 Settings for functions. More...
 
struct {
   bool   showingSourceLocation
 Show source file name and line number when available. More...
 
   struct {
      bool   showingPredecessors
 Show basic block predecessors?
 
      bool   showingSuccessors
 Show basic block successors?
 
      bool   showingSharing
 Show functions when block is shared?
 
      bool   showingArrows
 Draw arrows from one block to another. More...
 
      Style   arrowStyle
 Arrow style. More...
 
   }   cfg
 Settings for control flow graphs. More...
 
   struct {
      bool   showingReachability
 Show code reachability in the basic block prologue area. More...
 
   }   reach
 Reachability analysis results. More...
 
bblock
 Settings for basic blocks. More...
 
struct {
   bool   showingSourceLocation
 Show source file ane line number when available. More...
 
dblock
 
struct {
   struct {
      bool   showing
 Show instruction addresses or labels?
 
      bool   useLabels
 Generate labels and use them instead of addresses?
 
      size_t   fieldWidth
 Min characters to use per insn address. More...
 
      Style   style
 Style for printing the address. More...
 
   }   address
 Settings for instruction starting addresses. More...
 
   struct {
      bool   showing
 Show instruction bytes?
 
      size_t   perLine
 Max number of bytes to show per line of output. More...
 
      size_t   fieldWidth
 Min characters to use for the bytes field. More...
 
      Style   style
 Style for printing the insn bytes. More...
 
   }   bytes
 Settings for the bytes that make up an instruction. More...
 
   struct {
      bool   showing
 Show stack deltas?
 
      size_t   fieldWidth
 Min characters to use for the stack delta field. More...
 
      Style   style
 Style for the stack delta. More...
 
   }   stackDelta
 Settings for stack deltas. More...
 
   struct {
      size_t   fieldWidth
 Min characters to use for the instruction mnemonic. More...
 
      std::string   semanticFailureMarker
 Mark instruction if it had semantic failures. More...
 
      Style   semanticFailureStyle
 Style for the semantic failure indicator. More...
 
      Style   style
 Style for mnemonic. More...
 
   }   mnemonic
 Settings for instruction mnemonics. More...
 
   struct {
      std::string   separator
 How to separate one operand from another. More...
 
      size_t   fieldWidth
 Min characters to use for the operand list. More...
 
      bool   showingWidth
 Show width of all expression terms in square brackets. More...
 
      Style   style
 Output style for instruction operands. More...
 
   }   operands
 Settings for the operand list. More...
 
   struct {
      bool   showing
 Show instruction comments?
 
      bool   usingDescription
 Lacking comment, use instruction description as comment?
 
      std::string   pre
 String to introduce a comment. More...
 
      std::string   post
 String to terminate a comment. More...
 
      size_t   fieldWidth
 Min characters to use for the comment field. More...
 
   }   comment
 Settings for instruction comments. More...
 
   struct {
      bool   showing
 Show instruction semantics?
 
      InstructionSemantics::BaseSemantics::Formatter   formatter
 How to format the semantic state output. More...
 
      bool   tracing
 Show instruction semantics traces when showing semantics. More...
 
      Style   style
 Style for showing instruction semantics. More...
 
   }   semantics
 
insn
 Settings for instructions. More...
 
struct {
   EdgeArrows::ArrowStylePreset   style
 One of the arrow style presets. More...
 
arrow
 How to render arrows along the left margin. More...
 
std::string linePrefix
 

Member Data Documentation

Color::Colorization Rose::BinaryAnalysis::Unparser::Settings::colorization

Overrides for global color settings.

Definition at line 33 of file Unparser/Settings.h.

Style Rose::BinaryAnalysis::Unparser::Settings::style

Style for printing the address.

Style for showing instruction semantics.

Output style for instruction operands.

Style for mnemonic.

Style for the stack delta.

Style for printing the insn bytes.

Definition at line 37 of file Unparser/Settings.h.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::line

Comment occupying an entire line.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::trailing

Comment extending to the end of the line.

Style Rose::BinaryAnalysis::Unparser::Settings::separatorStyle

Style of the line separating functions.

Definition at line 45 of file Unparser/Settings.h.

Style Rose::BinaryAnalysis::Unparser::Settings::titleStyle

Style for title line of function.

Definition at line 46 of file Unparser/Settings.h.

bool Rose::BinaryAnalysis::Unparser::Settings::showingSourceLocation

Show source file name and line number when available.

Show source file ane line number when available.

Definition at line 47 of file Unparser/Settings.h.

bool Rose::BinaryAnalysis::Unparser::Settings::showingReasons

Show reasons for function existing.

Definition at line 48 of file Unparser/Settings.h.

bool Rose::BinaryAnalysis::Unparser::Settings::showingDemangled

Show demangled name in preference to mangled name.

Definition at line 49 of file Unparser/Settings.h.

bool Rose::BinaryAnalysis::Unparser::Settings::showing

Show function call graph?

Show instruction semantics?

Show instruction comments?

Show stack deltas?

Show instruction bytes?

Show instruction addresses or labels?

Show results of may-return analysis?

Show no-op analysis results?

Show calling convention?

Show stack delta?

Definition at line 51 of file Unparser/Settings.h.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::cg

Settings for function call graphs.

bool Rose::BinaryAnalysis::Unparser::Settings::concrete

Show concrete or symbolic deltas.

Definition at line 55 of file Unparser/Settings.h.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::stackDelta

Settings for function stack deltas.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::callconv

Settings for function calling convention.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::noop

Settings for no-op analysis.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::mayReturn

Settings for may-return analysis.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::function

Settings for functions.

bool Rose::BinaryAnalysis::Unparser::Settings::showingArrows

Draw arrows from one block to another.

Definition at line 74 of file Unparser/Settings.h.

Style Rose::BinaryAnalysis::Unparser::Settings::arrowStyle

Arrow style.

Definition at line 75 of file Unparser/Settings.h.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::cfg

Settings for control flow graphs.

bool Rose::BinaryAnalysis::Unparser::Settings::showingReachability

Show code reachability in the basic block prologue area.

Definition at line 78 of file Unparser/Settings.h.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::reach

Reachability analysis results.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::bblock

Settings for basic blocks.

size_t Rose::BinaryAnalysis::Unparser::Settings::fieldWidth

Min characters to use per insn address.

Min characters to use for the comment field.

Min characters to use for the operand list.

Min characters to use for the instruction mnemonic.

Min characters to use for the stack delta field.

Min characters to use for the bytes field.

Definition at line 90 of file Unparser/Settings.h.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::address

Settings for instruction starting addresses.

size_t Rose::BinaryAnalysis::Unparser::Settings::perLine

Max number of bytes to show per line of output.

Definition at line 96 of file Unparser/Settings.h.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::bytes

Settings for the bytes that make up an instruction.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::stackDelta

Settings for stack deltas.

std::string Rose::BinaryAnalysis::Unparser::Settings::semanticFailureMarker

Mark instruction if it had semantic failures.

Definition at line 109 of file Unparser/Settings.h.

Style Rose::BinaryAnalysis::Unparser::Settings::semanticFailureStyle

Style for the semantic failure indicator.

Definition at line 110 of file Unparser/Settings.h.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::mnemonic

Settings for instruction mnemonics.

std::string Rose::BinaryAnalysis::Unparser::Settings::separator

How to separate one operand from another.

Definition at line 115 of file Unparser/Settings.h.

bool Rose::BinaryAnalysis::Unparser::Settings::showingWidth

Show width of all expression terms in square brackets.

Definition at line 117 of file Unparser/Settings.h.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::operands

Settings for the operand list.

std::string Rose::BinaryAnalysis::Unparser::Settings::pre

String to introduce a comment.

Definition at line 124 of file Unparser/Settings.h.

std::string Rose::BinaryAnalysis::Unparser::Settings::post

String to terminate a comment.

Definition at line 125 of file Unparser/Settings.h.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::comment

Settings for instruction comments.

InstructionSemantics::BaseSemantics::Formatter Rose::BinaryAnalysis::Unparser::Settings::formatter

How to format the semantic state output.

Definition at line 131 of file Unparser/Settings.h.

bool Rose::BinaryAnalysis::Unparser::Settings::tracing

Show instruction semantics traces when showing semantics.

Definition at line 132 of file Unparser/Settings.h.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::insn

Settings for instructions.

EdgeArrows::ArrowStylePreset Rose::BinaryAnalysis::Unparser::Settings::style

One of the arrow style presets.

Definition at line 138 of file Unparser/Settings.h.

struct { ... } Rose::BinaryAnalysis::Unparser::Settings::arrow

How to render arrows along the left margin.


The documentation for this struct was generated from the following file: