OpenASIP
2.0
|
#include <DisassemblyInstruction.hh>
Public Member Functions | |
DisassemblyInstruction () | |
~DisassemblyInstruction () | |
Word | moveCount () const |
void | addMove (DisassemblyInstructionSlot *move) |
DisassemblyInstructionSlot & | move (Word index) const |
Word | longImmediateCount () const |
void | addLongImmediate (DisassemblyImmediateAssignment *longImm) |
DisassemblyImmediateAssignment & | longImmediate (Word index) const |
std::string | toString () const |
DisassemblyAnnotation & | annotation (int index) const |
void | addAnnotation (DisassemblyAnnotation *annotation) |
int | annotationCount () const |
Private Types | |
typedef std::vector< DisassemblyInstructionSlot * > | MoveTable |
Vector of DisassemblyMoves. More... | |
typedef std::vector< DisassemblyImmediateAssignment * > | LongImmediateTable |
Vector of DisassemblyMoves. More... | |
Private Member Functions | |
DisassemblyInstruction (const DisassemblyInstruction &) | |
Copying not allowed. More... | |
DisassemblyInstruction | operator= (const DisassemblyInstruction &) |
Assignment not allowed. More... | |
Private Attributes | |
MoveTable | moves_ |
List of instruction moves. More... | |
LongImmediateTable | longImmediates_ |
List of instruction long immediates. More... | |
std::vector< DisassemblyAnnotation * > | annotations_ |
Annotationes of instruction itself. More... | |
Represents an instruction in the disassembler.
Definition at line 46 of file DisassemblyInstruction.hh.
|
private |
Vector of DisassemblyMoves.
Definition at line 70 of file DisassemblyInstruction.hh.
|
private |
Vector of DisassemblyMoves.
Definition at line 67 of file DisassemblyInstruction.hh.
DisassemblyInstruction::DisassemblyInstruction | ( | ) |
DisassemblyInstruction::~DisassemblyInstruction | ( | ) |
Destructor.
Definition at line 46 of file DisassemblyInstruction.cc.
References SequenceTools::deleteAllItems(), and moves_.
|
private |
Copying not allowed.
void DisassemblyInstruction::addAnnotation | ( | DisassemblyAnnotation * | annotation | ) |
Adds an annotation to instruction.
annotation | Annotation to add. |
Definition at line 175 of file DisassemblyInstruction.cc.
References annotation(), and annotations_.
Referenced by TPEFDisassembler::createInstruction().
void DisassemblyInstruction::addLongImmediate | ( | DisassemblyImmediateAssignment * | longImm | ) |
Adds a long immediate to the instruction.
longImm | Immediate to be added. |
Definition at line 96 of file DisassemblyInstruction.cc.
References longImmediates_.
Referenced by TPEFDisassembler::createInstruction(), POMDisassembler::createInstruction(), and POMDisassembler::disassemble().
void DisassemblyInstruction::addMove | ( | DisassemblyInstructionSlot * | move | ) |
Adds a move to the instruction.
move | Move to be added. |
Definition at line 58 of file DisassemblyInstruction.cc.
References move(), and moves_.
Referenced by TPEFDisassembler::createInstruction(), POMDisassembler::createInstruction(), and POMDisassembler::disassemble().
DisassemblyAnnotation & DisassemblyInstruction::annotation | ( | int | index | ) | const |
Returns annotation of requested index.
index | Index of annotation to return. |
Definition at line 165 of file DisassemblyInstruction.cc.
References annotations_.
Referenced by addAnnotation(), and toString().
int DisassemblyInstruction::annotationCount | ( | ) | const |
Returns the number of annotationes stored for the instruction.
Definition at line 185 of file DisassemblyInstruction.cc.
References annotations_.
Referenced by toString().
DisassemblyImmediateAssignment & DisassemblyInstruction::longImmediate | ( | Word | index | ) | const |
Returns the long immediate at a given index.
index | Index of the long immediate. |
OutOfRange | If the give index is out of range. |
Definition at line 122 of file DisassemblyInstruction.cc.
References __func__, longImmediateCount(), and longImmediates_.
Referenced by DisassemblyGridTable::GetValue(), and toString().
Word DisassemblyInstruction::longImmediateCount | ( | ) | const |
Returns number of long immediates in the instruction.
Definition at line 109 of file DisassemblyInstruction.cc.
References longImmediates_.
Referenced by DisassemblyGridTable::GetValue(), longImmediate(), and toString().
DisassemblyInstructionSlot & DisassemblyInstruction::move | ( | Word | index | ) | const |
Returns the isntruction move at a given index.
index | Index of the move. |
OutOfRange | If the give index is out of range. |
Definition at line 82 of file DisassemblyInstruction.cc.
References moveCount(), and moves_.
Referenced by addMove(), DisassemblyGridTable::GetValue(), and toString().
Word DisassemblyInstruction::moveCount | ( | ) | const |
Returns number of moves in the instruction.
Definition at line 69 of file DisassemblyInstruction.cc.
References moves_.
Referenced by move(), and toString().
|
private |
Assignment not allowed.
std::string DisassemblyInstruction::toString | ( | ) | const |
Returns disassembly of the instruction.
Definition at line 135 of file DisassemblyInstruction.cc.
References annotation(), annotationCount(), longImmediate(), longImmediateCount(), move(), moveCount(), DisassemblyInstructionSlot::toString(), DisassemblyAnnotation::toString(), and DisassemblyImmediateAssignment::toString().
Referenced by POMDisassembler::disassemble(), and TPEFDumper::section().
|
private |
Annotationes of instruction itself.
Definition at line 84 of file DisassemblyInstruction.hh.
Referenced by addAnnotation(), annotation(), and annotationCount().
|
private |
List of instruction long immediates.
Definition at line 81 of file DisassemblyInstruction.hh.
Referenced by addLongImmediate(), longImmediate(), and longImmediateCount().
|
private |
List of instruction moves.
Definition at line 78 of file DisassemblyInstruction.hh.
Referenced by addMove(), move(), moveCount(), and ~DisassemblyInstruction().