Package org.apache.bcel.classfile
Class FieldOrMethod
- java.lang.Object
-
- org.apache.bcel.classfile.AccessFlags
-
- org.apache.bcel.classfile.FieldOrMethod
-
- All Implemented Interfaces:
java.lang.Cloneable,Node
public abstract class FieldOrMethod extends AccessFlags implements java.lang.Cloneable, Node
Abstract super class for fields and methods.
-
-
Field Summary
Fields Modifier and Type Field Description private AnnotationEntry[]annotationEntriesprotected Attribute[]attributesDeprecated.(since 6.0) will be made private; do not access directly, use getter/setter.protected intattributes_countDeprecated.(since 6.0) will be removed (not needed)protected ConstantPoolconstant_poolDeprecated.(since 6.0) will be made private; do not access directly, use getter/setter.protected intname_indexDeprecated.(since 6.0) will be made private; do not access directly, use getter/setter.private booleansearchedForSignatureAttributeprotected intsignature_indexDeprecated.(since 6.0) will be made private; do not access directly, use getter/setter.private java.lang.StringsignatureAttributeString-
Fields inherited from class org.apache.bcel.classfile.AccessFlags
access_flags
-
-
Constructor Summary
Constructors Modifier Constructor Description (package private)FieldOrMethod()protectedFieldOrMethod(int accessFlags, int nameIndex, int signatureIndex, Attribute[] attributes, ConstantPool constantPool)Constructs a FieldOrMethod.protectedFieldOrMethod(java.io.DataInput file, ConstantPool constantPool)Constructs object from file stream.protectedFieldOrMethod(java.io.DataInputStream file, ConstantPool constantPool)Deprecated.(6.0) UseFieldOrMethod(java.io.DataInput, ConstantPool)instead.protectedFieldOrMethod(FieldOrMethod c)Initialize from another object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected FieldOrMethodcopy_(ConstantPool constantPool)Creates a deep copy of this field.voiddump(java.io.DataOutputStream file)Dumps object to file stream on binary format.AnnotationEntry[]getAnnotationEntries()Gets annotations on the field or method.<T extends Attribute>
TgetAttribute(byte tag)Gets attribute for given tag.Attribute[]getAttributes()Gets the collection of object attributes.ConstantPoolgetConstantPool()Gets the constant pool used by this object.java.lang.StringgetGenericSignature()Hunts for a signature attribute on the member and returns its contents.java.lang.StringgetName()Gets the name of object.intgetNameIndex()Gets the index in constant pool of object's name.java.lang.StringgetSignature()Gets the string representation of object's type signature.intgetSignatureIndex()Gets the index in constant pool of field signature.voidsetAttributes(Attribute[] attributes)Sets the collection of object attributes.voidsetConstantPool(ConstantPool constantPool)Sets the constant pool to be used for this object.voidsetNameIndex(int nameIndex)Sets the index in constant pool of object's name.voidsetSignatureIndex(int signatureIndex)Sets the index in constant pool of field signature.-
Methods inherited from class org.apache.bcel.classfile.AccessFlags
getAccessFlags, getModifiers, isAbstract, isAbstract, isAnnotation, isAnnotation, isEnum, isEnum, isFinal, isFinal, isInterface, isInterface, isNative, isNative, isPrivate, isPrivate, isProtected, isProtected, isPublic, isPublic, isStatic, isStatic, isStrictfp, isStrictfp, isSynchronized, isSynchronized, isSynthetic, isSynthetic, isTransient, isTransient, isVarArgs, isVarArgs, isVolatile, isVolatile, setAccessFlags, setModifiers
-
-
-
-
Field Detail
-
name_index
@Deprecated protected int name_index
Deprecated.(since 6.0) will be made private; do not access directly, use getter/setter.
-
signature_index
@Deprecated protected int signature_index
Deprecated.(since 6.0) will be made private; do not access directly, use getter/setter.
-
attributes
@Deprecated protected Attribute[] attributes
Deprecated.(since 6.0) will be made private; do not access directly, use getter/setter.
-
attributes_count
@Deprecated protected int attributes_count
Deprecated.(since 6.0) will be removed (not needed)
-
annotationEntries
private AnnotationEntry[] annotationEntries
-
constant_pool
@Deprecated protected ConstantPool constant_pool
Deprecated.(since 6.0) will be made private; do not access directly, use getter/setter.
-
signatureAttributeString
private java.lang.String signatureAttributeString
-
searchedForSignatureAttribute
private boolean searchedForSignatureAttribute
-
-
Constructor Detail
-
FieldOrMethod
FieldOrMethod()
-
FieldOrMethod
protected FieldOrMethod(java.io.DataInput file, ConstantPool constantPool) throws java.io.IOExceptionConstructs object from file stream.- Parameters:
file- Input stream.constantPool- the constant pool.- Throws:
java.io.IOException- if an I/O error occurs.
-
FieldOrMethod
@Deprecated protected FieldOrMethod(java.io.DataInputStream file, ConstantPool constantPool) throws java.io.IOExceptionDeprecated.(6.0) UseFieldOrMethod(java.io.DataInput, ConstantPool)instead.Constructs object from file stream.- Parameters:
file- Input stream.constantPool- the constant pool.- Throws:
java.io.IOException- if an I/O error occurs.
-
FieldOrMethod
protected FieldOrMethod(FieldOrMethod c)
Initialize from another object. Note that both objects use the same references (shallow copy). Use clone() for a physical copy.- Parameters:
c- Source to copy.
-
FieldOrMethod
protected FieldOrMethod(int accessFlags, int nameIndex, int signatureIndex, Attribute[] attributes, ConstantPool constantPool)Constructs a FieldOrMethod.- Parameters:
accessFlags- Access rights of method.nameIndex- Points to field name in constant pool.signatureIndex- Points to encoded signature.attributes- Collection of attributes.constantPool- Array of constants.
-
-
Method Detail
-
copy_
protected FieldOrMethod copy_(ConstantPool constantPool)
Creates a deep copy of this field.- Parameters:
constantPool- the constant pool.- Returns:
- deep copy of this field.
-
dump
public final void dump(java.io.DataOutputStream file) throws java.io.IOExceptionDumps object to file stream on binary format.- Parameters:
file- Output file stream.- Throws:
java.io.IOException- if an I/O error occurs.
-
getAnnotationEntries
public AnnotationEntry[] getAnnotationEntries()
Gets annotations on the field or method.- Returns:
- Annotations on the field or method.
- Since:
- 6.0
-
getAttribute
public final <T extends Attribute> T getAttribute(byte tag)
Gets attribute for given tag.- Type Parameters:
T- the attribute type.- Parameters:
tag- the attribute tag.- Returns:
- Attribute for given tag, null if not found.
Refer to
Const.ATTR_UNKNOWNconstants named ATTR_* for possible values. - Since:
- 6.10.0
-
getAttributes
public final Attribute[] getAttributes()
Gets the collection of object attributes.- Returns:
- Collection of object attributes.
-
getConstantPool
public final ConstantPool getConstantPool()
Gets the constant pool used by this object.- Returns:
- Constant pool used by this object.
-
getGenericSignature
public final java.lang.String getGenericSignature()
Hunts for a signature attribute on the member and returns its contents. So where the 'regular' signature may be (Ljava/util/Vector;)V the signature attribute may in fact say 'Ljava/lang/Vector<Ljava/lang/String>;' Coded for performance - searches for the attribute only when requested - only searches for it once.- Returns:
- the generic signature.
- Since:
- 6.0
-
getName
public final java.lang.String getName()
Gets the name of object.- Returns:
- Name of object, that is, method name or field name.
-
getNameIndex
public final int getNameIndex()
Gets the index in constant pool of object's name.- Returns:
- Index in constant pool of object's name.
-
getSignature
public final java.lang.String getSignature()
Gets the string representation of object's type signature.- Returns:
- String representation of object's type signature (Java style).
-
getSignatureIndex
public final int getSignatureIndex()
Gets the index in constant pool of field signature.- Returns:
- Index in constant pool of field signature.
-
setAttributes
public final void setAttributes(Attribute[] attributes)
Sets the collection of object attributes.- Parameters:
attributes- Collection of object attributes.
-
setConstantPool
public final void setConstantPool(ConstantPool constantPool)
Sets the constant pool to be used for this object.- Parameters:
constantPool- Constant pool to be used for this object.
-
setNameIndex
public final void setNameIndex(int nameIndex)
Sets the index in constant pool of object's name.- Parameters:
nameIndex- Index in constant pool of object's name.
-
setSignatureIndex
public final void setSignatureIndex(int signatureIndex)
Sets the index in constant pool of field signature.- Parameters:
signatureIndex- Index in constant pool of field signature.
-
-