ROSE 0.11.145.147
Public Member Functions | Public Attributes | List of all members
Rose::BinaryAnalysis::AsmUnparser::InsnBlockEntry Class Reference

Description

Functor to emit info about the first instruction of a block.

If the instruction is the first instruction of a block, then certain information is printed. The output for all instructions is always the same width so that things line up properly between instructions that are first in a block and those that aren't. This callback is a no-op unless the output is organized by address.

Definition at line 417 of file AsmUnparser.h.

#include <backend/asmUnparser/AsmUnparser.h>

Inheritance diagram for Rose::BinaryAnalysis::AsmUnparser::InsnBlockEntry:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::AsmUnparser::InsnBlockEntry:
Collaboration graph
[legend]

Public Member Functions

virtual bool operator() (bool enabled, const InsnArgs &args)
 Default callbacks.
 
- Public Member Functions inherited from Rose::BinaryAnalysis::AsmUnparser::UnparserCallback
virtual bool operator() (bool, const BasicBlockArgs &)
 Default callbacks.
 
virtual bool operator() (bool, const StaticDataArgs &)
 Default callbacks.
 
virtual bool operator() (bool, const DataBlockArgs &)
 Default callbacks.
 
virtual bool operator() (bool, const FunctionArgs &)
 Default callbacks.
 
virtual bool operator() (bool, const InterpretationArgs &)
 Default callbacks.
 

Public Attributes

bool show_function
 If true (the default) show entry address of function owning block.
 
bool show_reasons
 If true (the default) show block reason bits.
 

Constructor & Destructor Documentation

◆ InsnBlockEntry()

Rose::BinaryAnalysis::AsmUnparser::InsnBlockEntry::InsnBlockEntry ( )
inline

Definition at line 421 of file AsmUnparser.h.

Member Function Documentation

◆ operator()()

virtual bool Rose::BinaryAnalysis::AsmUnparser::InsnBlockEntry::operator() ( bool  ,
const InsnArgs  
)
virtual

Default callbacks.

The default is to abort, because if these are called it means one of three things:

  1. The arguments are wrong in the subclass and the subclass therefore isn't providing an implementation when it thinks it is.
  2. The wrong type was used for the second argument. Instruction callbacks use InsnArgs, basic block callbacks use BasicBlockArgs, etc.
  3. The functor was added to the wrong callback list. For instance, an instruction functor was accidently added to one of the function callback lists.

Reimplemented from Rose::BinaryAnalysis::AsmUnparser::UnparserCallback.

Member Data Documentation

◆ show_function

bool Rose::BinaryAnalysis::AsmUnparser::InsnBlockEntry::show_function

If true (the default) show entry address of function owning block.

Definition at line 419 of file AsmUnparser.h.

◆ show_reasons

bool Rose::BinaryAnalysis::AsmUnparser::InsnBlockEntry::show_reasons

If true (the default) show block reason bits.

Definition at line 420 of file AsmUnparser.h.


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