ROSE 0.11.145.192
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.
 
struct { 
 
   struct { 
 
      Style   style 
 
   }   line 
 Comment occupying an entire line.
 
   struct { 
 
      Style   style 
 
   }   trailing 
 Comment extending to the end of the line.
 
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? More...
 
   }   cg 
 Settings for function call graphs.
 
   struct { 
 
      bool   showing 
 Show stack delta? More...
 
      bool   concrete 
 Show concrete or symbolic deltas. More...
 
   }   stackDelta 
 Settings for function stack deltas.
 
   struct { 
 
      bool   showing 
 Show calling convention? More...
 
   }   callconv 
 Settings for function calling convention.
 
   struct { 
 
      bool   showing 
 Show no-op analysis results? More...
 
   }   noop 
 Settings for no-op analysis.
 
   struct { 
 
      bool   showing 
 Show results of may-return analysis? More...
 
   }   mayReturn 
 Settings for may-return analysis.
 
function 
 Settings for functions.
 
struct { 
 
   bool   showingSourceLocation 
 Show source file name and line number when available. More...
 
   struct { 
 
      bool   showingPredecessors 
 Show basic block predecessors? More...
 
      bool   showingSuccessors 
 Show basic block successors? More...
 
      bool   showingSharing 
 Show functions when block is shared? More...
 
      bool   showingArrows 
 Draw arrows from one block to another. More...
 
      Style   arrowStyle 
 Arrow style. More...
 
   }   cfg 
 Settings for control flow graphs.
 
   struct { 
 
      bool   showingReachability 
 Show code reachability in the basic block prologue area. More...
 
   }   reach 
 Reachability analysis results.
 
   bool   showingPostBlock 
 Show info about what happens after the last instruction. More...
 
bblock 
 Settings for basic blocks.
 
struct { 
 
   bool   showingSourceLocation 
 Show source file ane line number when available. More...
 
dblock 
 
struct { 
 
   struct { 
 
      bool   showing 
 Show instruction addresses or labels? More...
 
      bool   useLabels 
 Generate labels and use them instead of addresses? More...
 
      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.
 
   struct { 
 
      bool   showing 
 Show instruction bytes? More...
 
      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.
 
   struct { 
 
      bool   showing 
 Show stack deltas? More...
 
      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.
 
   struct { 
 
      bool   showing 
 Show frame pointer w.r.t. More...
 
      size_t   fieldWidth 
 Min characters to use for the frame delta field. More...
 
      Style   style 
 Style for the frame delta. More...
 
   }   frameDelta 
 Settings for frame deltas.
 
   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.
 
   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.
 
   struct { 
 
      bool   showing 
 Show instruction comments? More...
 
      bool   usingDescription 
 Lacking comment, use instruction description as comment? More...
 
      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.
 
   struct { 
 
      bool   showing 
 Show instruction semantics? More...
 
      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.
 
struct { 
 
   EdgeArrows::ArrowStylePreset   style 
 One of the arrow style presets. More...
 
arrow 
 How to render arrows along the left margin.
 
std::string linePrefix
 

Constructor & Destructor Documentation

◆ ~Settings()

virtual Rose::BinaryAnalysis::Unparser::Settings::~Settings ( )
inlinevirtual

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

Member Data Documentation

◆ colorization

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

Overrides for global color settings.

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

◆ style [1/2]

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 frame delta.

Style for the stack delta.

Style for printing the insn bytes.

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

◆ separatorStyle

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

Style of the line separating functions.

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

◆ titleStyle

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

Style for title line of function.

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

◆ showingSourceLocation

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.

◆ showingReasons

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

Show reasons for function existing.

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

◆ showingDemangled

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

Show demangled name in preference to mangled name.

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

◆ showing

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

Show function call graph?

Show instruction semantics?

Show instruction comments?

Show frame pointer w.r.t.

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?

stack pointer.

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

◆ concrete

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

Show concrete or symbolic deltas.

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

◆ showingPredecessors

bool Rose::BinaryAnalysis::Unparser::Settings::showingPredecessors

Show basic block predecessors?

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

◆ showingSuccessors

bool Rose::BinaryAnalysis::Unparser::Settings::showingSuccessors

Show basic block successors?

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

◆ showingSharing

bool Rose::BinaryAnalysis::Unparser::Settings::showingSharing

Show functions when block is shared?

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

◆ showingArrows

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

Draw arrows from one block to another.

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

◆ arrowStyle

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

Arrow style.

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

◆ showingReachability

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

Show code reachability in the basic block prologue area.

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

◆ showingPostBlock

bool Rose::BinaryAnalysis::Unparser::Settings::showingPostBlock

Show info about what happens after the last instruction.

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

◆ useLabels

bool Rose::BinaryAnalysis::Unparser::Settings::useLabels

Generate labels and use them instead of addresses?

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

◆ fieldWidth

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 frame delta field.

Min characters to use for the stack delta field.

Min characters to use for the bytes field.

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

◆ perLine

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

Max number of bytes to show per line of output.

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

◆ semanticFailureMarker

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

Mark instruction if it had semantic failures.

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

◆ semanticFailureStyle

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

Style for the semantic failure indicator.

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

◆ separator

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

How to separate one operand from another.

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

◆ showingWidth

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

Show width of all expression terms in square brackets.

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

◆ usingDescription

bool Rose::BinaryAnalysis::Unparser::Settings::usingDescription

Lacking comment, use instruction description as comment?

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

◆ pre

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

String to introduce a comment.

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

◆ post

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

String to terminate a comment.

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

◆ formatter

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

How to format the semantic state output.

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

◆ tracing

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

Show instruction semantics traces when showing semantics.

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

◆ style [2/2]

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

One of the arrow style presets.

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

◆ linePrefix

std::string Rose::BinaryAnalysis::Unparser::Settings::linePrefix

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


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