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 Detail

      • _access

        private int _access
      • _nameIndex

        private int _nameIndex
      • _descriptorIndex

        private int _descriptorIndex
      • _attrs

        private java.util.Collection _attrs
    • Constructor Detail

      • BCMember

        BCMember​(BCClass owner)
    • Method Detail

      • 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 java.lang.String getName()
        Return the name of this member.
      • setName

        public void setName​(java.lang.String name)
        Set the name of this member.
      • getDescriptor

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

        public void setDescriptor​(java.lang.String desc)
        Set the descriptor of this member.
      • setEntry

        private void setEntry​(java.lang.String origName,
                              java.lang.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 java.lang.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

        java.util.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​(java.lang.String name,
                        java.lang.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.
      • invalidate

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

        void read​(java.io.DataInput in)
           throws java.io.IOException
        Throws:
        java.io.IOException
      • write

        void write​(java.io.DataOutput out)
            throws java.io.IOException
        Throws:
        java.io.IOException