ij-16.png   inspectorJ -- JavaTM Profiler
sf project site browse source checkout source
SourceForge.net Logo



inspectorj::agent::commandset::BytecodeCmdSet Class Reference

#include <bytecodecmdset.h>

Inheritance diagram for inspectorj::agent::commandset::BytecodeCmdSet:

Inheritance graph
[legend]
Collaboration diagram for inspectorj::agent::commandset::BytecodeCmdSet:

Collaboration graph
[legend]
List of all members.

Detailed Description

BytecodeCmdSet is a commandSet for executing reference type commands.

Author:
James May

Definition at line 42 of file bytecodecmdset.h.

Public Member Functions

 BytecodeCmdSet (JavaVM *vm, JNIEnv *env, jvmtiEnv *jvmti)
 Constructor.
 ~BytecodeCmdSet ()
 Destructor.
virtual void process (JDWPCommand *cmd, boost::function< void(JDWPReply *) > cbk)
 Process a JDWPCommand.

Private Member Functions

void disassembleBytecodes (JDWPCommand *, boost::function< void(JDWPReply *) >)
 Disassemble the bytecodes of the class specified by the referenceId.
jvmtiError getSourceFileName (jclass &, QString &)
 Get the name of the source file from which the class was compiled.

Static Private Attributes

static const QString failureMsg


Constructor & Destructor Documentation

inspectorj::agent::commandset::BytecodeCmdSet::BytecodeCmdSet ( JavaVM *  vm,
JNIEnv *  env,
jvmtiEnv *  jvmti 
)

Constructor.

Definition at line 39 of file bytecodecmdset.cpp.

inspectorj::agent::commandset::BytecodeCmdSet::~BytecodeCmdSet (  ) 

Destructor.

Definition at line 47 of file bytecodecmdset.cpp.


Member Function Documentation

void inspectorj::agent::commandset::BytecodeCmdSet::process ( JDWPCommand cmd,
boost::function< void(JDWPReply *) >  cbk 
) [virtual]

Process a JDWPCommand.

Parameters:
cmd The JDWPCommand to process.
cbk The callback to receive a JDWPReply.

Reimplemented from inspectorj::agent::commandset::ReferenceTypeCmdSet.

Definition at line 57 of file bytecodecmdset.cpp.

References inspectorj::agent::commandset::JDWPCommandSet::cbk, disassembleBytecodes(), inspectorj::jdwp::JDWPCommand::getCmd(), and inspectorj::agent::commandset::JDWPCommandSet::sendNotImplementedReply().

void inspectorj::agent::commandset::BytecodeCmdSet::disassembleBytecodes ( JDWPCommand cmd,
boost::function< void(JDWPReply *) >  cbk 
) [private]

Disassemble the bytecodes of the class specified by the referenceId.

Disassembly will be performed based on the following options:

Definition at line 98 of file bytecodecmdset.cpp.

References inspectorj::agent::commandset::addColumnSpacing(), inspectorj::agent::commandset::JDWPCommandSet::cbk, inspectorj::agent::commandset::JDWPCommandSet::env, failureMsg, inspectorj::agent::commandset::JDWPCommandSet::getClassMap(), inspectorj::agent::commandset::ReferenceTypeCmdSet::getClassModifierString(), inspectorj::agent::commandset::ReferenceTypeCmdSet::getClassSignatureString(), inspectorj::agent::commandset::ReferenceTypeCmdSet::getFieldModifierString(), inspectorj::agent::commandset::ReferenceTypeCmdSet::getFieldString(), inspectorj::agent::commandset::JDWPCommandSet::getJDWPReply(), inspectorj::agent::commandset::ReferenceTypeCmdSet::getMethodModifierString(), inspectorj::agent::commandset::ReferenceTypeCmdSet::getMethodSignatureString(), inspectorj::agent::commandset::ReferenceTypeCmdSet::getReferenceTypeString(), getSourceFileName(), inspectorj::agent::commandset::JDWPCommandSet::jvmti, inspectorj::toolset::ToolSetUtils::normalizeClassSignature(), inspectorj::toolset::ToolSetUtils::normalizeMethodSignature(), and inspectorj::jdwp::JDWPReply::setErrorCode().

Referenced by process().

jvmtiError inspectorj::agent::commandset::BytecodeCmdSet::getSourceFileName ( jclass &  klass,
QString &  bytecodeStr 
) [private]

Get the name of the source file from which the class was compiled.

Parameters:
klass The class to query
error The jvmtiError
sourceFile The QString reference to hold the source file name

Definition at line 352 of file bytecodecmdset.cpp.

References check_jvmti_error(), and inspectorj::agent::commandset::JDWPCommandSet::jvmti.

Referenced by disassembleBytecodes().


The documentation for this class was generated from the following files:
Generated on Sun Aug 19 17:08:13 2007 for inspectorJ by  doxygen 1.5.1