4 #ifndef ROSE_BinaryAnalysis_Utils_H
5 #define ROSE_BinaryAnalysis_Utils_H
6 #include <featureTests.h>
7 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
9 #include "AsmUnparser_compat.h"
20 typedef typename boost::graph_traits<Graph>::vertex_descriptor
Vertex;
21 void operator()(std::ostream &output,
const Vertex &v)
const {
24 SgAsmFunction *func = SageInterface::getEnclosingNode<SgAsmFunction>(insn);
25 output <<
"[ label=\"[" <<v <<
"] " <<insn->
toString() <<
"\"";
27 output <<
", style=filled, color=\"#cd853f\"";
28 }
else if (x86 && x86_ret==x86->
get_kind()) {
29 output <<
", style=filled, color=\"#fed3a7\"";
Base class for machine instructions.
Represents a synthesized function.
Main namespace for the ROSE library.
Represents one Intel x86 machine instruction.
A vertex property writer for instruction-based CFGs.
rose_addr_t get_entry_va() const
Property: Primary entry address.
virtual std::string toString() const
Converts the instruction to a string.
Rose::BinaryAnalysis::X86InstructionKind get_kind() const
Property: Instruction kind.
rose_addr_t get_address() const
Property: Starting virtual address.