private int getAttributes() {
        // skips the header
        int header = this.classReader.header;
        int u = header + 8 + this.classReader.readUnsignedShort(header + 6) * 2;
        // skips fields and methods
        for (int i = this.classReader.readUnsignedShort(u); i > 0; --i) {
            for (int j = this.classReader.readUnsignedShort(u + 8); j > 0; --j) {
                u += 6 + this.classReader.readInt(u + 12);
            }
            u += 8;
        }
        u += 2;
        for (int i = this.classReader.readUnsignedShort(u); i > 0; --i) {
            for (int j = this.classReader.readUnsignedShort(u + 8); j > 0; --j) {
                u += 6 + this.classReader.readInt(u + 12);
            }
            u += 8;
        }
        // the attribute_info structure starts just after the methods
        return u + 2;
    }
Returns the start index of the attribute_info structure of this class.

@return the start index of the attribute_info structure of this class.
agent-module/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classreading/ClassReaderWrapper.java