public void visitAttribute(final Attribute attr) { if (attr.isCodeAttribute()) { attr.next = cattrs; cattrs = attr; } else { attr.next = attrs; attrs = attr; } }
while (attribute != null) { symbolTable.addConstantUtf8(attribute.type); size += 6 + attribute.write(classWriter, code, codeLength, maxStack, maxLocals).length; attribute = attribute.nextAttribute;
final int codeAttributeOffset, final Label[] labels) { Attribute attribute = new Attribute(type); attribute.content = new byte[length]; System.arraycopy(classReader.b, offset, attribute.content, 0, length);
attributeCount += firstAttribute.getAttributeCount(); firstCodeAttribute.computeAttributesSize( symbolTable, code.data, code.length, maxStack, maxLocals); codeAttributeCount += firstCodeAttribute.getAttributeCount(); firstCodeAttribute.putAttributes( symbolTable, code.data, code.length, maxStack, maxLocals, output); firstAttribute.putAttributes(symbolTable, output);
for (k = 0; k < attrs.length; ++k) { if (attrs[k].type.equals(attrName)) { attr = attrs[k].read(this, v + 6, readInt(v + 2),
size += attrs.getSize(cw, null, 0, -1, -1);
attributesCount += firstAttribute.getAttributeCount(); firstAttribute.putAttributes(symbolTable, output);
/** * Returns the total size in bytes of all the attributes in the attribute list that begins with * this attribute. This size includes the 6 header bytes (attribute_name_index and * attribute_length) per attribute. Also adds the attribute type names to the constant pool. * * @param symbolTable where the constants used in the attributes must be stored. * @return the size of all the attributes in this attribute list. This size includes the size of * the attribute headers. */ final int computeAttributesSize(final SymbolTable symbolTable) { final byte[] code = null; final int codeLength = 0; final int maxStack = -1; final int maxLocals = -1; return computeAttributesSize(symbolTable, code, codeLength, maxStack, maxLocals); }
final int codeOff, final Label[] labels) { Attribute attr = new Attribute(type); attr.value = new byte[len]; System.arraycopy(cr.b, off, attr.value, 0, len);
attributesCount += firstAttribute.getAttributeCount(); size += firstAttribute.computeAttributesSize(symbolTable); firstAttribute.putAttributes(symbolTable, result);
for (int j = 0; j < context.attrs.length; ++j) { if (context.attrs[j].type.equals(attrName)) { Attribute attr = context.attrs[j].read(this, u + 8, readInt(u + 4), c, codeStart - 8, labels); if (attr != null) {
size += attrs.getSize(cw, null, 0, -1, -1);
size += firstAttribute.computeAttributesSize(symbolTable);