/** * Creates a label with the {@link Label#FLAG_DEBUG_ONLY} flag set, if there is no already * existing label for the given bytecode offset (otherwise does nothing). The label is created * with a call to {@link #readLabel}. * * @param bytecodeOffset a bytecode offset in a method. * @param labels the already created labels, indexed by their offset. */ private void createDebugLabel(final int bytecodeOffset, final Label[] labels) { if (labels[bytecodeOffset] == null) { readLabel(bytecodeOffset, labels).flags |= Label.FLAG_DEBUG_ONLY; } }
/** * Creates a label without the {@link Label#FLAG_DEBUG_ONLY} flag set, for the given bytecode * offset. The label is created with a call to {@link #readLabel} and its {@link * Label#FLAG_DEBUG_ONLY} flag is cleared. * * @param bytecodeOffset a bytecode offset in a method. * @param labels the already created labels, indexed by their offset. * @return a Label without the {@link Label#FLAG_DEBUG_ONLY} flag set. */ private Label createLabel(final int bytecodeOffset, final Label[] labels) { Label label = readLabel(bytecodeOffset, labels); label.flags &= ~Label.FLAG_DEBUG_ONLY; return label; }
/** * Creates a label with the {@link Label#FLAG_DEBUG_ONLY} flag set, if there is no already * existing label for the given bytecode offset (otherwise does nothing). The label is created * with a call to {@link #readLabel}. * * @param bytecodeOffset a bytecode offset in a method. * @param labels the already created labels, indexed by their offset. */ private void createDebugLabel(final int bytecodeOffset, final Label[] labels) { if (labels[bytecodeOffset] == null) { readLabel(bytecodeOffset, labels).flags |= Label.FLAG_DEBUG_ONLY; } }
/** * Creates a label with the {@link Label#FLAG_DEBUG_ONLY} flag set, if there is no already * existing label for the given bytecode offset (otherwise does nothing). The label is created * with a call to {@link #readLabel}. * * @param bytecodeOffset a bytecode offset in a method. * @param labels the already created labels, indexed by their offset. */ private void createDebugLabel(final int bytecodeOffset, final Label[] labels) { if (labels[bytecodeOffset] == null) { readLabel(bytecodeOffset, labels).flags |= Label.FLAG_DEBUG_ONLY; } }
/** * Creates a label with the {@link Label#FLAG_DEBUG_ONLY} flag set, if there is no already * existing label for the given bytecode offset (otherwise does nothing). The label is created * with a call to {@link #readLabel}. * * @param bytecodeOffset a bytecode offset in a method. * @param labels the already created labels, indexed by their offset. */ private void createDebugLabel(final int bytecodeOffset, final Label[] labels) { if (labels[bytecodeOffset] == null) { readLabel(bytecodeOffset, labels).flags |= Label.FLAG_DEBUG_ONLY; } }
/** * Creates a label without the {@link Label#FLAG_DEBUG_ONLY} flag set, for the given bytecode * offset. The label is created with a call to {@link #readLabel} and its {@link * Label#FLAG_DEBUG_ONLY} flag is cleared. * * @param bytecodeOffset a bytecode offset in a method. * @param labels the already created labels, indexed by their offset. * @return a Label without the {@link Label#FLAG_DEBUG_ONLY} flag set. */ private Label createLabel(final int bytecodeOffset, final Label[] labels) { Label label = readLabel(bytecodeOffset, labels); label.flags &= ~Label.FLAG_DEBUG_ONLY; return label; }
/** * Creates a label without the {@link Label#FLAG_DEBUG_ONLY} flag set, for the given bytecode * offset. The label is created with a call to {@link #readLabel} and its {@link * Label#FLAG_DEBUG_ONLY} flag is cleared. * * @param bytecodeOffset a bytecode offset in a method. * @param labels the already created labels, indexed by their offset. * @return a Label without the {@link Label#FLAG_DEBUG_ONLY} flag set. */ private Label createLabel(final int bytecodeOffset, final Label[] labels) { Label label = readLabel(bytecodeOffset, labels); label.flags &= ~Label.FLAG_DEBUG_ONLY; return label; }
/** * Creates a label without the {@link Label#FLAG_DEBUG_ONLY} flag set, for the given bytecode * offset. The label is created with a call to {@link #readLabel} and its {@link * Label#FLAG_DEBUG_ONLY} flag is cleared. * * @param bytecodeOffset a bytecode offset in a method. * @param labels the already created labels, indexed by their offset. * @return a Label without the {@link Label#FLAG_DEBUG_ONLY} flag set. */ private Label createLabel(final int bytecodeOffset, final Label[] labels) { Label label = readLabel(bytecodeOffset, labels); label.flags &= ~Label.FLAG_DEBUG_ONLY; return label; }
break; default: // Uninitialized frame[index] = readLabel(readUnsignedShort(v), labels); v += 2;
break; default: // Uninitialized frame[index] = readLabel(readUnsignedShort(v), labels); v += 2;
int codeEnd = u + codeLength; Label[] labels = context.labels = new Label[codeLength + 2]; readLabel(codeLength + 1, labels); while (u < codeEnd) { int offset = u - codeStart; break; case ClassWriter.LABEL_INSN: readLabel(offset + readShort(u + 1), labels); u += 3; break; case ClassWriter.ASM_LABEL_INSN: readLabel(offset + readUnsignedShort(u + 1), labels); u += 3; break; case ClassWriter.LABELW_INSN: readLabel(offset + readInt(u + 1), labels); u += 5; break; readLabel(offset + readInt(u), labels); for (int i = readInt(u + 8) - readInt(u + 4) + 1; i > 0; --i) { readLabel(offset + readInt(u + 12), labels); u += 4; readLabel(offset + readInt(u), labels); for (int i = readInt(u + 4); i > 0; --i) { readLabel(offset + readInt(u + 12), labels); u += 8;
readLabel(frame.offset, labels); return stackMap;
int codeEnd = u + codeLength; Label[] labels = context.labels = new Label[codeLength + 2]; readLabel(codeLength + 1, labels); while (u < codeEnd) { int offset = u - codeStart; break; case ClassWriter.LABEL_INSN: readLabel(offset + readShort(u + 1), labels); u += 3; break; case ClassWriter.LABELW_INSN: readLabel(offset + readInt(u + 1), labels); u += 5; break; readLabel(offset + readInt(u), labels); for (int i = readInt(u + 8) - readInt(u + 4) + 1; i > 0; --i) { readLabel(offset + readInt(u + 12), labels); u += 4; readLabel(offset + readInt(u), labels); for (int i = readInt(u + 4); i > 0; --i) { readLabel(offset + readInt(u + 12), labels); u += 8; Label start = readLabel(readUnsignedShort(u + 2), labels); Label end = readLabel(readUnsignedShort(u + 4), labels); Label handler = readLabel(readUnsignedShort(u + 6), labels);
readLabel(frame.offset, labels); return stackMap;