<s> package org . eclipse . jdt . internal . core . util ; import org . eclipse . jdt . core . util . ClassFormatException ; import org . eclipse . jdt . core . util . IConstantPool ; import org . eclipse . jdt . core . util . IConstantPoolConstant ; import org . eclipse . jdt . core . util . IConstantPoolEntry ; import org . eclipse . jdt . core . util . ISignatureAttribute ; public class SignatureAttribute extends ClassFileAttribute implements ISignatureAttribute { private int signatureIndex ; private char [ ] signature ; SignatureAttribute ( byte [ ] classFileBytes , IConstantPool constantPool , int offset ) throws ClassFormatException { super ( classFileBytes , constantPool , offset ) ; final int index = u2At ( classFileBytes , 6 , offset ) ; this . signatureIndex = index ; IConstantPoolEntry constantPoolEntry = constantPool . decodeEntry ( index ) ; if ( constantPoolEntry . getKind ( ) != IConstantPoolConstant . CONSTANT_Utf8 ) { throw new ClassFormatException ( ClassFormatException . INVALID_CONSTANT_POOL_ENTRY ) ; } this . signature = constantPoolEntry . getUtf8Value ( ) ; } public int getSignatureIndex ( ) { return this . signatureIndex ; } public char [ ] getSignature ( ) { return this . signature ; } } </s>