/** * Constructor for LocalVariableAttribute. * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableAttribute( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { super(classFileBytes, constantPool, offset); final int length = u2At(classFileBytes, 6, offset); this.localVariableTableLength = length; if (length != 0) { int readOffset = 8; this.localVariableTable = new ILocalVariableTableEntry[length]; for (int i = 0; i < length; i++) { this.localVariableTable[i] = new LocalVariableTableEntry(classFileBytes, constantPool, offset + readOffset); readOffset += 10; } } else { this.localVariableTable = NO_ENTRIES; } } /**
/** * Constructor for LocalVariableTableEntry. * * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableTableEntry( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { this.startPC = u2At(classFileBytes, 0, offset); this.length = u2At(classFileBytes, 2, offset); this.nameIndex = u2At(classFileBytes, 4, offset); this.descriptorIndex = u2At(classFileBytes, 6, offset); this.index = u2At(classFileBytes, 8, offset); IConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(this.nameIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.name = constantPoolEntry.getUtf8Value(); constantPoolEntry = constantPool.decodeEntry(this.descriptorIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.descriptor = constantPoolEntry.getUtf8Value(); }
/** * Constructor for LocalVariableTableEntry. * * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableTableEntry( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { this.startPC = u2At(classFileBytes, 0, offset); this.length = u2At(classFileBytes, 2, offset); this.nameIndex = u2At(classFileBytes, 4, offset); this.descriptorIndex = u2At(classFileBytes, 6, offset); this.index = u2At(classFileBytes, 8, offset); IConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(this.nameIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.name = constantPoolEntry.getUtf8Value(); constantPoolEntry = constantPool.decodeEntry(this.descriptorIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.descriptor = constantPoolEntry.getUtf8Value(); }
/** * Constructor for LocalVariableTableEntry. * * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableTableEntry( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { this.startPC = u2At(classFileBytes, 0, offset); this.length = u2At(classFileBytes, 2, offset); this.nameIndex = u2At(classFileBytes, 4, offset); this.descriptorIndex = u2At(classFileBytes, 6, offset); this.index = u2At(classFileBytes, 8, offset); IConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(this.nameIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.name = constantPoolEntry.getUtf8Value(); constantPoolEntry = constantPool.decodeEntry(this.descriptorIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.descriptor = constantPoolEntry.getUtf8Value(); }
/** * Constructor for LocalVariableAttribute. * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableAttribute( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { super(classFileBytes, constantPool, offset); final int length = u2At(classFileBytes, 6, offset); this.localVariableTableLength = length; if (length != 0) { int readOffset = 8; this.localVariableTable = new ILocalVariableTableEntry[length]; for (int i = 0; i < length; i++) { this.localVariableTable[i] = new LocalVariableTableEntry(classFileBytes, constantPool, offset + readOffset); readOffset += 10; } } else { this.localVariableTable = NO_ENTRIES; } } /**
/** * Constructor for LocalVariableTableEntry. * * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableTableEntry( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { this.startPC = u2At(classFileBytes, 0, offset); this.length = u2At(classFileBytes, 2, offset); this.nameIndex = u2At(classFileBytes, 4, offset); this.descriptorIndex = u2At(classFileBytes, 6, offset); this.index = u2At(classFileBytes, 8, offset); IConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(this.nameIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.name = constantPoolEntry.getUtf8Value(); constantPoolEntry = constantPool.decodeEntry(this.descriptorIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.descriptor = constantPoolEntry.getUtf8Value(); }
/** * Constructor for LocalVariableAttribute. * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableAttribute( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { super(classFileBytes, constantPool, offset); final int length = u2At(classFileBytes, 6, offset); this.localVariableTableLength = length; if (length != 0) { int readOffset = 8; this.localVariableTable = new ILocalVariableTableEntry[length]; for (int i = 0; i < length; i++) { this.localVariableTable[i] = new LocalVariableTableEntry(classFileBytes, constantPool, offset + readOffset); readOffset += 10; } } else { this.localVariableTable = NO_ENTRIES; } } /**
/** * Constructor for LocalVariableTableEntry. * * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableTableEntry( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { this.startPC = u2At(classFileBytes, 0, offset); this.length = u2At(classFileBytes, 2, offset); this.nameIndex = u2At(classFileBytes, 4, offset); this.descriptorIndex = u2At(classFileBytes, 6, offset); this.index = u2At(classFileBytes, 8, offset); IConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(this.nameIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.name = constantPoolEntry.getUtf8Value(); constantPoolEntry = constantPool.decodeEntry(this.descriptorIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.descriptor = constantPoolEntry.getUtf8Value(); }
/** * Constructor for LocalVariableAttribute. * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableAttribute( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { super(classFileBytes, constantPool, offset); final int length = u2At(classFileBytes, 6, offset); this.localVariableTableLength = length; if (length != 0) { int readOffset = 8; this.localVariableTable = new ILocalVariableTableEntry[length]; for (int i = 0; i < length; i++) { this.localVariableTable[i] = new LocalVariableTableEntry(classFileBytes, constantPool, offset + readOffset); readOffset += 10; } } else { this.localVariableTable = NO_ENTRIES; } } /**
/** * Constructor for LocalVariableTableEntry. * * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableTableEntry( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { this.startPC = u2At(classFileBytes, 0, offset); this.length = u2At(classFileBytes, 2, offset); this.nameIndex = u2At(classFileBytes, 4, offset); this.descriptorIndex = u2At(classFileBytes, 6, offset); this.index = u2At(classFileBytes, 8, offset); IConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(this.nameIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.name = constantPoolEntry.getUtf8Value(); constantPoolEntry = constantPool.decodeEntry(this.descriptorIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.descriptor = constantPoolEntry.getUtf8Value(); }
/** * Constructor for LocalVariableAttribute. * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableAttribute( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { super(classFileBytes, constantPool, offset); final int length = u2At(classFileBytes, 6, offset); this.localVariableTableLength = length; if (length != 0) { int readOffset = 8; this.localVariableTable = new ILocalVariableTableEntry[length]; for (int i = 0; i < length; i++) { this.localVariableTable[i] = new LocalVariableTableEntry(classFileBytes, constantPool, offset + readOffset); readOffset += 10; } } else { this.localVariableTable = NO_ENTRIES; } } /**
/** * Constructor for LocalVariableTableEntry. * * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableTableEntry( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { this.startPC = u2At(classFileBytes, 0, offset); this.length = u2At(classFileBytes, 2, offset); this.nameIndex = u2At(classFileBytes, 4, offset); this.descriptorIndex = u2At(classFileBytes, 6, offset); this.index = u2At(classFileBytes, 8, offset); IConstantPoolEntry constantPoolEntry = constantPool.decodeEntry(this.nameIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.name = constantPoolEntry.getUtf8Value(); constantPoolEntry = constantPool.decodeEntry(this.descriptorIndex); if (constantPoolEntry.getKind() != IConstantPoolConstant.CONSTANT_Utf8) { throw new ClassFormatException(ClassFormatException.INVALID_CONSTANT_POOL_ENTRY); } this.descriptor = constantPoolEntry.getUtf8Value(); }
/** * Constructor for LocalVariableAttribute. * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableAttribute( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { super(classFileBytes, constantPool, offset); final int length = u2At(classFileBytes, 6, offset); this.localVariableTableLength = length; if (length != 0) { int readOffset = 8; this.localVariableTable = new ILocalVariableTableEntry[length]; for (int i = 0; i < length; i++) { this.localVariableTable[i] = new LocalVariableTableEntry(classFileBytes, constantPool, offset + readOffset); readOffset += 10; } } else { this.localVariableTable = NO_ENTRIES; } } /**
/** * Constructor for LocalVariableAttribute. * @param classFileBytes * @param constantPool * @param offset * @throws ClassFormatException */ public LocalVariableAttribute( byte[] classFileBytes, IConstantPool constantPool, int offset) throws ClassFormatException { super(classFileBytes, constantPool, offset); final int length = u2At(classFileBytes, 6, offset); this.localVariableTableLength = length; if (length != 0) { int readOffset = 8; this.localVariableTable = new ILocalVariableTableEntry[length]; for (int i = 0; i < length; i++) { this.localVariableTable[i] = new LocalVariableTableEntry(classFileBytes, constantPool, offset + readOffset); readOffset += 10; } } else { this.localVariableTable = NO_ENTRIES; } } /**