<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 . ISourceAttribute ; public class SourceFileAttribute extends ClassFileAttribute implements ISourceAttribute { private int sourceFileIndex ; private char [ ] sourceFileName ; public SourceFileAttribute ( byte [ ] classFileBytes , IConstantPool constantPool , int offset ) throws ClassFormatException { super ( classFileBytes , constantPool , offset ) ; this . sourceFileIndex = u2At ( classFileBytes , 6 , offset ) ; IConstantPoolEntry constantPoolEntry = constantPool . decodeEntry ( this . sourceFileIndex ) ; if ( constantPoolEntry . getKind ( ) != IConstantPoolConstant . CONSTANT_Utf8 ) { throw new ClassFormatException ( ClassFormatException . INVALID_CONSTANT_POOL_ENTRY ) ; } this . sourceFileName = constantPoolEntry . getUtf8Value ( ) ; } public int getSourceFileIndex ( ) { return this . sourceFileIndex ; } public char [ ] getSourceFileName ( ) { return this . sourceFileName ; } } </s>