Package serp.bytecode

# Class BCMember

java.lang.Object
serp.bytecode.Attributes
serp.bytecode.Annotated
serp.bytecode.BCMember

All Implemented Interfaces:
  `BCEntity`

Direct Known Subclasses:
  `BCField`, `BCMethod`

public abstract class BCMember extends Annotated
A member field or method of a class.

Author:
  Abe White

## Method Summary

Modifier and Type
Method
Description
`int`
`getAccessFlags()`
Return the access flags for this member as a bit array of ACCESS_XXX constants from `Constants`.
`ClassLoader`
`getClassLoader()`
Return the class loader to use when loading related classes.
`BCClass`
`getDeclarer()`
Return the `BCClass` that declares this member.
`String`
`getDescriptor()`
Return the descriptor of this member, in internal form.
`int`
`getDescriptorIndex()`
Return the index in the class `ConstantPool` of the `UTF8Entry` holding the descriptor of this member.
`String`
`getName()`
Return the name of this member.
`int`
`getNameIndex()`
Return the index in the class `ConstantPool` of the `UTF8Entry` holding the name of this member.
`ConstantPool`
`getPool()`
Return the constant pool of the current class.
`Project`
`getProject()`
Return the project of the current class.
`boolean`
`isDeprecated()`
Convenience method to return deprecation information for the member.
`boolean`
`isFinal()`
Manipulate the member access flags.
`boolean`
`isPackage()`
Manipulate the member access flags.
`boolean`
`isPrivate()`
Manipulate the member access flags.
`boolean`
`isProtected()`
Manipulate the member access flags.
`boolean`
`isPublic()`
Manipulate the member access flags.
`boolean`
`isStatic()`
Manipulate the member access flags.
`boolean`
`isSynthetic()`
Manipulate the field access flags.
`boolean`
`isValid()`
Return false if this entity has been removed from its parent; in this case the results of any operations on the entity are undefined.
`void`
`makePackage()`
Manipulate the member access flags.
`void`
`makePrivate()`
Manipulate the member access flags.
`void`
`makeProtected()`
Manipulate the member access flags.
`void`
`makePublic()`
Manipulate the member access flags.
`void`
`setAccessFlags(int access)`
Set the access flags for this member as a bit array of ACCESS_XXX constants from `Constants`.
`void`
`setDeprecated(boolean on)`
Convenience method to set whether this member should be considered deprecated.
`void`
`setDescriptor(String desc)`
Set the descriptor of this member.
`void`
`setDescriptorIndex(int index)`
Set the index in the class `ConstantPool` of the `UTF8Entry` holding the descriptor of this member.
`void`
`setFinal(boolean on)`
Manipulate the member access flags.
`void`
`setName(String name)`
Set the name of this member.
`void`
`setNameIndex(int index)`
Set the index in the class `ConstantPool` of the `UTF8Entry` holding the name of this member.
`void`
`setStatic(boolean on)`
Manipulate the member access flags.
`void`
`setSynthetic(boolean on)`
Manipulate the field access flags.

### Methods inherited from class serp.bytecode.Annotated

`getDeclaredAnnotations, getDeclaredRuntimeAnnotations, removeDeclaredAnnotations, removeDeclaredRuntimeAnnotations`

### Methods inherited from class serp.bytecode.Attributes

`addAttribute, addAttribute, clearAttributes, getAttribute, getAttributes, getAttributes, removeAttribute, removeAttribute, setAttributes`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### getDeclarer

public BCClass getDeclarer()
Return the `BCClass` that declares this member.

### getAccessFlags

public int getAccessFlags()
Return the access flags for this member as a bit array of ACCESS_XXX constants from `Constants`. This can be used to transfer access flags between members without getting/setting each possible access flag. Defaults to `Constants.ACCESS_PRIVATE`

### setAccessFlags

public void setAccessFlags(int access)
Set the access flags for this member as a bit array of ACCESS_XXX constants from `Constants`. This can be used to transfer access flags between members without getting/setting each possible access flag. Defaults to `Constants.ACCESS_PRIVATE`

### isPublic

public boolean isPublic()
Manipulate the member access flags.

### makePublic

public void makePublic()
Manipulate the member access flags.

### isProtected

public boolean isProtected()
Manipulate the member access flags.

### makeProtected

public void makeProtected()
Manipulate the member access flags.

### isPrivate

public boolean isPrivate()
Manipulate the member access flags.

### makePrivate

public void makePrivate()
Manipulate the member access flags.

### isPackage

public boolean isPackage()
Manipulate the member access flags.

### makePackage

public void makePackage()
Manipulate the member access flags.

### isFinal

public boolean isFinal()
Manipulate the member access flags.

### setFinal

public void setFinal(boolean on)
Manipulate the member access flags.

### isStatic

public boolean isStatic()
Manipulate the member access flags.

### setStatic

public void setStatic(boolean on)
Manipulate the member access flags.

### isSynthetic

public boolean isSynthetic()
Manipulate the field access flags. This method also checks the synthetic member attribute.

### setSynthetic

public void setSynthetic(boolean on)
Manipulate the field access flags. This method also manipulates the synthetic member attribute.

### getNameIndex

public int getNameIndex()
Return the index in the class `ConstantPool` of the `UTF8Entry` holding the name of this member.

### setNameIndex

public void setNameIndex(int index)
Set the index in the class `ConstantPool` of the `UTF8Entry` holding the name of this member.

### getDescriptorIndex

public int getDescriptorIndex()
Return the index in the class `ConstantPool` of the `UTF8Entry` holding the descriptor of this member.

### setDescriptorIndex

public void setDescriptorIndex(int index)
Set the index in the class `ConstantPool` of the `UTF8Entry` holding the descriptor of this member.

### getName

public String getName()
Return the name of this member.

### setName

public void setName(String name)
Set the name of this member.

### getDescriptor

public String getDescriptor()
Return the descriptor of this member, in internal form.

### setDescriptor

public void setDescriptor(String desc)
Set the descriptor of this member.

### isDeprecated

public boolean isDeprecated()
Convenience method to return deprecation information for the member. Acts internally through the `Attributes` interface.

### setDeprecated

public void setDeprecated(boolean on)
Convenience method to set whether this member should be considered deprecated. Acts internally through the `Attributes` interface.

### getProject

public Project getProject()
Description copied from interface: `BCEntity`
Return the project of the current class.

### getPool

public ConstantPool getPool()
Description copied from interface: `BCEntity`
Return the constant pool of the current class.

### getClassLoader

public ClassLoader getClassLoader()
Description copied from interface: `BCEntity`
Return the class loader to use when loading related classes.

### isValid

public boolean isValid()
Description copied from interface: `BCEntity`
Return false if this entity has been removed from its parent; in this case the results of any operations on the entity are undefined.