Package serp.bytecode

Class BCMember

All Implemented Interfaces:
BCEntity
Direct Known Subclasses:
BCField, BCMethod

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

    • _owner

      private BCClass _owner
    • _access

      private int _access
    • _nameIndex

      private int _nameIndex
    • _descriptorIndex

      private int _descriptorIndex
    • _attrs

      private Collection _attrs
  • Constructor Details

    • BCMember

      BCMember(BCClass owner)
  • 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.
    • setEntry

      private void setEntry(String origName, String origDesc)
      Resets the ComplexEntry of the owning class corresponding to this member. Changes in the member will therefore propogate to all code in the class.
    • 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.
    • getAttributesHolder

      Collection getAttributesHolder()
      Description copied from class: Attributes
      Return the collection used to hold the attributes of this entity.
      Specified by:
      getAttributesHolder in class Attributes
    • initialize

      void initialize(String name, String descriptor)
      Either this method or read(java.io.DataInput) must be called prior to use of this class. The given descriptor must be in internal form.
    • getBCClass

      BCClass getBCClass()
      Description copied from class: Annotated
      Internal access to the owning class.
      Specified by:
      getBCClass in class Annotated
    • invalidate

      void invalidate()
      Used when this member is deleted from its class.
    • read

      void read(DataInput in) throws IOException
      Throws:
      IOException
    • write

      void write(DataOutput out) throws IOException
      Throws:
      IOException