writer.indent();
writer.write("Locals: ");
writer.writeDelimiter("[");
for (int i = 0; i < localValues.size(); i++) {
final FrameValue value = localValues.get(i);
if (i != 0) {
writer.writeDelimiter(", ");
}
if (value.getType() == FrameValueType.Reference) {
writer.writeLiteral("Reference");
writer.writeDelimiter("(");
writeType(writer, (TypeReference) value.getParameter(), NameSyntax.SIGNATURE);
writer.writeDelimiter(")");
}
else {
writer.writeLiteral(String.valueOf(value.getType()));
}
}
writer.writeDelimiter("]");
writer.unindent();
}
if (!stackValues.isEmpty()) {
writer.writeLine();
writer.indent();
writer.write("Stack: ");
writer.writeDelimiter("[");
for (int i = 0; i < stackValues.size(); i++) {
final FrameValue value = stackValues.get(i);
if (i != 0) {
writer.writeDelimiter(", ");
}
if (value.getType() == FrameValueType.Reference) {
writer.writeLiteral("Reference");
writer.writeDelimiter("(");
writeType(writer, (TypeReference) value.getParameter(), NameSyntax.SIGNATURE);
writer.writeDelimiter(")");
}
else {
writer.writeLiteral(String.valueOf(value.getType()));
}
}
writer.writeDelimiter("]");
writer.unindent();