ROSE  0.11.145.0
Classes | List of all members
Rose::BinaryAnalysis::AsmUnparser::UnparserCallback Class Reference

Description

Definition at line 279 of file AsmUnparser.h.

Inheritance diagram for Rose::BinaryAnalysis::AsmUnparser::UnparserCallback:
Inheritance graph
[legend]

Classes

struct  BasicBlockArgs
 Arguments passed to basic block unparsing callbacks. More...
 
struct  DataBlockArgs
 Arguments passed to data block unparsing callbacks. More...
 
struct  FunctionArgs
 Arguments passed to function unparsing callbacks. More...
 
struct  GeneralArgs
 Arguments common to all unparser callback lists. More...
 
struct  InsnArgs
 Arguments passed to instruction unparsing callbacks. More...
 
struct  InterpretationArgs
 Arguments passed to interpretation unparsing callbacks. More...
 
struct  StaticDataArgs
 Arguments passed to data unparsing callbacks. More...
 

Public Member Functions

virtual bool operator() (bool, const InsnArgs &)
 Default callbacks. More...
 
virtual bool operator() (bool, const BasicBlockArgs &)
 Default callbacks. More...
 
virtual bool operator() (bool, const StaticDataArgs &)
 Default callbacks. More...
 
virtual bool operator() (bool, const DataBlockArgs &)
 Default callbacks. More...
 
virtual bool operator() (bool, const FunctionArgs &)
 Default callbacks. More...
 
virtual bool operator() (bool, const InterpretationArgs &)
 Default callbacks. More...
 

Member Function Documentation

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

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 in Rose::BinaryAnalysis::AsmUnparser::StaticDataDisassembler::DataNote, Rose::BinaryAnalysis::AsmUnparser::InsnSkipBackEnd, Rose::BinaryAnalysis::AsmUnparser::InsnLineTermination, Rose::BinaryAnalysis::AsmUnparser::InsnComment, Rose::BinaryAnalysis::AsmUnparser::InsnNoEffect, Rose::BinaryAnalysis::AsmUnparser::InsnBody, Rose::BinaryAnalysis::AsmUnparser::InsnStackDelta, Rose::BinaryAnalysis::AsmUnparser::InsnBlockEntry, Rose::BinaryAnalysis::AsmUnparser::InsnRawBytes, Rose::BinaryAnalysis::AsmUnparser::InsnAddress, Rose::BinaryAnalysis::AsmUnparser::InsnFuncEntry, Rose::BinaryAnalysis::AsmUnparser::InsnBlockSeparation, and Rose::BinaryAnalysis::AsmUnparser::InsnSkipBackBegin.

Definition at line 355 of file AsmUnparser.h.

virtual bool Rose::BinaryAnalysis::AsmUnparser::UnparserCallback::operator() ( bool  ,
const BasicBlockArgs  
)
inlinevirtual

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 in Rose::BinaryAnalysis::AsmUnparser::BasicBlockCleanup, Rose::BinaryAnalysis::AsmUnparser::BasicBlockLineTermination, Rose::BinaryAnalysis::AsmUnparser::BasicBlockSuccessors, Rose::BinaryAnalysis::AsmUnparser::BasicBlockOutgoingStackDelta, Rose::BinaryAnalysis::AsmUnparser::BasicBlockBody, Rose::BinaryAnalysis::AsmUnparser::BasicBlockNoopWarning, Rose::BinaryAnalysis::AsmUnparser::BasicBlockNoopUpdater, Rose::BinaryAnalysis::AsmUnparser::BasicBlockPredecessors, and Rose::BinaryAnalysis::AsmUnparser::BasicBlockReasons.

Definition at line 356 of file AsmUnparser.h.

virtual bool Rose::BinaryAnalysis::AsmUnparser::UnparserCallback::operator() ( bool  ,
const StaticDataArgs  
)
inlinevirtual

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 in Rose::BinaryAnalysis::AsmUnparser::DataBlockTitle, Rose::BinaryAnalysis::AsmUnparser::StaticDataSkipBackEnd, Rose::BinaryAnalysis::AsmUnparser::StaticDataDisassembler, Rose::BinaryAnalysis::AsmUnparser::StaticDataLineTermination, Rose::BinaryAnalysis::AsmUnparser::StaticDataComment, Rose::BinaryAnalysis::AsmUnparser::StaticDataDetails, Rose::BinaryAnalysis::AsmUnparser::StaticDataBlockEntry, Rose::BinaryAnalysis::AsmUnparser::StaticDataRawBytes, Rose::BinaryAnalysis::AsmUnparser::StaticDataBlockSeparation, and Rose::BinaryAnalysis::AsmUnparser::StaticDataSkipBackBegin.

Definition at line 357 of file AsmUnparser.h.

virtual bool Rose::BinaryAnalysis::AsmUnparser::UnparserCallback::operator() ( bool  ,
const DataBlockArgs  
)
inlinevirtual

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 in Rose::BinaryAnalysis::AsmUnparser::DataBlockLineTermination, and Rose::BinaryAnalysis::AsmUnparser::DataBlockBody.

Definition at line 358 of file AsmUnparser.h.

virtual bool Rose::BinaryAnalysis::AsmUnparser::UnparserCallback::operator() ( bool  ,
const FunctionArgs  
)
inlinevirtual

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 in Rose::BinaryAnalysis::AsmUnparser::FunctionBody, Rose::BinaryAnalysis::AsmUnparser::FunctionAttributes, Rose::BinaryAnalysis::AsmUnparser::FunctionSuccessors, Rose::BinaryAnalysis::AsmUnparser::FunctionPredecessors, Rose::BinaryAnalysis::AsmUnparser::FunctionComment, Rose::BinaryAnalysis::AsmUnparser::FunctionLineTermination, Rose::BinaryAnalysis::AsmUnparser::FunctionName, Rose::BinaryAnalysis::AsmUnparser::FunctionReasons, Rose::BinaryAnalysis::AsmUnparser::FunctionSeparator, and Rose::BinaryAnalysis::AsmUnparser::FunctionEntryAddress.

Definition at line 359 of file AsmUnparser.h.

virtual bool Rose::BinaryAnalysis::AsmUnparser::UnparserCallback::operator() ( bool  ,
const InterpretationArgs  
)
inlinevirtual

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 in Rose::BinaryAnalysis::AsmUnparser::InterpBody, and Rose::BinaryAnalysis::AsmUnparser::InterpName.

Definition at line 360 of file AsmUnparser.h.


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