in src/main/java/com/jetbrains/jdi/JDWP.java [4067:4105]
static PacketStream enqueueCommand(VirtualMachineImpl vm,
InterfaceTypeImpl clazz,
ThreadReferenceImpl thread,
long methodID,
ValueImpl[] arguments,
int options) {
PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
if ((vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
ps.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.InterfaceType.InvokeMethod"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
}
if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
ps.printTrace("Sending: clazz(InterfaceTypeImpl): " + (clazz==null?"NULL":"ref="+clazz.ref()));
}
ps.writeClassRef(clazz.ref());
if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
ps.printTrace("Sending: thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
}
ps.writeObjectRef(thread.ref());
if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
ps.printTrace("Sending: methodID(long): " + methodID);
}
ps.writeMethodRef(methodID);
if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
ps.printTrace("Sending: arguments(ValueImpl[]): " + "");
}
ps.writeInt(arguments.length);
for (int i = 0; i < arguments.length; i++) {
if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
ps.printTrace("Sending: arguments[i](ValueImpl): " + arguments[i]);
}
ps.writeValue(arguments[i]);
}
if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
ps.printTrace("Sending: options(int): " + options);
}
ps.writeInt(options);
ps.send();
return ps;
}