本文整理汇总了Java中org.apache.harmony.jpda.tests.framework.jdwp.CommandPacket.setNextValueAsArrayID方法的典型用法代码示例。如果您正苦于以下问题:Java CommandPacket.setNextValueAsArrayID方法的具体用法?Java CommandPacket.setNextValueAsArrayID怎么用?Java CommandPacket.setNextValueAsArrayID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.harmony.jpda.tests.framework.jdwp.CommandPacket
的用法示例。
在下文中一共展示了CommandPacket.setNextValueAsArrayID方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setArrayValues
import org.apache.harmony.jpda.tests.framework.jdwp.CommandPacket; //导入方法依赖的package包/类
/**
* Sets a range of array components. The specified range must be within the
* bounds of the array.
*
* @param arrayID
* The array object ID.
* @param firstIndex
* The first index to set.
* @param values
* An array of Value objects representing each value to set.
*/
public final void setArrayValues(long arrayID, int firstIndex,
Value[] values) {
CommandPacket command = new CommandPacket(
JDWPCommands.ArrayReferenceCommandSet.CommandSetID,
JDWPCommands.ArrayReferenceCommandSet.SetValuesCommand);
command.setNextValueAsArrayID(arrayID);
command.setNextValueAsInt(firstIndex);
command.setNextValueAsInt(values.length);
for (int i = 0; i < values.length; i++) {
command.setNextValueAsUntaggedValue(values[i]);
}
checkReply(performCommand(command));
}
示例2: checkArrayRegion
import org.apache.harmony.jpda.tests.framework.jdwp.CommandPacket; //导入方法依赖的package包/类
private void checkArrayRegion(long arrayID, int error, int firstIndex, int length,
byte expectedArrayTag, byte expectedElementTag, boolean checkValues)
throws UnsupportedEncodingException {
CommandPacket packet = new CommandPacket(
JDWPCommands.ArrayReferenceCommandSet.CommandSetID,
JDWPCommands.ArrayReferenceCommandSet.GetValuesCommand);
packet.setNextValueAsArrayID(arrayID);
packet.setNextValueAsInt(firstIndex);
packet.setNextValueAsInt(length);
ReplyPacket reply = debuggeeWrapper.vmMirror.performCommand(packet);
checkReplyPacket(reply, "ArrayReference::GetValues command", error);
if (reply.getErrorCode() == JDWPConstants.Error.NONE) {
// do not check values for non-array fields
ArrayRegion region = reply.getNextValueAsArrayRegion();
//System.err.println("length="+region.length);
byte arrayTag = region.getTag();
logWriter.println("==> arrayTag = " + arrayTag
+ "(" + JDWPConstants.Tag.getName(arrayTag) + ")");
logWriter.println("==> arrayLength = "+region.getLength());
Value value_0 = region.getValue(0);
byte elementTag = value_0.getTag();
logWriter.println("==> elementTag = " + elementTag
+ "(" + JDWPConstants.Tag.getName(elementTag) + ")");
assertEquals("ArrayReference::GetValues returned invalid array tag,",
expectedArrayTag, arrayTag,
JDWPConstants.Tag.getName(expectedArrayTag),
JDWPConstants.Tag.getName(arrayTag));
assertEquals("ArrayReference::GetValues returned invalid array length,",
length, region.getLength());
assertEquals("ArrayReference::GetValues returned invalid element tag",
expectedElementTag, elementTag,
JDWPConstants.Tag.getName(expectedElementTag),
JDWPConstants.Tag.getName(elementTag));
if (checkValues) {
for (int i = 0; i < region.getLength(); i++) {
Value value = region.getValue(i);
if (value.getTag() == JDWPConstants.Tag.INT_TAG) {
assertEquals("ArrayReference::GetValues returned invalid value on index:<" + i + ">,",
value.getIntValue(), i + firstIndex);
}
else if (value.getTag() == JDWPConstants.Tag.STRING_TAG) {
long stringID = value.getLongValue();
String s = getStringValue(stringID);
assertEquals("ArrayReference::GetValues returned invalid value on index:<" + i + ">,",
Integer.parseInt(s), i + firstIndex);
}
}
}
}
}