# Deprecated API

## Contents

- Interfaces
- Classes
- Fields
- Methods
- Constructors

- Deprecated Interfaces
  Interface
  Description
  org.apache.bcel.classfile.AttributeReader
  Use `UnknownAttributeReader` instead.
  org.apache.bcel.Constants
  (since 6.0) DO NOT USE - use `Const` instead.
  org.apache.bcel.ExceptionConstants
  (since 6.0) DO NOT USE - use ExceptionConst instead
  org.apache.bcel.generic.InstructionConstants
  (since 6.0) Do not use. Use `InstructionConst` instead.

- Deprecated Classes
  Class
  Description
  org.apache.bcel.generic.InstructionConstants.Clinit
  Consider private.
  org.apache.bcel.util.ClassLoader
  6.0 Do not use - does not work
  org.apache.bcel.util.ClassVector
  as of 5.1.1 - 7/17/2005

- Deprecated Fields
  Field
  Description
  org.apache.bcel.classfile.AccessFlags.access_flags
  (since 6.0) will be made private; do not access directly, use getter/setter.
  org.apache.bcel.classfile.Attribute.constant_pool
  (since 6.0) will be made private; do not access directly, use getter/setter.
  org.apache.bcel.classfile.Attribute.length
  (since 6.0) (since 6.0) will be made private; do not access directly, use getter/setter.
  org.apache.bcel.classfile.Attribute.name_index
  (since 6.0) will be made private; do not access directly, use getter/setter.
  org.apache.bcel.classfile.Attribute.tag
  (since 6.0) will be made private; do not access directly, use getter/setter.
  org.apache.bcel.classfile.Constant.tag
  (since 6.0) will be made private; do not access directly, use getter/setter.
  org.apache.bcel.classfile.ConstantCP.class_index
  (since 6.0) will be made private; do not access directly, use getter/setter.
  org.apache.bcel.classfile.ConstantCP.name_and_type_index
  (since 6.0) will be made private; do not access directly, use getter/setter.
  org.apache.bcel.classfile.ElementValue.cpool
  (since 6.0) will be made private and final; do not access directly, use getter.
  org.apache.bcel.classfile.ElementValue.type
  (since 6.0) will be made private and final; do not access directly, use getter.
  org.apache.bcel.classfile.FieldOrMethod.attributes
  (since 6.0) will be made private; do not access directly, use getter/setter.
  org.apache.bcel.classfile.FieldOrMethod.attributes_count
  (since 6.0) will be removed (not needed)
  org.apache.bcel.classfile.FieldOrMethod.constant_pool
  (since 6.0) will be made private; do not access directly, use getter/setter.
  org.apache.bcel.classfile.FieldOrMethod.name_index
  (since 6.0) will be made private; do not access directly, use getter/setter.
  org.apache.bcel.classfile.FieldOrMethod.signature_index
  (since 6.0) will be made private; do not access directly, use getter/setter.
  org.apache.bcel.Const.MAJOR_1_9
  Use `Const.MAJOR_9` (53) instead.
  org.apache.bcel.Const.MAX_ACC_FLAG
  Use `Const.MAX_ACC_FLAG_I`
  org.apache.bcel.Const.MINOR_1_9
  Use `Const.MINOR_9` (0) instead.
  org.apache.bcel.ExceptionConstants.EXCS_ARRAY_EXCEPTION
  org.apache.bcel.ExceptionConstants.EXCS_CLASS_AND_INTERFACE_RESOLUTION
  Do not use these arrays, use the static methods in the ExceptionConst implementation class instead.
  org.apache.bcel.ExceptionConstants.EXCS_FIELD_AND_METHOD_RESOLUTION
  org.apache.bcel.ExceptionConstants.EXCS_INTERFACE_METHOD_RESOLUTION
  org.apache.bcel.ExceptionConstants.EXCS_STRING_RESOLUTION
  org.apache.bcel.generic.BranchInstruction.index
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.BranchInstruction.position
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.BranchInstruction.target
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.ConstantPoolGen.constants
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.ConstantPoolGen.index
  (since 6.0) will be made private; do not access directly, use getSize()
  org.apache.bcel.generic.ConstantPoolGen.size
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.CPInstruction.index
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.ElementValueGen.cpGen
  (since 6.0) will be made private and final; do not access directly, use getter
  org.apache.bcel.generic.ElementValueGen.type
  (since 6.0) will be made private and final; do not access directly, use getter
  org.apache.bcel.generic.FieldGenOrMethodGen.cp
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.FieldGenOrMethodGen.name
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.FieldGenOrMethodGen.type
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.Instruction.length
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.Instruction.opcode
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.InstructionConstants.AALOAD
  Use `InstructionConst.AALOAD`.
  org.apache.bcel.generic.InstructionConstants.AASTORE
  Use `InstructionConst.AASTORE`.
  org.apache.bcel.generic.InstructionConstants.ACONST_NULL
  Use `InstructionConst.ACONST_NULL`.
  org.apache.bcel.generic.InstructionConstants.ALOAD_0
  Use `InstructionConst.ALOAD_0`.
  org.apache.bcel.generic.InstructionConstants.ALOAD_1
  Use `InstructionConst.ALOAD_1`.
  org.apache.bcel.generic.InstructionConstants.ALOAD_2
  Use `InstructionConst.ALOAD_2`.
  org.apache.bcel.generic.InstructionConstants.ARETURN
  Use `InstructionConst.ARETURN`.
  org.apache.bcel.generic.InstructionConstants.ARRAYLENGTH
  Use `InstructionConst.ARRAYLENGTH`.
  org.apache.bcel.generic.InstructionConstants.ASTORE_0
  Use `InstructionConst.ASTORE_0`.
  org.apache.bcel.generic.InstructionConstants.ASTORE_1
  Use `InstructionConst.ASTORE_1`.
  org.apache.bcel.generic.InstructionConstants.ASTORE_2
  Use `InstructionConst.ASTORE_2`.
  org.apache.bcel.generic.InstructionConstants.ATHROW
  Use `InstructionConst.ATHROW`.
  org.apache.bcel.generic.InstructionConstants.BALOAD
  Use `InstructionConst.BALOAD`.
  org.apache.bcel.generic.InstructionConstants.BASTORE
  Use `InstructionConst.BASTORE`.
  org.apache.bcel.generic.InstructionConstants.CALOAD
  Use `InstructionConst.CALOAD`.
  org.apache.bcel.generic.InstructionConstants.CASTORE
  Use `InstructionConst.CASTORE`.
  org.apache.bcel.generic.InstructionConstants.D2F
  Use `InstructionConst.D2F`.
  org.apache.bcel.generic.InstructionConstants.D2I
  Use `InstructionConst.D2I`.
  org.apache.bcel.generic.InstructionConstants.D2L
  Use `InstructionConst.D2L`.
  org.apache.bcel.generic.InstructionConstants.DADD
  Use `InstructionConst.DADD`.
  org.apache.bcel.generic.InstructionConstants.DALOAD
  Use `InstructionConst.DALOAD`.
  org.apache.bcel.generic.InstructionConstants.DASTORE
  Use `InstructionConst.DASTORE`.
  org.apache.bcel.generic.InstructionConstants.DCMPG
  Use `InstructionConst.DCMPG`.
  org.apache.bcel.generic.InstructionConstants.DCMPL
  Use `InstructionConst.DCMPL`.
  org.apache.bcel.generic.InstructionConstants.DCONST_0
  Use `InstructionConst.DCONST_0`.
  org.apache.bcel.generic.InstructionConstants.DCONST_1
  Use `InstructionConst.DCONST_1`.
  org.apache.bcel.generic.InstructionConstants.DDIV
  Use `InstructionConst.DDIV`.
  org.apache.bcel.generic.InstructionConstants.DMUL
  Use `InstructionConst.DMUL`.
  org.apache.bcel.generic.InstructionConstants.DNEG
  Use `InstructionConst.DNEG`.
  org.apache.bcel.generic.InstructionConstants.DREM
  Use `InstructionConst.DREM`.
  org.apache.bcel.generic.InstructionConstants.DRETURN
  Use `InstructionConst.DRETURN`.
  org.apache.bcel.generic.InstructionConstants.DSUB
  Use `InstructionConst.DSUB`.
  org.apache.bcel.generic.InstructionConstants.DUP
  Use `InstructionConst.DUP`.
  org.apache.bcel.generic.InstructionConstants.DUP_X1
  Use `InstructionConst.DUP_X1`.
  org.apache.bcel.generic.InstructionConstants.DUP_X2
  Use `InstructionConst.DUP_X2`.
  org.apache.bcel.generic.InstructionConstants.DUP2
  Use `InstructionConst.DUP2`.
  org.apache.bcel.generic.InstructionConstants.DUP2_X1
  Use `InstructionConst.DUP2_X1`.
  org.apache.bcel.generic.InstructionConstants.DUP2_X2
  Use `InstructionConst.DUP2_X2`.
  org.apache.bcel.generic.InstructionConstants.F2D
  Use `InstructionConst.F2D`.
  org.apache.bcel.generic.InstructionConstants.F2I
  Use `InstructionConst.F2I`.
  org.apache.bcel.generic.InstructionConstants.F2L
  Use `InstructionConst.F2L`.
  org.apache.bcel.generic.InstructionConstants.FADD
  Use `InstructionConst.FADD`.
  org.apache.bcel.generic.InstructionConstants.FALOAD
  Use `InstructionConst.FALOAD`.
  org.apache.bcel.generic.InstructionConstants.FASTORE
  Use `InstructionConst.FASTORE`.
  org.apache.bcel.generic.InstructionConstants.FCMPG
  Use `InstructionConst.FCMPG`.
  org.apache.bcel.generic.InstructionConstants.FCMPL
  Use `InstructionConst.FCMPL`.
  org.apache.bcel.generic.InstructionConstants.FCONST_0
  Use `InstructionConst.FCONST_0`.
  org.apache.bcel.generic.InstructionConstants.FCONST_1
  Use `InstructionConst.FCONST_1`.
  org.apache.bcel.generic.InstructionConstants.FCONST_2
  Use `InstructionConst.FCONST_2`.
  org.apache.bcel.generic.InstructionConstants.FDIV
  Use `InstructionConst.FDIV`.
  org.apache.bcel.generic.InstructionConstants.FMUL
  Use `InstructionConst.FMUL`.
  org.apache.bcel.generic.InstructionConstants.FNEG
  Use `InstructionConst.FNEG`.
  org.apache.bcel.generic.InstructionConstants.FREM
  Use `InstructionConst.FREM`.
  org.apache.bcel.generic.InstructionConstants.FRETURN
  Use `InstructionConst.FRETURN`.
  org.apache.bcel.generic.InstructionConstants.FSUB
  Use `InstructionConst.FSUB`.
  org.apache.bcel.generic.InstructionConstants.I2B
  Use `InstructionConst.I2B`.
  org.apache.bcel.generic.InstructionConstants.I2C
  Use `InstructionConst.I2C`.
  org.apache.bcel.generic.InstructionConstants.I2D
  Use `InstructionConst.I2D`.
  org.apache.bcel.generic.InstructionConstants.I2F
  Use `InstructionConst.I2F`.
  org.apache.bcel.generic.InstructionConstants.I2L
  Use `InstructionConst.I2L`.
  org.apache.bcel.generic.InstructionConstants.I2S
  Use `InstructionConst.I2S`.
  org.apache.bcel.generic.InstructionConstants.IADD
  Use `InstructionConst.IADD`.
  org.apache.bcel.generic.InstructionConstants.IALOAD
  Use `InstructionConst.IALOAD`.
  org.apache.bcel.generic.InstructionConstants.IAND
  Use `InstructionConst.IAND`.
  org.apache.bcel.generic.InstructionConstants.IASTORE
  Use `InstructionConst.IASTORE`.
  org.apache.bcel.generic.InstructionConstants.ICONST_0
  Use `InstructionConst.ICONST_0`.
  org.apache.bcel.generic.InstructionConstants.ICONST_1
  Use `InstructionConst.ICONST_1`.
  org.apache.bcel.generic.InstructionConstants.ICONST_2
  Use `InstructionConst.ICONST_2`.
  org.apache.bcel.generic.InstructionConstants.ICONST_3
  Use `InstructionConst.ICONST_3`.
  org.apache.bcel.generic.InstructionConstants.ICONST_4
  Use `InstructionConst.ICONST_4`.
  org.apache.bcel.generic.InstructionConstants.ICONST_5
  Use `InstructionConst.ICONST_5`.
  org.apache.bcel.generic.InstructionConstants.ICONST_M1
  Use `InstructionConst.ICONST_M1`.
  org.apache.bcel.generic.InstructionConstants.IDIV
  Use `InstructionConst.IDIV`.
  org.apache.bcel.generic.InstructionConstants.ILOAD_0
  Use `InstructionConst.ILOAD_0`.
  org.apache.bcel.generic.InstructionConstants.ILOAD_1
  Use `InstructionConst.ILOAD_1`.
  org.apache.bcel.generic.InstructionConstants.ILOAD_2
  Use `InstructionConst.ILOAD_2`.
  org.apache.bcel.generic.InstructionConstants.IMUL
  Use `InstructionConst.IMUL`.
  org.apache.bcel.generic.InstructionConstants.INEG
  Use `InstructionConst.INEG`.
  org.apache.bcel.generic.InstructionConstants.INSTRUCTIONS
  Use `InstructionConst.INSTRUCTIONS`.
  org.apache.bcel.generic.InstructionConstants.IOR
  Use `InstructionConst.IOR`.
  org.apache.bcel.generic.InstructionConstants.IREM
  Use `InstructionConst.IREM`.
  org.apache.bcel.generic.InstructionConstants.IRETURN
  Use `InstructionConst.IRETURN`.
  org.apache.bcel.generic.InstructionConstants.ISHL
  Use `InstructionConst.ISHL`.
  org.apache.bcel.generic.InstructionConstants.ISHR
  Use `InstructionConst.ISHR`.
  org.apache.bcel.generic.InstructionConstants.ISTORE_0
  Use `InstructionConst.ISTORE_0`.
  org.apache.bcel.generic.InstructionConstants.ISTORE_1
  Use `InstructionConst.ISTORE_1`.
  org.apache.bcel.generic.InstructionConstants.ISTORE_2
  Use `InstructionConst.ISTORE_2`.
  org.apache.bcel.generic.InstructionConstants.ISUB
  Use `InstructionConst.ISUB`.
  org.apache.bcel.generic.InstructionConstants.IUSHR
  Use `InstructionConst.IUSHR`.
  org.apache.bcel.generic.InstructionConstants.IXOR
  Use `InstructionConst.IXOR`.
  org.apache.bcel.generic.InstructionConstants.L2D
  Use `InstructionConst.L2D`.
  org.apache.bcel.generic.InstructionConstants.L2F
  Use `InstructionConst.L2F`.
  org.apache.bcel.generic.InstructionConstants.L2I
  Use `InstructionConst.L2I`.
  org.apache.bcel.generic.InstructionConstants.LADD
  Use `InstructionConst.LADD`.
  org.apache.bcel.generic.InstructionConstants.LALOAD
  Use `InstructionConst.LALOAD`.
  org.apache.bcel.generic.InstructionConstants.LAND
  Use `InstructionConst.LAND`.
  org.apache.bcel.generic.InstructionConstants.LASTORE
  Use `InstructionConst.LASTORE`.
  org.apache.bcel.generic.InstructionConstants.LCMP
  Use `InstructionConst.LCMP`.
  org.apache.bcel.generic.InstructionConstants.LCONST_0
  Use `InstructionConst.LCONST_0`.
  org.apache.bcel.generic.InstructionConstants.LCONST_1
  Use `InstructionConst.LCONST_1`.
  org.apache.bcel.generic.InstructionConstants.LDIV
  Use `InstructionConst.LDIV`.
  org.apache.bcel.generic.InstructionConstants.LMUL
  Use `InstructionConst.LMUL`.
  org.apache.bcel.generic.InstructionConstants.LNEG
  Use `InstructionConst.LNEG`.
  org.apache.bcel.generic.InstructionConstants.LOR
  Use `InstructionConst.LOR`.
  org.apache.bcel.generic.InstructionConstants.LREM
  Use `InstructionConst.LREM`.
  org.apache.bcel.generic.InstructionConstants.LRETURN
  Use `InstructionConst.LRETURN`.
  org.apache.bcel.generic.InstructionConstants.LSHL
  Use `InstructionConst.LSHL`.
  org.apache.bcel.generic.InstructionConstants.LSHR
  Use `InstructionConst.LSHR`.
  org.apache.bcel.generic.InstructionConstants.LSUB
  Use `InstructionConst.LSUB`.
  org.apache.bcel.generic.InstructionConstants.LUSHR
  Use `InstructionConst.LUSHR`.
  org.apache.bcel.generic.InstructionConstants.LXOR
  Use `InstructionConst.LXOR`.
  org.apache.bcel.generic.InstructionConstants.MONITORENTER
  Use `InstructionConst.MONITORENTER`.
  org.apache.bcel.generic.InstructionConstants.MONITOREXIT
  Use `InstructionConst.MONITOREXIT`.
  org.apache.bcel.generic.InstructionConstants.NOP
  Use `InstructionConst.NOP`.
  org.apache.bcel.generic.InstructionConstants.POP
  Use `InstructionConst.POP`.
  org.apache.bcel.generic.InstructionConstants.POP2
  Use `InstructionConst.POP2`.
  org.apache.bcel.generic.InstructionConstants.RETURN
  Use `InstructionConst.RETURN`.
  org.apache.bcel.generic.InstructionConstants.SALOAD
  Use `InstructionConst.SALOAD`.
  org.apache.bcel.generic.InstructionConstants.SASTORE
  Use `InstructionConst.SASTORE`.
  org.apache.bcel.generic.InstructionConstants.SWAP
  Use `InstructionConst.SWAP`.
  org.apache.bcel.generic.InstructionConstants.THIS
  Use `InstructionConst.THIS`.
  org.apache.bcel.generic.InstructionFactory.cg
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.InstructionFactory.cp
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.InstructionHandle.i_position
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.LocalVariableInstruction.n
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.Select.fixed_length
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.Select.indices
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.Select.match
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.Select.match_length
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.Select.padding
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.Select.targets
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.Type.signature
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.generic.Type.type
  (since 6.0) will be made private; do not access directly, use getter/setter
  org.apache.bcel.util.ClassQueue.vec
  (since 6.0) will be made private; do not access
  org.apache.bcel.util.ClassVector.vec
  Will be made private; do not access directly, use getter/setter.
  org.apache.bcel.verifier.structurals.Frame._this
  Use the getter/setter to access the field as it may be made private in a later release

- Deprecated Methods
  Method
  Description
  org.apache.bcel.classfile.Attribute.addAttributeReader(String, AttributeReader)
  (6.0) Use `Attribute.addAttributeReader(String, UnknownAttributeReader)` instead.
  org.apache.bcel.classfile.ConstantUtf8.setBytes(String)
  (since 6.0)
  org.apache.bcel.classfile.LocalVariableTable.getLocalVariable(int)
  Since 5.2 because multiple variables can share the same slot, use getLocalVariable(int index, int pc) instead.
  org.apache.bcel.classfile.StackMapEntry.setNumberOfLocals(int)
  Since 6.0
  org.apache.bcel.classfile.StackMapEntry.setNumberOfStackItems(int)
  Since 6.0
  org.apache.bcel.generic.FieldOrMethod.getClassName(ConstantPoolGen)
  If the instruction references an array class, this method will return "java.lang.Object". For code generated by Java 1.5, this answer is sometimes wrong (for example, if the "clone()" method is called on an array). A better idea is to use the `FieldOrMethod.getReferenceType(ConstantPoolGen)` method, which correctly distinguishes between class types and array types.
  org.apache.bcel.generic.FieldOrMethod.getClassType(ConstantPoolGen)
  If the instruction references an array class, the ObjectType returned will be invalid. Use getReferenceType() instead.
  org.apache.bcel.generic.Instruction.getComparator()
  (6.0) use the built in comparator, or wrap this class in another object that implements these methods
  org.apache.bcel.generic.Instruction.setComparator(InstructionComparator)
  (6.0) use the built in comparator, or wrap this class in another object that implements these methods
  org.apache.bcel.generic.InstructionHandle.addHandle()
  Does nothing as of 6.3.1.
  org.apache.bcel.generic.ObjectType.referencesClass()
  (since 6.0) this method returns an inaccurate result if the class or interface referenced cannot be found: use referencesClassExact() instead
  org.apache.bcel.generic.ObjectType.referencesInterface()
  (since 6.0) this method returns an inaccurate result if the class or interface referenced cannot be found: use referencesInterfaceExact() instead
  org.apache.bcel.generic.ReferenceType.firstCommonSuperclass(ReferenceType)
  Use getFirstCommonSuperclass(ReferenceType t) which has slightly changed semantics.

- Deprecated Constructors
  Constructor
  Description
  org.apache.bcel.classfile.FieldOrMethod(DataInputStream, ConstantPool)
  (6.0) Use `FieldOrMethod(java.io.DataInput, ConstantPool)` instead.
  org.apache.bcel.classfile.StackMapEntry(int, int, StackMapType[], int, StackMapType[], ConstantPool)
  Since 6.0, use `StackMapEntry(int, int, StackMapType[], StackMapType[], ConstantPool)` instead.
  org.apache.bcel.util.ClassPath()
  Use SYSTEM_CLASS_PATH constant